[{"data":1,"prerenderedAt":348},["ShallowReactive",2],{"mobile-docs-navigation":3,"command-menu-docs":46,"navigation":63,"mobile-docs-page-meta":78,"docs-pages-category":90,"\u002Fdocs\u002Fcomponents\u002Fchat-messages":99,"surround-\u002Fdocs\u002Fcomponents\u002Fchat-messages":345},[4],{"title":5,"path":6,"stem":7,"children":8,"page":45},"Docs","\u002Fdocs","docs",[9,19],{"title":10,"path":11,"stem":12,"children":13},"Introduction","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[14,15],{"title":10,"path":11,"stem":12},{"title":16,"path":17,"stem":18},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation",{"title":20,"path":21,"stem":22,"children":23},"Components","\u002Fdocs\u002Fcomponents","docs\u002F2.components\u002F0.index",[24,25,29,33,37,41],{"title":20,"path":21,"stem":22},{"title":26,"path":27,"stem":28},"LucideIcon","\u002Fdocs\u002Fcomponents\u002Flucide-icon","docs\u002F2.components\u002F1.lucide-icon",{"title":30,"path":31,"stem":32},"ChatMessage","\u002Fdocs\u002Fcomponents\u002Fchat-message","docs\u002F2.components\u002F2.chat-message",{"title":34,"path":35,"stem":36},"ChatMessages","\u002Fdocs\u002Fcomponents\u002Fchat-messages","docs\u002F2.components\u002F3.chat-messages",{"title":38,"path":39,"stem":40},"ChatPrompt","\u002Fdocs\u002Fcomponents\u002Fchat-prompt","docs\u002F2.components\u002F4.chat-prompt",{"title":42,"path":43,"stem":44},"ChatPromptSubmit","\u002Fdocs\u002Fcomponents\u002Fchat-prompt-submit","docs\u002F2.components\u002F5.chat-prompt-submit",false,[47,49,51,53,55,57,59,61],{"path":31,"title":30,"description":48},"Render a single chat message with AI SDK parts, actions, and layout control for Nuxt chat interfaces.",{"path":35,"title":34,"description":50},"Manage chat message lists with scrolling behavior, loading states, and action-ready assistant output.",{"path":39,"title":38,"description":52},"Build chat input flows with an auto-resizing prompt, keyboard shortcuts, and flexible slot composition.",{"path":43,"title":42,"description":54},"Handle chat submit, stop, and retry actions with a status-aware control for prompt workflows.",{"path":21,"title":20,"description":56},"Explore reusable components that complement Nuxt templates and real app workflows.",{"path":17,"title":16,"description":58},"Start from templates or install individual components in your Nuxt project.",{"path":11,"title":10,"description":60},"Stackhacker UI is an open-source collection of Nuxt templates and components for the shadcn-vue community.",{"path":27,"title":26,"description":62},"Use Lucide icons in Nuxt projects with shadcn-vue-friendly naming and component support.",[64],{"title":5,"path":6,"stem":7,"children":65,"page":45},[66,70],{"title":10,"path":11,"stem":12,"children":67},[68,69],{"title":10,"path":11,"stem":12},{"title":16,"path":17,"stem":18},{"title":20,"path":21,"stem":22,"children":71},[72,73,74,75,76,77],{"title":20,"path":21,"stem":22},{"title":26,"path":27,"stem":28},{"title":30,"path":31,"stem":32},{"title":34,"path":35,"stem":36},{"title":38,"path":39,"stem":40},{"title":42,"path":43,"stem":44},[79,81,82,83,85,87,88,89],{"path":11,"category":80},"overview",{"path":17,"category":80},{"path":21,"category":80},{"path":27,"category":84},"element",{"path":31,"category":86},"chat",{"path":35,"category":86},{"path":39,"category":86},{"path":43,"category":86},[91,92,93,94,95,96,97,98],{"path":11,"category":80},{"path":17,"category":80},{"path":21,"category":80},{"path":27,"category":84},{"path":31,"category":86},{"path":35,"category":86},{"path":39,"category":86},{"path":43,"category":86},{"id":100,"title":34,"body":101,"category":86,"description":50,"extension":340,"meta":341,"navigation":342,"path":35,"seo":343,"stem":36,"__hash__":344},"docs\u002Fdocs\u002F2.components\u002F3.chat-messages.md",{"type":102,"value":103,"toc":327},"minimark",[104,108,112,123,127,135,139,144,146,150,154,278,282],[105,106],"component-preview",{"name":107},"ChatMessagesDemo",[109,110,16],"h2",{"id":111},"installation",[113,114,120],"pre",{"className":115,"code":117,"language":118,"meta":119},[116],"language-bash","npx shadcn-vue@latest add \"https:\u002F\u002Fui.stackhacker.io\u002Fr\u002Fchat-messages.json\"\n","bash","",[121,122,117],"code",{"__ignoreMap":119},[109,124,126],{"id":125},"usage","Usage",[113,128,133],{"className":129,"code":131,"language":132,"meta":119},[130],"language-vue","\u003Cscript setup lang=\"ts\">\nimport { ChatMessages } from '@\u002Fcomponents\u002Fui\u002Fchat-messages'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CChatMessages :messages=\"messages\" :status=\"status\" should-auto-scroll \u002F>\n\u003C\u002Ftemplate>\n","vue",[121,134,131],{"__ignoreMap":119},[109,136,138],{"id":137},"examples","Examples",[140,141,143],"h3",{"id":142},"default","Default",[105,145],{"name":107},[109,147,149],{"id":148},"api-reference","API Reference",[140,151,153],{"id":152},"props","Props",[155,156,157,175],"table",{},[158,159,160],"thead",{},[161,162,163,167,170,172],"tr",{},[164,165,166],"th",{},"Prop",[164,168,169],{},"Type",[164,171,143],{},[164,173,174],{},"Description",[176,177,178,199,223,243,261],"tbody",{},[161,179,180,186,191,196],{},[181,182,183],"td",{},[121,184,185],{},"messages",[181,187,188],{},[121,189,190],{},"UIMessage[]",[181,192,193],{},[121,194,195],{},"[]",[181,197,198],{},"Array of messages to display.",[161,200,201,206,211,216],{},[181,202,203],{},[121,204,205],{},"status",[181,207,208],{},[121,209,210],{},"'ready' | 'streaming' | 'submitted' | 'error'",[181,212,213],{},[121,214,215],{},"'ready'",[181,217,218,219,222],{},"Current chat status. Shows loading indicator when ",[121,220,221],{},"submitted",".",[161,224,225,230,235,240],{},[181,226,227],{},[121,228,229],{},"shouldAutoScroll",[181,231,232],{},[121,233,234],{},"boolean",[181,236,237],{},[121,238,239],{},"false",[181,241,242],{},"Enable auto-scroll to bottom on new messages.",[161,244,245,250,255,258],{},[181,246,247],{},[121,248,249],{},"assistant",[181,251,252],{},[121,253,254],{},"{ actions?: ChatMessageAction[] }",[181,256,257],{},"—",[181,259,260],{},"Assistant-specific configuration (e.g., action buttons).",[161,262,263,268,273,275],{},[181,264,265],{},[121,266,267],{},"class",[181,269,270],{},[121,271,272],{},"string",[181,274,257],{},[181,276,277],{},"Additional CSS classes.",[140,279,281],{"id":280},"slots","Slots",[155,283,284,295],{},[158,285,286],{},[161,287,288,291,293],{},[164,289,290],{},"Slot",[164,292,153],{},[164,294,174],{},[176,296,297,312],{},[161,298,299,304,309],{},[181,300,301],{},[121,302,303],{},"content",[181,305,306],{},[121,307,308],{},"{ message, index, id, role, parts }",[181,310,311],{},"Custom message content renderer.",[161,313,314,319,321],{},[181,315,316],{},[121,317,318],{},"indicator",[181,320,257],{},[181,322,323,324,326],{},"Custom loading indicator (shown when status is ",[121,325,221],{},").",{"title":119,"searchDepth":328,"depth":328,"links":329},2,[330,331,332,336],{"id":111,"depth":328,"text":16},{"id":125,"depth":328,"text":126},{"id":137,"depth":328,"text":138,"children":333},[334],{"id":142,"depth":335,"text":143},3,{"id":148,"depth":328,"text":149,"children":337},[338,339],{"id":152,"depth":335,"text":153},{"id":280,"depth":335,"text":281},"md",{},true,{"title":34,"description":50},"nIXxp8hB-jtLKFJklEerxoAHtBFAD1mjD71of_gpkug",[346,347],{"title":30,"path":31,"stem":32,"children":-1},{"title":38,"path":39,"stem":40,"children":-1},1777561254439]