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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/_nuxt/AuthRequiredPanel-znjaI7oT.js.map.json +1 -0
  2. package/dist/_nuxt/CodeDiff-DgjeLx6z.js.map.json +1 -0
  3. package/dist/_nuxt/CodeSnippets-CgfcaS4Z.js.map.json +1 -0
  4. package/dist/_nuxt/ComposableItem-BWQR7_fI.js.map.json +1 -0
  5. package/dist/_nuxt/DataSchemaButton-CqEfc2TV.js.map.json +1 -0
  6. package/dist/_nuxt/DataSchemaDrawer-Xj8YzNJN.js.map.json +1 -0
  7. package/dist/_nuxt/DurationDisplay-Dzweg1by.js.map.json +1 -0
  8. package/dist/_nuxt/FilepathItem-D75bkTSa.js.map.json +1 -0
  9. package/dist/_nuxt/HelpFab-CH7NlsDf.js.map.json +1 -0
  10. package/dist/_nuxt/LaunchPage-ByG-3KVi.js.map.json +1 -0
  11. package/dist/_nuxt/NBadge-BNJzHbtD.js.map.json +1 -0
  12. package/dist/_nuxt/NCard-mHVN2GYZ.js.map.json +1 -0
  13. package/dist/_nuxt/NCheckbox-OMIu_LTG.js.map.json +1 -0
  14. package/dist/_nuxt/NCodeBlock-C2Ewa6VO.js.map.json +1 -0
  15. package/dist/_nuxt/NDrawer-C6Opm19C.js.map.json +1 -0
  16. package/dist/_nuxt/NDropdown-DseEG3tA.js.map.json +1 -0
  17. package/dist/_nuxt/NIcon-cjduOh_B.js.map.json +1 -0
  18. package/dist/_nuxt/NIconTitle-C75MU0px.js.map.json +1 -0
  19. package/dist/_nuxt/NLink-Rsxlt1NN.js.map.json +1 -0
  20. package/dist/_nuxt/NMarkdown-DFwJ-ppZ.js.map.json +1 -0
  21. package/dist/_nuxt/NNavbar-CS-Z1Cle.js.map.json +1 -0
  22. package/dist/_nuxt/NPanelGrids-CEorXUWJ.js.map.json +1 -0
  23. package/dist/_nuxt/NSectionBlock-C7kcMkbf.js.map.json +1 -0
  24. package/dist/_nuxt/NSelect-geGP1eOG.js.map.json +1 -0
  25. package/dist/_nuxt/NSelectTabs-nUMnNQy-.js.map.json +1 -0
  26. package/dist/_nuxt/NSplitPane-Bh0o_t5e.js.map.json +1 -0
  27. package/dist/_nuxt/NTip-DRnTpLjG.js.map.json +1 -0
  28. package/dist/_nuxt/ServerRouteInputs-BhIrPxPN.js.map.json +1 -0
  29. package/dist/_nuxt/StacktraceList-B-ehJIQ-.js.map.json +1 -0
  30. package/dist/_nuxt/StateEditor-Yqdbqk_c.js.map.json +1 -0
  31. package/dist/_nuxt/__blank-BM2yOFO6.js.map.json +1 -0
  32. package/dist/_nuxt/analyze-build-Cemp_oBq.js.map.json +1 -0
  33. package/dist/_nuxt/assets-rTFAaows.js.map.json +1 -0
  34. package/dist/_nuxt/client-r5qP-99Q.js.map.json +1 -0
  35. package/dist/_nuxt/color-BL_mIEWV.js.map.json +1 -0
  36. package/dist/_nuxt/components-BJnHweOE.js.map.json +1 -0
  37. package/dist/_nuxt/constants-D9kP6ji9.js.map.json +1 -0
  38. package/dist/_nuxt/custom-_name_-DI8dnRDD.js.map.json +1 -0
  39. package/dist/_nuxt/debug-BcJZ8M6i.js.map.json +1 -0
  40. package/dist/_nuxt/default-Bzh4dZQ5.js.map.json +1 -0
  41. package/dist/_nuxt/entry-DZwY6FLS.js.map.json +1 -0
  42. package/dist/_nuxt/error-404-dySA7T2P.js.map.json +1 -0
  43. package/dist/_nuxt/error-500-2Ody89Er.js.map.json +1 -0
  44. package/dist/_nuxt/error-hGc4cWUU.js.map.json +1 -0
  45. package/dist/_nuxt/full-CvSnaO29.js.map.json +1 -0
  46. package/dist/_nuxt/head-BTCtirw3.js.map.json +1 -0
  47. package/dist/_nuxt/hooks-BVzlIVXR.js.map.json +1 -0
  48. package/dist/_nuxt/imports-B3k4BZF7.js.map.json +1 -0
  49. package/dist/_nuxt/modules-Ck915TxZ.js.map.json +1 -0
  50. package/dist/_nuxt/none-Df66KJph.js.map.json +1 -0
  51. package/dist/_nuxt/nuxt-C5VITehY.js.map.json +1 -0
  52. package/dist/_nuxt/nuxt-link-C-BBeF5l.js.map.json +1 -0
  53. package/dist/_nuxt/open-graph-ll_bjX_m.js.map.json +1 -0
  54. package/dist/_nuxt/overview-CyqDmfdE.js.map.json +1 -0
  55. package/dist/_nuxt/pages-BddDWJsZ.js.map.json +1 -0
  56. package/dist/_nuxt/pages-CrUWMxGz.js.map.json +1 -0
  57. package/dist/_nuxt/pages-DWELoQlh.js.map.json +1 -0
  58. package/dist/_nuxt/payload-29bFuqLh.js.map.json +1 -0
  59. package/dist/_nuxt/plugins-fmmRaH-S.js.map.json +1 -0
  60. package/dist/_nuxt/ready-BQ1fhXgL.js.map.json +1 -0
  61. package/dist/_nuxt/runtime-configs-iL68LNkj.js.map.json +1 -0
  62. package/dist/_nuxt/server-routes-Dy5_Ljmu.js.map.json +1 -0
  63. package/dist/_nuxt/server-tasks-CD-7IPFD.js.map.json +1 -0
  64. package/dist/_nuxt/settings-Qa45tU8e.js.map.json +1 -0
  65. package/dist/_nuxt/state-components-CksF081b.js.map.json +1 -0
  66. package/dist/_nuxt/state-modules-CyH4hWeN.js.map.json +1 -0
  67. package/dist/_nuxt/state-tabs-m1o-BX5R.js.map.json +1 -0
  68. package/dist/_nuxt/storage-BylO3p9r.js.map.json +1 -0
  69. package/dist/_nuxt/timeline-Dukbqafi.js.map.json +1 -0
  70. package/dist/_nuxt/utils-BfB0tRbX.js.map.json +1 -0
  71. package/dist/_nuxt/virtual-files-BQJM45QE.js.map.json +1 -0
  72. package/dist/chunks/module-main.mjs +1 -1
  73. package/dist/dirs.d.cts +1 -0
  74. package/dist/index.mjs.map.json +1 -0
  75. package/dist/module.d.cts +2 -0
  76. package/dist/module.json +1 -1
  77. package/dist/server.mjs.map.json +1 -0
  78. package/dist/types.d.cts +2 -0
  79. package/dist/webcomponents/index.d.cts +1 -0
  80. package/package.json +30 -30
@@ -0,0 +1 @@
1
+ {"file":"open-graph-ll_bjX_m.js","mappings":";;;;;;;;;;;;;;;;AAYA,IAAa,SAA+B;CAC1C;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,OAAO,UACT;EACA,SAAS,EACP,OAAO,UACT;EACA,MAAM;EACN,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,MAAM;GACN,SAAS;EACX,CACF,EACF;EACA,SAAS,EACP,aAAa,gBACf;EACA,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,KAAK;GACL,MAAM;GACN,MAAM;EACR,CACF,EACF;EACA,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,WAAW,EACT,MAAM,KACR,EACF;EACA,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,UAAU;GACV,SAAS;EACX,CACF,EACF;EACA,SAAS,EACP,SAAS,aACX;EACA,MAAM;EACN,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,UAAU;GACV,SAAS;EACX,CACF,EACF;EACA,SAAS,EACP,eAAe,mBACjB;EACA,MAAM;EACN,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,UAAU;GACV,SAAS;EACX,CACF,EACF;EACA,SAAS,EACP,SAAS,aACX;EACA,MAAM;EACN,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,UAAU;GACV,SAAS;EACX,CACF,EACF;EACA,SAAS,EACP,OAAO,WACT;EACA,MAAM;EACN,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CACJ;GACE,MAAM;GACN,SAAS;EACX,CACF,EACF;EACA,SAAS,EACP,cAAc,kBAChB;EACA,MAAM;EACN,aAAa;CACf;CACA;EACE,MAAM;EACN,YAAY;EACZ,MAAM,EACJ,MAAM,CAAC;GACL,MAAM;GACN,SAAS;EA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","names":[],"sources":["../../../../../../../../data/open-graph.ts","../../../../../../../../components/OpenGraphMissingTabs.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/OpenGraphMissingTabs.vue","../../../../../../../../components/social/SocialFacebook.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/social/SocialFacebook.vue","../../../../../../../../components/social/SocialTwitter.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/social/SocialTwitter.vue","../../../../../../../../components/social/SocialLinkedin.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/social/SocialLinkedin.vue","../../../../../../../../components/social/SocialTelegram.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/social/SocialTelegram.vue","../../../../../../../../components/social/SocialPreviewGroup.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/social/SocialPreviewGroup.vue","../../../../../../../../components/docs/open-graph.md","../../../../../../../../pages/modules/open-graph.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/open-graph.vue"],"sourcesContent":["import type { MetaFlat } from '@unhead/schema'\nimport type { ReactiveHead } from '@unhead/vue'\n\nexport interface OpenGraphTagDefine {\n name: string\n suggestion: 'required' | 'recommended' | 'optional'\n head: Partial<ReactiveHead>\n seoMeta?: Partial<MetaFlat> & { title?: string }\n docs?: string\n description?: string\n}\n\nexport const ogTags: OpenGraphTagDefine[] = [\n {\n name: 'title',\n suggestion: 'required',\n head: {\n title: '[title]',\n },\n seoMeta: {\n title: '[title]',\n },\n docs: 'https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title',\n description: 'A concise and descriptive title for the browser that accurately summarizes the content of the page.',\n },\n {\n name: 'description',\n suggestion: 'required',\n head: {\n meta: [\n {\n name: 'description',\n content: '[description]',\n },\n ],\n },\n seoMeta: {\n description: '[description]',\n },\n description: 'A one to two sentence summary for search engines that includes relevant keywords to improve visibility in search results.',\n },\n {\n name: 'icon',\n suggestion: 'recommended',\n head: {\n link: [\n {\n rel: 'icon',\n type: 'image/png',\n href: '/favicon.png',\n },\n ],\n },\n description: 'A small image that appears in the browser tab and bookmark menu to help users easily identify the page.',\n },\n {\n name: 'lang',\n suggestion: 'recommended',\n head: {\n htmlAttrs: {\n lang: 'en',\n },\n },\n description: 'The primary language of the page to help search engines and browsers understand the content.',\n },\n {\n name: 'og:title',\n suggestion: 'recommended',\n head: {\n meta: [\n {\n property: 'og:title',\n content: '[og:title]',\n },\n ],\n },\n seoMeta: {\n ogTitle: '[og:title]',\n },\n docs: 'https://ogp.me/#metadata',\n description: 'A title for the link preview used by social media platforms.',\n },\n {\n name: 'og:description',\n suggestion: 'recommended',\n head: {\n meta: [\n {\n property: 'og:description',\n content: '[og:description]',\n },\n ],\n },\n seoMeta: {\n ogDescription: '[og:description]',\n },\n docs: 'https://ogp.me/#metadata',\n description: 'A description for the link preview used by social media platforms.',\n },\n {\n name: 'og:image',\n suggestion: 'recommended',\n head: {\n meta: [\n {\n property: 'og:image',\n content: '[og:image]',\n },\n ],\n },\n seoMeta: {\n ogImage: '[og:image]',\n },\n docs: 'https://ogp.me/#metadata',\n description: 'An image for the link preview used by social media platforms.',\n },\n {\n name: 'og:url',\n suggestion: 'recommended',\n head: {\n meta: [\n {\n property: 'og:url',\n content: '[og:url]',\n },\n ],\n },\n seoMeta: {\n ogUrl: '[og:url]',\n },\n docs: 'https://ogp.me/#metadata',\n description: 'A canonical URL for the link preview used to specify the preferred URL to display in search engine results and social media previews when multiple URLs may point to the same page.',\n },\n {\n name: 'twitter:title',\n suggestion: 'optional',\n head: {\n meta: [\n {\n name: 'twitter:title',\n content: '[twitter:title]',\n },\n ],\n },\n seoMeta: {\n twitterTitle: '[twitter:title]',\n },\n docs: 'https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards',\n description: 'A title for the Twitter card used to provide a preview of the content shared on the page.',\n },\n {\n name: 'twitter:description',\n suggestion: 'optional',\n head: {\n meta: [{\n name: 'twitter:description',\n content: '[twitter:description]',\n }],\n },\n seoMeta: {\n twitterDescription: '[twitter:description]',\n },\n docs: 'https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards',\n description: 'A description for the Twitter card used to provide a preview of the content shared on the page.',\n },\n {\n name: 'twitter:image',\n suggestion: 'optional',\n head: {\n meta: [\n {\n name: 'twitter:image',\n content: '[twitter:image]',\n },\n ],\n },\n seoMeta: {\n twitterImage: '[twitter:image]',\n },\n docs: 'https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards',\n description: 'An image for the Twitter card used to provide a preview of the content shared on the page.',\n },\n {\n name: 'twitter:card',\n suggestion: 'optional',\n head: {\n meta: [\n {\n name: 'twitter:card',\n content: 'summary',\n },\n ],\n },\n seoMeta: {\n twitterCard: 'summary',\n },\n docs: 'https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards',\n description: 'The type of Twitter card to use, which determines the type of card to display in link previews on Twitter.',\n },\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, unref as _unref, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { MetaFlat } from '@unhead/schema'\nimport type { ReactiveHead } from '@unhead/vue'\nimport type { NormalizedHeadTag } from '../../src/types'\nimport { defu } from 'defu'\nimport { computed, ref } from 'vue'\nimport { useCopy, useOpenInEditor } from '~/composables/editor'\nimport { ogTags } from '../data/open-graph'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'OpenGraphMissingTabs',\n __ssrInlineRender: true,\n props: {\n tags: {},\n matchedRouteFilepath: {}\n },\n setup(__props: any) {\n\nconst props = __props\nconst JSON_KEY_RE = /\"([^\"]+)\":/g\nconst DOUBLE_QUOTE_RE = /\"/g\n\nconst missingTags = computed(() => {\n return ogTags.filter(define => !props.tags?.some(tag => tag.name === define.name))\n})\n\nconst codeSnippet = computed(() => {\n let mergedHeadOptions: Partial<ReactiveHead> = {}\n const mergedSeoMetaOptions: Partial<MetaFlat> = {}\n missingTags.value\n .forEach((tag) => {\n if (tag.seoMeta)\n Object.assign(mergedSeoMetaOptions, tag.seoMeta)\n else\n mergedHeadOptions = defu(mergedHeadOptions, tag.head)\n })\n\n const lines = []\n\n if (Object.keys(mergedSeoMetaOptions).length) {\n const body = JSON.stringify(mergedSeoMetaOptions, null, 2)\n .replace(JSON_KEY_RE, '$1:')\n .replace(DOUBLE_QUOTE_RE, '\\'')\n\n lines.push(`useSeoMeta(${body})`)\n }\n\n if (Object.keys(mergedHeadOptions).length) {\n const body = JSON.stringify(mergedHeadOptions, null, 2)\n .replace(JSON_KEY_RE, '$1:')\n .replace(DOUBLE_QUOTE_RE, '\\'')\n\n lines.push(`useHead(${body})`)\n }\n\n return lines.join('\\n\\n')\n})\n\nconst copy = useCopy()\nconst openInEditor = useOpenInEditor()\n\nconst tabs = [\n 'Missing Tags',\n 'Code Snippet',\n]\nconst selectedTab = ref(tabs[0])\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_NCard = _resolveComponent(\"NCard\")!\n const _component_NLink = _resolveComponent(\"NLink\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_NCodeBlock = _resolveComponent(\"NCodeBlock\")!\n\n if (missingTags.value.length) {\n _push(_ssrRenderComponent(_component_NSectionBlock, _mergeProps({\n text: \"Missing Tags\",\n description: `${missingTags.value.length} missing tags`,\n icon: \"carbon:warning-other\",\n \"header-class\": \"text-orange op100! [[open]_&]:text-inherit\",\n padding: false\n }, _attrs), {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex=\"~ wrap\" mt--2 w-full flex-none${_scopeId}><!--[-->`)\n _ssrRenderList(tabs, (name, idx) => {\n _push(`<button px4 py2 border=\"r t base\" hover=\"bg-active\" class=\"${\n _ssrRenderClass(name === selectedTab.value ? '' : 'border-b')\n }\"${\n _scopeId\n }><div class=\"${\n _ssrRenderClass(name === selectedTab.value ? '' : 'op30' )\n }\" capitalize${\n _scopeId\n }>${\n _ssrInterpolate(name)\n }</div></button>`)\n })\n _push(`<!--]--><div border=\"b base\" flex-auto${_scopeId}></div></div>`)\n if (selectedTab.value === tabs[0]) {\n _push(_ssrRenderComponent(_component_NCard, {\n grid: \"~ cols-[1fr] lg:cols-[max-content_1fr]\",\n m4: \"\",\n \"items-center\": \"\",\n \"justify-between\": \"\",\n \"of-hidden\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<!--[-->`)\n _ssrRenderList(missingTags.value, (item, index) => {\n _push(`<!--[-->`)\n if (index) {\n _push(`<div x-divider${_scopeId}></div>`)\n } else {\n _push(`<!---->`)\n }\n if (index) {\n _push(`<div x-divider${_scopeId}></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div flex=\"~ gap-1 items-center\" class=\"px2 pt2\" lg=\"px4 py2\"${\n _scopeId\n }><div i-carbon-warning text-orange${\n _scopeId\n }></div>`)\n _push(_ssrRenderComponent(_component_NLink, {\n \"op-50\": \"\",\n href: item.docs,\n target: \"_blank\",\n n: \"orange\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`${_ssrInterpolate(item.name)}`)\n } else {\n return [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</div><div w-full p2 op75${\n _scopeId\n }>${\n _ssrInterpolate(item.description)\n }</div><!--]-->`)\n })\n _push(`<!--]-->`)\n } else {\n return [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(missingTags.value, (item, index) => {\n return (_openBlock(), _createBlock(_Fragment, { key: index }, [\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n flex: \"~ gap-1 items-center\",\n class: \"px2 pt2\",\n lg: \"px4 py2\"\n }, [\n _createVNode(\"div\", {\n \"i-carbon-warning\": \"\",\n \"text-orange\": \"\"\n }),\n _createVNode(_component_NLink, {\n \"op-50\": \"\",\n href: item.docs,\n target: \"_blank\",\n n: \"orange\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ]),\n _createVNode(\"div\", {\n \"w-full\": \"\",\n p2: \"\",\n op75: \"\"\n }, _toDisplayString(item.description), 1)\n ], 64))\n }), 128))\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<div m4 flex=\"~ col gap-2\"${\n _scopeId\n }><p flex=\"~ gap-1 wrap items-center\"${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-copy\",\n n: \"xs\",\n \"px-2\": \"\",\n onClick: ($event: any) => (_unref(copy)(codeSnippet.value, 'open-graph-suggestion'))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Copy `)\n } else {\n return [\n _createTextVNode(\" Copy \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(` the following code snippet and paste it into your `)\n if (__props.matchedRouteFilepath) {\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-launch\",\n n: \"xs\",\n \"px-2\": \"\",\n onClick: ($event: any) => (_unref(openInEditor)(__props.matchedRouteFilepath))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` page component `)\n } else {\n return [\n _createTextVNode(\" page component \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<span${_scopeId}>page component</span>`)\n }\n _push(` to full fill the missing tags. </p>`)\n _push(_ssrRenderComponent(_component_NCard, {\n relative: \"\",\n \"n-code-block\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NCodeBlock, {\n code: codeSnippet.value,\n lang: \"ts\",\n lines: false,\n \"w-full\": \"\",\n \"of-auto\": \"\",\n p3: \"\"\n }, null, _parent, _scopeId))\n _push(`<div flex=\"~ gap-2\" n=\"sm primary\" absolute right-2 top-2${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-copy\",\n onClick: ($event: any) => (_unref(copy)(codeSnippet.value, 'open-graph-suggestion'))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Copy `)\n } else {\n return [\n _createTextVNode(\" Copy \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`</div>`)\n } else {\n return [\n _createVNode(_component_NCodeBlock, {\n code: codeSnippet.value,\n lang: \"ts\",\n lines: false,\n \"w-full\": \"\",\n \"of-auto\": \"\",\n p3: \"\"\n }, null, 8, [\"code\"]),\n _createVNode(\"div\", {\n flex: \"~ gap-2\",\n n: \"sm primary\",\n absolute: \"\",\n \"right-2\": \"\",\n \"top-2\": \"\"\n }, [\n _createVNode(_component_NButton, {\n icon: \"carbon-copy\",\n onClick: ($event: any) => (_unref(copy)(codeSnippet.value, 'open-graph-suggestion'))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Copy \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`</div>`)\n }\n } else {\n return [\n _createVNode(\"div\", {\n flex: \"~ wrap\",\n \"mt--2\": \"\",\n \"w-full\": \"\",\n \"flex-none\": \"\"\n }, [\n (_openBlock(), _createBlock(_Fragment, null, _renderList(tabs, (name, idx) => {\n return _createVNode(\"button\", {\n key: idx,\n px4: \"\",\n py2: \"\",\n border: \"r t base\",\n hover: \"bg-active\",\n class: name === selectedTab.value ? '' : 'border-b',\n onClick: ($event: any) => (selectedTab.value = name)\n }, [\n _createVNode(\"div\", {\n class: name === selectedTab.value ? '' : 'op30' ,\n capitalize: \"\"\n }, _toDisplayString(name), 3)\n ], 10, [\"onClick\"])\n }), 64)),\n _createVNode(\"div\", {\n border: \"b base\",\n \"flex-auto\": \"\"\n })\n ]),\n (selectedTab.value === tabs[0])\n ? (_openBlock(), _createBlock(_component_NCard, {\n key: 0,\n grid: \"~ cols-[1fr] lg:cols-[max-content_1fr]\",\n m4: \"\",\n \"items-center\": \"\",\n \"justify-between\": \"\",\n \"of-hidden\": \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(missingTags.value, (item, index) => {\n return (_openBlock(), _createBlock(_Fragment, { key: index }, [\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n flex: \"~ gap-1 items-center\",\n class: \"px2 pt2\",\n lg: \"px4 py2\"\n }, [\n _createVNode(\"div\", {\n \"i-carbon-warning\": \"\",\n \"text-orange\": \"\"\n }),\n _createVNode(_component_NLink, {\n \"op-50\": \"\",\n href: item.docs,\n target: \"_blank\",\n n: \"orange\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ]),\n _createVNode(\"div\", {\n \"w-full\": \"\",\n p2: \"\",\n op75: \"\"\n }, _toDisplayString(item.description), 1)\n ], 64))\n }), 128))\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(\"div\", {\n key: 1,\n m4: \"\",\n flex: \"~ col gap-2\"\n }, [\n _createVNode(\"p\", { flex: \"~ gap-1 wrap items-center\" }, [\n _createVNode(_component_NButton, {\n icon: \"carbon-copy\",\n n: \"xs\",\n \"px-2\": \"\",\n onClick: ($event: any) => (_unref(copy)(codeSnippet.value, 'open-graph-suggestion'))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Copy \")\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createTextVNode(\" the following code snippet and paste it into your \"),\n (__props.matchedRouteFilepath)\n ? (_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n icon: \"carbon-launch\",\n n: \"xs\",\n \"px-2\": \"\",\n onClick: ($event: any) => (_unref(openInEditor)(__props.matchedRouteFilepath))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" page component \")\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : (_openBlock(), _createBlock(\"span\", { key: 1 }, \"page component\")),\n _createTextVNode(\" to full fill the missing tags. \")\n ]),\n _createVNode(_component_NCard, {\n relative: \"\",\n \"n-code-block\": \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_NCodeBlock, {\n code: codeSnippet.value,\n lang: \"ts\",\n lines: false,\n \"w-full\": \"\",\n \"of-auto\": \"\",\n p3: \"\"\n }, null, 8, [\"code\"]),\n _createVNode(\"div\", {\n flex: \"~ gap-2\",\n n: \"sm primary\",\n absolute: \"\",\n \"right-2\": \"\",\n \"top-2\": \"\"\n }, [\n _createVNode(_component_NButton, {\n icon: \"carbon-copy\",\n onClick: ($event: any) => (_unref(copy)(codeSnippet.value, 'open-graph-suggestion'))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Copy \")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n })\n ]))\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { MetaFlat } from '@unhead/schema'\nimport type { ReactiveHead } from '@unhead/vue'\nimport type { NormalizedHeadTag } from '../../src/types'\nimport { defu } from 'defu'\nimport { computed, ref } from 'vue'\nimport { useCopy, useOpenInEditor } from '~/composables/editor'\nimport { ogTags } from '../data/open-graph'\n\nconst props = defineProps<{\n tags: NormalizedHeadTag[]\n matchedRouteFilepath?: string\n}>()\nconst JSON_KEY_RE = /\"([^\"]+)\":/g\nconst DOUBLE_QUOTE_RE = /\"/g\n\nconst missingTags = computed(() => {\n return ogTags.filter(define => !props.tags?.some(tag => tag.name === define.name))\n})\n\nconst codeSnippet = computed(() => {\n let mergedHeadOptions: Partial<ReactiveHead> = {}\n const mergedSeoMetaOptions: Partial<MetaFlat> = {}\n missingTags.value\n .forEach((tag) => {\n if (tag.seoMeta)\n Object.assign(mergedSeoMetaOptions, tag.seoMeta)\n else\n mergedHeadOptions = defu(mergedHeadOptions, tag.head)\n })\n\n const lines = []\n\n if (Object.keys(mergedSeoMetaOptions).length) {\n const body = JSON.stringify(mergedSeoMetaOptions, null, 2)\n .replace(JSON_KEY_RE, '$1:')\n .replace(DOUBLE_QUOTE_RE, '\\'')\n\n lines.push(`useSeoMeta(${body})`)\n }\n\n if (Object.keys(mergedHeadOptions).length) {\n const body = JSON.stringify(mergedHeadOptions, null, 2)\n .replace(JSON_KEY_RE, '$1:')\n .replace(DOUBLE_QUOTE_RE, '\\'')\n\n lines.push(`useHead(${body})`)\n }\n\n return lines.join('\\n\\n')\n})\n\nconst copy = useCopy()\nconst openInEditor = useOpenInEditor()\n\nconst tabs = [\n 'Missing Tags',\n 'Code Snippet',\n]\nconst selectedTab = ref(tabs[0])\n</script>\n\n<template>\n <template v-if=\"missingTags.length\">\n <NSectionBlock\n text=\"Missing Tags\"\n :description=\"`${missingTags.length} missing tags`\"\n icon=\"carbon:warning-other\"\n header-class=\"text-orange op100! [[open]_&]:text-inherit\"\n :padding=\"false\"\n >\n <div flex=\"~ wrap\" mt--2 w-full flex-none>\n <template v-for=\"name, idx of tabs\" :key=\"idx\">\n <button\n px4 py2 border=\"r t base\"\n hover=\"bg-active\"\n :class=\"name === selectedTab ? '' : 'border-b'\"\n @click=\"selectedTab = name\"\n >\n <div :class=\"name === selectedTab ? '' : 'op30' \" capitalize>\n {{ name }}\n </div>\n </button>\n </template>\n <div border=\"b base\" flex-auto />\n </div>\n\n <NCard\n v-if=\"selectedTab === tabs[0]\"\n grid=\"~ cols-[1fr] lg:cols-[max-content_1fr]\" m4 items-center justify-between of-hidden\n >\n <template v-for=\"item, index of missingTags\" :key=\"index\">\n <div v-if=\"index\" x-divider />\n <div v-if=\"index\" x-divider />\n <div flex=\"~ gap-1 items-center\" class=\"px2 pt2\" lg=\"px4 py2\">\n <div i-carbon-warning text-orange />\n <NLink\n op-50\n :href=\"item.docs\"\n target=\"_blank\"\n n=\"orange\"\n >\n {{ item.name }}\n </NLink>\n </div>\n <div w-full p2 op75>\n {{ item.description }}\n </div>\n </template>\n </NCard>\n <div v-else m4 flex=\"~ col gap-2\">\n <p flex=\"~ gap-1 wrap items-center\">\n <NButton\n icon=\"carbon-copy\" n=\"xs\" px-2\n @click=\"copy(codeSnippet, 'open-graph-suggestion')\"\n >\n Copy\n </NButton>\n the following code snippet and paste it into your\n <NButton\n v-if=\"matchedRouteFilepath\"\n icon=\"carbon-launch\" n=\"xs\" px-2\n @click=\"openInEditor(matchedRouteFilepath)\"\n >\n page component\n </NButton>\n <span v-else>page component</span>\n to full fill the missing tags.\n </p>\n <NCard relative n-code-block>\n <NCodeBlock\n :code=\"codeSnippet\"\n lang=\"ts\"\n :lines=\"false\"\n w-full of-auto p3\n />\n <div flex=\"~ gap-2\" n=\"sm primary\" absolute right-2 top-2>\n <NButton\n icon=\"carbon-copy\"\n @click=\"copy(codeSnippet, 'open-graph-suggestion')\"\n >\n Copy\n </NButton>\n </div>\n </NCard>\n </div>\n </NSectionBlock>\n </template>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderStyle as _ssrRenderStyle, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport type { SocialPreviewResolved } from '~/../src/types'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SocialFacebook',\n __ssrInlineRender: true,\n props: {\n card: {}\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${\n _ssrRenderAttrs(_mergeProps({ class: \"max-w-[524px] min-w-[524px] cursor-pointer bg-base\" }, _attrs))\n }><div class=\"h-[274px] border border-b-0 border-base bg-cover bg-center bg-no-repeat\" style=\"${\n _ssrRenderStyle({ backgroundImage: `url(${JSON.stringify(__props.card.image)})` })\n }\"></div><div class=\"break-words border border-base px-[12px] py-[10px] antialiased\"><div class=\"overflow-hidden truncate whitespace-nowrap text-[12px] leading-[11px] uppercase op50\">${\n _ssrInterpolate(__props.card.url)\n }</div><div class=\"block h-[46px] max-h-[46px] border-separate select-none overflow-hidden break-words text-left\" style=\"${\n _ssrRenderStyle({\"border-spacing\":\"0px\"})\n }\"><div class=\"mt-[3px] truncate pt-[2px] text-[16px] font-semibold leading-[20px]\">${\n _ssrInterpolate(__props.card.title)\n }</div><div class=\"mt-[3px] block h-[18px] max-h-[80px] border-separate select-none overflow-hidden truncate whitespace-nowrap break-words text-left text-[14px] leading-[20px] op50\" style=\"${\n _ssrRenderStyle({\"-webkit-line-clamp\":\"1\",\"border-spacing\":\"0px\",\"-webkit-box-orient\":\"vertical\"})\n }\">${\n _ssrInterpolate(__props.card.description)\n }</div></div></div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { SocialPreviewResolved } from '~/../src/types'\n\ndefineProps<{\n card: SocialPreviewResolved\n}>()\n</script>\n\n<template>\n <div class=\"max-w-[524px] min-w-[524px] cursor-pointer bg-base\">\n <div\n class=\"h-[274px] border border-b-0 border-base bg-cover bg-center bg-no-repeat\"\n :style=\"{ backgroundImage: `url(${JSON.stringify(card.image)})` }\"\n />\n <div class=\"break-words border border-base px-[12px] py-[10px] antialiased\">\n <div class=\"overflow-hidden truncate whitespace-nowrap text-[12px] leading-[11px] uppercase op50\">\n {{ card.url }}\n </div><div class=\"block h-[46px] max-h-[46px] border-separate select-none overflow-hidden break-words text-left\" style=\"border-spacing: 0px;\">\n <div class=\"mt-[3px] truncate pt-[2px] text-[16px] font-semibold leading-[20px]\">\n {{ card.title }}\n </div><div\n class=\"mt-[3px] block h-[18px] max-h-[80px] border-separate select-none overflow-hidden truncate whitespace-nowrap break-words text-left text-[14px] leading-[20px] op50\"\n style=\"-webkit-line-clamp: 1; border-spacing: 0px; -webkit-box-orient: vertical;\"\n >\n {{ card.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderStyle as _ssrRenderStyle, ssrRenderClass as _ssrRenderClass, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport type { NormalizedHeadTag } from '~/../src/types'\nimport { computed } from 'vue'\nimport { getSocialPreviewCard } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SocialTwitter',\n __ssrInlineRender: true,\n props: {\n tags: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst card = computed(() => getSocialPreviewCard(props.tags, {\n title: [{ tag: 'title' }],\n image: [{ tag: 'meta', name: 'twitter:image' }, { tag: 'meta', name: 'og:image' }],\n imageAlt: [{ tag: 'meta', name: 'twitter:image:alt' }],\n description: [{ tag: 'meta', name: 'twitter:description' }, { tag: 'meta', name: 'description' }],\n favicon: [{ tag: 'link', name: 'icon' }],\n}))\n\nconst type = computed(() => {\n if (!card.value.image)\n return 'summary'\n return props.tags.find(tag => tag.tag === 'meta' && tag.name === 'twitter:card')?.value || 'summary_large_image'\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${\n _ssrRenderAttrs(_mergeProps({\n class: \"max-w-[438px] min-w-[438px] of-hidden border border-base rounded-[16px] bg-base -outline-offset-1\",\n style: {\"font-family\":\"TwitterChirp, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif\"}\n }, _attrs))\n }><div class=\"${\n _ssrRenderClass([type.value === 'summary_large_image' ? '' : 'flex', \"cursor-pointer overflow-hidden leading-[1.3em]\"])\n }\" hover=\"bg-[#88888805]\">`)\n if (type.value === 'summary_large_image') {\n _push(`<div class=\"h-[220px] border-b border-base bg-cover bg-center bg-no-repeat\" style=\"${_ssrRenderStyle({ backgroundImage: `url(${JSON.stringify(card.value.image)})` })}\"></div>`)\n } else {\n _push(`<div class=\"h-[129px] w-[129px] flex-none border-r border-base bg-cover bg-center bg-no-repeat\" style=\"${_ssrRenderStyle({ backgroundImage: `url(${JSON.stringify(card.value.image)})` })}\"></div>`)\n }\n _push(`<div class=\"break-words border-base p-[0.75em] antialiased\" flex=\"~ col justify-center gap-[2px]\"><div class=\"overflow-hidden truncate whitespace-nowrap text-[15px] leading-[20px] lowercase op50\">${\n _ssrInterpolate(card.value.url)\n }</div><div class=\"m-0 truncate text-[15px] font-semibold leading-[20px]\">${\n _ssrInterpolate(card.value.title)\n }</div><div class=\"line-clamp-2 select-none overflow-hidden break-words text-left text-[15px] leading-[20px] op50\">${\n _ssrInterpolate(card.value.description)\n }</div></div></div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { NormalizedHeadTag } from '~/../src/types'\nimport { computed } from 'vue'\nimport { getSocialPreviewCard } from '~/composables/utils'\n\nconst props = defineProps<{\n tags: NormalizedHeadTag[]\n}>()\n\nconst card = computed(() => getSocialPreviewCard(props.tags, {\n title: [{ tag: 'title' }],\n image: [{ tag: 'meta', name: 'twitter:image' }, { tag: 'meta', name: 'og:image' }],\n imageAlt: [{ tag: 'meta', name: 'twitter:image:alt' }],\n description: [{ tag: 'meta', name: 'twitter:description' }, { tag: 'meta', name: 'description' }],\n favicon: [{ tag: 'link', name: 'icon' }],\n}))\n\nconst type = computed(() => {\n if (!card.value.image)\n return 'summary'\n return props.tags.find(tag => tag.tag === 'meta' && tag.name === 'twitter:card')?.value || 'summary_large_image'\n})\n</script>\n\n<template>\n <div\n class=\"max-w-[438px] min-w-[438px] of-hidden border border-base rounded-[16px] bg-base -outline-offset-1\"\n style=\"font-family: TwitterChirp, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\n >\n <div\n class=\"cursor-pointer overflow-hidden leading-[1.3em]\"\n :class=\"type === 'summary_large_image' ? '' : 'flex'\"\n hover=\"bg-[#88888805]\"\n >\n <div\n v-if=\"type === 'summary_large_image'\"\n class=\"h-[220px] border-b border-base bg-cover bg-center bg-no-repeat\"\n :style=\"{ backgroundImage: `url(${JSON.stringify(card.image)})` }\"\n />\n <div\n v-else\n class=\"h-[129px] w-[129px] flex-none border-r border-base bg-cover bg-center bg-no-repeat\"\n :style=\"{ backgroundImage: `url(${JSON.stringify(card.image)})` }\"\n />\n <div class=\"break-words border-base p-[0.75em] antialiased\" flex=\"~ col justify-center gap-[2px]\">\n <div class=\"overflow-hidden truncate whitespace-nowrap text-[15px] leading-[20px] lowercase op50\">\n {{ card.url }}\n </div>\n <div class=\"m-0 truncate text-[15px] font-semibold leading-[20px]\">\n {{ card.title }}\n </div>\n <div class=\"line-clamp-2 select-none overflow-hidden break-words text-left text-[15px] leading-[20px] op50\">\n {{ card.description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderStyle as _ssrRenderStyle, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport type { SocialPreviewResolved } from '~/../src/types'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SocialLinkedin',\n __ssrInlineRender: true,\n props: {\n card: {}\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${\n _ssrRenderAttrs(_mergeProps({ class: \"max-w-[520px] min-w-[520px] cursor-pointer overflow-hidden border border-base rounded-[2px] bg-base shadow-md\" }, _attrs))\n }><div class=\"h-[270px] border-b border-base bg-cover bg-center bg-no-repeat\" style=\"${\n _ssrRenderStyle({ backgroundImage: `url(${JSON.stringify(__props.card.image)})` })\n }\"></div><div class=\"break-words p-[10px] antialiased\"><div class=\"block h-auto max-h-[50px] border-separate select-none break-words text-left\" style=\"${\n _ssrRenderStyle({\"border-spacing\":\"0px\"})\n }\"><div class=\"pb-[2px] text-[16px] font-semibold leading-[24px]\">${\n _ssrInterpolate(__props.card.title)\n }</div><div class=\"overflow-hidden truncate whitespace-nowrap text-xs font-normal uppercase op85\">${\n _ssrInterpolate(__props.card.url)\n }</div></div></div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { SocialPreviewResolved } from '~/../src/types'\n\ndefineProps<{\n card: SocialPreviewResolved\n}>()\n</script>\n\n<template>\n <div class=\"max-w-[520px] min-w-[520px] cursor-pointer overflow-hidden border border-base rounded-[2px] bg-base shadow-md\">\n <div\n class=\"h-[270px] border-b border-base bg-cover bg-center bg-no-repeat\"\n :style=\"{ backgroundImage: `url(${JSON.stringify(card.image)})` }\"\n /><div class=\"break-words p-[10px] antialiased\">\n <div class=\"block h-auto max-h-[50px] border-separate select-none break-words text-left\" style=\"border-spacing: 0px;\">\n <div class=\"pb-[2px] text-[16px] font-semibold leading-[24px]\">\n {{ card.title }}\n </div><div class=\"overflow-hidden truncate whitespace-nowrap text-xs font-normal uppercase op85\">\n {{ card.url }}\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderAttr as _ssrRenderAttr, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport type { SocialPreviewResolved } from '~/../src/types'\nimport { useBrowserLocation, useDateFormat, useNow } from '@vueuse/core'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SocialTelegram',\n __ssrInlineRender: true,\n props: {\n card: {}\n },\n setup(__props: any) {\n\n\n\nconst location = useBrowserLocation()\nconst time = useDateFormat(useNow(), 'HH:mm')\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${\n _ssrRenderAttrs(_mergeProps({ class: \"relative max-w-[420px] min-w-[420px] rounded-[16px] rounded-bl-0 bg-base py-[6px] leading-[18px] drop-shadow-sm drop-shadow-color-[#10232f26]\" }, _attrs))\n } data-v-4566448e><div class=\"pl-[10px] pr-[8px]\" data-v-4566448e><div class=\"text-[#3390ec] leading-normal underline\" data-v-4566448e>${\n _ssrInterpolate(__props.card.url)\n }</div><div class=\"quote w-full flex\" data-v-4566448e><div class=\"flex flex-col gap-1\" data-v-4566448e>`)\n if (__props.card.image) {\n _push(`<div class=\"my-[3px] overflow-hidden rounded\" data-v-4566448e><img class=\"h-full max-w-full w-full rounded object-cover\"${_ssrRenderAttr(\"src\", __props.card.image)} data-v-4566448e></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div class=\"cursor-pointer text-sm text-[#3390ec]\" data-v-4566448e><strong data-v-4566448e>${\n _ssrInterpolate(_unref(location).hostname)\n }</strong></div><div class=\"cursor-pointer text-sm\" data-v-4566448e><strong data-v-4566448e>${\n _ssrInterpolate(__props.card.title)\n }</strong></div><div class=\"cursor-pointer text-sm\" data-v-4566448e>${\n _ssrInterpolate(__props.card.description)\n }</div></div></div><div class=\"flex justify-end text-xs text-[#707579]\" data-v-4566448e><span data-v-4566448e>${\n _ssrInterpolate(_unref(time))\n }</span></div></div><svg width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" xmlns=\"http://www.w3.org/2000/svg\" class=\"absolute bottom-0 ml-[-8.4px] translate-y-px text-white\" data-v-4566448e><g transform=\"translate(9 -14)\" fill-rule=\"evenodd\" data-v-4566448e><path id=\"corner-fill\" d=\"M-6 16h6v17c-.193-2.84-.876-5.767-2.05-8.782-.904-2.325-2.446-4.485-4.625-6.48A1 1 0 01-6 16z\" transform=\"matrix(1 0 0 -1 0 49)\" fill=\"currentColor\" data-v-4566448e></path></g></svg></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { SocialPreviewResolved } from '~/../src/types'\nimport { useBrowserLocation, useDateFormat, useNow } from '@vueuse/core'\n\ndefineProps<{\n card: SocialPreviewResolved\n}>()\n\nconst location = useBrowserLocation()\nconst time = useDateFormat(useNow(), 'HH:mm')\n</script>\n\n<template>\n <div class=\"relative max-w-[420px] min-w-[420px] rounded-[16px] rounded-bl-0 bg-base py-[6px] leading-[18px] drop-shadow-sm drop-shadow-color-[#10232f26]\">\n <div class=\"pl-[10px] pr-[8px]\">\n <div class=\"text-[#3390ec] leading-normal underline\">\n {{ card.url }}\n </div>\n <div class=\"quote w-full flex\">\n <div class=\"flex flex-col gap-1\">\n <div v-if=\"card.image\" class=\"my-[3px] overflow-hidden rounded\">\n <img class=\"h-full max-w-full w-full rounded object-cover\" :src=\"card.image\">\n </div>\n\n <div class=\"cursor-pointer text-sm text-[#3390ec]\">\n <strong>{{ location.hostname }}</strong>\n </div>\n\n <div class=\"cursor-pointer text-sm\">\n <strong>{{ card.title }}</strong>\n </div>\n\n <div class=\"cursor-pointer text-sm\">\n {{ card.description }}\n </div>\n </div>\n </div>\n\n <div class=\"flex justify-end text-xs text-[#707579]\">\n <span>{{ time }}</span>\n </div>\n </div>\n\n <svg width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" xmlns=\"http://www.w3.org/2000/svg\" class=\"absolute bottom-0 ml-[-8.4px] translate-y-px text-white\">\n <g transform=\"translate(9 -14)\" fill-rule=\"evenodd\">\n <path id=\"corner-fill\" d=\"M-6 16h6v17c-.193-2.84-.876-5.767-2.05-8.782-.904-2.325-2.446-4.485-4.625-6.48A1 1 0 01-6 16z\" transform=\"matrix(1 0 0 -1 0 49)\" fill=\"currentColor\" />\n </g>\n </svg>\n </div>\n</template>\n\n<style scoped>\n.quote::before {\n flex: 0 0 auto;\n width: 2px;\n border-radius: 2px;\n background-color: #3390ec;\n margin: 3px 8px 2px 0;\n content: '';\n}\n</style>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { NormalizedHeadTag } from '../../../src/types'\nimport { useLocalStorage } from '@vueuse/core'\nimport { computed } from 'vue'\nimport { getSocialPreviewCard } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SocialPreviewGroup',\n __ssrInlineRender: true,\n props: {\n tags: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst types = [\n 'twitter',\n 'facebook',\n 'linkedin',\n 'telegram',\n]\n\nconst selected = useLocalStorage('nuxt-devtools-social-preview-tab', types[0])\n\nconst card = computed(() => getSocialPreviewCard(props.tags, {\n title: [{ tag: 'title' }],\n image: [{ tag: 'meta', name: 'og:image' }],\n imageAlt: [{ tag: 'meta', name: 'og:image:alt' }],\n description: [{ tag: 'meta', name: 'og:description' }, { tag: 'meta', name: 'description' }],\n favicon: [{ tag: 'link', name: 'icon' }],\n}))\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_SocialFacebook = _resolveComponent(\"SocialFacebook\")!\n const _component_SocialTwitter = _resolveComponent(\"SocialTwitter\")!\n const _component_SocialLinkedin = _resolveComponent(\"SocialLinkedin\")!\n const _component_SocialTelegram = _resolveComponent(\"SocialTelegram\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n flex: \"~ col\",\n \"w-full\": \"\"\n }, _attrs))}><div flex=\"~ wrap\" w-full flex-none><!--[-->`)\n _ssrRenderList(types, (name, idx) => {\n _push(`<button px4 py2 border=\"r base\" hover=\"bg-active\" class=\"${\n _ssrRenderClass(name === _unref(selected) ? '' : 'border-b')\n }\"><div class=\"${\n _ssrRenderClass(name === _unref(selected) ? '' : 'op30' )\n }\" capitalize>${\n _ssrInterpolate(name)\n }</div></button>`)\n })\n _push(`<!--]--><div border=\"b base\" flex-auto></div></div><div flex=\"~ items-center justify-center\" flex-auto p4 n-panel-grids>`)\n if (_unref(selected) === 'facebook') {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_SocialFacebook, { card: card.value }, null, _parent))\n _push(`</div>`)\n } else if (_unref(selected) === 'twitter') {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_SocialTwitter, { tags: __props.tags }, null, _parent))\n _push(`</div>`)\n } else if (_unref(selected) === 'linkedin') {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_SocialLinkedin, { card: card.value }, null, _parent))\n _push(`</div>`)\n } else if (_unref(selected) === 'telegram') {\n _push(`<div>`)\n _push(_ssrRenderComponent(_component_SocialTelegram, { card: card.value }, null, _parent))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { NormalizedHeadTag } from '../../../src/types'\nimport { useLocalStorage } from '@vueuse/core'\nimport { computed } from 'vue'\nimport { getSocialPreviewCard } from '~/composables/utils'\n\nconst props = defineProps<{\n tags: NormalizedHeadTag[]\n}>()\n\nconst types = [\n 'twitter',\n 'facebook',\n 'linkedin',\n 'telegram',\n]\n\nconst selected = useLocalStorage('nuxt-devtools-social-preview-tab', types[0])\n\nconst card = computed(() => getSocialPreviewCard(props.tags, {\n title: [{ tag: 'title' }],\n image: [{ tag: 'meta', name: 'og:image' }],\n imageAlt: [{ tag: 'meta', name: 'og:image:alt' }],\n description: [{ tag: 'meta', name: 'og:description' }, { tag: 'meta', name: 'description' }],\n favicon: [{ tag: 'link', name: 'icon' }],\n}))\n</script>\n\n<template>\n <div flex=\"~ col\" w-full>\n <div flex=\"~ wrap\" w-full flex-none>\n <template v-for=\"name, idx of types\" :key=\"idx\">\n <button\n px4 py2 border=\"r base\"\n hover=\"bg-active\"\n :class=\"name === selected ? '' : 'border-b'\"\n @click=\"selected = name\"\n >\n <div :class=\"name === selected ? '' : 'op30' \" capitalize>\n {{ name }}\n </div>\n </button>\n </template>\n <div border=\"b base\" flex-auto />\n </div>\n <div flex=\"~ items-center justify-center\" flex-auto p4 n-panel-grids>\n <div v-if=\"selected === 'facebook'\">\n <SocialFacebook :card=\"card\" />\n </div>\n <div v-else-if=\"selected === 'twitter'\">\n <SocialTwitter :tags=\"tags\" />\n </div>\n <div v-else-if=\"selected === 'linkedin'\">\n <SocialLinkedin :card=\"card\" />\n </div>\n <div v-else-if=\"selected === 'telegram'\">\n <SocialTelegram :card=\"card\" />\n </div>\n </div>\n </div>\n</template>\n","# Open Graph\n\nNuxt provides several different ways to manage your meta tags using [`unhead`](https://unhead.harlanzw.com/). Improve your Nuxt app's SEO with powerful head config, composables and components.\n\n[Learn more on the documentation](https://nuxt.com/docs/getting-started/seo-meta)\n\n---\n\nYou can also find how open graph specs are defined in:\n\n- [The Open Graph protocol](https://ogp.me/)\n- [Twitter Cards](https://developer.twitter.com/en/docs/twitter-for-websites/cards/guides/getting-started)\n\n<!-- and maybe also add reference to SEO modules(https://nuxt.com/modules?category=SEO) ? -->\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withCtx as _withCtx, withKeys as _withKeys, createVNode as _createVNode, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrGetDirectiveProps as _ssrGetDirectiveProps, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { NormalizedHeadTag } from '~/../src/types/ui-state'\nimport { computedAsync, until } from '@vueuse/core'\nimport { resolveTags } from 'unhead/utils'\nimport { computed, nextTick, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient, useClientHead, useClientRoute, useClientRouter } from '~/composables/client'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useMergedRouteList } from '~/composables/state'\nimport { ogTags } from '~/data/open-graph'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'open-graph',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon:image-search',\n title: 'Open Graph',\n layout: 'full',\n category: 'analyze',\n show: () => {\n const client = useClient()\n return () => !!client.value\n },\n})\n\nconst counter = ref(0)\nconst head = useClientHead()\n\nconst headTags = computedAsync(async () => {\n // eslint-disable-next-line ts/no-unused-expressions\n counter.value // for force refresh\n const tags = head.value ? resolveTags(head.value) : []\n return tags.map((tag): NormalizedHeadTag => {\n const props = tag.props || {}\n if (tag.tag === 'htmlAttrs' && props.lang) {\n return {\n tag: 'html',\n name: 'lang',\n value: props.lang,\n }\n }\n if (props.charset) {\n return {\n tag: 'meta',\n name: 'charset',\n value: props.charset,\n }\n }\n return {\n tag: tag.tag,\n name: props.property ?? props.name ?? props.rel ?? tag.tag,\n value: props.content ?? props.href ?? tag.textContent ?? JSON.stringify(props),\n }\n })\n}, [])\n\nconst showPreview = ref(true)\n\nfunction refresh() {\n counter.value += 1\n}\n\nconst router = useClientRouter()\nconst route = useClientRoute()\nconst routeInput = ref('')\nconst routes = useMergedRouteList()\nconst openInEditor = useOpenInEditor()\n\nasync function navigate() {\n if (routeInput.value !== route.value.path)\n router.value.push(routeInput.value || '/')\n}\n\nconst routeInputMatched = computed(() => {\n if (routeInput.value === route.value.path)\n return []\n return router.value.resolve(routeInput.value || '/').matched\n})\n\nconst routeMatchedFilePath = computed(() => {\n const matched = routes.value.find(i => i.path === route.value?.matched?.[0]?.path)\n return matched?.file || matched?.meta?.file as string\n})\n\nfunction getDocs(item: NormalizedHeadTag) {\n return ogTags.find(i => i.name === item.name)?.docs\n}\n\nuntil(route).toBeTruthy().then((v) => {\n routeInput.value = v.path\n})\n\nuntil(router).toBeTruthy().then((v) => {\n v.afterEach(() => {\n nextTick(() => {\n routeInput.value = route.value.path\n // try refresh after route change, to get async updates\n setTimeout(refresh, 200)\n setTimeout(refresh, 800)\n })\n })\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NNavbar = _resolveComponent(\"NNavbar\")!\n const _component_NTextInput = _resolveComponent(\"NTextInput\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_NSectionBlock = _resolveComponent(\"NSectionBlock\")!\n const _component_NCard = _resolveComponent(\"NCard\")!\n const _component_NLink = _resolveComponent(\"NLink\")!\n const _component_OpenGraphMissingTabs = _resolveComponent(\"OpenGraphMissingTabs\")!\n const _component_SocialPreviewGroup = _resolveComponent(\"SocialPreviewGroup\")!\n const _component_HelpFab = _resolveComponent(\"HelpFab\")!\n const _component_DocsOpenGraph = _resolveComponent(\"DocsOpenGraph\")!\n const _directive_tooltip = _resolveDirective(\"tooltip\")!\n\n _push(`<!--[--><div grid=\"~ lg:cols-2\" h-full w-full of-hidden><div flex-auto of-auto>`)\n _push(_ssrRenderComponent(_component_NNavbar, null, {\n search: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NTextInput, {\n modelValue: routeInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((routeInput).value = $event),\n placeholder: \"Route\",\n icon: \"carbon-direction-right-01 scale-y--100\",\n n: \"primary\",\n \"flex-auto\": \"\",\n \"font-mono\": \"\",\n class: [\"px-5 py-2\", _unref(route)?.path === routeInput.value ? '' : routeInputMatched.value.length ? 'text-green' : 'text-orange' ],\n onKeydown: navigate\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NTextInput, {\n modelValue: routeInput.value,\n \"onUpdate:modelValue\": ($event: any) => ((routeInput).value = $event),\n placeholder: \"Route\",\n icon: \"carbon-direction-right-01 scale-y--100\",\n n: \"primary\",\n \"flex-auto\": \"\",\n \"font-mono\": \"\",\n class: [\"px-5 py-2\", _unref(route)?.path === routeInput.value ? '' : routeInputMatched.value.length ? 'text-green' : 'text-orange' ],\n onKeydown: _withKeys(navigate, [\"enter\"])\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\"])\n ]\n }\n }),\n actions: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex-none flex=\"~ gap2 items-center\"${_scopeId}>`)\n if (routeMatchedFilePath.value) {\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:launch\",\n title: \"Open file in editor\",\n onClick: ($event: any) => (_unref(openInEditor)(routeMatchedFilePath.value))\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Open file in editor')), null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:reset\",\n title: \"Refresh Data\",\n onClick: refresh\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Refresh Data')), null, _parent, _scopeId))\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n \"text-lg\": \"\",\n border: false,\n icon: showPreview.value ? 'carbon:side-panel-open' : 'carbon:open-panel-right',\n title: \"Toggle Preview\",\n onClick: ($event: any) => (showPreview.value = !showPreview.value)\n }, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Toggle Preview')), null, _parent, _scopeId))\n _push(`</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"flex-none\": \"\",\n flex: \"~ gap2 items-center\"\n }, [\n (routeMatchedFilePath.value)\n ? _withDirectives((_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:launch\",\n title: \"Open file in editor\",\n onClick: ($event: any) => (_unref(openInEditor)(routeMatchedFilePath.value))\n }, null, 8, [\"onClick\"])), [\n [_directive_tooltip, 'Open file in editor']\n ])\n : _createCommentVNode(\"\", true),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n border: false,\n icon: \"carbon:reset\",\n title: \"Refresh Data\",\n onClick: refresh\n }, null, 512), [\n [_directive_tooltip, 'Refresh Data']\n ]),\n _withDirectives(_createVNode(_component_NButton, {\n \"text-lg\": \"\",\n border: false,\n icon: showPreview.value ? 'carbon:side-panel-open' : 'carbon:open-panel-right',\n title: \"Toggle Preview\",\n onClick: ($event: any) => (showPreview.value = !showPreview.value)\n }, null, 8, [\"icon\", \"onClick\"]), [\n [_directive_tooltip, 'Toggle Preview']\n ])\n ])\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<div flex=\"~ col\">`)\n _push(_ssrRenderComponent(_component_NSectionBlock, {\n text: \"Tags\",\n icon: \"carbon:tag-group\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NCard, {\n grid: \"~ cols-[max-content_1fr]\",\n \"items-center\": \"\",\n \"justify-between\": \"\",\n \"of-hidden\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<!--[-->`)\n _ssrRenderList(_unref(headTags), (item, index) => {\n _push(`<!--[-->`)\n if (index) {\n _push(`<div x-divider${_scopeId}></div>`)\n } else {\n _push(`<!---->`)\n }\n if (index) {\n _push(`<div x-divider${_scopeId}></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div mr2 px4 py2${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NLink, {\n op50: \"\",\n href: getDocs(item),\n target: \"_blank\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`${_ssrInterpolate(item.name)}`)\n } else {\n return [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_NLink, {\n href: String(item.value).match(/^https?:\\/\\//) ? item.value : undefined,\n target: \"_blank\",\n \"w-full\": \"\",\n p2: \"\",\n \"font-mono\": \"\",\n n: \"primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`${_ssrInterpolate(item.value)}`)\n } else {\n return [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n _push(`<!--]-->`)\n })\n _push(`<!--]-->`)\n } else {\n return [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(headTags), (item, index) => {\n return (_openBlock(), _createBlock(_Fragment, { key: index }, [\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n mr2: \"\",\n px4: \"\",\n py2: \"\"\n }, [\n _createVNode(_component_NLink, {\n op50: \"\",\n href: getDocs(item),\n target: \"_blank\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ]),\n _createVNode(_component_NLink, {\n href: String(item.value).match(/^https?:\\/\\//) ? item.value : undefined,\n target: \"_blank\",\n \"w-full\": \"\",\n p2: \"\",\n \"font-mono\": \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ], 64))\n }), 128))\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NCard, {\n grid: \"~ cols-[max-content_1fr]\",\n \"items-center\": \"\",\n \"justify-between\": \"\",\n \"of-hidden\": \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(headTags), (item, index) => {\n return (_openBlock(), _createBlock(_Fragment, { key: index }, [\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 0,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n index\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"x-divider\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n mr2: \"\",\n px4: \"\",\n py2: \"\"\n }, [\n _createVNode(_component_NLink, {\n op50: \"\",\n href: getDocs(item),\n target: \"_blank\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ]),\n _createVNode(_component_NLink, {\n href: String(item.value).match(/^https?:\\/\\//) ? item.value : undefined,\n target: \"_blank\",\n \"w-full\": \"\",\n p2: \"\",\n \"font-mono\": \"\",\n n: \"primary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]),\n _: 2\n }, 1032, [\"href\"])\n ], 64))\n }), 128))\n ]),\n _: 1\n })\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(_ssrRenderComponent(_component_OpenGraphMissingTabs, {\n tags: _unref(headTags),\n \"matched-route-filepath\": routeMatchedFilePath.value\n }, null, _parent))\n _push(`</div></div>`)\n if (showPreview.value && _unref(headTags)?.length) {\n _push(_ssrRenderComponent(_component_SocialPreviewGroup, {\n tags: _unref(headTags),\n \"flex-none\": \"\",\n \"border-base\": \"\",\n \"lt-lg\": \"border-t\",\n lg: \"h-full w-140 border-l\"\n }, null, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n _push(_ssrRenderComponent(_component_HelpFab, null, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_DocsOpenGraph, null, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_DocsOpenGraph)\n ]\n }\n }),\n _: 1\n }, _parent))\n _push(`<!--]-->`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { NormalizedHeadTag } from '~/../src/types/ui-state'\nimport { computedAsync, until } from '@vueuse/core'\nimport { resolveTags } from 'unhead/utils'\nimport { computed, nextTick, ref } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient, useClientHead, useClientRoute, useClientRouter } from '~/composables/client'\nimport { useOpenInEditor } from '~/composables/editor'\nimport { useMergedRouteList } from '~/composables/state'\nimport { ogTags } from '~/data/open-graph'\n\ndefinePageMeta({\n icon: 'carbon:image-search',\n title: 'Open Graph',\n layout: 'full',\n category: 'analyze',\n show: () => {\n const client = useClient()\n return () => !!client.value\n },\n})\n\nconst counter = ref(0)\nconst head = useClientHead()\n\nconst headTags = computedAsync(async () => {\n // eslint-disable-next-line ts/no-unused-expressions\n counter.value // for force refresh\n const tags = head.value ? resolveTags(head.value) : []\n return tags.map((tag): NormalizedHeadTag => {\n const props = tag.props || {}\n if (tag.tag === 'htmlAttrs' && props.lang) {\n return {\n tag: 'html',\n name: 'lang',\n value: props.lang,\n }\n }\n if (props.charset) {\n return {\n tag: 'meta',\n name: 'charset',\n value: props.charset,\n }\n }\n return {\n tag: tag.tag,\n name: props.property ?? props.name ?? props.rel ?? tag.tag,\n value: props.content ?? props.href ?? tag.textContent ?? JSON.stringify(props),\n }\n })\n}, [])\n\nconst showPreview = ref(true)\n\nfunction refresh() {\n counter.value += 1\n}\n\nconst router = useClientRouter()\nconst route = useClientRoute()\nconst routeInput = ref('')\nconst routes = useMergedRouteList()\nconst openInEditor = useOpenInEditor()\n\nasync function navigate() {\n if (routeInput.value !== route.value.path)\n router.value.push(routeInput.value || '/')\n}\n\nconst routeInputMatched = computed(() => {\n if (routeInput.value === route.value.path)\n return []\n return router.value.resolve(routeInput.value || '/').matched\n})\n\nconst routeMatchedFilePath = computed(() => {\n const matched = routes.value.find(i => i.path === route.value?.matched?.[0]?.path)\n return matched?.file || matched?.meta?.file as string\n})\n\nfunction getDocs(item: NormalizedHeadTag) {\n return ogTags.find(i => i.name === item.name)?.docs\n}\n\nuntil(route).toBeTruthy().then((v) => {\n routeInput.value = v.path\n})\n\nuntil(router).toBeTruthy().then((v) => {\n v.afterEach(() => {\n nextTick(() => {\n routeInput.value = route.value.path\n // try refresh after route change, to get async updates\n setTimeout(refresh, 200)\n setTimeout(refresh, 800)\n })\n })\n})\n</script>\n\n<template>\n <div grid=\"~ lg:cols-2\" h-full w-full of-hidden>\n <div flex-auto of-auto>\n <NNavbar>\n <template #search>\n <NTextInput\n v-model=\"routeInput\"\n placeholder=\"Route\"\n icon=\"carbon-direction-right-01 scale-y--100\"\n n=\"primary\" flex-auto font-mono\n class=\"px-5 py-2\"\n :class=\"route?.path === routeInput ? '' : routeInputMatched.length ? 'text-green' : 'text-orange' \"\n @keydown.enter=\"navigate\"\n />\n </template>\n <template #actions>\n <div flex-none flex=\"~ gap2 items-center\">\n <NButton\n v-if=\"routeMatchedFilePath\"\n v-tooltip=\"'Open file in editor'\"\n text-lg :border=\"false\"\n icon=\"carbon:launch\"\n title=\"Open file in editor\"\n @click=\"openInEditor(routeMatchedFilePath)\"\n />\n\n <NButton\n v-tooltip=\"'Refresh Data'\"\n text-lg :border=\"false\"\n icon=\"carbon:reset\"\n title=\"Refresh Data\"\n @click=\"refresh\"\n />\n\n <NButton\n v-tooltip=\"'Toggle Preview'\"\n text-lg :border=\"false\"\n :icon=\"showPreview ? 'carbon:side-panel-open' : 'carbon:open-panel-right'\"\n title=\"Toggle Preview\"\n @click=\"showPreview = !showPreview\"\n />\n </div>\n </template>\n </NNavbar>\n <div flex=\"~ col\">\n <NSectionBlock\n text=\"Tags\"\n icon=\"carbon:tag-group\"\n >\n <!-- TODO: show current route -->\n <NCard grid=\"~ cols-[max-content_1fr]\" items-center justify-between of-hidden>\n <template v-for=\"item, index of headTags\" :key=\"index\">\n <div v-if=\"index\" x-divider />\n <div v-if=\"index\" x-divider />\n <div mr2 px4 py2>\n <NLink\n op50\n :href=\"getDocs(item)\"\n target=\"_blank\"\n n=\"primary\"\n >\n {{ item.name }}\n </NLink>\n </div>\n <NLink\n :href=\"String(item.value).match(/^https?:\\/\\//) ? item.value : undefined\"\n target=\"_blank\"\n w-full p2 font-mono\n n=\"primary\"\n >\n {{ item.value }}\n </NLink>\n </template>\n </NCard>\n </NSectionBlock>\n <OpenGraphMissingTabs :tags=\"headTags\" :matched-route-filepath=\"routeMatchedFilePath\" />\n </div>\n </div>\n <SocialPreviewGroup\n v-if=\"showPreview && headTags?.length\"\n :tags=\"headTags\"\n flex-none border-base\n lt-lg=\"border-t\"\n lg=\"h-full w-140 border-l\"\n />\n </div>\n\n <HelpFab>\n <DocsOpenGraph />\n </HelpFab>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"overview-CyqDmfdE.js","mappings":"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","names":[],"sources":["../../../../../../../../../package.json","../../../../../../../../pages/modules/overview.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../pages/modules/overview.vue"],"sourcesContent":["{\n \"name\": \"@nuxt/devtools\",\n \"type\": \"module\",\n \"version\": \"4.0.0-alpha.17\",\n \"description\": \"The Nuxt DevTools gives you insights and transparency about your Nuxt App.\",\n \"license\": \"MIT\",\n \"homepage\": \"https://devtools.nuxt.com\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/nuxt/devtools.git\",\n \"directory\": \"packages/devtools\"\n },\n \"exports\": {\n \".\": \"./dist/module.mjs\",\n \"./webcomponents\": \"./dist/webcomponents/index.mjs\",\n \"./types\": \"./dist/types.mjs\",\n \"./*\": \"./*\"\n },\n \"types\": \"./dist/module.d.mts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"build\": \"pnpm dev:prepare && pnpm build:module\",\n \"build:client\": \"pnpm dev:prepare && nuxi generate client && node scripts/copy-client.mjs\",\n \"build:module\": \"nuxt-build-module build\",\n \"stub\": \"nuxt-build-module build --stub\",\n \"dev\": \"nuxi dev client\",\n \"dev:playground\": \"pnpm build && nuxi dev playground\",\n \"dev:prepare\": \"pnpm run stub && nuxi prepare client\",\n \"prepare\": \"tsx scripts/prepare.ts\",\n \"prepack\": \"turbo run build --filter=.\"\n },\n \"peerDependencies\": {\n \"@nuxt/devtools-assets\": \"workspace:*\",\n \"@nuxt/kit\": \"^4.0.0-0 || ^5.0.0-0\",\n \"nitro\": \"^3.0.0-0\",\n \"nitropack\": \"^2.0.0\",\n \"vite\": \"^8.1.5\",\n \"vite-plugin-inspect\": \"catalog:prod\"\n },\n \"peerDependenciesMeta\": {\n \"@nuxt/devtools-assets\": {\n \"optional\": true\n },\n \"nitro\": {\n \"optional\": true\n },\n \"nitropack\": {\n \"optional\": true\n },\n \"vite-plugin-inspect\": {\n \"optional\": true\n }\n },\n \"dependencies\": {\n \"@devframes/hub\": \"catalog:prod\",\n \"@devframes/plugin-code-server\": \"catalog:prod\",\n \"@devframes/plugin-data-inspector\": \"catalog:prod\",\n \"@nuxt/devtools-kit\": \"workspace:*\",\n \"@vitejs/devtools\": \"catalog:buildtools\",\n \"@vitejs/devtools-kit\": \"catalog:types\",\n \"consola\": \"catalog:prod\",\n \"destr\": \"catalog:prod\",\n \"devframe\": \"catalog:prod\",\n \"error-stack-parser-es\": \"catalog:frontend\",\n \"fast-npm-meta\": \"catalog:prod\",\n \"hookable\": \"catalog:frontend\",\n \"image-meta\": \"catalog:prod\",\n \"local-pkg\": \"catalog:prod\",\n \"magicast\": \"catalog:prod\",\n \"pathe\": \"catalog:frontend\",\n \"perfect-debounce\": \"catalog:frontend\",\n \"pkg-types\": \"catalog:prod\",\n \"tinyglobby\": \"catalog:prod\",\n \"unstorage\": \"catalog:prod\",\n \"verkit\": \"catalog:prod\",\n \"vite-plugin-vue-tracer\": \"catalog:prod\"\n },\n \"devDependencies\": {\n \"@antfu/utils\": \"catalog:frontend\",\n \"@iconify-json/bxl\": \"catalog:icons\",\n \"@iconify-json/carbon\": \"catalog:icons\",\n \"@iconify-json/logos\": \"catalog:icons\",\n \"@iconify-json/ph\": \"catalog:icons\",\n \"@iconify-json/ri\": \"catalog:icons\",\n \"@iconify-json/simple-icons\": \"catalog:icons\",\n \"@iconify-json/tabler\": \"catalog:icons\",\n \"@nuxt/devtools-assets\": \"workspace:*\",\n \"@nuxt/kit\": \"catalog:prod\",\n \"@parcel/watcher\": \"catalog:buildtools\",\n \"@types/markdown-it-link-attributes\": \"catalog:types\",\n \"@unhead/schema\": \"catalog:types\",\n \"@unocss/nuxt\": \"catalog:buildtools\",\n \"@unocss/preset-icons\": \"catalog:buildtools\",\n \"@unocss/preset-uno\": \"catalog:buildtools\",\n \"@unocss/runtime\": \"catalog:frontend\",\n \"@vitejs/devtools\": \"catalog:buildtools\",\n \"@vueuse/nuxt\": \"catalog:buildtools\",\n \"cronstrue\": \"catalog:frontend\",\n \"diff\": \"catalog:frontend\",\n \"exsolve\": \"catalog:buildtools\",\n \"floating-vue\": \"catalog:frontend\",\n \"fuse.js\": \"catalog:frontend\",\n \"json-editor-vue\": \"catalog:frontend\",\n \"lightningcss\": \"catalog:buildtools\",\n \"markdown-exit\": \"catalog:frontend\",\n \"markdown-it-link-attributes\": \"catalog:frontend\",\n \"nitro\": \"catalog:buildtools\",\n \"nitropack\": \"catalog:buildtools\",\n \"nuxt\": \"catalog:buildtools\",\n \"ofetch\": \"catalog:frontend\",\n \"package-manager-detector\": \"catalog:inlined\",\n \"quicktype-core\": \"catalog:frontend\",\n \"scule\": \"catalog:frontend\",\n \"shiki\": \"catalog:frontend\",\n \"shiki-codegen\": \"catalog:buildtools\",\n \"structured-clone-es\": \"catalog:frontend\",\n \"theme-vitesse\": \"catalog:frontend\",\n \"tsx\": \"catalog:cli\",\n \"ua-parser-modern\": \"catalog:frontend\",\n \"unbuild\": \"catalog:buildtools\",\n \"unimport\": \"catalog:types\",\n \"unocss\": \"catalog:buildtools\",\n \"unplugin-vue\": \"catalog:buildtools\",\n \"unplugin-vue-markdown\": \"catalog:buildtools\",\n \"vanilla-jsoneditor\": \"catalog:frontend\",\n \"vis-data\": \"catalog:frontend\",\n \"vis-network\": \"catalog:frontend\",\n \"vite-plugin-inspect\": \"catalog:prod\",\n \"vue-tsc\": \"catalog:cli\",\n \"vue-virtual-scroller\": \"catalog:frontend\"\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useAutoImports, useServerConfig } from '~/composables/state'\nimport { useComponents } from '~/composables/state-components'\nimport { useInstalledModules } from '~/composables/state-modules'\nimport { useAllRoutes } from '~/composables/state-tabs'\nimport { getIsMacOS } from '~/composables/utils'\nimport { version } from '../../../package.json'\nimport { showConnectionWarning } from '../../composables/client'\nimport { formatDuration, pluralizeByCount } from '../../composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'overview',\n __ssrInlineRender: true,\n setup(__props) {\n\ndefinePageMeta({\n icon: 'carbon-information',\n title: 'Overview',\n order: -100,\n})\n\nconst client = useClient()\nconst config = useServerConfig()\nconst components = useComponents()\nconst autoImports = useAutoImports()\nconst installedModules = useInstalledModules()\nconst routes = useAllRoutes()\nconst isMacOS = getIsMacOS()\n\nconst vueVersion = computed(() => client.value?.nuxt.vueApp.version)\nconst metricsLoading = computed(() => client.value?.metrics.loading())\n\nfunction authorize() {\n // Auth is now handled by Vite DevTools\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NPanelGrids = _resolveComponent(\"NPanelGrids\")!\n const _component_NuxtLink = _resolveComponent(\"NuxtLink\")!\n const _component_NuxtLogo = _resolveComponent(\"NuxtLogo\")!\n const _component_NpmVersionCheck = _resolveComponent(\"NpmVersionCheck\")!\n const _component_NTip = _resolveComponent(\"NTip\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n _push(_ssrRenderComponent(_component_NPanelGrids, _mergeProps({\n \"h-screen\": \"\",\n \"w-full\": \"\",\n flex: \"\"\n }, _attrs), {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n if (!_unref(config)) {\n _push(`<div${_scopeId}> Loading... </div>`)\n } else {\n _push(`<div flex=\"~ col gap2\" ma h-full max-w-300 w-full p5 px5 md:px20${\n _scopeId\n }><div flex-auto${\n _scopeId\n }></div><div flex=\"~ col\" mt-5 items-center md:mt-20${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NuxtLink, {\n flex: \"~\",\n \"mt--10\": \"\",\n \"items-center\": \"\",\n \"justify-center\": \"\",\n to: \"https://devtools.nuxt.com/\",\n target: \"_blank\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NuxtLogo, { \"h-10\": \"\" }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NuxtLogo, { \"h-10\": \"\" })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<div mb6 mt3 text-center text-sm flex=\"~ gap-1 wrap\"${\n _scopeId\n }><span op40${\n _scopeId\n }> Nuxt DevTools </span><code op40${\n _scopeId\n }>v${\n _ssrInterpolate(_unref(version))\n }</code>`)\n _push(_ssrRenderComponent(_component_NpmVersionCheck, {\n \"package-name\": \"@nuxt/devtools\",\n options: { dev: true },\n \"show-version\": false\n }, null, _parent, _scopeId))\n _push(`</div></div><div flex=\"~ gap2 wrap\"${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NuxtLink, {\n to: \"https://nuxt.com\",\n target: \"_blank\",\n \"theme-card-green\": \"\",\n p4: \"\",\n flex: \"~ col auto\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div logos-nuxt-icon text-3xl${_scopeId}></div>`)\n _push(_ssrRenderComponent(_component_NpmVersionCheck, {\n \"package-name\": \"nuxt\",\n options: { dev: true }\n }, null, _parent, _scopeId))\n } else {\n return [\n _createVNode(\"div\", {\n \"logos-nuxt-icon\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(_component_NpmVersionCheck, {\n \"package-name\": \"nuxt\",\n options: { dev: true }\n })\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n if (vueVersion.value) {\n _push(_ssrRenderComponent(_component_NuxtLink, {\n to: \"https://vuejs.org\",\n target: \"_blank\",\n \"theme-card-green\": \"\",\n p4: \"\",\n flex: \"~ col auto\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div logos-vue text-3xl${\n _scopeId\n }></div><code${\n _scopeId\n }>v${\n _ssrInterpolate(vueVersion.value)\n }</code>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"logos-vue\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"code\", null, \"v\" + _toDisplayString(vueVersion.value), 1)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (_unref(config)) {\n _push(`<!--[-->`)\n if (_unref(config) && _unref(config).pages && _unref(client)) {\n _push(_ssrRenderComponent(_component_NuxtLink, {\n \"min-w-40\": \"\",\n \"theme-card-lime\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/pages\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div carbon-tree-view-alt text-3xl${\n _scopeId\n }></div><div${\n _scopeId\n }>${\n _ssrInterpolate(_unref(pluralizeByCount)(_unref(routes).length, 'page'))\n }</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"carbon-tree-view-alt\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(routes).length, 'page')), 1)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (_unref(config)) {\n _push(_ssrRenderComponent(_component_NuxtLink, {\n \"min-w-40\": \"\",\n \"theme-card-lime\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/components\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div i-carbon-assembly-cluster text-3xl${\n _scopeId\n }></div><div${\n _scopeId\n }>${\n _ssrInterpolate(_unref(pluralizeByCount)(_unref(components).length, 'component'))\n }</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"i-carbon-assembly-cluster\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(components).length, 'component')), 1)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (_unref(config) && _unref(autoImports)) {\n _push(_ssrRenderComponent(_component_NuxtLink, {\n \"min-w-40\": \"\",\n \"theme-card-yellow\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/imports\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div carbon-function text-3xl${\n _scopeId\n }></div><div${\n _scopeId\n }>${\n _ssrInterpolate(_unref(pluralizeByCount)(_unref(autoImports).imports.length, 'import'))\n }</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"carbon-function\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(autoImports).imports.length, 'import')), 1)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (_unref(config)) {\n _push(_ssrRenderComponent(_component_NuxtLink, {\n \"min-w-40\": \"\",\n \"theme-card-purple\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/modules\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div carbon-3d-mpr-toggle text-3xl${\n _scopeId\n }></div><div${\n _scopeId\n }>${\n _ssrInterpolate(_unref(pluralizeByCount)(_unref(installedModules).length, 'module'))\n }</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"carbon-3d-mpr-toggle\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(installedModules).length, 'module')), 1)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (_unref(config)) {\n _push(_ssrRenderComponent(_component_NuxtLink, {\n \"min-w-40\": \"\",\n \"theme-card-teal\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/plugins\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div carbon-plug text-3xl${\n _scopeId\n }></div><div${\n _scopeId\n }>${\n _ssrInterpolate(_unref(pluralizeByCount)(_unref(config).plugins.length, 'plugin'))\n }</div>`)\n } else {\n return [\n _createVNode(\"div\", {\n \"carbon-plug\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(config).plugins.length, 'plugin')), 1)\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (metricsLoading.value) {\n _push(`<div pointer-events-none min-w-40 theme-card-lime p4 flex=\"~ auto gap-6\"${\n _scopeId\n }><div i-carbon-time-plot flex-none text-3xl${\n _scopeId\n }></div><div grid=\"~ cols-[auto_auto] gap-x-5 items-center\"${\n _scopeId\n }>`)\n if (metricsLoading.value.ssrStart) {\n _push(`<!--[--><div text-sm${\n _scopeId\n }> SSR to full load </div><div text-right${\n _scopeId\n }>${\n _ssrInterpolate(_unref(formatDuration)(metricsLoading.value.appLoad! - metricsLoading.value.ssrStart!))\n }</div><!--]-->`)\n } else {\n _push(`<!---->`)\n }\n _push(`<div text-sm${\n _scopeId\n }> Page load </div><div text-right${\n _scopeId\n }>${\n _ssrInterpolate(_unref(formatDuration)(metricsLoading.value.appLoad! - metricsLoading.value.appInit!))\n }</div><div text-sm${\n _scopeId\n }> Navigation </div><div text-right${\n _scopeId\n }>${\n _ssrInterpolate(_unref(formatDuration)(metricsLoading.value.pageEnd! - metricsLoading.value.pageStart!))\n }</div>`)\n if (metricsLoading.value.hmrStart) {\n _push(`<!--[--><div text-sm${\n _scopeId\n }> HMR </div><div text-right${\n _scopeId\n }>${\n _ssrInterpolate(_unref(formatDuration)(metricsLoading.value.hmrEnd! - metricsLoading.value.hmrStart!))\n }</div><!--]-->`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<!--]-->`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div><div flex=\"~ col gap2\"${_scopeId}>`)\n if (_unref(showConnectionWarning)) {\n _push(_ssrRenderComponent(_component_NTip, {\n n: \"yellow5\",\n icon: \"carbon-unlink\",\n \"justify-center\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Not connected to the client app, showing server-side data only. Use the embedded mode for full features. `)\n } else {\n return [\n _createTextVNode(\" Not connected to the client app, showing server-side data only. Use the embedded mode for full features. \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`<button title=\"Authorize\"${_scopeId}>`)\n if (!_ctx.isDevAuthed) {\n _push(_ssrRenderComponent(_component_NTip, {\n n: \"orange5\",\n icon: \"i-carbon-locked\",\n \"justify-center\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Access from an untrusted browser, some features are limited. Click to authorize now. `)\n } else {\n return [\n _createTextVNode(\" Access from an untrusted browser, some features are limited. Click to authorize now. \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`</button></div><div flex=\"~ gap-6 wrap\" mt-5 items-center justify-center${\n _scopeId\n }><a href=\"https://github.com/nuxt/devtools\" target=\"_blank\" flex=\"~ gap1\" items-center op50 hover=\"op100 text-blue\" transition${\n _scopeId\n }><div i-carbon-star${\n _scopeId\n }></div> Star on GitHub </a><a href=\"https://github.com/nuxt/devtools/discussions/29\" target=\"_blank\" flex=\"~ gap1\" items-center op50 hover=\"op100 text-yellow\" transition${\n _scopeId\n }><div i-carbon-data-enrichment${\n _scopeId\n }></div> Ideas &amp; Suggestions </a><a href=\"https://github.com/nuxt/devtools/discussions/31\" target=\"_blank\" flex=\"~ gap1\" items-center op50 hover=\"op100 text-lime\" transition${\n _scopeId\n }><div i-carbon-plan${\n _scopeId\n }></div> Project Roadmap </a><a href=\"https://github.com/nuxt/devtools/issues\" target=\"_blank\" flex=\"~ gap1\" items-center op50 hover=\"op100 text-rose\" transition${\n _scopeId\n }><div i-carbon-debug${\n _scopeId\n }></div> Bug Reports </a>`)\n _push(_ssrRenderComponent(_component_NuxtLink, {\n to: \"/settings\",\n flex: \"~ gap1\",\n \"inline-block\": \"\",\n \"items-center\": \"\",\n op50: \"\",\n \"hover:op80\": \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div i-carbon-settings-adjust${_scopeId}></div> Settings `)\n } else {\n return [\n _createVNode(\"div\", { \"i-carbon-settings-adjust\": \"\" }),\n _createTextVNode(\" Settings \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`</div><div flex-auto${\n _scopeId\n }></div><div flex=\"col gap-2\" mxa hidden w-100 text-sm op50 md:flex${\n _scopeId\n }><div flex=\"~ gap-1\" items-center${\n _scopeId\n }>`)\n if (_unref(isMacOS)) {\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` ⌘ Cmd `)\n } else {\n return [\n _createTextVNode(\" ⌘ Cmd \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span${_scopeId}>+</span>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` K `)\n } else {\n return [\n _createTextVNode(\" K \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<!--]-->`)\n } else {\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Ctrl `)\n } else {\n return [\n _createTextVNode(\" Ctrl \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span${_scopeId}>+</span>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` K `)\n } else {\n return [\n _createTextVNode(\" K \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<!--]-->`)\n }\n _push(`<div flex-auto${\n _scopeId\n }></div> Open Command Palette </div><div flex=\"~ gap-1\" items-center${\n _scopeId\n }>`)\n if (_unref(isMacOS)) {\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` ⇧ Shift `)\n } else {\n return [\n _createTextVNode(\" ⇧ Shift \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span${_scopeId}>+</span>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` ⌥ Option `)\n } else {\n return [\n _createTextVNode(\" ⌥ Option \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span${_scopeId}>+</span>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` D `)\n } else {\n return [\n _createTextVNode(\" D \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<!--]-->`)\n } else {\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Shift `)\n } else {\n return [\n _createTextVNode(\" Shift \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span${_scopeId}>+</span>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Alt `)\n } else {\n return [\n _createTextVNode(\" Alt \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<span${_scopeId}>+</span>`)\n _push(_ssrRenderComponent(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` D `)\n } else {\n return [\n _createTextVNode(\" D \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n _push(`<!--]-->`)\n }\n _push(`<div flex-auto${\n _scopeId\n }></div><div${\n _scopeId\n }>Toggle DevTools</div></div></div></div>`)\n }\n } else {\n return [\n (!_unref(config))\n ? (_openBlock(), _createBlock(\"div\", { key: 0 }, \" Loading... \"))\n : (_openBlock(), _createBlock(\"div\", {\n key: 1,\n flex: \"~ col gap2\",\n ma: \"\",\n \"h-full\": \"\",\n \"max-w-300\": \"\",\n \"w-full\": \"\",\n p5: \"\",\n px5: \"\",\n \"md:px20\": \"\"\n }, [\n _createVNode(\"div\", { \"flex-auto\": \"\" }),\n _createVNode(\"div\", {\n flex: \"~ col\",\n \"mt-5\": \"\",\n \"items-center\": \"\",\n \"md:mt-20\": \"\"\n }, [\n _createVNode(_component_NuxtLink, {\n flex: \"~\",\n \"mt--10\": \"\",\n \"items-center\": \"\",\n \"justify-center\": \"\",\n to: \"https://devtools.nuxt.com/\",\n target: \"_blank\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_NuxtLogo, { \"h-10\": \"\" })\n ]),\n _: 1\n }),\n _createVNode(\"div\", {\n mb6: \"\",\n mt3: \"\",\n \"text-center\": \"\",\n \"text-sm\": \"\",\n flex: \"~ gap-1 wrap\"\n }, [\n _createVNode(\"span\", { op40: \"\" }, \" Nuxt DevTools \"),\n _createVNode(\"code\", { op40: \"\" }, \"v\" + _toDisplayString(_unref(version)), 1),\n _createVNode(_component_NpmVersionCheck, {\n \"package-name\": \"@nuxt/devtools\",\n options: { dev: true },\n \"show-version\": false\n })\n ])\n ]),\n _createVNode(\"div\", { flex: \"~ gap2 wrap\" }, [\n _createVNode(_component_NuxtLink, {\n to: \"https://nuxt.com\",\n target: \"_blank\",\n \"theme-card-green\": \"\",\n p4: \"\",\n flex: \"~ col auto\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"logos-nuxt-icon\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(_component_NpmVersionCheck, {\n \"package-name\": \"nuxt\",\n options: { dev: true }\n })\n ]),\n _: 1\n }),\n (vueVersion.value)\n ? (_openBlock(), _createBlock(_component_NuxtLink, {\n key: 0,\n to: \"https://vuejs.org\",\n target: \"_blank\",\n \"theme-card-green\": \"\",\n p4: \"\",\n flex: \"~ col auto\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"logos-vue\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"code\", null, \"v\" + _toDisplayString(vueVersion.value), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_unref(config))\n ? (_openBlock(), _createBlock(_Fragment, { key: 1 }, [\n (_unref(config) && _unref(config).pages && _unref(client))\n ? (_openBlock(), _createBlock(_component_NuxtLink, {\n key: 0,\n \"min-w-40\": \"\",\n \"theme-card-lime\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/pages\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"carbon-tree-view-alt\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(routes).length, 'page')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_unref(config))\n ? (_openBlock(), _createBlock(_component_NuxtLink, {\n key: 1,\n \"min-w-40\": \"\",\n \"theme-card-lime\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/components\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"i-carbon-assembly-cluster\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(components).length, 'component')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_unref(config) && _unref(autoImports))\n ? (_openBlock(), _createBlock(_component_NuxtLink, {\n key: 2,\n \"min-w-40\": \"\",\n \"theme-card-yellow\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/imports\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"carbon-function\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(autoImports).imports.length, 'import')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_unref(config))\n ? (_openBlock(), _createBlock(_component_NuxtLink, {\n key: 3,\n \"min-w-40\": \"\",\n \"theme-card-purple\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/modules\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"carbon-3d-mpr-toggle\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(installedModules).length, 'module')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_unref(config))\n ? (_openBlock(), _createBlock(_component_NuxtLink, {\n key: 4,\n \"min-w-40\": \"\",\n \"theme-card-teal\": \"\",\n p4: \"\",\n flex: \"~ col auto\",\n to: \"/modules/plugins\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", {\n \"carbon-plug\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", null, _toDisplayString(_unref(pluralizeByCount)(_unref(config).plugins.length, 'plugin')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (metricsLoading.value)\n ? (_openBlock(), _createBlock(\"div\", {\n key: 5,\n \"pointer-events-none\": \"\",\n \"min-w-40\": \"\",\n \"theme-card-lime\": \"\",\n p4: \"\",\n flex: \"~ auto gap-6\"\n }, [\n _createVNode(\"div\", {\n \"i-carbon-time-plot\": \"\",\n \"flex-none\": \"\",\n \"text-3xl\": \"\"\n }),\n _createVNode(\"div\", { grid: \"~ cols-[auto_auto] gap-x-5 items-center\" }, [\n (metricsLoading.value.ssrStart)\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(\"div\", { \"text-sm\": \"\" }, \" SSR to full load \"),\n _createVNode(\"div\", { \"text-right\": \"\" }, _toDisplayString(_unref(formatDuration)(metricsLoading.value.appLoad! - metricsLoading.value.ssrStart!)), 1)\n ], 64))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", { \"text-sm\": \"\" }, \" Page load \"),\n _createVNode(\"div\", { \"text-right\": \"\" }, _toDisplayString(_unref(formatDuration)(metricsLoading.value.appLoad! - metricsLoading.value.appInit!)), 1),\n _createVNode(\"div\", { \"text-sm\": \"\" }, \" Navigation \"),\n _createVNode(\"div\", { \"text-right\": \"\" }, _toDisplayString(_unref(formatDuration)(metricsLoading.value.pageEnd! - metricsLoading.value.pageStart!)), 1),\n (metricsLoading.value.hmrStart)\n ? (_openBlock(), _createBlock(_Fragment, { key: 1 }, [\n _createVNode(\"div\", { \"text-sm\": \"\" }, \" HMR \"),\n _createVNode(\"div\", { \"text-right\": \"\" }, _toDisplayString(_unref(formatDuration)(metricsLoading.value.hmrEnd! - metricsLoading.value.hmrStart!)), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(\"div\", { flex: \"~ col gap2\" }, [\n (_unref(showConnectionWarning))\n ? (_openBlock(), _createBlock(_component_NTip, {\n key: 0,\n n: \"yellow5\",\n icon: \"carbon-unlink\",\n \"justify-center\": \"\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Not connected to the client app, showing server-side data only. Use the embedded mode for full features. \")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"button\", {\n title: \"Authorize\",\n onClick: authorize\n }, [\n (!_ctx.isDevAuthed)\n ? (_openBlock(), _createBlock(_component_NTip, {\n key: 0,\n n: \"orange5\",\n icon: \"i-carbon-locked\",\n \"justify-center\": \"\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Access from an untrusted browser, some features are limited. Click to authorize now. \")\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(\"div\", {\n flex: \"~ gap-6 wrap\",\n \"mt-5\": \"\",\n \"items-center\": \"\",\n \"justify-center\": \"\"\n }, [\n _createVNode(\"a\", {\n href: \"https://github.com/nuxt/devtools\",\n target: \"_blank\",\n flex: \"~ gap1\",\n \"items-center\": \"\",\n op50: \"\",\n hover: \"op100 text-blue\",\n transition: \"\"\n }, [\n _createVNode(\"div\", { \"i-carbon-star\": \"\" }),\n _createTextVNode(\" Star on GitHub \")\n ]),\n _createVNode(\"a\", {\n href: \"https://github.com/nuxt/devtools/discussions/29\",\n target: \"_blank\",\n flex: \"~ gap1\",\n \"items-center\": \"\",\n op50: \"\",\n hover: \"op100 text-yellow\",\n transition: \"\"\n }, [\n _createVNode(\"div\", { \"i-carbon-data-enrichment\": \"\" }),\n _createTextVNode(\" Ideas & Suggestions \")\n ]),\n _createVNode(\"a\", {\n href: \"https://github.com/nuxt/devtools/discussions/31\",\n target: \"_blank\",\n flex: \"~ gap1\",\n \"items-center\": \"\",\n op50: \"\",\n hover: \"op100 text-lime\",\n transition: \"\"\n }, [\n _createVNode(\"div\", { \"i-carbon-plan\": \"\" }),\n _createTextVNode(\" Project Roadmap \")\n ]),\n _createVNode(\"a\", {\n href: \"https://github.com/nuxt/devtools/issues\",\n target: \"_blank\",\n flex: \"~ gap1\",\n \"items-center\": \"\",\n op50: \"\",\n hover: \"op100 text-rose\",\n transition: \"\"\n }, [\n _createVNode(\"div\", { \"i-carbon-debug\": \"\" }),\n _createTextVNode(\" Bug Reports \")\n ]),\n _createVNode(_component_NuxtLink, {\n to: \"/settings\",\n flex: \"~ gap1\",\n \"inline-block\": \"\",\n \"items-center\": \"\",\n op50: \"\",\n \"hover:op80\": \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"div\", { \"i-carbon-settings-adjust\": \"\" }),\n _createTextVNode(\" Settings \")\n ]),\n _: 1\n })\n ]),\n _createVNode(\"div\", { \"flex-auto\": \"\" }),\n _createVNode(\"div\", {\n flex: \"col gap-2\",\n mxa: \"\",\n hidden: \"\",\n \"w-100\": \"\",\n \"text-sm\": \"\",\n op50: \"\",\n \"md:flex\": \"\"\n }, [\n _createVNode(\"div\", {\n flex: \"~ gap-1\",\n \"items-center\": \"\"\n }, [\n (_unref(isMacOS))\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" ⌘ Cmd \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", null, \"+\"),\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" K \")\n ]),\n _: 1\n })\n ], 64))\n : (_openBlock(), _createBlock(_Fragment, { key: 1 }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Ctrl \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", null, \"+\"),\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" K \")\n ]),\n _: 1\n })\n ], 64)),\n _createVNode(\"div\", { \"flex-auto\": \"\" }),\n _createTextVNode(\" Open Command Palette \")\n ]),\n _createVNode(\"div\", {\n flex: \"~ gap-1\",\n \"items-center\": \"\"\n }, [\n (_unref(isMacOS))\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" ⇧ Shift \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", null, \"+\"),\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" ⌥ Option \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", null, \"+\"),\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" D \")\n ]),\n _: 1\n })\n ], 64))\n : (_openBlock(), _createBlock(_Fragment, { key: 1 }, [\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Shift \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", null, \"+\"),\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Alt \")\n ]),\n _: 1\n }),\n _createVNode(\"span\", null, \"+\"),\n _createVNode(_component_NButton, {\n n: \"xs\",\n class: \"px2\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" D \")\n ]),\n _: 1\n })\n ], 64)),\n _createVNode(\"div\", { \"flex-auto\": \"\" }),\n _createVNode(\"div\", null, \"Toggle DevTools\")\n ])\n ])\n ]))\n ]\n }\n }),\n _: 1\n }, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { definePageMeta } from '#imports'\nimport { useClient } from '~/composables/client'\nimport { useAutoImports, useServerConfig } from '~/composables/state'\nimport { useComponents } from '~/composables/state-components'\nimport { useInstalledModules } from '~/composables/state-modules'\nimport { useAllRoutes } from '~/composables/state-tabs'\nimport { getIsMacOS } from '~/composables/utils'\nimport { version } from '../../../package.json'\nimport { showConnectionWarning } from '../../composables/client'\nimport { formatDuration, pluralizeByCount } from '../../composables/utils'\n\ndefinePageMeta({\n icon: 'carbon-information',\n title: 'Overview',\n order: -100,\n})\n\nconst client = useClient()\nconst config = useServerConfig()\nconst components = useComponents()\nconst autoImports = useAutoImports()\nconst installedModules = useInstalledModules()\nconst routes = useAllRoutes()\nconst isMacOS = getIsMacOS()\n\nconst vueVersion = computed(() => client.value?.nuxt.vueApp.version)\nconst metricsLoading = computed(() => client.value?.metrics.loading())\n\nfunction authorize() {\n // Auth is now handled by Vite DevTools\n}\n</script>\n\n<template>\n <NPanelGrids h-screen w-full flex>\n <div v-if=\"!config\">\n Loading...\n </div>\n <div v-else flex=\"~ col gap2\" ma h-full max-w-300 w-full p5 px5 md:px20>\n <div flex-auto />\n\n <!-- Banner -->\n <div flex=\"~ col\" mt-5 items-center md:mt-20>\n <NuxtLink\n flex=\"~\" mt--10 items-center justify-center\n to=\"https://devtools.nuxt.com/\" target=\"_blank\"\n >\n <NuxtLogo h-10 />\n </NuxtLink>\n <div mb6 mt3 text-center text-sm flex=\"~ gap-1 wrap\">\n <span op40>\n Nuxt DevTools\n </span>\n <code op40>v{{ version }}</code>\n <NpmVersionCheck package-name=\"@nuxt/devtools\" :options=\"{ dev: true }\" :show-version=\"false\" />\n </div>\n </div>\n <!-- Main Grid -->\n <div flex=\"~ gap2 wrap\">\n <NuxtLink to=\"https://nuxt.com\" target=\"_blank\" theme-card-green p4 flex=\"~ col auto\">\n <div logos-nuxt-icon text-3xl />\n <NpmVersionCheck package-name=\"nuxt\" :options=\"{ dev: true }\" />\n </NuxtLink>\n <NuxtLink v-if=\"vueVersion\" to=\"https://vuejs.org\" target=\"_blank\" theme-card-green p4 flex=\"~ col auto\">\n <div logos-vue text-3xl />\n <code>v{{ vueVersion }}</code>\n </NuxtLink>\n <template v-if=\"config\">\n <NuxtLink\n v-if=\"config && config.pages && client\" min-w-40 theme-card-lime p4 flex=\"~ col auto\"\n to=\"/modules/pages\"\n >\n <div carbon-tree-view-alt text-3xl />\n <div>{{ pluralizeByCount(routes.length, 'page') }}</div>\n </NuxtLink>\n <NuxtLink v-if=\"config\" min-w-40 theme-card-lime p4 flex=\"~ col auto\" to=\"/modules/components\">\n <div i-carbon-assembly-cluster text-3xl />\n <div>{{ pluralizeByCount(components.length, 'component') }}</div>\n </NuxtLink>\n <NuxtLink v-if=\"config && autoImports\" min-w-40 theme-card-yellow p4 flex=\"~ col auto\" to=\"/modules/imports\">\n <div carbon-function text-3xl />\n <div>{{ pluralizeByCount(autoImports.imports.length, 'import') }}</div>\n </NuxtLink>\n <NuxtLink v-if=\"config\" min-w-40 theme-card-purple p4 flex=\"~ col auto\" to=\"/modules/modules\">\n <div carbon-3d-mpr-toggle text-3xl />\n <div>{{ pluralizeByCount(installedModules.length, 'module') }}</div>\n </NuxtLink>\n <NuxtLink v-if=\"config\" min-w-40 theme-card-teal p4 flex=\"~ col auto\" to=\"/modules/plugins\">\n <div carbon-plug text-3xl />\n <div>{{ pluralizeByCount(config.plugins.length, 'plugin') }}</div>\n </NuxtLink>\n <div v-if=\"metricsLoading\" pointer-events-none min-w-40 theme-card-lime p4 flex=\"~ auto gap-6\">\n <div i-carbon-time-plot flex-none text-3xl />\n <div grid=\"~ cols-[auto_auto] gap-x-5 items-center\">\n <template v-if=\"metricsLoading.ssrStart\">\n <div text-sm>\n SSR to full load\n </div>\n <div text-right>\n {{ formatDuration(metricsLoading.appLoad! - metricsLoading.ssrStart!) }}\n </div>\n </template>\n <div text-sm>\n Page load\n </div>\n <div text-right>\n {{ formatDuration(metricsLoading.appLoad! - metricsLoading.appInit!) }}\n </div>\n <div text-sm>\n Navigation\n </div>\n <div text-right>\n {{ formatDuration(metricsLoading.pageEnd! - metricsLoading.pageStart!) }}\n </div>\n <template v-if=\"metricsLoading.hmrStart\">\n <div text-sm>\n HMR\n </div>\n <div text-right>\n {{ formatDuration(metricsLoading.hmrEnd! - metricsLoading.hmrStart!) }}\n </div>\n </template>\n </div>\n </div>\n </template>\n </div>\n <div flex=\"~ col gap2\">\n <NTip v-if=\"showConnectionWarning\" n=\"yellow5\" icon=\"carbon-unlink\" justify-center>\n Not connected to the client app, showing server-side data only. Use the embedded mode for full features.\n </NTip>\n <button title=\"Authorize\" @click=\"authorize\">\n <NTip v-if=\"!isDevAuthed\" n=\"orange5\" icon=\"i-carbon-locked\" justify-center>\n Access from an untrusted browser, some features are limited. Click to authorize now.\n </NTip>\n </button>\n </div>\n <div flex=\"~ gap-6 wrap\" mt-5 items-center justify-center>\n <a\n href=\"https://github.com/nuxt/devtools\" target=\"_blank\" flex=\"~ gap1\" items-center op50 hover=\"op100 text-blue\"\n transition\n >\n <div i-carbon-star />\n Star on GitHub\n </a>\n <a\n href=\"https://github.com/nuxt/devtools/discussions/29\" target=\"_blank\" flex=\"~ gap1\" items-center op50\n hover=\"op100 text-yellow\" transition\n >\n <div i-carbon-data-enrichment />\n Ideas & Suggestions\n </a>\n <a\n href=\"https://github.com/nuxt/devtools/discussions/31\" target=\"_blank\" flex=\"~ gap1\" items-center op50\n hover=\"op100 text-lime\" transition\n >\n <div i-carbon-plan />\n Project Roadmap\n </a>\n <a\n href=\"https://github.com/nuxt/devtools/issues\" target=\"_blank\" flex=\"~ gap1\" items-center op50\n hover=\"op100 text-rose\" transition\n >\n <div i-carbon-debug />\n Bug Reports\n </a>\n <NuxtLink to=\"/settings\" flex=\"~ gap1\" inline-block items-center op50 hover:op80>\n <div i-carbon-settings-adjust />\n Settings\n </NuxtLink>\n </div>\n <div flex-auto />\n <div flex=\"col gap-2\" mxa hidden w-100 text-sm op50 md:flex>\n <div flex=\"~ gap-1\" items-center>\n <template v-if=\"isMacOS\">\n <NButton n=\"xs\" class=\"px2\">\n ⌘ Cmd\n </NButton>\n <span>+</span>\n <NButton n=\"xs\" class=\"px2\">\n K\n </NButton>\n </template>\n <template v-else>\n <NButton n=\"xs\" class=\"px2\">\n Ctrl\n </NButton>\n <span>+</span>\n <NButton n=\"xs\" class=\"px2\">\n K\n </NButton>\n </template>\n <div flex-auto />\n Open Command Palette\n </div>\n <div flex=\"~ gap-1\" items-center>\n <template v-if=\"isMacOS\">\n <NButton n=\"xs\" class=\"px2\">\n ⇧ Shift\n </NButton>\n <span>+</span>\n <NButton n=\"xs\" class=\"px2\">\n ⌥ Option\n </NButton>\n <span>+</span>\n <NButton n=\"xs\" class=\"px2\">\n D\n </NButton>\n </template>\n <template v-else>\n <NButton n=\"xs\" class=\"px2\">\n Shift\n </NButton>\n <span>+</span>\n <NButton n=\"xs\" class=\"px2\">\n Alt\n </NButton>\n <span>+</span>\n <NButton n=\"xs\" class=\"px2\">\n D\n </NButton>\n </template>\n <div flex-auto />\n <div>Toggle DevTools</div>\n </div>\n </div>\n </div>\n </NPanelGrids>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"pages-BddDWJsZ.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}