[{"data":1,"prerenderedAt":431},["ShallowReactive",2],{"mobile-docs-navigation":3,"command-menu-docs":46,"navigation":63,"mobile-docs-page-meta":78,"docs-pages-category":89,"\u002Fdocs\u002Fcomponents\u002Fchat-prompt":98,"surround-\u002Fdocs\u002Fcomponents\u002Fchat-prompt":428},[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},"Chat","\u002Fdocs\u002Fcomponents\u002Fchat","docs\u002F2.components\u002F1.chat",{"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":27,"title":26,"description":48},"Build Nuxt chat interfaces with installable shadcn-vue components you own and compose.",{"path":31,"title":30,"description":50},"Render an individual chat message bubble with AI SDK parts, actions, and layout control.",{"path":35,"title":34,"description":52},"Compose chat message lists with scrolling behavior, loading states, and action-ready assistant output.",{"path":39,"title":38,"description":54},"Build chat input flows with an auto-resizing prompt, keyboard shortcuts, and flexible slot composition.",{"path":43,"title":42,"description":56},"Handle chat submit, stop, and retry actions with a status-aware control for prompt workflows.",{"path":21,"title":20,"description":58},"Explore reusable components that complement Nuxt templates and real app workflows.",{"path":17,"title":16,"description":60},"Start from templates or install individual components in your Nuxt project.",{"path":11,"title":10,"description":62},"Stackhacker UI is an open-source collection of Nuxt templates and components for the shadcn-vue community.",[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,86,87,88],{"path":11,"category":80},"overview",{"path":17,"category":80},{"path":21,"category":80},{"path":27,"category":84},"chat",{"path":31,"category":84},{"path":35,"category":84},{"path":39,"category":84},{"path":43,"category":84},[90,91,92,93,94,95,96,97],{"path":11,"category":80},{"path":17,"category":80},{"path":21,"category":80},{"path":27,"category":84},{"path":31,"category":84},{"path":35,"category":84},{"path":39,"category":84},{"path":43,"category":84},{"id":99,"title":38,"body":100,"category":84,"description":54,"extension":423,"meta":424,"navigation":425,"path":39,"seo":426,"stem":40,"__hash__":427},"docs\u002Fdocs\u002F2.components\u002F4.chat-prompt.md",{"type":101,"value":102,"toc":408},"minimark",[103,107,111,122,126,134,138,143,145,149,153,289,293,337,341,374,378],[104,105],"component-preview",{"name":106},"ChatPromptDemo",[108,109,16],"h2",{"id":110},"installation",[112,113,119],"pre",{"className":114,"code":116,"language":117,"meta":118},[115],"language-bash","npx shadcn-vue@latest add \"https:\u002F\u002Fui.stackhacker.io\u002Fr\u002Fchat-prompt.json\"\n","bash","",[120,121,116],"code",{"__ignoreMap":118},[108,123,125],{"id":124},"usage","Usage",[112,127,132],{"className":128,"code":130,"language":131,"meta":118},[129],"language-vue","\u003Cscript setup lang=\"ts\">\nimport { ChatPrompt } from '@\u002Fcomponents\u002Fchat-prompt'\n\nconst input = ref('')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CChatPrompt v-model=\"input\" @submit=\"handleSubmit\" \u002F>\n\u003C\u002Ftemplate>\n","vue",[120,133,130],{"__ignoreMap":118},[108,135,137],{"id":136},"examples","Examples",[139,140,142],"h3",{"id":141},"default","Default",[104,144],{"name":106},[108,146,148],{"id":147},"api-reference","API Reference",[139,150,152],{"id":151},"props","Props",[154,155,156,174],"table",{},[157,158,159],"thead",{},[160,161,162,166,169,171],"tr",{},[163,164,165],"th",{},"Prop",[163,167,168],{},"Type",[163,170,142],{},[163,172,173],{},"Description",[175,176,177,198,217,237,255,273],"tbody",{},[160,178,179,185,190,195],{},[180,181,182],"td",{},[120,183,184],{},"modelValue",[180,186,187],{},[120,188,189],{},"string",[180,191,192],{},[120,193,194],{},"''",[180,196,197],{},"Current input value (v-model).",[160,199,200,205,209,214],{},[180,201,202],{},[120,203,204],{},"placeholder",[180,206,207],{},[120,208,189],{},[180,210,211],{},[120,212,213],{},"'Type your message here...'",[180,215,216],{},"Textarea placeholder text.",[160,218,219,224,229,234],{},[180,220,221],{},[120,222,223],{},"disabled",[180,225,226],{},[120,227,228],{},"boolean",[180,230,231],{},[120,232,233],{},"false",[180,235,236],{},"Disable the prompt.",[160,238,239,244,248,252],{},[180,240,241],{},[120,242,243],{},"autofocus",[180,245,246],{},[120,247,228],{},[180,249,250],{},[120,251,233],{},[180,253,254],{},"Auto-focus the textarea on mount.",[160,256,257,262,267,270],{},[180,258,259],{},[120,260,261],{},"error",[180,263,264],{},[120,265,266],{},"Error | null",[180,268,269],{},"—",[180,271,272],{},"Error state.",[160,274,275,280,284,286],{},[180,276,277],{},[120,278,279],{},"class",[180,281,282],{},[120,283,189],{},[180,285,269],{},[180,287,288],{},"Additional CSS classes.",[139,290,292],{"id":291},"emits","Emits",[154,294,295,307],{},[157,296,297],{},[160,298,299,302,305],{},[163,300,301],{},"Event",[163,303,304],{},"Payload",[163,306,173],{},[175,308,309,323],{},[160,310,311,316,320],{},[180,312,313],{},[120,314,315],{},"update:modelValue",[180,317,318],{},[120,319,189],{},[180,321,322],{},"Emitted when the input value changes.",[160,324,325,330,334],{},[180,326,327],{},[120,328,329],{},"submit",[180,331,332],{},[120,333,301],{},[180,335,336],{},"Emitted when Enter is pressed (without Shift) or the form is submitted.",[139,338,340],{"id":339},"slots","Slots",[154,342,343,352],{},[157,344,345],{},[160,346,347,350],{},[163,348,349],{},"Slot",[163,351,173],{},[175,353,354,364],{},[160,355,356,361],{},[180,357,358],{},[120,359,360],{},"header",[180,362,363],{},"Content rendered above the textarea.",[160,365,366,371],{},[180,367,368],{},[120,369,370],{},"footer",[180,372,373],{},"Content rendered below the textarea, typically for action buttons.",[139,375,377],{"id":376},"expose","Expose",[154,379,380,391],{},[157,381,382],{},[160,383,384,387,389],{},[163,385,386],{},"Name",[163,388,168],{},[163,390,173],{},[175,392,393],{},[160,394,395,400,405],{},[180,396,397],{},[120,398,399],{},"textareaRef",[180,401,402],{},[120,403,404],{},"Ref\u003CHTMLTextAreaElement>",[180,406,407],{},"Reference to the underlying textarea element.",{"title":118,"searchDepth":409,"depth":409,"links":410},2,[411,412,413,417],{"id":110,"depth":409,"text":16},{"id":124,"depth":409,"text":125},{"id":136,"depth":409,"text":137,"children":414},[415],{"id":141,"depth":416,"text":142},3,{"id":147,"depth":409,"text":148,"children":418},[419,420,421,422],{"id":151,"depth":416,"text":152},{"id":291,"depth":416,"text":292},{"id":339,"depth":416,"text":340},{"id":376,"depth":416,"text":377},"md",{},true,{"title":38,"description":54},"uRbFfCuV9ADf1LPMURN5JfdEjj61jT-VckhUeWWatK0",[429,430],{"title":34,"path":35,"stem":36,"children":-1},{"title":42,"path":43,"stem":44,"children":-1},1782298911284]