@nuxt/devtools 4.0.0-alpha.1 → 4.0.0-alpha.10

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 (230) hide show
  1. package/README.md +86 -7
  2. package/dist/chunks/analyze-build.mjs +33 -2
  3. package/dist/chunks/code-server.mjs +75 -0
  4. package/dist/chunks/module-main.mjs +844 -548
  5. package/dist/chunks/timeline.mjs +2 -2
  6. package/dist/chunks/vite-inspect.mjs +93 -53
  7. package/dist/client/200.html +1 -1
  8. package/dist/client/404.html +1 -1
  9. package/dist/client/_nuxt/__blank-dil3nwfh.js +1 -0
  10. package/dist/client/_nuxt/analyze-build-2e03hfez.js +1 -0
  11. package/dist/client/_nuxt/assets-fyld29gf.js +6 -0
  12. package/dist/client/_nuxt/auth-required-panel-mm5lidl3.js +1 -0
  13. package/dist/client/_nuxt/builds/latest.json +1 -1
  14. package/dist/client/_nuxt/builds/meta/dbb6f1eb-fdec-4078-b409-19d1ed6035a2.json +1 -0
  15. package/dist/client/_nuxt/{client-im47u3kz.js → client-botfq0nw.js} +1 -1
  16. package/dist/client/_nuxt/code-diff-oxve94ak.js +8 -0
  17. package/dist/client/_nuxt/code-snippets-mcrkbsd4.js +1 -0
  18. package/dist/client/_nuxt/components-k5rsm3c3.js +1 -0
  19. package/dist/client/_nuxt/composable-item-o8crh7o9.js +1 -0
  20. package/dist/client/_nuxt/composables-ml69kqh9.js +1 -0
  21. package/dist/client/_nuxt/custom-_name_-j6w4b10b.js +1 -0
  22. package/dist/client/_nuxt/data-schema-button-j2dsypzz.js +1 -0
  23. package/dist/client/_nuxt/data-schema-drawer-9s1351p5.js +2 -0
  24. package/dist/client/_nuxt/debug-muupfuzb.js +1 -0
  25. package/dist/client/_nuxt/default-k6jiq1wt.js +1 -0
  26. package/dist/client/_nuxt/dialog-c7wnj3nl.js +1 -0
  27. package/dist/client/_nuxt/dist-2c3gpsw0.js +1 -0
  28. package/dist/client/_nuxt/dist-d6zuldkp.js +1 -0
  29. package/dist/client/_nuxt/duration-display-kup58tqe.js +1 -0
  30. package/dist/client/_nuxt/editor-bzxz1rcq.js +1 -0
  31. package/dist/client/_nuxt/entry.css-meav5jmw.css +1 -0
  32. package/dist/client/_nuxt/error-404-25vom0cq.js +1 -0
  33. package/dist/client/_nuxt/error-404.css-mpcol2vk.css +1 -0
  34. package/dist/client/_nuxt/error-500-htafeoa3.js +1 -0
  35. package/dist/client/_nuxt/error-500.css-273x0c3h.css +1 -0
  36. package/dist/client/_nuxt/error-lj28vdr1.js +9 -0
  37. package/dist/client/_nuxt/filepath-item-jdy5gc4m.js +1 -0
  38. package/dist/client/_nuxt/full-gpj1mlf5.js +1 -0
  39. package/dist/client/_nuxt/fuse-blwyun20.js +1 -0
  40. package/dist/client/_nuxt/help-fab-ll6mbhgs.js +1 -0
  41. package/dist/client/_nuxt/hooks-hgffr865.js +1 -0
  42. package/dist/client/_nuxt/imports-i2fnwttt.js +1 -0
  43. package/dist/client/_nuxt/launch-page-ksxhzp2z.js +1 -0
  44. package/dist/client/_nuxt/modules-dae72omf.js +1 -0
  45. package/dist/client/_nuxt/nbadge-oyy0wjng.js +1 -0
  46. package/dist/client/_nuxt/nbutton-mtj8qzr9.js +1 -0
  47. package/dist/client/_nuxt/ncard-mtvdl2wf.js +1 -0
  48. package/dist/client/_nuxt/ncheckbox-mksfz5p0.js +1 -0
  49. package/dist/client/_nuxt/ncode-block-pfi5niis.js +2 -0
  50. package/dist/client/_nuxt/{ncode-block.css-o2ixs97j.css → ncode-block.css-ivoxtfjk.css} +1 -1
  51. package/dist/client/_nuxt/ndialog-dj1ywkc1.js +3 -0
  52. package/dist/client/_nuxt/ndrawer-h46qfenr.js +1 -0
  53. package/dist/client/_nuxt/ndropdown-ow0z3stn.js +1 -0
  54. package/dist/client/_nuxt/nicon-obdu3k9r.js +3 -0
  55. package/dist/client/_nuxt/nicon-title-e2gzkzl3.js +1 -0
  56. package/dist/client/_nuxt/nju74r39.js +2 -0
  57. package/dist/client/_nuxt/nlink-j55iyj5x.js +1 -0
  58. package/dist/client/_nuxt/nloading-k4sy0f8c.js +1 -0
  59. package/dist/client/_nuxt/nmarkdown-mnxob7ua.js +1 -0
  60. package/dist/client/_nuxt/nnavbar-dwxbkqvw.js +1 -0
  61. package/dist/client/_nuxt/none-md25735q.js +1 -0
  62. package/dist/client/_nuxt/npanel-grids-ga8arlvs.js +1 -0
  63. package/dist/client/_nuxt/npm-febdntx4.js +1 -0
  64. package/dist/client/_nuxt/nsection-block-cb29dqkc.js +1 -0
  65. package/dist/client/_nuxt/nsection-block.css-h1lgpwgm.css +1 -0
  66. package/dist/client/_nuxt/nselect-glgbbae4.js +1 -0
  67. package/dist/client/_nuxt/nselect-tabs-jzyd56a1.js +1 -0
  68. package/dist/client/_nuxt/nsplit-pane-b5ki4jwa.js +1 -0
  69. package/dist/client/_nuxt/nsplit-pane.css-k1gopk47.css +1 -0
  70. package/dist/client/_nuxt/ntext-input-lzyyx3ym.js +1 -0
  71. package/dist/client/_nuxt/ntip-oohvtkqd.js +1 -0
  72. package/dist/client/_nuxt/nuxt-f4tmbbs7.js +1 -0
  73. package/dist/client/_nuxt/nuxt-link-dgri2bli.js +1 -0
  74. package/dist/client/_nuxt/nuxt-logo-gzcu6lh0.js +1 -0
  75. package/dist/client/_nuxt/open-graph-mc8dh9qn.js +3 -0
  76. package/dist/client/_nuxt/overview-lpfgamus.js +1 -0
  77. package/dist/client/_nuxt/pages-bv99uu3p.js +1 -0
  78. package/dist/client/_nuxt/payload-k2hrsm04.js +1 -0
  79. package/dist/client/_nuxt/plugins-ljid8ktq.js +1 -0
  80. package/dist/client/_nuxt/ready-h6bi8le4.js +1 -0
  81. package/dist/client/_nuxt/rolldown-runtime-ln9q81id.js +1 -0
  82. package/dist/client/_nuxt/runtime-configs-lvgzbcdu.js +1 -0
  83. package/dist/client/_nuxt/server-route-inputs-iwv9ewrw.js +1 -0
  84. package/dist/client/_nuxt/server-routes-mkqbltfh.js +7 -0
  85. package/dist/client/_nuxt/server-tasks-kbf4txeq.js +1 -0
  86. package/dist/client/_nuxt/settings-ngc5p8qn.js +1 -0
  87. package/dist/client/_nuxt/stacktrace-list-chmjyp53.js +1 -0
  88. package/dist/client/_nuxt/state-commands-f4h87cfl.js +1 -0
  89. package/dist/client/_nuxt/state-components-jymg7dj7.js +1 -0
  90. package/dist/client/_nuxt/state-editor-bg13n53w.js +1 -0
  91. package/dist/client/_nuxt/state-modules-bewlxq5o.js +1 -0
  92. package/dist/client/_nuxt/state-routes-f5cna95h.js +1 -0
  93. package/dist/client/_nuxt/state-schema-espdew31.js +1 -0
  94. package/dist/client/_nuxt/state-tabs-m7neqayd.js +1 -0
  95. package/dist/client/_nuxt/storage-cep8dxy9.js +1 -0
  96. package/dist/client/_nuxt/tab-icon-nktg799o.js +1 -0
  97. package/dist/client/_nuxt/telemetry-9f19c0i9.js +1 -0
  98. package/dist/client/_nuxt/timeline-o9hhhb94.js +31 -0
  99. package/dist/client/_nuxt/unhead.dgx-hwv-uc-gaht5h60.js +1 -0
  100. package/dist/client/_nuxt/unocss-runtime-bjggyd5e.js +1 -0
  101. package/dist/client/_nuxt/utils-bisj7255.js +1 -0
  102. package/dist/client/_nuxt/vendor/json-editor-vue-lmhxk84q.js +3862 -0
  103. package/dist/client/_nuxt/vendor/{json-editor-vue.css-lkbe0qhh.css → json-editor-vue.css-lb1ewor6.css} +1 -1
  104. package/dist/client/_nuxt/vendor/markdown-exit-n4f1gsja.js +12 -0
  105. package/dist/client/_nuxt/vendor/quicktype-core-b6sxxdgw.js +929 -0
  106. package/dist/client/_nuxt/vendor/shiki-abzmnals.js +152 -0
  107. package/dist/client/_nuxt/vendor/unocss-hqrnsbiy.js +3 -0
  108. package/dist/client/_nuxt/vendor/unocss.css-bhad58wt.css +1 -0
  109. package/dist/client/_nuxt/vendor/vis-i54ppuvk.js +26 -0
  110. package/dist/client/_nuxt/virtual-files-kcs310xn.js +1 -0
  111. package/dist/client/index.html +1 -1
  112. package/dist/module.json +2 -2
  113. package/dist/module.mjs +1 -1
  114. package/dist/runtime/plugins/devtools.client.js +1 -1
  115. package/dist/runtime/plugins/view/client.js +8 -9
  116. package/dist/shared/devtools.CCWq4fFE.mjs +113 -0
  117. package/dist/types.d.mts +1 -5
  118. package/dist/webcomponents/index.mjs +28 -31
  119. package/package.json +76 -69
  120. package/.discoveryrc.cjs +0 -13
  121. package/dist/chunks/vscode.mjs +0 -170
  122. package/dist/chunks/vue-devtools.mjs +0 -18
  123. package/dist/client/_nuxt/__blank-cpzbm3dn.js +0 -1
  124. package/dist/client/_nuxt/analyze-build-e7v5vkef.js +0 -1
  125. package/dist/client/_nuxt/assets-b5c187l4.js +0 -6
  126. package/dist/client/_nuxt/builds/meta/25fc8778-785e-4df1-8047-b131fc1cd4b2.json +0 -1
  127. package/dist/client/_nuxt/code-diff-idsu3m0z.js +0 -8
  128. package/dist/client/_nuxt/code-snippets-k81hoi4s.js +0 -1
  129. package/dist/client/_nuxt/components-bmictfph.js +0 -1
  130. package/dist/client/_nuxt/composable-item-cza22cup.js +0 -1
  131. package/dist/client/_nuxt/copkoh3j.js +0 -4
  132. package/dist/client/_nuxt/custom-_name_-gqm5kr56.js +0 -1
  133. package/dist/client/_nuxt/data-schema-button-b308wyi0.js +0 -1
  134. package/dist/client/_nuxt/data-schema-drawer-lr34uwsh.js +0 -2
  135. package/dist/client/_nuxt/debug-kgc8fptp.js +0 -1
  136. package/dist/client/_nuxt/default-jvhm51ri.js +0 -1
  137. package/dist/client/_nuxt/dev-auth-ojiqold5.js +0 -1
  138. package/dist/client/_nuxt/dist-duc3zu0y.js +0 -1
  139. package/dist/client/_nuxt/dist-mnod32r1.js +0 -1
  140. package/dist/client/_nuxt/duration-display-f7ucshmo.js +0 -1
  141. package/dist/client/_nuxt/entry.css-me26coxn.css +0 -1
  142. package/dist/client/_nuxt/error-404-nggtc73s.js +0 -1
  143. package/dist/client/_nuxt/error-404.css-j1aav08u.css +0 -1
  144. package/dist/client/_nuxt/error-500-dym2gzqx.js +0 -1
  145. package/dist/client/_nuxt/error-500.css-eu9fz4va.css +0 -1
  146. package/dist/client/_nuxt/error-fqinfa1x.js +0 -9
  147. package/dist/client/_nuxt/filepath-item-e1s52fbh.js +0 -1
  148. package/dist/client/_nuxt/full-et0weok9.js +0 -1
  149. package/dist/client/_nuxt/help-fab-hz6r2oxa.js +0 -1
  150. package/dist/client/_nuxt/hooks-i7nsduqp.js +0 -1
  151. package/dist/client/_nuxt/imports-9o2qs53q.js +0 -1
  152. package/dist/client/_nuxt/launch-page-hpkkqhit.js +0 -1
  153. package/dist/client/_nuxt/mitt.es-fjx0h8xe.js +0 -1
  154. package/dist/client/_nuxt/modules-jok0opuq.js +0 -1
  155. package/dist/client/_nuxt/nbadge-m66xoquo.js +0 -1
  156. package/dist/client/_nuxt/nbutton-gygn07c2.js +0 -1
  157. package/dist/client/_nuxt/ncard-mqcl8pso.js +0 -1
  158. package/dist/client/_nuxt/ncheckbox-c0r45qtu.js +0 -1
  159. package/dist/client/_nuxt/ncode-block-figzf35k.js +0 -2
  160. package/dist/client/_nuxt/ndrawer-bgqyrlmt.js +0 -1
  161. package/dist/client/_nuxt/ndropdown-cip8lboe.js +0 -1
  162. package/dist/client/_nuxt/nicon-m1crov2l.js +0 -1
  163. package/dist/client/_nuxt/nicon-title-tqdvw0w0.js +0 -1
  164. package/dist/client/_nuxt/nlink-od4lllbl.js +0 -1
  165. package/dist/client/_nuxt/nmarkdown-hw0hmqw7.js +0 -1
  166. package/dist/client/_nuxt/nnavbar-lpozm5fj.js +0 -1
  167. package/dist/client/_nuxt/none-bdxkqeml.js +0 -1
  168. package/dist/client/_nuxt/npanel-grids-dd23ifsw.js +0 -1
  169. package/dist/client/_nuxt/nsection-block-lqrohs9v.js +0 -1
  170. package/dist/client/_nuxt/nsection-block.css-h05mpq8x.css +0 -1
  171. package/dist/client/_nuxt/nselect-gczoit0g.js +0 -1
  172. package/dist/client/_nuxt/nselect-tabs-bsw5fg3d.js +0 -1
  173. package/dist/client/_nuxt/nswitch-ke379yjx.js +0 -1
  174. package/dist/client/_nuxt/ntext-input-cygthohl.js +0 -1
  175. package/dist/client/_nuxt/ntip-ke63ovgc.js +0 -1
  176. package/dist/client/_nuxt/nuxt-link-bumooa9d.js +0 -1
  177. package/dist/client/_nuxt/nuxt-otp6bp04.js +0 -1
  178. package/dist/client/_nuxt/open-graph-lumhcitx.js +0 -3
  179. package/dist/client/_nuxt/overview-c1ufrox9.js +0 -1
  180. package/dist/client/_nuxt/pages-cf1hvns3.js +0 -1
  181. package/dist/client/_nuxt/pages-lgihsvbt.js +0 -1
  182. package/dist/client/_nuxt/payload-fvgw4hh9.js +0 -1
  183. package/dist/client/_nuxt/pinia-lmrgyjxw.js +0 -1
  184. package/dist/client/_nuxt/plugins-ccaip8nh.js +0 -1
  185. package/dist/client/_nuxt/ready-dadbdj5i.js +0 -1
  186. package/dist/client/_nuxt/render-tree-corj3giw.js +0 -1
  187. package/dist/client/_nuxt/rolldown-runtime-oipoa1or.js +0 -1
  188. package/dist/client/_nuxt/rpc-ez4fzlum.js +0 -1
  189. package/dist/client/_nuxt/runtime-configs-im0uu24n.js +0 -1
  190. package/dist/client/_nuxt/server-discovery-ffkkczqi.js +0 -1
  191. package/dist/client/_nuxt/server-route-inputs-lspeoiem.js +0 -1
  192. package/dist/client/_nuxt/server-routes-dhvqrowz.js +0 -7
  193. package/dist/client/_nuxt/server-tasks-mr9ezn8q.js +0 -1
  194. package/dist/client/_nuxt/settings-issronwn.js +0 -1
  195. package/dist/client/_nuxt/splitpanes.es-bxyirks2.js +0 -1
  196. package/dist/client/_nuxt/stacktrace-list-hiui24c3.js +0 -1
  197. package/dist/client/_nuxt/state-components-fbls8ka7.js +0 -1
  198. package/dist/client/_nuxt/state-editor-c7e04uj2.js +0 -1
  199. package/dist/client/_nuxt/state-modules-inqbwd7z.js +0 -1
  200. package/dist/client/_nuxt/state-routes-jln33b1m.js +0 -1
  201. package/dist/client/_nuxt/state-tabs-etl5jr30.js +0 -1
  202. package/dist/client/_nuxt/storage-husj5pg6.js +0 -1
  203. package/dist/client/_nuxt/storage-options-cth3coln.js +0 -1
  204. package/dist/client/_nuxt/telemetry-eqv6a0hn.js +0 -1
  205. package/dist/client/_nuxt/terminals-kitd8oja.js +0 -1
  206. package/dist/client/_nuxt/terminals.css-mejv43xm.css +0 -1
  207. package/dist/client/_nuxt/timeline-gr4tcvcz.js +0 -31
  208. package/dist/client/_nuxt/unocss-runtime-cpug61u1.js +0 -1
  209. package/dist/client/_nuxt/utils-nbkl6byi.js +0 -2
  210. package/dist/client/_nuxt/vendor/json-editor-vue-eojr4v24.js +0 -3869
  211. package/dist/client/_nuxt/vendor/markdown-it-ckeo8pwp.js +0 -14
  212. package/dist/client/_nuxt/vendor/quicktype-core-k4qx3809.js +0 -929
  213. package/dist/client/_nuxt/vendor/shiki-lqo1hg2n.js +0 -153
  214. package/dist/client/_nuxt/vendor/unocss-k727ub0h.js +0 -3
  215. package/dist/client/_nuxt/vendor/unocss.css-3gd0e2sv.css +0 -1
  216. package/dist/client/_nuxt/vendor/vis-id8udisj.js +0 -26
  217. package/dist/client/_nuxt/vendor/xterm-ed0pys2e.js +0 -36
  218. package/dist/client/_nuxt/vendor/xterm.css-jqmddlol.css +0 -1
  219. package/dist/client/_nuxt/virtual-files-ky9cc4av.js +0 -1
  220. package/dist/client/_nuxt/vue-devtools-dunhx2nz.js +0 -4
  221. package/dist/client/_nuxt/vue-router-jbnxw7nb.js +0 -1
  222. package/dist/client/discovery/index.html +0 -611
  223. package/dist/runtime/vue-devtools-client.d.ts +0 -2
  224. package/dist/runtime/vue-devtools-client.js +0 -8
  225. package/dist/shared/devtools.COlX0Gls.mjs +0 -114
  226. /package/dist/client/_nuxt/{_plugin-vue_export-helper-n58akrbk.js → _plugin-vue_export-helper-d9irwgla.js} +0 -0
  227. /package/dist/client/_nuxt/{color-b9xoe9j2.js → color-abaog8vc.js} +0 -0
  228. /package/dist/client/_nuxt/{composables-b2ccklz4.js → composables-ioamscf4.js} +0 -0
  229. /package/dist/client/_nuxt/{constants-ih922r91.js → constants-g2z8m4rs.js} +0 -0
  230. /package/dist/client/_nuxt/{dist-m49wlq01.js → dist-das2ggjj.js} +0 -0
package/.discoveryrc.cjs DELETED
@@ -1,13 +0,0 @@
1
- const { join } = require('node:path')
2
-
3
- module.exports = {
4
- name: 'Nuxt Server Data',
5
- basedir: join(__dirname, 'discovery'),
6
- embed: true,
7
- // view: {
8
- // assets: [
9
- // './pages/common.css',
10
- // './pages/default.js',
11
- // ],
12
- // },
13
- }
@@ -1,170 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import fs from 'node:fs/promises';
3
- import { hostname } from 'node:os';
4
- import { resolve } from 'node:path';
5
- import { startSubprocess } from '@nuxt/devtools-kit';
6
- import { logger } from '@nuxt/kit';
7
- import { checkPort, getPort } from 'get-port-please';
8
- import { x } from 'tinyexec';
9
- import which from 'which';
10
- import { colors } from 'consola/utils';
11
-
12
- const LOG_PREFIX = colors.cyan("Nuxt DevTools:");
13
-
14
- const codeBinaryOptions = {
15
- "ms-code-cli": {
16
- codeBinary: "code",
17
- launchArg: "serve-web",
18
- licenseTermsArg: "--accept-server-license-terms",
19
- connectionTokenArg: "--without-connection-token"
20
- },
21
- "ms-code-server": {
22
- codeBinary: "code-server",
23
- launchArg: "serve-local",
24
- licenseTermsArg: "--accept-server-license-terms",
25
- connectionTokenArg: "--without-connection-token"
26
- },
27
- "coder-code-server": {
28
- codeBinary: "code-server",
29
- launchArg: "serve-local",
30
- licenseTermsArg: "",
31
- connectionTokenArg: ""
32
- }
33
- };
34
- async function setup({ nuxt, options, openInEditorHooks, rpc }) {
35
- const vsOptions = options?.vscode || {};
36
- const codeServer = vsOptions?.codeServer || "ms-code-server";
37
- const { codeBinary, launchArg, licenseTermsArg, connectionTokenArg } = codeBinaryOptions[codeServer];
38
- const installed = !!await which(codeBinary).catch(() => null);
39
- let port = vsOptions?.port || 3080;
40
- let url = `http://localhost:${port}`;
41
- const host = vsOptions?.host ? `--host=${vsOptions.host}` : "--host=127.0.0.1";
42
- let loaded = false;
43
- let promise = null;
44
- const mode = vsOptions?.mode || "local-serve";
45
- const computerHostName = vsOptions.tunnel?.name || hostname().split(".").join("");
46
- const root = nuxt.options.rootDir;
47
- const vscodeServerControllerFile = resolve(root, ".vscode", ".server-controller-port.log");
48
- openInEditorHooks.push(async (file) => {
49
- if (!existsSync(vscodeServerControllerFile))
50
- return false;
51
- try {
52
- const { port: port2 } = JSON.parse(await fs.readFile(vscodeServerControllerFile, "utf-8"));
53
- const url2 = `http://localhost:${port2}/open?path=${encodeURIComponent(`${root}/${file}`)}`;
54
- await fetch(url2);
55
- rpc.broadcast.navigateTo("/modules/custom-builtin-vscode");
56
- return true;
57
- } catch (e) {
58
- console.debug(`Failed to open file "${file}" in VS Code Server`);
59
- console.debug(e);
60
- return false;
61
- }
62
- });
63
- async function startCodeServer() {
64
- if (existsSync(vscodeServerControllerFile))
65
- await fs.rm(vscodeServerControllerFile, { force: true });
66
- if (vsOptions?.reuseExistingServer && !await checkPort(port)) {
67
- loaded = true;
68
- url = `http://localhost:${port}/?folder=${encodeURIComponent(root)}`;
69
- logger.info(LOG_PREFIX, `Existing VS Code Server found at port ${port}...`);
70
- return;
71
- }
72
- port = await getPort({ port });
73
- url = `http://localhost:${port}/?folder=${encodeURIComponent(root)}`;
74
- logger.info(LOG_PREFIX, `Starting VS Code Server at ${url} ...`);
75
- x(codeBinary, [
76
- "--install-extension",
77
- "antfu.vscode-server-controller"
78
- ], { nodeOptions: { stdio: ["pipe", "ignore", "inherit"] } });
79
- startSubprocess(
80
- {
81
- command: codeBinary,
82
- args: [
83
- launchArg,
84
- licenseTermsArg,
85
- connectionTokenArg,
86
- `--port=${port}`,
87
- host
88
- ]
89
- },
90
- {
91
- id: "devtools:vscode",
92
- name: "VS Code Server",
93
- icon: "logos-visual-studio-code"
94
- },
95
- nuxt
96
- );
97
- for (let i = 0; i < 100; i++) {
98
- if (await fetch(url).then((r) => r.ok).catch(() => false))
99
- break;
100
- await new Promise((resolve2) => setTimeout(resolve2, 500));
101
- }
102
- await new Promise((resolve2) => setTimeout(resolve2, 2e3));
103
- loaded = true;
104
- }
105
- async function startCodeTunnel() {
106
- const { stdout: currentDir } = await x("pwd");
107
- url = `https://vscode.dev/tunnel/${computerHostName}${currentDir.trim()}`;
108
- logger.info(LOG_PREFIX, `Starting VS Code tunnel at ${url} ...`);
109
- const command = x("code", [
110
- "tunnel",
111
- "--accept-server-license-terms",
112
- "--name",
113
- `${computerHostName}`
114
- ]);
115
- command.process?.stderr?.pipe(process.stderr);
116
- command.process?.stdout?.pipe(process.stdout);
117
- nuxt.hook("close", () => {
118
- command.kill();
119
- });
120
- for (let i = 0; i < 100; i++) {
121
- if (await fetch(url).then((r) => r.ok).catch(() => false))
122
- break;
123
- await new Promise((resolve2) => setTimeout(resolve2, 500));
124
- }
125
- await new Promise((resolve2) => setTimeout(resolve2, 2e3));
126
- loaded = true;
127
- }
128
- async function start() {
129
- if (mode === "tunnel")
130
- await startCodeTunnel();
131
- else
132
- await startCodeServer();
133
- }
134
- nuxt.hook("devtools:customTabs", (tabs) => {
135
- tabs.push({
136
- name: "builtin-vscode",
137
- title: "VS Code",
138
- icon: "bxl-visual-studio",
139
- category: "modules",
140
- requireAuth: true,
141
- view: !installed && !(vsOptions?.mode === "tunnel") ? {
142
- type: "launch",
143
- title: "Install VS Code Server",
144
- description: `It seems you don't have code-server installed.
145
-
146
- Learn more about it with <a href="https://code.visualstudio.com/blogs/2022/07/07/vscode-server" target="_blank">this guide</a>.
147
- Once installed, restart Nuxt and visit this tab again.`,
148
- actions: []
149
- } : !loaded ? {
150
- type: "launch",
151
- description: "Launch VS Code right in the devtools!",
152
- actions: [{
153
- label: promise ? "Starting..." : "Launch",
154
- pending: !!promise,
155
- handle: () => {
156
- promise = promise || start();
157
- return promise;
158
- }
159
- }]
160
- } : {
161
- type: "iframe",
162
- src: url
163
- }
164
- });
165
- });
166
- if (vsOptions?.startOnBoot)
167
- promise = promise || start();
168
- }
169
-
170
- export { setup };
@@ -1,18 +0,0 @@
1
- import { addPluginTemplate, resolvePath } from '@nuxt/kit';
2
- import { join } from 'pathe';
3
- import { runtimeDir } from '../dirs.mjs';
4
- import 'node:path';
5
- import 'node:url';
6
-
7
- async function setup({ nuxt }) {
8
- if (!nuxt.options.dev || nuxt.options.test)
9
- return;
10
- addPluginTemplate({
11
- name: "vue-devtools-client",
12
- mode: "client",
13
- order: -1e3,
14
- src: await resolvePath(join(runtimeDir, "vue-devtools-client"))
15
- });
16
- }
17
-
18
- export { setup };
@@ -1 +0,0 @@
1
- import{E as e,W as t,v as n}from"./vendor/json-editor-vue-eojr4v24.js";import{t as r}from"./composables-b2ccklz4.js";var i={"h-screen":``,"w-screen":``,"bg-black":``},a=e({__name:`__blank`,setup(e){return r({layout:`none`}),(e,r)=>(t(),n(`div`,i))}});export{a as default};
@@ -1 +0,0 @@
1
- import{C as e,Ct as t,E as n,Mt as r,Qt as i,W as a,Y as o,_ as s,c,dt as l,ft as u,g as d,h as f,m as p,tn as m,v as h,w as g}from"./vendor/json-editor-vue-eojr4v24.js";import{A as _,_ as v}from"./ready-dadbdj5i.js";import{a as y}from"./nuxt-otp6bp04.js";import{_ as b,g as x}from"./utils-nbkl6byi.js";import{d as S,f as C,r as w}from"./rpc-ez4fzlum.js";import{n as T}from"./dev-auth-ojiqold5.js";import"./vendor/shiki-lqo1hg2n.js";import"./storage-options-cth3coln.js";import"./nuxt-link-bumooa9d.js";import{t as E}from"./_plugin-vue_export-helper-n58akrbk.js";import"./nicon-m1crov2l.js";import{t as D}from"./nbutton-gygn07c2.js";import{t as O}from"./telemetry-eqv6a0hn.js";import"./state-tabs-etl5jr30.js";import"./ncard-mqcl8pso.js";import{t as k}from"./npanel-grids-dd23ifsw.js";import{t as A}from"./ntext-input-cygthohl.js";import{r as j}from"./state-routes-jln33b1m.js";import{E as M,c as N,d as P,t as F,u as I}from"#entry";import"./client-im47u3kz.js";import{t as L}from"./ncode-block-figzf35k.js";import{t as R}from"./composables-b2ccklz4.js";import{t as z}from"./ncheckbox-c0r45qtu.js";import{t as B}from"./filepath-item-e1s52fbh.js";import{t as V}from"./ntip-ke63ovgc.js";import{t as H}from"./help-fab-hz6r2oxa.js";var U={"h-full":``,grid:`~ rows-[max-content_1fr]`},W={flex:`~ wrap`,"w-full":``},G=[`onClick`],K={key:0,flex:`~ col gap-4 items-center justify-center`,p4:``},q={grid:`~ cols-[30px_1fr] gap-x-2 gap-y-3 items-center justify-center`,"w-100":``},J=`/__nuxt_devtools__/client`,Y=n({__name:`BuildAnalyzeDetails`,props:{current:{},prev:{}},setup(n){let d=n,v=`${y().app.baseURL.replace(J,`/`)}/__nuxt_devtools__/analyze/`.replace(/\/+/g,`/`),b=p(()=>{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}),x=t(b.value[0]);function S(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 O(e){return w.clearAnalyzeBuilds(await T(),[e])}return(t,d)=>{let p=B,y=D;return a(),h(`div`,U,[f(`div`,W,[(a(!0),h(c,null,o(b.value,(e,t)=>(a(),h(`button`,{key:t,px4:``,py2:``,border:`r base`,hover:`bg-active`,class:i(e.id===x.value?.id?``:`border-b`),onClick:t=>x.value=e},[f(`div`,{class:i(e.id===x.value?.id?``:`op30`)},m(e.name),3)],10,G))),128)),d[1]||=f(`div`,{border:`b base`,"flex-auto":``},null,-1)]),x.value?.id===`overview`?(a(),h(`div`,K,[d[15]||=f(`div`,{"flex-auto":``},null,-1),f(`div`,q,[d[10]||=f(`div`,{"i-carbon-commit":``,"text-xl":``},null,-1),f(`div`,null,[d[2]||=f(`div`,{"text-sm":``,op50:``},` Name `,-1),f(`div`,null,m(n.current.name),1)]),d[11]||=f(`div`,{"i-carbon-time":``,"text-xl":``},null,-1),f(`div`,null,[d[3]||=f(`div`,{"text-sm":``,op50:``},` Build duration `,-1),f(`div`,null,m(S(n.current)),1)]),n.current.size?.clientBundle?(a(),h(c,{key:0},[d[5]||=f(`div`,{"i-carbon-cics-program":``,"text-xl":``},null,-1),f(`div`,null,[d[4]||=f(`div`,{"text-sm":``,op50:``},` Client bundle size `,-1),f(`div`,null,m(E(n.current.size.clientBundle)),1)])],64)):s(``,!0),n.current.size?.nitroBundle?(a(),h(c,{key:1},[d[7]||=f(`div`,{"i-carbon-bare-metal-server":``,"text-xl":``},null,-1),f(`div`,null,[d[6]||=f(`div`,{"text-sm":``,op50:``},` Nitro bundle size `,-1),f(`div`,null,m(E(n.current.size.nitroBundle)),1)])],64)):s(``,!0),d[12]||=f(`div`,{"i-carbon-edge-node":``,"text-xl":``},null,-1),f(`div`,null,[d[8]||=f(`div`,{"text-sm":``,op50:``},` Built `,-1),f(`div`,null,m(r(C)(new Date(n.current.endTime))),1)]),d[13]||=f(`div`,{"i-carbon:folder-parent":``,"text-xl":``},null,-1),f(`div`,null,[d[9]||=f(`div`,{"text-sm":``,op50:``},` Report Path `,-1),g(p,{filepath:n.current.analyzeDir},null,8,[`filepath`])])]),d[16]||=f(`div`,{"flex-auto":``},null,-1),g(y,{n:`rose`,icon:`carbon-delete`,onClick:d[0]||=e=>O(n.current.name)},{default:l(()=>[...d[14]||=[e(` Delete this report `,-1)]]),_:1})])):s(``,!0),d._lazyshow1||x.value?.id===`bundle-client`?(d._lazyshow1=!0,a(),h(c,null,[u(f(`iframe`,{src:`${r(v)}${n.current.slug}/client.html`,"h-full":``,"w-full":``},null,8,[`src`]),[[_,x.value?.id===`bundle-client`]])],64)):s(`v-show-if`,!0),d._lazyshow2||x.value?.id===`bundle-nitro`?(d._lazyshow2=!0,a(),h(c,null,[u(f(`iframe`,{src:`${r(v)}${n.current.slug}/nitro.html`,"h-full":``,"w-full":``},null,8,[`src`]),[[_,x.value?.id===`bundle-nitro`]])],64)):s(`v-show-if`,!0),d._lazyshow3||x.value?.id===`vite-inspect`?(d._lazyshow3=!0,a(),h(c,null,[u(f(`iframe`,{src:`${r(v)}${n.current.slug}/.vite-inspect/`,"h-full":``,"w-full":``},null,8,[`src`]),[[_,x.value?.id===`vite-inspect`]])],64)):s(`v-show-if`,!0)])}}}),X=Object.assign(Y,{__name:`BuildAnalyzeDetails`}),Z={},Q={class:`markdown-body`};function $(t,n){return a(),h(`div`,Q,[...n[0]||=[f(`template`,null,[f(`div`,{class:`markdown-body`},[f(`h1`,null,`Build Analyze`),f(`p`,null,[e(`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 `),f(`code`,{"v-pre":``},`nuxt build --analyze`),e(` and present the output data directly in DevTools for easy browsing and comparing.`)])])],-1)]])}var ee=E(Z,[[`render`,$]]),te={flex:`~ col`},ne=[`onClick`],re={flex:`~ gap-1 items-center wrap`,"w-full":``,"text-sm":``,op60:``},ie={flex:`~ items-center justify-center wrap`,p4:``},ae={flex:`~ col gap-1`,"w-250":``,p4:``},oe={flex:`~ gap-3`,mt2:``,"justify-end":``},se=n({__name:`analyze-build`,setup(n){R({icon:`carbon-edge-node`,title:`Build Analyze`,layout:`full`,category:`analyze`,show(){return M(`^3.5.0`)}});let u=S(),_=b(),y=v(),E=x(`analyze-build:slug`,``),B=p(()=>_.value?.builds.find(e=>e.slug===E.value)??_.value?.builds[0]),U=t(!1),W=t(``),G=p(()=>_.value?.builds.some(e=>e.name===W.value.trim()));async function K(){W.value=await w.generateAnalyzeBuildName(),await u.start()&&(O(`analyze-build:start`),F.value={name:W.value,processId:await w.startAnalyzeBuild(await T(),W.value)},U.value&&Y())}let q=j();function J(e){return`${((e.endTime-e.startTime)/1e3).toFixed(1)}s`}function Y(){F.value?.processId&&(q.value=F.value.processId,y.push(`/modules/terminals`))}return N(()=>[{id:`action:analyze-build: start`,title:`Start a new analyze build`,icon:`i-carbon-edge-node`,action:K}]),(t,n)=>{let p=D,v=X,y=k,b=P,x=A,S=V,w=L,T=z,O=I,j=ee,M=H;return a(),h(c,null,[g(b,{"left-size":30},{left:l(()=>[f(`div`,te,[(a(!0),h(c,null,o(r(_)?.builds,e=>(a(),h(c,{key:e.slug},[f(`button`,{flex:`~ col gap1`,p3:``,"hover:bg-active":``,class:i(e.slug===B.value?.slug?`text-primary bg-active`:``),onClick:t=>E.value=e.slug},[f(`code`,null,m(e.name),1),f(`div`,re,[n[4]||=f(`div`,{"i-carbon-time":``},null,-1),f(`span`,null,m(J(e)),1),n[5]||=f(`div`,{"flex-auto":``},null,-1),f(`span`,null,m(r(C)(new Date(e.endTime))),1)])],10,ne),n[6]||=f(`div`,{"x-divider":``},null,-1)],64))),128)),f(`div`,ie,[r(F)?(a(),d(p,{key:1,n:`primary`,icon:`carbon-circle-dash animate-spin`,onClick:n[1]||=e=>Y()},{default:l(()=>[...n[8]||=[e(` Building... `,-1)]]),_:1})):(a(),d(p,{key:0,n:`primary`,icon:`carbon-edge-node`,onClick:n[0]||=e=>K()},{default:l(()=>[...n[7]||=[e(` Start a new build `,-1)]]),_:1}))])])]),right:l(()=>[B.value?(a(),d(v,{key:0,current:B.value},null,8,[`current`])):(a(),d(y,{key:1}))]),_:1}),g(r(u),null,{default:l(({resolve:t})=>[g(O,{"model-value":!0,onClose:e=>t(!1)},{default:l(()=>[f(`div`,ae,[n[13]||=f(`h3`,{class:`text-lg font-medium leading-6`,mb2:``},` Start analyze build? `,-1),n[14]||=f(`p`,{op50:``},` Enter the name of the build: `,-1),g(x,{modelValue:W.value,"onUpdate:modelValue":n[2]||=e=>W.value=e,placeholder:`Build name`},null,8,[`modelValue`]),G.value?(a(),d(S,{key:0,"n-orange":``},{default:l(()=>[...n[9]||=[e(` A build with the same name already exists, continue would overrides the previous build result. `,-1)]]),_:1})):s(``,!0),n[15]||=f(`div`,{my3:``,"x-divider":``},null,-1),n[16]||=f(`p`,{op50:``},` The following command will be executed in your terminal: `,-1),g(w,{code:`npx nuxi analyze --no-serve --name=${W.value}`,lang:`bash`,px4:``,py2:``,border:`~ base rounded`,lines:!1},null,8,[`code`]),g(T,{modelValue:U.value,"onUpdate:modelValue":n[3]||=e=>U.value=e,mt2:``,n:`primary`},{default:l(()=>[...n[10]||=[e(` Navigate to terminal `,-1)]]),_:1},8,[`modelValue`]),f(`div`,oe,[g(p,{onClick:e=>t(!1)},{default:l(()=>[...n[11]||=[e(` Cancel `,-1)]]),_:1},8,[`onClick`]),g(p,{n:`solid primary`,onClick:e=>t(!0)},{default:l(()=>[...n[12]||=[e(` Start `,-1)]]),_:1},8,[`onClick`])])])]),_:2},1032,[`onClose`])]),_:1}),g(M,null,{default:l(()=>[g(j)]),_:1})],64)}}});export{se as default};
@@ -1,6 +0,0 @@
1
- import{C as e,Ct as t,E as n,Mt as r,Q as i,Qt as a,W as o,X as s,Y as c,_ as l,c as u,dt as d,en as f,ft as p,g as m,h,m as g,tn as _,v,vt as y,w as b}from"./vendor/json-editor-vue-eojr4v24.js";import{j as x,k as S}from"./ready-dadbdj5i.js";import{K as C,j as w,w as T}from"./utils-nbkl6byi.js";import{D as E,E as D,O,i as k,j as A,l as j,m as M,o as N,r as P,x as F}from"./rpc-ez4fzlum.js";import{c as I,n as L}from"./dev-auth-ojiqold5.js";import"./vendor/shiki-lqo1hg2n.js";import{t as R}from"./storage-options-cth3coln.js";import"./nuxt-link-bumooa9d.js";import{t as z}from"./nicon-m1crov2l.js";import{t as B}from"./nbutton-gygn07c2.js";import{t as V}from"./telemetry-eqv6a0hn.js";import"./ncard-mqcl8pso.js";import{t as H}from"./ntext-input-cygthohl.js";import"./state-routes-jln33b1m.js";import{a as ee,i as te,l as U,u as ne}from"#entry";import{t as W}from"./ndropdown-cip8lboe.js";import"./client-im47u3kz.js";import"./ncode-block-figzf35k.js";import{t as G}from"./ndrawer-bgqyrlmt.js";import{t as K}from"./composables-b2ccklz4.js";import{t as q}from"./ncheckbox-c0r45qtu.js";import{t as re}from"./filepath-item-e1s52fbh.js";import{t as J}from"./nnavbar-lpozm5fj.js";import"./nicon-title-tqdvw0w0.js";import{t as Y}from"./nsection-block-lqrohs9v.js";import{t as X}from"./code-snippets-k81hoi4s.js";var ie={key:0,"h-full":``,"w-full":``,flex:``,"items-center":``,"justify-center":``},ae={for:`drop-zone-input`,"text-3xl":``,hover:`text-green cursor-pointer`,"transition-all":``},oe={key:1,relative:``,"h-full":``,"w-full":``,grid:`~ rows-[max-content_1fr_max-content]`},se={grid:`~ cols-minmax-8rem gap-8`,"overflow-auto":``,p6:``},ce={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,rounded:``,"rounded-t-lg":``,"bg-active":``,"object-cover":``,class:`aspect-1/1`,border:`~ base`},le=[`src`],ue={flex:`~ gap1`,"items-center":``},de={flex:`~ gap-2`,"items-center":``,"justify-center":``,p8:``},fe=n({__name:`AssetDropZone`,props:{modelValue:{type:Boolean,required:!0},folder:{type:String,required:!0}},setup(n){let s=n,f=/\.\w+$/,g=O(s,`modelValue`),_=t(),y=t([]);function x(e){_.value=e.target,g.value=!0}function S(e){e.target===_.value&&(g.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=y.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===``&&I({message:`Folders are not supported yet`,icon:`carbon:face-dissatisfied`,classes:`text-orange`}),e.push(r);y.value=[...y.value,...e]}}async function E(){if(k.value||N.value)return;V(`assets:upload`);let e=[];for(let t of y.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 P.writeStaticAssets(await L(),[...e],s.folder).then(()=>{R(),I({message:`Files uploaded successfully!`,icon:`i-carbon:checkmark`})}).catch(e=>{R(),I({message:`Error uploading files: ${e?.message??`unknown`}`,icon:`i-carbon-warning`,classes:`text-red`})}),g.value=!1}function D(e){y.value?.splice(e,1)}function A(e){return URL.createObjectURL(e)}function j(e,t){let[n,r]=e.name.split(`.`),i=t.replace(f,``),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}),y.value.splice(y.value.indexOf(e),1,e),e)}function M(){y.value=[]}function R(){g.value=!1,M()}return F(`dragenter`,x),F(`dragleave`,S),F(`dragover`,C),F(`drop`,w),(t,n)=>{let s=B,f=z,_=H,x=i(`tooltip`);return o(),v(`div`,{fixed:``,"bottom-0":``,"left-13":``,"right-0":``,"top-0":``,"z-10":``,"backdrop-blur-20":``,"transition-all":``,class:a(r(g)?`opacity-100 visible`:`opacity-0 invisible`)},[p(b(s,{icon:`carbon-close`,title:`Close`,absolute:``,"right-5":``,"top-5":``,"z-20":``,"text-xl":``,border:!1,onClick:R},null,512),[[x,`Close`,void 0,{"bottom-end":!0}]]),y.value?.length?(o(),v(`div`,oe,[n[4]||=h(`div`,{px6:``,py6:``},[h(`h1`,{"text-2xl":``},` Upload `),h(`p`,{"text-sm":``,op50:``},` Drag and drop files to upload `)],-1),h(`div`,se,[(o(!0),v(u,null,c(y.value,(e,t)=>(o(),v(`div`,{key:e.name,flex:`~ col gap-2`,relative:``,"h-50":``,"w-40":``,"items-center":``},[h(`div`,ce,[h(`img`,{"h-full":``,"w-full":``,"rounded-t-lg":``,"object-cover":``,src:A(e)},null,8,le)]),h(`div`,ue,[b(_,{n:`xs`,"h-full":``,"flex-auto":``,"model-value":e.name,"onUpdate:modelValue":t=>j(e,t.target.value)},null,8,[`model-value`,`onUpdate:modelValue`]),b(s,{n:`red`,icon:`carbon-trash-can`,"h-full":``,"flex-none":``,title:`Remove file`,onClick:e=>D(t)},null,8,[`onClick`])])]))),128))]),h(`div`,de,[y.value.length?(o(),m(s,{key:0,n:`red`,onClick:M},{default:d(()=>[b(f,{icon:`carbon-clean`}),n[2]||=e(` Clear `,-1)]),_:1})):l(``,!0),b(s,{disabled:!y.value.length,n:`primary solid`,onClick:E},{default:d(()=>[b(f,{icon:`carbon-cloud-upload`}),n[3]||=e(` Upload `,-1)]),_:1},8,[`disabled`])])])):(o(),v(`div`,ie,[h(`label`,ae,[b(f,{icon:`carbon-cloud-upload`,"mr-2":``}),n[1]||=e(` Drop files here or click to select `,-1)]),h(`input`,{id:`drop-zone-input`,type:`file`,multiple:``,hidden:``,onChange:n[0]||=e=>T(e.target.files)},null,32)]))],2)}}}),pe=Object.assign(fe,{__name:`AssetDropZone`}),me=n({__name:`AssetFontPreview`,props:{asset:{}},setup(e){let t=e,n=g(()=>`devtools-assets-${C(t.asset)}`);return D(g(()=>`
2
- @font-face {
3
- font-family: '${n.value}';
4
- src: url('${t.asset.publicPath}');
5
- }
6
- `)),(e,t)=>(o(),v(`div`,{"of-hidden":``,style:f({fontFamily:`'${n.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))}}),he=Object.assign(me,{__name:`AssetFontPreview`}),ge={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,"bg-active":``,"object-cover":``,p1:``},_e=[`src`],ve={key:2,"i-carbon-document":``,"text-3xl":``,op20:``},ye={key:3,"w-full":``,"self-start":``,p4:``},be=[`textContent`],xe={key:4},Se=[`src`,`autoplay`,`controls`],Ce={key:5},we={key:0,"i-carbon-volume-up":``,"text-3xl":``,op20:``},Te=[`src`],Ee={key:6,"i-carbon-help":``,"text-3xl":``,op20:``},De=n({__name:`AssetPreview`,props:{asset:{},textContent:{},detail:{type:Boolean}},setup(e){return(t,n)=>{let r=he;return o(),v(`div`,ge,[e.asset.type===`image`?(o(),v(`img`,{key:0,src:e.asset.publicPath},null,8,_e)):e.asset.type===`font`?(o(),m(r,{key:e.asset.publicPath,asset:e.asset,"self-stretch":``,p2:``,"text-2xl":``},null,8,[`asset`])):e.asset.type===`text`&&!e.textContent?(o(),v(`div`,ve)):e.asset.type===`text`&&e.textContent?(o(),v(`div`,ye,[h(`pre`,{"max-h-10rem":``,"of-hidden":``,"text-xs":``,"font-mono":``,textContent:_(e.textContent)},null,8,be)])):e.asset.type===`video`?(o(),v(`div`,xe,[h(`video`,{src:e.asset.publicPath,autoplay:e.detail,controls:e.detail},null,8,Se)])):e.asset.type===`audio`?(o(),v(`div`,Ce,[e.detail?(o(),v(`audio`,{key:1,src:e.asset.publicPath,controls:``},null,8,Te)):(o(),v(`div`,we))])):(o(),v(`div`,Ee))])}}}),Z=Object.assign(De,{__name:`AssetPreview`}),Oe={relative:``,flex:`~ col gap-1`,hover:`bg-active`,"items-center":``,"of-hidden":``,rounded:``,p2:``},ke={"w-full":``,"of-hidden":``,truncate:``,"ws-nowrap":``,"text-center":``,"text-xs":``},Ae=n({__name:`AssetGridItem`,props:{asset:{},folder:{}},setup(e){let t=e,n=g(()=>t.folder&&t.asset.path.startsWith(t.folder)?t.asset.path.slice(t.folder.length):t.asset.path);return(t,r)=>{let i=z,a=Z;return o(),v(`button`,Oe,[e.asset.layer?(o(),m(i,{key:0,icon:`i-carbon-layers`,absolute:``,"right-4":``,"top-4":``,"bg-primary":``})):l(``,!0),b(a,{"h-30":``,"w-30":``,rounded:``,border:`~ base`,asset:e.asset},null,8,[`asset`]),h(`div`,ke,_(n.value),1)])}}}),je=Object.assign(Ae,{__name:`AssetGridItem`}),Me=n({__name:`AssetListItem`,props:{item:{},index:{default:0},modelValue:{}},setup(n,{emit:i}){let d=n,p=O(d,`modelValue`,i,{passive:!0}),b=g(()=>d.item?.children?.length),x=t(!0),S=g(()=>b.value?`i-carbon-folder`:d.item.type===`image`?`i-carbon-image`:d.item.type===`video`?`i-carbon-video`:d.item.type===`audio`?`i-carbon-volume-up`:d.item.type===`font`?`i-carbon-text-small-caps`:d.item.type===`text`?`i-carbon-document`:d.item.type===`json`?`i-carbon-json`:`i-carbon-document-blank`);return(t,i)=>{let d=z,g=Q;return o(),v(`div`,null,[h(`button`,{flex:`~ gap-2`,"w-full":``,"items-center":``,hover:`bg-active`,px4:``,py1:``,style:f({paddingLeft:`calc(1rem + ${n.index*1.5}em)`}),class:a({"bg-active":!b.value&&r(p)?.filePath===n.item?.filePath}),border:`b base`,onClick:i[0]||=e=>b.value?x.value=!x.value:p.value=n.item},[h(`div`,{class:a(S.value)},null,2),h(`span`,{class:a({"flex items-center":b.value}),"flex-auto":``,"text-start":``,"text-sm":``,"font-mono":``},[e(_(n.item.path)+` `,1),n.item.layer?(o(),m(d,{key:0,icon:`i-carbon-layers`,"bg-primary":``})):l(``,!0)],2),b.value?(o(),m(d,{key:0,icon:`carbon:chevron-right`,"transform-rotate":x.value?90:0,transition:``},null,8,[`transform-rotate`])):l(``,!0)],6),x.value?s(t.$slots,`default`,{key:0},()=>[(o(!0),v(u,null,c(n.item?.children,e=>(o(),m(g,{key:e.filepath,modelValue:r(p),"onUpdate:modelValue":i[1]||=e=>y(p)?p.value=e:null,item:e,index:n.index+1},null,8,[`modelValue`,`item`,`index`]))),128))]):l(``,!0)])}}}),Q=Object.assign(Me,{__name:`AssetListItem`}),Ne={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},Pe={flex:`~`,"items-center":``,"justify-center":``},Fe={"max-w-full":``,"w-full":``,"table-fixed":``},Ie={flex:`~ gap-1`,"w-full":``,"items-center":``},Le={flex:`~ gap-1`,"w-full":``,"items-center":``,"of-hidden":``},Re={"flex-auto":``,"of-hidden":``,truncate:``,"ws-pre":``,"font-mono":``},ze={capitalize:``},Be={key:0},Ve={op70:``},He={flex:`~ gap2 wrap`},Ue={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},We={flex:`~ gap2 wrap justify-center`},Ge={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},Ke={flex:`~ gap2 wrap justify-center`},qe={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},Je={flex:``,"justify-end":``,"gap-4":``},$=n({__name:`AssetDetails`,props:{modelValue:{}},setup(n,{emit:a}){let s=O(n,`modelValue`,a,{passive:!0}),c=j(async()=>{if(s.value.type===`image`)return P.getImageMeta(await L(),s.value.filePath)}),f=t(!1),y=t(),C=t(0),w=j(async()=>{if(s.value.type!==`text`)return;C.value;let e=await P.getTextAssetContent(await L(),s.value.filePath);return y.value=e,e});async function D(){if(w.value!==y.value)try{await P.writeStaticAssets(await L(),[{path:s.value.path,content:y.value,override:!0}],``),f.value=!1,C.value++,I({message:`Updated`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),I({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let k=T(),A=g(()=>(k.value?._installedModules||[]).some(e=>e.meta?.name===`@nuxt/image`||e.meta?.name===`@nuxt/image-edge`||e.meta?.name===`@nuxt/image-nightly`)),M=g(()=>{let e=[];if(s.value.type===`image`){let t=c.value?.width?`\n width="${c.value.width}"\n height="${c.value.height}" `:` `;return e.push({lang:`vue-html`,code:`<img${t}\n src="${s.value.publicPath}"\n/>`,name:`Plain Image`}),A.value&&e.push({lang:`vue-html`,code:`<NuxtImg${t}\n src="${s.value.publicPath}"\n/>`,name:`Nuxt Img`,docs:`https://image.nuxt.com/usage/nuxt-img`},{lang:`vue-html`,code:`<NuxtPicture${t}\n src="${s.value.publicPath}"\n/>`,name:`Nuxt Picture`,docs:`https://image.nuxt.com/usage/nuxt-picture`}),e}return e.push({lang:`html`,code:`<a download href="${s.value.publicPath}">\n Download ${s.value.path.split(`/`).slice(-1)[0]}\n</a>`,name:`Download link`}),e}),N=te(),F=ee(),R=E(()=>s.value.mtime),z=g(()=>{let e=s.value.size;return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`}),V=g(()=>{if(!c.value?.width||!c.value?.height)return``;let e=(t,n)=>n?e(n,t%n):t,t=e(c.value.width,c.value.height);return t>3?`${c.value.width/t}:${c.value.height/t}`:``}),U=g(()=>[`image`,`text`,`video`,`audio`,`font`].includes(s.value.type)),W=t(!1);async function G(){try{await P.deleteStaticAsset(await L(),s.value.filePath),s.value=void 0,W.value=!1,I({message:`Asset deleted`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),I({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let K=t(!1),q=t(``);async function J(){let e=s.value.filePath.split(`/`),t=e.slice(-1)[0]?.split(`.`).slice(0,-1).join(`.`);if(!q.value||q.value===t)return I({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(`/`)}/${q.value}.${t}`;await P.renameStaticAsset(await L(),s.value.filePath,n),s.value=void 0,K.value=!1,I({message:`Asset renamed`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),I({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}return(t,n)=>{let a=Z,g=re,C=B,T=X,E=ne,O=H,k=i(`tooltip`);return o(),v(u,null,[h(`div`,Ne,[U.value?(o(),v(u,{key:0},[n[13]||=h(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[h(`div`,{"x-divider":``}),h(`div`,{"flex-none":``},` Preview `),h(`div`,{"x-divider":``})],-1),h(`div`,Pe,[b(a,{detail:``,"max-h-80":``,"min-h-20":``,"min-w-20":``,"w-auto":``,rounded:``,border:`~ base`,asset:r(s),"text-content":r(w)},null,8,[`asset`,`text-content`])])],64)):l(``,!0),n[25]||=h(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[h(`div`,{"x-divider":``}),h(`div`,{"flex-none":``},` Details `),h(`div`,{"x-divider":``})],-1),h(`table`,Fe,[h(`tbody`,null,[h(`tr`,null,[n[14]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Filepath `,-1),h(`td`,null,[h(`div`,Ie,[b(g,{filepath:r(s).filePath,"text-left":``},null,8,[`filepath`]),p(b(C,{"flex-none":``,title:`Open in Editor`,icon:`carbon-launch`,border:!1,onClick:n[0]||=e=>r(F)(r(s).filePath)},null,512),[[k,`Open in Editor`]])])])]),h(`tr`,null,[n[15]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Public Path `,-1),h(`td`,null,[h(`div`,Le,[h(`div`,Re,_(r(s).publicPath),1),p(b(C,{"flex-none":``,title:`Copy public path`,icon:`carbon-copy`,border:!1,onClick:n[1]||=e=>r(N)(r(s).publicPath,`assets-public-path`)},null,512),[[k,`Copy public path`]]),p(b(C,{"flex-none":``,to:r(s).publicPath,icon:`carbon-launch`,target:`_blank`,border:!1,title:`Open in browser`},null,8,[`to`]),[[k,`Open in browser`]])])])]),h(`tr`,null,[n[16]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Type `,-1),h(`td`,ze,_(r(s).type),1)]),r(c)?.width?(o(),v(u,{key:0},[h(`tr`,null,[n[17]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Image Size `,-1),h(`td`,null,_(r(c).width)+` x `+_(r(c).height),1)]),V.value?(o(),v(`tr`,Be,[n[18]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Aspect Ratio `,-1),h(`td`,null,_(V.value),1)])):l(``,!0)],64)):l(``,!0),h(`tr`,null,[n[19]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` File size `,-1),h(`td`,null,_(z.value),1)]),h(`tr`,null,[n[20]||=h(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Last modified `,-1),h(`td`,null,[e(_(new Date(r(s).mtime).toLocaleString())+` `,1),h(`span`,Ve,`(`+_(r(R))+`)`,1)])])])]),n[26]||=h(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[h(`div`,{"x-divider":``}),h(`div`,{"flex-none":``},` Actions `),h(`div`,{"x-divider":``})],-1),h(`div`,He,[b(C,{to:r(s).publicPath,download:``,target:`_blank`,icon:`carbon-download`,n:`green`},{default:d(()=>[...n[21]||=[e(` Download `,-1)]]),_:1},8,[`to`]),r(s).type===`text`?(o(),m(C,{key:0,icon:`carbon-edit`,n:`cyan`,onClick:n[2]||=e=>f.value=!f.value},{default:d(()=>[...n[22]||=[e(` Edit `,-1)]]),_:1})):l(``,!0),b(C,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:n[3]||=e=>K.value=!K.value},{default:d(()=>[...n[23]||=[e(` Rename `,-1)]]),_:1}),b(C,{icon:`carbon-delete`,n:`red`,onClick:n[4]||=e=>W.value=!W.value},{default:d(()=>[...n[24]||=[e(` Delete `,-1)]]),_:1})]),n[27]||=h(`div`,{"flex-auto":``},null,-1),M.value.length?(o(),m(T,{key:1,border:`t base`,"mx--4":``,"mb--4":``,"code-snippets":M.value},null,8,[`code-snippets`])):l(``,!0)]),b(E,{modelValue:W.value,"onUpdate:modelValue":n[6]||=e=>W.value=e},{default:d(()=>[h(`div`,Ue,[n[30]||=h(`span`,null,` Are you sure you want to delete this asset? `,-1),h(`div`,We,[b(C,{icon:`carbon-close`,onClick:n[5]||=e=>W.value=!1},{default:d(()=>[...n[28]||=[e(` Cancel `,-1)]]),_:1}),b(C,{icon:`carbon-delete`,n:`red`,onClick:G},{default:d(()=>[...n[29]||=[e(` Delete `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),b(E,{modelValue:K.value,"onUpdate:modelValue":n[9]||=e=>K.value=e},{default:d(()=>[h(`div`,Ge,[b(O,{modelValue:q.value,"onUpdate:modelValue":n[7]||=e=>q.value=e,placeholder:`New name`,n:`blue`},null,8,[`modelValue`]),h(`div`,Ke,[b(C,{icon:`carbon-close`,onClick:n[8]||=e=>K.value=!1},{default:d(()=>[...n[31]||=[e(` Cancel `,-1)]]),_:1}),b(C,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:J},{default:d(()=>[...n[32]||=[e(` Rename `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),r(s).type===`text`?(o(),m(E,{key:0,modelValue:f.value,"onUpdate:modelValue":n[12]||=e=>f.value=e},{default:d(()=>[h(`div`,qe,[p(h(`textarea`,{"onUpdate:modelValue":n[10]||=e=>y.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,y.value]]),h(`div`,Je,[b(C,{icon:`carbon-close`,onClick:n[11]||=e=>f.value=!1},{default:d(()=>[...n[33]||=[e(` Cancel `,-1)]]),_:1}),b(C,{icon:`carbon:save`,n:`primary`,onClick:D},{default:d(()=>[...n[34]||=[e(` save `,-1)]]),_:1})])])]),_:1},8,[`modelValue`])):l(``,!0)],64)}}}),Ye=Object.assign($,{__name:`AssetDetails`}),Xe={"h-full":``,"of-auto":``},Ze={"flex-none":``,flex:`~ gap2 items-center`,"text-lg":``},Qe={flex:`~ items-center justify-center`,absolute:``,"bottom--1":``,"right--1":``,"h-4":``,"w-4":``,"rounded-full":``,"bg-primary:30":``,"text-8px":``},$e={flex:`~ col`,"w-30":``,"of-auto":``},et={"text-xs":``,op75:``},tt={op50:``},nt={key:0},rt={"mt--4":``,px2:``,grid:`~ cols-minmax-8rem`},it={key:1,p2:``,grid:`~ cols-minmax-8rem`},at={key:1},ot=n({__name:`assets`,setup(e){K({icon:`carbon-image-copy`,title:`Assets`,layout:`full`});let n=w(),a=t(!1),s=t(``),f=g(()=>new U(n.value||[],{keys:[`path`]})),y=A(()=>{let e=[];for(let t of n.value||[]){let n=t.path.split(`.`).pop();n&&!e.some(e=>e.name===n)&&e.push({name:n,value:!0})}return e}),x=g(()=>(s.value?f.value.search(s.value).map(e=>e.item):n.value||[]).filter(e=>{let t=e.path.split(`.`).pop();return!t||y.some(e=>e.name===t&&e.value)})),S=g(()=>{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=g(()=>{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=t(),{view:E}=R(`assets`);function D(){E.value=E.value===`list`?`grid`:`list`}M(`Escape`,()=>{T.value=void 0});let O=t();return(e,t)=>{let f=B,g=q,w=W,k=J,A=pe,j=je,M=Y,N=Q,P=Ye,F=G,I=i(`tooltip`);return o(),v(`div`,Xe,[b(k,{ref_key:`navbar`,ref:O,search:s.value,"onUpdate:search":t[1]||=e=>s.value=e,pb2:``},{actions:d(()=>[h(`div`,Ze,[p(b(f,{icon:`carbon:cloud-upload`,title:`File Upload`,border:!1,onClick:t[0]||=e=>a.value=!a.value},null,512),[[I,`File Upload`,void 0,{"bottom-end":!0}]]),r(y).length?(o(),m(w,{key:0,direction:`end`,n:`sm primary`},{trigger:d(({click:e})=>[p(b(f,{icon:`carbon-filter`,border:!1,title:`Filter`,p3:``,"text-lg":``,onClick:t=>e()},null,8,[`onClick`]),[[I,`Filter`,void 0,{"bottom-end":!0}]]),h(`span`,Qe,_(r(y).length),1)]),default:d(()=>[h(`div`,$e,[(o(!0),v(u,null,c(r(y),e=>(o(),m(g,{key:e.name,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,flex:`~ gap-2`,rounded:``,px2:``,py2:``},{default:d(()=>[h(`span`,et,_(e.name),1)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`]))),128))])]),_:1})):l(``,!0),p(b(f,{"text-lg":``,border:!1,icon:r(E)===`grid`?`i-carbon-list`:`i-carbon-grid`,title:`Toggle view`,onClick:D},null,8,[`icon`]),[[I,`Toggle View`,void 0,{"bottom-end":!0}]])])]),default:d(()=>[h(`div`,tt,[s.value?(o(),v(`span`,nt,_(x.value.length)+` matched · `,1)):l(``,!0),h(`span`,null,_(r(n)?.length)+` assets in total`,1)])]),_:1},8,[`search`]),b(A,{modelValue:a.value,"onUpdate:modelValue":t[2]||=e=>a.value=e,folder:`/`},null,8,[`modelValue`]),r(E)===`grid`?(o(),v(u,{key:0},[S.value.length>1?(o(!0),v(u,{key:0},c(S.value,([e,t])=>(o(),m(M,{key:e,text:e,description:`${t.length} items`,open:t.length<=r(50),padding:!1},{default:d(()=>[h(`div`,rt,[(o(!0),v(u,null,c(t,t=>(o(),m(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(),v(`div`,it,[(o(!0),v(u,null,c(x.value,e=>(o(),m(j,{key:e.path,asset:e,onClick:t=>T.value=e},null,8,[`asset`,`onClick`]))),128))]))],64)):(o(),v(`div`,at,[(o(!0),v(u,null,c(C.value,(e,n)=>(o(),m(N,{key:n,modelValue:T.value,"onUpdate:modelValue":t[3]||=e=>T.value=e,item:e},null,8,[`modelValue`,`item`]))),128))])),b(F,{"model-value":!!T.value,"auto-close":``,"w-120":``,top:O.value,onClose:t[5]||=e=>T.value=void 0},{default:d(()=>[T.value?(o(),m(P,{key:0,modelValue:T.value,"onUpdate:modelValue":t[4]||=e=>T.value=e},null,8,[`modelValue`])):l(``,!0)]),_:1},8,[`model-value`,`top`])])}}});export{ot as default};
@@ -1 +0,0 @@
1
- {"id":"25fc8778-785e-4df1-8047-b131fc1cd4b2","timestamp":1773809003699,"prerendered":[]}
@@ -1,8 +0,0 @@
1
- import{Ct as e,E as t,V as n,W as r,g as i,m as a}from"./vendor/json-editor-vue-eojr4v24.js";import{h as o}from"./rpc-ez4fzlum.js";import{t as s}from"./ncode-block-figzf35k.js";var c=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}};new class extends c{};function l(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function u(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function d(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function f(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function p(e,t){return d(e,t,``)}function m(e,t){return f(e,t,``)}function h(e,t){return t.slice(0,g(e,t))}function g(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function _(e){let t;for(t=e.length-1;t>=0&&e[t].match(/\s/);t--);return e.substring(t+1)}function v(e){let t=e.match(/^\s*/);return t?t[0]:``}var y=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,b=RegExp(`[${y}]+|\\s+|[^${y}]`,`ug`);new class extends c{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=[];for(let t of Array.from(r.segment(e))){let e=t.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}}else n=e.match(b)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&x(n,i,r,e),n=e,r=null,i=null)}),(r||i)&&x(n,i,r,null),e}};function x(e,t,n,r){if(t&&n){let i=v(t.value),a=_(t.value),o=v(n.value),s=_(n.value);if(e){let r=l(i,o);e.value=f(e.value,o,r),t.value=p(t.value,r),n.value=p(n.value,r)}if(r){let e=u(a,s);r.value=d(r.value,s,e),t.value=m(t.value,e),n.value=m(n.value,e)}}else if(n){if(e){let e=v(n.value);n.value=n.value.substring(e.length)}if(r){let e=v(r.value);r.value=r.value.substring(e.length)}}else if(e&&r){let n=v(r.value),i=v(t.value),a=_(t.value),o=l(n,i);t.value=p(t.value,o);let s=u(p(n,o),a);t.value=m(t.value,s),r.value=d(r.value,n,s),e.value=f(e.value,n,n.slice(0,n.length-s.length))}else if(r){let e=v(r.value),n=h(_(t.value),e);t.value=m(t.value,n)}else if(e){let n=h(_(e.value),v(t.value));t.value=p(t.value,n)}}new class extends c{tokenize(e){let t=RegExp(`(\\r?\\n)|[${y}]+|[^\\S\\n\\r]+|[^${y}]`,`ug`);return e.match(t)||[]}};var S=new class extends c{constructor(){super(...arguments),this.tokenize=w}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
2
- `))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
3
- `))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
4
- `)&&(e=e.slice(0,-1)),t.endsWith(`
5
- `)&&(t=t.slice(0,-1))),super.equals(e,t,n)}};function C(e,t,n){return S.diff(e,t,n)}function w(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
6
- `));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function T(e){return e==`.`||e==`!`||e==`?`}new class extends c{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(T(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends c{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends c{constructor(){super(...arguments),this.tokenize=w}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(E(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function E(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a;for(a=0;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=E(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=E(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends c{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};var D=t({__name:`CodeDiff`,props:{from:{},to:{},lang:{}},setup(t){let c=t,l=/class="shiki/,u=/class="line"/g;function d(e,t){let n=C(e.trim(),t.trim()),r=[],i=[],a=[];for(let e of n){let t=e.value.trimEnd().split(`
7
- `);for(let n of t)e.added?(r.push(a.length),a.push(n)):(e.removed&&i.push(a.length),a.push(n))}return{added:r,removed:i,result:a.join(`
8
- `)}}let f=a(()=>d(c.from,c.to));function p(e){let t=0;return e.replace(l,`class="shiki diff`).replace(u,e=>(t++,f.value.added.includes(t-1)?`class="line line-added"`:f.value.removed.includes(t-1)?`class="line line-removed"`:e))}let m=e();n(h);function h(){let e=o(m);e&&e.querySelector(`.line-added,.line-removed`)?.scrollIntoView()}return(e,n)=>{let a=s;return r(),i(a,{ref_key:`elRef`,ref:m,code:f.value.result,lang:t.lang,"transform-rendered":p,onLoaded:h},null,8,[`code`,`lang`])}}}),O=Object.assign(D,{__name:`CodeDiff`});export{O as t};
@@ -1 +0,0 @@
1
- import{C as e,E as t,Et as n,Mt as r,Qt as i,W as a,Y as o,_ as s,c,dt as l,g as u,h as d,lt as f,m as p,tn as m,v as h,w as g}from"./vendor/json-editor-vue-eojr4v24.js";import{t as _}from"./nbutton-gygn07c2.js";import{i as v}from"#entry";import{t as y}from"./ncode-block-figzf35k.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=t({__name:`CodeSnippets`,props:{codeSnippets:{},eventType:{}},setup(t){let w=t,T=n(w.codeSnippets[0]),E=v(),D=p(()=>T.value?.lang||`text`);return f(()=>{w.codeSnippets.includes(T.value)||(T.value=w.codeSnippets[0])}),(n,f)=>{let p=y,v=_;return t.codeSnippets.length?(a(),h(`div`,b,[d(`div`,x,[(a(!0),h(c,null,o(t.codeSnippets,(e,t)=>(a(),h(`button`,{key:t,px4:``,py2:``,border:`r base`,hover:`bg-active`,class:i(e===T.value?``:`border-b`),onClick:t=>T.value=e},[d(`div`,{class:i(e===T.value?``:`op30`),"font-mono":``},m(e.name),3)],10,S))),128)),f[1]||=d(`div`,{border:`b base`,"flex-auto":``},null,-1)]),T.value?(a(),h(c,{key:0},[g(p,{code:T.value.code,lang:D.value,lines:!1,"w-full":``,"of-auto":``,p3:``},null,8,[`code`,`lang`]),d(`div`,C,[g(v,{icon:`carbon-copy`,onClick:f[0]||=e=>r(E)(T.value.code,t.eventType||`code-snippet-${T.value.name}`)},{default:l(()=>[...f[2]||=[e(` Copy `,-1)]]),_:1}),T.value?.docs?(a(),u(v,{key:0,to:T.value.docs,target:`_blank`,icon:`carbon-catalog`},{default:l(()=>[...f[3]||=[e(` Docs `,-1)]]),_:1},8,[`to`])):s(``,!0)])],64)):s(``,!0)])):s(``,!0)}}}),T=Object.assign(w,{__name:`CodeSnippets`});export{T as t};
@@ -1 +0,0 @@
1
- import{$ as e,C as t,Ct as n,E as r,Et as i,Mt as a,P as o,Q as s,Qt as c,V as l,W as u,X as d,Y as f,Z as p,_ as m,c as h,ct as g,dt as _,ft as v,g as y,h as b,m as x,tn as S,v as C,vt as w,w as T}from"./vendor/json-editor-vue-eojr4v24.js";import"./ready-dadbdj5i.js";import{D as ee,L as te,b as ne,c as E,i as D,n as O,w as k,z as A}from"./utils-nbkl6byi.js";import{I as re}from"./rpc-ez4fzlum.js";import"./dev-auth-ojiqold5.js";import"./vendor/shiki-lqo1hg2n.js";import{t as j}from"./storage-options-cth3coln.js";import"./nuxt-link-bumooa9d.js";import{t as M}from"./_plugin-vue_export-helper-n58akrbk.js";import{t as N}from"./nicon-m1crov2l.js";import{t as P}from"./nbutton-gygn07c2.js";import"./telemetry-eqv6a0hn.js";import{t as F}from"./ncard-mqcl8pso.js";import"./ntext-input-cygthohl.js";import"./state-routes-jln33b1m.js";import{i as I,l as L}from"#entry";import{t as R}from"./ndrawer-bgqyrlmt.js";import{t as z}from"./composables-b2ccklz4.js";import{t as ie}from"./ncheckbox-c0r45qtu.js";import{t as B}from"./filepath-item-e1s52fbh.js";import{t as V}from"./help-fab-hz6r2oxa.js";import{t as H}from"./nnavbar-lpozm5fj.js";import{t as U}from"./nicon-title-tqdvw0w0.js";import{t as W}from"./nsection-block-lqrohs9v.js";import{n as G}from"./dist-m49wlq01.js";import{t as K}from"./nbadge-m66xoquo.js";import{n as q,t as J}from"./vendor/vis-id8udisj.js";import{t as Y}from"./nselect-tabs-bsw5fg3d.js";import{n as X,t as ae}from"./state-components-fbls8ka7.js";var oe={},se={class:`markdown-body`};function ce(e,t){return u(),C(`div`,se,[...t[0]||=[b(`template`,null,[b(`div`,{class:`markdown-body`},[b(`h1`,null,`Components`),b(`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.`),b(`p`,null,`Components placed in the components/ directory are automatically registered by Nuxt. They can be used in your templates without importing them.`),b(`p`,null,[b(`a`,{href:`https://nuxt.com/docs/guide/directory-structure/components`,target:`_blank`,rel:`noopener`},`Learn more in the documentation`)])])],-1)]])}var le=M(oe,[[`render`,ce]]),ue={"text-sm":``,"font-mono":``},de=r({__name:`ComponentName`,props:{component:{}},setup(e){let n=e,r=x(()=>n.component.pascalName||G(n.component.name||n.component.__name||n.component.kebabName||``));return(e,n)=>(u(),C(`code`,ue,[n[0]||=b(`span`,{mr1:``,op20:``},`<`,-1),t(S(r.value),1),n[1]||=b(`span`,{ml1:``,op20:``},`/>`,-1)]))}}),Z=Object.assign(de,{__name:`ComponentName`}),Q={flex:`~ col gap1`,"items-start":``,"of-hidden":``},fe={flex:`~ gap2 items-center`,px3:``},pe={px3:``,pb2:``},me={key:0,border:`t base`,"max-h-60":``,"w-full":``,"of-auto":``,px3:``,py3:``},he={"text-sm":``},ge={"text-primary":``},_e={key:0,flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},ve={key:1,border:`t base`,"max-h-60":``,"w-full":``,"of-auto":``,px3:``,py3:``},ye={"text-sm":``},be={"text-primary":``},xe={key:0,flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},Se=r({__name:`ComponentDetails`,props:{component:{},dependencies:{},dependents:{}},setup(e){let n=e,r=x(()=>n.component.pascalName||G(n.component.name||n.component.__name||n.component.kebabName||``)),i=x(()=>n.component.filePath||n.component.file||n.component.__file||``),o=I();return(n,s)=>{let c=Z,l=P,p=K,g=B;return u(),C(`div`,Q,[b(`div`,fe,[T(c,{component:e.component},null,8,[`component`]),e.component.meta?.docs&&typeof e.component.meta.docs==`string`?(u(),y(l,{key:0,title:`Open docs`,"flex-none":``,n:`xs`,to:e.component.meta.docs,target:`_blank`,icon:`carbon-catalog`},{default:_(()=>[...s[1]||=[t(` Docs `,-1)]]),_:1},8,[`to`])):m(``,!0),T(l,{title:`Copy name`,"flex-none":``,n:`xs`,icon:`carbon-copy`,onClick:s[0]||=e=>a(o)(`<${r.value}></${r.value}>`,`component-name`)},{default:_(()=>[...s[2]||=[t(` Copy `,-1)]]),_:1}),e.component.global?(u(),y(p,{key:1,n:`green`,title:`Registered at runtime as a global component`,textContent:`runtime`})):m(``,!0)]),b(`div`,pe,[i.value?(u(),y(g,{key:0,filepath:i.value,"w-full":``,"text-sm":``,op40:``,"group-hover:op75":``},null,8,[`filepath`])):m(``,!0)]),e.dependents?(u(),C(`div`,me,[b(`div`,he,[b(`strong`,ge,S(e.dependents.length),1),s[3]||=b(`span`,{op50:``},` references`,-1)]),e.dependents.length?(u(),C(`div`,_e,[(u(!0),C(h,null,f(e.dependents,e=>(u(),y(g,{key:e,filepath:e},null,8,[`filepath`]))),128))])):m(``,!0)])):m(``,!0),e.dependencies?(u(),C(`div`,ve,[b(`div`,ye,[b(`strong`,be,S(e.dependencies.length),1),s[4]||=b(`span`,{op50:``},` dependencies`,-1)]),e.dependencies.length?(u(),C(`div`,xe,[(u(!0),C(h,null,f(e.dependencies,e=>(u(),y(g,{key:e,filepath:e},null,8,[`filepath`]))),128))])):m(``,!0)])):m(``,!0),d(n.$slots,`default`)])}}}),$=Object.assign(Se,{__name:`ComponentDetails`}),Ce={flex:`~ gap-x-3 gap-y-1 wrap`,"w-full":``},we={relative:``,"h-full":``,"w-full":``},Te={key:0,py4:``,pt3:``,flex:`~ col`},Ee={border:`t base`,p4:``},De=r({__name:`ComponentsGraph`,props:{components:{},relationships:{}},setup(e){let r=e,o=n(),s=n(),c=te(),f=i(),p=ee(),v=k(),y=ne(),{componentsGraphShowNodeModules:S,componentsGraphShowGlobalComponents:E,componentsGraphShowPages:D,componentsGraphShowLayouts:O,componentsGraphShowWorkspace:A}=j(`ui`),M=n(),N=n(``),I=re(N,300),L=x(()=>{let e=r.relationships||[];if(M.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(M.value),[...t]}return e}),z=x(()=>{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=y.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(!S.value&&a===`lib`||!D.value&&a===`page`||!O.value&&a===`layout`||!A.value&&a===`user`&&v.value&&!e.id.startsWith(v.value.rootDir)||!E.value&&a===`global`)return null;let o=a===`layout`?`hexagon`:a===`page`?`square`:`dot`,s=I.value&&!e.id.toLowerCase().includes(I.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`:c.value===`dark`?`white`:`black`},color:s?`#8885`:M.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 q(e),edges:t}}),B=x(()=>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=x(()=>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):[]);l(()=>{let e=new J(o.value,z.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=z.value.nodes.get(t).extra}),g(z,()=>{e.setData(z.value)})});function U(){f.value=void 0}let W=/.*\/components\//,G=/\.vue$/,K=/\/index$/;function Y(e){let t=r.components.find(t=>t.filePath===e);return t?t.pascalName:e.replace(W,``).replace(G,``).replace(K,``).split(`/`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function X(){M.value=f.value?.relationship,f.value=void 0}return(e,n)=>{let r=ie,i=H,c=F,l=$,p=P,g=R;return u(),C(h,null,[T(i,{ref_key:`navbar`,ref:s,search:N.value,"onUpdate:search":n[6]||=e=>N.value=e,absolute:``,"left-0":``,"right-0":``,"top-0":``},{actions:_(()=>[b(`div`,Ce,[T(r,{modelValue:a(D),"onUpdate:modelValue":n[0]||=e=>w(D)?D.value=e:null,n:`primary sm`},{default:_(()=>[...n[8]||=[b(`span`,{op75:``},`Show pages`,-1)]]),_:1},8,[`modelValue`]),T(r,{modelValue:a(O),"onUpdate:modelValue":n[1]||=e=>w(O)?O.value=e:null,n:`primary sm`},{default:_(()=>[...n[9]||=[b(`span`,{op75:``},`Show layouts`,-1)]]),_:1},8,[`modelValue`]),T(r,{modelValue:a(A),"onUpdate:modelValue":n[2]||=e=>w(A)?A.value=e:null,n:`primary sm`},{default:_(()=>[...n[10]||=[b(`span`,{op75:``},`Show workspace`,-1)]]),_:1},8,[`modelValue`]),T(r,{modelValue:a(S),"onUpdate:modelValue":n[3]||=e=>w(S)?S.value=e:null,n:`primary sm`},{default:_(()=>[...n[11]||=[b(`span`,{op75:``},`Show node_modules`,-1)]]),_:1},8,[`modelValue`]),T(r,{modelValue:a(E),"onUpdate:modelValue":n[4]||=e=>w(E)?E.value=e:null,n:`primary sm`},{default:_(()=>[...n[12]||=[b(`span`,{op75:``},`Show global components`,-1)]]),_:1},8,[`modelValue`])]),M.value?(u(),C(`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=>M.value=void 0},[...n[13]||=[t(` Clear filter `,-1),b(`div`,{"i-carbon-close":``},null,-1)]])):m(``,!0),n[14]||=b(`div`,{"flex-auto":``},null,-1),d(e.$slots,`default`)]),_:3},8,[`search`]),b(`div`,we,[b(`div`,{ref_key:`container`,ref:o,"h-full":``,"w-full":``},null,512),T(c,{absolute:``,"bottom-3":``,"left-3":``,"border-0":``,"n-glass-effect":``,p2:``,px3:``,"text-sm":``},{default:_(()=>[...n[15]||=[b(`div`,{grid:`~ cols-[20px_1fr] items-center gap-y-1`},[b(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-42b883":``}),b(`div`,{op50:``},` Component `),b(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-97c2fc":``}),b(`div`,{op50:``},` Global Component `),b(`div`,{"h-3":``,"w-3":``,"bg-hex-42b2b8":``}),b(`div`,{op50:``},` Page `),b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 726 628`,"ml--1px":``,"h-3":``},[b(`path`,{fill:`#4256b8`,"stroke-width":`4`,d:`M723 314 543 625.8H183L3 314 183 2.2h360L723 314z`})]),b(`div`,{op50:``},` Layout `),b(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-b4b842":``}),b(`div`,{op50:``},` Library Component `),b(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-b86542":``}),b(`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:_(()=>[f.value&&f.value.component?(u(),C(`div`,Te,[T(l,{component:f.value.component,dependencies:B.value,dependents:V.value},null,8,[`component`,`dependencies`,`dependents`]),b(`div`,Ee,[T(p,{n:`primary solid`,onClick:n[7]||=e=>X()},{default:_(()=>[...n[16]||=[t(` Filter to this component `,-1)]]),_:1})])])):m(``,!0)]),_:1},8,[`model-value`,`top`])])],64)}}}),Oe=Object.assign(De,{__name:`ComponentsGraph`}),ke={hover:`bg-active`,class:`group`,flex:`~ gap2`,"w-full":``,"items-center":``,rounded:``,px2:``,py1:``},Ae={key:0,"ml--1":``,"text-primary":``},je=r({__name:`ComponentItem`,props:{component:{},dependencies:{},dependents:{}},setup(e){let t=e,n=x(()=>t.component.filePath||t.component.file||t.component.__file||``);return(t,r)=>{let i=Z,a=$,o=p(`VDropdown`),s=K,l=B;return u(),C(`div`,ke,[T(o,null,{popper:_(()=>[T(a,{component:e.component,dependencies:e.dependencies,dependents:e.dependents,"w-100":``,pt3:``},null,8,[`component`,`dependencies`,`dependents`])]),default:_(()=>[b(`button`,{"hover:text-primary":``,class:c(e.dependents&&e.dependents.length===0?`op50`:``)},[T(i,{component:e.component},null,8,[`component`])],2)]),_:1}),e.dependents?.length?(u(),C(`sup`,Ae,` x`+S(e.dependents?.length),1)):m(``,!0),e.component.global?(u(),y(s,{key:1,n:`green`,title:`Registered at runtime as a global component`,textContent:`runtime`})):m(``,!0),d(t.$slots,`default`),n.value?(u(),y(l,{key:2,filepath:n.value,"text-sm":``,op25:``,"group-hover:op75":``},null,8,[`filepath`])):m(``,!0)])}}}),Me=Object.assign(je,{__name:`ComponentItem`}),Ne={flex:`~ gap-2 items-center`},Pe={pl4:``},Fe=r({__name:`ComponentsList`,props:{components:{},relationships:{}},setup(e){let t=e,r=n(``),i=n(`all`),s=x(()=>{let e=t.components.map(e=>O(e,t.relationships));return i.value===`using`?e.filter(e=>e.dependents?.length):i.value===`not-used`?e.filter(e=>!e.dependents?.length):e}),c={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`},l=x(()=>new L(s.value,{keys:[`component.pascalName`,`component.filePath`,`component.kebabName`]})),p=x(()=>{let e=[],t=new Map,n=[],i=[],a={user:0,lib:0,builtin:0,runtime:0};return(r.value?l.value.search(r.value).map(e=>e.item):s.value).forEach(r=>{let o=r.component;if(o.filePath&&E(o.filePath)){let e=D(o.filePath);if(!e)return;e===`nuxt`?(o.meta??={},o.meta.docs??=c?.[o.pascalName],n.push(r),a.builtin++):(t.has(e)||t.set(e,[]),t.get(e).push(r),a.lib++)}else o.global&&!o.filePath?(i.push(r),a.runtime++):(e.push(r),a.user++)}),{count:a,user:e,builtin:n,lib:t,runtime:i}});return(e,t)=>{let n=N,s=Y,c=H,l=Me,g=W,v=U;return u(),C(h,null,[T(c,{search:r.value,"onUpdate:search":t[1]||=e=>r.value=e,pb3:``},{actions:_(()=>[d(e.$slots,`default`)]),default:_(()=>[b(`div`,Ne,[T(n,{icon:`carbon-filter`,op50:``}),T(s,{modelValue:i.value,"onUpdate:modelValue":t[0]||=e=>i.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?(u(),y(g,{key:0,icon:`carbon-nominal`,text:`User components`,open:p.value.user.length<=a(50),description:`Total components: ${p.value.count.user}`},{default:_(()=>[(u(!0),C(h,null,f(p.value.user,e=>(u(),y(l,o({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`open`,`description`])):m(``,!0),p.value.runtime.length?(u(),y(g,{key:1,icon:`carbon-load-balancer-global`,open:p.value.runtime.length<=a(50),text:`Runtime components`,description:`Total components: ${p.value.count.runtime}`},{default:_(()=>[(u(!0),C(h,null,f(p.value.runtime,e=>(u(),y(l,o({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`open`,`description`])):m(``,!0),p.value.builtin.length?(u(),y(g,{key:2,icon:`simple-icons-nuxtdotjs`,text:`Built-in components`,description:`Total components: ${p.value.count.builtin}`},{default:_(()=>[(u(!0),C(h,null,f(p.value.builtin,e=>(u(),y(l,o({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`description`])):m(``,!0),p.value.lib.size?(u(),y(g,{key:3,open:p.value.count.lib<=a(50),icon:`carbon-3d-mpr-toggle`,text:`Components from libraries`,description:`${p.value.count.lib} components from ${p.value.lib.size} packages`},{default:_(()=>[(u(!0),C(h,null,f(p.value.lib.entries(),([e,t])=>(u(),C(`div`,{key:e,"ml-2":``},[T(v,{text:`${e} (${t.length})`,py1:``,op50:``},null,8,[`text`]),b(`div`,Pe,[(u(!0),C(h,null,f(t,e=>(u(),y(l,o({key:e.component.filePath},{ref_for:!0},e),null,16))),128))])]))),128))]),_:1},8,[`open`,`description`])):m(``,!0)],64)}}}),Ie=Object.assign(Fe,{__name:`ComponentsList`}),Le={relative:``,"h-full":``,"of-auto":``},Re={"flex-none":``,flex:`~ gap3`},ze=r({__name:`components`,setup(t){z({icon:`i-carbon-assembly-cluster`,title:`Components`,order:2});let n=A(),r=ae(),i=X(),{componentsView:o}=j(`ui`);function c(){n.value?.inspector?.enable()}function l(){o.value=o.value===`list`?`graph`:`list`}return(t,d)=>{let f=P,p=le,g=V,x=s(`tooltip`);return u(),C(h,null,[b(`div`,Le,[(u(),y(e(a(o)===`list`?Ie:Oe),{components:a(r),relationships:a(i)},{default:_(()=>[b(`div`,Re,[v(T(f,{"text-lg":``,border:!1,icon:a(o)===`graph`?`i-carbon-list`:`i-carbon-network-4`,title:`Toggle view`,onClick:l},null,8,[`icon`]),[[x,`Toggle View`,void 0,{"bottom-end":!0}]]),a(n)?.inspector?.isAvailable?v((u(),y(f,{key:0,"text-lg":``,border:!1,icon:`i-tabler-focus-2`,title:`Inspect Vue components`,onClick:c},null,512)),[[x,`Inspect Vue components`,void 0,{"bottom-end":!0}]]):m(``,!0)])]),_:1},8,[`components`,`relationships`]))]),T(g,null,{default:_(()=>[T(p)]),_:1})],64)}}});export{ze as default};
@@ -1 +0,0 @@
1
- import{C as e,E as t,Mt as n,Qt as r,W as i,Y as a,Z as o,_ as s,c,dt as l,g as u,h as d,m as f,tn as p,v as m,w as h}from"./vendor/json-editor-vue-eojr4v24.js";import{t as g}from"./nicon-m1crov2l.js";import{t as _}from"./nbutton-gygn07c2.js";import{a as v,i as y}from"#entry";import{t as b}from"./filepath-item-e1s52fbh.js";import{t as x}from"./constants-ih922r91.js";import{t as S}from"./dist-m49wlq01.js";import{t as C}from"./nmarkdown-hw0hmqw7.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=t({__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(t){let I=t,L=y(),R=v(),z=f(()=>I.item.as||I.item.name),B=f(()=>{let e=z.value;return I.isDirective&&(e[0]!==`v`&&(e=`v${e}`),e=S(e)),e}),V=f(()=>I.metadata?.injectionsUsageMap?.get(z.value)?.count||0),H=f(()=>(I.metadata?.injectionsUsageMap?.get(z.value)?.moduleIds||[]).filter(e=>!e.endsWith(`?macro=true`))),U=f(()=>I.item.meta?.docsUrl?I.item.meta.docsUrl:[`nuxt`,`#app`,`nuxt3`].includes(I.item.from)?x.nuxt[I.item.name]:I.item.from===`vue`?x.vue[I.item.name]:null);return(f,v)=>{let y=g,x=C,S=_,W=b,G=o(`VDropdown`);return i(),u(G,{disabled:!I.metadata},{popper:l(()=>[d(`div`,O,[d(`div`,k,[t.item.meta?.description?(i(),u(x,{key:0,tag:`div`,pb3:``,"text-sm":``,markdown:t.item.meta.description},null,8,[`markdown`])):s(``,!0),d(`div`,A,[h(S,{icon:`carbon-copy`,onClick:v[0]||=e=>n(L)(B.value,`imports-name`)},{default:l(()=>[...v[2]||=[e(` Copy `,-1)]]),_:1}),t.filepath?(i(),u(S,{key:0,icon:`carbon-code`,onClick:v[1]||=e=>t.filepath&&n(R)(t.filepath)},{default:l(()=>[...v[3]||=[e(` Source `,-1)]]),_:1})):s(``,!0),U.value?(i(),u(S,{key:1,icon:`carbon-catalog`,to:U.value,target:`_blank`},{default:l(()=>[...v[4]||=[e(` Docs `,-1)]]),_:1},8,[`to`])):s(``,!0)])]),d(`div`,j,[V.value?(i(),m(c,{key:0},[d(`div`,M,[v[5]||=d(`span`,{op50:``},`It has been referenced `,-1),d(`strong`,N,p(V.value),1),v[6]||=d(`span`,{op50:``},` times by:`,-1)]),d(`div`,P,[(i(!0),m(c,null,a(H.value,e=>(i(),u(W,{key:e,filepath:e},null,8,[`filepath`]))),128))])],64)):(i(),m(`div`,F,` Not in use via auto import. `))])])]),default:l(()=>[d(`button`,{"hover:text-primary":``,class:r([t.metadata&&!V.value?`op30 hover:op100`:``,t.classes])},[d(`code`,w,[e(p(z.value)+` `,1),V.value&&t.counter?(i(),m(`sup`,T,`x`+p(V.value),1)):s(``,!0)]),t.isDirective?(i(),m(`sup`,E,[d(`abbr`,D,[h(y,{icon:`tabler:hexagon-letter-d`})])])):s(``,!0)],2)]),_:1},8,[`disabled`])}}}),L=Object.assign(I,{__name:`ComposableItem`});export{L as t};