@vue/devtools-electron 8.0.1 → 8.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/client/IconTitle.vue_vue_type_script_setup_true_lang-DLtdfn-T.js +25 -0
  2. package/client/{SectionBlock-CTWDyV2V.js → SectionBlock-cb4DPSS8.js} +33 -34
  3. package/client/assets-DrHz0toh.js +1049 -0
  4. package/client/{components-DxlfxS9S.js → components-D9oYqSOd.js} +3 -3
  5. package/client/{custom-inspector-tab-view-DSjIE3Qj.js → custom-inspector-tab-view-BXQti9hQ.js} +3 -3
  6. package/client/{custom-tab-view-Ch_WQMCJ.js → custom-tab-view-vRg-h0gX.js} +3 -3
  7. package/client/devtools-panel.css +1 -1
  8. package/client/devtools-panel.js +1 -1
  9. package/client/{graph-DoK7DiJk.js → graph-DAdoYvsj.js} +20609 -19449
  10. package/client/{index-CY7IKY7E.js → index-e6Cke-ty.js} +13419 -13554
  11. package/client/{overview-QHGAAzMs.js → overview-DoRkU2w7.js} +67 -80
  12. package/client/pages-D6NTK9Y9.js +359 -0
  13. package/client/pinia-CcHBChl0.js +11 -0
  14. package/client/{router-CANETAqj.js → router-CPCI84Qu.js} +1 -1
  15. package/client/{settings-B7z3XkWa.js → settings-DEG_TfAU.js} +48 -53
  16. package/client/{timeline-DPBeIF7u.js → timeline-nZEynGnP.js} +38 -38
  17. package/dist/cli.cjs +4 -4
  18. package/dist/cli.mjs +4 -4
  19. package/dist/devtools.js +411 -445
  20. package/dist/index.cjs +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/user-app.cjs +1 -1
  23. package/dist/user-app.iife.js +62 -65
  24. package/dist/user-app.js +1 -1
  25. package/package.json +7 -9
  26. package/client/IconTitle.vue_vue_type_script_setup_true_lang-mFqaFlPj.js +0 -25
  27. package/client/assets-w_iWBiad.js +0 -1052
  28. package/client/pages-D8bxz06O.js +0 -360
  29. package/client/pinia-BUqkHaK_.js +0 -11
@@ -1,1052 +0,0 @@
1
- import { d as T, aq as re, ay as Z, i as w, a7 as le, c as p, a as P, o as a, b as r, F as z, s as F, n as M, u as s, t as x, q as C, a6 as ae, e as S, w as A, H as X, r as L, M as Q, T as E, ak as W, az as ue, av as se, Y as de, aA as Y, aa as ce, p as D, S as ne, f as ee, U as q, a5 as oe, aB as pe, ax as H, y as J, aj as te, a8 as he, aC as fe, aD as me, aw as ve, a0 as ye, at as ge, I as _e, J as be, V as we } from "./index-CY7IKY7E.js";
2
- import { _ as $e } from "./SectionBlock-CTWDyV2V.js";
3
- import { _ as xe } from "./IconTitle.vue_vue_type_script_setup_true_lang-mFqaFlPj.js";
4
- const ke = {
5
- key: 0,
6
- relative: "",
7
- "code-block": ""
8
- }, Be = {
9
- flex: "~ wrap",
10
- "w-full": ""
11
- }, Ce = ["onClick"], Ae = {
12
- flex: "~ gap-2",
13
- px3: "",
14
- pb3: ""
15
- }, Pe = /* @__PURE__ */ T({
16
- __name: "CodeSnippets",
17
- props: {
18
- codeSnippets: {},
19
- eventType: {}
20
- },
21
- setup(f) {
22
- const n = f, e = re(n.codeSnippets[0]), { copy: t } = Z(), i = w(() => e.value?.lang || "text");
23
- return le(() => {
24
- n.codeSnippets.includes(e.value) || (e.value = n.codeSnippets[0]);
25
- }), (o, l) => o.codeSnippets.length ? (a(), p("div", ke, [
26
- r("div", Be, [
27
- (a(!0), p(z, null, F(o.codeSnippets, (d, m) => (a(), p("button", {
28
- key: m,
29
- px4: "",
30
- py2: "",
31
- border: "r base",
32
- hover: "bg-active",
33
- class: M(d === s(e) ? "" : "border-b"),
34
- onClick: (v) => e.value = d
35
- }, [
36
- r("div", {
37
- class: M(d === s(e) ? "" : "op30"),
38
- "font-mono": ""
39
- }, x(d.name), 3)
40
- ], 10, Ce))), 128)),
41
- l[1] || (l[1] = r("div", {
42
- border: "b base",
43
- "flex-auto": ""
44
- }, null, -1))
45
- ]),
46
- s(e) ? (a(), p(z, { key: 0 }, [
47
- C(s(ae), {
48
- code: s(e).code,
49
- lang: s(i),
50
- lines: !1,
51
- "w-full": "",
52
- "of-auto": "",
53
- p3: ""
54
- }, null, 8, ["code", "lang"]),
55
- r("div", Ae, [
56
- C(s(Q), {
57
- onClick: l[0] || (l[0] = (d) => s(t)(s(e).code, { silent: !1, type: o.eventType || `code-snippet-${s(e).name}` }))
58
- }, {
59
- icon: A(() => [
60
- L(o.$slots, "i-carbon-copy")
61
- ]),
62
- default: A(() => [
63
- l[2] || (l[2] = X(" Copy ", -1))
64
- ]),
65
- _: 3,
66
- __: [2]
67
- }),
68
- s(e)?.docs ? (a(), S(s(Q), {
69
- key: 0,
70
- to: s(e).docs,
71
- target: "_blank"
72
- }, {
73
- icon: A(() => [
74
- L(o.$slots, "i-carbon-catalog")
75
- ]),
76
- default: A(() => [
77
- l[3] || (l[3] = X(" Docs ", -1))
78
- ]),
79
- _: 3,
80
- __: [3]
81
- }, 8, ["to"])) : P("", !0)
82
- ])
83
- ], 64)) : P("", !0)
84
- ])) : P("", !0);
85
- }
86
- }), Se = ["title"], ze = /* @__PURE__ */ T({
87
- __name: "FilepathItem",
88
- props: {
89
- filepath: {},
90
- lineBreak: { type: Boolean },
91
- subpath: { type: Boolean }
92
- },
93
- setup(f) {
94
- const n = f, e = w(
95
- () => ({ path: n.filepath })
96
- ), { copy: t } = Z();
97
- return (i, o) => E((a(), p("button", {
98
- "font-mono": "",
99
- "hover:underline": "",
100
- class: M(i.lineBreak ? "" : "ws-nowrap of-hidden truncate"),
101
- title: i.filepath,
102
- onClick: o[0] || (o[0] = (l) => s(t)(i.filepath))
103
- }, [
104
- X(x(s(e).path), 1)
105
- ], 10, Se)), [
106
- [s(W), "Copy file path"]
107
- ]);
108
- }
109
- });
110
- function je(f) {
111
- return typeof f == "string" ? `'${f}'` : new Ve().serialize(f);
112
- }
113
- const Ve = /* @__PURE__ */ (function() {
114
- class f {
115
- #e = /* @__PURE__ */ new Map();
116
- compare(e, t) {
117
- const i = typeof e, o = typeof t;
118
- return i === "string" && o === "string" ? e.localeCompare(t) : i === "number" && o === "number" ? e - t : String.prototype.localeCompare.call(this.serialize(e, !0), this.serialize(t, !0));
119
- }
120
- serialize(e, t) {
121
- if (e === null) return "null";
122
- switch (typeof e) {
123
- case "string":
124
- return t ? e : `'${e}'`;
125
- case "bigint":
126
- return `${e}n`;
127
- case "object":
128
- return this.$object(e);
129
- case "function":
130
- return this.$function(e);
131
- }
132
- return String(e);
133
- }
134
- serializeObject(e) {
135
- const t = Object.prototype.toString.call(e);
136
- if (t !== "[object Object]") return this.serializeBuiltInType(t.length < 10 ? `unknown:${t}` : t.slice(8, -1), e);
137
- const i = e.constructor, o = i === Object || i === void 0 ? "" : i.name;
138
- if (o !== "" && globalThis[o] === i) return this.serializeBuiltInType(o, e);
139
- if (typeof e.toJSON == "function") {
140
- const l = e.toJSON();
141
- return o + (l !== null && typeof l == "object" ? this.$object(l) : `(${this.serialize(l)})`);
142
- }
143
- return this.serializeObjectEntries(o, Object.entries(e));
144
- }
145
- serializeBuiltInType(e, t) {
146
- const i = this["$" + e];
147
- if (i) return i.call(this, t);
148
- if (typeof t?.entries == "function") return this.serializeObjectEntries(e, t.entries());
149
- throw new Error(`Cannot serialize ${e}`);
150
- }
151
- serializeObjectEntries(e, t) {
152
- const i = Array.from(t).sort((l, d) => this.compare(l[0], d[0]));
153
- let o = `${e}{`;
154
- for (let l = 0; l < i.length; l++) {
155
- const [d, m] = i[l];
156
- o += `${this.serialize(d, !0)}:${this.serialize(m)}`, l < i.length - 1 && (o += ",");
157
- }
158
- return o + "}";
159
- }
160
- $object(e) {
161
- let t = this.#e.get(e);
162
- return t === void 0 && (this.#e.set(e, `#${this.#e.size}`), t = this.serializeObject(e), this.#e.set(e, t)), t;
163
- }
164
- $function(e) {
165
- const t = Function.prototype.toString.call(e);
166
- return t.slice(-15) === "[native code] }" ? `${e.name || ""}()[native]` : `${e.name}(${e.length})${t.replace(/\s*\n\s*/g, "")}`;
167
- }
168
- $Array(e) {
169
- let t = "[";
170
- for (let i = 0; i < e.length; i++) t += this.serialize(e[i]), i < e.length - 1 && (t += ",");
171
- return t + "]";
172
- }
173
- $Date(e) {
174
- try {
175
- return `Date(${e.toISOString()})`;
176
- } catch {
177
- return "Date(null)";
178
- }
179
- }
180
- $ArrayBuffer(e) {
181
- return `ArrayBuffer[${new Uint8Array(e).join(",")}]`;
182
- }
183
- $Set(e) {
184
- return `Set${this.$Array(Array.from(e).sort((t, i) => this.compare(t, i)))}`;
185
- }
186
- $Map(e) {
187
- return this.serializeObjectEntries("Map", e.entries());
188
- }
189
- }
190
- for (const n of ["Error", "RegExp", "URL"]) f.prototype["$" + n] = function(e) {
191
- return `${n}(${e})`;
192
- };
193
- for (const n of ["Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array"]) f.prototype["$" + n] = function(e) {
194
- return `${n}[${e.join(",")}]`;
195
- };
196
- for (const n of ["BigInt64Array", "BigUint64Array"]) f.prototype["$" + n] = function(e) {
197
- return `${n}[${e.join("n,")}${e.length > 0 ? "n" : ""}]`;
198
- };
199
- return f;
200
- })(), Ie = [1779033703, -1150833019, 1013904242, -1521486534, 1359893119, -1694144372, 528734635, 1541459225], De = [1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987, 1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885, -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817, -965641998], Te = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", O = [];
201
- class Ue {
202
- _data = new G();
203
- _hash = new G([...Ie]);
204
- _nDataBytes = 0;
205
- _minBufferSize = 0;
206
- finalize(n) {
207
- n && this._append(n);
208
- const e = this._nDataBytes * 8, t = this._data.sigBytes * 8;
209
- return this._data.words[t >>> 5] |= 128 << 24 - t % 32, this._data.words[(t + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), this._data.words[(t + 64 >>> 9 << 4) + 15] = e, this._data.sigBytes = this._data.words.length * 4, this._process(), this._hash;
210
- }
211
- _doProcessBlock(n, e) {
212
- const t = this._hash.words;
213
- let i = t[0], o = t[1], l = t[2], d = t[3], m = t[4], v = t[5], j = t[6], V = t[7];
214
- for (let b = 0; b < 64; b++) {
215
- if (b < 16) O[b] = n[e + b] | 0;
216
- else {
217
- const c = O[b - 15], u = (c << 25 | c >>> 7) ^ (c << 14 | c >>> 18) ^ c >>> 3, $ = O[b - 2], k = ($ << 15 | $ >>> 17) ^ ($ << 13 | $ >>> 19) ^ $ >>> 10;
218
- O[b] = u + O[b - 7] + k + O[b - 16];
219
- }
220
- const U = m & v ^ ~m & j, K = i & o ^ i & l ^ o & l, g = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), h = (m << 26 | m >>> 6) ^ (m << 21 | m >>> 11) ^ (m << 7 | m >>> 25), y = V + h + U + De[b] + O[b], I = g + K;
221
- V = j, j = v, v = m, m = d + y | 0, d = l, l = o, o = i, i = y + I | 0;
222
- }
223
- t[0] = t[0] + i | 0, t[1] = t[1] + o | 0, t[2] = t[2] + l | 0, t[3] = t[3] + d | 0, t[4] = t[4] + m | 0, t[5] = t[5] + v | 0, t[6] = t[6] + j | 0, t[7] = t[7] + V | 0;
224
- }
225
- _append(n) {
226
- typeof n == "string" && (n = G.fromUtf8(n)), this._data.concat(n), this._nDataBytes += n.sigBytes;
227
- }
228
- _process(n) {
229
- let e, t = this._data.sigBytes / 64;
230
- n ? t = Math.ceil(t) : t = Math.max((t | 0) - this._minBufferSize, 0);
231
- const i = t * 16, o = Math.min(i * 4, this._data.sigBytes);
232
- if (i) {
233
- for (let l = 0; l < i; l += 16) this._doProcessBlock(this._data.words, l);
234
- e = this._data.words.splice(0, i), this._data.sigBytes -= o;
235
- }
236
- return new G(e, o);
237
- }
238
- }
239
- class G {
240
- words;
241
- sigBytes;
242
- constructor(n, e) {
243
- n = this.words = n || [], this.sigBytes = e === void 0 ? n.length * 4 : e;
244
- }
245
- static fromUtf8(n) {
246
- const e = unescape(encodeURIComponent(n)), t = e.length, i = [];
247
- for (let o = 0; o < t; o++) i[o >>> 2] |= (e.charCodeAt(o) & 255) << 24 - o % 4 * 8;
248
- return new G(i, t);
249
- }
250
- toBase64() {
251
- const n = [];
252
- for (let e = 0; e < this.sigBytes; e += 3) {
253
- const t = this.words[e >>> 2] >>> 24 - e % 4 * 8 & 255, i = this.words[e + 1 >>> 2] >>> 24 - (e + 1) % 4 * 8 & 255, o = this.words[e + 2 >>> 2] >>> 24 - (e + 2) % 4 * 8 & 255, l = t << 16 | i << 8 | o;
254
- for (let d = 0; d < 4 && e * 8 + d * 6 < this.sigBytes * 8; d++) n.push(Te.charAt(l >>> 6 * (3 - d) & 63));
255
- }
256
- return n.join("");
257
- }
258
- concat(n) {
259
- if (this.words[this.sigBytes >>> 2] &= 4294967295 << 32 - this.sigBytes % 4 * 8, this.words.length = Math.ceil(this.sigBytes / 4), this.sigBytes % 4) for (let e = 0; e < n.sigBytes; e++) {
260
- const t = n.words[e >>> 2] >>> 24 - e % 4 * 8 & 255;
261
- this.words[this.sigBytes + e >>> 2] |= t << 24 - (this.sigBytes + e) % 4 * 8;
262
- }
263
- else for (let e = 0; e < n.sigBytes; e += 4) this.words[this.sigBytes + e >>> 2] = n.words[e >>> 2];
264
- this.sigBytes += n.sigBytes;
265
- }
266
- }
267
- function Oe(f) {
268
- return new Ue().finalize(f).toBase64();
269
- }
270
- function Fe(f) {
271
- return Oe(je(f));
272
- }
273
- const Ee = /* @__PURE__ */ T({
274
- __name: "AssetFontPreview",
275
- props: {
276
- asset: {}
277
- },
278
- setup(f) {
279
- const n = f, e = w(() => `devtools-assets-${Fe(n.asset)}`);
280
- return ue(w(() => `
281
- @font-face {
282
- font-family: '${e.value}';
283
- src: url('${n.asset.publicPath}');
284
- }
285
- `)), (t, i) => (a(), p("div", {
286
- "of-hidden": "",
287
- style: se({ fontFamily: `'${s(e)}'` })
288
- }, " 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));
289
- }
290
- }), Me = {
291
- flex: "",
292
- "items-center": "",
293
- "justify-center": "",
294
- "of-hidden": "",
295
- "bg-active": "",
296
- "object-cover": "",
297
- p1: ""
298
- }, Le = ["src"], Re = {
299
- key: 2,
300
- "i-carbon-document": "",
301
- "text-3xl": "",
302
- op20: ""
303
- }, Ne = {
304
- key: 3,
305
- "w-full": "",
306
- "self-start": "",
307
- p4: ""
308
- }, qe = ["textContent"], Je = { key: 4 }, Ge = ["src", "autoplay", "controls"], Xe = { key: 5 }, He = {
309
- key: 0,
310
- "i-carbon-volume-up": "",
311
- "text-3xl": "",
312
- op20: ""
313
- }, Ke = ["src"], We = {
314
- key: 6,
315
- "i-vscode-icons-file-type-wasm": "",
316
- "text-3xl": ""
317
- }, Ye = {
318
- key: 7,
319
- "i-carbon-help": "",
320
- "text-3xl": "",
321
- op20: ""
322
- }, ie = /* @__PURE__ */ T({
323
- __name: "AssetPreview",
324
- props: {
325
- asset: {},
326
- textContent: {},
327
- detail: { type: Boolean }
328
- },
329
- setup(f) {
330
- return (n, e) => {
331
- const t = Ee;
332
- return a(), p("div", Me, [
333
- n.asset.type === "image" ? (a(), p("img", {
334
- key: 0,
335
- src: n.asset.publicPath
336
- }, null, 8, Le)) : n.asset.type === "font" ? (a(), S(t, {
337
- key: n.asset.publicPath,
338
- asset: n.asset,
339
- "self-stretch": "",
340
- p2: "",
341
- "text-2xl": ""
342
- }, null, 8, ["asset"])) : n.asset.type === "text" && !n.textContent ? (a(), p("div", Re)) : n.asset.type === "text" && n.textContent ? (a(), p("div", Ne, [
343
- r("pre", {
344
- "max-h-10rem": "",
345
- "of-hidden": "",
346
- "text-xs": "",
347
- "font-mono": "",
348
- textContent: x(n.textContent)
349
- }, null, 8, qe)
350
- ])) : n.asset.type === "video" ? (a(), p("div", Je, [
351
- r("video", {
352
- src: n.asset.publicPath,
353
- autoplay: n.detail,
354
- controls: n.detail
355
- }, null, 8, Ge)
356
- ])) : n.asset.type === "audio" ? (a(), p("div", Xe, [
357
- n.detail ? (a(), p("audio", {
358
- key: 1,
359
- src: n.asset.publicPath,
360
- controls: ""
361
- }, null, 8, Ke)) : (a(), p("div", He))
362
- ])) : n.asset.type === "wasm" ? (a(), p("div", We)) : (a(), p("div", Ye))
363
- ]);
364
- };
365
- }
366
- }), Qe = {
367
- flex: "~ col gap-4",
368
- "min-h-full": "",
369
- "w-full": "",
370
- "of-hidden": "",
371
- p4: ""
372
- }, Ze = {
373
- flex: "~",
374
- "items-center": "",
375
- "justify-center": ""
376
- }, et = {
377
- "max-w-full": "",
378
- "w-full": "",
379
- "table-fixed": ""
380
- }, tt = {
381
- flex: "~ gap-1",
382
- "w-full": "",
383
- "items-center": ""
384
- }, st = {
385
- flex: "~ gap-1",
386
- "w-full": "",
387
- "items-center": "",
388
- "of-hidden": ""
389
- }, nt = {
390
- "flex-auto": "",
391
- "of-hidden": "",
392
- truncate: "",
393
- "ws-pre": "",
394
- "font-mono": ""
395
- }, ot = { capitalize: "" }, it = { key: 0 }, rt = { op70: "" }, lt = { flex: "~ gap2 wrap" }, at = /* @__PURE__ */ T({
396
- __name: "AssetDetails",
397
- props: {
398
- modelValue: {}
399
- },
400
- setup(f, { emit: n }) {
401
- const e = f, t = n, i = de(), o = ne(e, "modelValue", t, { passive: !0 }), l = w(() => i.vitePluginDetected.value), d = Y(() => H.value.getAssetImporters(o.value.publicPath).then((c) => c), []), m = w(() => ce.value), v = Y(() => {
402
- if (o.value.type === "image")
403
- return H.value.getImageMeta(o.value.filePath).then((c) => c);
404
- }), j = D(), V = D(0), b = Y(async () => {
405
- if (o.value.type !== "text")
406
- return;
407
- V.value;
408
- const c = await H.value.getTextAssetContent(o.value.filePath).then((u) => u);
409
- return j.value = c, c;
410
- }), U = w(() => {
411
- const c = [];
412
- if (o.value.type === "image") {
413
- const u = v.value?.width ? `
414
- width="${v.value.width}"
415
- height="${v.value.height}" ` : " ";
416
- return c.push(
417
- { lang: "vue-html", code: `<img${u}
418
- src="${o.value.publicPath}"
419
- />`, name: "Plain Image" }
420
- ), c;
421
- }
422
- return c.push({
423
- lang: "html",
424
- code: `<a download href="${o.value.publicPath}">
425
- Download ${o.value.path.split("/").slice(-1)[0]}
426
- </a>`,
427
- name: "Download link"
428
- }), c;
429
- }), { copy: K } = Z(), g = pe(() => o.value.mtime), h = w(() => {
430
- const c = o.value.size;
431
- return c < 1024 ? `${c} B` : c < 1024 * 1024 ? `${(c / 1024).toFixed(2)} KB` : `${(c / 1024 / 1024).toFixed(2)} MB`;
432
- }), y = w(() => {
433
- if (!v.value?.width || !v.value?.height)
434
- return "";
435
- const c = ($, k) => k ? c(k, $ % k) : $, u = c(v.value.width, v.value.height);
436
- return u > 3 ? `${v.value.width / u}:${v.value.height / u}` : "";
437
- }), I = w(() => [
438
- "image",
439
- "text",
440
- "video",
441
- "audio",
442
- "font"
443
- ].includes(o.value.type));
444
- return (c, u) => {
445
- const $ = ie, k = ze, R = oe("RouterLink"), _ = Pe;
446
- return a(), p("div", Qe, [
447
- s(I) ? (a(), p(z, { key: 0 }, [
448
- u[2] || (u[2] = r("div", {
449
- flex: "~ gap2",
450
- "mb--2": "",
451
- "items-center": "",
452
- op50: ""
453
- }, [
454
- r("div", { "x-divider": "" }),
455
- r("div", { "flex-none": "" }, " Preview "),
456
- r("div", { "x-divider": "" })
457
- ], -1)),
458
- r("div", Ze, [
459
- C($, {
460
- detail: "",
461
- "max-h-80": "",
462
- "min-h-20": "",
463
- "min-w-20": "",
464
- "w-auto": "",
465
- rounded: "",
466
- border: "~ base",
467
- asset: s(o),
468
- "text-content": s(b)
469
- }, null, 8, ["asset", "text-content"])
470
- ])
471
- ], 64)) : P("", !0),
472
- u[12] || (u[12] = r("div", {
473
- flex: "~ gap2",
474
- "mb--2": "",
475
- "items-center": "",
476
- op50: ""
477
- }, [
478
- r("div", { "x-divider": "" }),
479
- r("div", { "flex-none": "" }, " Details "),
480
- r("div", { "x-divider": "" })
481
- ], -1)),
482
- r("table", et, [
483
- r("tbody", null, [
484
- r("tr", null, [
485
- u[3] || (u[3] = r("td", {
486
- "w-30": "",
487
- "ws-nowrap": "",
488
- pr5: "",
489
- "text-right": "",
490
- op50: ""
491
- }, " Filepath ", -1)),
492
- r("td", null, [
493
- r("div", tt, [
494
- C(k, {
495
- filepath: s(o).filePath,
496
- "text-left": ""
497
- }, null, 8, ["filepath"]),
498
- s(l) && s(m) ? E((a(), S(s(q), {
499
- key: 0,
500
- title: "Open in Editor",
501
- icon: "i-carbon-launch",
502
- action: "",
503
- "flex-none": "",
504
- border: !1,
505
- onClick: u[0] || (u[0] = (B) => s(ee)(s(o).filePath))
506
- }, null, 512)), [
507
- [s(W), "Open in Editor"]
508
- ]) : P("", !0)
509
- ])
510
- ])
511
- ]),
512
- r("tr", null, [
513
- u[4] || (u[4] = r("td", {
514
- "w-30": "",
515
- "ws-nowrap": "",
516
- pr5: "",
517
- "text-right": "",
518
- op50: ""
519
- }, " Public Path ", -1)),
520
- r("td", null, [
521
- r("div", st, [
522
- r("div", nt, x(s(o).publicPath), 1),
523
- E(C(s(q), {
524
- title: "Copy public path",
525
- icon: "i-carbon-copy",
526
- action: "",
527
- mr1: "",
528
- "mt--2px": "",
529
- "flex-none": "",
530
- border: !1,
531
- onClick: u[1] || (u[1] = (B) => s(K)(s(o).publicPath, { type: "assets-public-path" }))
532
- }, null, 512), [
533
- [s(W), "Copy public path"]
534
- ]),
535
- C(R, {
536
- to: s(o).publicPath,
537
- target: "_blank"
538
- }, {
539
- default: A(() => [
540
- E(C(s(q), {
541
- icon: "i-carbon-launch",
542
- action: "",
543
- "flex-none": "",
544
- border: !1,
545
- title: "Open in Browser"
546
- }, null, 512), [
547
- [s(W), "Open in Browser"]
548
- ])
549
- ]),
550
- _: 1
551
- }, 8, ["to"])
552
- ])
553
- ])
554
- ]),
555
- r("tr", null, [
556
- u[5] || (u[5] = r("td", {
557
- "w-30": "",
558
- "ws-nowrap": "",
559
- pr5: "",
560
- "text-right": "",
561
- op50: ""
562
- }, " Type ", -1)),
563
- r("td", ot, x(s(o).type), 1)
564
- ]),
565
- s(v)?.width ? (a(), p(z, { key: 0 }, [
566
- r("tr", null, [
567
- u[6] || (u[6] = r("td", {
568
- "w-30": "",
569
- "ws-nowrap": "",
570
- pr5: "",
571
- "text-right": "",
572
- op50: ""
573
- }, " Image Size ", -1)),
574
- r("td", null, x(s(v).width) + " x " + x(s(v).height), 1)
575
- ]),
576
- s(y) ? (a(), p("tr", it, [
577
- u[7] || (u[7] = r("td", {
578
- "w-30": "",
579
- "ws-nowrap": "",
580
- pr5: "",
581
- "text-right": "",
582
- op50: ""
583
- }, " Aspect Ratio ", -1)),
584
- r("td", null, x(s(y)), 1)
585
- ])) : P("", !0)
586
- ], 64)) : P("", !0),
587
- r("tr", null, [
588
- u[8] || (u[8] = r("td", {
589
- "w-30": "",
590
- "ws-nowrap": "",
591
- pr5: "",
592
- "text-right": "",
593
- op50: ""
594
- }, " File size ", -1)),
595
- r("td", null, x(s(h)), 1)
596
- ]),
597
- r("tr", null, [
598
- u[9] || (u[9] = r("td", {
599
- "w-30": "",
600
- "ws-nowrap": "",
601
- pr5: "",
602
- "text-right": "",
603
- op50: ""
604
- }, " Last modified ", -1)),
605
- r("td", null, [
606
- X(x(new Date(s(o).mtime).toLocaleString()) + " ", 1),
607
- r("span", rt, "(" + x(s(g)) + ")", 1)
608
- ])
609
- ]),
610
- r("tr", null, [
611
- u[10] || (u[10] = r("td", {
612
- "w-30": "",
613
- "ws-nowrap": "",
614
- pr5: "",
615
- "text-right": "",
616
- "align-top": "",
617
- op50: ""
618
- }, " Importers ", -1)),
619
- r("td", null, [
620
- s(d).length > 0 ? (a(!0), p(z, { key: 0 }, F(s(d), (B) => (a(), p("div", {
621
- key: B.url,
622
- flex: "~ gap-1",
623
- "w-full": "",
624
- "items-center": ""
625
- }, [
626
- C(k, {
627
- filepath: B.id || B.url,
628
- "text-left": ""
629
- }, null, 8, ["filepath"]),
630
- s(i).vitePluginDetected.value && s(m) && B.id ? E((a(), S(s(q), {
631
- key: 0,
632
- title: "Open in Editor",
633
- icon: "i-carbon-launch",
634
- action: "",
635
- "flex-none": "",
636
- border: !1,
637
- onClick: (N) => s(ee)(B.id)
638
- }, null, 8, ["onClick"])), [
639
- [s(W), "Open in Editor"]
640
- ]) : P("", !0)
641
- ]))), 128)) : (a(), p(z, { key: 1 }, [
642
- X(" None ")
643
- ], 64))
644
- ])
645
- ])
646
- ])
647
- ]),
648
- u[13] || (u[13] = r("div", {
649
- flex: "~ gap2",
650
- "mb--2": "",
651
- "items-center": "",
652
- op50: ""
653
- }, [
654
- r("div", { "x-divider": "" }),
655
- r("div", { "flex-none": "" }, " Actions "),
656
- r("div", { "x-divider": "" })
657
- ], -1)),
658
- r("div", lt, [
659
- C(s(Q), {
660
- to: s(o).publicPath,
661
- download: "",
662
- target: "_blank"
663
- }, {
664
- icon: A(() => [
665
- L(c.$slots, "i-carbon-download")
666
- ]),
667
- default: A(() => [
668
- u[11] || (u[11] = X(" Download ", -1))
669
- ]),
670
- _: 3,
671
- __: [11]
672
- }, 8, ["to"])
673
- ]),
674
- u[14] || (u[14] = r("div", { "flex-auto": "" }, null, -1)),
675
- s(U).length ? (a(), S(_, {
676
- key: 1,
677
- border: "t base",
678
- "mx--4": "",
679
- "mb--4": "",
680
- "code-snippets": s(U)
681
- }, null, 8, ["code-snippets"])) : P("", !0)
682
- ]);
683
- };
684
- }
685
- }), ut = /* @__PURE__ */ T({
686
- __name: "AssetListItem",
687
- props: {
688
- item: {},
689
- index: { default: 0 },
690
- modelValue: {}
691
- },
692
- setup(f, { emit: n }) {
693
- const e = f, i = ne(e, "modelValue", n, { passive: !0 }), o = w(() => e.item?.children?.length), l = D(!0), d = w(() => o.value ? "i-carbon-folder" : e.item.type === "image" ? "i-carbon-image" : e.item.type === "video" ? "i-carbon-video" : e.item.type === "audio" ? "i-carbon-volume-up" : e.item.type === "font" ? "i-carbon-text-small-caps" : e.item.type === "text" ? "i-carbon-document" : e.item.type === "json" ? "i-carbon-json" : e.item.type === "wasm" ? "i-vscode-icons-file-type-wasm" : "i-carbon-document-blank");
694
- return (m, v) => {
695
- const j = oe("AssetListItem", !0);
696
- return a(), p("div", null, [
697
- r("button", {
698
- flex: "~ gap-2",
699
- "w-full": "",
700
- "items-center": "",
701
- hover: "bg-active",
702
- px4: "",
703
- py1: "",
704
- style: se({ paddingLeft: `calc(1rem + ${m.index * 1.5}em)` }),
705
- class: M({ "bg-active": !s(o) && s(i)?.filePath === m.item?.filePath }),
706
- border: "b base",
707
- onClick: v[0] || (v[0] = (V) => s(o) ? l.value = !s(l) : i.value = m.item)
708
- }, [
709
- r("div", {
710
- class: M(s(d))
711
- }, null, 2),
712
- r("span", {
713
- class: M({ "flex items-center": s(o) }),
714
- "flex-auto": "",
715
- "text-start": "",
716
- "text-sm": "",
717
- "font-mono": ""
718
- }, x(m.item.path), 3),
719
- s(o) ? (a(), S(s(q), {
720
- key: 0,
721
- icon: "carbon:chevron-right",
722
- "transform-rotate": s(l) ? 90 : 0,
723
- transition: ""
724
- }, null, 8, ["transform-rotate"])) : P("", !0)
725
- ], 6),
726
- s(l) ? L(m.$slots, "default", { key: 0 }, () => [
727
- (a(!0), p(z, null, F(m.item?.children, (V) => (a(), S(j, {
728
- key: V.filepath,
729
- modelValue: s(i),
730
- "onUpdate:modelValue": v[1] || (v[1] = (b) => J(i) ? i.value = b : null),
731
- item: V,
732
- index: m.index + 1
733
- }, null, 8, ["modelValue", "item", "index"]))), 128))
734
- ]) : P("", !0)
735
- ]);
736
- };
737
- }
738
- }), dt = {
739
- flex: "~ col gap-1",
740
- hover: "bg-active",
741
- "items-center": "",
742
- "of-hidden": "",
743
- rounded: "",
744
- p2: ""
745
- }, ct = {
746
- "w-full": "",
747
- "of-hidden": "",
748
- truncate: "",
749
- "ws-nowrap": "",
750
- "text-center": "",
751
- "text-xs": ""
752
- }, pt = /* @__PURE__ */ T({
753
- __name: "AssetGridItem",
754
- props: {
755
- asset: {},
756
- folder: {}
757
- },
758
- setup(f) {
759
- const n = f, e = w(() => n.folder && n.asset.path.startsWith(n.folder) ? n.asset.path.slice(n.folder.length) : n.asset.path);
760
- return (t, i) => {
761
- const o = ie;
762
- return a(), p("button", dt, [
763
- C(o, {
764
- "h-30": "",
765
- "w-30": "",
766
- rounded: "",
767
- border: "~ base",
768
- asset: t.asset
769
- }, null, 8, ["asset"]),
770
- r("div", ct, x(s(e)), 1)
771
- ]);
772
- };
773
- }
774
- }), ht = {
775
- flex: "~ col gap2",
776
- border: "b base",
777
- "navbar-glass": "",
778
- "flex-1": "",
779
- p4: ""
780
- }, ft = {
781
- flex: "~ gap4",
782
- "items-center": ""
783
- }, mt = /* @__PURE__ */ T({
784
- __name: "Navbar",
785
- props: {
786
- search: {},
787
- noPadding: { type: Boolean }
788
- },
789
- emits: ["update:search"],
790
- setup(f, { emit: n }) {
791
- const e = f, t = n, i = D(e.search);
792
- return te(() => e.search, (o) => {
793
- i.value = o;
794
- }), te(i, () => {
795
- t("update:search", i.value);
796
- }), (o, l) => (a(), p("div", ht, [
797
- r("div", ft, [
798
- L(o.$slots, "search", {}, () => [
799
- o.search !== void 0 ? (a(), S(s(he), {
800
- key: 0,
801
- modelValue: s(i),
802
- "onUpdate:modelValue": l[0] || (l[0] = (d) => J(i) ? i.value = d : null),
803
- placeholder: "Search...",
804
- "left-icon": "i-carbon-search",
805
- class: M(["flex-auto", { "px-5 py-2": !o.noPadding }])
806
- }, null, 8, ["modelValue", "class"])) : P("", !0)
807
- ]),
808
- L(o.$slots, "actions")
809
- ]),
810
- L(o.$slots, "default")
811
- ]));
812
- }
813
- }), vt = {
814
- block: "",
815
- "h-full": "",
816
- "of-hidden": "",
817
- class: "drawer-container relative"
818
- }, yt = {
819
- "h-full": "",
820
- "w-full": "",
821
- "of-auto": ""
822
- }, gt = {
823
- "flex-none": "",
824
- flex: "~ gap2 items-center",
825
- "text-lg": ""
826
- }, _t = {
827
- flex: "~ items-center justify-center",
828
- absolute: "",
829
- "bottom-0": "",
830
- "right-2px": "",
831
- "h-4": "",
832
- "w-4": "",
833
- "rounded-full": "",
834
- "bg-primary-800": "",
835
- "text-8px": "",
836
- "text-white": ""
837
- }, bt = {
838
- "w-full": "",
839
- flex: "~ gap-2 items-center",
840
- rounded: "",
841
- px2: "",
842
- py2: ""
843
- }, wt = {
844
- "text-xs": "",
845
- op75: ""
846
- }, $t = { op50: "" }, xt = { key: 0 }, kt = {
847
- "mt--4": "",
848
- px2: "",
849
- grid: "~ cols-minmax-8rem"
850
- }, Bt = {
851
- key: 1,
852
- p2: "",
853
- grid: "~ cols-minmax-8rem"
854
- }, Ct = { key: 1 }, At = 50, Vt = /* @__PURE__ */ T({
855
- __name: "assets",
856
- setup(f) {
857
- const n = D(""), e = D(), t = D("grid"), i = D([]), o = w(() => {
858
- const g = [];
859
- for (const h of i.value || []) {
860
- const y = h.path.split(".").pop();
861
- y && !g.find((I) => I.value === y) && g.push({ label: y, value: y });
862
- }
863
- return g;
864
- }), l = D([]);
865
- fe(() => o.value, (g) => {
866
- l.value = g.map((h) => h.value);
867
- });
868
- const d = D(), m = w(() => new me(i.value || [], {
869
- keys: [
870
- "path"
871
- ]
872
- })), v = w(() => (n.value ? m.value.search(n.value).map((h) => h.item) : i.value || []).filter((h) => {
873
- const y = h.path.split(".").pop();
874
- return !y || l.value.includes(y);
875
- })), j = w(() => {
876
- const g = {};
877
- for (const h of v.value) {
878
- const y = `${h.relativePath.split("/").slice(0, -1).join("/")}/`;
879
- g[y] || (g[y] = []), g[y].push(h);
880
- }
881
- return Object.entries(g).sort(([h], [y]) => h.localeCompare(y));
882
- }), V = w(() => {
883
- const g = { children: [] }, h = (y, I, c) => {
884
- const [u, ...$] = I;
885
- let k = y.children.find((R) => R.path === u);
886
- k || (k = { ...c, path: u, children: [] }, y.children.push(k)), $.length > 1 ? h(k, $, c) : $.length === 1 && k.children.push({ ...c, path: $[0] });
887
- };
888
- return v.value.forEach((y) => {
889
- const I = y.relativePath.split("/").filter((c) => c !== "");
890
- h(g, I, y);
891
- }), g.children;
892
- });
893
- function b() {
894
- H.value.getStaticAssets().then((g) => {
895
- i.value = g;
896
- });
897
- }
898
- function U() {
899
- b();
900
- }
901
- ve(() => {
902
- b(), H.functions.on("assetsUpdated", U);
903
- });
904
- function K() {
905
- t.value = t.value === "list" ? "grid" : "list";
906
- }
907
- return ye(() => {
908
- H.functions.off("assetsUpdated", U);
909
- }), (g, h) => {
910
- const y = xe, I = mt, c = pt, u = $e, $ = ut, k = at, R = we("tooltip");
911
- return a(), p("div", vt, [
912
- r("div", yt, [
913
- C(I, {
914
- ref_key: "navbar",
915
- ref: e,
916
- search: s(n),
917
- "onUpdate:search": h[1] || (h[1] = (_) => J(n) ? n.value = _ : null),
918
- pb2: "",
919
- "no-padding": !0
920
- }, {
921
- actions: A(() => [
922
- r("div", gt, [
923
- C(s(_e), {
924
- modelValue: s(l),
925
- "onUpdate:modelValue": h[0] || (h[0] = (_) => J(l) ? l.value = _ : null),
926
- multiple: !0,
927
- options: s(o)
928
- }, {
929
- button: A(() => [
930
- E((a(), S(y, {
931
- icon: "i-carbon-filter hover:op50",
932
- border: !1,
933
- title: "Filter",
934
- relative: "",
935
- "cursor-pointer": "",
936
- p2: "",
937
- "text-lg": "",
938
- onClick: () => {
939
- }
940
- }, {
941
- default: A(() => [
942
- r("span", _t, x(s(l).length), 1)
943
- ]),
944
- _: 1
945
- })), [
946
- [
947
- R,
948
- "Filter",
949
- void 0,
950
- { "bottom-end": !0 }
951
- ]
952
- ])
953
- ]),
954
- item: A(({
955
- item: _,
956
- active: B
957
- }) => [
958
- r("div", bt, [
959
- C(s(be), { "model-value": B }, null, 8, ["model-value"]),
960
- r("span", wt, x(_.label), 1)
961
- ])
962
- ]),
963
- _: 1
964
- }, 8, ["modelValue", "options"]),
965
- E(C(s(q), {
966
- border: !1,
967
- icon: s(t) === "grid" ? "i-carbon-list" : "i-carbon-grid",
968
- title: "Toggle view",
969
- action: "",
970
- "cursor-pointer": "",
971
- "text-lg": "",
972
- onClick: K
973
- }, null, 8, ["icon"]), [
974
- [
975
- R,
976
- "Toggle View",
977
- void 0,
978
- { "bottom-end": !0 }
979
- ]
980
- ])
981
- ])
982
- ]),
983
- default: A(() => [
984
- r("div", $t, [
985
- s(n) ? (a(), p("span", xt, x(s(v).length) + " matched · ", 1)) : P("", !0),
986
- r("span", null, x(s(i)?.length) + " assets in total", 1)
987
- ])
988
- ]),
989
- _: 1
990
- }, 8, ["search"]),
991
- s(t) === "grid" ? (a(), p(z, { key: 0 }, [
992
- s(j).length > 1 ? (a(!0), p(z, { key: 0 }, F(s(j), ([_, B]) => (a(), S(u, {
993
- key: _,
994
- text: _,
995
- description: `${B.length} items`,
996
- open: B.length <= At,
997
- padding: !1
998
- }, {
999
- default: A(() => [
1000
- r("div", kt, [
1001
- (a(!0), p(z, null, F(B, (N) => (a(), S(c, {
1002
- key: N.path,
1003
- asset: N,
1004
- folder: _,
1005
- onClick: (Pt) => d.value = N
1006
- }, null, 8, ["asset", "folder", "onClick"]))), 128))
1007
- ])
1008
- ]),
1009
- _: 2
1010
- }, 1032, ["text", "description", "open"]))), 128)) : (a(), p("div", Bt, [
1011
- (a(!0), p(z, null, F(s(v), (_) => (a(), S(c, {
1012
- key: _.path,
1013
- asset: _,
1014
- onClick: (B) => d.value = _
1015
- }, null, 8, ["asset", "onClick"]))), 128))
1016
- ]))
1017
- ], 64)) : (a(), p("div", Ct, [
1018
- (a(!0), p(z, null, F(s(V), (_, B) => (a(), S($, {
1019
- key: B,
1020
- modelValue: s(d),
1021
- "onUpdate:modelValue": h[2] || (h[2] = (N) => J(d) ? d.value = N : null),
1022
- item: _
1023
- }, null, 8, ["modelValue", "item"]))), 128))
1024
- ]))
1025
- ]),
1026
- C(s(ge), {
1027
- "model-value": !!s(d),
1028
- top: s(e),
1029
- permanent: "",
1030
- "mount-to": ".drawer-container",
1031
- position: "absolute",
1032
- "content-class": "w120 text-sm",
1033
- "onUpdate:modelValue": h[4] || (h[4] = (_) => {
1034
- _ || (d.value = void 0);
1035
- })
1036
- }, {
1037
- default: A(() => [
1038
- s(d) ? (a(), S(k, {
1039
- key: 0,
1040
- modelValue: s(d),
1041
- "onUpdate:modelValue": h[3] || (h[3] = (_) => J(d) ? d.value = _ : null)
1042
- }, null, 8, ["modelValue"])) : P("", !0)
1043
- ]),
1044
- _: 1
1045
- }, 8, ["model-value", "top"])
1046
- ]);
1047
- };
1048
- }
1049
- });
1050
- export {
1051
- Vt as default
1052
- };