[{"data":1,"prerenderedAt":506},["ShallowReactive",2],{"navigation_docs":3,"-guides-nuxt":113,"-guides-nuxt-surround":501},[4,31,77,108],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":30},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Using the picker","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-mouse-pointer-click",{"title":26,"path":27,"stem":28,"icon":29},"Resolving picks","\u002Fgetting-started\u002Fresolve-the-picks","1.getting-started\u002F4.resolve-the-picks","i-lucide-bot",false,{"title":32,"icon":33,"path":34,"stem":35,"children":36,"page":30},"Guides","i-lucide-book-open","\u002Fguides","2.guides",[37,42,47,52,57,62,67,72],{"title":38,"path":39,"stem":40,"icon":41},"Vite","\u002Fguides\u002Fvite","2.guides\u002F1.vite","i-simple-icons-vite",{"title":43,"path":44,"stem":45,"icon":46},"Nuxt","\u002Fguides\u002Fnuxt","2.guides\u002F2.nuxt","i-simple-icons-nuxtdotjs",{"title":48,"path":49,"stem":50,"icon":51},"SvelteKit","\u002Fguides\u002Fsveltekit","2.guides\u002F3.sveltekit","i-simple-icons-svelte",{"title":53,"path":54,"stem":55,"icon":56},"Astro","\u002Fguides\u002Fastro","2.guides\u002F4.astro","i-simple-icons-astro",{"title":58,"path":59,"stem":60,"icon":61},"Next.js","\u002Fguides\u002Fnext","2.guides\u002F5.next","i-simple-icons-nextdotjs",{"title":63,"path":64,"stem":65,"icon":66},"webpack","\u002Fguides\u002Fwebpack","2.guides\u002F6.webpack","i-simple-icons-webpack",{"title":68,"path":69,"stem":70,"icon":71},"Angular","\u002Fguides\u002Fangular","2.guides\u002F7.angular","i-simple-icons-angular",{"title":73,"path":74,"stem":75,"icon":76},"Plain HTML & more","\u002Fguides\u002Fvanilla","2.guides\u002F8.vanilla","i-lucide-file-code",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":30},"Reference","i-lucide-list","\u002Freference","3.reference",[83,88,93,98,103],{"title":84,"path":85,"stem":86,"icon":87},"Compatibility","\u002Freference\u002Fcompatibility","3.reference\u002F1.compatibility","i-lucide-table",{"title":89,"path":90,"stem":91,"icon":92},"Plugin options","\u002Freference\u002Fplugin-options","3.reference\u002F2.plugin-options","i-lucide-settings-2",{"title":94,"path":95,"stem":96,"icon":97},"CLI","\u002Freference\u002Fcli","3.reference\u002F3.cli","i-lucide-terminal",{"title":99,"path":100,"stem":101,"icon":102},"The pick object","\u002Freference\u002Fpick-object","3.reference\u002F4.pick-object","i-lucide-braces",{"title":104,"path":105,"stem":106,"icon":107},"FAQ & troubleshooting","\u002Freference\u002Ffaq","3.reference\u002F5.faq","i-lucide-help-circle",{"title":109,"path":110,"stem":111,"icon":112},"Sponsor","\u002Fsponsor","4.sponsor","i-lucide-heart",{"id":114,"title":43,"body":115,"description":494,"extension":495,"links":496,"meta":497,"navigation":498,"path":44,"seo":499,"stem":45,"__hash__":500},"docs\u002F2.guides\u002F2.nuxt.md",{"type":116,"value":117,"toc":489},"minimark",[118,127,135,140,169,173,278,348,359,363,366,462,485],[119,120,121,122,126],"p",{},"Nuxt builds on Vite, so the plugin still serves the runtime, the picks endpoint and the agent file.\nWhat it cannot do is inject the script tag: ",[123,124,125],"code",{},"transformIndexHtml"," is a Vite SPA hook, and Nuxt\nrenders the document itself.",[119,128,129,130,134],{},"The plugin therefore exposes a ",[131,132,133],"strong",{},"virtual module"," you import from a client-only file. One line,\nwith the plugin's options already baked in.",[136,137,139],"h2",{"id":138},"install","Install",[141,142,148],"pre",{"className":143,"code":144,"filename":145,"language":146,"meta":147,"style":147},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add -D vite-plugin-quello\n","Terminal","bash","",[123,149,150],{"__ignoreMap":147},[151,152,155,159,163,166],"span",{"class":153,"line":154},"line",1,[151,156,158],{"class":157},"sBMFI","pnpm",[151,160,162],{"class":161},"sfazB"," add",[151,164,165],{"class":161}," -D",[151,167,168],{"class":161}," vite-plugin-quello\n",[136,170,172],{"id":171},"configure","Configure",[141,174,179],{"className":175,"code":176,"filename":177,"language":178,"meta":147,"style":147},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import quello from 'vite-plugin-quello'\n\nexport default defineNuxtConfig({\n  vite: {\n    plugins: [quello()],\n  },\n})\n","nuxt.config.ts","ts",[123,180,181,204,211,230,243,263,269],{"__ignoreMap":147},[151,182,183,187,191,194,198,201],{"class":153,"line":154},[151,184,186],{"class":185},"s7zQu","import",[151,188,190],{"class":189},"sTEyZ"," quello ",[151,192,193],{"class":185},"from",[151,195,197],{"class":196},"sMK4o"," '",[151,199,200],{"class":161},"vite-plugin-quello",[151,202,203],{"class":196},"'\n",[151,205,207],{"class":153,"line":206},2,[151,208,210],{"emptyLinePlaceholder":209},true,"\n",[151,212,214,217,220,224,227],{"class":153,"line":213},3,[151,215,216],{"class":185},"export",[151,218,219],{"class":185}," default",[151,221,223],{"class":222},"s2Zo4"," defineNuxtConfig",[151,225,226],{"class":189},"(",[151,228,229],{"class":196},"{\n",[151,231,233,237,240],{"class":153,"line":232},4,[151,234,236],{"class":235},"swJcz","  vite",[151,238,239],{"class":196},":",[151,241,242],{"class":196}," {\n",[151,244,246,249,251,254,257,260],{"class":153,"line":245},5,[151,247,248],{"class":235},"    plugins",[151,250,239],{"class":196},[151,252,253],{"class":189}," [",[151,255,256],{"class":222},"quello",[151,258,259],{"class":189},"()]",[151,261,262],{"class":196},",\n",[151,264,266],{"class":153,"line":265},6,[151,267,268],{"class":196},"  },\n",[151,270,272,275],{"class":153,"line":271},7,[151,273,274],{"class":196},"}",[151,276,277],{"class":189},")\n",[141,279,282],{"className":175,"code":280,"filename":281,"language":178,"meta":147,"style":147},"export default defineNuxtPlugin(() => {\n  if (import.meta.dev) import('virtual:quello')\n})\n","plugins\u002Fquello.client.ts",[123,283,284,304,342],{"__ignoreMap":147},[151,285,286,288,290,293,295,298,302],{"class":153,"line":154},[151,287,216],{"class":185},[151,289,219],{"class":185},[151,291,292],{"class":222}," defineNuxtPlugin",[151,294,226],{"class":189},[151,296,297],{"class":196},"()",[151,299,301],{"class":300},"spNyl"," =>",[151,303,242],{"class":196},[151,305,306,309,312,314,317,320,322,325,328,330,332,335,338,340],{"class":153,"line":206},[151,307,308],{"class":185},"  if",[151,310,311],{"class":235}," (",[151,313,186],{"class":185},[151,315,316],{"class":196},".",[151,318,319],{"class":189},"meta",[151,321,316],{"class":196},[151,323,324],{"class":189},"dev",[151,326,327],{"class":235},") ",[151,329,186],{"class":196},[151,331,226],{"class":235},[151,333,334],{"class":196},"'",[151,336,337],{"class":161},"virtual:quello",[151,339,334],{"class":196},[151,341,277],{"class":235},[151,343,344,346],{"class":153,"line":213},[151,345,274],{"class":196},[151,347,277],{"class":189},[119,349,350,351,354,355,358],{},"The ",[123,352,353],{},".client"," suffix keeps it out of the server bundle, and ",[123,356,357],{},"import.meta.dev"," keeps it out of\nproduction — where the virtual module resolves to nothing anyway.",[136,360,362],{"id":361},"what-a-pick-will-know","What a pick will know",[119,364,365],{},"Component name and source file, read from Nuxt's Vue internals:",[141,367,371],{"className":368,"code":369,"language":370,"meta":147,"style":147},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"framework\": {\n    \"framework\": \"vue\",\n    \"component\": \"index\",\n    \"file\": \"\u002Fabs\u002Fpath\u002Fpages\u002Findex.vue\"\n  }\n}\n","json",[123,372,373,377,392,413,433,452,457],{"__ignoreMap":147},[151,374,375],{"class":153,"line":154},[151,376,229],{"class":196},[151,378,379,382,385,388,390],{"class":153,"line":206},[151,380,381],{"class":196},"  \"",[151,383,384],{"class":300},"framework",[151,386,387],{"class":196},"\"",[151,389,239],{"class":196},[151,391,242],{"class":196},[151,393,394,397,399,401,403,406,409,411],{"class":153,"line":213},[151,395,396],{"class":196},"    \"",[151,398,384],{"class":157},[151,400,387],{"class":196},[151,402,239],{"class":196},[151,404,405],{"class":196}," \"",[151,407,408],{"class":161},"vue",[151,410,387],{"class":196},[151,412,262],{"class":196},[151,414,415,417,420,422,424,426,429,431],{"class":153,"line":232},[151,416,396],{"class":196},[151,418,419],{"class":157},"component",[151,421,387],{"class":196},[151,423,239],{"class":196},[151,425,405],{"class":196},[151,427,428],{"class":161},"index",[151,430,387],{"class":196},[151,432,262],{"class":196},[151,434,435,437,440,442,444,446,449],{"class":153,"line":245},[151,436,396],{"class":196},[151,438,439],{"class":157},"file",[151,441,387],{"class":196},[151,443,239],{"class":196},[151,445,405],{"class":196},[151,447,448],{"class":161},"\u002Fabs\u002Fpath\u002Fpages\u002Findex.vue",[151,450,451],{"class":196},"\"\n",[151,453,454],{"class":153,"line":265},[151,455,456],{"class":196},"  }\n",[151,458,459],{"class":153,"line":271},[151,460,461],{"class":196},"}\n",[463,464,465,466,475,476,479,480,316],"note",{},"Running ",[467,468,472],"a",{"href":469,"rel":470},"https:\u002F\u002Fdevtools.vuejs.org\u002Fguide\u002Fvite-plugin",[471],"nofollow",[123,473,474],{},"vite-plugin-vue-devtools","? It annotates\nelements with the file, line ",[131,477,478],{},"and"," column. quello does not read that yet — it is\n",[467,481,484],{"href":482,"rel":483},"https:\u002F\u002Fgithub.com\u002FLinko91\u002Fquello#ideas-not-built-yet",[471],"on the roadmap",[486,487,488],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":147,"searchDepth":206,"depth":206,"links":490},[491,492,493],{"id":138,"depth":206,"text":139},{"id":171,"depth":206,"text":172},{"id":361,"depth":206,"text":362},"Nuxt renders its own HTML, so the runtime arrives through a virtual module.","md",null,{},{"icon":46},{"title":43,"description":494},"mQjFzLUOTWDrTNiMpydkUlQ2d3mgfFD3L_8FulmLB0Y",[502,504],{"title":38,"path":39,"stem":40,"description":503,"icon":41,"children":-1},"Vue, React, Svelte and Solid single-page apps — the shortest setup.",{"title":48,"path":49,"stem":50,"description":505,"icon":51,"children":-1},"Same route as Nuxt — the plugin plus one import.",1788454296080]