@nuxt/devtools 4.0.0-alpha.15 → 4.0.0-alpha.17

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 (80) hide show
  1. package/dist/_nuxt/AuthRequiredPanel-znjaI7oT.js.map.json +1 -0
  2. package/dist/_nuxt/CodeDiff-DgjeLx6z.js.map.json +1 -0
  3. package/dist/_nuxt/CodeSnippets-CgfcaS4Z.js.map.json +1 -0
  4. package/dist/_nuxt/ComposableItem-BWQR7_fI.js.map.json +1 -0
  5. package/dist/_nuxt/DataSchemaButton-CqEfc2TV.js.map.json +1 -0
  6. package/dist/_nuxt/DataSchemaDrawer-Xj8YzNJN.js.map.json +1 -0
  7. package/dist/_nuxt/DurationDisplay-Dzweg1by.js.map.json +1 -0
  8. package/dist/_nuxt/FilepathItem-D75bkTSa.js.map.json +1 -0
  9. package/dist/_nuxt/HelpFab-CH7NlsDf.js.map.json +1 -0
  10. package/dist/_nuxt/LaunchPage-ByG-3KVi.js.map.json +1 -0
  11. package/dist/_nuxt/NBadge-BNJzHbtD.js.map.json +1 -0
  12. package/dist/_nuxt/NCard-mHVN2GYZ.js.map.json +1 -0
  13. package/dist/_nuxt/NCheckbox-OMIu_LTG.js.map.json +1 -0
  14. package/dist/_nuxt/NCodeBlock-C2Ewa6VO.js.map.json +1 -0
  15. package/dist/_nuxt/NDrawer-C6Opm19C.js.map.json +1 -0
  16. package/dist/_nuxt/NDropdown-DseEG3tA.js.map.json +1 -0
  17. package/dist/_nuxt/NIcon-cjduOh_B.js.map.json +1 -0
  18. package/dist/_nuxt/NIconTitle-C75MU0px.js.map.json +1 -0
  19. package/dist/_nuxt/NLink-Rsxlt1NN.js.map.json +1 -0
  20. package/dist/_nuxt/NMarkdown-DFwJ-ppZ.js.map.json +1 -0
  21. package/dist/_nuxt/NNavbar-CS-Z1Cle.js.map.json +1 -0
  22. package/dist/_nuxt/NPanelGrids-CEorXUWJ.js.map.json +1 -0
  23. package/dist/_nuxt/NSectionBlock-C7kcMkbf.js.map.json +1 -0
  24. package/dist/_nuxt/NSelect-geGP1eOG.js.map.json +1 -0
  25. package/dist/_nuxt/NSelectTabs-nUMnNQy-.js.map.json +1 -0
  26. package/dist/_nuxt/NSplitPane-Bh0o_t5e.js.map.json +1 -0
  27. package/dist/_nuxt/NTip-DRnTpLjG.js.map.json +1 -0
  28. package/dist/_nuxt/ServerRouteInputs-BhIrPxPN.js.map.json +1 -0
  29. package/dist/_nuxt/StacktraceList-B-ehJIQ-.js.map.json +1 -0
  30. package/dist/_nuxt/StateEditor-Yqdbqk_c.js.map.json +1 -0
  31. package/dist/_nuxt/__blank-BM2yOFO6.js.map.json +1 -0
  32. package/dist/_nuxt/analyze-build-Cemp_oBq.js.map.json +1 -0
  33. package/dist/_nuxt/assets-rTFAaows.js.map.json +1 -0
  34. package/dist/_nuxt/client-r5qP-99Q.js.map.json +1 -0
  35. package/dist/_nuxt/color-BL_mIEWV.js.map.json +1 -0
  36. package/dist/_nuxt/components-BJnHweOE.js.map.json +1 -0
  37. package/dist/_nuxt/constants-D9kP6ji9.js.map.json +1 -0
  38. package/dist/_nuxt/custom-_name_-DI8dnRDD.js.map.json +1 -0
  39. package/dist/_nuxt/debug-BcJZ8M6i.js.map.json +1 -0
  40. package/dist/_nuxt/default-Bzh4dZQ5.js.map.json +1 -0
  41. package/dist/_nuxt/entry-DZwY6FLS.js.map.json +1 -0
  42. package/dist/_nuxt/error-404-dySA7T2P.js.map.json +1 -0
  43. package/dist/_nuxt/error-500-2Ody89Er.js.map.json +1 -0
  44. package/dist/_nuxt/error-hGc4cWUU.js.map.json +1 -0
  45. package/dist/_nuxt/full-CvSnaO29.js.map.json +1 -0
  46. package/dist/_nuxt/head-BTCtirw3.js.map.json +1 -0
  47. package/dist/_nuxt/hooks-BVzlIVXR.js.map.json +1 -0
  48. package/dist/_nuxt/imports-B3k4BZF7.js.map.json +1 -0
  49. package/dist/_nuxt/modules-Ck915TxZ.js.map.json +1 -0
  50. package/dist/_nuxt/none-Df66KJph.js.map.json +1 -0
  51. package/dist/_nuxt/nuxt-C5VITehY.js.map.json +1 -0
  52. package/dist/_nuxt/nuxt-link-C-BBeF5l.js.map.json +1 -0
  53. package/dist/_nuxt/open-graph-ll_bjX_m.js.map.json +1 -0
  54. package/dist/_nuxt/overview-CyqDmfdE.js.map.json +1 -0
  55. package/dist/_nuxt/pages-BddDWJsZ.js.map.json +1 -0
  56. package/dist/_nuxt/pages-CrUWMxGz.js.map.json +1 -0
  57. package/dist/_nuxt/pages-DWELoQlh.js.map.json +1 -0
  58. package/dist/_nuxt/payload-29bFuqLh.js.map.json +1 -0
  59. package/dist/_nuxt/plugins-fmmRaH-S.js.map.json +1 -0
  60. package/dist/_nuxt/ready-BQ1fhXgL.js.map.json +1 -0
  61. package/dist/_nuxt/runtime-configs-iL68LNkj.js.map.json +1 -0
  62. package/dist/_nuxt/server-routes-Dy5_Ljmu.js.map.json +1 -0
  63. package/dist/_nuxt/server-tasks-CD-7IPFD.js.map.json +1 -0
  64. package/dist/_nuxt/settings-Qa45tU8e.js.map.json +1 -0
  65. package/dist/_nuxt/state-components-CksF081b.js.map.json +1 -0
  66. package/dist/_nuxt/state-modules-CyH4hWeN.js.map.json +1 -0
  67. package/dist/_nuxt/state-tabs-m1o-BX5R.js.map.json +1 -0
  68. package/dist/_nuxt/storage-BylO3p9r.js.map.json +1 -0
  69. package/dist/_nuxt/timeline-Dukbqafi.js.map.json +1 -0
  70. package/dist/_nuxt/utils-BfB0tRbX.js.map.json +1 -0
  71. package/dist/_nuxt/virtual-files-BQJM45QE.js.map.json +1 -0
  72. package/dist/chunks/module-main.mjs +1 -1
  73. package/dist/dirs.d.cts +1 -0
  74. package/dist/index.mjs.map.json +1 -0
  75. package/dist/module.d.cts +2 -0
  76. package/dist/module.json +1 -1
  77. package/dist/server.mjs.map.json +1 -0
  78. package/dist/types.d.cts +2 -0
  79. package/dist/webcomponents/index.d.cts +1 -0
  80. package/package.json +30 -30
@@ -0,0 +1 @@
1
+ {"file":"entry-DZwY6FLS.js","mappings":"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","names":["plugin","isPlainObject","routerOptions","routeRulesMatcher","_routeRulesMatcher","validate","route_45global","manifest_45route_45rule","analyze_45buildGc87N16xPfNBlo5_zdLjkWI0bZ4m2YEenLENrEHi4AMMeta","errorqp6hfbDK5RQiXFjstq4n7k8rIX1xpq6WZk2tC7heoDsMeta","open_45graphCPz1GL0x9TF0JytAOD_oLnwiQmPO3kl_yfMcRDeWKCUMeta","pagesSNkPDWIwILu0qD_FXXpNCsDztBFLU_UaN17jS43YK3oMeta","payloadCZoCIIdBqnZk70OS6GwdVtGCMDPF4ZQnPTmAMdXc0McMeta","runtime_45configscx5UlEt7gO6zFZD9L5DI61Yqo135pxIODc9Zuf1_xyYMeta","server_45routes5J5Mf4_xV2vDwcgulk4UqF_yG9pIkV0UqyfHMa2LVi0Meta","server_45tasksyXZ2yEieqLFwLsHgDLK9Xgewowmns3jlJ7C5H_LGAsQMeta","plugin","unhead_server_hW4Qo03r9pnA6JL4I6qprJfvREkTqQ8I6xBBPkTgl88","router_IZDc35xyeqWXH9dZ_2kyqWDi3z3IncjSqBt3fGsAhgo","revive_payload_server_PKmGN7_sIFR9IR2SCYBZqy3vT396LomBUyeuLX_mzU0","components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8","unocss_6Z4vW7S9aX_q2svWbGBc_X2b5QbQdkNmvzr_3kqqCd0","floating_vue_IzZvwu4d0V2PmLzX5FM8OeN_n9KoM824GlcNgFB4ru0","global_KTLRXY_chdZgdxPza8UbtZxGaFYXNkRTEFux_ZeGU4M","notification_39G7B0_YCmpNv_nt_nEo3ElsiXNgdEaT2rCDcQo_8tw","prerender_server_QSN9CpcXJJRZoNCqOlvFL8CN7IyMMFUewctVxomO91c","_routeRulesMatcher","RootComponent","plugins"],"sources":["../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fglobal-polyfills.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/head/runtime/island-head.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/head/runtime/plugins/unhead.server.js","../../../../../../../../../../../node_modules/.pnpm/unctx@3.0.1_magic-string@1.2.3_oxc-parser@0.147.0_rolldown@1.2.7_unplugin@3.3.0_esbuild_852acc74880587db2486ae95412a4406/node_modules/unctx/dist/index.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/utils.js","../../../../../../../../../../../node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Froute-rules.mjs","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fcomponents.islands.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/validate.js","../../../../../../../../middleware/route.global.ts","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/diagnostics/manifest.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/composables/manifest.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/middleware/route-rules.js","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fmiddleware.mjs","../../../../../../../../composables/npm.ts","../../../../../../../../pages/modules/analyze-build.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/error.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/open-graph.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/pages.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/payload.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/runtime-configs.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/server-routes.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/server-tasks.vue?macro=true&vue&type=script&setup=true&lang.ts","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Froutes.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/plugins/router.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/composables/payload.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/plugins/utils.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/plugins/revive-payload.server.js","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fcomponents.plugin.mjs","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Funocss.mjs","../../../../../../../../plugins/floating-vue.ts","../../../../../../../../plugins/global.ts","../../../../../../../../../../devtools-ui-kit/src/composables/notification.ts","../../../../../../../../plugins/notification.ts","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/plugins/prerender.server.js","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fplugins.server.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/composables/loading-indicator.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/components/nuxt-loading-indicator.js","../../../../../../../../../../devtools-ui-kit/src/components/NLoading.vue","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/composables/layout.js","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Flayouts.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/components/nuxt-layout.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/components/route-provider.js","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/page.js","../../../../../../../../../../devtools-ui-kit/src/components/NDialog.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NDialog.vue","../../../../../../../../../../devtools-ui-kit/src/components/NTextInput.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NTextInput.vue","../../../../../../../../components/TabIcon.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/TabIcon.vue","../../../../../../../../../../devtools-ui-kit/src/components/NButton.ts","../../../../../../../../composables/state-commands.ts","../../../../../../../../components/CommandPalette.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/CommandPalette.vue","../../../../../../../../components/NuxtLogo.vue","../../../../../../../../components/DisconnectIndicator.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/DisconnectIndicator.vue","../../../../../../../../composables/dialog.ts","../../../../../../../../components/RestartDialogs.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/RestartDialogs.vue","../../../../../../../../composables/state-routes.ts","../../../../../../../../composables/dev-auth.ts","../../../../../../../../composables/telemetry.ts","../../../../../../../../composables/editor.ts","../../../../../../../../composables/state-schema.ts","../../../../../../../../setup/client-rpc.ts","../../../../../../../../app.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../app.vue","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/components/nuxt-error-page.vue","../../../../../../../../../virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fisland-renderer.mjs","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/components/nuxt-root.vue","../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/entry.js"],"sourcesContent":["\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","//#region src/head/runtime/island-head.ts\n/**\n* No-op `head.push` until the returned `unfreeze` runs. Plugin/transformer\n* augmentations on the same head are unaffected.\n*/\nfunction freezeHead(head) {\n\tconst realPush = head.push;\n\thead.push = () => ({\n\t\tdispose: () => {},\n\t\tpatch: () => {},\n\t\t_i: 0\n\t});\n\treturn () => {\n\t\thead.push = realPush;\n\t};\n}\n//#endregion\nexport { freezeHead };\n","import { freezeHead } from \"../island-head.js\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\n//#region src/head/runtime/plugins/unhead.server.ts\nconst plugin = defineNuxtPlugin({\n\tname: \"nuxt:head\",\n\tenforce: \"pre\",\n\tsetup(nuxtApp) {\n\t\tconst head = nuxtApp.ssrContext.head;\n\t\tif (nuxtApp.ssrContext.islandContext) {\n\t\t\tconst unfreeze = freezeHead(head);\n\t\t\tnuxtApp.hooks.hookOnce(\"app:created\", unfreeze);\n\t\t}\n\t\tnuxtApp.vueApp.use(head);\n\t}\n});\n//#endregion\nexport { plugin as default };\n","function _getAsyncLocalStorage() {\n\treturn globalThis.AsyncLocalStorage || globalThis.process?.getBuiltinModule?.(\"node:async_hooks\")?.AsyncLocalStorage;\n}\nconst _WeakRef = globalThis.WeakRef || class StrongRef {\n\t#value;\n\tconstructor(value) {\n\t\tthis.#value = value;\n\t}\n\tderef() {\n\t\treturn this.#value;\n\t}\n};\nfunction createContext(opts = {}) {\n\tlet currentInstance;\n\tlet isSingleton = false;\n\tconst checkConflict = (instance) => {\n\t\tif (currentInstance && currentInstance !== instance) throw new Error(\"Context conflict\");\n\t};\n\tlet als;\n\tif (opts.asyncContext) {\n\t\tconst _AsyncLocalStorage = opts.AsyncLocalStorage || _getAsyncLocalStorage();\n\t\tif (_AsyncLocalStorage) als = new _AsyncLocalStorage();\n\t\telse console.warn(\"[unctx] `AsyncLocalStorage` is not provided.\");\n\t}\n\tconst _wrapInstance = (instance) => als && instance !== null && typeof instance === \"object\" ? { __unctx_weak: new _WeakRef(instance) } : instance;\n\tconst _unwrapInstance = (store) => store && store.__unctx_weak ? store.__unctx_weak.deref() : store;\n\tconst _getCurrentInstance = () => {\n\t\tif (als) {\n\t\t\tconst store = als.getStore();\n\t\t\tif (store !== void 0) return _unwrapInstance(store);\n\t\t}\n\t\treturn currentInstance;\n\t};\n\treturn {\n\t\tuse: () => {\n\t\t\tconst _instance = _getCurrentInstance();\n\t\t\tif (_instance === void 0) throw new Error(\"Context is not available\");\n\t\t\treturn _instance;\n\t\t},\n\t\ttryUse: () => {\n\t\t\treturn _getCurrentInstance() ?? null;\n\t\t},\n\t\tset: (instance, replace) => {\n\t\t\tif (!replace) checkConflict(instance);\n\t\t\tcurrentInstance = instance;\n\t\t\tisSingleton = true;\n\t\t},\n\t\tunset: () => {\n\t\t\tcurrentInstance = void 0;\n\t\t\tisSingleton = false;\n\t\t},\n\t\tcall: (instance, callback) => {\n\t\t\tcheckConflict(instance);\n\t\t\tcurrentInstance = instance;\n\t\t\ttry {\n\t\t\t\treturn als ? als.run(_wrapInstance(instance), callback) : callback();\n\t\t\t} finally {\n\t\t\t\tif (!isSingleton) currentInstance = void 0;\n\t\t\t}\n\t\t},\n\t\tasync callAsync(instance, callback) {\n\t\t\tcurrentInstance = instance;\n\t\t\tconst onRestore = () => {\n\t\t\t\tcurrentInstance = instance;\n\t\t\t};\n\t\t\tconst onLeave = () => currentInstance === instance ? onRestore : void 0;\n\t\t\tasyncHandlers.add(onLeave);\n\t\t\ttry {\n\t\t\t\tconst r = als ? als.run(_wrapInstance(instance), callback) : callback();\n\t\t\t\tif (!isSingleton) currentInstance = void 0;\n\t\t\t\treturn await r;\n\t\t\t} finally {\n\t\t\t\tasyncHandlers.delete(onLeave);\n\t\t\t}\n\t\t}\n\t};\n}\nfunction createNamespace(defaultOpts = {}) {\n\tconst contexts = {};\n\treturn { get(key, opts = {}) {\n\t\tif (!contexts[key]) contexts[key] = createContext({\n\t\t\t...defaultOpts,\n\t\t\t...opts\n\t\t});\n\t\treturn contexts[key];\n\t} };\n}\nconst _globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : {};\nconst globalKey = \"__unctx__\";\nconst defaultNamespace = _globalThis[globalKey] || (_globalThis[globalKey] = createNamespace());\nconst getContext = (key, opts = {}) => defaultNamespace.get(key, opts);\nconst useContext = (key, opts = {}) => getContext(key, opts).use;\nconst asyncHandlersKey = \"__unctx_async_handlers__\";\nconst asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set());\nfunction executeAsync(function_) {\n\tconst restores = [];\n\tfor (const leaveHandler of asyncHandlers) {\n\t\tconst restore = leaveHandler();\n\t\tif (restore) restores.push(restore);\n\t}\n\tconst restore = () => {\n\t\tfor (const restore of restores) restore();\n\t};\n\tlet awaitable = function_();\n\tif (awaitable && typeof awaitable === \"object\" && \"catch\" in awaitable) awaitable = awaitable.catch((error) => {\n\t\trestore();\n\t\tthrow error;\n\t});\n\treturn [awaitable, restore];\n}\nfunction withAsyncContext(function_, transformed) {\n\tif (!transformed) console.warn(\"[unctx] `withAsyncContext` needs transformation for async context support in\", function_, \"\\n\", function_.toString());\n\treturn function_;\n}\nexport { createContext, createNamespace, defaultNamespace, executeAsync, getContext, useContext, withAsyncContext };\n","import { KeepAlive, h } from \"vue\";\n//#region src/pages/runtime/utils.ts\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n\treturn match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nconst generateRouteKey = (routeProps, override) => {\n\tconst matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n\tconst source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n\treturn typeof source === \"function\" ? source(routeProps.route) : source;\n};\nconst wrapInKeepAlive = (props, children) => {\n\treturn { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\n/** @since 3.9.0 */\nfunction toArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n//#endregion\nexport { generateRouteKey, toArray, wrapInKeepAlive };\n","function isPlainObject(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\n\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = { ...defaults };\n for (const key of Object.keys(baseObject)) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject(value) && isPlainObject(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\nconst defuFn = createDefu((object, key, currentValue) => {\n if (object[key] !== void 0 && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\nconst defuArrayFn = createDefu((object, key, currentValue) => {\n if (Array.isArray(object[key]) && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\n\nexport { createDefu, defu as default, defu, defuArrayFn, defuFn };\n","import { defu } from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs\"\nimport routerOptions from '#build/router.options.mjs'\nconst sensitiveMatcher = /* @__PURE__ */ (() => { const $0={payload: false},$1={},$2={ssr: true};; return (m,p)=>{let r=[];if(p.charCodeAt(p.length-1)===47)p=p.slice(0,-1)||\"/\";if(p===\"/__NUXT_DEVTOOLS_BASE__/__nuxt_error\"){r.unshift({data:$0});}let s=p.split(\"/\"),l=s.length;if(l>1){if(s[1]===\"__NUXT_DEVTOOLS_BASE__\"){if(l>2){if(s[2]===\"_nuxt\"){if(l>3){if(s[3]===\"builds\"){if(l>4){if(s[4]===\"meta\"){r.unshift({data:$1,params:{\"_\":s.slice(5).join('/'),}});}}r.unshift({data:$1,params:{\"_\":s.slice(4).join('/'),}});}}r.unshift({data:$1,params:{\"_\":s.slice(3).join('/'),}});}}r.unshift({data:$2,params:{\"_\":s.slice(2).join('/'),}});}}return r;}})()\nconst foldedMatcher = /* @__PURE__ */ (() => { const $0={payload: false},$1={},$2={ssr: true};; return (m,p)=>{let r=[];if(p.charCodeAt(p.length-1)===47)p=p.slice(0,-1)||\"/\";if(p===\"/__nuxt_devtools_base__/__nuxt_error\"){r.unshift({data:$0});}let s=p.split(\"/\"),l=s.length;if(l>1){if(s[1]===\"__nuxt_devtools_base__\"){if(l>2){if(s[2]===\"_nuxt\"){if(l>3){if(s[3]===\"builds\"){if(l>4){if(s[4]===\"meta\"){r.unshift({data:$1,params:{\"_\":s.slice(5).join('/'),}});}}r.unshift({data:$1,params:{\"_\":s.slice(4).join('/'),}});}}r.unshift({data:$1,params:{\"_\":s.slice(3).join('/'),}});}}r.unshift({data:$2,params:{\"_\":s.slice(2).join('/'),}});}}return r;}})()\nconst decodeRoutePath = function decodeRoutePath(path) {\n\tif (!path.includes(\"%\")) return path;\n\tconst queryIndex = path.indexOf(\"?\");\n\tconst pathname = queryIndex === -1 ? path : path.slice(0, queryIndex);\n\ttry {\n\t\treturn queryIndex === -1 ? decodeURI(pathname) : decodeURI(pathname) + path.slice(queryIndex);\n\t} catch {\n\t\treturn path;\n\t}\n}\nconst normalizePath = (path, fold) => {\n if (typeof path !== 'string') { return path }\n const decoded = decodeRoutePath(path)\n return fold ? decoded.toLowerCase() : decoded\n}\nexport default (path) => routerOptions.sensitive\n ? defu({}, ...sensitiveMatcher('', normalizePath(path, false)).map(r => r.data).reverse())\n : defu({}, ...foldedMatcher('', normalizePath(path, true)).map(r => r.data).reverse())","import { defineAsyncComponent } from 'vue'\nexport const islandComponents = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})\nexport const pageIslandRoutes = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})\nexport const providePageIslandDepth = () => {}","import { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nimport { createError } from \"#app/composables/error\";\n//#region src/pages/runtime/validate.ts\nconst middleware = defineNuxtRouteMiddleware(async (to) => {\n\tif (!to.meta?.validate) return;\n\tconst result = await Promise.resolve(to.meta.validate(to));\n\tif (result === true) return;\n\treturn createError({\n\t\tfatal: false,\n\t\tstatus: result && result.status || 404,\n\t\tstatusText: result && result.statusText || `Page Not Found: ${to.fullPath}`,\n\t\tdata: { path: to.fullPath }\n\t});\n});\n//#endregion\nexport { middleware as default };\n","import { defineNuxtRouteMiddleware, navigateTo } from '#imports'\n\nexport default defineNuxtRouteMiddleware((to) => {\n // The client is always the shared-frame anchor: land on a real tab so the\n // frame-nav shim has something to report as the current view.\n if (to.path === '/')\n return navigateTo('/modules/overview')\n})\n","import { docsBase, prodReporters, reporters } from \"./_shared.js\";\nimport { defineDiagnostics, defineProdDiagnostics } from \"nostics\";\n//#region src/app/diagnostics/manifest.ts\n/**\n* E5xxx\n* App manifest / route-rules runtime diagnostics.\n*/\nconst manifestDiagnostics = !import.meta.dev ? /* #__PURE__ */ defineProdDiagnostics({\n\tdocsBase,\n\treporters: prodReporters\n}) : /* #__PURE__ */ defineDiagnostics({\n\tdocsBase,\n\treporters,\n\tcodes: {\n\t\tNUXT_E5001: {\n\t\t\twhy: \"The app manifest is not enabled.\",\n\t\t\tfix: \"Set `experimental.appManifest: true` in your `nuxt.config`.\"\n\t\t},\n\t\tNUXT_E5002: {\n\t\t\twhy: \"Could not fetch the app manifest.\",\n\t\t\tfix: \"Check that your server is running and the manifest endpoint is reachable. This may be a transient network issue.\",\n\t\t\tdocs: false\n\t\t},\n\t\tNUXT_E5003: {\n\t\t\twhy: (p) => `Could not match route rules for path \\`${p.path}\\`.`,\n\t\t\tfix: \"Check your `routeRules` in `nuxt.config` for invalid patterns.\",\n\t\t\tdocs: false\n\t\t},\n\t\tNUXT_E5004: {\n\t\t\twhy: \"Received a malformed app manifest.\",\n\t\t\tfix: \"Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.\",\n\t\t\tdocs: false\n\t\t}\n\t}\n});\n//#endregion\nexport { manifestDiagnostics };\n","import { useRuntimeConfig } from \"../nuxt.js\";\nimport { manifestDiagnostics } from \"../diagnostics/manifest.js\";\nimport { appManifest } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\n//#region src/app/composables/manifest.ts\nfunction routeRulesMatcher(path) {\n\treturn _routeRulesMatcher(path);\n}\nlet manifest;\nfunction fetchManifest() {\n\tif (!appManifest) throw manifestDiagnostics.NUXT_E5001();\n\tlet _manifest;\n\tif (import.meta.server) _manifest = import(\n\t\t/* webpackIgnore: true */\n\t\t/* @vite-ignore */\n\t\t\"#app-manifest\"\n);\n\telse _manifest = fetch(buildAssetsURL(`builds/meta/${(/* @__PURE__ */ useRuntimeConfig()).app.buildId}.json`), { priority: \"low\" }).then((res) => {\n\t\tif (!res.ok) {\n\t\t\tconst error = /* @__PURE__ */ new Error(`[nuxt] Could not fetch app manifest: ${res.status} ${res.statusText}`);\n\t\t\terror.status = res.status;\n\t\t\tthrow error;\n\t\t}\n\t\treturn res.json();\n\t}).then((res) => {\n\t\tif (!res || typeof res !== \"object\" || !Array.isArray(res.prerendered)) throw manifestDiagnostics.NUXT_E5004();\n\t\treturn res;\n\t});\n\tmanifest = _manifest;\n\t_manifest.catch((e) => {\n\t\tif (manifest === _manifest) manifest = void 0;\n\t\tmanifestDiagnostics.NUXT_E5002({ cause: e });\n\t});\n\treturn _manifest;\n}\n/** @since 3.7.4 */\nfunction getAppManifest() {\n\tif (!appManifest) throw manifestDiagnostics.NUXT_E5001();\n\treturn manifest || fetchManifest();\n}\nfunction getRouteRules(arg) {\n\tconst path = typeof arg === \"string\" ? arg : \"url\" in arg ? arg.url.pathname : arg.path;\n\ttry {\n\t\treturn routeRulesMatcher(path);\n\t} catch (e) {\n\t\tmanifestDiagnostics.NUXT_E5003({\n\t\t\tpath,\n\t\t\tcause: e\n\t\t});\n\t\treturn {};\n\t}\n}\n//#endregion\nexport { getAppManifest, getRouteRules };\n","import { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nimport { hasProtocol } from \"ufo\";\n//#region src/app/middleware/route-rules.ts\nconst middleware = /* @__PURE__ */ defineNuxtRouteMiddleware((to) => {\n\tif (import.meta.server || import.meta.test) return;\n\tconst rules = getRouteRules({ path: to.path });\n\tif (rules.redirect) {\n\t\tconst path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n\t\tif (hasProtocol(path, { acceptRelative: true })) {\n\t\t\twindow.location.href = path;\n\t\t\treturn false;\n\t\t}\n\t\treturn path;\n\t}\n});\n//#endregion\nexport { middleware as default };\n","import validate from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/validate.js\";\nimport route_45global from \"/home/runner/work/devtools/devtools/packages/devtools/client/middleware/route.global.ts\";\nimport manifest_45route_45rule from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n route_45global,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {}","import type { NpmCommandOptions } from '../../src/types'\nimport { satisfies } from 'verkit'\nimport { computed, ref } from 'vue'\nimport { useNuxtApp } from '#app/nuxt'\nimport { rpc } from './rpc'\nimport { useAsyncState } from './utils'\n\nexport type PackageUpdateState = 'idle' | 'running' | 'updated'\n\nconst map = new Map<string, any>()\n\nexport function usePackageUpdate(name: string, options?: NpmCommandOptions): ReturnType<typeof getPackageUpdate> {\n const key = name\n if (!map.has(key))\n map.set(key, getPackageUpdate(name, options))\n return map.get(key)\n}\n\nexport function useNuxtVersion() {\n return usePackageUpdate('nuxt').info\n}\n\nexport function satisfyNuxtVersion(range: string) {\n const nuxt = useNuxtVersion()\n return computed(() => {\n if (!nuxt?.value?.current)\n return false\n return satisfies(nuxt.value.current, range)\n })\n}\n\nfunction getPackageUpdate(name: string, options?: NpmCommandOptions) {\n const nuxt = useNuxtApp()\n const info = useAsyncState(`npm:check:${name}`, () => rpc.checkForUpdateFor(name))\n\n const state = ref<PackageUpdateState>('idle')\n\n const processId = ref<string | undefined>()\n\n // @ts-expect-error missing hooks type\n nuxt.hook('devtools:terminal:exit', ({ id, code }) => {\n // Compare against the tracked id value, not the ref object.\n if (!processId.value || id !== processId.value)\n return\n state.value = code === 0 ? 'updated' : 'idle'\n })\n\n async function update(confirm: (command: string) => Promise<boolean>) {\n if (state.value !== 'idle')\n return\n\n const command = await rpc.getNpmCommand('update', name, options)\n if (!command)\n return\n\n if (!await confirm(command.join(' ')))\n return\n\n state.value = 'running'\n\n processId.value = (await rpc.runNpmCommand('update', name, options))?.processId\n\n return processId.value\n }\n\n async function restart() {\n if (state.value !== 'updated')\n return\n await rpc.restartNuxt()\n }\n\n return {\n info,\n state,\n update,\n restart,\n processId,\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, withCtx as _withCtx, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, toDisplayString as _toDisplayString, createVNode as _createVNode, createCommentVNode as _createCommentVNode } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { AnalyzeBuildMeta } from '~/../src/types'\nimport { createTemplatePromise, formatTimeAgo } from '@vueuse/core'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { satisfyNuxtVersion } from '~/composables/npm'\nimport { rpc } from '~/composables/rpc'\nimport { useAnalyzeBuildInfo } from '~/composables/state'\nimport { registerCommands } from '~/composables/state-commands'\nimport { telemetry } from '~/composables/telemetry'\nimport { useSessionState } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'analyze-build',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-edge-node',\n title: 'Build Analyze',\n layout: 'full',\n category: 'analyze',\n show() {\n return satisfyNuxtVersion('^3.5.0')\n },\n})\n\nconst PromiseConfirm = createTemplatePromise<boolean>()\n\nconst info = useAnalyzeBuildInfo()\nconst slug = useSessionState<string>('analyze-build:slug', '')\n\nconst selected = computed(() => info.value?.builds.find(b => b.slug === slug.value) ?? info.value?.builds[0])\n\nconst shouldRevealTerminal = ref(false)\n\nconst buildNameInput = ref('')\nconst buildNameConflicted = computed(() => info.value?.builds.some(b => b.name === buildNameInput.value.trim()))\nasync function start() {\n buildNameInput.value = await rpc.generateAnalyzeBuildName()\n\n if (!await PromiseConfirm.start())\n return\n\n telemetry('analyze-build:start')\n\n // `startAnalyzeBuild` refreshes `getAnalyzeBuildInfo` as soon as the session\n // registers, so `info.isBuilding` / `info.activeSessionId` drive the UI. It\n // also returns the id so we can reveal the dock immediately.\n const sessionId = await rpc.startAnalyzeBuild(buildNameInput.value)\n if (shouldRevealTerminal.value)\n rpc.revealTerminal(sessionId)\n}\n\nfunction getDuration(build: AnalyzeBuildMeta) {\n return `${((build.endTime - build.startTime) / 1000).toFixed(1)}s`\n}\n\nfunction revealTerminal() {\n if (info.value?.activeSessionId)\n rpc.revealTerminal(info.value.activeSessionId)\n}\n\nregisterCommands(() => [\n {\n id: 'action:analyze-build: start',\n title: 'Start a new analyze build',\n icon: 'i-carbon-edge-node',\n action: start,\n },\n])\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSplitPane = _resolveComponent(\"NSplitPane\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_BuildAnalyzeDetails = _resolveComponent(\"BuildAnalyzeDetails\")!\n const _component_NPanelGrids = _resolveComponent(\"NPanelGrids\")!\n const _component_NDialog = _resolveComponent(\"NDialog\")!\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_NTip = _resolveComponent(\"NTip\")!\n const _component_NCodeBlock = _resolveComponent(\"NCodeBlock\")!\n const _component_NCheckbox = _resolveComponent(\"NCheckbox\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsAnalyzeBuild = _resolveComponent(\"DocsAnalyzeBuild\")!\n\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NSplitPane, { \"left-size\": 30 }, {\n left: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex=\"~ col\"${_scopeId}><!--[-->`)\n _ssrRenderList(_unref(info)?.builds, (build) => {\n _push(`<!--[--><button flex=\"~ col gap1\" p3 hover:bg-active class=\"${\n _ssrRenderClass(build.slug === selected.value?.slug ? 'text-primary bg-active' : '')\n }\"${\n _scopeId\n }><code${\n _scopeId\n }>${\n _ssrInterpolate(build.name)\n }</code><div flex=\"~ gap-1 items-center wrap\" w-full text-sm op60${\n _scopeId\n }><div i-carbon-time${\n _scopeId\n }></div><span${\n _scopeId\n }>${\n _ssrInterpolate(getDuration(build))\n }</span><div flex-auto${\n _scopeId\n }></div><span${\n _scopeId\n }>${\n _ssrInterpolate(_unref(formatTimeAgo)(new Date(build.endTime)))\n }</span></div></button><div x-divider${\n _scopeId\n }></div><!--]-->`)\n })\n _push(`<!--]--><div flex=\"~ items-center justify-center wrap\" p4${_scopeId}>`)\n if (!_unref(info)?.isBuilding) {\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"primary\",\n icon: \"carbon-edge-node\",\n onClick: ($event: any) => (start())\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Start a new build `)\n } else {\n return [\n _createTextVNode(\" Start a new build \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"primary\",\n icon: \"carbon-circle-dash animate-spin\",\n title: \"Open the output in the Terminals dock\",\n onClick: ($event: any) => (revealTerminal())\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Building... `)\n } else {\n return [\n _createTextVNode(\" Building... \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n }\n _push(`</div></div>`)\n } else {\n return [\n _createVNode(\"div\", { flex: \"~ col\" }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(info)?.builds, (build) => {\n return (_openBlock(), _createBlock(_Fragment, {\n key: build.slug\n }, [\n _createVNode(\"button\", {\n flex: \"~ col gap1\",\n p3: \"\",\n \"hover:bg-active\": \"\",\n class: build.slug === selected.value?.slug ? 'text-primary bg-active' : '',\n onClick: ($event: any) => (slug.value = build.slug)\n }, [\n _createVNode(\"code\", null, _toDisplayString(build.name), 1),\n _createVNode(\"div\", {\n flex: \"~ gap-1 items-center wrap\",\n \"w-full\": \"\",\n \"text-sm\": \"\",\n op60: \"\"\n }, [\n _createVNode(\"div\", { \"i-carbon-time\": \"\" }),\n _createVNode(\"span\", null, _toDisplayString(getDuration(build)), 1),\n _createVNode(\"div\", { \"flex-auto\": \"\" }),\n _createVNode(\"span\", null, _toDisplayString(_unref(formatTimeAgo)(new Date(build.endTime))), 1)\n ])\n ], 10, [\"onClick\"]),\n _createVNode(\"div\", { \"x-divider\": \"\" })\n ], 64))\n }), 128)),\n _createVNode(\"div\", {\n flex: \"~ items-center justify-center wrap\",\n p4: \"\"\n }, [\n (!_unref(info)?.isBuilding)\n ? (_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n n: \"primary\",\n icon: \"carbon-edge-node\",\n onClick: ($event: any) => (start())\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Start a new build \")\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : (_openBlock(), _createBlock(_component_NButton, {\n key: 1,\n n: \"primary\",\n icon: \"carbon-circle-dash animate-spin\",\n title: \"Open the output in the Terminals dock\",\n onClick: ($event: any) => (revealTerminal())\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Building... \")\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n ])\n ])\n ]\n }\n }),\n right: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n if (selected.value) {\n _push(_ssrRenderComponent(_component_BuildAnalyzeDetails, { current: selected.value }, null, _parent, _scopeId))\n } else {\n _push(_ssrRenderComponent(_component_NPanelGrids, null, null, _parent, _scopeId))\n }\n } else {\n return [\n (selected.value)\n ? (_openBlock(), _createBlock(_component_BuildAnalyzeDetails, {\n key: 0,\n current: selected.value\n }, null, 8, [\"current\"]))\n : (_openBlock(), _createBlock(_component_NPanelGrids, { key: 1 }))\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_unref(PromiseConfirm), null, {\n default: _withCtx(({ resolve }, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NDialog, {\n \"model-value\": true,\n onClose: ($event: any) => (resolve(false))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex=\"~ col gap-1\" w-250 p4${\n _scopeId\n }><h3 class=\"text-lg font-medium leading-6\" mb2${\n _scopeId\n }> Start analyze build? </h3><p op50${\n _scopeId\n }> Enter the name of the build: </p>`)\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: buildNameInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((buildNameInput).value = $event),\n placeholder: \"Build name\"\n }, null, _parent, _scopeId))\n if (buildNameConflicted.value) {\n _push(_ssrRenderComponent(_component_NTip, { \"n-orange\": \"\" }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` A build with the same name already exists, continue would overrides the previous build result. `)\n } else {\n return [\n _createTextVNode(\" A build with the same name already exists, continue would overrides the previous build result. \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`<div my3 x-divider${\n _scopeId\n }></div><p op50${\n _scopeId\n }> The following command will be executed in your terminal: </p>`)\n _push(_ssrRenderComponent(_component_NCodeBlock, {\n code: `npx nuxi analyze --no-serve --name=${buildNameInput.value}`,\n lang: \"bash\",\n px4: \"\",\n py2: \"\",\n border: \"~ base rounded\",\n lines: false\n }, null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NCheckbox, {\n modelValue: shouldRevealTerminal.value,\n \"onUpdate:modelValue\": ($event: any) => ((shouldRevealTerminal).value = $event),\n mt2: \"\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Open the Terminals dock `)\n } else {\n return [\n _createTextVNode(\" Open the Terminals dock \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`<div flex=\"~ gap-3\" mt2 justify-end${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NButton, {\n onClick: ($event: any) => (resolve(false))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Cancel `)\n } else {\n return [\n _createTextVNode(\" Cancel \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"solid primary\",\n onClick: ($event: any) => (resolve(true))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Start `)\n } else {\n return [\n _createTextVNode(\" Start \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</div></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n flex: \"~ col gap-1\",\n \"w-250\": \"\",\n p4: \"\"\n }, [\n _createVNode(\"h3\", {\n class: \"text-lg font-medium leading-6\",\n mb2: \"\"\n }, \" Start analyze build? \"),\n _createVNode(\"p\", { op50: \"\" }, \" Enter the name of the build: \"),\n _createVNode(_component_NTextInput, {\n modelValue: buildNameInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((buildNameInput).value = $event),\n placeholder: \"Build name\"\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n (buildNameConflicted.value)\n ? (_openBlock(), _createBlock(_component_NTip, {\n key: 0,\n \"n-orange\": \"\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" A build with the same name already exists, continue would overrides the previous build result. \")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n my3: \"\",\n \"x-divider\": \"\"\n }),\n _createVNode(\"p\", { op50: \"\" }, \" The following command will be executed in your terminal: \"),\n _createVNode(_component_NCodeBlock, {\n code: `npx nuxi analyze --no-serve --name=${buildNameInput.value}`,\n lang: \"bash\",\n px4: \"\",\n py2: \"\",\n border: \"~ base rounded\",\n lines: false\n }, null, 8, [\"code\"]),\n _createVNode(_component_NCheckbox, {\n modelValue: shouldRevealTerminal.value,\n \"onUpdate:modelValue\": ($event: any) => ((shouldRevealTerminal).value = $event),\n mt2: \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Open the Terminals dock \")\n ]),\n _: 1\n }, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _createVNode(\"div\", {\n flex: \"~ gap-3\",\n mt2: \"\",\n \"justify-end\": \"\"\n }, [\n _createVNode(_component_NButton, {\n onClick: ($event: any) => (resolve(false))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Cancel \")\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_NButton, {\n n: \"solid primary\",\n onClick: ($event: any) => (resolve(true))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Start \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NDialog, {\n \"model-value\": true,\n onClose: ($event: any) => (resolve(false))\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n flex: \"~ col gap-1\",\n \"w-250\": \"\",\n p4: \"\"\n }, [\n _createVNode(\"h3\", {\n class: \"text-lg font-medium leading-6\",\n mb2: \"\"\n }, \" Start analyze build? \"),\n _createVNode(\"p\", { op50: \"\" }, \" Enter the name of the build: \"),\n _createVNode(_component_NTextInput, {\n modelValue: buildNameInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((buildNameInput).value = $event),\n placeholder: \"Build name\"\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n (buildNameConflicted.value)\n ? (_openBlock(), _createBlock(_component_NTip, {\n key: 0,\n \"n-orange\": \"\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" A build with the same name already exists, continue would overrides the previous build result. \")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n my3: \"\",\n \"x-divider\": \"\"\n }),\n _createVNode(\"p\", { op50: \"\" }, \" The following command will be executed in your terminal: \"),\n _createVNode(_component_NCodeBlock, {\n code: `npx nuxi analyze --no-serve --name=${buildNameInput.value}`,\n lang: \"bash\",\n px4: \"\",\n py2: \"\",\n border: \"~ base rounded\",\n lines: false\n }, null, 8, [\"code\"]),\n _createVNode(_component_NCheckbox, {\n modelValue: shouldRevealTerminal.value,\n \"onUpdate:modelValue\": ($event: any) => ((shouldRevealTerminal).value = $event),\n mt2: \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Open the Terminals dock \")\n ]),\n _: 1\n }, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _createVNode(\"div\", {\n flex: \"~ gap-3\",\n mt2: \"\",\n \"justify-end\": \"\"\n }, [\n _createVNode(_component_NButton, {\n onClick: ($event: any) => (resolve(false))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Cancel \")\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_NButton, {\n n: \"solid primary\",\n onClick: ($event: any) => (resolve(true))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Start \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ]),\n _: 2\n }, 1032, [\"onClose\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsAnalyzeBuild, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsAnalyzeBuild)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport { parse as parseStrackTrace } from 'error-stack-parser-es'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'error',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'i-carbon-warning-alt-filled text-red',\n title: 'Error',\n category: 'app',\n show() {\n const client = useClient()\n return () => client.value?.nuxt?.payload?.error\n },\n})\n\nconst HTML_TAG_RE = /<.*?>/g\n\nconst client = useClient()\nconst error = computed(() => {\n // `NuxtError`'s shape no longer overlaps enough with this loose display\n // type for a direct cast; go through `unknown` as TS suggests.\n const err = client.value?.nuxt?.payload?.error as unknown as {\n url?: string\n statusCode?: number\n statusMessage?: string\n message?: string\n description?: string\n data?: any\n } & Error\n if (err) {\n console.error('[Nuxt DevTools] Error in payload:')\n console.error(err)\n console.error({ ...err })\n }\n return err\n})\n\nconst stacks = computed(() => {\n if (!error.value?.stack)\n return []\n try {\n // Nuxt server returns a HTML rendered stacktrace, workaround by removing all HTML tags\n if (error.value.stack.startsWith('<pre>')) {\n return parseStrackTrace({\n stack: error.value.stack.replace(HTML_TAG_RE, ''),\n } as any)\n }\n return parseStrackTrace(error.value)\n }\n catch (e) {\n console.error(e)\n return []\n }\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NTip = _resolveComponent(\"NTip\")!\n const _component_StacktraceList = _resolveComponent(\"StacktraceList\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({ p6: \"\" }, _attrs))}>`)\n if (error.value) {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_NTip, {\n n: \"red\",\n icon: \"i-carbon-warning-alt-filled\",\n mb5: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Error occurred in this page `)\n } else {\n return [\n _createTextVNode(\" Error occurred in this page \")\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<div text-6xl>${_ssrInterpolate(error.value.statusCode || 'Client Error')}</div>`)\n if (error.value.statusMessage) {\n _push(`<div op75>${_ssrInterpolate(error.value.statusMessage)}</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div my4 text-xl text-red>${_ssrInterpolate(error.value.message || error.value.description || 'Unknown error')}</div>`)\n if (stacks.value.length || error.value.stack) {\n _push(`<div of-auto rounded bg-active p2><div px1 op50> Stacktrace </div>`)\n if (stacks.value.length) {\n _push(_ssrRenderComponent(_component_StacktraceList, {\n px2: \"\",\n stacktrace: stacks.value\n }, null, _parent))\n } else {\n _push(`<pre>${_ssrInterpolate(error.value.stack)}</pre>`)\n }\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(`<div op50> No error </div>`)\n }\n _push(`</div>`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withCtx as _withCtx, withKeys as _withKeys, createVNode as _createVNode, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrGetDirectiveProps as _ssrGetDirectiveProps, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { NormalizedHeadTag } from '~/../src/types/ui-state'\nimport { computedAsync, until } from '@vueuse/core'\nimport { resolveTags } from 'unhead/utils'\nimport { computed, nextTick, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient, useClientHead, useClientRoute, useClientRouter } from '~/composables/client'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useMergedRouteList } from '~/composables/state'\nimport { ogTags } from '~/data/open-graph'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'open-graph',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon:image-search',\n title: 'Open Graph',\n layout: 'full',\n category: 'analyze',\n show: () => {\n const client = useClient()\n return () => !!client.value\n },\n})\n\nconst counter = ref(0)\nconst head = useClientHead()\n\nconst headTags = computedAsync(async () => {\n // eslint-disable-next-line ts/no-unused-expressions\n counter.value // for force refresh\n const tags = head.value ? resolveTags(head.value) : []\n return tags.map((tag): NormalizedHeadTag => {\n const props = tag.props || {}\n if (tag.tag === 'htmlAttrs' && props.lang) {\n return {\n tag: 'html',\n name: 'lang',\n value: props.lang,\n }\n }\n if (props.charset) {\n return {\n tag: 'meta',\n name: 'charset',\n value: props.charset,\n }\n }\n return {\n tag: tag.tag,\n name: props.property ?? props.name ?? props.rel ?? tag.tag,\n value: props.content ?? props.href ?? tag.textContent ?? JSON.stringify(props),\n }\n })\n}, [])\n\nconst showPreview = ref(true)\n\nfunction refresh() {\n counter.value += 1\n}\n\nconst router = useClientRouter()\nconst route = useClientRoute()\nconst routeInput = ref('')\nconst routes = useMergedRouteList()\nconst openInEditor = useOpenInEditor()\n\nasync function navigate() {\n if (routeInput.value !== route.value.path)\n router.value.push(routeInput.value || '/')\n}\n\nconst routeInputMatched = computed(() => {\n if (routeInput.value === route.value.path)\n return []\n return router.value.resolve(routeInput.value || '/').matched\n})\n\nconst routeMatchedFilePath = computed(() => {\n const matched = routes.value.find(i => i.path === route.value?.matched?.[0]?.path)\n return matched?.file || matched?.meta?.file as string\n})\n\nfunction getDocs(item: NormalizedHeadTag) {\n return ogTags.find(i => i.name === item.name)?.docs\n}\n\nuntil(route).toBeTruthy().then((v) => {\n routeInput.value = v.path\n})\n\nuntil(router).toBeTruthy().then((v) => {\n v.afterEach(() => {\n nextTick(() => {\n routeInput.value = route.value.path\n // try refresh after route change, to get async updates\n setTimeout(refresh, 200)\n setTimeout(refresh, 800)\n })\n })\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NNavbar = _resolveComponent(\"NNavbar\")!\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_NCard = _resolveComponent(\"NCard\")!\n const _component_NLink = _resolveComponent(\"NLink\")!\n const _component_OpenGraphMissingTabs = _resolveComponent(\"OpenGraphMissingTabs\")!\n const _component_SocialPreviewGroup = _resolveComponent(\"SocialPreviewGroup\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsOpenGraph = _resolveComponent(\"DocsOpenGraph\")!\n const _directive_tooltip = _resolveDirective(\"tooltip\")!\n\n _push(`<!--[--><div grid=\"~ lg:cols-2\" h-full w-full of-hidden><div flex-auto of-auto>`)\n _push(_ssrRenderComponent(_component_NNavbar, null, {\n search: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: routeInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((routeInput).value = $event),\n placeholder: \"Route\",\n icon: \"carbon-direction-right-01 scale-y--100\",\n n: \"primary\",\n \"flex-auto\": \"\",\n \"font-mono\": \"\",\n class: [\"px-5 py-2\", _unref(route)?.path === routeInput.value ? '' : routeInputMatched.value.length ? 'text-green' : 'text-orange' ],\n onKeydown: navigate\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NTextInput, {\n modelValue: routeInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((routeInput).value = $event),\n placeholder: \"Route\",\n icon: \"carbon-direction-right-01 scale-y--100\",\n n: \"primary\",\n \"flex-auto\": \"\",\n \"font-mono\": \"\",\n class: [\"px-5 py-2\", _unref(route)?.path === routeInput.value ? '' : routeInputMatched.value.length ? 'text-green' : 'text-orange' ],\n onKeydown: _withKeys(navigate, [\"enter\"])\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\"])\n ]\n }\n }),\n actions: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex-none flex=\"~ gap2 items-center\"${_scopeId}>`)\n if (routeMatchedFilePath.value) {\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:launch\",\n title: \"Open file in editor\",\n onClick: ($event: any) => (_unref(openInEditor)(routeMatchedFilePath.value))\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Open file in editor')), null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:reset\",\n title: \"Refresh Data\",\n onClick: refresh\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Refresh Data')), null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n border: false,\n icon: showPreview.value ? 'carbon:side-panel-open' : 'carbon:open-panel-right',\n title: \"Toggle Preview\",\n onClick: ($event: any) => (showPreview.value = !showPreview.value)\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Toggle Preview')), null, _parent, _scopeId))\n _push(`</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"flex-none\": \"\",\n flex: \"~ gap2 items-center\"\n }, [\n (routeMatchedFilePath.value)\n ? _withDirectives((_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:launch\",\n title: \"Open file in editor\",\n onClick: ($event: any) => (_unref(openInEditor)(routeMatchedFilePath.value))\n }, null, 8, [\"onClick\"])), [\n [_directive_tooltip, 'Open file in editor']\n ])\n : _createCommentVNode(\"\", true),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:reset\",\n title: \"Refresh Data\",\n onClick: refresh\n }, null, 512), [\n [_directive_tooltip, 'Refresh Data']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n border: false,\n icon: showPreview.value ? 'carbon:side-panel-open' : 'carbon:open-panel-right',\n title: \"Toggle Preview\",\n onClick: ($event: any) => (showPreview.value = !showPreview.value)\n }, null, 8, [\"icon\", \"onClick\"]), [\n [_directive_tooltip, 'Toggle Preview']\n ])\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<div flex=\"~ col\">`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n text: \"Tags\",\n icon: \"carbon:tag-group\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NCard, {\n grid: \"~ cols-[max-content_1fr]\",\n \"items-center\": \"\",\n \"justify-between\": \"\",\n \"of-hidden\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<!--[-->`)\n _ssrRenderList(_unref(headTags), (item, index) => {\n _push(`<!--[-->`)\n if (index) {\n _push(`<div x-divider${_scopeId}></div>`)\n } else {\n _push(`<!---->`)\n }\n if (index) {\n _push(`<div x-divider${_scopeId}></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div mr2 px4 py2${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NLink, {\n op50: \"\",\n href: getDocs(item),\n target: \"_blank\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`${_ssrInterpolate(item.name)}`)\n } else {\n return [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_NLink, {\n href: String(item.value).match(/^https?:\\/\\//) ? item.value : undefined,\n target: \"_blank\",\n \"w-full\": \"\",\n p2: \"\",\n \"font-mono\": \"\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`${_ssrInterpolate(item.value)}`)\n } else {\n return [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`<!--]-->`)\n })\n _push(`<!--]-->`)\n } else {\n return [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(headTags), (item, index) => {\n return (_openBlock(), _createBlock(_Fragment, { key: index }, [\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n mr2: \"\",\n px4: \"\",\n py2: \"\"\n }, [\n _createVNode(_component_NLink, {\n op50: \"\",\n href: getDocs(item),\n target: \"_blank\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ]),\n _createVNode(_component_NLink, {\n href: String(item.value).match(/^https?:\\/\\//) ? item.value : undefined,\n target: \"_blank\",\n \"w-full\": \"\",\n p2: \"\",\n \"font-mono\": \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ], 64))\n }), 128))\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NCard, {\n grid: \"~ cols-[max-content_1fr]\",\n \"items-center\": \"\",\n \"justify-between\": \"\",\n \"of-hidden\": \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(headTags), (item, index) => {\n return (_openBlock(), _createBlock(_Fragment, { key: index }, [\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n mr2: \"\",\n px4: \"\",\n py2: \"\"\n }, [\n _createVNode(_component_NLink, {\n op50: \"\",\n href: getDocs(item),\n target: \"_blank\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ]),\n _createVNode(_component_NLink, {\n href: String(item.value).match(/^https?:\\/\\//) ? item.value : undefined,\n target: \"_blank\",\n \"w-full\": \"\",\n p2: \"\",\n \"font-mono\": \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ], 64))\n }), 128))\n ]),\n _: 1\n })\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_OpenGraphMissingTabs, {\n tags: _unref(headTags),\n \"matched-route-filepath\": routeMatchedFilePath.value\n }, null, _parent))\n _push(`</div></div>`)\n if (showPreview.value && _unref(headTags)?.length) {\n _push(_ssrRenderComponent(_component_SocialPreviewGroup, {\n tags: _unref(headTags),\n \"flex-none\": \"\",\n \"border-base\": \"\",\n \"lt-lg\": \"border-t\",\n lg: \"h-full w-140 border-l\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsOpenGraph, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsOpenGraph)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport { computed, onMounted, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient, useClientRoute, useClientRouter } from '~/composables/client'\nimport { useLayouts, useMergedRouteList, useServerApp, useServerConfig } from '~/composables/state'\nimport { useNuxtCompatibilityVersion } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'pages',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-tree-view-alt',\n title: 'Pages',\n show: () => {\n const client = useClient()\n return () => !!client.value\n },\n order: 1,\n})\n\nconst router = useClientRouter()\nconst route = useClientRoute()\nconst config = useServerConfig()\nconst serverApp = useServerApp()\n\nconst layouts = useLayouts()\n\nconst routes = useMergedRouteList()\n\nconst middleware = computed(() => serverApp.value?.middleware || [])\nconst routeInput = ref('')\nconst count = ref(0)\n\nconst currentRoute = computed(() => {\n // Additionall reactivity tracker\n // eslint-disable-next-line ts/no-unused-expressions\n (middleware.value, routeInput.value, layouts.value, count.value)\n return router.value?.currentRoute?.value?.path\n})\n\nonMounted(() => {\n if (route.value)\n routeInput.value = router.value?.currentRoute?.value?.path\n\n router.value?.beforeEach((to) => {\n routeInput.value = to.fullPath\n })\n router.value?.afterEach((to) => {\n routeInput.value = to.fullPath\n })\n})\n\nasync function navigate() {\n if (routeInput.value !== router.value?.currentRoute?.value?.path)\n router.value.push(routeInput.value || '/')\n}\n\nconst routeInputMatched = computed(() => {\n return router.value.resolve(routeInput.value || '/').matched\n})\n\nfunction navigateToRoute(path: string) {\n router.value.push(path)\n routeInput.value = path\n}\n\nconst compatibilityVersion = useNuxtCompatibilityVersion()\n\nconst pagesPath = computed(() => `./${compatibilityVersion === 4 ? 'app/' : ''}pages/index.vue`)\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_RoutesTable = _resolveComponent(\"RoutesTable\")!\n const _component_NBadge = _resolveComponent(\"NBadge\")!\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n const _component_LaunchPage = _resolveComponent(\"LaunchPage\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsPages = _resolveComponent(\"DocsPages\")!\n\n _push(`<!--[-->`)\n if (_unref(config)?.pages && _unref(router)) {\n _push(`<div h-full of-auto><div border=\"b base\" flex=\"~ col gap1\" n-navbar-glass px4 py3><div>`)\n if (currentRoute.value !== routeInput.value) {\n _push(`<!--[--><span op50>Navigate from </span><span font-mono>${_ssrInterpolate(currentRoute.value)}</span><span op50> to </span><!--]-->`)\n } else {\n _push(`<span op50>Current route</span>`)\n }\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: routeInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((routeInput).value = $event),\n \"font-mono\": \"\",\n icon: \"carbon-direction-right-01 scale-y--100\",\n class: currentRoute.value === routeInput.value ? '' : routeInputMatched.value.length ? 'text-green' : 'text-orange',\n onKeydown: navigate\n }, null, _parent))\n _push(`<div>`)\n if (currentRoute.value !== routeInput.value) {\n _push(`<!--[--><span>Press <b font-bold>Enter</b> to navigate</span>`)\n if (!routeInputMatched.value.length) {\n _push(`<span text-orange op75> (no match)</span>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<!--]-->`)\n } else {\n _push(`<span op50>Edit path above to navigate</span>`)\n }\n _push(`</div></div>`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-tree-view\",\n text: \"Matched Routes\",\n padding: false\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div min-h-14${_scopeId}>`)\n if (routeInputMatched.value.length) {\n _push(_ssrRenderComponent(_component_RoutesTable, {\n pages: routeInputMatched.value,\n layouts: _unref(layouts) || [],\n matched: _unref(route).matched,\n \"matched-pending\": routeInputMatched.value,\n onNavigate: navigateToRoute\n }, null, _parent, _scopeId))\n } else {\n _push(`<div class=\"py-4 text-center\"${\n _scopeId\n }><span op50${\n _scopeId\n }>No routes matched</span></div>`)\n }\n _push(`</div>`)\n } else {\n return [\n _createVNode(\"div\", { \"min-h-14\": \"\" }, [\n (routeInputMatched.value.length)\n ? (_openBlock(), _createBlock(_component_RoutesTable, {\n key: 0,\n pages: routeInputMatched.value,\n layouts: _unref(layouts) || [],\n matched: _unref(route).matched,\n \"matched-pending\": routeInputMatched.value,\n onNavigate: navigateToRoute\n }, null, 8, [\"pages\", \"layouts\", \"matched\", \"matched-pending\"]))\n : (_openBlock(), _createBlock(\"div\", {\n key: 1,\n class: \"py-4 text-center\"\n }, [\n _createVNode(\"span\", { op50: \"\" }, \"No routes matched\")\n ]))\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-tree-view-alt\",\n text: \"All Routes\",\n description: `${_unref(routes).length} routes registered in your application`,\n padding: \"pr5\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_RoutesTable, {\n pages: _unref(routes),\n layouts: _unref(layouts) || [],\n matched: _unref(route).matched,\n \"matched-pending\": routeInputMatched.value,\n onNavigate: navigateToRoute\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_RoutesTable, {\n pages: _unref(routes),\n layouts: _unref(layouts) || [],\n matched: _unref(route).matched,\n \"matched-pending\": routeInputMatched.value,\n onNavigate: navigateToRoute\n }, null, 8, [\"pages\", \"layouts\", \"matched\", \"matched-pending\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n if (middleware.value.length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon:ibm-watson-studio\",\n text: \"Middleware\",\n description: `${middleware.value.length} middleware registered in your application`,\n padding: \"px13\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<table w-full${\n _scopeId\n }><thead border=\"b base\" h-7${\n _scopeId\n }><tr${\n _scopeId\n }><th text-left${\n _scopeId\n }> Name </th><th text-left${\n _scopeId\n }> Path </th></tr></thead><!--[-->`)\n _ssrRenderList(middleware.value, (m) => {\n _push(`<tr h-7${\n _scopeId\n }><td${\n _scopeId\n }><span mr1${\n _scopeId\n }>${\n _ssrInterpolate(m.name)\n }</span>`)\n if (m.global) {\n _push(_ssrRenderComponent(_component_NBadge, {\n n: \"green\",\n title: \"Registered at runtime as a global component\"\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`</td><td${_scopeId}>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: m.path\n }, null, _parent, _scopeId))\n _push(`</td></tr>`)\n })\n _push(`<!--]--></table>`)\n } else {\n return [\n _createVNode(\"table\", { \"w-full\": \"\" }, [\n _createVNode(\"thead\", {\n border: \"b base\",\n \"h-7\": \"\"\n }, [\n _createVNode(\"tr\", null, [\n _createVNode(\"th\", { \"text-left\": \"\" }, \" Name \"),\n _createVNode(\"th\", { \"text-left\": \"\" }, \" Path \")\n ])\n ]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(middleware.value, (m) => {\n return (_openBlock(), _createBlock(\"tr\", {\n key: m.path,\n \"h-7\": \"\"\n }, [\n _createVNode(\"td\", null, [\n _createVNode(\"span\", { mr1: \"\" }, _toDisplayString(m.name), 1),\n (m.global)\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 0,\n n: \"green\",\n title: \"Registered at runtime as a global component\",\n textContent: 'global'\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(\"td\", null, [\n _createVNode(_component_FilepathItem, {\n filepath: m.path\n }, null, 8, [\"filepath\"])\n ])\n ]))\n }), 128))\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(_ssrRenderComponent(_component_LaunchPage, {\n icon: \"carbon-tree-view-alt\",\n name: \"wizard-pages\",\n title: \"Nuxt Routing\",\n description: `Create ${pagesPath.value} to enable routing`,\n actions: [\n {\n label: 'Learn more',\n src: 'https://nuxt.com/docs/getting-started/routing',\n attrs: {\n n: 'primary',\n },\n },\n {\n label: 'Enable Routing',\n async handle() {\n return _ctx.rpc.enablePages()\n },\n },\n ]\n }, null, _parent))\n }\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsPages, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsPages)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrGetDirectiveProps as _ssrGetDirectiveProps } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'payload',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-data-set',\n title: 'Payload',\n category: 'analyze',\n show: () => {\n const client = useClient()\n return () => !!client.value\n },\n order: 7,\n})\n\nconst client = useClient()\nconst payload = computed(() => client.value?.nuxt.payload)\nconst revision = computed(() => client.value?.revision.value)\n\nasync function refreshData(keys?: string[]) {\n await client.value?.nuxt.hooks.callHookParallel('app:data:refresh', keys)\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_StateGroup = _resolveComponent(\"StateGroup\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_StateEditor = _resolveComponent(\"StateEditor\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsPayload = _resolveComponent(\"DocsPayload\")!\n const _directive_tooltip = _resolveDirective(\"tooltip\")!\n\n _push(`<!--[-->`)\n if (_unref(client)) {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-data-set\",\n text: \"State\",\n description: \"Keyed state from `useState`\",\n padding: false\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_StateGroup, {\n state: payload.value.state,\n revision: revision.value,\n prefix: \"$s\"\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_StateGroup, {\n state: payload.value.state,\n revision: revision.value,\n prefix: \"$s\"\n }, null, 8, [\"state\", \"revision\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-data-blob\",\n text: \"Data\",\n description: \"Keyed state from `useAsyncData`\",\n padding: false\n }, {\n actions: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs primary\",\n \"self-start\": \"\",\n icon: \"i-carbon-recycle\",\n onClick: ($event: any) => (refreshData())\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Re-fetch all data `)\n } else {\n return [\n _createTextVNode(\" Re-fetch all data \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NButton, {\n n: \"xs primary\",\n \"self-start\": \"\",\n icon: \"i-carbon-recycle\",\n onClick: ($event: any) => (refreshData())\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Re-fetch all data \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_StateGroup, {\n state: payload.value.data,\n revision: revision.value\n }, {\n actions: _withCtx(({ isOpen, name }, _push, _parent, _scopeId) => {\n if (_push) {\n if (isOpen && name) {\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n title: `Re-fetch '${name}'`,\n icon: \"carbon-recycle\",\n border: false,\n onClick: ($event: any) => (refreshData([name]))\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, `Re-fetch '${name}'`, void 0, { bottom: true })), null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n (isOpen && name)\n ? _withDirectives((_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n title: `Re-fetch '${name}'`,\n icon: \"carbon-recycle\",\n border: false,\n onClick: ($event: any) => (refreshData([name]))\n }, null, 8, [\"title\", \"onClick\"])), [\n [\n _directive_tooltip,\n `Re-fetch '${name}'`,\n void 0,\n { bottom: true }\n ]\n ])\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_StateGroup, {\n state: payload.value.data,\n revision: revision.value\n }, {\n actions: _withCtx(({ isOpen, name }) => [\n (isOpen && name)\n ? _withDirectives((_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n title: `Re-fetch '${name}'`,\n icon: \"carbon-recycle\",\n border: false,\n onClick: ($event: any) => (refreshData([name]))\n }, null, 8, [\"title\", \"onClick\"])), [\n [\n _directive_tooltip,\n `Re-fetch '${name}'`,\n void 0,\n { bottom: true }\n ]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"state\", \"revision\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n if (payload.value.functions && Object.keys(payload.value.functions).length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-function\",\n text: \"Functions\",\n description: \"State for functions\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_StateEditor, {\n \"ml--6\": \"\",\n state: payload.value.functions,\n revision: revision.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_StateEditor, {\n \"ml--6\": \"\",\n state: payload.value.functions,\n revision: revision.value\n }, null, 8, [\"state\", \"revision\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsPayload, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsPayload)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerRuntimeConfig } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'runtime-configs',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-settings-services',\n title: 'Runtime Configs',\n category: 'analyze',\n show: () => {\n const client = useClient()\n return () => !!client.value\n },\n order: 6,\n})\n\nconst client = useClient()\nconst runtimeConfig = useServerRuntimeConfig()\nconst payload = computed(() => client.value?.nuxt.payload)\nconst revision = computed(() => client.value?.revision.value)\n\nconst privateConfig = computed(() => {\n const clone = {\n ...runtimeConfig.value,\n }\n delete clone.public\n delete clone.app\n return clone\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_StateEditor = _resolveComponent(\"StateEditor\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsRuntimeConfigs = _resolveComponent(\"DocsRuntimeConfigs\")!\n\n _push(`<!--[-->`)\n if (_unref(client)) {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-settings-services\",\n text: \"App Config\",\n padding: false\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_StateEditor, {\n state: _unref(client).app.appConfig,\n revision: revision.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_StateEditor, {\n state: _unref(client).app.appConfig,\n revision: revision.value\n }, null, 8, [\"state\", \"revision\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-settings\",\n text: \"Public Runtime Config\",\n padding: false\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_StateEditor, {\n state: payload.value.config?.public,\n revision: revision.value\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_StateEditor, {\n state: payload.value.config?.public,\n revision: revision.value\n }, null, 8, [\"state\", \"revision\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"i-carbon-code-signing-service\",\n text: \"Private Runtime Config\",\n open: false,\n padding: false,\n description: \"These values are not exposed to the client. Readonly in the DevTools.\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_StateEditor, {\n state: privateConfig.value,\n revision: revision.value,\n readonly: \"\"\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_StateEditor, {\n state: privateConfig.value,\n revision: revision.value,\n readonly: \"\"\n }, null, 8, [\"state\", \"revision\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsRuntimeConfigs, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsRuntimeConfigs)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, KeepAlive as _KeepAlive } from \"vue\"\nimport { ssrGetDirectiveProps as _ssrGetDirectiveProps, ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { ServerRouteInfo } from '~/../../src/types'\nimport Fuse from 'fuse.js'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { ServerRouteTabIcons } from '~/composables/constants'\nimport { useServerRoutes } from '~/composables/state'\nimport { useCurrentServeRoute } from '~/composables/state-routes'\nimport { useDevToolsOptions } from '~/composables/storage-options'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'server-routes',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-cloud',\n title: 'Server Routes',\n layout: 'full',\n category: 'server',\n show() {\n const routes = useServerRoutes()\n return () => routes.value?.length\n },\n})\n\nconst NON_WORD_CHARS_RE = /\\W/g\n\nconst inputDefaultsDrawer = ref(false)\n\nconst serverRoutes = useServerRoutes()\nconst currentServerRoute = useCurrentServeRoute()\n\nconst { selectedRoute, view, inputDefaults } = useDevToolsOptions('serverRoutes')\n\nconst selected = computed(() => {\n if (!currentServerRoute.value && selectedRoute.value)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n currentServerRoute.value = selectedRoute.value.filepath\n\n const route = serverRoutes.value?.find(i => i.filepath === currentServerRoute.value)\n\n if (currentServerRoute.value !== selectedRoute.value?.filepath && route)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n selectedRoute.value = route\n\n return route\n})\n\nconst search = ref('')\nconst fuse = computed(() => new Fuse(serverRoutes.value || [], {\n keys: [\n 'method',\n 'route',\n ],\n shouldSort: true,\n}))\n\nconst filtered = computed(() => {\n const result = !serverRoutes.value\n ? []\n : !search.value\n ? serverRoutes.value\n : fuse.value.search(search.value).map(i => i.item)\n return result\n})\n\nconst filterByCollection = computed(() => {\n const collections: ServerRouteInfo[] = []\n\n const addRouteToCollection = (collection: ServerRouteInfo, route: ServerRouteInfo) => {\n collection.routes = collection.routes || []\n collection.routes.push(route)\n }\n\n const findOrCreateCollection = (routeName: string, parentCollection?: ServerRouteInfo) => {\n const existingCollection = parentCollection\n ? parentCollection.routes?.find(r => r.route === routeName)\n : collections.find(c => c.route === routeName)\n\n if (existingCollection)\n return existingCollection\n\n const newCollection: ServerRouteInfo = {\n route: routeName,\n filepath: routeName.replace(NON_WORD_CHARS_RE, '-').toLowerCase(),\n type: 'collection',\n routes: [],\n }\n\n if (parentCollection)\n addRouteToCollection(parentCollection, newCollection)\n\n else\n collections.push(newCollection)\n\n return newCollection\n }\n\n filtered.value.forEach((item) => {\n let prefix: string | undefined\n let parentCollection: ServerRouteInfo | undefined\n\n const filepathParts = item.filepath.split('/')\n const collectionNames = filepathParts.slice(filepathParts.indexOf('server') + 1)\n\n if (item.type === 'runtime') {\n collectionNames[0] = 'runtime'\n const indexOfDist = filepathParts.indexOf('dist')\n if (indexOfDist !== -1) {\n prefix = filepathParts[indexOfDist - 1]\n if (prefix)\n collectionNames.splice(1, 0, prefix)\n }\n }\n\n if (collectionNames.length > 0 && collectionNames.at(-1)!.includes('.'))\n collectionNames.pop()\n\n collectionNames.forEach((collectionName) => {\n parentCollection = findOrCreateCollection(collectionName, parentCollection)\n })\n\n if (parentCollection)\n addRouteToCollection(parentCollection, item)\n else\n collections.push(item)\n })\n\n return collections\n})\n\nfunction toggleView() {\n view.value = view.value === 'tree' ? 'list' : 'tree'\n}\n\nfunction capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSplitPane = _resolveComponent(\"NSplitPane\")!\n const _component_NNavbar = _resolveComponent(\"NNavbar\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_ServerRouteListItem = _resolveComponent(\"ServerRouteListItem\")!\n const _component_ServerRouteDetails = _resolveComponent(\"ServerRouteDetails\")!\n const _component_NPanelGrids = _resolveComponent(\"NPanelGrids\")!\n const _component_NCard = _resolveComponent(\"NCard\")!\n const _component_NDrawer = _resolveComponent(\"NDrawer\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_ServerRouteInputs = _resolveComponent(\"ServerRouteInputs\")!\n const _directive_tooltip = _resolveDirective(\"tooltip\")!\n\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NSplitPane, { \"storage-key\": \"tab-server-routes\" }, {\n left: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb2: \"\"\n }, {\n actions: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Toggle View')), null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Default Inputs')), null, _parent, _scopeId))\n } else {\n return [\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, null, 8, [\"icon\"]), [\n [_directive_tooltip, 'Toggle View']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, null, 8, [\"onClick\"]), [\n [_directive_tooltip, 'Default Inputs']\n ])\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex=\"~ gap1\" text-sm${_scopeId}>`)\n if (search.value) {\n _push(`<span op50${\n _scopeId\n }>${\n _ssrInterpolate(filtered.value.length)\n } matched · </span>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<span op50${\n _scopeId\n }>${\n _ssrInterpolate(_unref(serverRoutes)?.length)\n } routes in total</span></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n flex: \"~ gap1\",\n \"text-sm\": \"\"\n }, [\n (search.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n op50: \"\"\n }, _toDisplayString(filtered.value.length) + \" matched · \", 1))\n : _createCommentVNode(\"\", true),\n _createVNode(\"span\", { op50: \"\" }, _toDisplayString(_unref(serverRoutes)?.length) + \" routes in total\", 1)\n ])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<!--[-->`)\n _ssrRenderList(_unref(view) === 'tree' ? filterByCollection.value : filtered.value, (item) => {\n _push(_ssrRenderComponent(_component_ServerRouteListItem, {\n key: item.filepath,\n item: item\n }, null, _parent, _scopeId))\n })\n _push(`<!--]-->`)\n } else {\n return [\n _createVNode(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb2: \"\"\n }, {\n actions: _withCtx(() => [\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, null, 8, [\"icon\"]), [\n [_directive_tooltip, 'Toggle View']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, null, 8, [\"onClick\"]), [\n [_directive_tooltip, 'Default Inputs']\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", {\n flex: \"~ gap1\",\n \"text-sm\": \"\"\n }, [\n (search.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n op50: \"\"\n }, _toDisplayString(filtered.value.length) + \" matched · \", 1))\n : _createCommentVNode(\"\", true),\n _createVNode(\"span\", { op50: \"\" }, _toDisplayString(_unref(serverRoutes)?.length) + \" routes in total\", 1)\n ])\n ]),\n _: 1\n }, 8, [\"search\", \"onUpdate:search\"]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(view) === 'tree' ? filterByCollection.value : filtered.value, (item) => {\n return (_openBlock(), _createBlock(_component_ServerRouteListItem, {\n key: item.filepath,\n item: item\n }, null, 8, [\"item\"]))\n }), 128))\n ]\n }\n }),\n right: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(``)\n if (selected.value) {\n _push(_ssrRenderComponent(_component_ServerRouteDetails, {\n key: selected.value.filepath,\n route: selected.value,\n onOpenDefaultInput: ($event: any) => (inputDefaultsDrawer.value = true)\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (!selected.value) {\n _push(_ssrRenderComponent(_component_NPanelGrids, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NCard, {\n px6: \"\",\n py2: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<span op75${_scopeId}>Select a route to start</span>`)\n } else {\n return [\n _createVNode(\"span\", { op75: \"\" }, \"Select a route to start\")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NCard, {\n px6: \"\",\n py2: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", { op75: \"\" }, \"Select a route to start\")\n ]),\n _: 1\n })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n (_openBlock(), _createBlock(_KeepAlive, { max: 10 }, [\n (selected.value)\n ? (_openBlock(), _createBlock(_component_ServerRouteDetails, {\n key: selected.value.filepath,\n route: selected.value,\n onOpenDefaultInput: ($event: any) => (inputDefaultsDrawer.value = true)\n }, null, 8, [\"route\", \"onOpenDefaultInput\"]))\n : _createCommentVNode(\"\", true)\n ], 1024)),\n (!selected.value)\n ? (_openBlock(), _createBlock(_component_NPanelGrids, { key: 0 }, {\n default: _withCtx(() => [\n _createVNode(_component_NCard, {\n px6: \"\",\n py2: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", { op75: \"\" }, \"Select a route to start\")\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_NDrawer, {\n modelValue: inputDefaultsDrawer.value,\n \"onUpdate:modelValue\": ($event: any) => ((inputDefaultsDrawer).value = $event),\n \"auto-close\": \"\",\n \"max-w-xl\": \"\",\n \"min-w-xl\": \"\",\n onClose: ($event: any) => (inputDefaultsDrawer.value = false)\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div${\n _scopeId\n }><div p4 border=\"b base\"${\n _scopeId\n }><span text-lg${\n _scopeId\n }>Default Inputs</span><br${\n _scopeId\n }><span text-black op50 dark:text-white${\n _scopeId\n }>Merged as default for every request in DevTools</span></div><!--[-->`)\n _ssrRenderList(Object.keys(_unref(inputDefaults)), (tab) => {\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n key: tab,\n text: `${capitalize(tab)} ${_unref(inputDefaults)[tab]?.length ? `(${_unref(inputDefaults)[tab]!.length})` : ''}`,\n padding: false,\n icon: _unref(ServerRouteTabIcons)[tab]\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ServerRouteInputs, {\n modelValue: _unref(inputDefaults)[tab],\n \"onUpdate:modelValue\": ($event: any) => ((_unref(inputDefaults)[tab]) = $event),\n py0: \"\",\n default: { active: true, type: 'string' }\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ServerRouteInputs, {\n modelValue: _unref(inputDefaults)[tab],\n \"onUpdate:modelValue\": ($event: any) => ((_unref(inputDefaults)[tab]) = $event),\n py0: \"\",\n default: { active: true, type: 'string' }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n })\n _push(`<!--]--></div>`)\n } else {\n return [\n _createVNode(\"div\", null, [\n _createVNode(\"div\", {\n p4: \"\",\n border: \"b base\"\n }, [\n _createVNode(\"span\", { \"text-lg\": \"\" }, \"Default Inputs\"),\n _createVNode(\"br\"),\n _createVNode(\"span\", {\n \"text-black\": \"\",\n op50: \"\",\n \"dark:text-white\": \"\"\n }, \"Merged as default for every request in DevTools\")\n ]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(Object.keys(_unref(inputDefaults)), (tab) => {\n return (_openBlock(), _createBlock(_component_NSectionBlock, {\n key: tab,\n text: `${capitalize(tab)} ${_unref(inputDefaults)[tab]?.length ? `(${_unref(inputDefaults)[tab]!.length})` : ''}`,\n padding: false,\n icon: _unref(ServerRouteTabIcons)[tab]\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ServerRouteInputs, {\n modelValue: _unref(inputDefaults)[tab],\n \"onUpdate:modelValue\": ($event: any) => ((_unref(inputDefaults)[tab]) = $event),\n py0: \"\",\n default: { active: true, type: 'string' }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _: 2\n }, 1032, [\"text\", \"icon\"]))\n }), 128))\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, KeepAlive as _KeepAlive } from \"vue\"\nimport { ssrGetDirectiveProps as _ssrGetDirectiveProps, ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { ServerTaskInfo } from '~/../../src/types'\nimport Fuse from 'fuse.js'\nimport { computed, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport ServerTaskListItem from '~/components/ServerTaskListItem.vue'\nimport { ServerRouteTabIcons } from '~/composables/constants'\nimport { useServerTasks } from '~/composables/state'\nimport { useCurrentServerTask } from '~/composables/state-routes'\nimport { useDevToolsOptions } from '~/composables/storage-options'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'server-tasks',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'codicon-run-all',\n title: 'Server Tasks',\n layout: 'full',\n category: 'server',\n show() {\n const { enabled } = useDevToolsOptions('serverTasks')\n const serverTasks = useServerTasks()\n return () => {\n if (!enabled.value)\n return false\n\n return Object.keys(serverTasks.value?.tasks ?? {}).length\n }\n },\n})\n\nconst inputDefaultsDrawer = ref(false)\n\nconst serverTasks = useServerTasks()\nconst tasks = computed<ServerTaskInfo[]>(() => Object.keys(serverTasks.value?.tasks ?? {}).map(taskKey => ({\n name: taskKey,\n ...serverTasks.value!.tasks[taskKey]!,\n type: 'task',\n})))\n\nconst scheduledTasks = computed(() => {\n return Object\n .entries(serverTasks.value?.scheduledTasks ?? {})\n .map(([cron, tasks]) => ({ cron, tasks }))\n})\n\nconst currentServerTask = useCurrentServerTask()\n\nconst { view, selectedTask, inputDefaults } = useDevToolsOptions('serverTasks')\n\nconst selected = computed(() => {\n if (!currentServerTask.value && selectedTask.value)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n currentServerTask.value = selectedTask.value.name\n\n const task = tasks.value.find(i => i.name === currentServerTask.value)\n\n if (currentServerTask.value !== selectedTask.value?.name && task)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n selectedTask.value = task\n return task\n})\n\nconst search = ref('')\nconst fuse = computed(() => new Fuse(tasks.value, {\n keys: [\n 'key',\n 'description',\n ],\n shouldSort: true,\n}))\n\nconst filtered = computed(() => {\n const result = search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : tasks.value\n return result\n})\n\nconst filterByCollection = computed(() => {\n const collections: ServerTaskInfo[] = []\n\n const addTaskToCollection = (collection: ServerTaskInfo, route: ServerTaskInfo) => {\n collection.tasks ||= []\n collection.tasks.push(route)\n }\n\n const findOrCreateCollection = (taskName: string, parentCollection?: ServerTaskInfo) => {\n const existingCollection = parentCollection\n ? parentCollection.tasks?.find(t => t.name === taskName)\n : collections.find(c => c.name === taskName)\n\n if (existingCollection) {\n return {\n ...existingCollection,\n type: 'collection',\n } satisfies ServerTaskInfo\n }\n\n const newCollection: ServerTaskInfo = {\n name: taskName,\n handler: taskName,\n description: '',\n type: 'collection',\n tasks: [],\n }\n\n if (parentCollection)\n addTaskToCollection(parentCollection, newCollection)\n\n else\n collections.push(newCollection)\n\n return newCollection\n }\n\n filtered.value.forEach((item) => {\n let parentCollection: ServerTaskInfo | undefined\n const taskItem = {\n ...item,\n type: 'task',\n } satisfies ServerTaskInfo\n\n const taskParts = item.name.split(':')\n const collectionNames = taskParts.concat()\n\n if (collectionNames.length > 0 && collectionNames.at(-1)?.includes('.'))\n collectionNames.pop()\n\n collectionNames.forEach((collectionName) => {\n parentCollection = findOrCreateCollection(collectionName, parentCollection)\n })\n\n if (parentCollection)\n addTaskToCollection(parentCollection, taskItem)\n else\n collections.push(taskItem)\n })\n\n return collections\n})\n\nfunction toggleView() {\n view.value = view.value === 'tree' ? 'list' : 'tree'\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSplitPane = _resolveComponent(\"NSplitPane\")!\n const _component_NNavbar = _resolveComponent(\"NNavbar\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_CronCollection = _resolveComponent(\"CronCollection\")!\n const _component_ServerTaskDetails = _resolveComponent(\"ServerTaskDetails\")!\n const _component_NPanelGrids = _resolveComponent(\"NPanelGrids\")!\n const _component_NCard = _resolveComponent(\"NCard\")!\n const _component_NDrawer = _resolveComponent(\"NDrawer\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_ServerRouteInputs = _resolveComponent(\"ServerRouteInputs\")!\n const _directive_tooltip = _resolveDirective(\"tooltip\")!\n\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NSplitPane, { \"storage-key\": \"tab-server-tasks\" }, {\n left: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NSplitPane, {\n horizontal: \"\",\n \"storage-key\": \"tab-server-tasks-split\"\n }, {\n left: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb2: \"\"\n }, {\n actions: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Toggle View')), null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Default Inputs')), null, _parent, _scopeId))\n } else {\n return [\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, null, 8, [\"icon\"]), [\n [_directive_tooltip, 'Toggle View']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, null, 8, [\"onClick\"]), [\n [_directive_tooltip, 'Default Inputs']\n ])\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex=\"~ gap1\" text-sm${_scopeId}>`)\n if (search.value) {\n _push(`<span op50${\n _scopeId\n }>${\n _ssrInterpolate(filtered.value.length)\n } matched · </span>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<span op50${\n _scopeId\n }>${\n _ssrInterpolate(tasks.value?.length)\n } tasks in total</span></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n flex: \"~ gap1\",\n \"text-sm\": \"\"\n }, [\n (search.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n op50: \"\"\n }, _toDisplayString(filtered.value.length) + \" matched · \", 1))\n : _createCommentVNode(\"\", true),\n _createVNode(\"span\", { op50: \"\" }, _toDisplayString(tasks.value?.length) + \" tasks in total\", 1)\n ])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<!--[-->`)\n _ssrRenderList(_unref(view) === 'tree' ? filterByCollection.value : filtered.value, (item) => {\n _push(_ssrRenderComponent(ServerTaskListItem, {\n key: item.name,\n item: item\n }, null, _parent, _scopeId))\n })\n _push(`<!--]-->`)\n } else {\n return [\n _createVNode(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb2: \"\"\n }, {\n actions: _withCtx(() => [\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, null, 8, [\"icon\"]), [\n [_directive_tooltip, 'Toggle View']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, null, 8, [\"onClick\"]), [\n [_directive_tooltip, 'Default Inputs']\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", {\n flex: \"~ gap1\",\n \"text-sm\": \"\"\n }, [\n (search.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n op50: \"\"\n }, _toDisplayString(filtered.value.length) + \" matched · \", 1))\n : _createCommentVNode(\"\", true),\n _createVNode(\"span\", { op50: \"\" }, _toDisplayString(tasks.value?.length) + \" tasks in total\", 1)\n ])\n ]),\n _: 1\n }, 8, [\"search\", \"onUpdate:search\"]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(view) === 'tree' ? filterByCollection.value : filtered.value, (item) => {\n return (_openBlock(), _createBlock(ServerTaskListItem, {\n key: item.name,\n item: item\n }, null, 8, [\"item\"]))\n }), 128))\n ]\n }\n }),\n right: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div px4 py2 border=\"b base\"${\n _scopeId\n }> Cron groups </div><div${\n _scopeId\n }><ul${\n _scopeId\n }><!--[-->`)\n _ssrRenderList(scheduledTasks.value, (cronCollection) => {\n _push(`<li${_scopeId}>`)\n _push(_ssrRenderComponent(_component_CronCollection, { collection: cronCollection }, null, _parent, _scopeId))\n _push(`</li>`)\n })\n _push(`<!--]--></ul></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n px4: \"\",\n py2: \"\",\n border: \"b base\"\n }, \" Cron groups \"),\n _createVNode(\"div\", null, [\n _createVNode(\"ul\", null, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(scheduledTasks.value, (cronCollection) => {\n return (_openBlock(), _createBlock(\"li\", {\n key: cronCollection.cron\n }, [\n _createVNode(_component_CronCollection, { collection: cronCollection }, null, 8, [\"collection\"])\n ]))\n }), 128))\n ])\n ])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NSplitPane, {\n horizontal: \"\",\n \"storage-key\": \"tab-server-tasks-split\"\n }, {\n left: _withCtx(() => [\n _createVNode(_component_NNavbar, {\n search: search.value,\n \"onUpdate:search\": ($event: any) => ((search).value = $event),\n pb2: \"\"\n }, {\n actions: _withCtx(() => [\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: _unref(view) === 'list' ? 'i-carbon-list' : 'i-carbon-tree-view-alt',\n title: \"Toggle view\",\n border: false,\n onClick: toggleView\n }, null, 8, [\"icon\"]), [\n [_directive_tooltip, 'Toggle View']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n icon: \"i-carbon-cics-sit-overrides\",\n title: \"Default Inputs\",\n border: false,\n onClick: ($event: any) => (inputDefaultsDrawer.value = !inputDefaultsDrawer.value)\n }, null, 8, [\"onClick\"]), [\n [_directive_tooltip, 'Default Inputs']\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", {\n flex: \"~ gap1\",\n \"text-sm\": \"\"\n }, [\n (search.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n op50: \"\"\n }, _toDisplayString(filtered.value.length) + \" matched · \", 1))\n : _createCommentVNode(\"\", true),\n _createVNode(\"span\", { op50: \"\" }, _toDisplayString(tasks.value?.length) + \" tasks in total\", 1)\n ])\n ]),\n _: 1\n }, 8, [\"search\", \"onUpdate:search\"]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(view) === 'tree' ? filterByCollection.value : filtered.value, (item) => {\n return (_openBlock(), _createBlock(ServerTaskListItem, {\n key: item.name,\n item: item\n }, null, 8, [\"item\"]))\n }), 128))\n ]),\n right: _withCtx(() => [\n _createVNode(\"div\", {\n px4: \"\",\n py2: \"\",\n border: \"b base\"\n }, \" Cron groups \"),\n _createVNode(\"div\", null, [\n _createVNode(\"ul\", null, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(scheduledTasks.value, (cronCollection) => {\n return (_openBlock(), _createBlock(\"li\", {\n key: cronCollection.cron\n }, [\n _createVNode(_component_CronCollection, { collection: cronCollection }, null, 8, [\"collection\"])\n ]))\n }), 128))\n ])\n ])\n ]),\n _: 1\n })\n ]\n }\n }),\n right: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(``)\n if (selected.value) {\n _push(_ssrRenderComponent(_component_ServerTaskDetails, {\n key: selected.value.name,\n task: selected.value,\n onOpenDefaultInput: ($event: any) => (inputDefaultsDrawer.value = true)\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (!selected.value) {\n _push(_ssrRenderComponent(_component_NPanelGrids, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NCard, {\n px6: \"\",\n py2: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<span op75${_scopeId}>Select a task to start</span>`)\n } else {\n return [\n _createVNode(\"span\", { op75: \"\" }, \"Select a task to start\")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NCard, {\n px6: \"\",\n py2: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", { op75: \"\" }, \"Select a task to start\")\n ]),\n _: 1\n })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n (_openBlock(), _createBlock(_KeepAlive, { max: 10 }, [\n (selected.value)\n ? (_openBlock(), _createBlock(_component_ServerTaskDetails, {\n key: selected.value.name,\n task: selected.value,\n onOpenDefaultInput: ($event: any) => (inputDefaultsDrawer.value = true)\n }, null, 8, [\"task\", \"onOpenDefaultInput\"]))\n : _createCommentVNode(\"\", true)\n ], 1024)),\n (!selected.value)\n ? (_openBlock(), _createBlock(_component_NPanelGrids, { key: 0 }, {\n default: _withCtx(() => [\n _createVNode(_component_NCard, {\n px6: \"\",\n py2: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", { op75: \"\" }, \"Select a task to start\")\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_NDrawer, {\n modelValue: inputDefaultsDrawer.value,\n \"onUpdate:modelValue\": ($event: any) => ((inputDefaultsDrawer).value = $event),\n \"auto-close\": \"\",\n \"max-w-xl\": \"\",\n \"min-w-xl\": \"\",\n onClose: ($event: any) => (inputDefaultsDrawer.value = false)\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div${\n _scopeId\n }><div p4 border=\"b base\"${\n _scopeId\n }><span text-lg${\n _scopeId\n }>Default Inputs</span><br${\n _scopeId\n }><span text-white op50${\n _scopeId\n }>Merged as default for every task in DevTools</span></div>`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n text: `Query ${_unref(inputDefaults).query?.length ? `(${_unref(inputDefaults).query.length})` : ''}`,\n padding: false,\n icon: _unref(ServerRouteTabIcons).query\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_ServerRouteInputs, {\n modelValue: _unref(inputDefaults).query,\n \"onUpdate:modelValue\": ($event: any) => ((_unref(inputDefaults).query) = $event),\n py0: \"\",\n default: { active: true, type: 'string' }\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_ServerRouteInputs, {\n modelValue: _unref(inputDefaults).query,\n \"onUpdate:modelValue\": ($event: any) => ((_unref(inputDefaults).query) = $event),\n py0: \"\",\n default: { active: true, type: 'string' }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`</div>`)\n } else {\n return [\n _createVNode(\"div\", null, [\n _createVNode(\"div\", {\n p4: \"\",\n border: \"b base\"\n }, [\n _createVNode(\"span\", { \"text-lg\": \"\" }, \"Default Inputs\"),\n _createVNode(\"br\"),\n _createVNode(\"span\", {\n \"text-white\": \"\",\n op50: \"\"\n }, \"Merged as default for every task in DevTools\")\n ]),\n _createVNode(_component_NSectionBlock, {\n text: `Query ${_unref(inputDefaults).query?.length ? `(${_unref(inputDefaults).query.length})` : ''}`,\n padding: false,\n icon: _unref(ServerRouteTabIcons).query\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ServerRouteInputs, {\n modelValue: _unref(inputDefaults).query,\n \"onUpdate:modelValue\": ($event: any) => ((_unref(inputDefaults).query) = $event),\n py0: \"\",\n default: { active: true, type: 'string' }\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _: 1\n }, 8, [\"text\", \"icon\"])\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as analyze_45buildGc87N16xPfNBlo5_zdLjkWI0bZ4m2YEenLENrEHi4AMMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/analyze-build.vue?macro=true\";\nimport { default as errorqp6hfbDK5RQiXFjstq4n7k8rIX1xpq6WZk2tC7heoDsMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/error.vue?macro=true\";\nimport { default as open_45graphCPz1GL0x9TF0JytAOD_oLnwiQmPO3kl_yfMcRDeWKCUMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/open-graph.vue?macro=true\";\nimport { default as pagesSNkPDWIwILu0qD_FXXpNCsDztBFLU_UaN17jS43YK3oMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/pages.vue?macro=true\";\nimport { default as payloadCZoCIIdBqnZk70OS6GwdVtGCMDPF4ZQnPTmAMdXc0McMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/payload.vue?macro=true\";\nimport { default as runtime_45configscx5UlEt7gO6zFZD9L5DI61Yqo135pxIODc9Zuf1_xyYMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/runtime-configs.vue?macro=true\";\nimport { default as server_45routes5J5Mf4_xV2vDwcgulk4UqF_yG9pIkV0UqyfHMa2LVi0Meta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/server-routes.vue?macro=true\";\nimport { default as server_45tasksyXZ2yEieqLFwLsHgDLK9Xgewowmns3jlJ7C5H_LGAsQMeta } from \"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/server-tasks.vue?macro=true\";\nexport default [\n {\n name: \"modules-analyze-build\",\n path: \"/modules/analyze-build\",\n meta: { ...(analyze_45buildGc87N16xPfNBlo5_zdLjkWI0bZ4m2YEenLENrEHi4AMMeta || {}), ...{\"icon\":\"carbon-edge-node\",\"title\":\"Build Analyze\",\"layout\":\"full\",\"category\":\"analyze\"} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/analyze-build.vue\").then((m) => Object.assign(m.default, { __name: \"modules-analyze-build\" }))\n },\n {\n name: \"modules-assets\",\n path: \"/modules/assets\",\n meta: {\"icon\":\"carbon-image-copy\",\"title\":\"Assets\",\"layout\":\"full\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/assets.vue\").then((m) => Object.assign(m.default, { __name: \"modules-assets\" }))\n },\n {\n name: \"modules-components\",\n path: \"/modules/components\",\n meta: {\"icon\":\"i-carbon-assembly-cluster\",\"title\":\"Components\",\"order\":2},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/components.vue\").then((m) => Object.assign(m.default, { __name: \"modules-components\" }))\n },\n {\n name: \"modules-debug\",\n path: \"/modules/debug\",\n meta: {\"icon\":\"i-carbon-debug\",\"title\":\"Debug\",\"category\":\"advanced\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/debug.vue\").then((m) => Object.assign(m.default, { __name: \"modules-debug\" }))\n },\n {\n name: \"modules-error\",\n path: \"/modules/error\",\n meta: { ...(errorqp6hfbDK5RQiXFjstq4n7k8rIX1xpq6WZk2tC7heoDsMeta || {}), ...{\"icon\":\"i-carbon-warning-alt-filled text-red\",\"title\":\"Error\",\"category\":\"app\"} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/error.vue\").then((m) => Object.assign(m.default, { __name: \"modules-error\" }))\n },\n {\n name: \"modules-hooks\",\n path: \"/modules/hooks\",\n meta: {\"icon\":\"carbon-ibm-cloud-direct-link-2-connect\",\"title\":\"Hooks\",\"category\":\"advanced\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/hooks.vue\").then((m) => Object.assign(m.default, { __name: \"modules-hooks\" }))\n },\n {\n name: \"modules-imports\",\n path: \"/modules/imports\",\n meta: {\"icon\":\"carbon-function\",\"title\":\"Imports\",\"order\":4},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/imports.vue\").then((m) => Object.assign(m.default, { __name: \"modules-imports\" }))\n },\n {\n name: \"modules-modules\",\n path: \"/modules/modules\",\n meta: {\"icon\":\"carbon-3d-mpr-toggle\",\"title\":\"Modules\",\"order\":5},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/modules.vue\").then((m) => Object.assign(m.default, { __name: \"modules-modules\" }))\n },\n {\n name: \"modules-open-graph\",\n path: \"/modules/open-graph\",\n meta: { ...(open_45graphCPz1GL0x9TF0JytAOD_oLnwiQmPO3kl_yfMcRDeWKCUMeta || {}), ...{\"icon\":\"carbon:image-search\",\"title\":\"Open Graph\",\"layout\":\"full\",\"category\":\"analyze\"} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/open-graph.vue\").then((m) => Object.assign(m.default, { __name: \"modules-open-graph\" }))\n },\n {\n name: \"modules-overview\",\n path: \"/modules/overview\",\n meta: {\"icon\":\"carbon-information\",\"title\":\"Overview\",\"order\":-100},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/overview.vue\").then((m) => Object.assign(m.default, { __name: \"modules-overview\" }))\n },\n {\n name: \"modules-pages\",\n path: \"/modules/pages\",\n meta: { ...(pagesSNkPDWIwILu0qD_FXXpNCsDztBFLU_UaN17jS43YK3oMeta || {}), ...{\"icon\":\"carbon-tree-view-alt\",\"title\":\"Pages\",\"order\":1} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/pages.vue\").then((m) => Object.assign(m.default, { __name: \"modules-pages\" }))\n },\n {\n name: \"modules-payload\",\n path: \"/modules/payload\",\n meta: { ...(payloadCZoCIIdBqnZk70OS6GwdVtGCMDPF4ZQnPTmAMdXc0McMeta || {}), ...{\"icon\":\"carbon-data-set\",\"title\":\"Payload\",\"category\":\"analyze\",\"order\":7} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/payload.vue\").then((m) => Object.assign(m.default, { __name: \"modules-payload\" }))\n },\n {\n name: \"modules-plugins\",\n path: \"/modules/plugins\",\n meta: {\"icon\":\"carbon-plug\",\"title\":\"Plugins\",\"category\":\"analyze\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/plugins.vue\").then((m) => Object.assign(m.default, { __name: \"modules-plugins\" }))\n },\n {\n name: \"modules-runtime-configs\",\n path: \"/modules/runtime-configs\",\n meta: { ...(runtime_45configscx5UlEt7gO6zFZD9L5DI61Yqo135pxIODc9Zuf1_xyYMeta || {}), ...{\"icon\":\"carbon-settings-services\",\"title\":\"Runtime Configs\",\"category\":\"analyze\",\"order\":6} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/runtime-configs.vue\").then((m) => Object.assign(m.default, { __name: \"modules-runtime-configs\" }))\n },\n {\n name: \"modules-server-routes\",\n path: \"/modules/server-routes\",\n meta: { ...(server_45routes5J5Mf4_xV2vDwcgulk4UqF_yG9pIkV0UqyfHMa2LVi0Meta || {}), ...{\"icon\":\"carbon-cloud\",\"title\":\"Server Routes\",\"layout\":\"full\",\"category\":\"server\"} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/server-routes.vue\").then((m) => Object.assign(m.default, { __name: \"modules-server-routes\" }))\n },\n {\n name: \"modules-server-tasks\",\n path: \"/modules/server-tasks\",\n meta: { ...(server_45tasksyXZ2yEieqLFwLsHgDLK9Xgewowmns3jlJ7C5H_LGAsQMeta || {}), ...{\"icon\":\"codicon-run-all\",\"title\":\"Server Tasks\",\"layout\":\"full\",\"category\":\"server\"} },\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/server-tasks.vue\").then((m) => Object.assign(m.default, { __name: \"modules-server-tasks\" }))\n },\n {\n name: \"modules-storage\",\n path: \"/modules/storage\",\n meta: {\"icon\":\"carbon-data-base\",\"title\":\"Storage\",\"layout\":\"full\",\"category\":\"server\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/storage.vue\").then((m) => Object.assign(m.default, { __name: \"modules-storage\" }))\n },\n {\n name: \"modules-timeline\",\n path: \"/modules/timeline\",\n meta: {\"icon\":\"i-carbon-roadmap\",\"title\":\"Timeline\",\"category\":\"analyze\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/timeline.vue\").then((m) => Object.assign(m.default, { __name: \"modules-timeline\" }))\n },\n {\n name: \"modules-virtual-files\",\n path: \"/modules/virtual-files\",\n meta: {\"icon\":\"i-carbon-border-none\",\"title\":\"Virtual Files\",\"layout\":\"full\",\"category\":\"advanced\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/virtual-files.vue\").then((m) => Object.assign(m.default, { __name: \"modules-virtual-files\" }))\n },\n {\n name: \"modules-custom-name\",\n path: \"/modules/custom-:name()\",\n meta: {\"layout\":\"full\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/modules/custom-[name].vue\").then((m) => Object.assign(m.default, { __name: \"modules-custom-name\" }))\n },\n {\n name: \"__blank\",\n path: \"/__blank\",\n meta: {\"layout\":\"none\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/__blank.vue\").then((m) => Object.assign(m.default, { __name: \"__blank\" }))\n },\n {\n name: \"settings\",\n path: \"/settings\",\n meta: {\"layout\":\"full\"},\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/settings.vue\").then((m) => Object.assign(m.default, { __name: \"settings\" }))\n },\n {\n name: \"index\",\n path: \"/\",\n redirect: \"/modules/overview\",\n component: () => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/pages/index.vue\").then((m) => Object.assign(m.default, { __name: \"index\" }))\n }\n]","import { navigationDiagnostics } from \"../../../app/diagnostics/navigation.js\";\nimport { generateRouteKey, toArray } from \"../utils.js\";\nimport { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { pageIslandRoutes } from \"#build/components.islands.mjs\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nimport { navigateTo } from \"#app/composables/router\";\nimport { _showErrorUnlessCrawler, clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport { getRouteRules } from \"#app/composables/manifest\";\n//#region src/pages/runtime/plugins/router.ts\nconst PATH_TRAILING_SLASH_RE = /\\/(?=$|[?#])/;\nfunction createCurrentLocation(base, location, renderedPath) {\n\tconst { pathname, search, hash } = location;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tconst slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn withoutBase(pathFromHash, \"\");\n\t}\n\tconst displayedPath = withoutBase(pathname, base);\n\tconst path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n\treturn path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n\tname: \"nuxt:router\",\n\tenforce: \"pre\",\n\tasync setup(nuxtApp) {\n\t\tlet routerBase = useRuntimeConfig().app.baseURL;\n\t\tif (hashMode && !routerBase.includes(\"#\")) routerBase += \"#\";\n\t\tconst history = routerOptions.history?.(routerBase) ?? (false ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n\t\tconst routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n\t\tlet startPosition;\n\t\tconst router = createRouter({\n\t\t\t...routerOptions,\n\t\t\tscrollBehavior: (to, from, savedPosition) => {\n\t\t\t\tif (from === START_LOCATION) {\n\t\t\t\t\tstartPosition = savedPosition;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (routerOptions.scrollBehavior) {\n\t\t\t\t\trouter.options.scrollBehavior = routerOptions.scrollBehavior;\n\t\t\t\t\tif (\"scrollRestoration\" in window.history) {\n\t\t\t\t\t\tconst unsub = router.beforeEach(() => {\n\t\t\t\t\t\t\tunsub();\n\t\t\t\t\t\t\twindow.history.scrollRestoration = \"manual\";\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n\t\t\t\t}\n\t\t\t},\n\t\t\thistory,\n\t\t\troutes\n\t\t});\n\t\tif (import.meta.hot) handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes) => routes);\n\t\tif (false && \"scrollRestoration\" in window.history) window.history.scrollRestoration = \"auto\";\n\t\tnuxtApp.vueApp.use(router);\n\t\tconst previousRoute = shallowRef(router.currentRoute.value);\n\t\trouter.afterEach((_to, from) => {\n\t\t\tpreviousRoute.value = from;\n\t\t});\n\t\tObject.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", { get: () => previousRoute.value });\n\t\tconst initialURL = true ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n\t\tconst _route = shallowRef(router.currentRoute.value);\n\t\tconst syncCurrentRoute = () => {\n\t\t\t_route.value = router.currentRoute.value;\n\t\t};\n\t\trouter.afterEach((to, from) => {\n\t\t\tconst lastTo = to.matched.at(-1)?.components?.default;\n\t\t\tconst lastFrom = from.matched.at(-1)?.components?.default;\n\t\t\tif (lastTo === lastFrom) {\n\t\t\t\tif (generateRouteKey({\n\t\t\t\t\troute: to,\n\t\t\t\t\tComponent: { type: lastTo }\n\t\t\t\t}) === generateRouteKey({\n\t\t\t\t\troute: from,\n\t\t\t\t\tComponent: { type: lastFrom }\n\t\t\t\t})) syncCurrentRoute();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (to.matched.length < from.matched.length && to.matched.every((m, i) => m.components?.default === from.matched[i]?.components?.default)) syncCurrentRoute();\n\t\t});\n\t\tconst route = { sync: syncCurrentRoute };\n\t\tfor (const key in _route.value) Object.defineProperty(route, key, {\n\t\t\tget: () => _route.value[key],\n\t\t\tenumerable: true\n\t\t});\n\t\tnuxtApp._route = shallowReactive(route);\n\t\tnuxtApp._middleware ||= {\n\t\t\tglobal: [],\n\t\t\tnamed: {}\n\t\t};\n\t\tconst error = useError();\n\t\tconst isServerPage = true && nuxtApp.ssrContext?.islandContext?.name?.startsWith(\"page_\");\n\t\tif (false || !nuxtApp.ssrContext?.islandContext || isServerPage) router.afterEach(async (to, _from, failure) => {\n\t\t\tdelete nuxtApp._processingMiddleware;\n\t\t\tif (true) delete nuxtApp._middlewareTo;\n\t\t\tif (false && !nuxtApp.isHydrating && error.value) await nuxtApp.runWithContext(clearError);\n\t\t\tif (failure) await nuxtApp.callHook(\"page:loading:end\");\n\t\t\tif (true && failure?.type === 4) return;\n\t\t\tif (true && to.redirectedFrom && to.fullPath !== initialURL) await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n\t\t});\n\t\ttry {\n\t\t\tif (true) await router.push(initialURL);\n\t\t\tawait router.isReady();\n\t\t} catch (error) {\n\t\t\tawait _showErrorUnlessCrawler(nuxtApp, error);\n\t\t}\n\t\tconst resolvedInitialRoute = false && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n\t\tconst prePluginRoutePath = false ? router.currentRoute.value.fullPath : \"\";\n\t\tconst hasDeferredRoute = false && nuxtApp.isHydrating && nuxtApp.payload.prerenderedAt && nuxtApp.payload.path && initialURL.replace(PATH_TRAILING_SLASH_RE, \"\") !== nuxtApp.payload.path.replace(PATH_TRAILING_SLASH_RE, \"\") && isSamePath(router.currentRoute.value.path, nuxtApp.payload.path);\n\t\tsyncCurrentRoute();\n\t\tif (true && nuxtApp.ssrContext?.islandContext && !isServerPage) return { provide: { router } };\n\t\tfunction pushErroredRoute(to) {\n\t\t\tif (false && !nuxtApp.isHydrating && to.fullPath !== createCurrentLocation(routerBase, window.location)) history.push(to.fullPath);\n\t\t}\n\t\tif (false) router.beforeEach((to) => {\n\t\t\tif (nuxtApp.isHydrating) return;\n\t\t\tif (_routeRulesMatcher(to.path).noScripts) {\n\t\t\t\twindow.location.assign(router.resolve(to.fullPath).href);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tconst initialLayout = nuxtApp.payload.state._layout;\n\t\trouter.beforeEach(async (to, from) => {\n\t\t\tawait nuxtApp.callHook(\"page:loading:start\");\n\t\t\tto.meta = reactive(to.meta);\n\t\t\tif (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) to.meta.layout = initialLayout;\n\t\t\tnuxtApp._processingMiddleware = true;\n\t\t\tif (true) nuxtApp._middlewareTo = to;\n\t\t\tif (false || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n\t\t\t\tconst middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n\t\t\t\tfor (const component of to.matched) {\n\t\t\t\t\tconst componentMiddleware = component.meta.middleware;\n\t\t\t\t\tif (!componentMiddleware) continue;\n\t\t\t\t\tfor (const entry of toArray(componentMiddleware)) middlewareEntries.add(entry);\n\t\t\t\t}\n\t\t\t\tconst routeRules = getRouteRules({ path: to.path });\n\t\t\t\tif (routeRules.appMiddleware) for (const key in routeRules.appMiddleware) if (routeRules.appMiddleware[key]) middlewareEntries.add(key);\n\t\t\t\telse middlewareEntries.delete(key);\n\t\t\t\tfor (const entry of middlewareEntries) {\n\t\t\t\t\tconst middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n\t\t\t\t\tif (!middleware) throw navigationDiagnostics.NUXT_E2004({\n\t\t\t\t\t\tentry: String(entry),\n\t\t\t\t\t\tvalidMiddleware: false ? Object.keys(namedMiddleware) : void 0\n\t\t\t\t\t});\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (false) nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n\t\t\t\t\t\tconst result = await nuxtApp.runWithContext(() => middleware(to, from));\n\t\t\t\t\t\tif (true || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n\t\t\t\t\t\t\tif (result === false || result instanceof Error) {\n\t\t\t\t\t\t\t\tconst error = result || createError({\n\t\t\t\t\t\t\t\t\tstatus: 404,\n\t\t\t\t\t\t\t\t\tstatusText: `Page Not Found: ${initialURL}`\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tawait nuxtApp.runWithContext(() => showError(error));\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (result === true) continue;\n\t\t\t\t\t\tif (result === false) return result;\n\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\tif (isNuxtError(result) && result.fatal) {\n\t\t\t\t\t\t\t\tawait nuxtApp.runWithContext(() => showError(result));\n\t\t\t\t\t\t\t\tpushErroredRoute(to);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconst error = createError(err);\n\t\t\t\t\t\tif (error.fatal) {\n\t\t\t\t\t\t\tawait nuxtApp.runWithContext(() => showError(error));\n\t\t\t\t\t\t\tpushErroredRoute(to);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn error;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (isServerPage) router.beforeResolve((to) => {\n\t\t\tconst expected = pageIslandRoutes[nuxtApp.ssrContext.islandContext.name];\n\t\t\tconst actual = to.matched.find((m) => (m.components?.default)?.__nuxt_island)?.components?.default;\n\t\t\tif (!expected || expected !== actual?.__nuxt_island) {\n\t\t\t\tnuxtApp.ssrContext[\"~renderResponse\"] = new Response(null, {\n\t\t\t\t\tstatus: 400,\n\t\t\t\t\tstatusText: \"Invalid island request path\"\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\trouter.onError(async () => {\n\t\t\tdelete nuxtApp._processingMiddleware;\n\t\t\tif (true) delete nuxtApp._middlewareTo;\n\t\t\tawait nuxtApp.callHook(\"page:loading:end\");\n\t\t});\n\t\trouter.afterEach((to) => {\n\t\t\tif (to.matched.length === 0 && !error.value) return nuxtApp.runWithContext(() => showError(createError({\n\t\t\t\tstatus: 404,\n\t\t\t\tfatal: false,\n\t\t\t\tstatusText: `Page not found: ${to.fullPath}`,\n\t\t\t\tdata: { path: to.fullPath }\n\t\t\t})));\n\t\t});\n\t\tnuxtApp.hooks.hookOnce(\"app:created\", async () => {\n\t\t\ttry {\n\t\t\t\tif (\"name\" in resolvedInitialRoute) resolvedInitialRoute.name = void 0;\n\t\t\t\tif (false && router.currentRoute.value.fullPath !== prePluginRoutePath) {} else if (hasDeferredRoute) {\n\t\t\t\t\tconst payloadRoute = router.resolve(nuxtApp.payload.path);\n\t\t\t\t\tif (\"name\" in payloadRoute) payloadRoute.name = void 0;\n\t\t\t\t\tawait router.replace({\n\t\t\t\t\t\t...payloadRoute,\n\t\t\t\t\t\tforce: true\n\t\t\t\t\t});\n\t\t\t\t\tconst restoreDeferredRoute = () => {\n\t\t\t\t\t\tif (!nuxtApp[\"~restoreDeferredRoute\"]) return;\n\t\t\t\t\t\tnuxtApp[\"~restoreDeferredRoute\"] = void 0;\n\t\t\t\t\t\trouter.currentRoute.value = router.resolve(initialURL);\n\t\t\t\t\t\tsyncCurrentRoute();\n\t\t\t\t\t\trouter.replace({\n\t\t\t\t\t\t\t...resolvedInitialRoute,\n\t\t\t\t\t\t\tforce: true\n\t\t\t\t\t\t}).catch(() => {});\n\t\t\t\t\t};\n\t\t\t\t\tnuxtApp[\"~restoreDeferredRoute\"] = restoreDeferredRoute;\n\t\t\t\t\tnuxtApp.hooks.hookOnce(\"app:suspense:resolve\", restoreDeferredRoute);\n\t\t\t\t} else await router.replace({\n\t\t\t\t\t...resolvedInitialRoute,\n\t\t\t\t\tforce: true\n\t\t\t\t});\n\t\t\t\trouter.options.scrollBehavior = routerOptions.scrollBehavior;\n\t\t\t} catch (error) {\n\t\t\t\tawait _showErrorUnlessCrawler(nuxtApp, error);\n\t\t\t}\n\t\t});\n\t\treturn { provide: { router } };\n\t}\n});\n//#endregion\nexport { plugin as default };\n","import { isInComponentSetup, tryUseNuxtApp, useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useRoute } from \"./router.js\";\nimport { useHead as useHead$1 } from \"../../head/runtime/composables.js\";\nimport \"./head.js\";\nimport { stateDiagnostics } from \"../diagnostics/state.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { onServerPrefetch, reactive } from \"vue\";\nimport { appId, appManifest, multiApp, payloadExtraction } from \"#build/nuxt.config.mjs\";\nimport { hasProtocol, joinURL } from \"ufo\";\nimport { defineLink } from \"@unhead/vue\";\nimport { parse } from \"devalue\";\n//#region src/app/composables/payload.ts\n/** @since 3.0.0 */\nasync function loadPayload(url, opts = {}) {\n\tif (import.meta.server || !payloadExtraction) return null;\n\tif (await shouldLoadPayload(url)) return await _importPayload(await _getPayloadURL(url, opts), isCachedPayloadRoute(url) ? \"default\" : \"force-cache\") || null;\n\treturn null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n\tif (import.meta.server) return \"preload\";\n\tif (linkRelType) return linkRelType;\n\tconst relList = document.createElement(\"link\").relList;\n\tlinkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n\treturn linkRelType;\n}\n/** @since 3.0.0 */\nfunction preloadPayload(url, opts = {}) {\n\tconst nuxtApp = useNuxtApp();\n\tconst promise = shouldLoadPayload(url).then(async (shouldPreload) => {\n\t\tif (!shouldPreload) return;\n\t\tconst payloadURL = await _getPayloadURL(url, opts);\n\t\tconst rel = detectLinkRelType();\n\t\tconst link = defineLink({\n\t\t\trel,\n\t\t\tas: \"fetch\",\n\t\t\tcrossorigin: \"anonymous\",\n\t\t\thref: payloadURL\n\t\t});\n\t\tif (import.meta.server) nuxtApp.runWithContext(() => useHead$1({ link: [link] }));\n\t\telse {\n\t\t\tconst linkEl = document.createElement(\"link\");\n\t\t\tlinkEl.rel = rel;\n\t\t\tlinkEl.setAttribute(\"as\", \"fetch\");\n\t\t\tlinkEl.crossOrigin = \"anonymous\";\n\t\t\tlinkEl.href = payloadURL;\n\t\t\tdocument.head.appendChild(linkEl);\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst cleanup = () => {\n\t\t\t\t\tlinkEl.removeEventListener(\"load\", onLoad);\n\t\t\t\t\tlinkEl.removeEventListener(\"error\", onError);\n\t\t\t\t};\n\t\t\t\tconst onLoad = () => {\n\t\t\t\t\tcleanup();\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\t\t\t\tconst onError = () => {\n\t\t\t\t\tcleanup();\n\t\t\t\t\treject();\n\t\t\t\t};\n\t\t\t\tlinkEl.addEventListener(\"load\", onLoad);\n\t\t\t\tlinkEl.addEventListener(\"error\", onError);\n\t\t\t});\n\t\t}\n\t});\n\tif (import.meta.server) onServerPrefetch(() => promise);\n\treturn promise;\n}\nconst filename = \"_payload.json\";\nconst payloadBuildIdParam = \"_b\";\nasync function _getPayloadURL(url, opts = {}) {\n\tconst u = new URL(url, \"http://localhost\");\n\tif (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) throw stateDiagnostics.NUXT_E7001({ url });\n\tconst config = /* @__PURE__ */ useRuntimeConfig();\n\tconst hash = opts.hash || (opts.fresh || import.meta.dev ? Date.now() : config.app.buildId);\n\tconst cdnURL = config.app.cdnURL;\n\tconst baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n\tconst payloadURL = joinURL(baseOrCdnURL, u.pathname, filename);\n\tif (!isCachedPayloadRoute(url)) u.search = \"\";\n\tif (hash) u.searchParams.set(payloadBuildIdParam, String(hash));\n\treturn payloadURL + u.search;\n}\nasync function _importPayload(payloadURL, cache) {\n\tif (import.meta.server || !payloadExtraction) return null;\n\ttry {\n\t\tconst res = await fetch(payloadURL, import.meta.dev ? {} : { cache });\n\t\tif (!res.ok) {\n\t\t\tif (import.meta.dev) stateDiagnostics.NUXT_E7002({ url: payloadURL });\n\t\t\treturn null;\n\t\t}\n\t\treturn await parsePayload(await res.text());\n\t} catch (err) {\n\t\tstateDiagnostics.NUXT_E7002({\n\t\t\turl: payloadURL,\n\t\t\tcause: err\n\t\t});\n\t}\n\treturn null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n\tif (rules.redirect) return false;\n\tif (rules.prerender) return true;\n}\nfunction _getRoutePath(url) {\n\treturn new URL(url, \"http://localhost\").pathname;\n}\n/** @internal */\nfunction isCachedPayloadRoute(url) {\n\treturn !!getRouteRules({ path: _getRoutePath(url) }).payload;\n}\nasync function _isPrerenderedInManifest(url) {\n\tif (!appManifest) return false;\n\turl = _getRoutePath(url);\n\turl = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n\ttry {\n\t\treturn (await getAppManifest()).prerendered.includes(url);\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* @internal\n*/\nasync function shouldLoadPayload(url = useRoute().path) {\n\tconst rules = getRouteRules({ path: _getRoutePath(url) });\n\tif (rules.ssr === false) return false;\n\tconst res = _shouldLoadPrerenderedPayload(rules);\n\tif (res !== void 0) return res;\n\tif (rules.payload) return true;\n\treturn await _isPrerenderedInManifest(url);\n}\n/** @since 3.0.0 */\nasync function isPrerendered(url = useRoute().path) {\n\tconst res = _shouldLoadPrerenderedPayload(getRouteRules({ path: _getRoutePath(url) }));\n\tif (res !== void 0) return res;\n\treturn await _isPrerenderedInManifest(url);\n}\nlet payloadCache = null;\n/** @since 3.4.0 */\nasync function getNuxtClientPayload() {\n\tif (import.meta.server) return null;\n\tif (payloadCache) return payloadCache;\n\tconst el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n\tif (!el) return {};\n\tconst inlineData = await parsePayload(el.textContent || \"\");\n\tconst externalData = el.dataset.src ? await _importPayload(el.dataset.src, inlineData.prerenderedAt ? \"force-cache\" : \"no-cache\") : void 0;\n\tpayloadCache = {\n\t\t...inlineData,\n\t\t...externalData,\n\t\t...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n\t};\n\tif (payloadCache.config?.public) payloadCache.config.public = reactive(payloadCache.config.public);\n\treturn payloadCache;\n}\nasync function parsePayload(payload) {\n\treturn await parse(payload, useNuxtApp()._payloadRevivers);\n}\n/**\n* This is an experimental function for configuring passing rich data from server -> client.\n* @since 3.4.0\n*/\nfunction definePayloadReducer(name, reduce) {\n\tif (import.meta.server) useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n}\n/**\n* This is an experimental function for configuring passing rich data from server -> client.\n*\n* This function _must_ be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\n* @since 3.4.0\n*/\nfunction definePayloadReviver(name, revive) {\n\tif (import.meta.dev) {\n\t\tconst nuxtApp = tryUseNuxtApp();\n\t\tif (nuxtApp && isInComponentSetup(nuxtApp)) stateDiagnostics.NUXT_E7004();\n\t}\n\tif (import.meta.client) useNuxtApp()._payloadRevivers[name] = revive;\n}\n//#endregion\nexport { definePayloadReducer, definePayloadReviver, getNuxtClientPayload, isCachedPayloadRoute, isPrerendered, loadPayload, parsePayload, preloadPayload, shouldLoadPayload };\n","//#region src/app/plugins/utils.ts\nconst VALID_ISLAND_KEY_RE = /^[a-z][\\w-]*_[a-z\\d]+$/i;\nfunction isValidIslandKey(key) {\n\treturn typeof key === \"string\" && VALID_ISLAND_KEY_RE.test(key) && key.length <= 100;\n}\n//#endregion\nexport { isValidIslandKey };\n","import { defineNuxtPlugin } from \"../nuxt.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isValidIslandKey } from \"./utils.js\";\nimport { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\n//#region src/app/plugins/revive-payload.server.ts\n/** @internal */\nconst reducers = [\n\t[\"NuxtError\", (data) => {\n\t\tif (!isNuxtError(data) || typeof data.toJSON !== \"function\") return false;\n\t\treturn {\n\t\t\t...data.toJSON(),\n\t\t\t...data.fatal !== !!data.unhandled && { fatal: data.fatal },\n\t\t\t...import.meta.dev && data.stack && { stack: data.stack }\n\t\t};\n\t}],\n\t[\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n\t[\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n\t[\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n\t[\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n\t[\"Ref\", (data) => isRef(data) && data.value],\n\t[\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\nconst plugin = /* @__PURE__ */ defineNuxtPlugin({\n\tname: \"nuxt:revive-payload:server\",\n\tsetup() {\n\t\tfor (const [reducer, fn] of reducers) definePayloadReducer(reducer, fn);\n\t}\n});\n//#endregion\nexport { plugin as default, reducers };\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","import '@unocss/reset/tailwind.css'\nimport 'uno.css'\nimport { defineNuxtPlugin } from '#imports'; export default defineNuxtPlugin(() => {})","import FloatingVue from 'floating-vue'\nimport { defineNuxtPlugin } from '#imports'\n\nexport default defineNuxtPlugin((nuxtApp) => {\n nuxtApp.vueApp.use(FloatingVue)\n})\n","import type { NuxtDevtoolsHostClient } from '@nuxt/devtools-kit/types'\nimport { triggerRef } from 'vue'\nimport { defineNuxtPlugin, useRouter } from '#imports'\nimport { useClient } from '../composables/client'\nimport { rpc } from '../composables/rpc'\n\nexport default defineNuxtPlugin(() => {\n const client = useClient()\n const router = useRouter()\n\n function onUpdateReactivity() {\n triggerRef(client)\n client.value.revision.value += 1\n }\n\n function onInspectorClick(path: string) {\n rpc.openInEditor(path)\n }\n\n function setupClient(_client: NuxtDevtoolsHostClient) {\n if (client.value === _client)\n return\n\n client.value = _client\n\n _client.hooks.hook('host:update:reactivity', onUpdateReactivity)\n _client.hooks.hook('host:inspector:click', onInspectorClick)\n _client.hooks.hook('host:action:reload', () => location.reload())\n _client.hooks.hook('host:action:navigate', (path: string) => router.push(path))\n\n // eslint-disable-next-line no-console\n console.log('[nuxt-devtools] Client connected', _client)\n }\n\n function connectParent() {\n try {\n if (window.parent === window)\n return\n if (window.parent?.__NUXT_DEVTOOLS_HOST__) {\n setupClient(window.parent.__NUXT_DEVTOOLS_HOST__)\n }\n }\n catch (error) {\n console.error('[nuxt-devtools] Failed to connect parent', error)\n }\n }\n\n connectParent()\n setTimeout(connectParent, 1000)\n\n router.afterEach(() => {\n const path = router.currentRoute.value?.path\n if (!path || path.includes('__'))\n return\n client.value?.hooks.callHook('devtools:navigate', path)\n })\n})\n","let _devtoolsUiShowNotification: typeof devtoolsUiShowNotification\n\nexport type DevtoolsUiShowNotificationPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'\n\n/**\n * Severity of an ephemeral notification. Mirrors devframe's message levels; the\n * concrete implementation (provided by the Nuxt DevTools client) maps this onto\n * a devframe message so the toast picks up the matching color/icon.\n */\nexport type DevtoolsUiShowNotificationLevel = 'info' | 'warn' | 'error' | 'success' | 'debug'\n\nexport interface DevtoolsUiShowNotificationData {\n message: string\n icon?: string\n classes?: string\n /**\n * Severity of the notification. When omitted the implementation infers it\n * from `classes`/`icon` (best-effort), defaulting to `info`.\n */\n level?: DevtoolsUiShowNotificationLevel\n /**\n * Toast lifetime, in ms.\n *\n * @remarks Best-effort — the concrete implementation may forward this to the\n * host toast, which ultimately owns placement and timing.\n */\n duration?: number\n /**\n * @deprecated Placement is owned by the Vite DevTools chrome toast; this is a\n * no-op and kept only for backward compatibility.\n */\n position?: DevtoolsUiShowNotificationPosition\n}\n\n/**\n * Show an ephemeral toast notification.\n *\n * This is a thin proxy: the Nuxt DevTools client provides the concrete\n * implementation via {@link devtoolsUiProvideNotificationFn} at startup, which\n * routes the toast through the devframe Messages system. Fire-and-forget.\n */\nexport function devtoolsUiShowNotification(data: DevtoolsUiShowNotificationData) {\n _devtoolsUiShowNotification?.(data)\n}\n\nexport function devtoolsUiProvideNotificationFn(fn: typeof devtoolsUiShowNotification) {\n _devtoolsUiShowNotification = fn\n}\n","import type { NuxtDevtoolsNotifyInput } from '../../src/types'\nimport { defineNuxtPlugin, devtoolsUiProvideNotificationFn } from '#imports'\nimport { notify } from '../composables/notify'\n\n/** Default toast lifetime, in ms, when a caller does not specify a duration. */\nconst DEFAULT_TOAST_DURATION = 3000\n/** Extra time, in ms, the persistent entry lingers past the toast before it is auto-deleted. */\nconst ENTRY_LINGER = 2000\n\n/**\n * Best-effort severity inference for legacy `devtoolsUiShowNotification` callers\n * that convey intent through `classes`/`icon` rather than an explicit `level`.\n */\nfunction inferLevel(data: { level?: NuxtDevtoolsNotifyInput['level'], classes?: string, icon?: string }): NonNullable<NuxtDevtoolsNotifyInput['level']> {\n if (data.level)\n return data.level\n\n const hint = `${data.classes ?? ''} ${data.icon ?? ''}`\n if (/red|error|danger/.test(hint))\n return 'error'\n if (/orange|yellow|warn/.test(hint))\n return 'warn'\n if (/green|success|checkmark/.test(hint))\n return 'success'\n return 'info'\n}\n\n/**\n * Wire the Nuxt DevTools ephemeral toast onto the devframe Messages system.\n *\n * Registers the concrete implementation behind the UI kit's\n * `devtoolsUiShowNotification` proxy: every call becomes a toast-only devframe\n * message (`notify: true`, with `autoDismiss` + `autoDelete`) so ephemeral\n * feedback never builds up history in the Messages dock.\n */\nexport default defineNuxtPlugin(() => {\n devtoolsUiProvideNotificationFn((data) => {\n const duration = data.duration ?? DEFAULT_TOAST_DURATION\n void notify({\n message: data.message,\n level: inferLevel(data),\n notify: true,\n autoDismiss: duration,\n autoDelete: duration + ENTRY_LINGER,\n })\n })\n})\n","import { crawlLinks } from \"#build/nuxt.config.mjs\";\nimport { joinURL } from \"ufo\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { prerenderRoutes } from \"#app/composables/ssr\";\nimport _routes from \"#build/routes\";\n//#region src/pages/runtime/plugins/prerender.server.ts\nfunction routeRulesMatcher(path) {\n\treturn _routeRulesMatcher(path);\n}\nlet routes;\nconst plugin = defineNuxtPlugin(async () => {\n\tif (!true || !import.meta.prerender || hashMode) return;\n\tif (routes && !routes.length) return;\n\troutes ||= Array.from(processRoutes(await routerOptions.routes?.(_routes) ?? _routes));\n\tconst batch = routes.splice(0, 10);\n\tprerenderRoutes(batch);\n});\nconst OPTIONAL_PARAM_RE = /^\\/?:.*(?:\\?|\\(\\.\\*\\)\\*)$/;\nfunction shouldPrerender(path) {\n\treturn crawlLinks || !!routeRulesMatcher(path).prerender;\n}\nfunction processRoutes(routes, currentPath = \"/\", routesToPrerender = /* @__PURE__ */ new Set()) {\n\tfor (const route of routes) {\n\t\tif (OPTIONAL_PARAM_RE.test(route.path) && !route.children?.length && shouldPrerender(currentPath)) routesToPrerender.add(currentPath);\n\t\tif (route.path.includes(\":\")) continue;\n\t\tconst fullPath = joinURL(currentPath, route.path);\n\t\tif (shouldPrerender(fullPath)) routesToPrerender.add(fullPath);\n\t\tif (route.children) processRoutes(route.children, fullPath, routesToPrerender);\n\t}\n\treturn routesToPrerender;\n}\n//#endregion\nexport { plugin as default };\n","import unhead_server_hW4Qo03r9pnA6JL4I6qprJfvREkTqQ8I6xBBPkTgl88 from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/head/runtime/plugins/unhead.server.js\";\nimport router_IZDc35xyeqWXH9dZ_2kyqWDi3z3IncjSqBt3fGsAhgo from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_PKmGN7_sIFR9IR2SCYBZqy3vT396LomBUyeuLX_mzU0 from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/app/plugins/revive-payload.server.js\";\nimport components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8 from \"/home/runner/work/devtools/devtools/packages/devtools/client/node_modules/.cache/nuxt/.nuxt/components.plugin.mjs\";\nimport unocss_6Z4vW7S9aX_q2svWbGBc_X2b5QbQdkNmvzr_3kqqCd0 from \"/home/runner/work/devtools/devtools/packages/devtools/client/node_modules/.cache/nuxt/.nuxt/unocss.mjs\";\nimport floating_vue_IzZvwu4d0V2PmLzX5FM8OeN_n9KoM824GlcNgFB4ru0 from \"/home/runner/work/devtools/devtools/packages/devtools/client/plugins/floating-vue.ts\";\nimport global_KTLRXY_chdZgdxPza8UbtZxGaFYXNkRTEFux_ZeGU4M from \"/home/runner/work/devtools/devtools/packages/devtools/client/plugins/global.ts\";\nimport notification_39G7B0_YCmpNv_nt_nEo3ElsiXNgdEaT2rCDcQo_8tw from \"/home/runner/work/devtools/devtools/packages/devtools/client/plugins/notification.ts\";\nimport prerender_server_QSN9CpcXJJRZoNCqOlvFL8CN7IyMMFUewctVxomO91c from \"/home/runner/work/devtools/devtools/node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_957e8ef33542258853c773b09ad5865f/node_modules/nuxt-nightly/dist/pages/runtime/plugins/prerender.server.js\";\nexport default [\n unhead_server_hW4Qo03r9pnA6JL4I6qprJfvREkTqQ8I6xBBPkTgl88,\n router_IZDc35xyeqWXH9dZ_2kyqWDi3z3IncjSqBt3fGsAhgo,\n revive_payload_server_PKmGN7_sIFR9IR2SCYBZqy3vT396LomBUyeuLX_mzU0,\n components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8,\n unocss_6Z4vW7S9aX_q2svWbGBc_X2b5QbQdkNmvzr_3kqqCd0,\n floating_vue_IzZvwu4d0V2PmLzX5FM8OeN_n9KoM824GlcNgFB4ru0,\n global_KTLRXY_chdZgdxPza8UbtZxGaFYXNkRTEFux_ZeGU4M,\n notification_39G7B0_YCmpNv_nt_nEo3ElsiXNgdEaT2rCDcQo_8tw,\n prerender_server_QSN9CpcXJJRZoNCqOlvFL8CN7IyMMFUewctVxomO91c\n]","import { useNuxtApp } from \"../nuxt.js\";\nimport { getCurrentScope, onScopeDispose, shallowReadonly, shallowRef } from \"vue\";\n//#region src/app/composables/loading-indicator.ts\nfunction defaultEstimatedProgress(duration, elapsed) {\n\tconst completionPercentage = elapsed / duration * 100;\n\treturn 2 / Math.PI * 100 * Math.atan(completionPercentage / 50);\n}\nfunction createLoadingIndicator(opts = {}) {\n\tconst { duration = 2e3, throttle = 200, hideDelay = 500, resetDelay = 400 } = opts;\n\tconst getProgress = opts.estimatedProgress || defaultEstimatedProgress;\n\tconst nuxtApp = useNuxtApp();\n\tconst progress = shallowRef(0);\n\tconst isLoading = shallowRef(false);\n\tconst error = shallowRef(false);\n\tlet done = false;\n\tlet rafId;\n\tlet throttleTimeout;\n\tlet hideTimeout;\n\tlet resetTimeout;\n\tconst start = (opts = {}) => {\n\t\t_clearTimeouts();\n\t\terror.value = false;\n\t\tset(0, opts);\n\t};\n\tfunction set(at = 0, opts = {}) {\n\t\tif (nuxtApp.isHydrating) return;\n\t\tif (at >= 100) return finish({ force: opts.force });\n\t\t_clearTimeouts();\n\t\tclear();\n\t\tprogress.value = at < 0 ? 0 : at;\n\t\tconst throttleTime = opts.force ? 0 : throttle;\n\t\tif (throttleTime && import.meta.client) throttleTimeout = setTimeout(() => {\n\t\t\tisLoading.value = true;\n\t\t\t_startProgress();\n\t\t}, throttleTime);\n\t\telse {\n\t\t\tisLoading.value = true;\n\t\t\t_startProgress();\n\t\t}\n\t}\n\tfunction _hide() {\n\t\tif (import.meta.client) hideTimeout = setTimeout(() => {\n\t\t\tisLoading.value = false;\n\t\t\tresetTimeout = setTimeout(() => {\n\t\t\t\tprogress.value = 0;\n\t\t\t}, resetDelay);\n\t\t}, hideDelay);\n\t}\n\tfunction finish(opts = {}) {\n\t\tprogress.value = 100;\n\t\tdone = true;\n\t\tclear();\n\t\t_clearTimeouts();\n\t\tif (opts.error) error.value = true;\n\t\tif (opts.force) {\n\t\t\tprogress.value = 0;\n\t\t\tisLoading.value = false;\n\t\t} else _hide();\n\t}\n\tfunction _clearTimeouts() {\n\t\tif (import.meta.client) {\n\t\t\tclearTimeout(hideTimeout);\n\t\t\tclearTimeout(resetTimeout);\n\t\t}\n\t}\n\tfunction clear() {\n\t\tif (import.meta.client) {\n\t\t\tclearTimeout(throttleTimeout);\n\t\t\tcancelAnimationFrame(rafId);\n\t\t}\n\t}\n\tfunction _startProgress() {\n\t\tdone = false;\n\t\tlet startTimeStamp;\n\t\tfunction step(timeStamp) {\n\t\t\tif (done) return;\n\t\t\tstartTimeStamp ??= timeStamp;\n\t\t\tconst elapsed = timeStamp - startTimeStamp;\n\t\t\tprogress.value = Math.max(0, Math.min(100, getProgress(duration, elapsed)));\n\t\t\tif (import.meta.client) rafId = requestAnimationFrame(step);\n\t\t}\n\t\tif (import.meta.client) rafId = requestAnimationFrame(step);\n\t}\n\tlet _cleanup = () => {};\n\tif (import.meta.client) {\n\t\tconst unsubLoadingStartHook = nuxtApp.hook(\"page:loading:start\", () => {\n\t\t\tstart();\n\t\t});\n\t\tconst unsubLoadingFinishHook = nuxtApp.hook(\"page:loading:end\", () => {\n\t\t\tfinish();\n\t\t});\n\t\tconst unsubError = nuxtApp.hook(\"vue:error\", () => finish({ error: true }));\n\t\t_cleanup = () => {\n\t\t\tunsubError();\n\t\t\tunsubLoadingStartHook();\n\t\t\tunsubLoadingFinishHook();\n\t\t\tclear();\n\t\t\t_clearTimeouts();\n\t\t};\n\t}\n\treturn {\n\t\t_cleanup,\n\t\tprogress: shallowReadonly(progress),\n\t\tisLoading: shallowReadonly(isLoading),\n\t\terror: shallowReadonly(error),\n\t\tstart,\n\t\tset,\n\t\tfinish,\n\t\tclear\n\t};\n}\n/**\n* composable to handle the loading state of the page\n* @since 3.9.0\n*/\nfunction useLoadingIndicator(opts = {}) {\n\tconst nuxtApp = useNuxtApp();\n\tconst indicator = nuxtApp._loadingIndicator ||= createLoadingIndicator(opts);\n\tif (import.meta.client && getCurrentScope()) {\n\t\tnuxtApp._loadingIndicatorDeps ||= 0;\n\t\tnuxtApp._loadingIndicatorDeps++;\n\t\tonScopeDispose(() => {\n\t\t\tnuxtApp._loadingIndicatorDeps--;\n\t\t\tif (nuxtApp._loadingIndicatorDeps === 0) {\n\t\t\t\tindicator._cleanup();\n\t\t\t\tdelete nuxtApp._loadingIndicator;\n\t\t\t}\n\t\t});\n\t}\n\treturn indicator;\n}\n//#endregion\nexport { useLoadingIndicator };\n","import { useLoadingIndicator } from \"../composables/loading-indicator.js\";\nimport { defineComponent, h } from \"vue\";\n//#region src/app/components/nuxt-loading-indicator.ts\nconst NuxtLoadingIndicator = defineComponent({\n\tname: \"NuxtLoadingIndicator\",\n\tprops: {\n\t\tthrottle: {\n\t\t\ttype: Number,\n\t\t\tdefault: 200\n\t\t},\n\t\tduration: {\n\t\t\ttype: Number,\n\t\t\tdefault: 2e3\n\t\t},\n\t\thideDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 500\n\t\t},\n\t\tresetDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 400\n\t\t},\n\t\theight: {\n\t\t\ttype: Number,\n\t\t\tdefault: 3\n\t\t},\n\t\tcolor: {\n\t\t\ttype: [String, Boolean],\n\t\t\tdefault: \"repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)\"\n\t\t},\n\t\terrorColor: {\n\t\t\ttype: String,\n\t\t\tdefault: \"repeating-linear-gradient(to right,#f87171 0%,#ef4444 100%)\"\n\t\t},\n\t\testimatedProgress: {\n\t\t\ttype: Function,\n\t\t\trequired: false\n\t\t}\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst { progress, isLoading, error, start, finish, clear } = useLoadingIndicator({\n\t\t\tduration: props.duration,\n\t\t\tthrottle: props.throttle,\n\t\t\thideDelay: props.hideDelay,\n\t\t\tresetDelay: props.resetDelay,\n\t\t\testimatedProgress: props.estimatedProgress\n\t\t});\n\t\texpose({\n\t\t\tprogress,\n\t\t\tisLoading,\n\t\t\terror,\n\t\t\tstart,\n\t\t\tfinish,\n\t\t\tclear\n\t\t});\n\t\treturn () => h(\"div\", {\n\t\t\tclass: \"nuxt-loading-indicator\",\n\t\t\tstyle: {\n\t\t\t\tposition: \"fixed\",\n\t\t\t\ttop: 0,\n\t\t\t\tright: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tpointerEvents: \"none\",\n\t\t\t\twidth: \"auto\",\n\t\t\t\theight: `${props.height}px`,\n\t\t\t\topacity: isLoading.value ? 1 : 0,\n\t\t\t\tbackground: error.value ? props.errorColor : props.color || void 0,\n\t\t\t\tbackgroundSize: `${progress.value > 0 ? 100 / progress.value * 100 : 0}% auto`,\n\t\t\t\ttransform: `scaleX(${progress.value}%)`,\n\t\t\t\ttransformOrigin: \"left\",\n\t\t\t\ttransition: \"transform 0.1s, height 0.4s, opacity 0.4s\",\n\t\t\t\tzIndex: 999999\n\t\t\t}\n\t\t}, slots);\n\t}\n});\n//#endregion\nexport { NuxtLoadingIndicator as default };\n","<template>\n <div class=\"n-loading n-panel-grids-center\">\n <div class=\"flex flex-col animate-pulse items-center text-lg\">\n <div class=\"i-carbon-circle-dash animate-spin text-4xl op50\" />\n <slot>\n Loading...\n </slot>\n </div>\n </div>\n</template>\n","import { LayoutSymbol } from \"../components/injections.js\";\nimport { useRoute } from \"./router.js\";\nimport { computed, inject, unref } from \"vue\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\n//#region src/app/composables/layout.ts\nfunction routeRulesMatcher(path) {\n\treturn _routeRulesMatcher(path);\n}\nfunction resolveLayoutName(route, name) {\n\treturn unref(name) ?? route?.meta.layout ?? routeRulesMatcher(route?.path ?? \"/\").appLayout ?? \"default\";\n}\n/**\n* Returns the layout rendered for the current route, resolved through the same chain as\n* `<NuxtLayout>` (page `layout` meta, then the route rules `appLayout`, then `default`).\n*\n* Within a rendered `<NuxtLayout>` it reflects the enclosing layout; outside of one it\n* returns the layout that would be resolved for the current route.\n* @since 4.5.0\n*/\nfunction useLayout() {\n\tconst injected = inject(LayoutSymbol, null);\n\tif (injected) return injected;\n\tconst route = useRoute();\n\treturn computed(() => resolveLayoutName(route));\n}\n//#endregion\nexport { resolveLayoutName, useLayout };\n","import { defineAsyncComponent } from 'vue'\nexport default {\n default: defineAsyncComponent(() => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/layouts/default.vue\").then(m => m.default || m)),\n full: defineAsyncComponent(() => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/layouts/full.vue\").then(m => m.default || m)),\n none: defineAsyncComponent(() => import(\"/home/runner/work/devtools/devtools/packages/devtools/client/layouts/none.vue\").then(m => m.default || m))\n}","import { useNuxtApp } from \"../nuxt.js\";\nimport { LayoutMetaSymbol, LayoutSymbol, PageRouteSymbol } from \"./injections.js\";\nimport { useRoute as useRoute$1, useRouter } from \"../composables/router.js\";\nimport { renderDiagnostics } from \"../diagnostics/render.js\";\nimport { _mergeTransitionProps, _wrapInTransition, isVaporSlot } from \"./utils.js\";\nimport { resolveLayoutName } from \"../composables/layout.js\";\nimport { Suspense, computed, defineComponent, h, inject, mergeProps, nextTick, onBeforeUnmount, onMounted, provide, shallowReactive, shallowRef, unref } from \"vue\";\nimport { appLayoutTransition, vapor } from \"#build/nuxt.config.mjs\";\nimport { useRoute } from \"#build/pages\";\nimport layouts from \"#build/layouts\";\n//#region src/app/components/nuxt-layout.ts\nconst LayoutLoader = defineComponent({\n\tname: \"LayoutLoader\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: String,\n\t\tlayoutProps: Object\n\t},\n\tsetup(props, context) {\n\t\treturn () => h(layouts[props.name], props.layoutProps, context.slots);\n\t}\n});\nvar nuxt_layout_default = defineComponent({\n\tname: \"NuxtLayout\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: [\n\t\t\t\tString,\n\t\t\t\tBoolean,\n\t\t\t\tObject\n\t\t\t],\n\t\t\tdefault: null\n\t\t},\n\t\tfallback: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null\n\t\t}\n\t},\n\tsetup(props, context) {\n\t\tconst nuxtApp = useNuxtApp();\n\t\tconst injectedRoute = inject(PageRouteSymbol);\n\t\tconst route = !injectedRoute || injectedRoute === useRoute$1() ? useRoute() : injectedRoute;\n\t\tconst layout = computed(() => {\n\t\t\tlet layout = resolveLayoutName(route, props.name);\n\t\t\tif (layout && !(layout in layouts)) {\n\t\t\t\tif (false && layout !== \"default\") renderDiagnostics.NUXT_E4001({\n\t\t\t\t\tlayout,\n\t\t\t\t\tavailable: Object.keys(layouts).join(\", \") || \"none\"\n\t\t\t\t});\n\t\t\t\tif (props.fallback) layout = unref(props.fallback);\n\t\t\t}\n\t\t\treturn layout;\n\t\t});\n\t\tprovide(LayoutSymbol, layout);\n\t\tconst resolveRouteLayout = (routeToCheck) => resolveLayoutName(routeToCheck, props.name);\n\t\tconst layoutRef = shallowRef();\n\t\tcontext.expose({ layoutRef });\n\t\tconst done = nuxtApp.deferHydration();\n\t\tif (false) {\n\t\t\tif (nuxtApp.isHydrating) {\n\t\t\t\tconst removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n\t\t\t\tconst removeGuard = useRouter().beforeEach(() => {\n\t\t\t\t\tremoveErrorHook();\n\t\t\t\t\tremoveGuard();\n\t\t\t\t});\n\t\t\t}\n\t\t\tonBeforeUnmount(() => {\n\t\t\t\tdone();\n\t\t\t});\n\t\t}\n\t\tif (false) nuxtApp._isNuxtLayoutUsed = true;\n\t\tlet lastLayout;\n\t\treturn () => {\n\t\t\tconst hasTransition = !!layout.value && layout.value in layouts && !!(route?.meta.layoutTransition ?? appLayoutTransition);\n\t\t\tconst transitionProps = hasTransition && _mergeTransitionProps([\n\t\t\t\troute?.meta.layoutTransition,\n\t\t\t\tappLayoutTransition,\n\t\t\t\t{\n\t\t\t\t\tonBeforeLeave() {\n\t\t\t\t\t\tnuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n\t\t\t\t\t\t\tnuxtApp[\"~transitionFinish\"] = resolve;\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tonAfterLeave() {\n\t\t\t\t\t\tnuxtApp[\"~transitionFinish\"]?.();\n\t\t\t\t\t\tdelete nuxtApp[\"~transitionFinish\"];\n\t\t\t\t\t\tdelete nuxtApp[\"~transitionPromise\"];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]);\n\t\t\tconst previouslyRenderedLayout = lastLayout;\n\t\t\tlastLayout = layout.value;\n\t\t\treturn _wrapInTransition(transitionProps, { default: () => h(Suspense, {\n\t\t\t\tsuspensible: true,\n\t\t\t\tonResolve: async () => {\n\t\t\t\t\tawait nextTick(done);\n\t\t\t\t}\n\t\t\t}, { default: () => h(LayoutProvider, {\n\t\t\t\tlayoutProps: mergeProps(context.attrs, route.meta.layoutProps ?? {}, { ref: layoutRef }),\n\t\t\t\tkey: layout.value || void 0,\n\t\t\t\tname: layout.value,\n\t\t\t\tshouldProvide: !props.name,\n\t\t\t\tresolveRouteLayout,\n\t\t\t\tisRenderingNewLayout: (name) => {\n\t\t\t\t\treturn name !== previouslyRenderedLayout && name === layout.value;\n\t\t\t\t},\n\t\t\t\thasTransition\n\t\t\t}, context.slots) }) }).default();\n\t\t};\n\t}\n});\nconst LayoutProvider = defineComponent({\n\tname: \"NuxtLayoutProvider\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: { type: [String, Boolean] },\n\t\tlayoutProps: { type: Object },\n\t\thasTransition: { type: Boolean },\n\t\tshouldProvide: { type: Boolean },\n\t\tisRenderingNewLayout: {\n\t\t\ttype: Function,\n\t\t\trequired: true\n\t\t},\n\t\tresolveRouteLayout: {\n\t\t\ttype: Function,\n\t\t\trequired: true\n\t\t}\n\t},\n\tsetup(props, context) {\n\t\tconst name = props.name;\n\t\tif (props.shouldProvide) provide(LayoutMetaSymbol, { isCurrent: (route) => name === false || name === props.resolveRouteLayout(route) });\n\t\tconst injectedRoute = inject(PageRouteSymbol);\n\t\tconst isNotWithinNuxtPage = injectedRoute && injectedRoute === useRoute$1();\n\t\tconst enclosingLayout = inject(LayoutMetaSymbol, null);\n\t\tif (isNotWithinNuxtPage) {\n\t\t\tconst vueRouterRoute = useRoute();\n\t\t\tconst reactiveChildRoute = {};\n\t\t\tfor (const _key in vueRouterRoute) {\n\t\t\t\tconst key = _key;\n\t\t\t\tObject.defineProperty(reactiveChildRoute, key, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: () => {\n\t\t\t\t\t\treturn props.isRenderingNewLayout(props.name) && (!enclosingLayout || enclosingLayout.isCurrent(vueRouterRoute)) ? vueRouterRoute[key] : injectedRoute[key];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tprovide(PageRouteSymbol, shallowReactive(reactiveChildRoute));\n\t\t}\n\t\tlet vnode;\n\t\tif (false && false) onMounted(() => {\n\t\t\tnextTick(() => {\n\t\t\t\tif (vapor && isVaporSlot(context.slots.default)) return;\n\t\t\t\tif ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n\t\t\t\t\tif (name) renderDiagnostics.NUXT_E4002({ name });\n\t\t\t\t\telse renderDiagnostics.NUXT_E4003();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn () => {\n\t\t\tif (!name || typeof name === \"string\" && !(name in layouts)) {\n\t\t\t\tif (false && false && props.hasTransition) {\n\t\t\t\t\tvnode = context.slots.default?.();\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t\treturn context.slots.default?.();\n\t\t\t}\n\t\t\tif (false && false && props.hasTransition) {\n\t\t\t\tvnode = h(LayoutLoader, {\n\t\t\t\t\tkey: name,\n\t\t\t\t\tlayoutProps: props.layoutProps,\n\t\t\t\t\tname\n\t\t\t\t}, context.slots);\n\t\t\t\treturn vnode;\n\t\t\t}\n\t\t\treturn h(LayoutLoader, {\n\t\t\t\tkey: name,\n\t\t\t\tlayoutProps: props.layoutProps,\n\t\t\t\tname\n\t\t\t}, context.slots);\n\t\t};\n\t}\n});\n//#endregion\nexport { nuxt_layout_default as default };\n","import { PageRouteSymbol } from \"./injections.js\";\nimport { renderDiagnostics } from \"../diagnostics/render.js\";\nimport { trackRenderedRecord } from \"../diagnostics/rendered-records.js\";\nimport { defineComponent, h, nextTick, onMounted, onUnmounted, provide, shallowReactive } from \"vue\";\n//#region src/app/components/route-provider.ts\nconst defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n\tname,\n\tprops: {\n\t\troute: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\tvnode: Object,\n\t\tvnodeRef: Object,\n\t\trenderKey: String,\n\t\ttrackRootNodes: Boolean,\n\t\trouteRecord: Object\n\t},\n\tsetup(props) {\n\t\tconst previousKey = props.renderKey;\n\t\tconst previousRoute = props.route;\n\t\tconst route = {};\n\t\tfor (const key in props.route) Object.defineProperty(route, key, {\n\t\t\tget: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n\t\t\tenumerable: true\n\t\t});\n\t\tprovide(PageRouteSymbol, shallowReactive(route));\n\t\tif (false && false) {\n\t\t\tconst record = props.routeRecord ?? props.route.matched.find((m) => m.components?.default === props.vnode?.type);\n\t\t\tif (record) onUnmounted(trackRenderedRecord(record));\n\t\t}\n\t\tlet vnode;\n\t\tif (false && false && props.trackRootNodes) onMounted(() => {\n\t\t\tnextTick(() => {\n\t\t\t\tif ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n\t\t\t\t\tconst filename = (vnode?.type)?.__file;\n\t\t\t\t\trenderDiagnostics.NUXT_E4004({ filename });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn () => {\n\t\t\tif (!props.vnode) return props.vnode;\n\t\t\tif (false && false) {\n\t\t\t\tvnode = h(props.vnode, { ref: props.vnodeRef });\n\t\t\t\treturn vnode;\n\t\t\t}\n\t\t\treturn h(props.vnode, { ref: props.vnodeRef });\n\t\t};\n\t}\n});\nconst RouteProvider = defineRouteProvider();\n//#endregion\nexport { RouteProvider, defineRouteProvider };\n","import { generateRouteKey, wrapInKeepAlive } from \"./utils.js\";\nimport { Fragment, Suspense, createCommentVNode, defineComponent, h, inject, isVNode, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { appKeepalive, appPageTransition } from \"#build/nuxt.config.mjs\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { RouterView } from \"vue-router\";\nimport { useRouter as useRouter$1 } from \"#app/composables/router\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"#app/components/utils\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\n//#region src/pages/runtime/page.ts\nconst _routeProviders = false ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nvar page_default = defineComponent({\n\tname: \"NuxtPage\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: { type: String },\n\t\ttransition: {\n\t\t\ttype: [Boolean, Object],\n\t\t\tdefault: void 0\n\t\t},\n\t\tkeepalive: {\n\t\t\ttype: [Boolean, Object],\n\t\t\tdefault: void 0\n\t\t},\n\t\troute: { type: Object },\n\t\tpageKey: {\n\t\t\ttype: [Function, String],\n\t\t\tdefault: null\n\t\t}\n\t},\n\tsetup(props, { attrs, slots, expose }) {\n\t\tconst nuxtApp = useNuxtApp();\n\t\tconst pageRef = ref();\n\t\tconst forkRoute = inject(PageRouteSymbol, null);\n\t\tconst keepAliveInclude = /* @__PURE__ */ new Set();\n\t\tlet previousPageKey;\n\t\texpose({ pageRef });\n\t\tconst _layoutMeta = inject(LayoutMetaSymbol, null);\n\t\tlet vnode;\n\t\tconst done = nuxtApp.deferHydration();\n\t\tlet isSuspensePending = false;\n\t\tlet hasResolvedOnce = false;\n\t\tlet pageStartPromise;\n\t\tlet suspenseKey = 0;\n\t\tif (false && nuxtApp.isHydrating) {\n\t\t\tconst removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n\t\t\tconst removeGuard = useRouter$1().beforeEach(() => {\n\t\t\t\tremoveErrorHook();\n\t\t\t\tremoveGuard();\n\t\t\t});\n\t\t}\n\t\tif (false && props.pageKey) watch(() => props.pageKey, (next, prev) => {\n\t\t\tif (next !== prev) nuxtApp.callHook(\"page:loading:start\");\n\t\t});\n\t\tif (false) nuxtApp._isNuxtPageUsed = true;\n\t\tlet pageLoadingEndHookAlreadyCalled = false;\n\t\tif (false) {\n\t\t\tconst unsub = useRouter$1().beforeResolve(() => {\n\t\t\t\tpageLoadingEndHookAlreadyCalled = false;\n\t\t\t});\n\t\t\tonBeforeUnmount(() => {\n\t\t\t\tunsub();\n\t\t\t\tdone();\n\t\t\t});\n\t\t}\n\t\treturn () => {\n\t\t\treturn h(RouterView, {\n\t\t\t\tname: props.name,\n\t\t\t\troute: props.route,\n\t\t\t\t...attrs\n\t\t\t}, { default: markStableSlot(true ? (routeProps) => {\n\t\t\t\treturn h(Suspense, { suspensible: true }, { default() {\n\t\t\t\t\treturn h(RouteProvider, {\n\t\t\t\t\t\tvnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n\t\t\t\t\t\troute: routeProps.route,\n\t\t\t\t\t\tvnodeRef: pageRef\n\t\t\t\t\t});\n\t\t\t\t} });\n\t\t\t} : (routeProps) => {\n\t\t\t\tconst isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n\t\t\t\tconst hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n\t\t\t\tif (!routeProps.Component) {\n\t\t\t\t\tif (vnode && !hasSameChildren && !isStaleVNode(vnode)) return vnode;\n\t\t\t\t\tdone();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (vnode && _layoutMeta && !isStaleVNode(vnode) && !_layoutMeta.isCurrent(routeProps.route)) return vnode;\n\t\t\t\tif (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n\t\t\t\t\tif ((hasSameChildren || vnode) && !isStaleVNode(vnode)) return vnode;\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst key = generateRouteKey(routeProps, props.pageKey);\n\t\t\t\tconst willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n\t\t\t\tif (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) nextTick(() => {\n\t\t\t\t\tif (!pageLoadingEndHookAlreadyCalled) {\n\t\t\t\t\t\tpageLoadingEndHookAlreadyCalled = true;\n\t\t\t\t\t\tnuxtApp.callHook(\"page:loading:end\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (isSuspensePending && previousPageKey !== key && hasResolvedOnce) suspenseKey++;\n\t\t\t\tpreviousPageKey = key;\n\t\t\t\tconst hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? appPageTransition);\n\t\t\t\tconst transitionProps = hasTransition && _mergeTransitionProps([\n\t\t\t\t\tprops.transition,\n\t\t\t\t\trouteProps.route.meta.pageTransition,\n\t\t\t\t\tappPageTransition,\n\t\t\t\t\t{ onAfterLeave() {\n\t\t\t\t\t\tnuxtApp[\"~transitionFinish\"]?.();\n\t\t\t\t\t\tdelete nuxtApp[\"~transitionFinish\"];\n\t\t\t\t\t\tdelete nuxtApp[\"~transitionPromise\"];\n\t\t\t\t\t\tnuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n\t\t\t\t\t} }\n\t\t\t\t]);\n\t\t\t\tconst routeKeepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? appKeepalive;\n\t\t\t\tconst routerComponentType = routeProps.Component.type;\n\t\t\t\tconst componentName = routerComponentType.name || routerComponentType.__name;\n\t\t\t\tif (routeProps.route.meta.keepalive && componentName) keepAliveInclude.add(componentName);\n\t\t\t\tlet keepaliveConfig;\n\t\t\t\tif (keepAliveInclude.size > 0 && props.keepalive == null && (!routeKeepaliveConfig || typeof routeKeepaliveConfig === \"object\" && routeKeepaliveConfig && routeKeepaliveConfig.include)) {\n\t\t\t\t\tconst baseConfig = typeof routeKeepaliveConfig === \"object\" && routeKeepaliveConfig ? { ...routeKeepaliveConfig } : {};\n\t\t\t\t\tconst existingInclude = baseConfig.include ? Array.isArray(baseConfig.include) ? baseConfig.include : [baseConfig.include] : [];\n\t\t\t\t\tkeepaliveConfig = {\n\t\t\t\t\t\t...baseConfig,\n\t\t\t\t\t\tinclude: Array.from(/* @__PURE__ */ new Set([...existingInclude, ...keepAliveInclude]))\n\t\t\t\t\t};\n\t\t\t\t} else keepaliveConfig = routeKeepaliveConfig;\n\t\t\t\tvnode = _wrapInTransition(hasTransition && transitionProps, wrapInKeepAlive(keepaliveConfig, h(Suspense, {\n\t\t\t\t\tkey: suspenseKey,\n\t\t\t\t\tsuspensible: true,\n\t\t\t\t\tonPending: () => {\n\t\t\t\t\t\tisSuspensePending = true;\n\t\t\t\t\t\tif (hasTransition && !nuxtApp[\"~transitionPromise\"]) nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n\t\t\t\t\t\t\tnuxtApp[\"~transitionFinish\"] = resolve;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpageStartPromise = nuxtApp.callHook(\"page:start\", routeProps.Component);\n\t\t\t\t\t},\n\t\t\t\t\tonResolve: async () => {\n\t\t\t\t\t\tisSuspensePending = false;\n\t\t\t\t\t\thasResolvedOnce = true;\n\t\t\t\t\t\tif (false && nuxtApp.isHydrating) nuxtApp[\"~restoreDeferredRoute\"]?.();\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait nextTick();\n\t\t\t\t\t\t\tnuxtApp._route.sync?.();\n\t\t\t\t\t\t\tawait pageStartPromise;\n\t\t\t\t\t\t\tawait nuxtApp.callHook(\"page:finish\", routeProps.Component);\n\t\t\t\t\t\t\tif (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n\t\t\t\t\t\t\t\tpageLoadingEndHookAlreadyCalled = true;\n\t\t\t\t\t\t\t\tawait nuxtApp.callHook(\"page:loading:end\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tdone();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, { default: () => {\n\t\t\t\t\tconst routeProviderProps = {\n\t\t\t\t\t\tkey: key || void 0,\n\t\t\t\t\t\tvnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n\t\t\t\t\t\troute: routeProps.route,\n\t\t\t\t\t\trenderKey: key || void 0,\n\t\t\t\t\t\ttrackRootNodes: hasTransition,\n\t\t\t\t\t\tvnodeRef: pageRef,\n\t\t\t\t\t\trouteRecord: false ? routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type) : void 0\n\t\t\t\t\t};\n\t\t\t\t\tif (!keepaliveConfig) return h(RouteProvider, routeProviderProps);\n\t\t\t\t\tconst routeProviderKey = false ? componentName : routerComponentType;\n\t\t\t\t\tlet PageRouteProvider = _routeProviders.get(routeProviderKey);\n\t\t\t\t\tif (!PageRouteProvider) {\n\t\t\t\t\t\tPageRouteProvider = defineRouteProvider(componentName);\n\t\t\t\t\t\t_routeProviders.set(routeProviderKey, PageRouteProvider);\n\t\t\t\t\t}\n\t\t\t\t\treturn h(PageRouteProvider, routeProviderProps);\n\t\t\t\t} }))).default();\n\t\t\t\treturn vnode;\n\t\t\t}) });\n\t\t};\n\t}\n});\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n\tif (!fork) return false;\n\tconst index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n\tif (index === -1) return false;\n\tconst newParents = newRoute.matched.slice(0, index).filter((m) => m.components?.default);\n\tif (!newParents.length) return false;\n\tconst forkParents = fork.matched.filter((m) => m.components?.default);\n\treturn newParents.some((c, i) => c.components?.default !== forkParents[i]?.components?.default) || Component && generateRouteKey({\n\t\troute: newRoute,\n\t\tComponent\n\t}) !== generateRouteKey({\n\t\troute: fork,\n\t\tComponent\n\t});\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n\tif (!fork) return false;\n\treturn newRoute.matched.findIndex((m) => m.components?.default === Component?.type) < newRoute.matched.length - 1;\n}\nfunction markStableSlot(fn) {\n\tconst wrapped = ((routeProps) => {\n\t\tconst result = fn(routeProps);\n\t\tif (Array.isArray(result)) return result;\n\t\tif (result == null || !isVNode(result)) return [createCommentVNode()];\n\t\treturn [result];\n\t});\n\twrapped._n = true;\n\treturn wrapped;\n}\nfunction normalizeSlot(slot, data) {\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\nfunction isStaleVNode(vnode) {\n\treturn !!vnode && (!!vnode.suspense?.isUnmounted || !!vnode.component?.isUnmounted);\n}\n//#endregion\nexport { page_default as default };\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, renderSlot as _renderSlot, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderSlot as _ssrRenderSlot, ssrRenderComponent as _ssrRenderComponent, ssrRenderStyle as _ssrRenderStyle, ssrRenderTeleport as _ssrRenderTeleport } from \"vue/server-renderer\"\n\nimport { onClickOutside, useVModel } from '@vueuse/core'\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap'\nimport { computed, nextTick, ref, watchEffect } from 'vue'\n\n\nconst __default__ = {\n inheritAttrs: false,\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n ...__default__,\n __name: 'NDialog',\n __ssrInlineRender: true,\n props: {\n modelValue: { type: Boolean, default: false },\n dim: { type: Boolean, default: true },\n autoClose: { type: Boolean, default: true }\n },\n emits: [\"close\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\n\nconst emit = __emit\n\nconst show = useVModel(props, 'modelValue', emit, { passive: true })\nconst card = ref(null)\nconst shown = ref(false)\n\nconst { activate, deactivate } = useFocusTrap(computed(() => card.value || document.body), { immediate: false })\n\nwatchEffect(\n () => {\n if (!shown.value && show.value)\n shown.value = true\n\n if (show.value && card.value)\n nextTick(activate)\n else\n deactivate()\n },\n)\n\nonClickOutside(card, () => {\n if (props.modelValue && props.autoClose) {\n show.value = false\n emit('close')\n }\n}, {\n ignore: ['a', 'button', 'summary'],\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NCard = _resolveComponent(\"NCard\")!\n\n if (shown.value) {\n _ssrRenderTeleport(_push, (_push) => {\n _push(`<div role=\"dialog\" aria-modal=\"true\" class=\"${\n _ssrRenderClass([[\n _unref(show) ? '' : 'op0 pointer-events-none visibility-none',\n ], \"fixed inset-0 z-100 flex items-center justify-center n-glass-effect n-transition\"])\n }\" style=\"${\n _ssrRenderStyle((_unref(show)) ? null : { display: \"none\" })\n }\"><div class=\"${\n _ssrRenderClass([[\n __props.dim ? 'glass-effect' : '',\n ], \"absolute inset-0 -z-1\"])\n }\"></div>`)\n _push(_ssrRenderComponent(_component_NCard, _mergeProps(_ctx.$attrs, {\n ref_key: \"card\",\n ref: card,\n class: \"max-h-screen of-auto\"\n }), {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent, _scopeId)\n } else {\n return [\n _renderSlot(_ctx.$slots, \"default\")\n ]\n }\n }),\n _: 3\n }, _parent))\n _push(`</div>`)\n }, \"body\", false, _parent)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { onClickOutside, useVModel } from '@vueuse/core'\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap'\nimport { computed, nextTick, ref, watchEffect } from 'vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: boolean\n dim?: boolean\n autoClose?: boolean\n }>(),\n {\n modelValue: false,\n dim: true,\n autoClose: true,\n },\n)\n\nconst emit = defineEmits<{\n (event: 'close'): void\n (event: 'update:modelValue', value: boolean): void\n}>()\n\nconst show = useVModel(props, 'modelValue', emit, { passive: true })\nconst card = ref(null)\nconst shown = ref(false)\n\nconst { activate, deactivate } = useFocusTrap(computed(() => card.value || document.body), { immediate: false })\n\nwatchEffect(\n () => {\n if (!shown.value && show.value)\n shown.value = true\n\n if (show.value && card.value)\n nextTick(activate)\n else\n deactivate()\n },\n)\n\nonClickOutside(card, () => {\n if (props.modelValue && props.autoClose) {\n show.value = false\n emit('close')\n }\n}, {\n ignore: ['a', 'button', 'summary'],\n})\n</script>\n\n<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n}\n</script>\n\n<template>\n <Teleport v-if=\"shown\" to=\"body\">\n <div\n v-show=\"show\"\n class=\"fixed inset-0 z-100 flex items-center justify-center n-glass-effect n-transition\"\n role=\"dialog\"\n aria-modal=\"true\"\n :class=\"[\n show ? '' : 'op0 pointer-events-none visibility-none',\n ]\"\n >\n <div\n class=\"absolute inset-0 -z-1\"\n :class=\"[\n dim ? 'glass-effect' : '',\n ]\"\n />\n <NCard v-bind=\"$attrs\" ref=\"card\" class=\"max-h-screen of-auto\">\n <slot />\n </NCard>\n </div>\n </Teleport>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderSlot as _ssrRenderSlot, ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrGetDynamicModelProps as _ssrGetDynamicModelProps } from \"vue/server-renderer\"\n\nimport { useVModel } from '@vueuse/core'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NTextInput',\n __ssrInlineRender: true,\n props: {\n modelValue: { default: '' },\n icon: {},\n placeholder: {},\n disabled: { type: Boolean },\n autofocus: { type: Boolean },\n autocomplete: {},\n readonly: { type: Boolean },\n type: { default: 'text' }\n },\n emits: [\"keydown\", \"keyup\", \"change\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\n\nconst emit = __emit\nconst input = useVModel(props, 'modelValue', emit, { passive: true })\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n let _temp0\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({ class: \"n-text-input flex flex items-center border n-border-base rounded n-bg-base py-1 pl-1 pr-2 focus-within:border-context focus-within:n-focus-base\" }, _attrs))}>`)\n _ssrRenderSlot(_ctx.$slots, \"icon\", {}, () => {\n if (__props.icon) {\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: __props.icon,\n class: \"ml-0.3em mr-0.1em text-1.1em op50\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n }, _push, _parent)\n _push(`<input${_ssrRenderAttrs((_temp0 = _mergeProps(_ctx.$props as any, { class: \"ml-0.4em w-full flex-auto n-bg-base !outline-none\" }), _mergeProps(_temp0, _ssrGetDynamicModelProps(_temp0, _unref(input)))))}></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: string | number\n icon?: string\n placeholder?: string\n disabled?: boolean\n autofocus?: boolean\n autocomplete?: string\n readonly?: boolean\n type?: string\n }>(),\n {\n modelValue: '',\n type: 'text',\n },\n)\n\nconst emit = defineEmits<{\n (name: 'keydown', event: KeyboardEvent): void\n (name: 'keyup', event: KeyboardEvent): void\n (name: 'change', event: Event): void\n}>()\nconst input = useVModel(props, 'modelValue', emit, { passive: true })\n</script>\n\n<template>\n <div class=\"n-text-input flex flex items-center border n-border-base rounded n-bg-base py-1 pl-1 pr-2 focus-within:border-context focus-within:n-focus-base\">\n <slot name=\"icon\">\n <NIcon v-if=\"icon\" :icon=\"icon\" class=\"ml-0.3em mr-0.1em text-1.1em op50\" />\n </slot>\n <input\n v-model=\"input\"\n v-bind=\"$props as any\"\n class=\"ml-0.4em w-full flex-auto n-bg-base !outline-none\"\n >\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'TabIcon',\n __ssrInlineRender: true,\n props: {\n icon: {},\n title: {},\n showTitle: { type: Boolean, default: true }\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n if (__props.icon && (__props.icon.startsWith('/') || __props.icon.match(/^https?:/))) {\n _push(`<img${_ssrRenderAttrs(_mergeProps({ style: {\n width: '1em',\n height: '1em',\n } }, _ctx.$attrs, {\n src: __props.icon,\n alt: __props.title\n }, _attrs))}>`)\n } else {\n _push(`<div${_ssrRenderAttrs(_mergeProps({ style: {\n width: '1em',\n height: '1em',\n } }, _ctx.$attrs, {\n class: __props.icon || 'carbon-bring-forward',\n title: __props.showTitle ? __props.title : undefined\n }, _attrs))}></div>`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nwithDefaults(defineProps<{\n icon?: string\n title?: string\n showTitle?: boolean\n}>(), {\n showTitle: true,\n})\n</script>\n\n<template>\n <img\n v-if=\"icon && (icon.startsWith('/') || icon.match(/^https?:/))\"\n :style=\"{\n width: '1em',\n height: '1em',\n }\"\n v-bind=\"$attrs\"\n :src=\"icon\"\n :alt=\"title\"\n >\n <div\n v-else\n :style=\"{\n width: '1em',\n height: '1em',\n }\"\n v-bind=\"$attrs\"\n :class=\"icon || 'carbon-bring-forward'\"\n :title=\"showTitle ? title : undefined\"\n />\n</template>\n","import type { PropType } from 'vue'\nimport { defineComponent, h, renderSlot } from 'vue'\nimport { NuxtLink } from '#components'\nimport NIcon from './NIcon.vue'\n\n// eslint-disable-next-line ts/no-unused-expressions\n'@unocss-include' // this is a trick to keep @unocss-include in the built file. esbuild treeshakes comments\nexport default defineComponent({\n name: 'NButton',\n props: {\n to: String,\n icon: String,\n border: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n type: {\n type: String as PropType<'submit' | 'reset' | 'button'>,\n default: 'button',\n },\n },\n setup(props, { attrs, slots }) {\n // eslint-disable-next-line ts/ban-ts-comment\n // @ts-ignore ignore types\n return () => h(props.to ? NuxtLink : 'button', {\n to: props.to,\n ...attrs,\n ...(!props.to && { type: props.type }),\n ...(props.disabled ? { disabled: true } : { tabindex: 0 }),\n class: [\n props.border ? 'n-button-base active:n-button-active focus-visible:n-focus-base hover:n-button-hover' : '',\n slots.default ? '' : 'n-icon-button',\n 'n-button n-transition n-disabled:n-disabled',\n ].join(' '),\n }, {\n default: () => [\n renderSlot(slots, 'icon', {}, () => props.icon\n ? [\n h(NIcon, {\n icon: props.icon,\n class: slots.default ? 'n-button-icon' : '',\n }),\n ]\n : []),\n renderSlot(slots, 'default'),\n ],\n })\n },\n})\n","import type { MaybeRefOrGetter } from 'vue'\nimport { randomStr } from '@antfu/utils'\nimport { computed, onUnmounted, reactive, toValue } from 'vue'\nimport { useRouter } from '#app/composables/router'\nimport { useEnabledTabs } from './state-tabs'\n\nexport interface CommandItem {\n id: string\n title: string\n description?: string\n icon?: string\n action: () => void | CommandItem[] | Promise<CommandItem[] | void>\n}\n\nconst registeredCommands = reactive(new Map<string, MaybeRefOrGetter<CommandItem[]>>())\n\nexport function useCommands() {\n const tabs = useEnabledTabs()\n const router = useRouter()\n\n const fixedCommands: CommandItem[] = [\n {\n id: 'fixed:settings',\n title: 'Settings',\n icon: 'carbon-settings-adjust',\n action: () => {\n router.push('/settings')\n },\n },\n {\n id: 'fixed:docs',\n title: 'Nuxt Documentations',\n icon: 'logos-nuxt-icon',\n action: () => {\n return getNuxtDocsCommands()\n },\n },\n ]\n\n const tabCommands = computed(() => tabs.value\n .map((i): CommandItem => {\n return {\n id: `tab:${i.name}`,\n title: i.title || i.name,\n icon: i.icon,\n action: () => {\n if ('onClick' in i && i.onClick)\n i.onClick()\n else\n router.push(('path' in i && i.path) ? i.path : `/modules/custom-${i.name}`)\n },\n }\n }))\n\n return computed(() => {\n return [\n ...fixedCommands,\n ...tabCommands.value,\n ...[...registeredCommands.values()]\n .flatMap(i => toValue(i)),\n ]\n })\n}\n\nexport function registerCommands(getter: MaybeRefOrGetter<CommandItem[]>) {\n const id = randomStr()\n\n registeredCommands.set(id, getter)\n\n onUnmounted(() => {\n registeredCommands.delete(id)\n })\n}\n\nlet _nuxtDocsCommands: CommandItem[] | undefined\n\nexport async function getNuxtDocsCommands() {\n if (!_nuxtDocsCommands) {\n // eslint-disable-next-line unimport/auto-insert\n const list = await $fetch<any[]>('https://nuxt.com/api/search.json', {\n query: {\n select: '_path,title,description,navigation',\n },\n })\n _nuxtDocsCommands = list.map(i => ({\n id: i._path,\n title: i.title,\n description: i.description,\n icon: i.navigation?.icon ?? 'i-carbon-document-multiple-01',\n action: () => {\n window.open(`https://nuxt.com/${i._path}`, '_blank')\n },\n }))\n }\n return _nuxtDocsCommands\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderClass as _ssrRenderClass, ssrRenderAttr as _ssrRenderAttr, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { CommandItem } from '~/composables/state-commands'\nimport { useEventListener } from '@vueuse/core'\nimport Fuse from 'fuse.js'\nimport { computed, ref, watch } from 'vue'\nimport { useCommands } from '~/composables/state-commands'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'CommandPalette',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst show = ref(false)\nconst search = ref('')\n\nconst rootItems = useCommands()\nconst overrideItems = ref<CommandItem[] | undefined>()\nconst items = computed(() => overrideItems.value || rootItems.value)\n\nconst fuse = computed(() => new Fuse(items.value, {\n keys: [\n 'id',\n 'title',\n ],\n distance: 50,\n}))\n\nconst filtered = computed(() => search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : (items.value || []))\n\nconst selectedIndex = ref(0)\n\nwatch(search, () => {\n selectedIndex.value = 0\n scrollToITem()\n})\n\nfunction moveSelected(delta: number) {\n selectedIndex.value = ((selectedIndex.value + delta) + filtered.value.length) % filtered.value.length\n scrollToITem()\n}\n\nfunction scrollToITem() {\n const id = filtered.value[selectedIndex.value]?.id\n if (!id)\n return\n\n const item = document.getElementById(id)\n item?.scrollIntoView({\n block: 'center',\n })\n}\n\nasync function enterItem(item: CommandItem) {\n const result = await item.action()\n if (!result) {\n overrideItems.value = undefined\n search.value = ''\n show.value = false\n }\n else {\n overrideItems.value = result\n search.value = ''\n }\n}\n\nuseEventListener('keydown', (e) => {\n if ((e.ctrlKey || e.metaKey) && e.key === 'k') {\n e.preventDefault()\n overrideItems.value = undefined\n search.value = ''\n show.value = !show.value\n return\n }\n\n if (!show.value)\n return\n\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n e.preventDefault()\n moveSelected(e.key === 'ArrowDown' ? 1 : -1)\n break\n\n case 'Enter': {\n const item = filtered.value[selectedIndex.value]\n if (item) {\n e.preventDefault()\n enterItem(item)\n }\n break\n }\n\n case 'Escape': {\n e.preventDefault()\n if (overrideItems.value) {\n overrideItems.value = undefined\n search.value = ''\n }\n else {\n show.value = false\n }\n break\n }\n }\n})\n\nfunction handleKeyDown(e: KeyboardEvent) {\n if (e.key === 'Backspace' && !search.value && overrideItems.value) {\n e.preventDefault()\n overrideItems.value = undefined\n search.value = ''\n }\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NDialog = _resolveComponent(\"NDialog\")!\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_TabIcon = _resolveComponent(\"TabIcon\")!\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n _push(_ssrRenderComponent(_component_NDialog, _mergeProps({\n modelValue: show.value,\n \"onUpdate:modelValue\": ($event: any) => ((show).value = $event),\n relative: \"\",\n \"h-md\": \"\",\n \"w-xl\": \"\",\n \"of-hidden\": \"\"\n }, _attrs), {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div h-full flex=\"~ col\"${\n _scopeId\n }><header border=\"b base\" flex-none${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: search.value,\n \"onUpdate:modelValue\": ($event: any) => ((search).value = $event),\n placeholder: \"Type to search...\",\n class: \"rounded-none py3 px2! ring-0!\",\n n: \"green borderless\",\n onKeydown: handleKeyDown\n }, null, _parent, _scopeId))\n _push(`</header><div flex-auto of-auto p2 flex=\"~ col\"${_scopeId}><!--[-->`)\n _ssrRenderList(filtered.value, (item, idx) => {\n _push(`<button${\n _ssrRenderAttr(\"id\", item.id)\n }${\n _scopeId\n }><div flex=\"~ gap-2 items-center justify-between\" rounded px3 py2 class=\"${\n _ssrRenderClass(selectedIndex.value === idx ? 'op100 bg-primary/10 text-primary saturate-100 bg-active' : 'op80')\n }\"${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_TabIcon, {\n icon: item.icon,\n title: item.title,\n \"flex-none\": \"\",\n \"text-xl\": \"\"\n }, null, _parent, _scopeId))\n _push(`<span flex flex-auto items-center gap2 of-hidden${\n _scopeId\n }><span ws-nowrap${\n _scopeId\n }>${\n _ssrInterpolate(item.title)\n }</span><span of-hidden truncate ws-nowrap text-sm op50${\n _scopeId\n }>${\n _ssrInterpolate(item.description)\n }</span></span>`)\n if (selectedIndex.value === idx) {\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: \"i-carbon-text-new-line scale-x--100\",\n \"flex-none\": \"\"\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`</div></button>`)\n })\n _push(`<!--]-->`)\n if (!filtered.value.length) {\n _push(`<div h-full flex items-center justify-center gap-2 text-xl${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NIcon, {\n op50: \"\",\n icon: \"carbon-search\"\n }, null, _parent, _scopeId))\n _push(`<div${\n _scopeId\n }><span op50${\n _scopeId\n }>No results for</span><strong text-primary${\n _scopeId\n }> &quot;${\n _ssrInterpolate(search.value)\n }&quot; </strong></div></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div><footer border=\"t base\" flex=\"~ none justify-between items-center gap-4\" pointer-events-none px4 py2${\n _scopeId\n }><div text-xs flex=\"~ items-center gap2\"${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NIcon, { icon: \"carbon-arrow-down\" }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NIcon, { icon: \"carbon-arrow-down\" })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NIcon, { icon: \"carbon-arrow-up\" }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NIcon, { icon: \"carbon-arrow-up\" })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span op75${\n _scopeId\n }>to navigate</span></div><div text-xs flex=\"~ items-center gap2\"${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Esc `)\n } else {\n return [\n _createTextVNode(\" Esc \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span op75${\n _scopeId\n }>to ${\n _ssrInterpolate(overrideItems.value ? 'go back' : 'close')\n }</span></div><div text-xs flex=\"~ items-center gap2\"${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NIcon, { icon: \"i-carbon-text-new-line scale-x--100\" }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NIcon, { icon: \"i-carbon-text-new-line scale-x--100\" })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span op75${_scopeId}>to select</span></div></footer></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"h-full\": \"\",\n flex: \"~ col\"\n }, [\n _createVNode(\"header\", {\n border: \"b base\",\n \"flex-none\": \"\"\n }, [\n _createVNode(_component_NTextInput, {\n modelValue: search.value,\n \"onUpdate:modelValue\": ($event: any) => ((search).value = $event),\n placeholder: \"Type to search...\",\n class: \"rounded-none py3 px2! ring-0!\",\n n: \"green borderless\",\n onKeydown: handleKeyDown\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _createVNode(\"div\", {\n \"flex-auto\": \"\",\n \"of-auto\": \"\",\n p2: \"\",\n flex: \"~ col\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(filtered.value, (item, idx) => {\n return (_openBlock(), _createBlock(\"button\", {\n id: item.id,\n key: item.id,\n onClick: ($event: any) => (enterItem(item)),\n onMouseover: ($event: any) => (selectedIndex.value = idx)\n }, [\n _createVNode(\"div\", {\n flex: \"~ gap-2 items-center justify-between\",\n rounded: \"\",\n px3: \"\",\n py2: \"\",\n class: selectedIndex.value === idx ? 'op100 bg-primary/10 text-primary saturate-100 bg-active' : 'op80'\n }, [\n _createVNode(_component_TabIcon, {\n icon: item.icon,\n title: item.title,\n \"flex-none\": \"\",\n \"text-xl\": \"\"\n }, null, 8, [\"icon\", \"title\"]),\n _createVNode(\"span\", {\n flex: \"\",\n \"flex-auto\": \"\",\n \"items-center\": \"\",\n gap2: \"\",\n \"of-hidden\": \"\"\n }, [\n _createVNode(\"span\", { \"ws-nowrap\": \"\" }, _toDisplayString(item.title), 1),\n _createVNode(\"span\", {\n \"of-hidden\": \"\",\n truncate: \"\",\n \"ws-nowrap\": \"\",\n \"text-sm\": \"\",\n op50: \"\"\n }, _toDisplayString(item.description), 1)\n ]),\n (selectedIndex.value === idx)\n ? (_openBlock(), _createBlock(_component_NIcon, {\n key: 0,\n icon: \"i-carbon-text-new-line scale-x--100\",\n \"flex-none\": \"\"\n }))\n : _createCommentVNode(\"\", true)\n ], 2)\n ], 40, [\"id\", \"onClick\", \"onMouseover\"]))\n }), 128)),\n (!filtered.value.length)\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"h-full\": \"\",\n flex: \"\",\n \"items-center\": \"\",\n \"justify-center\": \"\",\n \"gap-2\": \"\",\n \"text-xl\": \"\"\n }, [\n _createVNode(_component_NIcon, {\n op50: \"\",\n icon: \"carbon-search\"\n }),\n _createVNode(\"div\", null, [\n _createVNode(\"span\", { op50: \"\" }, \"No results for\"),\n _createVNode(\"strong\", { \"text-primary\": \"\" }, \" \\\"\" + _toDisplayString(search.value) + \"\\\" \", 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(\"footer\", {\n border: \"t base\",\n flex: \"~ none justify-between items-center gap-4\",\n \"pointer-events-none\": \"\",\n px4: \"\",\n py2: \"\"\n }, [\n _createVNode(\"div\", {\n \"text-xs\": \"\",\n flex: \"~ items-center gap2\"\n }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_NIcon, { icon: \"carbon-arrow-down\" })\n ]),\n _: 1\n }),\n _createVNode(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_NIcon, { icon: \"carbon-arrow-up\" })\n ]),\n _: 1\n }),\n _createVNode(\"span\", { op75: \"\" }, \"to navigate\")\n ]),\n _createVNode(\"div\", {\n \"text-xs\": \"\",\n flex: \"~ items-center gap2\"\n }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Esc \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", { op75: \"\" }, \"to \" + _toDisplayString(overrideItems.value ? 'go back' : 'close'), 1)\n ]),\n _createVNode(\"div\", {\n \"text-xs\": \"\",\n flex: \"~ items-center gap2\"\n }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n px1: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_NIcon, { icon: \"i-carbon-text-new-line scale-x--100\" })\n ]),\n _: 1\n }),\n _createVNode(\"span\", { op75: \"\" }, \"to select\")\n ])\n ])\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { CommandItem } from '~/composables/state-commands'\nimport { useEventListener } from '@vueuse/core'\nimport Fuse from 'fuse.js'\nimport { computed, ref, watch } from 'vue'\nimport { useCommands } from '~/composables/state-commands'\n\nconst show = ref(false)\nconst search = ref('')\n\nconst rootItems = useCommands()\nconst overrideItems = ref<CommandItem[] | undefined>()\nconst items = computed(() => overrideItems.value || rootItems.value)\n\nconst fuse = computed(() => new Fuse(items.value, {\n keys: [\n 'id',\n 'title',\n ],\n distance: 50,\n}))\n\nconst filtered = computed(() => search.value\n ? fuse.value.search(search.value).map(i => i.item)\n : (items.value || []))\n\nconst selectedIndex = ref(0)\n\nwatch(search, () => {\n selectedIndex.value = 0\n scrollToITem()\n})\n\nfunction moveSelected(delta: number) {\n selectedIndex.value = ((selectedIndex.value + delta) + filtered.value.length) % filtered.value.length\n scrollToITem()\n}\n\nfunction scrollToITem() {\n const id = filtered.value[selectedIndex.value]?.id\n if (!id)\n return\n\n const item = document.getElementById(id)\n item?.scrollIntoView({\n block: 'center',\n })\n}\n\nasync function enterItem(item: CommandItem) {\n const result = await item.action()\n if (!result) {\n overrideItems.value = undefined\n search.value = ''\n show.value = false\n }\n else {\n overrideItems.value = result\n search.value = ''\n }\n}\n\nuseEventListener('keydown', (e) => {\n if ((e.ctrlKey || e.metaKey) && e.key === 'k') {\n e.preventDefault()\n overrideItems.value = undefined\n search.value = ''\n show.value = !show.value\n return\n }\n\n if (!show.value)\n return\n\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n e.preventDefault()\n moveSelected(e.key === 'ArrowDown' ? 1 : -1)\n break\n\n case 'Enter': {\n const item = filtered.value[selectedIndex.value]\n if (item) {\n e.preventDefault()\n enterItem(item)\n }\n break\n }\n\n case 'Escape': {\n e.preventDefault()\n if (overrideItems.value) {\n overrideItems.value = undefined\n search.value = ''\n }\n else {\n show.value = false\n }\n break\n }\n }\n})\n\nfunction handleKeyDown(e: KeyboardEvent) {\n if (e.key === 'Backspace' && !search.value && overrideItems.value) {\n e.preventDefault()\n overrideItems.value = undefined\n search.value = ''\n }\n}\n</script>\n\n<template>\n <NDialog v-model=\"show\" relative h-md w-xl of-hidden>\n <div h-full flex=\"~ col\">\n <header border=\"b base\" flex-none>\n <NTextInput\n v-model=\"search\"\n placeholder=\"Type to search...\"\n class=\"rounded-none py3 px2! ring-0!\"\n n=\"green borderless\"\n @keydown=\"handleKeyDown\"\n />\n </header>\n <div flex-auto of-auto p2 flex=\"~ col\">\n <button\n v-for=\"item, idx of filtered\"\n :id=\"item.id\"\n :key=\"item.id\"\n @click=\"enterItem(item)\"\n @mouseover=\"selectedIndex = idx\"\n >\n <div\n flex=\"~ gap-2 items-center justify-between\" rounded px3 py2\n :class=\"selectedIndex === idx ? 'op100 bg-primary/10 text-primary saturate-100 bg-active' : 'op80'\"\n >\n <TabIcon :icon=\"item.icon\" :title=\"item.title\" flex-none text-xl />\n <span flex flex-auto items-center gap2 of-hidden>\n <span ws-nowrap>{{ item.title }}</span>\n <span of-hidden truncate ws-nowrap text-sm op50>{{ item.description }}</span>\n </span>\n <NIcon v-if=\"selectedIndex === idx\" icon=\"i-carbon-text-new-line scale-x--100\" flex-none />\n </div>\n </button>\n <div v-if=\"!filtered.length\" h-full flex items-center justify-center gap-2 text-xl>\n <NIcon op50 icon=\"carbon-search\" />\n <div>\n <span op50>No results for</span>\n <strong text-primary>\n \"{{ search }}\"\n </strong>\n </div>\n </div>\n </div>\n <footer border=\"t base\" flex=\"~ none justify-between items-center gap-4\" pointer-events-none px4 py2>\n <div text-xs flex=\"~ items-center gap2\">\n <NButton n=\"xs\" px1>\n <NIcon icon=\"carbon-arrow-down\" />\n </NButton>\n <NButton n=\"xs\" px1>\n <NIcon icon=\"carbon-arrow-up\" />\n </NButton>\n <span op75>to navigate</span>\n </div>\n <div text-xs flex=\"~ items-center gap2\">\n <NButton n=\"xs\" px1>\n Esc\n </NButton>\n <span op75>to {{ overrideItems ? 'go back' : 'close' }}</span>\n </div>\n <div text-xs flex=\"~ items-center gap2\">\n <NButton n=\"xs\" px1>\n <NIcon icon=\"i-carbon-text-new-line scale-x--100\" />\n </NButton>\n <span op75>to select</span>\n </div>\n </footer>\n </div>\n </NDialog>\n</template>\n","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 197 24\"\n fill=\"none\"\n >\n <path\n fill=\"currentColor\"\n d=\"M45.74 24c.26 0 .48-.215.48-.48V12.36s.6 1.08 1.68 2.88l4.68 8.04c.214.449.69.72 1.08.72h3.24V6h-3.24c-.216 0-.48.18-.48.48v11.28l-2.16-3.84L46.7 6.6c-.21-.373-.663-.6-1.08-.6H42.5v18h3.24ZM87.62 11.04h1.56a.72.72 0 0 0 .72-.72V7.2h3.36v3.84h3.24v2.88h-3.24v5.16c0 1.26.607 1.8 1.68 1.8h1.56V24h-2.04c-2.766 0-4.56-1.791-4.56-4.8v-5.28h-2.28v-2.88ZM71.42 11.04v7.44c0 1.68-.63 3.097-1.56 4.08-.93.983-2.212 1.44-3.96 1.44-1.748 0-3.15-.457-4.08-1.44-.913-.983-1.56-2.4-1.56-4.08v-7.44h1.92c.41 0 .812.075 1.08.36.268.27.36.428.36.84v6.24c0 .967.055 1.564.48 2.04.425.46.95.6 1.8.6.866 0 1.255-.14 1.68-.6.425-.476.48-1.073.48-2.04v-6.24c0-.412.092-.675.36-.96.235-.25.483-.245.84-.24h2.16ZM81.62 17.28l4.08-6.24h-3.12c-.393 0-.743.141-.96.48L79.7 14.4l-1.8-2.76c-.217-.339-.687-.6-1.08-.6h-3l4.08 6.12L73.46 24h3.12c.39 0 .742-.386.96-.72l2.16-3.24 2.28 3.36c.218.335.57.6.96.6h3.12l-4.44-6.72Z\"\n />\n <path\n fill=\"#00DC82\"\n d=\"M20.66 24h13.32c.425 0 .832-.15 1.2-.36s.748-.475.96-.84c.212-.365.36-.779.36-1.2 0-.421-.147-.835-.36-1.2l-9-15.48a2.189 2.189 0 0 0-.84-.84 2.9 2.9 0 0 0-1.32-.36c-.425 0-.832.15-1.2.36s-.628.475-.84.84l-2.28 3.96L16.1 1.2c-.213-.365-.472-.75-.84-.96-.368-.21-.775-.24-1.2-.24-.425 0-.832.03-1.2.24s-.747.595-.96.96L.74 20.4c-.213.365-.24.779-.24 1.2 0 .421.028.835.24 1.2s.592.63.96.84c.368.21.775.36 1.2.36h8.4c3.328 0 5.751-1.493 7.44-4.32l4.08-7.08 2.16-3.72 6.6 11.28h-8.76L20.66 24Zm-9.48-3.84H5.3l8.76-15.12 4.44 7.56-2.941 5.127c-1.122 1.834-2.4 2.433-4.379 2.433Z\"\n />\n <path\n fill=\"#00DC82\"\n fill-rule=\"evenodd\"\n d=\"M101.3 24V8.64c0-.795.645-1.44 1.44-1.44h4.2c1.58 0 3.011.341 4.32.96 1.309.619 2.338 1.506 3.12 2.76.782 1.238 1.2 2.855 1.2 4.68 0 1.809-.418 3.306-1.2 4.56-.782 1.254-1.811 2.141-3.12 2.76-1.309.619-2.74 1.08-4.32 1.08h-5.64Zm5.28-3.24c1.548 0 2.819-.375 3.84-1.2 1.021-.841 1.44-2.135 1.44-3.96 0-1.825-.419-3.239-1.44-4.08-1.021-.841-2.292-1.2-3.84-1.2h-1.68v10.44h1.68ZM128.66 19.68c-.239 1.285-.867 2.342-1.92 3.12s-2.356 1.2-3.84 1.2a6.232 6.232 0 0 1-3.36-.96 5.619 5.619 0 0 1-2.04-2.28 6.593 6.593 0 0 1-.72-3c0-1.063.169-2.064.6-3 .447-.936 1.146-1.693 2.04-2.28.91-.587 1.947-.84 3.24-.84 1.341 0 2.466.269 3.36.84.894.571 1.625 1.271 2.04 2.16.431.889.6 1.776.6 2.76l-.001.209c0 .129-.001.251.001.391a.501.501 0 0 1-.48.48h-8.28c.128.857.449 1.548.96 2.04.527.476 1.21.72 2.04.72.67 0 1.249-.106 1.68-.36.431-.27.712-.692.84-1.2h3.24Zm-6-5.64c-.766 0-1.353.203-1.8.6-.447.38-.696.975-.84 1.8h5.28c-.048-.698-.257-1.356-.72-1.8-.463-.46-1.138-.6-1.92-.6Z\"\n clip-rule=\"evenodd\"\n />\n <path\n fill=\"#00DC82\"\n d=\"M128.78 11.88 133.22 24h3.12l4.32-12.12h-2.28c-.625 0-1.248.365-1.44.96l-2.16 6.84-2.16-6.84c-.192-.595-.815-.96-1.44-.96h-2.4Z\"\n />\n <path\n fill=\"#00DC82\"\n fill-rule=\"evenodd\"\n d=\"M159.14 24c-1.213 0-2.266-.316-3.24-.84-.974-.54-1.737-1.224-2.28-2.16a6.53 6.53 0 0 1-.84-3.24c0-1.174.297-2.184.84-3.12.543-.952 1.306-1.756 2.28-2.28.974-.54 2.027-.72 3.24-.72s2.386.18 3.36.72c.974.524 1.737 1.328 2.28 2.28.543.936.72 1.946.72 3.12 0 1.174-.177 2.288-.72 3.24-.543.936-1.306 1.62-2.28 2.16a7.167 7.167 0 0 1-3.36.84Zm0-2.88c.894 0 1.601-.341 2.16-.96.559-.619.84-1.416.84-2.4 0-1-.189-1.758-.748-2.377a3 3 0 0 0-2.252-.983c-.894 0-1.601.341-2.16.96-.559.619-.84 1.4-.84 2.4 0 .984.281 1.781.84 2.4.559.619 1.266.96 2.16.96ZM169.82 23.16c.974.524 2.027.84 3.24.84a7.167 7.167 0 0 0 3.36-.84c.974-.54 1.737-1.224 2.28-2.16.543-.952.72-2.066.72-3.24 0-1.174-.177-2.184-.72-3.12-.543-.952-1.306-1.756-2.28-2.28-.974-.54-2.147-.84-3.36-.84a6.52 6.52 0 0 0-3.24.84c-.974.524-1.737 1.328-2.28 2.28a6.044 6.044 0 0 0-.84 3.12 6.53 6.53 0 0 0 .84 3.24c.543.936 1.306 1.62 2.28 2.16Zm5.4-3c-.559.619-1.266.96-2.16.96-.894 0-1.601-.341-2.16-.96-.559-.619-.84-1.416-.84-2.4 0-1 .281-1.781.84-2.4.559-.619 1.266-.96 2.16-.96.894 0 1.601.341 2.16.96.559.619.84 1.4.84 2.4 0 .984-.281 1.781-.84 2.4Z\"\n clip-rule=\"evenodd\"\n />\n <path\n fill=\"#00DC82\"\n d=\"M184.82 24h-3.36V8.4h3.36V24ZM188.18 22.8c.926.762 2.236 1.2 3.72 1.2 1.42 0 2.514-.398 3.36-1.08.862-.698 1.32-1.617 1.32-2.76 0-1-.305-1.756-.72-2.28-.415-.524-.865-.905-1.44-1.08-.559-.19-1.282-.353-2.16-.48-.814-.111-1.417-.217-1.8-.36-.367-.159-.48-.396-.48-.84 0-.365.073-.634.36-.84.287-.206.721-.36 1.2-.36s.937.194 1.32.48c.399.27.536.588.6 1.08h2.373c.276 0 .497-.232.453-.504-.156-.955-.61-1.767-1.386-2.376-.894-.714-2.028-1.08-3.48-1.08-.814 0-1.506.163-2.16.48a3.842 3.842 0 0 0-1.56 1.32c-.367.54-.6 1.222-.6 1.92 0 .92.217 1.532.6 2.04.399.492.897.89 1.44 1.08.543.19 1.178.321 2.04.48.83.143 1.417.305 1.8.48s.6.516.6.96c0 .333-.145.618-.48.84-.319.222-.689.36-1.2.36-.622 0-1.161-.178-1.56-.48a2.022 2.022 0 0 1-.72-1.32h-2.376a.449.449 0 0 0-.457.502c.149 1.06.605 1.944 1.393 2.618ZM145.58 24h3.6V10.32h3.6a1.44 1.44 0 0 0 1.44-1.44V7.2H142.1a1.44 1.44 0 0 0-1.44 1.44v1.68h4.92V24Z\"\n />\n </svg>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderTeleport as _ssrRenderTeleport } from \"vue/server-renderer\"\n\nimport { wsConnectingDebounced } from '~/composables/rpc'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'DisconnectIndicator',\n __ssrInlineRender: true,\n setup(__props) {\n\nfunction reload() {\n window.location.reload()\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NuxtLogo = _resolveComponent(\"NuxtLogo\")!\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n _ssrRenderTeleport(_push, (_push) => {\n if (_unref(wsConnectingDebounced)) {\n _push(`<div flex=\"~ col justify-center items-center gap-4\" fixed bottom-0 left-0 right-0 top-0 z-2147483646 n-glass-effect p5 text-lg backdrop-blur-4><div flex-auto></div><div flex=\"~\" mt-8 items-center justify-center>`)\n _push(_ssrRenderComponent(_component_NuxtLogo, { \"h-8\": \"\" }, null, _parent))\n _push(`</div><div flex=\"~ gap-2\" items-center op50>`)\n _push(_ssrRenderComponent(_component_NIcon, { icon: \"i-carbon-wifi-off\" }, null, _parent))\n _push(` Disconnected from Server </div><div border=\"t base\" my2 h-1px w-10></div><div flex=\"~ gap-2\" animate-pulse items-center text-xl text-yellow>`)\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: \"i-carbon-circle-dash\",\n \"animate-spin\": \"\"\n }, null, _parent))\n _push(` Retrying... </div><div flex-auto></div>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"sm yellow\",\n px2: \"\",\n py0: \"\",\n op40: \"\",\n onClick: ($event: any) => (reload())\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Reload DevTools Page `)\n } else {\n return [\n _createTextVNode(\" Reload DevTools Page \")\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n }, \"body\", false, _parent)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { wsConnectingDebounced } from '~/composables/rpc'\n\nfunction reload() {\n window.location.reload()\n}\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div\n v-if=\"wsConnectingDebounced\"\n flex=\"~ col justify-center items-center gap-4\"\n fixed bottom-0 left-0 right-0 top-0 z-2147483646 n-glass-effect p5 text-lg backdrop-blur-4\n >\n <div flex-auto />\n <div flex=\"~\" mt-8 items-center justify-center>\n <NuxtLogo h-8 />\n </div>\n <div flex=\"~ gap-2\" items-center op50>\n <NIcon icon=\"i-carbon-wifi-off\" />\n Disconnected from Server\n </div>\n <div border=\"t base\" my2 h-1px w-10 />\n <div flex=\"~ gap-2\" animate-pulse items-center text-xl text-yellow>\n <NIcon icon=\"i-carbon-circle-dash\" animate-spin />\n Retrying...\n </div>\n <div flex-auto />\n <NButton n=\"sm yellow\" px2 py0 op40 @click=\"reload()\">\n Reload DevTools Page\n </NButton>\n </div>\n </Teleport>\n</template>\n","import type { InstallModuleReturn, ModuleActionType, ModuleStaticInfo } from '../../src/types'\nimport { createTemplatePromise } from '@vueuse/core'\nimport { useState } from '#imports'\n\nexport const ModuleDialog = createTemplatePromise<boolean, [info: ModuleStaticInfo, result: InstallModuleReturn, type: ModuleActionType]>()\n\nexport const AuthConfirm = createTemplatePromise<boolean>()\n\ninterface RestartDialog {\n id: string\n message: string\n}\n\nexport function useRestartDialogs() {\n return useState<RestartDialog[]>('devtools:restart-dialogs', () => [])\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, createVNode as _createVNode, toDisplayString as _toDisplayString } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport { createTemplatePromise } from '@vueuse/core'\nimport { useNuxtApp } from '#app/nuxt'\nimport { useClient } from '~/composables/client'\nimport { useRestartDialogs } from '~/composables/dialog'\nimport { rpc } from '~/composables/rpc'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'RestartDialogs',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst nuxt = useNuxtApp()\nconst state = useRestartDialogs()\nconst client = useClient()\n\nconst PromiseConfirm = createTemplatePromise<boolean, [string]>()\n\n// @ts-expect-error - missing type\nnuxt.hook('devtools:terminal:exit', ({ id, code }) => {\n if (code === 0) {\n const dialog = state.value.find(dialog => dialog.id === id)\n if (dialog) {\n state.value = state.value.filter(dialog => dialog.id !== id)\n PromiseConfirm\n .start(dialog.message)\n .then(async (result) => {\n if (result) {\n rpc.restartNuxt()\n setTimeout(() => {\n client.value?.app.reload()\n }, 500)\n }\n })\n }\n }\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NDialog = _resolveComponent(\"NDialog\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n _push(_ssrRenderComponent(_unref(PromiseConfirm), _attrs, {\n default: _withCtx(({ resolve, args }, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NDialog, {\n \"model-value\": true,\n onClose: ($event: any) => (resolve(false))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div p4 flex=\"~ col gap-1\"${\n _scopeId\n }><h3 class=\"text-lg font-medium leading-6\"${\n _scopeId\n }> Restart </h3><p op50${\n _scopeId\n }>${\n _ssrInterpolate(args[0])\n }</p><div flex=\"~ gap-3\" mt2 justify-end${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NButton, {\n onClick: ($event: any) => (resolve(false))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Cancel `)\n } else {\n return [\n _createTextVNode(\" Cancel \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"solid primary\",\n onClick: ($event: any) => (resolve(true))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Update `)\n } else {\n return [\n _createTextVNode(\" Update \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</div></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n p4: \"\",\n flex: \"~ col gap-1\"\n }, [\n _createVNode(\"h3\", { class: \"text-lg font-medium leading-6\" }, \" Restart \"),\n _createVNode(\"p\", { op50: \"\" }, _toDisplayString(args[0]), 1),\n _createVNode(\"div\", {\n flex: \"~ gap-3\",\n mt2: \"\",\n \"justify-end\": \"\"\n }, [\n _createVNode(_component_NButton, {\n onClick: ($event: any) => (resolve(false))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Cancel \")\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_NButton, {\n n: \"solid primary\",\n onClick: ($event: any) => (resolve(true))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Update \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NDialog, {\n \"model-value\": true,\n onClose: ($event: any) => (resolve(false))\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n p4: \"\",\n flex: \"~ col gap-1\"\n }, [\n _createVNode(\"h3\", { class: \"text-lg font-medium leading-6\" }, \" Restart \"),\n _createVNode(\"p\", { op50: \"\" }, _toDisplayString(args[0]), 1),\n _createVNode(\"div\", {\n flex: \"~ gap-3\",\n mt2: \"\",\n \"justify-end\": \"\"\n }, [\n _createVNode(_component_NButton, {\n onClick: ($event: any) => (resolve(false))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Cancel \")\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_NButton, {\n n: \"solid primary\",\n onClick: ($event: any) => (resolve(true))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Update \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ]),\n _: 2\n }, 1032, [\"onClose\"])\n ]\n }\n }),\n _: 1\n }, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { createTemplatePromise } from '@vueuse/core'\nimport { useNuxtApp } from '#app/nuxt'\nimport { useClient } from '~/composables/client'\nimport { useRestartDialogs } from '~/composables/dialog'\nimport { rpc } from '~/composables/rpc'\n\nconst nuxt = useNuxtApp()\nconst state = useRestartDialogs()\nconst client = useClient()\n\nconst PromiseConfirm = createTemplatePromise<boolean, [string]>()\n\n// @ts-expect-error - missing type\nnuxt.hook('devtools:terminal:exit', ({ id, code }) => {\n if (code === 0) {\n const dialog = state.value.find(dialog => dialog.id === id)\n if (dialog) {\n state.value = state.value.filter(dialog => dialog.id !== id)\n PromiseConfirm\n .start(dialog.message)\n .then(async (result) => {\n if (result) {\n rpc.restartNuxt()\n setTimeout(() => {\n client.value?.app.reload()\n }, 500)\n }\n })\n }\n }\n})\n</script>\n\n<template>\n <PromiseConfirm v-slot=\"{ resolve, args }\">\n <NDialog :model-value=\"true\" @close=\"resolve(false)\">\n <div p4 flex=\"~ col gap-1\">\n <h3 class=\"text-lg font-medium leading-6\">\n Restart\n </h3>\n <p op50>\n {{ args[0] }}\n </p>\n <div flex=\"~ gap-3\" mt2 justify-end>\n <NButton @click=\"resolve(false)\">\n Cancel\n </NButton>\n <NButton n=\"solid primary\" @click=\"resolve(true)\">\n Update\n </NButton>\n </div>\n </div>\n </NDialog>\n </PromiseConfirm>\n</template>\n","// virtual-files Tab\nimport { useSessionState } from './utils'\n\nexport function useCurrentVirtualFile() {\n return useSessionState<string>('virtual-files:current', '')\n}\n\n// server-routes Tab\nexport function useCurrentServeRoute() {\n return useSessionState<string>('server-routes:current', '')\n}\n\nexport function useCurrentServerTask() {\n return useSessionState<string>('server-tasks:current', '')\n}\n","import { parseUA } from 'ua-parser-modern'\nimport { ref } from 'vue'\n\n/** @deprecated Auth is now handled by Vite DevTools */\nexport const devAuthToken = ref<string | null>('disabled')\n\n/** @deprecated Auth is now handled by Vite DevTools */\nexport const isDevAuthed = ref(true)\n\n/** @deprecated Auth is now handled by Vite DevTools */\nexport function updateDevAuthToken(_token: string) {\n console.warn('[nuxt-devtools] `updateDevAuthToken` is deprecated. Auth is now handled by Vite DevTools.')\n}\n\nexport const userAgentInfo = parseUA(navigator.userAgent)\n\n/** @deprecated Auth is now handled by Vite DevTools */\nexport async function requestForAuth() {\n console.warn('[nuxt-devtools] `requestForAuth` is deprecated. Auth is now handled by Vite DevTools.')\n}\n","import { userAgentInfo } from './dev-auth'\nimport { rpc } from './rpc'\nimport { useDevToolsOptions } from './storage-options'\n\nexport const telemetryEnabled = useDevToolsOptions('behavior').telemetry\n\nexport function telemetry(event: string, payload?: object, immediate = false) {\n if (telemetryEnabled.value === false)\n return\n\n rpc.telemetryEvent({\n event,\n browser: userAgentInfo.browser.name,\n browserVersion: userAgentInfo.browser.version,\n os: userAgentInfo.os.name,\n osVersion: userAgentInfo.os.version,\n deviceType: userAgentInfo.device.type,\n ...payload,\n }, immediate).catch((error) => {\n // Telemetry is best-effort: a transient RPC failure (e.g. the connection\n // was torn down and re-established after a dev-server reload) should\n // never surface to the user as an uncaught error.\n console.error('[nuxt-devtools] Failed to send telemetry event', error)\n })\n}\n","import { useClipboard } from '@vueuse/core'\nimport { useRouter } from '#app/composables/router'\nimport { devtoolsUiShowNotification } from '#imports'\nimport { rpc } from './rpc'\nimport { useServerConfig, useVirtualFiles } from './state'\nimport { useCurrentVirtualFile } from './state-routes'\nimport { telemetry } from './telemetry'\n\nconst COLON_SEPARATOR_RE = /:/g\n\nexport function useOpenInEditor() {\n const config = useServerConfig()\n const virtualFiles = useVirtualFiles()\n const router = useRouter()\n const virtualFileId = useCurrentVirtualFile()\n\n return async (filepath?: string) => {\n if (!filepath)\n return\n\n const buildDir = config.value?.buildDir\n const path = (buildDir && filepath.startsWith(buildDir))\n ? `#build${filepath.slice(buildDir.length)}`\n : filepath\n\n const [realpath, _line = 1, _col = 0] = path.split(COLON_SEPARATOR_RE)\n\n const vfs = virtualFiles.value?.entries.find(i => i.path === realpath || i.id === realpath)\n || virtualFiles.value?.entries.find(i => i.path === filepath || i.id === filepath)\n if (vfs) {\n // TODO: support line and col\n virtualFileId.value = vfs.id\n router.push('/modules/virtual-files')\n }\n else {\n await rpc.openInEditor(filepath)\n }\n }\n}\n\nexport function useCopy() {\n const clipboard = useClipboard()\n\n return (text: string, type?: string) => {\n clipboard.copy(text)\n\n telemetry('copy', {\n copyType: type,\n })\n\n devtoolsUiShowNotification({\n message: 'Copied to clipboard',\n icon: 'carbon-checkmark',\n })\n }\n}\n","import { useSessionState } from './utils'\n\nexport function useSchemaInput() {\n return useSessionState<{\n name?: string\n input: string\n } | null>('schema:input', null)\n}\n","import type { ClientFunctions } from '../../src/types'\nimport { useNuxtApp, useRouter } from '#imports'\nimport { useClient } from '../composables/client'\nimport { clientFunctions, registerClientFunctions } from '../composables/rpc'\nimport { useDevToolsOptions } from '../composables/storage-options'\nimport { telemetry } from '../composables/telemetry'\n\nexport function setupClientRPC() {\n const nuxt = useNuxtApp()\n const client = useClient()\n const router = useRouter()\n\n Object.assign(clientFunctions, {\n async refresh(type) {\n // refresh useAsyncData\n nuxt.hooks.callHookParallel('app:data:refresh', [type])\n },\n async callHook(hook: string, ...args: any[]) {\n nuxt.hooks.callHookParallel(hook as any, ...args)\n },\n async onTerminalExit(data) {\n // Minimal completion signal for generic package updates: re-dispatch it as\n // the `devtools:terminal:exit` hook that `usePackageUpdate` and the restart\n // prompt listen to. Module install/uninstall and analyze-build clear their\n // own UI from the awaited RPC / refreshed info, so nothing else runs here.\n // @ts-expect-error fail to extend hooks\n nuxt.hooks.callHookParallel('devtools:terminal:exit', data)\n },\n async navigateTo(path: string) {\n client.value.devtools.open()\n if (router.currentRoute.value?.path !== path)\n router.push(path)\n },\n } satisfies ClientFunctions)\n\n // Re-register client functions now that they're populated\n registerClientFunctions()\n\n const {\n hiddenTabs,\n pinnedTabs,\n } = useDevToolsOptions('ui')\n\n telemetry('open', {\n hiddenTabs: hiddenTabs.value.join(','),\n pinnedTabs: pinnedTabs.value.join(','),\n }, true)\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, createVNode as _createVNode, unref as _unref, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderStyle as _ssrRenderStyle, ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\nimport { useEventListener, useEyeDropper } from '@vueuse/core'\nimport { computed, onMounted, ref, watch, watchEffect } from 'vue'\nimport { useHead } from '#imports'\nimport { getColorMode, setEmbedderColorMode, showConnectionWarning, useClient, useInjectionClient } from '~/composables/client'\nimport { useCopy } from '~/composables/editor'\nimport { setupFrameNav } from '~/composables/frame-nav'\nimport { WS_DEBOUNCE_TIME } from '~/composables/rpc'\nimport { registerCommands } from '~/composables/state-commands'\nimport { wsConnectedOnce } from './composables/rpc'\nimport { useSchemaInput } from './composables/state-schema'\nimport { useDevToolsOptions } from './composables/storage-options'\nimport { setupClientRPC } from './setup/client-rpc'\n\nimport 'floating-vue/dist/style.css'\nimport 'vanilla-jsoneditor/themes/jse-theme-dark.css'\nimport 'vue-virtual-scroller/dist/vue-virtual-scroller.css'\nimport './styles/global.css'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'app',\n __ssrInlineRender: true,\n setup(__props) {\n\nif (import.meta.client)\n import('./setup/unocss-runtime')\n\nuseHead({\n title: 'Nuxt DevTools',\n meta: [\n {\n name: 'viewport',\n content: 'width=device-width, initial-scale=1',\n },\n ],\n link: [\n {\n rel: 'icon',\n type: 'image/svg+xml',\n // Relative: resolves against the document URL, which is always the\n // client's mount root (the production build uses hash routing).\n href: './nuxt.svg',\n },\n ],\n})\nsetupClientRPC()\n\nconst client = useClient()\nconst colorMode = getColorMode()\nconst waiting = computed(() => !client.value && !showConnectionWarning.value)\nconst showDisconnectIndicator = ref(false)\n\nif (wsConnectedOnce.value) {\n // debounce one time to avoid showing the indicator on first load of the app\n onConnected()\n}\nelse {\n // watch for connection and show the indicator if it was connected at least once\n const stop = watch(wsConnectedOnce, (val) => {\n if (val) {\n onConnected()\n stop()\n }\n })\n}\n\nfunction onConnected() {\n setTimeout(() => {\n showDisconnectIndicator.value = true\n }, WS_DEBOUNCE_TIME)\n}\n\n// Mirror the host app's scheme while we are embedded in one, so DevTools matches\n// the app it inspects. Passing `undefined` through (no host) hands control back\n// to the OS preference rather than pinning the last host value.\nwatch(\n () => client.value?.app.colorMode.value,\n (mode) => {\n setEmbedderColorMode(mode)\n },\n { immediate: true },\n)\n\n// The resolved scheme is derived, not stored, so applying it to the document is\n// ours to do.\nwatchEffect(() => {\n if (!import.meta.client)\n return\n const isDark = colorMode.value === 'dark'\n document.documentElement.classList.toggle('dark', isDark)\n document.documentElement.classList.toggle('light', !isDark)\n})\n\nuseEventListener('keydown', (e) => {\n if (e.code === 'KeyD' && e.altKey) {\n client.value?.devtools.close()\n e.preventDefault()\n }\n})\n\nconst { scale } = useDevToolsOptions('ui')\nconst dataSchema = useSchemaInput()\n\nonMounted(async () => {\n // Nuxt DevTools always renders as the shared-frame anchor inside the Vite\n // DevTools dock: announce our tabs to the dock and answer soft-navigation\n // over postMessage.\n setupFrameNav()\n\n const injectClient = useInjectionClient()\n watchEffect(() => {\n window.__NUXT_DEVTOOLS__ = injectClient.value\n })\n\n watchEffect(() => {\n document.body.style.fontSize = `${scale.value * 15}px`\n })\n})\n\nconst copy = useCopy()\nconst eyeDropper = useEyeDropper({})\n\nregisterCommands(() => [\n ...(eyeDropper.isSupported.value\n ? [{\n id: 'action:eye-dropper',\n title: 'Color Picker',\n icon: 'i-carbon-eyedropper',\n action: async () => {\n const { sRGBHex } = await eyeDropper.open() || {}\n if (sRGBHex)\n copy(sRGBHex)\n },\n }]\n : []),\n ...[\n {\n id: 'action:refresh-data',\n title: 'Refresh Data',\n icon: 'i-carbon-data-backup',\n action: refreshData,\n },\n {\n id: 'action:reload-page',\n title: 'Reload Page',\n icon: 'i-carbon-reset',\n action: reloadPage,\n },\n ],\n])\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NuxtLoadingIndicator = _resolveComponent(\"NuxtLoadingIndicator\")!\n const _component_NLoading = _resolveComponent(\"NLoading\")!\n const _component_NuxtLayout = _resolveComponent(\"NuxtLayout\")!\n const _component_NuxtPage = _resolveComponent(\"NuxtPage\")!\n const _component_CommandPalette = _resolveComponent(\"CommandPalette\")!\n const _component_DisconnectIndicator = _resolveComponent(\"DisconnectIndicator\")!\n const _component_RestartDialogs = _resolveComponent(\"RestartDialogs\")!\n const _component_LazyDataSchemaDrawer = _resolveComponent(\"LazyDataSchemaDrawer\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n fixed: \"\",\n \"inset-0\": \"\",\n \"h-screen\": \"\",\n \"w-screen\": \"\",\n \"font-sans\": \"\"\n }, _attrs))}>`)\n _push(_ssrRenderComponent(_component_NuxtLoadingIndicator, null, null, _parent))\n if (waiting.value) {\n _push(_ssrRenderComponent(_component_NLoading, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Connecting.... `)\n } else {\n return [\n _createTextVNode(\" Connecting.... \")\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`<div id=\"nuxt-devtools-app\" class=\"grid grid-cols-[1fr]\" h-full h-screen of-hidden rounded-xl bg-base font-sans style=\"${_ssrRenderStyle((!waiting.value) ? null : { display: \"none\" })}\">`)\n _push(_ssrRenderComponent(_component_NuxtLayout, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NuxtPage, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NuxtPage)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_CommandPalette, null, null, _parent))\n _push(`</div>`)\n if (showDisconnectIndicator.value) {\n _push(_ssrRenderComponent(_component_DisconnectIndicator, null, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_RestartDialogs, null, null, _parent))\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_LazyDataSchemaDrawer, null, null, _parent))\n _push(`</div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { useEventListener, useEyeDropper } from '@vueuse/core'\nimport { computed, onMounted, ref, watch, watchEffect } from 'vue'\nimport { useHead } from '#imports'\nimport { getColorMode, setEmbedderColorMode, showConnectionWarning, useClient, useInjectionClient } from '~/composables/client'\nimport { useCopy } from '~/composables/editor'\nimport { setupFrameNav } from '~/composables/frame-nav'\nimport { WS_DEBOUNCE_TIME } from '~/composables/rpc'\nimport { registerCommands } from '~/composables/state-commands'\nimport { wsConnectedOnce } from './composables/rpc'\nimport { useSchemaInput } from './composables/state-schema'\nimport { useDevToolsOptions } from './composables/storage-options'\nimport { setupClientRPC } from './setup/client-rpc'\n\nimport 'floating-vue/dist/style.css'\nimport 'vanilla-jsoneditor/themes/jse-theme-dark.css'\nimport 'vue-virtual-scroller/dist/vue-virtual-scroller.css'\nimport './styles/global.css'\n\nif (import.meta.client)\n import('./setup/unocss-runtime')\n\nuseHead({\n title: 'Nuxt DevTools',\n meta: [\n {\n name: 'viewport',\n content: 'width=device-width, initial-scale=1',\n },\n ],\n link: [\n {\n rel: 'icon',\n type: 'image/svg+xml',\n // Relative: resolves against the document URL, which is always the\n // client's mount root (the production build uses hash routing).\n href: './nuxt.svg',\n },\n ],\n})\nsetupClientRPC()\n\nconst client = useClient()\nconst colorMode = getColorMode()\nconst waiting = computed(() => !client.value && !showConnectionWarning.value)\nconst showDisconnectIndicator = ref(false)\n\nif (wsConnectedOnce.value) {\n // debounce one time to avoid showing the indicator on first load of the app\n onConnected()\n}\nelse {\n // watch for connection and show the indicator if it was connected at least once\n const stop = watch(wsConnectedOnce, (val) => {\n if (val) {\n onConnected()\n stop()\n }\n })\n}\n\nfunction onConnected() {\n setTimeout(() => {\n showDisconnectIndicator.value = true\n }, WS_DEBOUNCE_TIME)\n}\n\n// Mirror the host app's scheme while we are embedded in one, so DevTools matches\n// the app it inspects. Passing `undefined` through (no host) hands control back\n// to the OS preference rather than pinning the last host value.\nwatch(\n () => client.value?.app.colorMode.value,\n (mode) => {\n setEmbedderColorMode(mode)\n },\n { immediate: true },\n)\n\n// The resolved scheme is derived, not stored, so applying it to the document is\n// ours to do.\nwatchEffect(() => {\n if (!import.meta.client)\n return\n const isDark = colorMode.value === 'dark'\n document.documentElement.classList.toggle('dark', isDark)\n document.documentElement.classList.toggle('light', !isDark)\n})\n\nuseEventListener('keydown', (e) => {\n if (e.code === 'KeyD' && e.altKey) {\n client.value?.devtools.close()\n e.preventDefault()\n }\n})\n\nconst { scale } = useDevToolsOptions('ui')\nconst dataSchema = useSchemaInput()\n\nonMounted(async () => {\n // Nuxt DevTools always renders as the shared-frame anchor inside the Vite\n // DevTools dock: announce our tabs to the dock and answer soft-navigation\n // over postMessage.\n setupFrameNav()\n\n const injectClient = useInjectionClient()\n watchEffect(() => {\n window.__NUXT_DEVTOOLS__ = injectClient.value\n })\n\n watchEffect(() => {\n document.body.style.fontSize = `${scale.value * 15}px`\n })\n})\n\nconst copy = useCopy()\nconst eyeDropper = useEyeDropper({})\n\nregisterCommands(() => [\n ...(eyeDropper.isSupported.value\n ? [{\n id: 'action:eye-dropper',\n title: 'Color Picker',\n icon: 'i-carbon-eyedropper',\n action: async () => {\n const { sRGBHex } = await eyeDropper.open() || {}\n if (sRGBHex)\n copy(sRGBHex)\n },\n }]\n : []),\n ...[\n {\n id: 'action:refresh-data',\n title: 'Refresh Data',\n icon: 'i-carbon-data-backup',\n action: refreshData,\n },\n {\n id: 'action:reload-page',\n title: 'Reload Page',\n icon: 'i-carbon-reset',\n action: reloadPage,\n },\n ],\n])\n</script>\n\n<template>\n <div fixed inset-0 h-screen w-screen font-sans>\n <NuxtLoadingIndicator />\n <NLoading v-if=\"waiting\">\n Connecting....\n </NLoading>\n <div\n v-show=\"!waiting\"\n id=\"nuxt-devtools-app\"\n class=\"grid grid-cols-[1fr]\"\n h-full h-screen of-hidden rounded-xl bg-base font-sans\n >\n <!-- Single-tab view: the shared-frame anchor mounts the current tab\n directly; the Vite DevTools dock provides navigation between tabs. -->\n <NuxtLayout>\n <NuxtPage />\n </NuxtLayout>\n <CommandPalette />\n </div>\n <DisconnectIndicator v-if=\"showDisconnectIndicator\" />\n <RestartDialogs />\n <div v-lazy-show=\"dataSchema\">\n <LazyDataSchemaDrawer />\n </div>\n </div>\n</template>\n","<template>\n <ErrorTemplate v-bind=\"{ status, statusText, description, stack }\" />\n</template>\n\n<script setup>\nimport { defineAsyncComponent } from 'vue'\nimport { escapeHtml } from '@vue/shared'\n\nconst props = defineProps({\n error: Object,\n})\n\n// Deliberately prevent reactive update when error is cleared\nconst _error = props.error\n\n// TODO: extract to a separate utility\nconst stacktrace = import.meta.dev && _error.stack\n ? _error.stack\n .split('\\n')\n .splice(1)\n .map((line) => {\n const text = line\n .replace('webpack:/', '')\n .replace('.vue', '.js') // TODO: Support sourcemap\n .trim()\n return {\n text,\n internal: (line.includes('node_modules') && !line.includes('.cache')) ||\n line.includes('internal') ||\n line.includes('new Promise'),\n }\n }).map(i => `<span class=\"stack${i.internal ? ' internal' : ''}\">${escapeHtml(i.text)}</span>`).join('\\n')\n : ''\n\n// Error page props\nconst status = Number(_error.status || 500)\nconst is404 = status === 404\n\nconst statusText = _error.statusText ?? (is404 ? 'Page Not Found' : 'Internal Server Error')\nconst description = _error.message || _error.toString()\nconst stack = import.meta.dev && !is404 ? _error.description || `<pre>${stacktrace}</pre>` : undefined\n\n// TODO: Investigate side-effect issue with imports\nconst _Error404 = defineAsyncComponent(() => import('./error-404.vue'))\nconst _Error = defineAsyncComponent(() => import('./error-500.vue'))\n\nconst ErrorTemplate = is404 ? _Error404 : _Error\n</script>\n","const IslandRenderer = () => null\nexport default IslandRenderer","<template>\n <Suspense @resolve=\"onResolve\">\n <div v-if=\"abortRender\" />\n <ErrorComponent\n v-else-if=\"error\"\n :error=\"error\"\n />\n <IslandRenderer\n v-else-if=\"islandContext\"\n :context=\"islandContext\"\n />\n <component\n :is=\"SingleRenderer\"\n v-else-if=\"SingleRenderer\"\n />\n <AppComponent v-else />\n </Suspense>\n</template>\n\n<script setup>\nimport { defineAsyncComponent, onErrorCaptured, onServerPrefetch, provide } from 'vue'\nimport { useNuxtApp } from '../nuxt'\nimport { _notifyCrawlerError, isNuxtError, showError, useError } from '../composables/error'\nimport { isBotUserAgent } from '../utils'\nimport { appDiagnostics } from '../diagnostics/core'\nimport { useRoute, useRouter } from '../composables/router'\nimport { PageRouteSymbol } from '../components/injections'\nimport AppComponent from '#build/app-component.mjs'\nimport ErrorComponent from '#build/error-component.mjs'\nimport IslandRenderer from '#build/island-renderer.mjs'\n\nconst nuxtApp = useNuxtApp()\nconst onResolve = nuxtApp.deferHydration()\nif (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce('app:error', onResolve)\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook()\n removeGuard()\n })\n}\n\nconst url = import.meta.server ? nuxtApp.ssrContext.url : window.location.pathname\nconst SingleRenderer = import.meta.test && import.meta.dev && import.meta.server && url.startsWith('/__nuxt_component_test__/') && defineAsyncComponent(() => import('#build/test-component-wrapper.mjs')\n .then(r => r.default(import.meta.server ? url : window.location.href)))\n\n// Inject default route (outside of pages) as active route\nprovide(PageRouteSymbol, useRoute())\n\n// vue:setup hook\nconst results = nuxtApp.hooks.callHookWith(hooks => hooks.map(hook => hook()), 'vue:setup', [])\nif (import.meta.dev && results && results.some(i => i && 'then' in i)) {\n appDiagnostics.NUXT_E1011()\n}\n\n// error handling\nconst error = useError()\n// render an empty <div> when plugins have thrown an error but we're not yet rendering the error page\nconst abortRender = import.meta.server && error.value && !nuxtApp.ssrContext.error\n// returning `false` from onErrorCaptured below stops Vue from invoking\n// `app.config.errorHandler`, so call it explicitly (#22691)\nfunction invokeAppErrorHandler (err, target, info) {\n const errorHandler = nuxtApp.vueApp.config.errorHandler\n if (errorHandler && !errorHandler.__nuxt_default) {\n try {\n errorHandler(err, target, info)\n } catch (handlerError) {\n console.error('[nuxt] Error in `app.config.errorHandler`', handlerError)\n }\n }\n}\nonErrorCaptured((err, target, info) => {\n nuxtApp.hooks.callHook('vue:error', err, target, info)?.catch(hookError => console.error('[nuxt] Error in `vue:error` hook', hookError))\n if (import.meta.client && isBotUserAgent(navigator.userAgent)) {\n _notifyCrawlerError(nuxtApp, err)\n return false\n }\n if (import.meta.server || (isNuxtError(err) && (err.fatal || err.unhandled))) {\n const p = nuxtApp.runWithContext(() => showError(err))\n onServerPrefetch(() => p)\n invokeAppErrorHandler(err, target, info)\n return false // suppress error from breaking render\n }\n})\n\n// Component islands context\nconst islandContext = import.meta.server && nuxtApp.ssrContext.islandContext\n</script>\n","import { appDiagnostics } from \"./diagnostics/core.js\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport { createApp, createSSRApp, nextTick } from \"vue\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nimport \"#build/fetch-setup\";\nimport \"#build/global-polyfills.mjs\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\n//#region src/app/entry.ts\nlet entry;\nif (import.meta.server) entry = async function createNuxtAppServer(ssrContext) {\n\tconst vueApp = createApp(RootComponent);\n\tconst nuxt = createNuxtApp({\n\t\tvueApp,\n\t\tssrContext\n\t});\n\ttry {\n\t\tawait applyPlugins(nuxt, plugins);\n\t\tawait nuxt.hooks.callHook(\"app:created\", vueApp);\n\t} catch (error) {\n\t\tawait nuxt.hooks.callHook(\"app:error\", error);\n\t\tnuxt.payload.error ||= createError(error);\n\t}\n\tif (ssrContext?.[\"~renderResponse\"]) throw new Error(\"skipping render\");\n\treturn vueApp;\n};\nif (import.meta.client) {\n\tif (import.meta.dev && import.meta.webpackHot) import.meta.webpackHot.accept();\n\tlet vueAppPromise;\n\tentry = async function initApp() {\n\t\tif (vueAppPromise) return vueAppPromise;\n\t\tconst isSSR = Boolean((multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\");\n\t\tconst vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n\t\tconst nuxt = createNuxtApp({ vueApp });\n\t\tasync function handleVueError(error) {\n\t\t\tawait nuxt.callHook(\"app:error\", error);\n\t\t\tnuxt.payload.error ||= createError(error);\n\t\t}\n\t\thandleVueError.__nuxt_default = true;\n\t\tvueApp.config.errorHandler = handleVueError;\n\t\tnuxt.hook(\"app:suspense:resolve\", () => {\n\t\t\tif (vueApp.config.errorHandler === handleVueError) vueApp.config.errorHandler = void 0;\n\t\t});\n\t\tif (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) nuxt.hook(\"app:suspense:resolve\", () => {\n\t\t\tdocument.getElementById(appSpaLoaderAttrs.id)?.remove();\n\t\t});\n\t\ttry {\n\t\t\tawait applyPlugins(nuxt, plugins);\n\t\t} catch (err) {\n\t\t\thandleVueError(err);\n\t\t}\n\t\ttry {\n\t\t\tawait nuxt.hooks.callHook(\"app:created\", vueApp);\n\t\t\tawait nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n\t\t\tvueApp.mount(vueAppRootContainer);\n\t\t\tawait nuxt.hooks.callHook(\"app:mounted\", vueApp);\n\t\t\tawait nextTick();\n\t\t} catch (err) {\n\t\t\thandleVueError(err);\n\t\t}\n\t\treturn vueApp;\n\t};\n\tvueAppPromise = entry().catch((error) => {\n\t\tappDiagnostics.NUXT_E1009({ cause: error });\n\t\tthrow error;\n\t});\n}\nvar entry_default = ((ssrContext) => entry(ssrContext));\n//#endregion\nexport { entry_default as default };\n"],"version":3}