@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":"AuthRequiredPanel-znjaI7oT.js","mappings":"","names":[],"sources":["../../../../../../../../components/AuthRequiredPanel.vue"],"sourcesContent":["<template>\n <!-- Auth is now handled by Vite DevTools -->\n <slot />\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"CodeDiff-DgjeLx6z.js","mappings":";;;;;;AAUA,IAAA,uDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,MAAM,CAAC;EACP,IAAI,CAAC;EACL,MAAM,CAAC;CACT;CACA,MAAM,SAAc;EAEtB,MAAM,QAAQ;EACd,MAAM,iBAAiB;EACvB,MAAM,gBAAgB;EAEtB,SAAS,cAAc,MAAc,IAAY;GAC/C,MAAM,QAAQ,UAAU,KAAK,KAAK,GAAG,GAAG,KAAK,CAAC;GAE9C,MAAM,QAAkB,CAAC;GACzB,MAAM,UAAoB,CAAC;GAC3B,MAAM,SAAS,CAAC;GAEhB,KAAK,MAAM,QAAQ,OAAO;IACxB,MAAM,QAAQ,KAAK,MAAM,QAAQ,CAAC,CAAC,MAAM,IAAI;IAC7C,KAAK,MAAM,QAAQ,OACjB,IAAI,KAAK,OAAO;KACd,MAAM,KAAK,OAAO,MAAM;KACxB,OAAO,KAAK,IAAI;IAClB,OACK,IAAI,KAAK,SAAS;KACrB,QAAQ,KAAK,OAAO,MAAM;KAC1B,OAAO,KAAK,IAAI;IAClB,OAEE,OAAO,KAAK,IAAI;GAGtB;GAEA,OAAO;IACL;IACA;IACA,QAAQ,OAAO,KAAK,IAAI;GAC1B;EACF;EAEA,MAAM,OAAO,eAAe,cAAc,MAAM,MAAM,MAAM,EAAE,CAAC;EAE/D,SAAS,kBAAkB,MAAc;GACvC,IAAI,QAAQ;GACZ,OAAO,KACJ,QAAQ,gBAAgB,oBAAmB,CAAC,CAC5C,QAAQ,gBAAgB,MAAM;IAC7B;IACA,IAAI,KAAK,MAAM,MAAM,SAAS,QAAQ,CAAC,GACrC,OAAO;IACT,IAAI,KAAK,MAAM,QAAQ,SAAS,QAAQ,CAAC,GACvC,OAAO;IACT,OAAO;GACT,CAAC;EACL;EAEA,MAAM,QAAQ,IAAoB;EAGlC,SAAS,WAAW;GAClB,MAAM,KAAK,aAAa,KAAK;GAC7B,IAAI,IACF,GAAG,cAAc,2BAA2B,CAAC,EAAE,eAAe;EAClE;EAEA,QAAQ,MAAU,OAAW,SAAa,WAAgB;GAGxD,MAAM,mBAAoB,oBAAuB,WAAY;IAC3D,SAAS;IACT,KAAK;IACL,MAAM,KAAK,MAAM;IACjB,MAAM,QAAQ;IACd,sBAAsB;IACtB,UAAU;GACZ,GAAG,MAAM,GAAG,MAAM,OAAO,CAAC;EAC5B;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/CodeDiff.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/CodeDiff.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport type { BuiltinLanguage } from 'shiki'\nimport { unrefElement } from '@vueuse/core'\nimport { diffLines } from 'diff'\nimport { computed, onMounted, ref } from 'vue'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'CodeDiff',\n __ssrInlineRender: true,\n props: {\n from: {},\n to: {},\n lang: {}\n },\n setup(__props: any) {\n\nconst props = __props\nconst SHIKI_CLASS_RE = /class=\"shiki/\nconst LINE_CLASS_RE = /class=\"line\"/g\n\nfunction calculateDiff(from: string, to: string) {\n const diffs = diffLines(from.trim(), to.trim())\n\n const added: number[] = []\n const removed: number[] = []\n const result = []\n\n for (const diff of diffs) {\n const lines = diff.value.trimEnd().split('\\n')\n for (const line of lines) {\n if (diff.added) {\n added.push(result.length)\n result.push(line)\n }\n else if (diff.removed) {\n removed.push(result.length)\n result.push(line)\n }\n else {\n result.push(line)\n }\n }\n }\n\n return {\n added,\n removed,\n result: result.join('\\n'),\n }\n}\n\nconst diff = computed(() => calculateDiff(props.from, props.to))\n\nfunction transformRendered(code: string) {\n let count = 0\n return code\n .replace(SHIKI_CLASS_RE, 'class=\"shiki diff')\n .replace(LINE_CLASS_RE, (_) => {\n count++\n if (diff.value.added.includes(count - 1))\n return 'class=\"line line-added\"'\n if (diff.value.removed.includes(count - 1))\n return 'class=\"line line-removed\"'\n return _\n })\n}\n\nconst elRef = ref<HTMLDivElement>()\nonMounted(scrollTo)\n\nfunction scrollTo() {\n const el = unrefElement(elRef)\n if (el)\n el.querySelector('.line-added,.line-removed')?.scrollIntoView()\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NCodeBlock = _resolveComponent(\"NCodeBlock\")!\n\n _push(_ssrRenderComponent(_component_NCodeBlock, _mergeProps({\n ref_key: \"elRef\",\n ref: elRef,\n code: diff.value.result,\n lang: __props.lang,\n \"transform-rendered\": transformRendered,\n onLoaded: scrollTo\n }, _attrs), null, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { BuiltinLanguage } from 'shiki'\nimport { unrefElement } from '@vueuse/core'\nimport { diffLines } from 'diff'\nimport { computed, onMounted, ref } from 'vue'\n\nconst props = defineProps<{\n from: string\n to: string\n lang: BuiltinLanguage | 'text'\n}>()\nconst SHIKI_CLASS_RE = /class=\"shiki/\nconst LINE_CLASS_RE = /class=\"line\"/g\n\nfunction calculateDiff(from: string, to: string) {\n const diffs = diffLines(from.trim(), to.trim())\n\n const added: number[] = []\n const removed: number[] = []\n const result = []\n\n for (const diff of diffs) {\n const lines = diff.value.trimEnd().split('\\n')\n for (const line of lines) {\n if (diff.added) {\n added.push(result.length)\n result.push(line)\n }\n else if (diff.removed) {\n removed.push(result.length)\n result.push(line)\n }\n else {\n result.push(line)\n }\n }\n }\n\n return {\n added,\n removed,\n result: result.join('\\n'),\n }\n}\n\nconst diff = computed(() => calculateDiff(props.from, props.to))\n\nfunction transformRendered(code: string) {\n let count = 0\n return code\n .replace(SHIKI_CLASS_RE, 'class=\"shiki diff')\n .replace(LINE_CLASS_RE, (_) => {\n count++\n if (diff.value.added.includes(count - 1))\n return 'class=\"line line-added\"'\n if (diff.value.removed.includes(count - 1))\n return 'class=\"line line-removed\"'\n return _\n })\n}\n\nconst elRef = ref<HTMLDivElement>()\nonMounted(scrollTo)\n\nfunction scrollTo() {\n const el = unrefElement(elRef)\n if (el)\n el.querySelector('.line-added,.line-removed')?.scrollIntoView()\n}\n</script>\n\n<template>\n <NCodeBlock\n ref=\"elRef\"\n :code=\"diff.result\"\n :lang=\"lang\"\n :transform-rendered=\"transformRendered\"\n @loaded=\"scrollTo\"\n />\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"CodeSnippets-CgfcaS4Z.js","mappings":";;;;;AAUA,IAAA,2DAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,cAAc,CAAC;EACf,WAAW,CAAC;CACd;CACA,MAAM,SAAc;EAEtB,MAAM,QAAQ;EAEd,MAAM,WAAW,WAAoC,MAAM,aAAa,EAAE;EAC1E,MAAM,OAAO,QAAQ;EAErB,MAAM,eAAe,eAAgB,SAAS,OAAO,QAAQ,MAA0B;EAEvF,kBAAkB;GAChB,IAAI,CAAC,MAAM,aAAa,SAAS,SAAS,KAAM,GAC9C,SAAS,QAAQ,MAAM,aAAa;EACxC,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,wBAAwB;GAC9B,MAAM,qBAAqB;GAE3B,IAAI,QAAQ,aAAa,QAAQ;IAC/B,MAAM,OAAO,eAAgB,WAAY;KACvC,UAAU;KACV,gBAAgB;IAClB,GAAG,MAAM,CAAC,EAAE,oCAAoC;IAChD,cAAe,QAAQ,eAAe,IAAI,QAAQ;KAChD,MAAM,4DACJ,eAAgB,OAAO,SAAS,QAAQ,KAAK,UAAU,EACxD,gBACC,eAAgB,OAAO,SAAS,QAAQ,KAAK,MAAO,EACrD,cACC,eAAgB,GAAG,IAAI,EACxB,gBAAgB;IACnB,CAAC;IACD,MAAM,qDAAqD;IAC3D,IAAI,SAAS,OAAO;KAClB,MAAM,UAAU;KAChB,MAAM,mBAAoB,uBAAuB;MAC/C,MAAM,SAAS,MAAM;MACrB,MAAM,aAAa;MACnB,OAAO;MACP,UAAU;MACV,WAAW;MACX,IAAI;KACN,GAAG,MAAM,OAAO,CAAC;KACjB,MAAM,6CAA6C;KACnD,MAAM,mBAAoB,oBAAoB;MAC5C,MAAM;MACN,UAAU,WAAiB,MAAO,IAAI,CAAC,CAAC,SAAS,MAAO,MAAM,QAAQ,aAAa,gBAAgB,SAAS,MAAM,MAAM;KAC1H,GAAG;MACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;OACjD,IAAI,OACF,MAAM,QAAQ;YAEd,OAAO,CACL,gBAAiB,QAAQ,CAC3B;MAEJ,CAAC;MACD,GAAG;KACL,GAAG,OAAO,CAAC;KACX,IAAI,SAAS,OAAO,MAClB,MAAM,mBAAoB,oBAAoB;MAC5C,IAAI,SAAS,MAAM;MACnB,QAAQ;MACR,MAAM;KACR,GAAG;MACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;OACjD,IAAI,OACF,MAAM,QAAQ;YAEd,OAAO,CACL,gBAAiB,QAAQ,CAC3B;MAEJ,CAAC;MACD,GAAG;KACL,GAAG,OAAO,CAAC;UAEX,MAAM,SAAS;KAEjB,MAAM,gBAAgB;IACxB,OACE,MAAM,SAAS;IAEjB,MAAM,QAAQ;GAChB,OACE,MAAM,SAAS;EAEnB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/CodeSnippets.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/CodeSnippets.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, unref as _unref, 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 { BuiltinLanguage } from 'shiki'\nimport type { CodeSnippet } from '../../types'\nimport { computed, shallowRef, watchEffect } from 'vue'\nimport { useCopy } from '~/composables/editor'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'CodeSnippets',\n __ssrInlineRender: true,\n props: {\n codeSnippets: {},\n eventType: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst selected = shallowRef<CodeSnippet | undefined>(props.codeSnippets[0])\nconst copy = useCopy()\n\nconst selectedLang = computed(() => (selected.value?.lang || 'text') as BuiltinLanguage)\n\nwatchEffect(() => {\n if (!props.codeSnippets.includes(selected.value!))\n selected.value = props.codeSnippets[0]\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NCodeBlock = _resolveComponent(\"NCodeBlock\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n if (__props.codeSnippets.length) {\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n relative: \"\",\n \"n-code-block\": \"\"\n }, _attrs))}><div flex=\"~ wrap\" w-full><!--[-->`)\n _ssrRenderList(__props.codeSnippets, (cs, idx) => {\n _push(`<button px4 py2 border=\"r base\" hover=\"bg-active\" class=\"${\n _ssrRenderClass(cs === selected.value ? '' : 'border-b')\n }\"><div class=\"${\n _ssrRenderClass(cs === selected.value ? '' : 'op30' )\n }\" font-mono>${\n _ssrInterpolate(cs.name)\n }</div></button>`)\n })\n _push(`<!--]--><div border=\"b base\" flex-auto></div></div>`)\n if (selected.value) {\n _push(`<!--[-->`)\n _push(_ssrRenderComponent(_component_NCodeBlock, {\n code: selected.value.code,\n lang: selectedLang.value,\n lines: false,\n \"w-full\": \"\",\n \"of-auto\": \"\",\n p3: \"\"\n }, null, _parent))\n _push(`<div flex=\"~ gap-2\" px3 pb3 n=\"sm primary\">`)\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-copy\",\n onClick: ($event: any) => (_unref(copy)(selected.value!.code, __props.eventType || `code-snippet-${selected.value.name}`))\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))\n if (selected.value?.docs) {\n _push(_ssrRenderComponent(_component_NButton, {\n to: selected.value.docs,\n target: \"_blank\",\n icon: \"carbon-catalog\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Docs `)\n } else {\n return [\n _createTextVNode(\" Docs \")\n ]\n }\n }),\n _: 1\n }, _parent))\n } else {\n _push(`<!---->`)\n }\n _push(`</div><!--]-->`)\n } else {\n _push(`<!---->`)\n }\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { BuiltinLanguage } from 'shiki'\nimport type { CodeSnippet } from '../../types'\nimport { computed, shallowRef, watchEffect } from 'vue'\nimport { useCopy } from '~/composables/editor'\n\nconst props = defineProps<{\n codeSnippets: CodeSnippet[]\n eventType?: string\n}>()\n\nconst selected = shallowRef<CodeSnippet | undefined>(props.codeSnippets[0])\nconst copy = useCopy()\n\nconst selectedLang = computed(() => (selected.value?.lang || 'text') as BuiltinLanguage)\n\nwatchEffect(() => {\n if (!props.codeSnippets.includes(selected.value!))\n selected.value = props.codeSnippets[0]\n})\n</script>\n\n<template>\n <div v-if=\"codeSnippets.length\" relative n-code-block>\n <div flex=\"~ wrap\" w-full>\n <template v-for=\"cs, idx of codeSnippets\" :key=\"idx\">\n <button\n px4 py2 border=\"r base\"\n hover=\"bg-active\"\n :class=\"cs === selected ? '' : 'border-b'\"\n @click=\"selected = cs\"\n >\n <div :class=\"cs === selected ? '' : 'op30' \" font-mono>\n {{ cs.name }}\n </div>\n </button>\n </template>\n <div border=\"b base\" flex-auto />\n </div>\n\n <template v-if=\"selected\">\n <NCodeBlock\n :code=\"selected.code\"\n :lang=\"selectedLang\"\n :lines=\"false\"\n w-full of-auto p3\n />\n <div flex=\"~ gap-2\" px3 pb3 n=\"sm primary\">\n <NButton\n icon=\"carbon-copy\"\n @click=\"copy(selected!.code, eventType || `code-snippet-${selected.name}`)\"\n >\n Copy\n </NButton>\n <NButton\n v-if=\"selected?.docs\" :to=\"selected.docs\" target=\"_blank\"\n icon=\"carbon-catalog\"\n >\n Docs\n </NButton>\n </div>\n </template>\n </div>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"ComposableItem-BWQR7_fI.js","mappings":"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","names":[],"sources":["../../../../../../../../components/ComposableItem.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/ComposableItem.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderClass as _ssrRenderClass, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { Import, UnimportMeta } from 'unimport'\nimport { kebabCase } from 'scule'\nimport { computed } from 'vue'\nimport { ComposablesDocs } from '~/composables/constants'\nimport { useCopy, useOpenInEditor } from '~/composables/editor'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ComposableItem',\n __ssrInlineRender: true,\n props: {\n item: {},\n isDirective: { type: Boolean, default: false },\n metadata: {},\n filepath: {},\n counter: { type: Boolean, default: true },\n classes: { default: 'px2 py1 text-sm bg-gray:5 ' }\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst copy = useCopy()\nconst openInEditor = useOpenInEditor()\n\nconst name = computed(() => props.item.as || props.item.name)\nconst copyName = computed(() => {\n let n = name.value\n if (props.isDirective) {\n if (n[0] !== 'v') {\n n = `v${n}`\n }\n n = kebabCase(n)\n }\n return n\n})\nconst usageCount = computed(() => props.metadata?.injectionsUsageMap?.get(name.value)?.count || 0)\nconst modules = computed(() =>\n (props.metadata?.injectionsUsageMap?.get(name.value)?.moduleIds || [])\n .filter(i => !i.endsWith('?macro=true')))\n\nconst docsUrl = computed(() => {\n if (props.item.meta?.docsUrl)\n return props.item.meta.docsUrl\n if (['nuxt', '#app', 'nuxt3'].includes(props.item.from))\n return (ComposablesDocs.nuxt as any)[props.item.name]\n if (props.item.from === 'vue')\n return (ComposablesDocs.vue as any)[props.item.name]\n return null\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_VDropdown = _resolveComponent(\"VDropdown\")!\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n const _component_NMarkdown = _resolveComponent(\"NMarkdown\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_FilepathItem = _resolveComponent(\"FilepathItem\")!\n\n _push(_ssrRenderComponent(_component_VDropdown, _mergeProps({\n disabled: !props.metadata\n }, _attrs), {\n popper: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div max-w-100${\n _scopeId\n }><div px4 py3 text-sm${\n _scopeId\n }>`)\n if (__props.item.meta?.description) {\n _push(_ssrRenderComponent(_component_NMarkdown, {\n tag: \"div\",\n pb3: \"\",\n \"text-sm\": \"\",\n markdown: __props.item.meta.description\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`<div flex=\"~ gap2\" n=\"primary xs\"${_scopeId}>`)\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-copy\",\n onClick: ($event: any) => (_unref(copy)(copyName.value, 'imports-name'))\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 if (__props.filepath) {\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-code\",\n onClick: ($event: any) => (__props.filepath && _unref(openInEditor)(__props.filepath))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Source `)\n } else {\n return [\n _createTextVNode(\" Source \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n if (docsUrl.value) {\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-catalog\",\n to: docsUrl.value,\n target: \"_blank\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Docs `)\n } else {\n return [\n _createTextVNode(\" Docs \")\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`</div></div><div border=\"t base\" max-h-60 of-auto px4 py3${_scopeId}>`)\n if (usageCount.value) {\n _push(`<!--[--><div text-sm${\n _scopeId\n }><span op50${\n _scopeId\n }>It has been referenced </span><strong text-primary${\n _scopeId\n }>${\n _ssrInterpolate(usageCount.value)\n }</strong><span op50${\n _scopeId\n }> times by:</span></div><div flex=\"~ col gap-2\" items-start pt3 text-sm op75${\n _scopeId\n }><!--[-->`)\n _ssrRenderList(modules.value, (id) => {\n _push(_ssrRenderComponent(_component_FilepathItem, {\n key: id,\n filepath: id\n }, null, _parent, _scopeId))\n })\n _push(`<!--]--></div><!--]-->`)\n } else {\n _push(`<div text-sm op50${_scopeId}> Not in use via auto import. </div>`)\n }\n _push(`</div></div>`)\n } else {\n return [\n _createVNode(\"div\", { \"max-w-100\": \"\" }, [\n _createVNode(\"div\", {\n px4: \"\",\n py3: \"\",\n \"text-sm\": \"\"\n }, [\n (__props.item.meta?.description)\n ? (_openBlock(), _createBlock(_component_NMarkdown, {\n key: 0,\n tag: \"div\",\n pb3: \"\",\n \"text-sm\": \"\",\n markdown: __props.item.meta.description\n }, null, 8, [\"markdown\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", {\n flex: \"~ gap2\",\n n: \"primary xs\"\n }, [\n _createVNode(_component_NButton, {\n icon: \"carbon-copy\",\n onClick: ($event: any) => (_unref(copy)(copyName.value, 'imports-name'))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Copy \")\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n (__props.filepath)\n ? (_openBlock(), _createBlock(_component_NButton, {\n key: 0,\n icon: \"carbon-code\",\n onClick: ($event: any) => (__props.filepath && _unref(openInEditor)(__props.filepath))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Source \")\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (docsUrl.value)\n ? (_openBlock(), _createBlock(_component_NButton, {\n key: 1,\n icon: \"carbon-catalog\",\n to: docsUrl.value,\n target: \"_blank\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Docs \")\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(\"div\", {\n border: \"t base\",\n \"max-h-60\": \"\",\n \"of-auto\": \"\",\n px4: \"\",\n py3: \"\"\n }, [\n (usageCount.value)\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(\"div\", { \"text-sm\": \"\" }, [\n _createVNode(\"span\", { op50: \"\" }, \"It has been referenced \"),\n _createVNode(\"strong\", { \"text-primary\": \"\" }, _toDisplayString(usageCount.value), 1),\n _createVNode(\"span\", { op50: \"\" }, \" times by:\")\n ]),\n _createVNode(\"div\", {\n flex: \"~ col gap-2\",\n \"items-start\": \"\",\n pt3: \"\",\n \"text-sm\": \"\",\n op75: \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(modules.value, (id) => {\n return (_openBlock(), _createBlock(_component_FilepathItem, {\n key: id,\n filepath: id\n }, null, 8, [\"filepath\"]))\n }), 128))\n ])\n ], 64))\n : (_openBlock(), _createBlock(\"div\", {\n key: 1,\n \"text-sm\": \"\",\n op50: \"\"\n }, \" Not in use via auto import. \"))\n ])\n ])\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<button hover:text-primary class=\"${\n _ssrRenderClass([__props.metadata && !usageCount.value ? 'op30 hover:op100' : '', __props.classes])\n }\"${\n _scopeId\n }><code rounded font-mono${\n _scopeId\n }>${\n _ssrInterpolate(name.value)\n } `)\n if (usageCount.value && __props.counter) {\n _push(`<sup text-primary${\n _scopeId\n }>x${\n _ssrInterpolate(usageCount.value)\n }</sup>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</code>`)\n if (__props.isDirective) {\n _push(`<sup${\n _scopeId\n }><abbr title=\"Vue Directive\"${\n _scopeId\n }>`)\n _push(_ssrRenderComponent(_component_NIcon, { icon: \"tabler:hexagon-letter-d\" }, null, _parent, _scopeId))\n _push(`</abbr></sup>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</button>`)\n } else {\n return [\n _createVNode(\"button\", {\n \"hover:text-primary\": \"\",\n class: [__props.metadata && !usageCount.value ? 'op30 hover:op100' : '', __props.classes]\n }, [\n _createVNode(\"code\", {\n rounded: \"\",\n \"font-mono\": \"\"\n }, [\n _createTextVNode(_toDisplayString(name.value) + \" \", 1),\n (usageCount.value && __props.counter)\n ? (_openBlock(), _createBlock(\"sup\", {\n key: 0,\n \"text-primary\": \"\"\n }, \"x\" + _toDisplayString(usageCount.value), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (__props.isDirective)\n ? (_openBlock(), _createBlock(\"sup\", { key: 0 }, [\n _createVNode(\"abbr\", { title: \"Vue Directive\" }, [\n _createVNode(_component_NIcon, { icon: \"tabler:hexagon-letter-d\" })\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ]\n }\n }),\n _: 1\n }, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { Import, UnimportMeta } from 'unimport'\nimport { kebabCase } from 'scule'\nimport { computed } from 'vue'\nimport { ComposablesDocs } from '~/composables/constants'\nimport { useCopy, useOpenInEditor } from '~/composables/editor'\n\nconst props = withDefaults(\n defineProps<{\n item: Import\n isDirective?: boolean\n metadata?: UnimportMeta\n filepath?: string\n counter?: boolean\n classes?: string\n }>(),\n {\n isDirective: false,\n counter: true,\n classes: 'px2 py1 text-sm bg-gray:5 ',\n },\n)\n\nconst copy = useCopy()\nconst openInEditor = useOpenInEditor()\n\nconst name = computed(() => props.item.as || props.item.name)\nconst copyName = computed(() => {\n let n = name.value\n if (props.isDirective) {\n if (n[0] !== 'v') {\n n = `v${n}`\n }\n n = kebabCase(n)\n }\n return n\n})\nconst usageCount = computed(() => props.metadata?.injectionsUsageMap?.get(name.value)?.count || 0)\nconst modules = computed(() =>\n (props.metadata?.injectionsUsageMap?.get(name.value)?.moduleIds || [])\n .filter(i => !i.endsWith('?macro=true')))\n\nconst docsUrl = computed(() => {\n if (props.item.meta?.docsUrl)\n return props.item.meta.docsUrl\n if (['nuxt', '#app', 'nuxt3'].includes(props.item.from))\n return (ComposablesDocs.nuxt as any)[props.item.name]\n if (props.item.from === 'vue')\n return (ComposablesDocs.vue as any)[props.item.name]\n return null\n})\n</script>\n\n<template>\n <VDropdown :disabled=\"!props.metadata\">\n <button hover:text-primary :class=\"[metadata && !usageCount ? 'op30 hover:op100' : '', classes]\">\n <code rounded font-mono>\n {{ name }}\n <sup v-if=\"usageCount && counter\" text-primary>x{{ usageCount }}</sup>\n </code>\n <sup v-if=\"isDirective\">\n <abbr title=\"Vue Directive\">\n <NIcon\n icon=\"tabler:hexagon-letter-d\"\n />\n </abbr>\n </sup>\n </button>\n <template #popper>\n <div max-w-100>\n <div px4 py3 text-sm>\n <NMarkdown\n v-if=\"item.meta?.description\"\n tag=\"div\"\n pb3 text-sm\n :markdown=\"item.meta.description\"\n />\n <div flex=\"~ gap2\" n=\"primary xs\">\n <NButton icon=\"carbon-copy\" @click=\"copy(copyName, 'imports-name')\">\n Copy\n </NButton>\n <NButton v-if=\"filepath\" icon=\"carbon-code\" @click=\"filepath && openInEditor(filepath)\">\n Source\n </NButton>\n <NButton v-if=\"docsUrl\" icon=\"carbon-catalog\" :to=\"docsUrl\" target=\"_blank\">\n Docs\n </NButton>\n </div>\n </div>\n <div border=\"t base\" max-h-60 of-auto px4 py3>\n <template v-if=\"usageCount\">\n <div text-sm>\n <span op50>It has been referenced </span><strong text-primary>{{ usageCount }}</strong><span op50> times by:</span>\n </div>\n <div flex=\"~ col gap-2\" items-start pt3 text-sm op75>\n <FilepathItem\n v-for=\"id of modules\" :key=\"id\"\n :filepath=\"id\"\n />\n </div>\n </template>\n <template v-else>\n <div text-sm op50>\n Not in use via auto import.\n </div>\n </template>\n </div>\n </div>\n </template>\n </VDropdown>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"DataSchemaButton-CqEfc2TV.js","mappings":";;;;AAOA,IAAA,+DAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO,EACL,QAAQ,EAAE,MAAM,SAAS,EAC3B;CACA,MAAM,SAAc;EAItB,MAAM,QAAQ,eAAe;EAE7B,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,qBAAqB;GAC3B,MAAM,qBAAqB,iBAAkB,SAAS;GAEtD,MAAM,mBAAoB,oBAAoB,WAAY;IACxD,OAAO;IACP,MAAM;IACN,QAAQ;IACR,UAAU,WAAiB,MAAM,QAAQ,QAAQ,OAAO;GAC1D,GAAG,QAAQ,qBAAsB,MAAM,oBAAoB,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC;EACrG;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/DataSchemaButton.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/DataSchemaButton.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\"\nimport { ssrGetDirectiveProps as _ssrGetDirectiveProps, ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport { useSchemaInput } from '~/composables/state-schema'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'DataSchemaButton',\n __ssrInlineRender: true,\n props: {\n getter: { type: Function }\n },\n setup(__props: any) {\n\n\n\nconst input = useSchemaInput()\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _directive_tooltip = _resolveDirective(\"tooltip\")!\n\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n title: \"Generate Data Schema\",\n icon: \"carbon:container-services\",\n border: false,\n onClick: ($event: any) => (input.value = __props.getter())\n }, _attrs, _ssrGetDirectiveProps(_ctx, _directive_tooltip, 'Generate Data Schema')), null, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { useSchemaInput } from '~/composables/state-schema'\n\ndefineProps<{\n getter: () => { name?: string, input: string }\n}>()\n\nconst input = useSchemaInput()\n</script>\n\n<template>\n <NButton\n v-tooltip=\"'Generate Data Schema'\"\n title=\"Generate Data Schema\"\n icon=\"carbon:container-services\"\n :border=\"false\"\n @click=\"input = getter()\"\n />\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"DataSchemaDrawer-Xj8YzNJN.js","mappings":"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","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NSwitch.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NSwitch.vue","../../../../../../../../components/DataSchemaDrawer.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/DataSchemaDrawer.vue"],"sourcesContent":["import { useModel as _useModel, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrLooseContain as _ssrLooseContain, ssrIncludeBooleanAttr as _ssrIncludeBooleanAttr, ssrRenderSlot as _ssrRenderSlot, ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NSwitch',\n __ssrInlineRender: true,\n props: /*@__PURE__*/_mergeModels({\n disabled: { type: Boolean, default: false }\n }, {\n \"modelValue\": {\n type: Boolean,\n default: false,\n},\n \"modelModifiers\": {},\n }),\n emits: [\"update:modelValue\"],\n setup(__props: any) {\n\n\nconst checked = _useModel(__props, 'modelValue')\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<label${\n _ssrRenderAttrs(_mergeProps({\n class: \"n-switch n-switch-base hover:n-switch-hover n-disabled:n-disabled\",\n checked: checked.value || null,\n disabled: __props.disabled || null\n }, _attrs))\n }><input${\n (_ssrIncludeBooleanAttr((Array.isArray(checked.value))\n ? _ssrLooseContain(checked.value, null)\n : checked.value)) ? \" checked\" : \"\"\n } type=\"checkbox\" class=\"peer absolute op0\"${\n (_ssrIncludeBooleanAttr(__props.disabled)) ? \" disabled\" : \"\"\n }><div class=\"n-switch-slider n-transition n-checked:n-switch-slider-checked peer-active:n-active-base peer-focus-visible:n-focus-base\"><div class=\"n-switch-thumb n-transition n-checked:n-switch-thumb-checked\"></div></div>`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent)\n _push(`</label>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n disabled?: boolean\n }>(),\n {\n disabled: false,\n },\n)\nconst checked = defineModel('modelValue', {\n type: Boolean,\n default: false,\n})\n</script>\n\n<template>\n <label\n class=\"n-switch n-switch-base hover:n-switch-hover n-disabled:n-disabled\"\n :checked=\"checked || null\"\n :disabled=\"disabled || null\"\n >\n <input\n v-model=\"checked\"\n type=\"checkbox\"\n class=\"peer absolute op0\"\n :disabled=\"disabled\"\n @keypress.enter=\"checked = !checked\"\n >\n <div class=\"n-switch-slider n-transition n-checked:n-switch-slider-checked peer-active:n-active-base peer-focus-visible:n-focus-base\">\n <div class=\"n-switch-thumb n-transition n-checked:n-switch-thumb-checked\" />\n </div>\n <slot />\n </label>\n</template>\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, toDisplayString as _toDisplayString, createVNode as _createVNode, createCommentVNode as _createCommentVNode } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList, ssrRenderTeleport as _ssrRenderTeleport } from \"vue/server-renderer\"\n\nimport type { BuiltinLanguage } from 'shiki'\nimport { computedAsync } from '@vueuse/core'\nimport { InputData, jsonInputForTargetLanguage, quicktype } from 'quicktype-core'\nimport { all as languages } from 'quicktype-core/dist/language/All'\nimport { computed, ref, watch } from 'vue'\nimport { useCopy } from '~/composables/editor'\nimport { useSchemaInput } from '~/composables/state-schema'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'DataSchemaDrawer',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst input = useSchemaInput()\n\nconst counter = ref(0)\n\n// TODO: use localStorage\nconst selectedLang = ref('TypeScript')\nconst language = computed(() => languages.find(l => l.displayName === selectedLang.value))\n// TODO: use localStorage\nconst options = ref(language.value?.optionDefinitions.filter(o => typeof o.defaultValue === 'boolean'))\n\nconst generatedJson = computedAsync<string>(async () => {\n // eslint-disable-next-line ts/no-unused-expressions\n counter.value\n\n if (!input.value)\n return ''\n\n const jsonInput = jsonInputForTargetLanguage(selectedLang.value)\n\n await jsonInput.addSource({\n // TODO: input for custom name\n name: input.value.name ?? 'Data',\n samples: [input.value.input],\n })\n\n const inputData = new InputData()\n inputData.addInput(jsonInput)\n\n const result = await quicktype({\n inputData,\n lang: selectedLang.value,\n rendererOptions: options.value?.reduce((acc: any, cur: any) => {\n acc[cur.name] = cur.defaultValue\n return acc\n }, {} as any),\n })\n\n return result.lines.join('\\n')\n})\n\nconst shikiLanguage = computed<BuiltinLanguage>(() => {\n const lang = selectedLang.value.toLocaleLowerCase()\n if (lang.startsWith('javascript'))\n return 'javascript'\n else if (lang.startsWith('json'))\n return 'json'\n else if (lang.startsWith('typescript'))\n return 'typescript'\n else\n return lang as BuiltinLanguage\n})\n\nwatch(options, () => {\n counter.value++\n}, { deep: true })\n\nwatch(selectedLang, () => {\n options.value = language.value?.optionDefinitions.filter(o => typeof o.defaultValue === 'boolean')\n})\n\nconst copy = useCopy()\n\nfunction copyToClipboard() {\n copy(generatedJson.value || '')\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NDrawer = _resolveComponent(\"NDrawer\")!\n const _component_NSelect = _resolveComponent(\"NSelect\")!\n const _component_NDropdown = _resolveComponent(\"NDropdown\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_NSwitch = _resolveComponent(\"NSwitch\")!\n const _component_NCodeBlock = _resolveComponent(\"NCodeBlock\")!\n\n if (language.value) {\n _ssrRenderTeleport(_push, (_push) => {\n _push(_ssrRenderComponent(_component_NDrawer, {\n \"model-value\": !!_unref(input)?.input,\n \"auto-close\": \"\",\n \"max-w-screen\": \"\",\n \"w-2xl\": \"\",\n \"n-code-block\": \"\",\n onClose: ($event: any) => (input.value = null)\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div border=\"b base\" flex=\"~ items-center gap-2\" sticky left-0 right-0 top-0 z-1 bg-base p3${\n _scopeId\n }><p mr-2${\n _scopeId\n }> Schema </p>`)\n _push(_ssrRenderComponent(_component_NSelect, {\n modelValue: selectedLang.value,\n \"onUpdate:modelValue\": ($event: any) => ((selectedLang).value = $event),\n n: \"xs primary\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<!--[-->`)\n _ssrRenderList(_unref(languages), (lang) => {\n _push(`<option${\n _scopeId\n }>${\n _ssrInterpolate(lang.displayName)\n }</option>`)\n })\n _push(`<!--]-->`)\n } else {\n return [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(languages), (lang) => {\n return (_openBlock(), _createBlock(\"option\", {\n key: lang.displayName\n }, _toDisplayString(lang.displayName), 1))\n }), 128))\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n if (options.value?.length) {\n _push(_ssrRenderComponent(_component_NDropdown, { n: \"sm lime\" }, {\n trigger: _withCtx(({ click }, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-settings\",\n \"h-full\": \"\",\n onClick: ($event: any) => (click())\n }, null, _parent, _scopeId))\n if (options.value) {\n _push(`<span flex=\"~ items-center justify-center\" absolute bottom--1 right--2 h-4 w-4 rounded-full bg-lime:30 text-8px${\n _scopeId\n }>${\n _ssrInterpolate(options.value.length)\n }</span>`)\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n _createVNode(_component_NButton, {\n icon: \"carbon-settings\",\n \"h-full\": \"\",\n onClick: ($event: any) => (click())\n }, null, 8, [\"onClick\"]),\n (options.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n flex: \"~ items-center justify-center\",\n absolute: \"\",\n \"bottom--1\": \"\",\n \"right--2\": \"\",\n \"h-4\": \"\",\n \"w-4\": \"\",\n \"rounded-full\": \"\",\n \"bg-lime:30\": \"\",\n \"text-8px\": \"\"\n }, _toDisplayString(options.value.length), 1))\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<div flex=\"~ col\" w-100 of-auto py2${_scopeId}><!--[-->`)\n _ssrRenderList(options.value, (item, index) => {\n _push(_ssrRenderComponent(_component_NSwitch, {\n key: item.name,\n modelValue: options.value[index]!.defaultValue,\n \"onUpdate:modelValue\": ($event: any) => ((options.value[index]!.defaultValue) = $event),\n flex: \"~ gap-2\",\n rounded: \"\",\n px2: \"\",\n py2: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(`<span text-xs capitalize op75${\n _scopeId\n }>${\n _ssrInterpolate(item.description)\n }</span>`)\n } else {\n return [\n _createVNode(\"span\", {\n \"text-xs\": \"\",\n capitalize: \"\",\n op75: \"\"\n }, _toDisplayString(item.description), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n })\n _push(`<!--]--></div>`)\n } else {\n return [\n _createVNode(\"div\", {\n flex: \"~ col\",\n \"w-100\": \"\",\n \"of-auto\": \"\",\n py2: \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(options.value, (item, index) => {\n return (_openBlock(), _createBlock(_component_NSwitch, {\n key: item.name,\n modelValue: options.value[index]!.defaultValue,\n \"onUpdate:modelValue\": ($event: any) => ((options.value[index]!.defaultValue) = $event),\n flex: \"~ gap-2\",\n rounded: \"\",\n px2: \"\",\n py2: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", {\n \"text-xs\": \"\",\n capitalize: \"\",\n op75: \"\"\n }, _toDisplayString(item.description), 1)\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"onUpdate:modelValue\"]))\n }), 128))\n ])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`<div flex-auto${_scopeId}></div>`)\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-copy\",\n \"mr-6\": \"\",\n \"h-full\": \"\",\n onClick: ($event: any) => (copyToClipboard())\n }, null, _parent, _scopeId))\n _push(`</div>`)\n if (_unref(generatedJson)) {\n _push(_ssrRenderComponent(_component_NCodeBlock, {\n lang: shikiLanguage.value,\n code: _unref(generatedJson)\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n } else {\n return [\n _createVNode(\"div\", {\n border: \"b base\",\n flex: \"~ items-center gap-2\",\n sticky: \"\",\n \"left-0\": \"\",\n \"right-0\": \"\",\n \"top-0\": \"\",\n \"z-1\": \"\",\n \"bg-base\": \"\",\n p3: \"\"\n }, [\n _createVNode(\"p\", { \"mr-2\": \"\" }, \" Schema \"),\n _createVNode(_component_NSelect, {\n modelValue: selectedLang.value,\n \"onUpdate:modelValue\": ($event: any) => ((selectedLang).value = $event),\n n: \"xs primary\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_unref(languages), (lang) => {\n return (_openBlock(), _createBlock(\"option\", {\n key: lang.displayName\n }, _toDisplayString(lang.displayName), 1))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n (options.value?.length)\n ? (_openBlock(), _createBlock(_component_NDropdown, {\n key: 0,\n n: \"sm lime\"\n }, {\n trigger: _withCtx(({ click }) => [\n _createVNode(_component_NButton, {\n icon: \"carbon-settings\",\n \"h-full\": \"\",\n onClick: ($event: any) => (click())\n }, null, 8, [\"onClick\"]),\n (options.value)\n ? (_openBlock(), _createBlock(\"span\", {\n key: 0,\n flex: \"~ items-center justify-center\",\n absolute: \"\",\n \"bottom--1\": \"\",\n \"right--2\": \"\",\n \"h-4\": \"\",\n \"w-4\": \"\",\n \"rounded-full\": \"\",\n \"bg-lime:30\": \"\",\n \"text-8px\": \"\"\n }, _toDisplayString(options.value.length), 1))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", {\n flex: \"~ col\",\n \"w-100\": \"\",\n \"of-auto\": \"\",\n py2: \"\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(options.value, (item, index) => {\n return (_openBlock(), _createBlock(_component_NSwitch, {\n key: item.name,\n modelValue: options.value[index]!.defaultValue,\n \"onUpdate:modelValue\": ($event: any) => ((options.value[index]!.defaultValue) = $event),\n flex: \"~ gap-2\",\n rounded: \"\",\n px2: \"\",\n py2: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", {\n \"text-xs\": \"\",\n capitalize: \"\",\n op75: \"\"\n }, _toDisplayString(item.description), 1)\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"onUpdate:modelValue\"]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", { \"flex-auto\": \"\" }),\n _createVNode(_component_NButton, {\n icon: \"carbon-copy\",\n \"mr-6\": \"\",\n \"h-full\": \"\",\n onClick: ($event: any) => (copyToClipboard())\n }, null, 8, [\"onClick\"])\n ]),\n (_unref(generatedJson))\n ? (_openBlock(), _createBlock(_component_NCodeBlock, {\n key: 0,\n lang: shikiLanguage.value,\n code: _unref(generatedJson)\n }, null, 8, [\"lang\", \"code\"]))\n : _createCommentVNode(\"\", true)\n ]\n }\n }),\n _: 1\n }, _parent))\n }, \"body\", false, _parent)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { BuiltinLanguage } from 'shiki'\nimport { computedAsync } from '@vueuse/core'\nimport { InputData, jsonInputForTargetLanguage, quicktype } from 'quicktype-core'\nimport { all as languages } from 'quicktype-core/dist/language/All'\nimport { computed, ref, watch } from 'vue'\nimport { useCopy } from '~/composables/editor'\nimport { useSchemaInput } from '~/composables/state-schema'\n\nconst input = useSchemaInput()\n\nconst counter = ref(0)\n\n// TODO: use localStorage\nconst selectedLang = ref('TypeScript')\nconst language = computed(() => languages.find(l => l.displayName === selectedLang.value))\n// TODO: use localStorage\nconst options = ref(language.value?.optionDefinitions.filter(o => typeof o.defaultValue === 'boolean'))\n\nconst generatedJson = computedAsync<string>(async () => {\n // eslint-disable-next-line ts/no-unused-expressions\n counter.value\n\n if (!input.value)\n return ''\n\n const jsonInput = jsonInputForTargetLanguage(selectedLang.value)\n\n await jsonInput.addSource({\n // TODO: input for custom name\n name: input.value.name ?? 'Data',\n samples: [input.value.input],\n })\n\n const inputData = new InputData()\n inputData.addInput(jsonInput)\n\n const result = await quicktype({\n inputData,\n lang: selectedLang.value,\n rendererOptions: options.value?.reduce((acc: any, cur: any) => {\n acc[cur.name] = cur.defaultValue\n return acc\n }, {} as any),\n })\n\n return result.lines.join('\\n')\n})\n\nconst shikiLanguage = computed<BuiltinLanguage>(() => {\n const lang = selectedLang.value.toLocaleLowerCase()\n if (lang.startsWith('javascript'))\n return 'javascript'\n else if (lang.startsWith('json'))\n return 'json'\n else if (lang.startsWith('typescript'))\n return 'typescript'\n else\n return lang as BuiltinLanguage\n})\n\nwatch(options, () => {\n counter.value++\n}, { deep: true })\n\nwatch(selectedLang, () => {\n options.value = language.value?.optionDefinitions.filter(o => typeof o.defaultValue === 'boolean')\n})\n\nconst copy = useCopy()\n\nfunction copyToClipboard() {\n copy(generatedJson.value || '')\n}\n</script>\n\n<template>\n <Teleport v-if=\"language\" to=\"body\">\n <NDrawer :model-value=\"!!input?.input\" auto-close max-w-screen w-2xl n-code-block @close=\"input = null\">\n <div border=\"b base\" flex=\"~ items-center gap-2\" sticky left-0 right-0 top-0 z-1 bg-base p3>\n <p mr-2>\n Schema\n </p>\n <NSelect v-model=\"selectedLang\" n=\"xs primary\">\n <option v-for=\"lang of languages\" :key=\"lang.displayName\">\n {{ lang.displayName }}\n </option>\n </NSelect>\n <NDropdown v-if=\"options?.length\" n=\"sm lime\">\n <template #trigger=\"{ click }\">\n <NButton icon=\"carbon-settings\" h-full @click=\"click()\" />\n <span v-if=\"options\" flex=\"~ items-center justify-center\" absolute bottom--1 right--2 h-4 w-4 rounded-full bg-lime:30 text-8px>\n {{ options.length }}\n </span>\n </template>\n <div flex=\"~ col\" w-100 of-auto py2>\n <NSwitch\n v-for=\"item, index of options\"\n :key=\"item.name\"\n v-model=\"options[index]!.defaultValue\"\n flex=\"~ gap-2\" rounded px2 py2\n >\n <span text-xs capitalize op75>\n {{ item.description }}\n </span>\n </NSwitch>\n </div>\n </NDropdown>\n <div flex-auto />\n <NButton icon=\"carbon-copy\" mr-6 h-full @click=\"copyToClipboard()\" />\n </div>\n <NCodeBlock v-if=\"generatedJson\" :lang=\"shikiLanguage\" :code=\"generatedJson\" />\n </NDrawer>\n </Teleport>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"DurationDisplay-Dzweg1by.js","mappings":";;;AAOA,IAAA,8DAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,UAAU,CAAC;EACX,QAAQ,EAAE,SAAS,EAAE;EACrB,OAAO;GAAE,MAAM;GAAS,SAAS;EAAK;CACxC;CACA,MAAM,SAAc;EAEtB,MAAM,QAAQ;EAEd,SAAS,gBAAgB,SAA6B;GACpD,IAAI,CAAC,MAAM,OACT,OAAO;GACT,IAAI,CAAC,SACH,OAAO;GACT,UAAU,UAAU,MAAM;GAC1B,IAAI,UAAU,IACZ,OAAO;GACT,IAAI,UAAU,KACZ,OAAO;GACT,IAAI,UAAU,KACZ,OAAO;GACT,IAAI,UAAU,KACZ,OAAO;GACT,OAAO;EACT;EAEA,MAAM,QAAQ,eAAe;GAC3B,IAAI,CAAC,MAAM,YAAY,MAAM,WAAW,GACtC,OAAO,CAAC,MAAM,IAAI;GACpB,IAAI,MAAM,WAAW,KACnB,OAAO,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,IAAI;GACzC,IAAI,MAAM,WAAW,KACnB,OAAO,EAAE,MAAM,WAAW,IAAA,CAAM,QAAQ,CAAC,GAAG,GAAG;GACjD,OAAO,EAAE,MAAM,WAAW,MAAO,GAAA,CAAI,QAAQ,CAAC,GAAG,KAAK;EACxD,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,OAAO,eAAgB,WAAY,EACvC,OAAO,gBAAgB,QAAQ,QAAQ,EACzC,GAAG,MAAM,CAAC,EAAE,EAAE;GACd,cAAe,KAAK,QAAQ,UAAU,CAAC,GAAG,MAAM,OAAO,OAAO;GAC9D,MAAM,IACJ,eAAgB,MAAM,MAAM,EAAE,EAC/B,0BACC,eAAgB,MAAM,MAAM,EAAE,EAC/B,QAAQ;GACT,cAAe,KAAK,QAAQ,SAAS,CAAC,GAAG,MAAM,OAAO,OAAO;GAC7D,MAAM,QAAQ;EAChB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/DurationDisplay.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/DurationDisplay.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderSlot as _ssrRenderSlot, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'DurationDisplay',\n __ssrInlineRender: true,\n props: {\n duration: {},\n factor: { default: 1 },\n color: { type: Boolean, default: true }\n },\n setup(__props: any) {\n\nconst props = __props\n\nfunction getLatencyColor(latency: number | undefined) {\n if (!props.color)\n return ''\n if (!latency)\n return 'text-gray-400'\n latency = latency * props.factor\n if (latency < 0.5)\n return 'text-gray:50'\n if (latency > 1000)\n return 'text-red-400'\n if (latency > 500)\n return 'text-orange-400'\n if (latency > 200)\n return 'text-yellow-400'\n return ''\n}\n\nconst units = computed(() => {\n if (!props.duration || props.duration < 1)\n return ['<1', 'ms']\n if (props.duration < 1000)\n return [props.duration.toFixed(0), 'ms']\n if (props.duration < 1000 * 60)\n return [(props.duration / 1000).toFixed(1), 's']\n return [(props.duration / 1000 / 60).toFixed(1), 'min']\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n class: getLatencyColor(__props.duration)\n }, _attrs))}>`)\n _ssrRenderSlot(_ctx.$slots, \"before\", {}, null, _push, _parent)\n _push(` ${\n _ssrInterpolate(units.value[0])\n }<span ml-1 text-xs op50>${\n _ssrInterpolate(units.value[1])\n }</span>`)\n _ssrRenderSlot(_ctx.$slots, \"after\", {}, null, _push, _parent)\n _push(`</div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst props = withDefaults(\n defineProps<{\n duration: number | undefined\n factor?: number\n color?: boolean\n }>(),\n {\n factor: 1,\n color: true,\n },\n)\n\nfunction getLatencyColor(latency: number | undefined) {\n if (!props.color)\n return ''\n if (!latency)\n return 'text-gray-400'\n latency = latency * props.factor\n if (latency < 0.5)\n return 'text-gray:50'\n if (latency > 1000)\n return 'text-red-400'\n if (latency > 500)\n return 'text-orange-400'\n if (latency > 200)\n return 'text-yellow-400'\n return ''\n}\n\nconst units = computed(() => {\n if (!props.duration || props.duration < 1)\n return ['<1', 'ms']\n if (props.duration < 1000)\n return [props.duration.toFixed(0), 'ms']\n if (props.duration < 1000 * 60)\n return [(props.duration / 1000).toFixed(1), 's']\n return [(props.duration / 1000 / 60).toFixed(1), 'min']\n})\n</script>\n\n<template>\n <div :class=\"getLatencyColor(duration)\">\n <slot name=\"before\" />\n {{ units[0] }}<span ml-1 text-xs op50>{{ units[1] }}</span>\n <slot name=\"after\" />\n </div>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"FilepathItem-D75bkTSa.js","mappings":";;;;;AAUA,IAAA,2DAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,UAAU,CAAC;EACX,WAAW,EAAE,MAAM,QAAQ;EAC3B,SAAS,EAAE,MAAM,QAAQ;EACzB,UAAU,CAAC;CACb;CACA,MAAM,SAAc;EAEtB,MAAM,QAAQ;EAEO,gBAAgB;EACxB,QAAQ;EACrB,MAAM,SAAS,gBAAgB;EAC/B,MAAM,SAAS,eAAgB,MAAM,YAAY,OAAO,QACpD,kBAAkB,MAAM,UAAU,OAAO,MAAM,OAAO,IACtD,EAAE,MAAM,MAAM,YAAY,GAAG,CAAC;EAElC,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,QACJ,eAAgB,WAAY;IAC1B,MAAM;IACN,OAAO;GACT,GAAG,MAAM,CAAC,EACX,gBACC,eAAgB,CACZ,QAAQ,YAAY,KAAK,8BAC3B,CAAC,EACJ,aACC,cAAe,SAAS,QAAQ,YAAY,QAAQ,QAAQ,EAC7D,EAAE;GACH,IAAI,QAAQ,UACV,MAAM,WAAW,eAAgB,QAAQ,QAAQ,EAAE,SAAS;QACvD,IAAI,OAAO,MAAM,YAAY;IAClC,MAAM,iBAAiB,eAAgB,OAAO,MAAM,UAAU,EAAE,QAAQ;IACxE,IAAI,QAAQ,SACV,MAAM,cAAc,eAAgB,OAAO,MAAM,KAAK,MAAM,OAAO,MAAM,WAAW,MAAM,CAAC,EAAE,QAAQ;SAErG,MAAM,SAAS;IAEjB,MAAM,UAAU;GAClB,OACE,MAAM,WAAW,eAAgB,OAAO,MAAM,IAAI,EAAE,SAAS;GAE/D,MAAM,SAAS;GACf,cAAe,KAAK,QAAQ,WAAW,CAAC,GAAG,MAAM,OAAO,OAAO;GAC/D,IAAI,QAAQ,UACV,MAAM,8QAA8Q;QAEpR,MAAM,SAAS;GAEjB,MAAM,SAAS;EACjB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/FilepathItem.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/FilepathItem.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderClass as _ssrRenderClass, ssrRenderAttr as _ssrRenderAttr, ssrRenderSlot as _ssrRenderSlot, ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \"vue/server-renderer\"\n\nimport { computed } from 'vue'\nimport { useCopy, useOpenInEditor } from '~/composables/editor'\nimport { useServerConfig } from '~/composables/state'\nimport { parseReadablePath } from '~/composables/utils'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'FilepathItem',\n __ssrInlineRender: true,\n props: {\n filepath: {},\n lineBreak: { type: Boolean },\n subpath: { type: Boolean },\n override: {}\n },\n setup(__props: any) {\n\nconst props = __props\n\nconst openInEditor = useOpenInEditor()\nconst copy = useCopy()\nconst config = useServerConfig()\nconst parsed = computed(() => (props.filepath && config.value)\n ? parseReadablePath(props.filepath, config.value.rootDir)\n : { path: props.filepath || '' })\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n _push(`<span${\n _ssrRenderAttrs(_mergeProps({\n flex: \"~ gap-2 items-center\",\n class: \"group\"\n }, _attrs))\n }><span class=\"${\n _ssrRenderClass([\n __props.lineBreak ? '' : 'ws-nowrap of-hidden truncate',\n ])\n }\" font-mono${\n _ssrRenderAttr(\"title\", __props.override || __props.filepath)\n }>`)\n if (__props.override) {\n _push(`<!--[-->${_ssrInterpolate(__props.override)}<!--]-->`)\n } else if (parsed.value.moduleName) {\n _push(`<!--[--><span>${_ssrInterpolate(parsed.value.moduleName)}</span>`)\n if (__props.subpath) {\n _push(`<span op50>${_ssrInterpolate(parsed.value.path.slice(parsed.value.moduleName.length))}</span>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<!--]-->`)\n } else {\n _push(`<!--[-->${_ssrInterpolate(parsed.value.path)}<!--]-->`)\n }\n _push(`</span>`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent)\n if (__props.filepath) {\n _push(`<div flex=\"~ gap1\" pr2 op0 group-hover:op100><button text-sm op40 hover=\"op100 text-primary\" title=\"Open in editor\"><div i-carbon-script-reference></div></button><button text-sm op40 hover=\"op100 text-primary\" title=\"Copy path\"><div i-carbon-copy></div></button></div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`</span>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { useCopy, useOpenInEditor } from '~/composables/editor'\nimport { useServerConfig } from '~/composables/state'\nimport { parseReadablePath } from '~/composables/utils'\n\nconst props = defineProps<{\n filepath?: string\n lineBreak?: boolean\n subpath?: boolean\n override?: string\n}>()\n\nconst openInEditor = useOpenInEditor()\nconst copy = useCopy()\nconst config = useServerConfig()\nconst parsed = computed(() => (props.filepath && config.value)\n ? parseReadablePath(props.filepath, config.value.rootDir)\n : { path: props.filepath || '' })\n</script>\n\n<template>\n <span flex=\"~ gap-2 items-center\" class=\"group\">\n <span\n :class=\"[\n lineBreak ? '' : 'ws-nowrap of-hidden truncate',\n ]\"\n font-mono\n :title=\"override || filepath\"\n >\n <template v-if=\"override\">\n {{ override }}\n </template>\n <template v-else-if=\"parsed.moduleName\">\n <span>{{ parsed.moduleName }}</span>\n <span v-if=\"subpath\" op50>\n {{ parsed.path.slice(parsed.moduleName.length) }}\n </span>\n </template>\n <template v-else>\n {{ parsed.path }}\n </template>\n </span>\n <slot />\n <div v-if=\"filepath\" flex=\"~ gap1\" pr2 op0 group-hover:op100>\n <button\n text-sm op40 hover=\"op100 text-primary\"\n title=\"Open in editor\"\n @click=\"openInEditor(filepath)\"\n >\n <div i-carbon-script-reference />\n </button>\n <button\n text-sm op40 hover=\"op100 text-primary\"\n title=\"Copy path\"\n @click=\"copy(filepath)\"\n >\n <div i-carbon-copy />\n </button>\n </div>\n </span>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"HelpFab-CH7NlsDf.js","mappings":";;;;;AAQA,IAAA,sDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,MAAM,SAAS;EAEjB,MAAM,OAAO,IAAI,KAAK;EACtB,MAAM,EAAE,oBAAoB,mBAAmB,IAAI;EAEnD,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,qBAAqB;GAE3B,IAAI,MAAO,eAAe,GAAG;IAC3B,MAAM,2PAA2P;IACjQ,IAAI,KAAK,OACP,MAAM,2FAA2F;SAEjG,MAAM,SAAS;IAEjB,IAAI,KAAK,OAAO;KACd,MAAM,yHAAyH;KAC/H,cAAe,KAAK,QAAQ,WAAW,CAAC,GAAG,MAAM,OAAO,OAAO;KAC/D,MAAM,mBAAoB,oBAAoB;MAC5C,MAAM;MACN,KAAK;MACL,gBAAgB;MAChB,WAAW;MACX,QAAQ;MACR,UAAU,WAAiB,KAAK,QAAQ;KAC1C,GAAG,MAAM,OAAO,CAAC;KACjB,MAAM,QAAQ;IAChB,OACE,MAAM,SAAS;IAEjB,MAAM,UAAU;GAClB,OACE,MAAM,SAAS;EAEnB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../components/HelpFab.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/HelpFab.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent } from \"vue\"\nimport { ssrRenderSlot as _ssrRenderSlot, ssrRenderComponent as _ssrRenderComponent } from \"vue/server-renderer\"\n\nimport { ref } from 'vue'\nimport { useDevToolsOptions } from '../composables/storage-options'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'HelpFab',\n __ssrInlineRender: true,\n setup(__props) {\n\nconst open = ref(false)\nconst { showHelpButtons } = useDevToolsOptions('ui')\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n if (_unref(showHelpButtons)) {\n _push(`<!--[--><button pos=\"absolute bottom-5 right-5\" border=\"~ base rounded-full \" flex=\"~ items-center justify-center\" z-110 h-11 w-11 backdrop-blur-8 bg=\"bg-base op50!\" light:shadow hover=\"bg-active\" title=\"Help\"><div i-ri:question-mark></div></button>`)\n if (open.value) {\n _push(`<div class=\"fixed bottom-0 left-0 right-0 top-0 z-100\" bg-black:20 backdrop-blur-2></div>`)\n } else {\n _push(`<!---->`)\n }\n if (open.value) {\n _push(`<div border=\"l base\" class=\"prose\" pos=\"fixed bottom-0 right-0 top-0\" z-200 h-full w-150 overflow-auto bg-base px8 py4>`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent)\n _push(_ssrRenderComponent(_component_NButton, {\n icon: \"carbon-close\",\n pos: \"absolute top-3 right-3\",\n \"rounded-full\": \"\",\n \"text-xl\": \"\",\n border: false,\n onClick: ($event: any) => (open.value = false)\n }, null, _parent))\n _push(`</div>`)\n } else {\n _push(`<!---->`)\n }\n _push(`<!--]-->`)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { useDevToolsOptions } from '../composables/storage-options'\n\nconst open = ref(false)\nconst { showHelpButtons } = useDevToolsOptions('ui')\n</script>\n\n<template>\n <template v-if=\"showHelpButtons\">\n <button\n pos=\"absolute bottom-5 right-5\"\n border=\"~ base rounded-full \"\n flex=\"~ items-center justify-center\"\n z-110 h-11 w-11 backdrop-blur-8\n bg=\"bg-base op50!\" light:shadow\n hover=\"bg-active\"\n title=\"Help\"\n @click=\"open = !open\"\n >\n <div i-ri:question-mark />\n </button>\n <Transition name=\"fade-in\">\n <div\n v-if=\"open\"\n class=\"fixed bottom-0 left-0 right-0 top-0 z-100\"\n bg-black:20 backdrop-blur-2 @click=\"open = false\"\n />\n </Transition>\n <Transition name=\"slide-in\">\n <div\n v-if=\"open\" border=\"l base\"\n class=\"prose\" pos=\"fixed bottom-0 right-0 top-0\"\n z-200 h-full w-150 overflow-auto bg-base px8 py4\n >\n <slot />\n <NButton\n icon=\"carbon-close\"\n pos=\"absolute top-3 right-3\"\n rounded-full text-xl\n :border=\"false\"\n @click=\"open = false\"\n />\n </div>\n </Transition>\n </template>\n</template>\n\n<style>\n.slide-in-enter-active,\n.slide-in-leave-active {\n transition: transform 0.3s;\n}\n.slide-in-enter-from,\n.slide-in-leave-to {\n transform: translateX(100%);\n}\n\n.fade-in-enter-active,\n.fade-in-leave-active {\n transition: opacity 0.3s;\n}\n.fade-in-enter-from,\n.fade-in-leave-to {\n opacity: 0;\n}\n</style>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"LaunchPage-ByG-3KVi.js","mappings":"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","names":[],"sources":["../../../../../../../../components/LaunchPage.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../components/LaunchPage.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { ModuleLaunchAction } from '~~/../src/types'\nimport { telemetry } from '~/composables/telemetry'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'LaunchPage',\n __ssrInlineRender: true,\n props: {\n name: {},\n icon: {},\n title: {},\n description: {},\n actions: {}\n },\n emits: [\"action\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\n\nconst emits = __emit\n\nfunction launch(action: ModuleLaunchAction, idx: number) {\n telemetry(`launch-page`, {\n pageName: props.name,\n })\n action.handle?.()\n emits('action', idx)\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NPanelGrids = _resolveComponent(\"NPanelGrids\")!\n const _component_NCard = _resolveComponent(\"NCard\")!\n const _component_TabIcon = _resolveComponent(\"TabIcon\")!\n const _component_NMarkdown = _resolveComponent(\"NMarkdown\")!\n const _component_NButton = _resolveComponent(\"NButton\")!\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n\n _push(_ssrRenderComponent(_component_NPanelGrids, _attrs, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_NCard, {\n flex: \"~ col gap2\",\n mxa: \"\",\n \"min-w-100\": \"\",\n \"items-center\": \"\",\n p6: \"\"\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(_ssrRenderComponent(_component_TabIcon, {\n mb2: \"\",\n \"text-5xl\": \"\",\n icon: __props.icon || __props.icon,\n title: __props.title\n }, null, _parent, _scopeId))\n _push(`<h1 text-xl${\n _scopeId\n }>${\n _ssrInterpolate(__props.title)\n }</h1>`)\n if (__props.description) {\n _push(_ssrRenderComponent(_component_NMarkdown, {\n mb2: \"\",\n \"mt--1\": \"\",\n \"text-center\": \"\",\n \"text-base\": \"\",\n op50: \"\",\n markdown: __props.description\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(`<div flex=\"~ gap2 wrap\"${_scopeId}><!--[-->`)\n _ssrRenderList(__props.actions, (action, idx) => {\n _push(_ssrRenderComponent(_component_NButton, _mergeProps({\n n: \"solid primary\",\n disabled: action.pending,\n to: action.src,\n target: action.src ? '_blank' : undefined\n }, { ref_for: true }, action.attrs, {\n onClick: ($event: any) => (launch(action, idx))\n }), {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n if (action.pending) {\n _push(_ssrRenderComponent(_component_NIcon, {\n icon: \"carbon-circle-dash\",\n \"animate-spin\": \"\"\n }, null, _parent, _scopeId))\n } else {\n _push(`<!---->`)\n }\n _push(` ${_ssrInterpolate(action.label)}`)\n } else {\n return [\n (action.pending)\n ? (_openBlock(), _createBlock(_component_NIcon, {\n key: 0,\n icon: \"carbon-circle-dash\",\n \"animate-spin\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(action.label), 1)\n ]\n }\n }),\n _: 2\n }, _parent, _scopeId))\n })\n _push(`<!--]--></div>`)\n } else {\n return [\n _createVNode(_component_TabIcon, {\n mb2: \"\",\n \"text-5xl\": \"\",\n icon: __props.icon || __props.icon,\n title: __props.title\n }, null, 8, [\"icon\", \"title\"]),\n _createVNode(\"h1\", { \"text-xl\": \"\" }, _toDisplayString(__props.title), 1),\n (__props.description)\n ? (_openBlock(), _createBlock(_component_NMarkdown, {\n key: 0,\n mb2: \"\",\n \"mt--1\": \"\",\n \"text-center\": \"\",\n \"text-base\": \"\",\n op50: \"\",\n markdown: __props.description\n }, null, 8, [\"markdown\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", { flex: \"~ gap2 wrap\" }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(__props.actions, (action, idx) => {\n return (_openBlock(), _createBlock(_component_NButton, _mergeProps({\n key: idx,\n n: \"solid primary\",\n disabled: action.pending,\n to: action.src,\n target: action.src ? '_blank' : undefined\n }, { ref_for: true }, action.attrs, {\n onClick: ($event: any) => (launch(action, idx))\n }), {\n default: _withCtx(() => [\n (action.pending)\n ? (_openBlock(), _createBlock(_component_NIcon, {\n key: 0,\n icon: \"carbon-circle-dash\",\n \"animate-spin\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(action.label), 1)\n ]),\n _: 2\n }, 1040, [\"disabled\", \"to\", \"target\", \"onClick\"]))\n }), 128))\n ])\n ]\n }\n }),\n _: 1\n }, _parent, _scopeId))\n } else {\n return [\n _createVNode(_component_NCard, {\n flex: \"~ col gap2\",\n mxa: \"\",\n \"min-w-100\": \"\",\n \"items-center\": \"\",\n p6: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_TabIcon, {\n mb2: \"\",\n \"text-5xl\": \"\",\n icon: __props.icon || __props.icon,\n title: __props.title\n }, null, 8, [\"icon\", \"title\"]),\n _createVNode(\"h1\", { \"text-xl\": \"\" }, _toDisplayString(__props.title), 1),\n (__props.description)\n ? (_openBlock(), _createBlock(_component_NMarkdown, {\n key: 0,\n mb2: \"\",\n \"mt--1\": \"\",\n \"text-center\": \"\",\n \"text-base\": \"\",\n op50: \"\",\n markdown: __props.description\n }, null, 8, [\"markdown\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", { flex: \"~ gap2 wrap\" }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(__props.actions, (action, idx) => {\n return (_openBlock(), _createBlock(_component_NButton, _mergeProps({\n key: idx,\n n: \"solid primary\",\n disabled: action.pending,\n to: action.src,\n target: action.src ? '_blank' : undefined\n }, { ref_for: true }, action.attrs, {\n onClick: ($event: any) => (launch(action, idx))\n }), {\n default: _withCtx(() => [\n (action.pending)\n ? (_openBlock(), _createBlock(_component_NIcon, {\n key: 0,\n icon: \"carbon-circle-dash\",\n \"animate-spin\": \"\"\n }))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(action.label), 1)\n ]),\n _: 2\n }, 1040, [\"disabled\", \"to\", \"target\", \"onClick\"]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ]\n }\n }),\n _: 1\n }, _parent))\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { ModuleLaunchAction } from '~~/../src/types'\nimport { telemetry } from '~/composables/telemetry'\n\nconst props = defineProps<{\n name?: string\n icon?: string\n title?: string\n description?: string\n actions?: ModuleLaunchAction[]\n}>()\n\nconst emits = defineEmits<{\n (e: 'action', idx: number): void\n}>()\n\nfunction launch(action: ModuleLaunchAction, idx: number) {\n telemetry(`launch-page`, {\n pageName: props.name,\n })\n action.handle?.()\n emits('action', idx)\n}\n</script>\n\n<template>\n <NPanelGrids>\n <NCard flex=\"~ col gap2\" mxa min-w-100 items-center p6>\n <TabIcon mb2 text-5xl :icon=\"icon || icon\" :title=\"title\" />\n <h1 text-xl>\n {{ title }}\n </h1>\n <NMarkdown v-if=\"description\" mb2 mt--1 text-center text-base op50 :markdown=\"description\" />\n <div flex=\"~ gap2 wrap\">\n <template v-for=\"action, idx of actions\" :key=\"idx\">\n <NButton\n n=\"solid primary\"\n :disabled=\"action.pending\"\n :to=\"action.src\"\n :target=\"action.src ? '_blank' : undefined\"\n v-bind=\"action.attrs\"\n @click=\"launch(action, idx)\"\n >\n <NIcon v-if=\"action.pending\" icon=\"carbon-circle-dash\" animate-spin />\n {{ action.label }}\n </NButton>\n </template>\n </div>\n </NCard>\n </NPanelGrids>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"NBadge-BNJzHbtD.js","mappings":"","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NBadge.vue"],"sourcesContent":["<template>\n <span class=\"n-badge\">\n <slot />\n </span>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"NCard-mHVN2GYZ.js","mappings":"","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NCard.vue"],"sourcesContent":["<template>\n <div class=\"n-card n-card-base\">\n <slot />\n </div>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"NCheckbox-OMIu_LTG.js","mappings":";;;;AAOA,IAAA,wDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,YAAY;GAAE,MAAM,CAAC,SAAS,IAAI;GAAG,SAAS;EAAM;EACpD,UAAU;GAAE,MAAM;GAAS,SAAS;EAAM;CAC5C;CACA,MAAM,SAAc,EAAE,MAAM,UAAU;EAIxC,MAAM,UAAU,UAAU,SAAO,cAAc,QAAM,EAAE,SAAS,KAAK,CAAC;EAEtE,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,mBAAmB;GAEzB,MAAM,SACJ,eAAgB,WAAY;IAC1B,OAAO;IACP,SAAS,MAAO,OAAO,KAAK;IAC5B,UAAU,QAAQ,YAAY;GAChC,GAAG,MAAM,CAAC,EACX,SACE,sBAAwB,MAAM,QAAQ,MAAO,OAAO,CAAC,IAClD,gBAAiB,MAAO,OAAO,GAAG,IAAI,IACtC,MAAO,OAAO,CAAC,IAAK,aAAa,GACtC,4CACE,sBAAuB,QAAQ,QAAQ,IAAK,cAAc,GAC5D,uIAAuI;GACxI,MAAM,mBAAoB,kBAAkB,EAAE,OAAO,yFAAyF,GAAG,MAAM,OAAO,CAAC;GAC/J,MAAM,uBAAuB,eAAgB,CAAC,MAAO,OAAO,IAAI,KAAK,QAAQ,cAAc,CAAC,EAAE,GAAG;GACjG,cAAe,KAAK,QAAQ,WAAW,CAAC,GAAG,MAAM,OAAO,OAAO;GAC/D,MAAM,iBAAiB;EACzB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NCheckbox.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NCheckbox.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrLooseContain as _ssrLooseContain, ssrIncludeBooleanAttr as _ssrIncludeBooleanAttr, ssrRenderComponent as _ssrRenderComponent, ssrRenderSlot as _ssrRenderSlot, ssrRenderClass as _ssrRenderClass, ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\nimport { useVModel } from '@vueuse/core'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NCheckbox',\n __ssrInlineRender: true,\n props: {\n modelValue: { type: [Boolean, null], default: false },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\nconst emit = __emit\nconst checked = useVModel(props, 'modelValue', emit, { passive: true })\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NIcon = _resolveComponent(\"NIcon\")!\n\n _push(`<label${\n _ssrRenderAttrs(_mergeProps({\n class: \"n-checkbox select-none items-center hover:n-checkbox-hover n-disabled:n-disabled\",\n checked: _unref(checked) || null,\n disabled: __props.disabled || null\n }, _attrs))\n }><input${\n (_ssrIncludeBooleanAttr((Array.isArray(_unref(checked)))\n ? _ssrLooseContain(_unref(checked), null)\n : _unref(checked))) ? \" checked\" : \"\"\n } type=\"checkbox\" class=\"peer absolute op0\"${\n (_ssrIncludeBooleanAttr(__props.disabled)) ? \" disabled\" : \"\"\n }><span class=\"n-checkbox-box n-transition n-checked:n-checkbox-box-checked peer-active:n-active-base peer-focus-visible:n-focus-base\">`)\n _push(_ssrRenderComponent(_component_NIcon, { class: \"n-checkbox-icon scale-0 transform op0 n-transition n-checked:scale-100 n-checked:op100\" }, null, _parent))\n _push(`</span><span class=\"${_ssrRenderClass([_unref(checked) ? '' : 'op50', \"n-transition\"])}\">`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent)\n _push(`</span></label>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: boolean | null\n disabled?: boolean\n }>(),\n {\n modelValue: false,\n disabled: false,\n },\n)\nconst emit = defineEmits<{ (...args: any): void }>()\nconst checked = useVModel(props, 'modelValue', emit, { passive: true })\n</script>\n\n<template>\n <label\n class=\"n-checkbox select-none items-center hover:n-checkbox-hover n-disabled:n-disabled\"\n :checked=\"checked || null\"\n :disabled=\"disabled || null\"\n >\n <input\n v-model=\"checked\"\n type=\"checkbox\"\n class=\"peer absolute op0\"\n :disabled=\"disabled\"\n @keypress.enter=\"checked = !checked\"\n >\n <span class=\"n-checkbox-box n-transition n-checked:n-checkbox-box-checked peer-active:n-active-base peer-focus-visible:n-focus-base\">\n <NIcon class=\"n-checkbox-icon scale-0 transform op0 n-transition n-checked:scale-100 n-checked:op100\" />\n </span>\n <span :class=\"checked ? '' : 'op50'\" class=\"n-transition\"><slot /></span>\n </label>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"NCodeBlock-C2Ewa6VO.js","mappings":";;;;AAUA,IAAA,yDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,MAAM,CAAC;EACP,MAAM,CAAC;EACP,OAAO;GAAE,MAAM;GAAS,SAAS;EAAK;EACtC,QAAQ,EAAE,MAAM,QAAQ;EACxB,oBAAoB,CAAC;EACrB,mBAAmB,CAAC;CACtB;CACA,OAAO,CAAC,QAAQ;CAChB,MAAM,SAAc,EAAE,MAAM,UAAU;EAExC,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,WAAW,eAAe;GAC9B,MAAM,SAAS,MAAM,SAAS,SAC1B;IAAE,MAAM,MAAM;IAAM,WAAW;GAAM,IACrC,eAAe,OAAO,SAAS,oBAAoB,MAAM,MAAM,MAAM,MAAM,EAAE,oBAAoB,MAAM,mBAAmB,CAAC,KAAK;IAAE,MAAM,MAAM;IAAM,WAAW;GAAM;GACzK,IAAI,OAAO,aAAa,MAAM,mBAC5B,OAAO,OAAO,MAAM,kBAAkB,OAAO,IAAI;GACnD,IAAI,OAAO,WACT,eAAe,KAAK,QAAQ,CAAC;GAC/B,OAAO;EACT,CAAC;EAED,MAAM,UAAU,eAAe,CAC7B,sBACC,MAAM,SAAS,CAAC,MAAM,SAAU,uBAAuB,EAC1D,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,IAAI,QAAQ,QAAQ,SAAS,MAAM,WACjC,MAAM,OACJ,eAAgB,WAAY,EAAE,OAAO,QAAQ,MAAM,GAAG,MAAM,CAAC,EAC9D,SACE,SAAS,MAAM,QAAS,GAC1B,cAAc;QACV;IACL,MAAM,OAAO,eAAgB,WAAY,EAAE,OAAO,QAAQ,MAAM,GAAG,MAAM,CAAC,EAAE,gBAAgB;IAC5F,cAAe,QAAQ,KAAK,MAAM,IAAI,IAAI,MAAM,SAAS;KACvD,MAAM,8BAA8B,eAAgB,IAAI,EAAE,oBAAoB;IAChF,CAAC;IACD,MAAM,uBAAuB;GAC/B;EACF;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NCodeBlock.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NCodeBlock.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate, ssrRenderList as _ssrRenderList } from \"vue/server-renderer\"\n\nimport type { BuiltinLanguage } from 'shiki'\n// This components requires to run in DevTools to render correctly\nimport { computed, nextTick } from 'vue'\nimport { devToolsClient } from '../runtime/client'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NCodeBlock',\n __ssrInlineRender: true,\n props: {\n code: {},\n lang: {},\n lines: { type: Boolean, default: true },\n inline: { type: Boolean },\n grammarContextCode: {},\n transformRendered: {}\n },\n emits: ['loaded'],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\n\nconst emit = __emit\n\nconst rendered = computed(() => {\n const result = props.lang === 'text'\n ? { code: props.code, supported: false }\n : devToolsClient.value?.devtools.renderCodeHighlight(props.code, props.lang, { grammarContextCode: props.grammarContextCode }) || { code: props.code, supported: false }\n if (result.supported && props.transformRendered)\n result.code = props.transformRendered(result.code)\n if (result.supported)\n nextTick(() => emit('loaded'))\n return result\n})\n\nconst classes = computed(() => [\n 'n-code-block shiki',\n (props.lines && !props.inline) ? 'n-code-block-lines' : '',\n])\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n if (__props.lang && rendered.value.supported) {\n _push(`<pre${\n _ssrRenderAttrs(_mergeProps({ class: classes.value }, _attrs))\n }><code>${\n (rendered.value.code) ?? ''\n }</code></pre>`)\n } else {\n _push(`<pre${_ssrRenderAttrs(_mergeProps({ class: classes.value }, _attrs))}><code><!--[-->`)\n _ssrRenderList(__props.code.split('\\n'), (line, _idx) => {\n _push(`<!--[--><span class=\"line\">${_ssrInterpolate(line)}</span><br><!--]-->`)\n })\n _push(`<!--]--></code></pre>`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport type { BuiltinLanguage } from 'shiki'\n// This components requires to run in DevTools to render correctly\nimport { computed, nextTick } from 'vue'\nimport { devToolsClient } from '../runtime/client'\n\nconst props = withDefaults(\n defineProps<{\n code: string\n lang?: BuiltinLanguage | 'text'\n lines?: boolean\n inline?: boolean\n grammarContextCode?: string\n transformRendered?: (code: string) => string\n }>(),\n {\n lines: true,\n },\n)\n\nconst emit = defineEmits(['loaded'])\n\nconst rendered = computed(() => {\n const result = props.lang === 'text'\n ? { code: props.code, supported: false }\n : devToolsClient.value?.devtools.renderCodeHighlight(props.code, props.lang, { grammarContextCode: props.grammarContextCode }) || { code: props.code, supported: false }\n if (result.supported && props.transformRendered)\n result.code = props.transformRendered(result.code)\n if (result.supported)\n nextTick(() => emit('loaded'))\n return result\n})\n\nconst classes = computed(() => [\n 'n-code-block shiki',\n (props.lines && !props.inline) ? 'n-code-block-lines' : '',\n])\n</script>\n\n<template>\n <template v-if=\"lang && rendered.supported\">\n <pre :class=\"classes\"><code v-html=\"rendered.code\" /></pre>\n </template>\n <template v-else>\n <pre :class=\"classes\"><code><template v-for=\"line, _idx in code.split('\\n')\" :key=\"_idx\"><span class=\"line\" v-text=\"line\" /><br></template></code></pre>\n </template>\n</template>\n\n<style>\n.n-code-block-lines code {\n counter-reset: step;\n counter-increment: step calc(var(--start, 1) - 1);\n}\n.n-code-block-lines code .line::before {\n content: counter(step);\n counter-increment: step;\n width: 2.5rem;\n padding-right: 0.5rem;\n margin-right: 0.5rem;\n display: inline-block;\n text-align: right;\n --uno: text-truegray/50;\n}\n</style>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"NDrawer-C6Opm19C.js","mappings":";;;;;AAQA,IAAA,sDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,YAAY,EAAE,MAAM,QAAQ;EAC5B,KAAK,CAAC;EACN,MAAM,CAAC;EACP,WAAW,EAAE,MAAM,QAAQ;EAC3B,YAAY,EAAE,SAAS,QAAQ;CACjC;CACA,OAAO,CAAC,OAAO;CACf,MAAM,SAAc,EAAE,MAAM,UAAU;EAExC,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,KAAK,IAAiB;EAE5B,MAAM,EAAE,WAAW,qBAAqB,MAAM,KAAoB,KAAA,GAAW,EAAE,KAAK,aAAa,CAAC;EAElG,MAAM,QAAQ,OAAO,MAAM,SAAS,YAAY,MAAM,KAAK,WAAW,GAAG,KAAA,KAAA,EAAA,CAC5D,cAAc,MAAM,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC,QAC5D,qBAAqB,MAAM,MAAqB,KAAA,GAAW,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC;EAEtF,eAAe,UAAU;GACvB,IAAI,MAAM,cAAc,MAAM,WAC5B,KAAK,OAAO;EAChB,GAAG,EACD,QAAQ;GAAC;GAAK;GAAU;GAAW;EAAiB,EACtD,CAAC;EAiBD,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,qBAAqB;GAE3B,IAAI,QAAQ,YAAY;IACtB,MAAM,OAAO,eAAgB,WAAY;KACvC,SAAS;KACT,KAAK;KACL,QAAQ,GAAG,QAAQ,eAAe,UAAU,MAAM,QAAQ,eAAe,WAAW,MAAM,IAAI;KAC9F,MAAM;KACN,OAAO,EAAE,WAAW,QAAQ,eAAe,WAAW,QAAQ,eAAe,SAAS;KACtF,UAAU;KACV,YAAY;KACZ,QAAQ;KACR,QAAQ;KACR,WAAW;KACX,kBAAkB;KAClB,WAAW;KACX,OAAO;MACL,KAAK,QAAQ,eAAe,WAAW,SAAS,GAAG,MAAO,MAAM,EAAE;MAClE,MAAM,QAAQ,eAAe,WAAW,CAAC,MAAO,KAAK,IAAI,SAAS,GAAG,MAAO,KAAK,EAAE;KACrF;IACF,GAAG,KAAK,QAAQ,MAAM,CAAC,EAAE,EAAE;IAC3B,MAAM,mBAAoB,oBAAoB;KAC5C,UAAU;KACV,WAAW;KACX,SAAS;KACT,QAAQ;KACR,WAAW;KACX,MAAM;KACN,QAAQ;KACR,UAAU,WAAiB,KAAK,MAAM,OAAO;IAC/C,GAAG,MAAM,OAAO,CAAC;IACjB,MAAM,sCAAsC;IAC5C,cAAe,KAAK,QAAQ,WAAW,CAAC,GAAG,MAAM,OAAO,OAAO;IAC/D,MAAM,cAAc;GACtB,OACE,MAAM,SAAS;EAEnB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NDrawer.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NDrawer.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderComponent as _ssrRenderComponent, ssrRenderSlot as _ssrRenderSlot, ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\nimport { onClickOutside, useElementSize } from '@vueuse/core'\nimport { ref } from 'vue'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NDrawer',\n __ssrInlineRender: true,\n props: {\n modelValue: { type: Boolean },\n top: {},\n left: {},\n autoClose: { type: Boolean },\n transition: { default: 'right' }\n },\n emits: [\"close\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\n\nconst emit = __emit\n\nconst el = ref<HTMLElement>()\n\nconst { height } = useElementSize(() => props.top as HTMLElement, undefined, { box: 'border-box' })\n\nconst width = typeof props.left === 'string' && props.left.startsWith('#')\n ? document.querySelector(props.left)?.getBoundingClientRect().width\n : useElementSize(() => props.left as HTMLElement, undefined, { box: 'border-box' }).width\n\nonClickOutside(el, () => {\n if (props.modelValue && props.autoClose)\n emit('close')\n}, {\n ignore: ['a', 'button', 'summary', '[role=\"dialog\"]'],\n})\n\nconst transitionType = {\n right: {\n 'enter-from-class': 'transform translate-x-1/1',\n 'leave-to-class': 'transform translate-x-1/1',\n },\n top: {\n 'enter-from-class': 'transform translate-y--1/1',\n 'leave-to-class': 'transform translate-y--1/1',\n },\n bottom: {\n 'enter-from-class': 'transform translate-y-1/1',\n 'leave-to-class': 'transform translate-y-1/1',\n },\n}\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n if (__props.modelValue) {\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n ref_key: \"el\",\n ref: el,\n border: `${__props.transition === 'right' ? 'l' : __props.transition === 'bottom' ? 't' : 'b'} base`,\n flex: \"~ col gap-1\",\n class: { 'right-0': __props.transition === 'right' || __props.transition === 'bottom' },\n absolute: \"\",\n \"bottom-0\": \"\",\n \"z-10\": \"\",\n \"z-20\": \"\",\n \"of-auto\": \"\",\n \"n-glass-effect\": \"\",\n \"text-sm\": \"\",\n style: {\n top: __props.transition === 'bottom' ? 'auto' : `${_unref(height)}px`,\n left: __props.transition === 'right' && !_unref(width) ? 'auto' : `${_unref(width)}px`,\n }\n }, _ctx.$attrs, _attrs))}>`)\n _push(_ssrRenderComponent(_component_NButton, {\n absolute: \"\",\n \"right-2\": \"\",\n \"top-2\": \"\",\n \"z-20\": \"\",\n \"text-xl\": \"\",\n icon: \"carbon-close\",\n border: false,\n onClick: ($event: any) => (_ctx.$emit('close'))\n }, null, _parent))\n _push(`<div relative h-full w-full of-auto>`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent)\n _push(`</div></div>`)\n } else {\n _push(`<!---->`)\n }\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { onClickOutside, useElementSize } from '@vueuse/core'\nimport { ref } from 'vue'\n\nconst props = withDefaults(defineProps<{\n modelValue?: boolean\n top?: HTMLElement | string\n left?: HTMLElement | string\n autoClose?: boolean\n transition?: 'right' | 'bottom' | 'top'\n}>(), {\n transition: 'right',\n})\n\nconst emit = defineEmits<{\n (e: 'close'): void\n}>()\n\nconst el = ref<HTMLElement>()\n\nconst { height } = useElementSize(() => props.top as HTMLElement, undefined, { box: 'border-box' })\n\nconst width = typeof props.left === 'string' && props.left.startsWith('#')\n ? document.querySelector(props.left)?.getBoundingClientRect().width\n : useElementSize(() => props.left as HTMLElement, undefined, { box: 'border-box' }).width\n\nonClickOutside(el, () => {\n if (props.modelValue && props.autoClose)\n emit('close')\n}, {\n ignore: ['a', 'button', 'summary', '[role=\"dialog\"]'],\n})\n\nconst transitionType = {\n right: {\n 'enter-from-class': 'transform translate-x-1/1',\n 'leave-to-class': 'transform translate-x-1/1',\n },\n top: {\n 'enter-from-class': 'transform translate-y--1/1',\n 'leave-to-class': 'transform translate-y--1/1',\n },\n bottom: {\n 'enter-from-class': 'transform translate-y-1/1',\n 'leave-to-class': 'transform translate-y-1/1',\n },\n}\n</script>\n\n<template>\n <Transition\n v-bind=\"transitionType[transition]\"\n enter-active-class=\"duration-200 ease-in\"\n enter-to-class=\"opacity-100\"\n leave-active-class=\"duration-200 ease-out\"\n leave-from-class=\"opacity-100\"\n >\n <div\n v-if=\"modelValue\"\n ref=\"el\"\n :border=\"`${transition === 'right' ? 'l' : transition === 'bottom' ? 't' : 'b'} base`\"\n flex=\"~ col gap-1\"\n :class=\"{ 'right-0': transition === 'right' || transition === 'bottom' }\"\n absolute bottom-0 z-10 z-20 of-auto n-glass-effect text-sm\n :style=\"{\n top: transition === 'bottom' ? 'auto' : `${height}px`,\n left: transition === 'right' && !width ? 'auto' : `${width}px`,\n }\"\n v-bind=\"$attrs\"\n >\n <NButton absolute right-2 top-2 z-20 text-xl icon=\"carbon-close\" :border=\"false\" @click=\"$emit('close')\" />\n <div relative h-full w-full of-auto>\n <slot />\n </div>\n </div>\n </Transition>\n</template>\n"],"version":3}
@@ -0,0 +1 @@
1
+ {"file":"NDropdown-DseEG3tA.js","mappings":";;;;;AAQA,IAAA,wDAA4B,8BAAiB;CAC3C,QAAQ;CACR,mBAAmB;CACnB,OAAO;EACL,YAAY,EAAE,MAAM,QAAQ;EAC5B,WAAW,EAAE,SAAS,QAAQ;CAChC;CACA,MAAM,SAAc,EAAE,MAAM,UAAU;EAKxC,MAAM,UAAU,UAAU,SAAO,cAAc,QAAM,EAAE,SAAS,KAAK,CAAC;EACtE,MAAM,KAAK,IAAoB;EAE/B,eAAe,UAAU;GACvB,QAAQ,QAAQ;EAClB,CAAC;EAED,QAAQ,MAAU,OAAW,SAAa,WAAgB;GACxD,MAAM,qBAAqB;GAE3B,MAAM,OAAO,eAAgB,WAAY;IACvC,SAAS;IACT,KAAK;IACL,OAAO;GACT,GAAG,MAAM,CAAC,EAAE,EAAE;GACd,cAAe,KAAK,QAAQ,WAAW;IACrC,SAAS,MAAO,OAAO;IACvB,aAAa,QAAQ,QAAQ,CAAC,MAAO,OAAO;GAC9C,SAAS;IACP,MAAM,mBAAoB,oBAAoB,EAC5C,UAAU,WAAiB,QAAQ,QAAQ,CAAC,MAAO,OAAO,EAC5D,GAAG;KACD,SAAS,SAAU,GAAG,OAAO,SAAS,aAAa;MACjD,IAAI,OACF,MAAM,YAAY;WAElB,OAAO,CACL,gBAAiB,YAAY,CAC/B;KAEJ,CAAC;KACD,GAAG;IACL,GAAG,OAAO,CAAC;GACb,GAAG,OAAO,OAAO;GACjB,MAAM,eAAe,eAAgB,CAAC,CAAC,MAAO,OAAO,IAAI,WAAW,0CAA0C,QAAQ,cAAc,QAAQ,YAAY,QAAQ,GAAG,0EAA0E,CAAC,EAAE,GAAG;GACnP,cAAe,KAAK,QAAQ,WAAW,CAAC,GAAG,MAAM,OAAO,OAAO;GAC/D,MAAM,cAAc;EACtB;CACA;AAEA,CAAC","names":[],"sources":["../../../../../../../../../../devtools-ui-kit/src/components/NDropdown.vue?vue&type=script&setup=true&lang.ts","../../../../../../../../../../devtools-ui-kit/src/components/NDropdown.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode, mergeProps as _mergeProps } from \"vue\"\nimport { ssrRenderSlot as _ssrRenderSlot, ssrRenderComponent as _ssrRenderComponent, ssrRenderClass as _ssrRenderClass, ssrRenderAttrs as _ssrRenderAttrs } from \"vue/server-renderer\"\n\nimport { onClickOutside, useVModel } from '@vueuse/core'\nimport { ref } from 'vue'\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'NDropdown',\n __ssrInlineRender: true,\n props: {\n modelValue: { type: Boolean },\n direction: { default: 'start' }\n },\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props\nconst emit = __emit\n\nconst enabled = useVModel(props, 'modelValue', emit, { passive: true })\nconst el = ref<HTMLDivElement>()\n\nonClickOutside(el, () => {\n enabled.value = false\n})\n\nreturn (_ctx: any,_push: any,_parent: any,_attrs: any) => {\n const _component_NButton = _resolveComponent(\"NButton\")!\n\n _push(`<div${_ssrRenderAttrs(_mergeProps({\n ref_key: \"el\",\n ref: el,\n class: \"relative\"\n }, _attrs))}>`)\n _ssrRenderSlot(_ctx.$slots, \"trigger\", {\n enabled: _unref(enabled),\n click: () => enabled.value = !_unref(enabled)\n }, () => {\n _push(_ssrRenderComponent(_component_NButton, {\n onClick: ($event: any) => (enabled.value = !_unref(enabled))\n }, {\n default: _withCtx((_, _push, _parent, _scopeId) => {\n if (_push) {\n _push(` Dropdown `)\n } else {\n return [\n _createTextVNode(\" Dropdown \")\n ]\n }\n }),\n _: 1\n }, _parent))\n }, _push, _parent)\n _push(`<div class=\"${_ssrRenderClass([[_unref(enabled) ? 'op-100' : 'op0 pointer-events-none -translate-y-1', __props.direction === 'end' ? 'right-0' : 'left-0'], \"absolute z-10 border n-border-base rounded n-bg-base shadow n-transition\"])}\">`)\n _ssrRenderSlot(_ctx.$slots, \"default\", {}, null, _push, _parent)\n _push(`</div></div>`)\n}\n}\n\n})","<script setup lang=\"ts\">\nimport { onClickOutside, useVModel } from '@vueuse/core'\nimport { ref } from 'vue'\n\nconst props = withDefaults(defineProps<{\n modelValue?: boolean\n direction?: 'start' | 'end'\n}>(), {\n direction: 'start',\n})\nconst emit = defineEmits<{ (...args: any): void }>()\n\nconst enabled = useVModel(props, 'modelValue', emit, { passive: true })\nconst el = ref<HTMLDivElement>()\n\nonClickOutside(el, () => {\n enabled.value = false\n})\n</script>\n\n<template>\n <div ref=\"el\" class=\"relative\">\n <slot name=\"trigger\" :enabled=\"enabled\" :click=\"() => enabled = !enabled\">\n <NButton @click=\"enabled = !enabled\">\n Dropdown\n </NButton>\n </slot>\n\n <div\n class=\"absolute z-10 border n-border-base rounded n-bg-base shadow n-transition\"\n :class=\"[enabled ? 'op-100' : 'op0 pointer-events-none -translate-y-1', direction === 'end' ? 'right-0' : 'left-0']\"\n >\n <slot />\n </div>\n </div>\n</template>\n"],"version":3}