@nuxt/devtools 4.0.0-alpha.18 → 4.0.0-alpha.19

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 (64) hide show
  1. package/dist/_nuxt/{CodeDiff-C5IA82Lq.js.map.json → CodeDiff-BhzZ6fTd.js.map.json} +1 -1
  2. package/dist/_nuxt/{CodeSnippets-iUZQ267m.js.map.json → CodeSnippets-C7LxVstU.js.map.json} +1 -1
  3. package/dist/_nuxt/{ComposableItem-K51Uhl0G.js.map.json → ComposableItem-C0rRVuVk.js.map.json} +1 -1
  4. package/dist/_nuxt/{DataSchemaButton-DdHHdnES.js.map.json → DataSchemaButton-D-t7Fd9O.js.map.json} +1 -1
  5. package/dist/_nuxt/{DataSchemaDrawer-2qqeTeF6.js.map.json → DataSchemaDrawer-CRqKi4Gs.js.map.json} +1 -1
  6. package/dist/_nuxt/{FilepathItem-D6jrZnIo.js.map.json → FilepathItem-QhFtdBo3.js.map.json} +1 -1
  7. package/dist/_nuxt/{HelpFab-xcWoP6o_.js.map.json → HelpFab-DsqK9feu.js.map.json} +1 -1
  8. package/dist/_nuxt/{LaunchPage-DVRrHA9i.js.map.json → LaunchPage-DvnAdXoI.js.map.json} +1 -1
  9. package/dist/_nuxt/{NCheckbox-Cq1GuyrF.js.map.json → NCheckbox-C4hTNEJ1.js.map.json} +1 -1
  10. package/dist/_nuxt/{NDrawer-C_ZAB3z9.js.map.json → NDrawer-CkklqKLr.js.map.json} +1 -1
  11. package/dist/_nuxt/{NDropdown-CzJi2B9y.js.map.json → NDropdown-CgrUsKt7.js.map.json} +1 -1
  12. package/dist/_nuxt/{NIcon-B-t2-q1r.js.map.json → NIcon-50gk2nbO.js.map.json} +1 -1
  13. package/dist/_nuxt/{NLink-DIWpT2C-.js.map.json → NLink-CatISrot.js.map.json} +1 -1
  14. package/dist/_nuxt/{NNavbar-BShfBHAc.js.map.json → NNavbar-Du6Evn0c.js.map.json} +1 -1
  15. package/dist/_nuxt/{NSectionBlock-Cm4pPEIM.js.map.json → NSectionBlock-CWogkb2Y.js.map.json} +1 -1
  16. package/dist/_nuxt/{NSelect-9Nk3v_sQ.js.map.json → NSelect-C1Q6pEoo.js.map.json} +1 -1
  17. package/dist/_nuxt/{NSelectTabs-D8amX2yN.js.map.json → NSelectTabs-ccruddjj.js.map.json} +1 -1
  18. package/dist/_nuxt/{NSplitPane-CWyIovAp.js.map.json → NSplitPane-CtaObqWQ.js.map.json} +1 -1
  19. package/dist/_nuxt/{NTip-BVi1j0Ir.js.map.json → NTip-DdMJ2p97.js.map.json} +1 -1
  20. package/dist/_nuxt/{ServerRouteInputs-lclUilqu.js.map.json → ServerRouteInputs-Y1oZjFFT.js.map.json} +1 -1
  21. package/dist/_nuxt/{StacktraceList-BUhKgrAv.js.map.json → StacktraceList-c-F2IS3F.js.map.json} +1 -1
  22. package/dist/_nuxt/{StateEditor-D_NCPzZq.js.map.json → StateEditor-CDR7gMTz.js.map.json} +1 -1
  23. package/dist/_nuxt/{__blank-BgoalQAL.js.map.json → __blank-C9tG8tKE.js.map.json} +1 -1
  24. package/dist/_nuxt/{analyze-build-DSk_N3wx.js.map.json → analyze-build-BqtehgeE.js.map.json} +1 -1
  25. package/dist/_nuxt/{assets-6seYEHqs.js.map.json → assets-BuVkFuYO.js.map.json} +1 -1
  26. package/dist/_nuxt/{components-CTVOL1-D.js.map.json → components-uGD7fpTl.js.map.json} +1 -1
  27. package/dist/_nuxt/{custom-_name_-DRWuAoZa.js.map.json → custom-_name_-CL9ijc8K.js.map.json} +1 -1
  28. package/dist/_nuxt/{debug-CpWOyAbK.js.map.json → debug-D10Jwem2.js.map.json} +1 -1
  29. package/dist/_nuxt/{entry-uV9FV_26.js.map.json → entry-CqsJq8Bj.js.map.json} +1 -1
  30. package/dist/_nuxt/{error-404-BN7jSsJU.js.map.json → error-404-B3hvNTTL.js.map.json} +1 -1
  31. package/dist/_nuxt/{error-500-CX60RT79.js.map.json → error-500-C707LWWo.js.map.json} +1 -1
  32. package/dist/_nuxt/{error-YOq9ydYM.js.map.json → error-D03t_7ms.js.map.json} +1 -1
  33. package/dist/_nuxt/{head-Q3WHkZN-.js.map.json → head-BHeO3WM1.js.map.json} +1 -1
  34. package/dist/_nuxt/{hooks-Dfejz2-5.js.map.json → hooks-Dao-RDzo.js.map.json} +1 -1
  35. package/dist/_nuxt/{imports-CCepJr4G.js.map.json → imports-CY-qGueB.js.map.json} +1 -1
  36. package/dist/_nuxt/{modules-CDEu6e8J.js.map.json → modules-BTU4bGX2.js.map.json} +1 -1
  37. package/dist/_nuxt/{nuxt-B-ZgUV2U.js.map.json → nuxt-CU0ot_Hr.js.map.json} +1 -1
  38. package/dist/_nuxt/{nuxt-link-X36zPJaC.js.map.json → nuxt-link-DVKhBKYR.js.map.json} +1 -1
  39. package/dist/_nuxt/{open-graph-RnltEfE1.js.map.json → open-graph-DrWy0sHo.js.map.json} +1 -1
  40. package/dist/_nuxt/{overview-0981_RjH.js.map.json → overview-DMlMZwOJ.js.map.json} +1 -1
  41. package/dist/_nuxt/{pages-Dv_rq-A5.js.map.json → pages-BqpyOhlp.js.map.json} +1 -1
  42. package/dist/_nuxt/{pages-c-R2EyNA.js.map.json → pages-Dpy3RGh8.js.map.json} +1 -1
  43. package/dist/_nuxt/{pages-BJY0ZMcV.js.map.json → pages-SVg8-7rL.js.map.json} +1 -1
  44. package/dist/_nuxt/{payload-EEc-a5Rs.js.map.json → payload-B4tGg_yJ.js.map.json} +1 -1
  45. package/dist/_nuxt/{plugins-DBU4EaVz.js.map.json → plugins-sOeLpXdK.js.map.json} +1 -1
  46. package/dist/_nuxt/{ready-B0tgRAWs.js.map.json → ready-DyAGZGXh.js.map.json} +1 -1
  47. package/dist/_nuxt/{runtime-configs-eyjqyWy0.js.map.json → runtime-configs-CKsHjoDA.js.map.json} +1 -1
  48. package/dist/_nuxt/{server-routes-CmFWvg0q.js.map.json → server-routes-Dr4xIhnL.js.map.json} +1 -1
  49. package/dist/_nuxt/{server-tasks-y13wW_sS.js.map.json → server-tasks-DVSMIJ23.js.map.json} +1 -1
  50. package/dist/_nuxt/{settings-CQHWdQH5.js.map.json → settings-ClAb5Ncw.js.map.json} +1 -1
  51. package/dist/_nuxt/{state-components-BtOK14JS.js.map.json → state-components-CUy4qfKa.js.map.json} +1 -1
  52. package/dist/_nuxt/{state-modules-B1t4RCwZ.js.map.json → state-modules-BiTBg3sT.js.map.json} +1 -1
  53. package/dist/_nuxt/{state-tabs-DgyOko_b.js.map.json → state-tabs-DyXoC_gu.js.map.json} +1 -1
  54. package/dist/_nuxt/{storage-CL3RFmxG.js.map.json → storage-Bl77u--J.js.map.json} +1 -1
  55. package/dist/_nuxt/{timeline-CrhB_ydt.js.map.json → timeline-RijyQyqW.js.map.json} +1 -1
  56. package/dist/_nuxt/{utils-DdQYVRed.js.map.json → utils-B-D4Pftb.js.map.json} +1 -1
  57. package/dist/_nuxt/{virtual-files-WqYqMpE0.js.map.json → virtual-files-DKOje2lN.js.map.json} +1 -1
  58. package/dist/chunks/analyze-build.mjs +1 -1
  59. package/dist/chunks/module-main.mjs +34 -22
  60. package/dist/chunks/vite-inspect.mjs +1 -1
  61. package/dist/index.mjs.map.json +1 -1
  62. package/dist/module.json +1 -1
  63. package/dist/server.mjs.map.json +1 -1
  64. package/package.json +19 -19
@@ -1 +1 @@
1
- {"file":"pages-Dv_rq-A5.js","mappings":"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","names":[],"sources":["../../../../../../../../components/RoutePathItem.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/RoutePathItem.vue","../../../../../../../../components/RoutesTable.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/RoutesTable.vue","../../../../../../../../components/docs/pages.md","../../../../../../../../pages/modules/pages.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/pages.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, withModifiers as _withModifiers } from \"vue\"\nimport { ssrRenderAttrs as _ssrRenderAttrs, ssrRenderClass as _ssrRenderClass, ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { RouteInfo } from '~~/../src/types'\nimport { computed, ref } from 'vue'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'RoutePathItem',\n __ssrInlineRender: true,\n props: {\n route: {}\n },\n emits: [\"navigate\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\nconst emit = __emit\nconst EXPRESS_PARAM_RE = /(:\\w+[?*]?(?:\\(\\))?)/\nconst TRAILING_PARENS_RE = /\\(\\)$/\nconst MULTI_SLASH_RE = /\\/+/g\n\nconst partsInput = ref<string[]>([])\nconst parts = computed(() => {\n const _ = parseExpressRoute(props.route.path)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n partsInput.value = Array.from<string>({ length: _.length }).fill('')\n return _\n})\n\nfunction parseExpressRoute(route: string) {\n return route\n .split(EXPRESS_PARAM_RE)\n .filter(Boolean)\n .map(i => i[0] === ':'\n ? i.replace(TRAILING_PARENS_RE, '?')\n : i)\n}\n\nconst path = computed(() => parts.value\n .map(\n (i, idx) => i[0] === ':'\n ? partsInput.value[idx]\n : i,\n )\n .join('')\n .replace(MULTI_SLASH_RE, '/'))\nconst hasWildcard = computed(() => props.route.path.includes(':'))\n\nfunction navigate() {\n emit('navigate', path.value)\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_VDropdown = _resolveComponent(\"VDropdown\")!\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n if (!hasWildcard.value) {\n _push(`<button${\n _ssrRenderAttrs(_attrs)\n }><code>${\n _ssrInterpolate(__props.route.path)\n }</code></button>`)\n } else {\n _push(_ssrRenderComponent(_component_VDropdown, _attrs, {\n popper: _withCtx(({ hide }, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div p2${\n _scopeId\n }><form flex=\"~ col\"${\n _scopeId\n }>`)\n if (hasWildcard.value) {\n _push(`<!--[--><div px2 text-sm op50${\n _scopeId\n }> Fill params and navigate: </div><div flex=\"~\" items-center p2 text-sm font-mono${\n _scopeId\n }><!--[-->`)\n _ssrRenderList(parts.value, (part, idx) => {\n _push(`<!--[-->`)\n if (part[0] === ':') {\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: partsInput.value[idx],\n \"onUpdate:modelValue\": ($event: any) => ((partsInput.value[idx]) = $event),\n \"w-20\": \"\",\n \"n-sm\": \"\",\n placeholder: part.slice(1)\n }, null, _parent, _scopeId))\n } else {\n _push(`<span${\n _scopeId\n }>${\n _ssrInterpolate(part)\n }</span>`)\n }\n _push(`<!--]-->`)\n })\n _push(`<!--]--></div><!--]-->`)\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_NButton, {\n type: \"submit\",\n block: \"\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Navigate `)\n } else {\n return [\n _createTextVNode(\" Navigate \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</form></div>`)\n } else {\n return [\n _createVNode(\"div\", { p2: \"\" }, [\n _createVNode(\"form\", {\n flex: \"~ col\",\n onSubmit: _withModifiers(() => { navigate(); hide() }, [\"prevent\"])\n }, [\n (hasWildcard.value)\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(\"div\", {\n px2: \"\",\n \"text-sm\": \"\",\n op50: \"\"\n }, \" Fill params and navigate: \"),\n _createVNode(\"div\", {\n flex: \"~\",\n \"items-center\": \"\",\n p2: \"\",\n \"text-sm\": \"\",\n \"font-mono\": \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(parts.value, (part, idx) => {\n return (_openBlock(), _createBlock(_Fragment, { key: idx }, [\n (part[0] === ':')\n ? (_openBlock(), _createBlock(_component_NTextInput, {\n key: 0,\n modelValue: partsInput.value[idx],\n \"onUpdate:modelValue\": ($event: any) => ((partsInput.value[idx]) = $event),\n \"w-20\": \"\",\n \"n-sm\": \"\",\n placeholder: part.slice(1)\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"placeholder\"]))\n : (_openBlock(), _createBlock(\"span\", { key: 1 }, _toDisplayString(part), 1))\n ], 64))\n }), 128))\n ])\n ], 64))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_NButton, {\n type: \"submit\",\n block: \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Navigate \")\n ]),\n _: 1\n })\n ], 40, [\"onSubmit\"])\n ])\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<code block cursor-pointer${_scopeId}><!--[-->`)\n _ssrRenderList(parts.value, (part, idx) => {\n _push(`<span class=\"${\n _ssrRenderClass(part[0] === ':' ? 'text-gray border border-dashed rounded border-gray:50 px1' : '')\n }\"${\n _scopeId\n }>${\n _ssrInterpolate(part[0] === ':' ? part.slice(1) : part)\n }</span>`)\n })\n _push(`<!--]--></code>`)\n } else {\n return [\n _createVNode(\"code\", {\n block: \"\",\n \"cursor-pointer\": \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(parts.value, (part, idx) => {\n return (_openBlock(), _createBlock(\"span\", {\n key: idx,\n class: part[0] === ':' ? 'text-gray border border-dashed rounded border-gray:50 px1' : ''\n }, _toDisplayString(part[0] === ':' ? part.slice(1) : part), 3))\n }), 128))\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { RouteInfo } from '~~/../src/types'\nimport { computed, ref } from 'vue'\n\nconst props = defineProps<{\n route: RouteInfo\n}>()\nconst emit = defineEmits<{\n (e: 'navigate', path: string): void\n}>()\nconst EXPRESS_PARAM_RE = /(:\\w+[?*]?(?:\\(\\))?)/\nconst TRAILING_PARENS_RE = /\\(\\)$/\nconst MULTI_SLASH_RE = /\\/+/g\n\nconst partsInput = ref<string[]>([])\nconst parts = computed(() => {\n const _ = parseExpressRoute(props.route.path)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n partsInput.value = Array.from<string>({ length: _.length }).fill('')\n return _\n})\n\nfunction parseExpressRoute(route: string) {\n return route\n .split(EXPRESS_PARAM_RE)\n .filter(Boolean)\n .map(i => i[0] === ':'\n ? i.replace(TRAILING_PARENS_RE, '?')\n : i)\n}\n\nconst path = computed(() => parts.value\n .map(\n (i, idx) => i[0] === ':'\n ? partsInput.value[idx]\n : i,\n )\n .join('')\n .replace(MULTI_SLASH_RE, '/'))\nconst hasWildcard = computed(() => props.route.path.includes(':'))\n\nfunction navigate() {\n emit('navigate', path.value)\n}\n</script>\n\n<template>\n <button v-if=\"!hasWildcard\" @click=\"navigate\">\n <code>{{ route.path }}</code>\n </button>\n <VDropdown v-else>\n <code block cursor-pointer>\n <span\n v-for=\"part, idx of parts\" :key=\"idx\"\n :class=\"part[0] === ':' ? 'text-gray border border-dashed rounded border-gray:50 px1' : ''\"\n >\n {{ part[0] === ':' ? part.slice(1) : part }}\n </span>\n </code>\n <template #popper=\"{ hide }\">\n <div p2>\n <form flex=\"~ col\" @submit.prevent=\"() => { navigate(); hide() }\">\n <template v-if=\"hasWildcard\">\n <div px2 text-sm op50>\n Fill params and navigate:\n </div>\n <div flex=\"~\" items-center p2 text-sm font-mono>\n <template v-for=\"part, idx of parts\" :key=\"idx\">\n <NTextInput\n v-if=\"part[0] === ':'\"\n v-model=\"partsInput[idx]\"\n w-20 n-sm\n :placeholder=\"part.slice(1)\"\n />\n <span v-else>{{ part }}</span>\n </template>\n </div>\n </template>\n <NButton type=\"submit\" block n=\"primary\">\n Navigate\n </NButton>\n </form>\n </div>\n </template>\n </VDropdown>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { NuxtLayout } from 'nuxt/schema'\nimport type { RouteInfo } from '~/../src/types'\nimport { computed } from 'vue'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useServerApp } from '~/composables/state'\nimport { useCopy } from '../composables/editor'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'RoutesTable',\n __ssrInlineRender: true,\n props: {\n pages: {},\n layouts: {},\n matched: {},\n matchedPending: {}\n },\n emits: [\"navigate\"],\n setup(__props: any) {\n\nconst props = __props\n\n\n\nconst openInEditor = useOpenInEditor()\nconst serverApp = useServerApp()\nconst copy = useCopy()\n\nconst sorted = computed(() => {\n return props.pages.toSorted((a, b) => a.path.localeCompare(b.path))\n})\n\nfunction openLayout(name: string) {\n const layout = props.layouts.find(i => i.name === name)\n if (layout)\n openInEditor(layout.file)\n}\n\nfunction getMiddlewarePath(name: any) {\n if (typeof name !== 'string')\n return\n return serverApp.value?.middleware.find(i => i.name === name)?.path\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NBadge = _resolveComponent(\"NBadge\")!\n const _component_RoutePathItem = _resolveComponent(\"RoutePathItem\")!\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n \"max-w-full\": \"\",\n \"of-auto\": \"\"\n }, _attrs))}><table w-full><thead border=\"b base\"><tr><th text-left></th><th text-left> Route Path </th><th text-left> Name </th><th text-left> Middleware </th><th> Layout </th></tr></thead><tbody><!--[-->`)\n _ssrRenderList(sorted.value, (item) => {\n _push(`<tr class=\"group\" h-7 border=\"b dashed transparent hover:base\"><td w-20 pr-1><div flex items-center justify-end>`)\n if (__props.matched.find(m => m.name === item.name)) {\n _push(_ssrRenderComponent(_component_NBadge, {\n n: \"green\",\n title: \"active\"\n }, null, _parent))\n } else if (__props.matchedPending.find(m => m.name === item.name)) {\n _push(_ssrRenderComponent(_component_NBadge, {\n n: \"teal\",\n title: \"next\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div></td><td text-sm><div flex=\"inline gap3\" items-center>`)\n _push(_ssrRenderComponent(_component_RoutePathItem, {\n route: item,\n class: __props.matched.find(m => m.name === item.name) ? 'text-primary' : __props.matchedPending.find(m => m.name === item.name) ? 'text-teal' : '',\n \"ws-nowrap\": \"\",\n onNavigate: path => _ctx.$emit('navigate', path)\n }, null, _parent))\n _push(`<div flex=\"~ gap1\" pr2 op0 group-hover:op100>`)\n if (item.file || item.meta?.file) {\n _push(`<button text-sm op40 hover=\"op100 text-primary\" title=\"Open in editor\"><div i-carbon-script-reference></div></button>`)\n } else {\n _push(`<!---->`)\n }\n if (item.file || item.meta?.file) {\n _push(`<button text-sm op40 hover=\"op100 text-primary\" title=\"Copy path\"><div i-carbon-copy></div></button>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div></div></td><td w-0 ws-nowrap pr-1 text-left text-sm font-mono op50>${_ssrInterpolate(item.name)}</td><td w-0 ws-nowrap pr-1 text-center text-sm font-mono op50>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: getMiddlewarePath(item.meta.middleware),\n override: `${item.meta.middleware || '-'}`\n }, null, _parent))\n _push(`</td><td w-0 ws-nowrap text-center text-sm font-mono>`)\n if (item.meta.layout === false) {\n _push(`<span>-</span>`)\n } else if (item.meta.layout) {\n _push(`<button>${_ssrInterpolate(item.meta.layout)}</button>`)\n } else {\n _push(`<button text-sm op15> (default) </button>`)\n }\n _push(`</td></tr>`)\n })\n _push(`<!--]--></tbody></table></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { NuxtLayout } from 'nuxt/schema'\nimport type { RouteInfo } from '~/../src/types'\nimport { computed } from 'vue'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useServerApp } from '~/composables/state'\nimport { useCopy } from '../composables/editor'\n\nconst props = defineProps<{\n pages: RouteInfo[]\n layouts: NuxtLayout[]\n matched: RouteInfo[]\n matchedPending: RouteInfo[]\n}>()\n\ndefineEmits<{\n (e: 'navigate', path: string): void\n}>()\n\nconst openInEditor = useOpenInEditor()\nconst serverApp = useServerApp()\nconst copy = useCopy()\n\nconst sorted = computed(() => {\n return props.pages.toSorted((a, b) => a.path.localeCompare(b.path))\n})\n\nfunction openLayout(name: string) {\n const layout = props.layouts.find(i => i.name === name)\n if (layout)\n openInEditor(layout.file)\n}\n\nfunction getMiddlewarePath(name: any) {\n if (typeof name !== 'string')\n return\n return serverApp.value?.middleware.find(i => i.name === name)?.path\n}\n</script>\n\n<template>\n <div max-w-full of-auto>\n <table w-full>\n <thead border=\"b base\">\n <tr>\n <th text-left />\n <th text-left>\n Route Path\n </th>\n <th text-left>\n Name\n </th>\n <th text-left>\n Middleware\n </th>\n <th>\n Layout\n </th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"item of sorted\" :key=\"item.name\" class=\"group\" h-7 border=\"b dashed transparent hover:base\">\n <td w-20 pr-1>\n <div flex items-center justify-end>\n <NBadge\n v-if=\"matched.find(m => m.name === item.name)\"\n n=\"green\"\n title=\"active\"\n v-text=\"'active'\"\n />\n <NBadge\n v-else-if=\"matchedPending.find(m => m.name === item.name)\"\n n=\"teal\"\n title=\"next\"\n v-text=\"'next'\"\n />\n </div>\n </td>\n <td text-sm>\n <div flex=\"inline gap3\" items-center>\n <RoutePathItem\n :route=\"item\"\n :class=\"matched.find(m => m.name === item.name) ? 'text-primary' : matchedPending.find(m => m.name === item.name) ? 'text-teal' : ''\"\n ws-nowrap\n @navigate=\"path => $emit('navigate', path)\"\n />\n <div flex=\"~ gap1\" pr2 op0 group-hover:op100>\n <button\n v-if=\"item.file || item.meta?.file\"\n text-sm op40 hover=\"op100 text-primary\"\n title=\"Open in editor\"\n @click=\"openInEditor((item.file || item.meta?.file) as string)\"\n >\n <div i-carbon-script-reference />\n </button>\n <button\n v-if=\"item.file || item.meta?.file\"\n text-sm op40 hover=\"op100 text-primary\"\n title=\"Copy path\"\n @click=\"copy((item.file || item.meta?.file) as string)\"\n >\n <div i-carbon-copy />\n </button>\n </div>\n </div>\n </td>\n <td w-0 ws-nowrap pr-1 text-left text-sm font-mono op50>\n {{ item.name }}\n </td>\n <td w-0 ws-nowrap pr-1 text-center text-sm font-mono op50>\n <FilepathItem\n :filepath=\"getMiddlewarePath(item.meta.middleware)\"\n :override=\"`${item.meta.middleware || '-'}`\"\n />\n </td>\n <td w-0 ws-nowrap text-center text-sm font-mono>\n <span v-if=\"item.meta.layout === false\">-</span>\n <button v-else-if=\"item.meta.layout\" @click=\"openLayout(item.meta.layout as string)\">\n {{ item.meta.layout }}\n </button>\n <button v-else text-sm op15 @click=\"openLayout('default')\">\n (default)\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</template>\n","# Pages\n\nNuxt provides a file-based routing to create routes within your web application using Vue Router under the hood. Pages are Vue components and can have any valid extension that Nuxt supports (by default .vue, .js, .jsx, .mjs, .ts or .tsx). Nuxt will automatically create a route for every page in your `~/pages/` directory.\n\n[Learn more in the documentation](https://nuxt.com/docs/getting-started/routing)\n\n---\n\n## Middlewares\n\nNuxt provides a customizable route middleware framework that can be used throughout the application. This is ideal for extracting code that needs to run before navigating to a particular route.\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/directory-structure/middleware)\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})","<script setup lang=\"ts\">\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\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</script>\n\n<template>\n <div v-if=\"config?.pages && router\" h-full of-auto>\n <div border=\"b base\" flex=\"~ col gap1\" n-navbar-glass px4 py3>\n <div>\n <template v-if=\"currentRoute !== routeInput\">\n <span op50>Navigate from </span>\n <span font-mono>{{ currentRoute }}</span>\n <span op50> to </span>\n </template>\n <template v-else>\n <span op50>Current route</span>\n </template>\n </div>\n <NTextInput\n v-model=\"routeInput\"\n font-mono\n icon=\"carbon-direction-right-01 scale-y--100\"\n :class=\"currentRoute === routeInput ? '' : routeInputMatched.length ? 'text-green' : 'text-orange'\"\n @keydown.enter=\"navigate\"\n />\n <div>\n <template v-if=\"currentRoute !== routeInput\">\n <span>Press <b font-bold>Enter</b> to navigate</span>\n <span v-if=\"!routeInputMatched.length\" text-orange op75> (no match)</span>\n </template>\n <template v-else>\n <span op50>Edit path above to navigate</span>\n </template>\n </div>\n </div>\n <NSectionBlock\n icon=\"carbon-tree-view\"\n text=\"Matched Routes\"\n :padding=\"false\"\n >\n <div min-h-14>\n <RoutesTable\n v-if=\"routeInputMatched.length\"\n :pages=\"routeInputMatched\"\n :layouts=\"layouts || []\"\n :matched=\"route.matched\"\n :matched-pending=\"routeInputMatched\"\n @navigate=\"navigateToRoute\"\n />\n <div v-else class=\"py-4 text-center\">\n <span op50>No routes matched</span>\n </div>\n </div>\n </NSectionBlock>\n <NSectionBlock\n icon=\"carbon-tree-view-alt\"\n text=\"All Routes\"\n :description=\"`${routes.length} routes registered in your application`\"\n padding=\"pr5\"\n >\n <RoutesTable\n :pages=\"routes\"\n :layouts=\"layouts || []\"\n :matched=\"route.matched\"\n :matched-pending=\"routeInputMatched\"\n @navigate=\"navigateToRoute\"\n />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"middleware.length\"\n icon=\"carbon:ibm-watson-studio\"\n text=\"Middleware\"\n :description=\"`${middleware.length} middleware registered in your application`\"\n padding=\"px13\"\n >\n <table w-full>\n <thead border=\"b base\" h-7>\n <tr>\n <th text-left>\n Name\n </th>\n <th text-left>\n Path\n </th>\n </tr>\n </thead>\n <tr v-for=\"m of middleware\" :key=\"m.path\" h-7>\n <td>\n <span mr1>{{ m.name }}</span>\n <NBadge\n v-if=\"m.global\"\n n=\"green\"\n title=\"Registered at runtime as a global component\"\n v-text=\"'global'\"\n />\n </td>\n <td>\n <FilepathItem :filepath=\"m.path\" />\n </td>\n </tr>\n </table>\n </NSectionBlock>\n </div>\n <LaunchPage\n v-else\n icon=\"carbon-tree-view-alt\"\n name=\"wizard-pages\"\n title=\"Nuxt Routing\"\n :description=\"`Create ${pagesPath} 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 rpc.enablePages()\n },\n },\n ]\"\n />\n\n <HelpFab>\n <DocsPages />\n </HelpFab>\n</template>\n"],"version":3}
1
+ {"file":"pages-BqpyOhlp.js","mappings":"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","names":[],"sources":["../../../../../../../../components/RoutePathItem.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/RoutePathItem.vue","../../../../../../../../components/RoutesTable.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/RoutesTable.vue","../../../../../../../../components/docs/pages.md","../../../../../../../../pages/modules/pages.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/pages.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, withModifiers as _withModifiers } from \"vue\"\nimport { ssrRenderAttrs as _ssrRenderAttrs, ssrRenderClass as _ssrRenderClass, ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { RouteInfo } from '~~/../src/types'\nimport { computed, ref } from 'vue'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'RoutePathItem',\n __ssrInlineRender: true,\n props: {\n route: {}\n },\n emits: [\"navigate\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\nconst emit = __emit\nconst EXPRESS_PARAM_RE = /(:\\w+[?*]?(?:\\(\\))?)/\nconst TRAILING_PARENS_RE = /\\(\\)$/\nconst MULTI_SLASH_RE = /\\/+/g\n\nconst partsInput = ref<string[]>([])\nconst parts = computed(() => {\n const _ = parseExpressRoute(props.route.path)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n partsInput.value = Array.from<string>({ length: _.length }).fill('')\n return _\n})\n\nfunction parseExpressRoute(route: string) {\n return route\n .split(EXPRESS_PARAM_RE)\n .filter(Boolean)\n .map(i => i[0] === ':'\n ? i.replace(TRAILING_PARENS_RE, '?')\n : i)\n}\n\nconst path = computed(() => parts.value\n .map(\n (i, idx) => i[0] === ':'\n ? partsInput.value[idx]\n : i,\n )\n .join('')\n .replace(MULTI_SLASH_RE, '/'))\nconst hasWildcard = computed(() => props.route.path.includes(':'))\n\nfunction navigate() {\n emit('navigate', path.value)\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_VDropdown = _resolveComponent(\"VDropdown\")!\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n if (!hasWildcard.value) {\n _push(`<button${\n _ssrRenderAttrs(_attrs)\n }><code>${\n _ssrInterpolate(__props.route.path)\n }</code></button>`)\n } else {\n _push(_ssrRenderComponent(_component_VDropdown, _attrs, {\n popper: _withCtx(({ hide }, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div p2${\n _scopeId\n }><form flex=\"~ col\"${\n _scopeId\n }>`)\n if (hasWildcard.value) {\n _push(`<!--[--><div px2 text-sm op50${\n _scopeId\n }> Fill params and navigate: </div><div flex=\"~\" items-center p2 text-sm font-mono${\n _scopeId\n }><!--[-->`)\n _ssrRenderList(parts.value, (part, idx) => {\n _push(`<!--[-->`)\n if (part[0] === ':') {\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: partsInput.value[idx],\n \"onUpdate:modelValue\": ($event: any) => ((partsInput.value[idx]) = $event),\n \"w-20\": \"\",\n \"n-sm\": \"\",\n placeholder: part.slice(1)\n }, null, _parent, _scopeId))\n } else {\n _push(`<span${\n _scopeId\n }>${\n _ssrInterpolate(part)\n }</span>`)\n }\n _push(`<!--]-->`)\n })\n _push(`<!--]--></div><!--]-->`)\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_NButton, {\n type: \"submit\",\n block: \"\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Navigate `)\n } else {\n return [\n _createTextVNode(\" Navigate \")\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</form></div>`)\n } else {\n return [\n _createVNode(\"div\", { p2: \"\" }, [\n _createVNode(\"form\", {\n flex: \"~ col\",\n onSubmit: _withModifiers(() => { navigate(); hide() }, [\"prevent\"])\n }, [\n (hasWildcard.value)\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(\"div\", {\n px2: \"\",\n \"text-sm\": \"\",\n op50: \"\"\n }, \" Fill params and navigate: \"),\n _createVNode(\"div\", {\n flex: \"~\",\n \"items-center\": \"\",\n p2: \"\",\n \"text-sm\": \"\",\n \"font-mono\": \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(parts.value, (part, idx) => {\n return (_openBlock(), _createBlock(_Fragment, { key: idx }, [\n (part[0] === ':')\n ? (_openBlock(), _createBlock(_component_NTextInput, {\n key: 0,\n modelValue: partsInput.value[idx],\n \"onUpdate:modelValue\": ($event: any) => ((partsInput.value[idx]) = $event),\n \"w-20\": \"\",\n \"n-sm\": \"\",\n placeholder: part.slice(1)\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"placeholder\"]))\n : (_openBlock(), _createBlock(\"span\", { key: 1 }, _toDisplayString(part), 1))\n ], 64))\n }), 128))\n ])\n ], 64))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_NButton, {\n type: \"submit\",\n block: \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Navigate \")\n ]),\n _: 1\n })\n ], 40, [\"onSubmit\"])\n ])\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<code block cursor-pointer${_scopeId}><!--[-->`)\n _ssrRenderList(parts.value, (part, idx) => {\n _push(`<span class=\"${\n _ssrRenderClass(part[0] === ':' ? 'text-gray border border-dashed rounded border-gray:50 px1' : '')\n }\"${\n _scopeId\n }>${\n _ssrInterpolate(part[0] === ':' ? part.slice(1) : part)\n }</span>`)\n })\n _push(`<!--]--></code>`)\n } else {\n return [\n _createVNode(\"code\", {\n block: \"\",\n \"cursor-pointer\": \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(parts.value, (part, idx) => {\n return (_openBlock(), _createBlock(\"span\", {\n key: idx,\n class: part[0] === ':' ? 'text-gray border border-dashed rounded border-gray:50 px1' : ''\n }, _toDisplayString(part[0] === ':' ? part.slice(1) : part), 3))\n }), 128))\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { RouteInfo } from '~~/../src/types'\nimport { computed, ref } from 'vue'\n\nconst props = defineProps<{\n route: RouteInfo\n}>()\nconst emit = defineEmits<{\n (e: 'navigate', path: string): void\n}>()\nconst EXPRESS_PARAM_RE = /(:\\w+[?*]?(?:\\(\\))?)/\nconst TRAILING_PARENS_RE = /\\(\\)$/\nconst MULTI_SLASH_RE = /\\/+/g\n\nconst partsInput = ref<string[]>([])\nconst parts = computed(() => {\n const _ = parseExpressRoute(props.route.path)\n // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n partsInput.value = Array.from<string>({ length: _.length }).fill('')\n return _\n})\n\nfunction parseExpressRoute(route: string) {\n return route\n .split(EXPRESS_PARAM_RE)\n .filter(Boolean)\n .map(i => i[0] === ':'\n ? i.replace(TRAILING_PARENS_RE, '?')\n : i)\n}\n\nconst path = computed(() => parts.value\n .map(\n (i, idx) => i[0] === ':'\n ? partsInput.value[idx]\n : i,\n )\n .join('')\n .replace(MULTI_SLASH_RE, '/'))\nconst hasWildcard = computed(() => props.route.path.includes(':'))\n\nfunction navigate() {\n emit('navigate', path.value)\n}\n</script>\n\n<template>\n <button v-if=\"!hasWildcard\" @click=\"navigate\">\n <code>{{ route.path }}</code>\n </button>\n <VDropdown v-else>\n <code block cursor-pointer>\n <span\n v-for=\"part, idx of parts\" :key=\"idx\"\n :class=\"part[0] === ':' ? 'text-gray border border-dashed rounded border-gray:50 px1' : ''\"\n >\n {{ part[0] === ':' ? part.slice(1) : part }}\n </span>\n </code>\n <template #popper=\"{ hide }\">\n <div p2>\n <form flex=\"~ col\" @submit.prevent=\"() => { navigate(); hide() }\">\n <template v-if=\"hasWildcard\">\n <div px2 text-sm op50>\n Fill params and navigate:\n </div>\n <div flex=\"~\" items-center p2 text-sm font-mono>\n <template v-for=\"part, idx of parts\" :key=\"idx\">\n <NTextInput\n v-if=\"part[0] === ':'\"\n v-model=\"partsInput[idx]\"\n w-20 n-sm\n :placeholder=\"part.slice(1)\"\n />\n <span v-else>{{ part }}</span>\n </template>\n </div>\n </template>\n <NButton type=\"submit\" block n=\"primary\">\n Navigate\n </NButton>\n </form>\n </div>\n </template>\n </VDropdown>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { NuxtLayout } from 'nuxt/schema'\nimport type { RouteInfo } from '~/../src/types'\nimport { computed } from 'vue'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useServerApp } from '~/composables/state'\nimport { useCopy } from '../composables/editor'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'RoutesTable',\n __ssrInlineRender: true,\n props: {\n pages: {},\n layouts: {},\n matched: {},\n matchedPending: {}\n },\n emits: [\"navigate\"],\n setup(__props: any) {\n\nconst props = __props\n\n\n\nconst openInEditor = useOpenInEditor()\nconst serverApp = useServerApp()\nconst copy = useCopy()\n\nconst sorted = computed(() => {\n return props.pages.toSorted((a, b) => a.path.localeCompare(b.path))\n})\n\nfunction openLayout(name: string) {\n const layout = props.layouts.find(i => i.name === name)\n if (layout)\n openInEditor(layout.file)\n}\n\nfunction getMiddlewarePath(name: any) {\n if (typeof name !== 'string')\n return\n return serverApp.value?.middleware.find(i => i.name === name)?.path\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NBadge = _resolveComponent(\"NBadge\")!\n const _component_RoutePathItem = _resolveComponent(\"RoutePathItem\")!\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n \"max-w-full\": \"\",\n \"of-auto\": \"\"\n }, _attrs))}><table w-full><thead border=\"b base\"><tr><th text-left></th><th text-left> Route Path </th><th text-left> Name </th><th text-left> Middleware </th><th> Layout </th></tr></thead><tbody><!--[-->`)\n _ssrRenderList(sorted.value, (item) => {\n _push(`<tr class=\"group\" h-7 border=\"b dashed transparent hover:base\"><td w-20 pr-1><div flex items-center justify-end>`)\n if (__props.matched.find(m => m.name === item.name)) {\n _push(_ssrRenderComponent(_component_NBadge, {\n n: \"green\",\n title: \"active\"\n }, null, _parent))\n } else if (__props.matchedPending.find(m => m.name === item.name)) {\n _push(_ssrRenderComponent(_component_NBadge, {\n n: \"teal\",\n title: \"next\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div></td><td text-sm><div flex=\"inline gap3\" items-center>`)\n _push(_ssrRenderComponent(_component_RoutePathItem, {\n route: item,\n class: __props.matched.find(m => m.name === item.name) ? 'text-primary' : __props.matchedPending.find(m => m.name === item.name) ? 'text-teal' : '',\n \"ws-nowrap\": \"\",\n onNavigate: path => _ctx.$emit('navigate', path)\n }, null, _parent))\n _push(`<div flex=\"~ gap1\" pr2 op0 group-hover:op100>`)\n if (item.file || item.meta?.file) {\n _push(`<button text-sm op40 hover=\"op100 text-primary\" title=\"Open in editor\"><div i-carbon-script-reference></div></button>`)\n } else {\n _push(`<!---->`)\n }\n if (item.file || item.meta?.file) {\n _push(`<button text-sm op40 hover=\"op100 text-primary\" title=\"Copy path\"><div i-carbon-copy></div></button>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div></div></td><td w-0 ws-nowrap pr-1 text-left text-sm font-mono op50>${_ssrInterpolate(item.name)}</td><td w-0 ws-nowrap pr-1 text-center text-sm font-mono op50>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: getMiddlewarePath(item.meta.middleware),\n override: `${item.meta.middleware || '-'}`\n }, null, _parent))\n _push(`</td><td w-0 ws-nowrap text-center text-sm font-mono>`)\n if (item.meta.layout === false) {\n _push(`<span>-</span>`)\n } else if (item.meta.layout) {\n _push(`<button>${_ssrInterpolate(item.meta.layout)}</button>`)\n } else {\n _push(`<button text-sm op15> (default) </button>`)\n }\n _push(`</td></tr>`)\n })\n _push(`<!--]--></tbody></table></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { NuxtLayout } from 'nuxt/schema'\nimport type { RouteInfo } from '~/../src/types'\nimport { computed } from 'vue'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useServerApp } from '~/composables/state'\nimport { useCopy } from '../composables/editor'\n\nconst props = defineProps<{\n pages: RouteInfo[]\n layouts: NuxtLayout[]\n matched: RouteInfo[]\n matchedPending: RouteInfo[]\n}>()\n\ndefineEmits<{\n (e: 'navigate', path: string): void\n}>()\n\nconst openInEditor = useOpenInEditor()\nconst serverApp = useServerApp()\nconst copy = useCopy()\n\nconst sorted = computed(() => {\n return props.pages.toSorted((a, b) => a.path.localeCompare(b.path))\n})\n\nfunction openLayout(name: string) {\n const layout = props.layouts.find(i => i.name === name)\n if (layout)\n openInEditor(layout.file)\n}\n\nfunction getMiddlewarePath(name: any) {\n if (typeof name !== 'string')\n return\n return serverApp.value?.middleware.find(i => i.name === name)?.path\n}\n</script>\n\n<template>\n <div max-w-full of-auto>\n <table w-full>\n <thead border=\"b base\">\n <tr>\n <th text-left />\n <th text-left>\n Route Path\n </th>\n <th text-left>\n Name\n </th>\n <th text-left>\n Middleware\n </th>\n <th>\n Layout\n </th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"item of sorted\" :key=\"item.name\" class=\"group\" h-7 border=\"b dashed transparent hover:base\">\n <td w-20 pr-1>\n <div flex items-center justify-end>\n <NBadge\n v-if=\"matched.find(m => m.name === item.name)\"\n n=\"green\"\n title=\"active\"\n v-text=\"'active'\"\n />\n <NBadge\n v-else-if=\"matchedPending.find(m => m.name === item.name)\"\n n=\"teal\"\n title=\"next\"\n v-text=\"'next'\"\n />\n </div>\n </td>\n <td text-sm>\n <div flex=\"inline gap3\" items-center>\n <RoutePathItem\n :route=\"item\"\n :class=\"matched.find(m => m.name === item.name) ? 'text-primary' : matchedPending.find(m => m.name === item.name) ? 'text-teal' : ''\"\n ws-nowrap\n @navigate=\"path => $emit('navigate', path)\"\n />\n <div flex=\"~ gap1\" pr2 op0 group-hover:op100>\n <button\n v-if=\"item.file || item.meta?.file\"\n text-sm op40 hover=\"op100 text-primary\"\n title=\"Open in editor\"\n @click=\"openInEditor((item.file || item.meta?.file) as string)\"\n >\n <div i-carbon-script-reference />\n </button>\n <button\n v-if=\"item.file || item.meta?.file\"\n text-sm op40 hover=\"op100 text-primary\"\n title=\"Copy path\"\n @click=\"copy((item.file || item.meta?.file) as string)\"\n >\n <div i-carbon-copy />\n </button>\n </div>\n </div>\n </td>\n <td w-0 ws-nowrap pr-1 text-left text-sm font-mono op50>\n {{ item.name }}\n </td>\n <td w-0 ws-nowrap pr-1 text-center text-sm font-mono op50>\n <FilepathItem\n :filepath=\"getMiddlewarePath(item.meta.middleware)\"\n :override=\"`${item.meta.middleware || '-'}`\"\n />\n </td>\n <td w-0 ws-nowrap text-center text-sm font-mono>\n <span v-if=\"item.meta.layout === false\">-</span>\n <button v-else-if=\"item.meta.layout\" @click=\"openLayout(item.meta.layout as string)\">\n {{ item.meta.layout }}\n </button>\n <button v-else text-sm op15 @click=\"openLayout('default')\">\n (default)\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</template>\n","# Pages\n\nNuxt provides a file-based routing to create routes within your web application using Vue Router under the hood. Pages are Vue components and can have any valid extension that Nuxt supports (by default .vue, .js, .jsx, .mjs, .ts or .tsx). Nuxt will automatically create a route for every page in your `~/pages/` directory.\n\n[Learn more in the documentation](https://nuxt.com/docs/getting-started/routing)\n\n---\n\n## Middlewares\n\nNuxt provides a customizable route middleware framework that can be used throughout the application. This is ideal for extracting code that needs to run before navigating to a particular route.\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/directory-structure/middleware)\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})","<script setup lang=\"ts\">\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\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</script>\n\n<template>\n <div v-if=\"config?.pages && router\" h-full of-auto>\n <div border=\"b base\" flex=\"~ col gap1\" n-navbar-glass px4 py3>\n <div>\n <template v-if=\"currentRoute !== routeInput\">\n <span op50>Navigate from </span>\n <span font-mono>{{ currentRoute }}</span>\n <span op50> to </span>\n </template>\n <template v-else>\n <span op50>Current route</span>\n </template>\n </div>\n <NTextInput\n v-model=\"routeInput\"\n font-mono\n icon=\"carbon-direction-right-01 scale-y--100\"\n :class=\"currentRoute === routeInput ? '' : routeInputMatched.length ? 'text-green' : 'text-orange'\"\n @keydown.enter=\"navigate\"\n />\n <div>\n <template v-if=\"currentRoute !== routeInput\">\n <span>Press <b font-bold>Enter</b> to navigate</span>\n <span v-if=\"!routeInputMatched.length\" text-orange op75> (no match)</span>\n </template>\n <template v-else>\n <span op50>Edit path above to navigate</span>\n </template>\n </div>\n </div>\n <NSectionBlock\n icon=\"carbon-tree-view\"\n text=\"Matched Routes\"\n :padding=\"false\"\n >\n <div min-h-14>\n <RoutesTable\n v-if=\"routeInputMatched.length\"\n :pages=\"routeInputMatched\"\n :layouts=\"layouts || []\"\n :matched=\"route.matched\"\n :matched-pending=\"routeInputMatched\"\n @navigate=\"navigateToRoute\"\n />\n <div v-else class=\"py-4 text-center\">\n <span op50>No routes matched</span>\n </div>\n </div>\n </NSectionBlock>\n <NSectionBlock\n icon=\"carbon-tree-view-alt\"\n text=\"All Routes\"\n :description=\"`${routes.length} routes registered in your application`\"\n padding=\"pr5\"\n >\n <RoutesTable\n :pages=\"routes\"\n :layouts=\"layouts || []\"\n :matched=\"route.matched\"\n :matched-pending=\"routeInputMatched\"\n @navigate=\"navigateToRoute\"\n />\n </NSectionBlock>\n <NSectionBlock\n v-if=\"middleware.length\"\n icon=\"carbon:ibm-watson-studio\"\n text=\"Middleware\"\n :description=\"`${middleware.length} middleware registered in your application`\"\n padding=\"px13\"\n >\n <table w-full>\n <thead border=\"b base\" h-7>\n <tr>\n <th text-left>\n Name\n </th>\n <th text-left>\n Path\n </th>\n </tr>\n </thead>\n <tr v-for=\"m of middleware\" :key=\"m.path\" h-7>\n <td>\n <span mr1>{{ m.name }}</span>\n <NBadge\n v-if=\"m.global\"\n n=\"green\"\n title=\"Registered at runtime as a global component\"\n v-text=\"'global'\"\n />\n </td>\n <td>\n <FilepathItem :filepath=\"m.path\" />\n </td>\n </tr>\n </table>\n </NSectionBlock>\n </div>\n <LaunchPage\n v-else\n icon=\"carbon-tree-view-alt\"\n name=\"wizard-pages\"\n title=\"Nuxt Routing\"\n :description=\"`Create ${pagesPath} 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 rpc.enablePages()\n },\n },\n ]\"\n />\n\n <HelpFab>\n <DocsPages />\n </HelpFab>\n</template>\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"pages-c-R2EyNA.js","mappings":";;;AAQA,IAAM,kBAAkB,SAAS,CAWjC","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_58112c23abe983eafebecaf0c138de24/node_modules/nuxt-nightly/dist/pages/runtime/composables.js"],"sourcesContent":["import { appDiagnostics } from \"../../app/diagnostics/core.js\";\nimport { getCurrentInstance } from \"vue\";\nimport { isInComponentSetup, useNuxtApp } from \"#app/nuxt\";\nimport { useRoute } from \"vue-router\";\n//#region src/pages/runtime/composables.ts\nconst warnRuntimeUsage = (method) => {\n\tappDiagnostics.NUXT_E1007({ name: method });\n};\nconst definePageMeta = (meta) => {\n\tif (import.meta.dev) {\n\t\tconst component = getCurrentInstance()?.type;\n\t\ttry {\n\t\t\tif (!component && isInComponentSetup(useNuxtApp())) return;\n\t\t\tconst isRouteComponent = component && useRoute().matched.some((p) => Object.values(p.components || {}).includes(component));\n\t\t\tconst isRenderingServerPage = import.meta.server && useNuxtApp().ssrContext?.islandContext;\n\t\t\tif (isRouteComponent || isRenderingServerPage || component?.__clientOnlyPage) return;\n\t\t} catch {}\n\t\twarnRuntimeUsage(\"definePageMeta\");\n\t}\n};\n/**\n* You can define route rules for the current page. Matching route rules will be created, based on the page's _path_.\n*\n* For example, a rule defined in `~/pages/foo/bar.vue` will be applied to `/foo/bar` requests. A rule in\n* `~/pages/foo/[id].vue` will be applied to `/foo/**` requests.\n*\n* For more control, such as if you are using a custom `path` or `alias` set in the page's `definePageMeta`, you\n* should set `routeRules` directly within your `nuxt.config`.\n*/\nconst defineRouteRules = /* @__NO_SIDE_EFFECTS__ */ (rules) => {};\n//#endregion\nexport { definePageMeta, defineRouteRules };\n"],"version":3}
1
+ {"file":"pages-Dpy3RGh8.js","mappings":";;;AAQA,IAAM,kBAAkB,SAAS,CAWjC","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/nuxt-nightly@5.0.0-29806258.d070492f_@oxc-project+types@0.148.0_@parcel+watcher@2.6.0_@_e232bcb147fd638e1275d37890b37038/node_modules/nuxt-nightly/dist/pages/runtime/composables.js"],"sourcesContent":["import { appDiagnostics } from \"../../app/diagnostics/core.js\";\nimport { getCurrentInstance } from \"vue\";\nimport { isInComponentSetup, useNuxtApp } from \"#app/nuxt\";\nimport { useRoute } from \"vue-router\";\n//#region src/pages/runtime/composables.ts\nconst warnRuntimeUsage = (method) => {\n\tappDiagnostics.NUXT_E1007({ name: method });\n};\nconst definePageMeta = (meta) => {\n\tif (import.meta.dev) {\n\t\tconst component = getCurrentInstance()?.type;\n\t\ttry {\n\t\t\tif (!component && isInComponentSetup(useNuxtApp())) return;\n\t\t\tconst isRouteComponent = component && useRoute().matched.some((p) => Object.values(p.components || {}).includes(component));\n\t\t\tconst isRenderingServerPage = import.meta.server && useNuxtApp().ssrContext?.islandContext;\n\t\t\tif (isRouteComponent || isRenderingServerPage || component?.__clientOnlyPage) return;\n\t\t} catch {}\n\t\twarnRuntimeUsage(\"definePageMeta\");\n\t}\n};\n/**\n* You can define route rules for the current page. Matching route rules will be created, based on the page's _path_.\n*\n* For example, a rule defined in `~/pages/foo/bar.vue` will be applied to `/foo/bar` requests. A rule in\n* `~/pages/foo/[id].vue` will be applied to `/foo/**` requests.\n*\n* For more control, such as if you are using a custom `path` or `alias` set in the page's `definePageMeta`, you\n* should set `routeRules` directly within your `nuxt.config`.\n*/\nconst defineRouteRules = /* @__NO_SIDE_EFFECTS__ */ (rules) => {};\n//#endregion\nexport { definePageMeta, defineRouteRules };\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"pages-BJY0ZMcV.js","mappings":";;;;AAMA,IAAA,oDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,eAAe,EACb,UAAU,oBACZ,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,OAAO,eAAgB,MAAM,EAAE,QAAQ;EAC/C;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../pages/index.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/index.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\nimport { definePageMeta } from '#imports'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'index',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n redirect: '/modules/overview',\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${_ssrRenderAttrs(_attrs)}></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { definePageMeta } from '#imports'\n\ndefinePageMeta({\n redirect: '/modules/overview',\n})\n</script>\n\n<template>\n <div />\n</template>\n"],"version":3}
1
+ {"file":"pages-SVg8-7rL.js","mappings":";;;;AAMA,IAAA,oDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,eAAe,EACb,UAAU,oBACZ,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,OAAO,eAAgB,MAAM,EAAE,QAAQ;EAC/C;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../pages/index.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/index.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\nimport { definePageMeta } from '#imports'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'index',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n redirect: '/modules/overview',\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${_ssrRenderAttrs(_attrs)}></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { definePageMeta } from '#imports'\n\ndefinePageMeta({\n redirect: '/modules/overview',\n})\n</script>\n\n<template>\n <div />\n</template>\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"payload-EEc-a5Rs.js","mappings":"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","names":[],"sources":["../../../../../../../../components/StateGroup.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/StateGroup.vue","../../../../../../../../components/docs/payload.md","../../../../../../../../pages/modules/payload.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/payload.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps, withCtx as _withCtx, renderSlot as _renderSlot } from \"vue\"\nimport { ssrRenderSlot as _ssrRenderSlot, ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'StateGroup',\n __ssrInlineRender: true,\n props: {\n state: {},\n revision: {},\n prefix: { default: '' }\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_StateEditor = _resolveComponent(\"StateEditor\")!\n\n _push(`<div${_ssrRenderAttrs(_attrs)}>`)\n if (__props.state && Object.keys(__props.state).length > 0) {\n _push(`<div flex=\"~ col gap-1\"><!--[-->`)\n _ssrRenderList(__props.state, (value, key) => {\n _push(_ssrRenderComponent(_component_StateEditor, {\n key: key,\n revision: __props.revision,\n state: value,\n name: key.startsWith(__props.prefix) ? key.slice(__props.prefix.length) : key\n }, {\n actions: _withCtx((props, _push, _parent, _scopeId) => {\n if (_push) {\n _ssrRenderSlot(_ctx.$slots, \"actions\", _mergeProps({ ref_for: true }, props), null, _push, _parent, _scopeId)\n } else {\n return [\n _renderSlot(_ctx.$slots, \"actions\", _mergeProps({ ref_for: true }, props))\n ]\n }\n }),\n _: 2\n }, _parent))\n })\n _push(`<!--]--></div>`)\n } else {\n _push(`<div mt2 px4 italic op35> No data </div>`)\n }\n _push(`</div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n state?: Record<string, any>\n revision?: number\n prefix?: string\n }>(),\n {\n prefix: '',\n },\n)\n</script>\n\n<template>\n <div>\n <div v-if=\"state && Object.keys(state).length > 0\" flex=\"~ col gap-1\">\n <StateEditor\n v-for=\"value, key of state\"\n :key=\"key\"\n :revision=\"revision\"\n :state=\"value\"\n :name=\"key.startsWith(prefix) ? key.slice(prefix.length) : key\"\n >\n <template #actions=\"props\">\n <slot name=\"actions\" v-bind=\"props\" />\n </template>\n </StateEditor>\n </div>\n <div v-else mt2 px4 italic op35>\n No data\n </div>\n </div>\n</template>\n","# State & Async Data\n\n// TODO\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})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\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</script>\n\n<template>\n <div v-if=\"client\">\n <NSectionBlock\n icon=\"carbon-data-set\"\n text=\"State\"\n description=\"Keyed state from `useState`\"\n :padding=\"false\"\n >\n <StateGroup\n :state=\"payload.state\"\n :revision=\"revision\"\n prefix=\"$s\"\n />\n </NSectionBlock>\n <NSectionBlock\n icon=\"carbon-data-blob\"\n text=\"Data\"\n description=\"Keyed state from `useAsyncData`\"\n :padding=\"false\"\n >\n <template #actions>\n <NButton\n n=\"xs primary\" self-start\n icon=\"i-carbon-recycle\"\n @click=\"refreshData()\"\n >\n Re-fetch all data\n </NButton>\n </template>\n <StateGroup\n :state=\"payload.data\"\n :revision=\"revision\"\n >\n <template #actions=\"{ isOpen, name }\">\n <NButton\n v-if=\"isOpen && name\"\n v-tooltip.bottom=\"`Re-fetch '${name}'`\"\n :title=\"`Re-fetch '${name}'`\"\n icon=\"carbon-recycle\"\n :border=\"false\"\n @click=\"refreshData([name])\"\n />\n </template>\n </StateGroup>\n </NSectionBlock>\n <NSectionBlock\n v-if=\"payload.functions && Object.keys(payload.functions).length\"\n icon=\"carbon-function\"\n text=\"Functions\"\n description=\"State for functions\"\n >\n <StateEditor\n ml--6\n :state=\"payload.functions\"\n :revision=\"revision\"\n />\n </NSectionBlock>\n </div>\n\n <HelpFab>\n <DocsPayload />\n </HelpFab>\n</template>\n"],"version":3}
1
+ {"file":"payload-B4tGg_yJ.js","mappings":"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","names":[],"sources":["../../../../../../../../components/StateGroup.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/StateGroup.vue","../../../../../../../../components/docs/payload.md","../../../../../../../../pages/modules/payload.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/payload.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps, withCtx as _withCtx, renderSlot as _renderSlot } from \"vue\"\nimport { ssrRenderSlot as _ssrRenderSlot, ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'StateGroup',\n __ssrInlineRender: true,\n props: {\n state: {},\n revision: {},\n prefix: { default: '' }\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_StateEditor = _resolveComponent(\"StateEditor\")!\n\n _push(`<div${_ssrRenderAttrs(_attrs)}>`)\n if (__props.state && Object.keys(__props.state).length > 0) {\n _push(`<div flex=\"~ col gap-1\"><!--[-->`)\n _ssrRenderList(__props.state, (value, key) => {\n _push(_ssrRenderComponent(_component_StateEditor, {\n key: key,\n revision: __props.revision,\n state: value,\n name: key.startsWith(__props.prefix) ? key.slice(__props.prefix.length) : key\n }, {\n actions: _withCtx((props, _push, _parent, _scopeId) => {\n if (_push) {\n _ssrRenderSlot(_ctx.$slots, \"actions\", _mergeProps({ ref_for: true }, props), null, _push, _parent, _scopeId)\n } else {\n return [\n _renderSlot(_ctx.$slots, \"actions\", _mergeProps({ ref_for: true }, props))\n ]\n }\n }),\n _: 2\n }, _parent))\n })\n _push(`<!--]--></div>`)\n } else {\n _push(`<div mt2 px4 italic op35> No data </div>`)\n }\n _push(`</div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n state?: Record<string, any>\n revision?: number\n prefix?: string\n }>(),\n {\n prefix: '',\n },\n)\n</script>\n\n<template>\n <div>\n <div v-if=\"state && Object.keys(state).length > 0\" flex=\"~ col gap-1\">\n <StateEditor\n v-for=\"value, key of state\"\n :key=\"key\"\n :revision=\"revision\"\n :state=\"value\"\n :name=\"key.startsWith(prefix) ? key.slice(prefix.length) : key\"\n >\n <template #actions=\"props\">\n <slot name=\"actions\" v-bind=\"props\" />\n </template>\n </StateEditor>\n </div>\n <div v-else mt2 px4 italic op35>\n No data\n </div>\n </div>\n</template>\n","# State & Async Data\n\n// TODO\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})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\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</script>\n\n<template>\n <div v-if=\"client\">\n <NSectionBlock\n icon=\"carbon-data-set\"\n text=\"State\"\n description=\"Keyed state from `useState`\"\n :padding=\"false\"\n >\n <StateGroup\n :state=\"payload.state\"\n :revision=\"revision\"\n prefix=\"$s\"\n />\n </NSectionBlock>\n <NSectionBlock\n icon=\"carbon-data-blob\"\n text=\"Data\"\n description=\"Keyed state from `useAsyncData`\"\n :padding=\"false\"\n >\n <template #actions>\n <NButton\n n=\"xs primary\" self-start\n icon=\"i-carbon-recycle\"\n @click=\"refreshData()\"\n >\n Re-fetch all data\n </NButton>\n </template>\n <StateGroup\n :state=\"payload.data\"\n :revision=\"revision\"\n >\n <template #actions=\"{ isOpen, name }\">\n <NButton\n v-if=\"isOpen && name\"\n v-tooltip.bottom=\"`Re-fetch '${name}'`\"\n :title=\"`Re-fetch '${name}'`\"\n icon=\"carbon-recycle\"\n :border=\"false\"\n @click=\"refreshData([name])\"\n />\n </template>\n </StateGroup>\n </NSectionBlock>\n <NSectionBlock\n v-if=\"payload.functions && Object.keys(payload.functions).length\"\n icon=\"carbon-function\"\n text=\"Functions\"\n description=\"State for functions\"\n >\n <StateEditor\n ml--6\n :state=\"payload.functions\"\n :revision=\"revision\"\n />\n </NSectionBlock>\n </div>\n\n <HelpFab>\n <DocsPayload />\n </HelpFab>\n</template>\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"plugins-DBU4EaVz.js","mappings":"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","names":[],"sources":["../../../../../../../../components/PluginItem.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/PluginItem.vue","../../../../../../../../components/help/HelpTip.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/help/HelpTip.vue","../../../../../../../../components/help/HelpTipPerformance.vue","../../../../../../../../components/docs/plugins.md","../../../../../../../../pages/modules/plugins.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/plugins.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { useServerConfig } from '~/composables/state'\nimport { parseReadablePath } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'PluginItem',\n __ssrInlineRender: true,\n props: {\n plugin: {},\n index: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst config = useServerConfig()\nconst shortPath = computed(() => parseReadablePath(props.plugin.src, config.value?.rootDir || '').path)\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n const _component_NBadge = _resolveComponent(\"NBadge\")!\n const _component_DurationDisplay = _resolveComponent(\"DurationDisplay\")!\n\n _push(`<div${\n _ssrRenderAttrs(_mergeProps({\n flex: \"~ gap2\",\n \"items-center\": \"\"\n }, _attrs))\n }><div w8 text-right text-sm op25>${\n _ssrInterpolate(__props.index)\n }</div>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: props.plugin.src,\n subpath: true\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div${_scopeId}>`)\n if (shortPath.value.startsWith('#')) {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"rose\" }, null, _parent, _scopeId))\n } else if (!shortPath.value.startsWith('.')) {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"gray\" }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (__props.plugin.mode === 'server') {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"teal\" }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (__props.plugin.mode === 'client') {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"orange\" }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n return [\n _createVNode(\"div\", null, [\n (shortPath.value.startsWith('#'))\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 0,\n n: \"rose\",\n textContent: 'virtual'\n }))\n : (!shortPath.value.startsWith('.'))\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 1,\n n: \"gray\",\n textContent: 'module'\n }))\n : _createCommentVNode(\"\", true),\n (__props.plugin.mode === 'server')\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 2,\n n: \"teal\",\n textContent: 'server'\n }))\n : _createCommentVNode(\"\", true),\n (__props.plugin.mode === 'client')\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 3,\n n: \"orange\",\n textContent: 'client'\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n if (__props.plugin.metric?.duration != null) {\n _push(`<div flex-auto text-right>`)\n _push(_ssrRenderComponent(_component_DurationDisplay, {\n duration: __props.plugin.metric?.duration,\n factor: 10\n }, null, _parent))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { useServerConfig } from '~/composables/state'\nimport { parseReadablePath } from '~/composables/utils'\n\nconst props = defineProps<{\n plugin: PluginInfoWithMetic\n index?: number\n}>()\n\nconst config = useServerConfig()\nconst shortPath = computed(() => parseReadablePath(props.plugin.src, config.value?.rootDir || '').path)\n</script>\n\n<template>\n <div flex=\"~ gap2\" items-center>\n <div w8 text-right text-sm op25>\n {{ index }}\n </div>\n <FilepathItem :filepath=\"props.plugin.src\" :subpath=\"true\">\n <div>\n <NBadge\n v-if=\"shortPath.startsWith('#')\"\n n=\"rose\"\n v-text=\"'virtual'\"\n />\n <NBadge\n v-else-if=\"!shortPath.startsWith('.')\"\n n=\"gray\"\n v-text=\"'module'\"\n />\n <NBadge\n v-if=\"plugin.mode === 'server'\"\n n=\"teal\"\n v-text=\"'server'\"\n />\n <NBadge\n v-if=\"plugin.mode === 'client'\"\n n=\"orange\"\n v-text=\"'client'\"\n />\n </div>\n </FilepathItem>\n\n <div v-if=\"plugin.metric?.duration != null\" flex-auto text-right>\n <DurationDisplay :duration=\"plugin.metric?.duration\" :factor=\"10\" />\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderSlot as _ssrRenderSlot, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpTip',\n __ssrInlineRender: true,\n props: {\n title: {},\n icon: {}\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_ContentSlot = _resolveComponent(\"ContentSlot\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n class: \"n-tip n-tip-base\",\n flex: \"~ col items-start\",\n \"mx--4\": \"\",\n px4: \"\",\n py4: \"\"\n }, _attrs))}><div flex=\"~ items-center gap-1\" font-bold>`)\n if (__props.icon) {\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: __props.icon,\n class: \"n-tip-icon\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`<div>${_ssrInterpolate(__props.title)}</div></div><div>`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, () => {\n _push(_ssrRenderComponent(_component_ContentSlot, {\n use: _ctx.$slots.default,\n unwrap: \"p\"\n }, null, _parent))\n }, _push, _parent)\n _push(`</div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\ndefineProps<{\n title: string\n icon?: string\n}>()\n</script>\n\n<template>\n <div class=\"n-tip n-tip-base\" flex=\"~ col items-start\" mx--4 px4 py4>\n <div flex=\"~ items-center gap-1\" font-bold>\n <NIcon v-if=\"icon\" :icon=\"icon\" class=\"n-tip-icon\" />\n <div>\n {{ title }}\n </div>\n </div>\n <div>\n <slot>\n <ContentSlot :use=\"$slots.default\" unwrap=\"p\" />\n </slot>\n </div>\n </div>\n</template>\n","<template>\n <HelpTip\n title=\"Performance Tip\"\n icon=\"carbon-meter\"\n n=\"lime6 dark:lime5\"\n >\n <slot />\n </HelpTip>\n</template>\n","# Plugins\n\nNuxt plugins allow you to extend the functionality of the Nuxt runtime and the Vue instance. You can add plugins to the `plugins/` directory and they will be automatically imported and registered.\n\n<HelpTipPerformance>\nPlugins always run before your application's runtime. The loading time of each plugin will directly impact your application's initial loading time.\n</HelpTipPerformance>\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/directory-structure/plugins)\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, createVNode as _createVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerApp } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'plugins',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-plug',\n title: 'Plugins',\n category: 'analyze',\n})\n\nconst app = useServerApp()\nconst client = useClient()\n\nconst plugins = computed((): PluginInfoWithMetic[] => {\n const plugins = app.value?.plugins || []\n const metics = client.value?.metrics.clientPlugins() || []\n\n return plugins.map((plugin) => {\n const p = typeof plugin === 'string' ? { src: plugin } : plugin\n return {\n ...p,\n metric: metics.find(m => m.src === p.src || m.src.startsWith(p.src)),\n }\n })\n})\n\nconst totalTime = computed(() => {\n const metics = client.value?.metrics.clientPlugins() || []\n const minStart = Math.min(...metics.map(m => m.start))\n const maxEnd = Math.max(...metics.map(m => m.end))\n return maxEnd - minStart\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_PluginItem = _resolveComponent(\"PluginItem\")!\n const _component_DurationDisplay = _resolveComponent(\"DurationDisplay\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsPlugins = _resolveComponent(\"DocsPlugins\")!\n\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-plug\",\n text: \"Plugins\",\n description: `Total plugins: ${plugins.value.length}`\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div pt4${_scopeId}><!--[-->`)\n _ssrRenderList(plugins.value, (plugin, idx) => {\n _push(_ssrRenderComponent(_component_PluginItem, {\n key: plugin.src,\n plugin: plugin,\n index: idx + 1,\n \"ml--4\": \"\",\n \"border-base\": \"\",\n py2: \"\",\n class: idx ? 'border-t' : ''\n }, null, _parent, _scopeId))\n })\n _push(`<!--]--><div class=\"text-sm\" flex=\"~ gap-1 items-center justify-start\" mt-3${\n _scopeId\n }><div i-carbon-timer text-lg op75${\n _scopeId\n }></div><span op50${\n _scopeId\n }>Total execution time:</span>`)\n _push(_ssrRenderComponent(_component_DurationDisplay, {\n duration: totalTime.value,\n factor: 10\n }, null, _parent, _scopeId))\n _push(`</div></div>`)\n } else {\n return [\n _createVNode(\"div\", { pt4: \"\" }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(plugins.value, (plugin, idx) => {\n return (_openBlock(), _createBlock(_component_PluginItem, {\n key: plugin.src,\n plugin: plugin,\n index: idx + 1,\n \"ml--4\": \"\",\n \"border-base\": \"\",\n py2: \"\",\n class: idx ? 'border-t' : ''\n }, null, 8, [\"plugin\", \"index\", \"class\"]))\n }), 128)),\n _createVNode(\"div\", {\n class: \"text-sm\",\n flex: \"~ gap-1 items-center justify-start\",\n \"mt-3\": \"\"\n }, [\n _createVNode(\"div\", {\n \"i-carbon-timer\": \"\",\n \"text-lg\": \"\",\n op75: \"\"\n }),\n _createVNode(\"span\", { op50: \"\" }, \"Total execution time:\"),\n _createVNode(_component_DurationDisplay, {\n duration: totalTime.value,\n factor: 10\n }, null, 8, [\"duration\"])\n ])\n ])\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_DocsPlugins, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsPlugins)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerApp } from '~/composables/state'\n\ndefinePageMeta({\n icon: 'carbon-plug',\n title: 'Plugins',\n category: 'analyze',\n})\n\nconst app = useServerApp()\nconst client = useClient()\n\nconst plugins = computed((): PluginInfoWithMetic[] => {\n const plugins = app.value?.plugins || []\n const metics = client.value?.metrics.clientPlugins() || []\n\n return plugins.map((plugin) => {\n const p = typeof plugin === 'string' ? { src: plugin } : plugin\n return {\n ...p,\n metric: metics.find(m => m.src === p.src || m.src.startsWith(p.src)),\n }\n })\n})\n\nconst totalTime = computed(() => {\n const metics = client.value?.metrics.clientPlugins() || []\n const minStart = Math.min(...metics.map(m => m.start))\n const maxEnd = Math.max(...metics.map(m => m.end))\n return maxEnd - minStart\n})\n</script>\n\n<template>\n <NSectionBlock\n icon=\"carbon-plug\"\n text=\"Plugins\"\n :description=\"`Total plugins: ${plugins.length}`\"\n >\n <div pt4>\n <PluginItem\n v-for=\"plugin, idx of plugins\"\n :key=\"plugin.src\"\n :plugin=\"plugin\"\n :index=\"idx + 1\"\n ml--4 border-base py2 :class=\"idx ? 'border-t' : ''\"\n />\n\n <div class=\"text-sm\" flex=\"~ gap-1 items-center justify-start\" mt-3>\n <div i-carbon-timer text-lg op75 />\n <span op50>Total execution time:</span>\n <DurationDisplay :duration=\"totalTime\" :factor=\"10\" />\n </div>\n </div>\n </NSectionBlock>\n\n <HelpFab>\n <DocsPlugins />\n </HelpFab>\n</template>\n"],"version":3}
1
+ {"file":"plugins-sOeLpXdK.js","mappings":"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","names":[],"sources":["../../../../../../../../components/PluginItem.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/PluginItem.vue","../../../../../../../../components/help/HelpTip.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/help/HelpTip.vue","../../../../../../../../components/help/HelpTipPerformance.vue","../../../../../../../../components/docs/plugins.md","../../../../../../../../pages/modules/plugins.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/plugins.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { useServerConfig } from '~/composables/state'\nimport { parseReadablePath } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'PluginItem',\n __ssrInlineRender: true,\n props: {\n plugin: {},\n index: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst config = useServerConfig()\nconst shortPath = computed(() => parseReadablePath(props.plugin.src, config.value?.rootDir || '').path)\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n const _component_NBadge = _resolveComponent(\"NBadge\")!\n const _component_DurationDisplay = _resolveComponent(\"DurationDisplay\")!\n\n _push(`<div${\n _ssrRenderAttrs(_mergeProps({\n flex: \"~ gap2\",\n \"items-center\": \"\"\n }, _attrs))\n }><div w8 text-right text-sm op25>${\n _ssrInterpolate(__props.index)\n }</div>`)\n _push(_ssrRenderComponent(_component_FilepathItem, {\n filepath: props.plugin.src,\n subpath: true\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div${_scopeId}>`)\n if (shortPath.value.startsWith('#')) {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"rose\" }, null, _parent, _scopeId))\n } else if (!shortPath.value.startsWith('.')) {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"gray\" }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (__props.plugin.mode === 'server') {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"teal\" }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (__props.plugin.mode === 'client') {\n _push(_ssrRenderComponent(_component_NBadge, { n: \"orange\" }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n return [\n _createVNode(\"div\", null, [\n (shortPath.value.startsWith('#'))\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 0,\n n: \"rose\",\n textContent: 'virtual'\n }))\n : (!shortPath.value.startsWith('.'))\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 1,\n n: \"gray\",\n textContent: 'module'\n }))\n : _createCommentVNode(\"\", true),\n (__props.plugin.mode === 'server')\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 2,\n n: \"teal\",\n textContent: 'server'\n }))\n : _createCommentVNode(\"\", true),\n (__props.plugin.mode === 'client')\n ? (_openBlock(), _createBlock(_component_NBadge, {\n key: 3,\n n: \"orange\",\n textContent: 'client'\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n if (__props.plugin.metric?.duration != null) {\n _push(`<div flex-auto text-right>`)\n _push(_ssrRenderComponent(_component_DurationDisplay, {\n duration: __props.plugin.metric?.duration,\n factor: 10\n }, null, _parent))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { useServerConfig } from '~/composables/state'\nimport { parseReadablePath } from '~/composables/utils'\n\nconst props = defineProps<{\n plugin: PluginInfoWithMetic\n index?: number\n}>()\n\nconst config = useServerConfig()\nconst shortPath = computed(() => parseReadablePath(props.plugin.src, config.value?.rootDir || '').path)\n</script>\n\n<template>\n <div flex=\"~ gap2\" items-center>\n <div w8 text-right text-sm op25>\n {{ index }}\n </div>\n <FilepathItem :filepath=\"props.plugin.src\" :subpath=\"true\">\n <div>\n <NBadge\n v-if=\"shortPath.startsWith('#')\"\n n=\"rose\"\n v-text=\"'virtual'\"\n />\n <NBadge\n v-else-if=\"!shortPath.startsWith('.')\"\n n=\"gray\"\n v-text=\"'module'\"\n />\n <NBadge\n v-if=\"plugin.mode === 'server'\"\n n=\"teal\"\n v-text=\"'server'\"\n />\n <NBadge\n v-if=\"plugin.mode === 'client'\"\n n=\"orange\"\n v-text=\"'client'\"\n />\n </div>\n </FilepathItem>\n\n <div v-if=\"plugin.metric?.duration != null\" flex-auto text-right>\n <DurationDisplay :duration=\"plugin.metric?.duration\" :factor=\"10\" />\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderSlot as _ssrRenderSlot, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpTip',\n __ssrInlineRender: true,\n props: {\n title: {},\n icon: {}\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_ContentSlot = _resolveComponent(\"ContentSlot\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n class: \"n-tip n-tip-base\",\n flex: \"~ col items-start\",\n \"mx--4\": \"\",\n px4: \"\",\n py4: \"\"\n }, _attrs))}><div flex=\"~ items-center gap-1\" font-bold>`)\n if (__props.icon) {\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: __props.icon,\n class: \"n-tip-icon\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`<div>${_ssrInterpolate(__props.title)}</div></div><div>`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, () => {\n _push(_ssrRenderComponent(_component_ContentSlot, {\n use: _ctx.$slots.default,\n unwrap: \"p\"\n }, null, _parent))\n }, _push, _parent)\n _push(`</div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\ndefineProps<{\n title: string\n icon?: string\n}>()\n</script>\n\n<template>\n <div class=\"n-tip n-tip-base\" flex=\"~ col items-start\" mx--4 px4 py4>\n <div flex=\"~ items-center gap-1\" font-bold>\n <NIcon v-if=\"icon\" :icon=\"icon\" class=\"n-tip-icon\" />\n <div>\n {{ title }}\n </div>\n </div>\n <div>\n <slot>\n <ContentSlot :use=\"$slots.default\" unwrap=\"p\" />\n </slot>\n </div>\n </div>\n</template>\n","<template>\n <HelpTip\n title=\"Performance Tip\"\n icon=\"carbon-meter\"\n n=\"lime6 dark:lime5\"\n >\n <slot />\n </HelpTip>\n</template>\n","# Plugins\n\nNuxt plugins allow you to extend the functionality of the Nuxt runtime and the Vue instance. You can add plugins to the `plugins/` directory and they will be automatically imported and registered.\n\n<HelpTipPerformance>\nPlugins always run before your application's runtime. The loading time of each plugin will directly impact your application's initial loading time.\n</HelpTipPerformance>\n\n[Learn more in the documentation](https://nuxt.com/docs/guide/directory-structure/plugins)\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, createVNode as _createVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerApp } from '~/composables/state'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'plugins',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-plug',\n title: 'Plugins',\n category: 'analyze',\n})\n\nconst app = useServerApp()\nconst client = useClient()\n\nconst plugins = computed((): PluginInfoWithMetic[] => {\n const plugins = app.value?.plugins || []\n const metics = client.value?.metrics.clientPlugins() || []\n\n return plugins.map((plugin) => {\n const p = typeof plugin === 'string' ? { src: plugin } : plugin\n return {\n ...p,\n metric: metics.find(m => m.src === p.src || m.src.startsWith(p.src)),\n }\n })\n})\n\nconst totalTime = computed(() => {\n const metics = client.value?.metrics.clientPlugins() || []\n const minStart = Math.min(...metics.map(m => m.start))\n const maxEnd = Math.max(...metics.map(m => m.end))\n return maxEnd - minStart\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_PluginItem = _resolveComponent(\"PluginItem\")!\n const _component_DurationDisplay = _resolveComponent(\"DurationDisplay\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsPlugins = _resolveComponent(\"DocsPlugins\")!\n\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n icon: \"carbon-plug\",\n text: \"Plugins\",\n description: `Total plugins: ${plugins.value.length}`\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div pt4${_scopeId}><!--[-->`)\n _ssrRenderList(plugins.value, (plugin, idx) => {\n _push(_ssrRenderComponent(_component_PluginItem, {\n key: plugin.src,\n plugin: plugin,\n index: idx + 1,\n \"ml--4\": \"\",\n \"border-base\": \"\",\n py2: \"\",\n class: idx ? 'border-t' : ''\n }, null, _parent, _scopeId))\n })\n _push(`<!--]--><div class=\"text-sm\" flex=\"~ gap-1 items-center justify-start\" mt-3${\n _scopeId\n }><div i-carbon-timer text-lg op75${\n _scopeId\n }></div><span op50${\n _scopeId\n }>Total execution time:</span>`)\n _push(_ssrRenderComponent(_component_DurationDisplay, {\n duration: totalTime.value,\n factor: 10\n }, null, _parent, _scopeId))\n _push(`</div></div>`)\n } else {\n return [\n _createVNode(\"div\", { pt4: \"\" }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(plugins.value, (plugin, idx) => {\n return (_openBlock(), _createBlock(_component_PluginItem, {\n key: plugin.src,\n plugin: plugin,\n index: idx + 1,\n \"ml--4\": \"\",\n \"border-base\": \"\",\n py2: \"\",\n class: idx ? 'border-t' : ''\n }, null, 8, [\"plugin\", \"index\", \"class\"]))\n }), 128)),\n _createVNode(\"div\", {\n class: \"text-sm\",\n flex: \"~ gap-1 items-center justify-start\",\n \"mt-3\": \"\"\n }, [\n _createVNode(\"div\", {\n \"i-carbon-timer\": \"\",\n \"text-lg\": \"\",\n op75: \"\"\n }),\n _createVNode(\"span\", { op50: \"\" }, \"Total execution time:\"),\n _createVNode(_component_DurationDisplay, {\n duration: totalTime.value,\n factor: 10\n }, null, 8, [\"duration\"])\n ])\n ])\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_DocsPlugins, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsPlugins)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { PluginInfoWithMetic } from '@nuxt/devtools-kit/types'\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useServerApp } from '~/composables/state'\n\ndefinePageMeta({\n icon: 'carbon-plug',\n title: 'Plugins',\n category: 'analyze',\n})\n\nconst app = useServerApp()\nconst client = useClient()\n\nconst plugins = computed((): PluginInfoWithMetic[] => {\n const plugins = app.value?.plugins || []\n const metics = client.value?.metrics.clientPlugins() || []\n\n return plugins.map((plugin) => {\n const p = typeof plugin === 'string' ? { src: plugin } : plugin\n return {\n ...p,\n metric: metics.find(m => m.src === p.src || m.src.startsWith(p.src)),\n }\n })\n})\n\nconst totalTime = computed(() => {\n const metics = client.value?.metrics.clientPlugins() || []\n const minStart = Math.min(...metics.map(m => m.start))\n const maxEnd = Math.max(...metics.map(m => m.end))\n return maxEnd - minStart\n})\n</script>\n\n<template>\n <NSectionBlock\n icon=\"carbon-plug\"\n text=\"Plugins\"\n :description=\"`Total plugins: ${plugins.length}`\"\n >\n <div pt4>\n <PluginItem\n v-for=\"plugin, idx of plugins\"\n :key=\"plugin.src\"\n :plugin=\"plugin\"\n :index=\"idx + 1\"\n ml--4 border-base py2 :class=\"idx ? 'border-t' : ''\"\n />\n\n <div class=\"text-sm\" flex=\"~ gap-1 items-center justify-start\" mt-3>\n <div i-carbon-timer text-lg op75 />\n <span op50>Total execution time:</span>\n <DurationDisplay :duration=\"totalTime\" :factor=\"10\" />\n </div>\n </div>\n </NSectionBlock>\n\n <HelpFab>\n <DocsPlugins />\n </HelpFab>\n</template>\n"],"version":3}