[{"data":1,"prerenderedAt":669},["ShallowReactive",2],{"mobile-docs-navigation":3,"command-menu-docs":118,"navigation":171,"mobile-docs-page-meta":204,"docs-pages-category":235,"\u002Fdocs\u002Fcomponents\u002Ftestimonials":262,"surround-\u002Fdocs\u002Fcomponents\u002Ftestimonials":666},[4],{"title":5,"path":6,"stem":7,"children":8,"page":117},"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,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113],{"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},"PolaroidCard","\u002Fdocs\u002Fcomponents\u002Fpolaroid-card","docs\u002F2.components\u002F10.polaroid-card",{"title":34,"path":35,"stem":36},"FeatureCard","\u002Fdocs\u002Fcomponents\u002Ffeature-card","docs\u002F2.components\u002F11.feature-card",{"title":38,"path":39,"stem":40},"ChangelogTimeline","\u002Fdocs\u002Fcomponents\u002Fchangelog-timeline","docs\u002F2.components\u002F12.changelog-timeline",{"title":42,"path":43,"stem":44},"MetricsGrid","\u002Fdocs\u002Fcomponents\u002Fmetrics-grid","docs\u002F2.components\u002F13.metrics-grid",{"title":46,"path":47,"stem":48},"Testimonials","\u002Fdocs\u002Fcomponents\u002Ftestimonials","docs\u002F2.components\u002F13.testimonials",{"title":50,"path":51,"stem":52},"FeatureGrid","\u002Fdocs\u002Fcomponents\u002Ffeature-grid","docs\u002F2.components\u002F14.feature-grid",{"title":54,"path":55,"stem":56},"FaqTabs","\u002Fdocs\u002Fcomponents\u002Ffaq-tabs","docs\u002F2.components\u002F15.faq-tabs",{"title":58,"path":59,"stem":60},"BlogPostGrid","\u002Fdocs\u002Fcomponents\u002Fblog-post-grid","docs\u002F2.components\u002F16.blog-post-grid",{"title":62,"path":63,"stem":64},"FeatureSplit","\u002Fdocs\u002Fcomponents\u002Ffeature-split","docs\u002F2.components\u002F17.feature-split",{"title":66,"path":67,"stem":68},"FileAttachment","\u002Fdocs\u002Fcomponents\u002Ffile-attachment","docs\u002F2.components\u002F17.file-attachment",{"title":70,"path":71,"stem":72},"ModelPicker","\u002Fdocs\u002Fcomponents\u002Fmodel-picker","docs\u002F2.components\u002F17.model-picker",{"title":74,"path":75,"stem":76},"WorkExperience","\u002Fdocs\u002Fcomponents\u002Fwork-experience","docs\u002F2.components\u002F17.work-experience",{"title":78,"path":79,"stem":80},"ChatMessage","\u002Fdocs\u002Fcomponents\u002Fchat-message","docs\u002F2.components\u002F2.chat-message",{"title":82,"path":83,"stem":84},"ChatMessages","\u002Fdocs\u002Fcomponents\u002Fchat-messages","docs\u002F2.components\u002F3.chat-messages",{"title":86,"path":87,"stem":88},"ChatPrompt","\u002Fdocs\u002Fcomponents\u002Fchat-prompt","docs\u002F2.components\u002F4.chat-prompt",{"title":90,"path":91,"stem":92},"ChatPromptSubmit","\u002Fdocs\u002Fcomponents\u002Fchat-prompt-submit","docs\u002F2.components\u002F5.chat-prompt-submit",{"title":94,"path":95,"stem":96},"DocsSearchModal","\u002Fdocs\u002Fcomponents\u002Fdocs-search-modal","docs\u002F2.components\u002F6.docs-search-modal",{"title":98,"path":99,"stem":100},"PricingPlans","\u002Fdocs\u002Fcomponents\u002Fpricing-plans","docs\u002F2.components\u002F7.pricing-plans",{"title":102,"path":103,"stem":104},"PageToc","\u002Fdocs\u002Fcomponents\u002Fpage-toc","docs\u002F2.components\u002F8.page-toc",{"title":106,"path":107,"stem":108},"ReasoningDisclosure","\u002Fdocs\u002Fcomponents\u002Freasoning-disclosure","docs\u002F2.components\u002F8.reasoning-disclosure",{"title":110,"path":111,"stem":112},"DocsPager","\u002Fdocs\u002Fcomponents\u002Fdocs-pager","docs\u002F2.components\u002F9.docs-pager",{"title":114,"path":115,"stem":116},"HomeCta","\u002Fdocs\u002Fcomponents\u002Fhome-cta","docs\u002F2.components\u002F9.home-cta",false,[119,121,123,125,127,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169],{"path":59,"title":58,"description":120},"Render responsive blog and content teaser grids from display-ready post data.",{"path":39,"title":38,"description":122},"Render a release timeline from app-owned changelog data with optional rich body slots.",{"path":27,"title":26,"description":124},"Build Nuxt chat interfaces with installable shadcn-vue components you own and compose.",{"path":79,"title":78,"description":126},"Render an individual chat message bubble with AI SDK parts, actions, and layout control.",{"path":83,"title":82,"description":128},"Compose chat message lists with scrolling behavior, loading states, and action-ready assistant output.",{"path":87,"title":86,"description":130},"Build chat input flows with an auto-resizing prompt, keyboard shortcuts, and flexible slot composition.",{"path":91,"title":90,"description":132},"Handle chat submit, stop, and retry actions with a status-aware control for prompt workflows.",{"path":21,"title":20,"description":134},"Explore reusable components that complement Nuxt templates and real app workflows.",{"path":111,"title":110,"description":136},"Render previous and next documentation links from app-owned page data.",{"path":95,"title":94,"description":138},"Add a lightweight local search modal to Nuxt documentation interfaces.",{"path":55,"title":54,"description":140},"Render categorized FAQ sections while keeping answer content in your app.",{"path":35,"title":34,"description":142},"Render a reusable feature, content, or navigation card with optional link and icon slot.",{"path":51,"title":50,"description":144},"Render a complete feature section from app-owned feature data.",{"path":63,"title":62,"description":146},"Render alternating split feature sections with app-owned media and icon slots.",{"path":67,"title":66,"description":148},"Render display-only file attachment UI while your app owns upload behavior.",{"path":115,"title":114,"description":150},"Render a centered marketing CTA section with an integrated starfield background.",{"path":17,"title":16,"description":152},"Start from templates or install individual components in your Nuxt project.",{"path":11,"title":10,"description":154},"Stackhacker UI is an open-source collection of Nuxt templates and components for the shadcn-vue community.",{"path":43,"title":42,"description":156},"Render a responsive marketing metrics section from app-owned data.",{"path":71,"title":70,"description":158},"Render a controlled model selector from app-owned model\u002Fprovider data.",{"path":103,"title":102,"description":160},"Render an on-page table of contents from app-supplied heading links.",{"path":31,"title":30,"description":162},"Render a tilted photo card with app-owned image data and explicit presentation controls.",{"path":99,"title":98,"description":164},"Render a responsive pricing plan section from app-owned data.",{"path":107,"title":106,"description":166},"Show app-owned AI reasoning text in a compact collapsible disclosure.",{"path":47,"title":46,"description":168},"Render a responsive social-proof section from app-owned testimonial data.",{"path":75,"title":74,"description":170},"Render compact work-history and resume lists from app-owned experience data.",[172],{"title":5,"path":6,"stem":7,"children":173,"page":117},[174,178],{"title":10,"path":11,"stem":12,"children":175},[176,177],{"title":10,"path":11,"stem":12},{"title":16,"path":17,"stem":18},{"title":20,"path":21,"stem":22,"children":179},[180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203],{"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},{"title":46,"path":47,"stem":48},{"title":50,"path":51,"stem":52},{"title":54,"path":55,"stem":56},{"title":58,"path":59,"stem":60},{"title":62,"path":63,"stem":64},{"title":66,"path":67,"stem":68},{"title":70,"path":71,"stem":72},{"title":74,"path":75,"stem":76},{"title":78,"path":79,"stem":80},{"title":82,"path":83,"stem":84},{"title":86,"path":87,"stem":88},{"title":90,"path":91,"stem":92},{"title":94,"path":95,"stem":96},{"title":98,"path":99,"stem":100},{"title":102,"path":103,"stem":104},{"title":106,"path":107,"stem":108},{"title":110,"path":111,"stem":112},{"title":114,"path":115,"stem":116},[205,207,208,209,211,213,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234],{"path":11,"category":206},"overview",{"path":17,"category":206},{"path":21,"category":206},{"path":27,"category":210},"chat",{"path":31,"category":212},"content",{"path":35,"category":214},"marketing",{"path":39,"category":212},{"path":43,"category":214},{"path":47,"category":214},{"path":51,"category":214},{"path":55,"category":214},{"path":59,"category":212},{"path":63,"category":214},{"path":67,"category":210},{"path":71,"category":210},{"path":75,"category":212},{"path":79,"category":210},{"path":83,"category":210},{"path":87,"category":210},{"path":91,"category":210},{"path":95,"category":212},{"path":99,"category":214},{"path":103,"category":212},{"path":107,"category":210},{"path":111,"category":212},{"path":115,"category":214},[236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261],{"path":11,"category":206},{"path":17,"category":206},{"path":21,"category":206},{"path":27,"category":210},{"path":31,"category":212},{"path":35,"category":214},{"path":39,"category":212},{"path":43,"category":214},{"path":47,"category":214},{"path":51,"category":214},{"path":55,"category":214},{"path":59,"category":212},{"path":63,"category":214},{"path":67,"category":210},{"path":71,"category":210},{"path":75,"category":212},{"path":79,"category":210},{"path":83,"category":210},{"path":87,"category":210},{"path":91,"category":210},{"path":95,"category":212},{"path":99,"category":214},{"path":103,"category":212},{"path":107,"category":210},{"path":111,"category":212},{"path":115,"category":214},{"id":263,"title":46,"body":264,"category":214,"description":168,"extension":661,"meta":662,"navigation":663,"path":47,"seo":664,"stem":48,"__hash__":665},"docs\u002Fdocs\u002F2.components\u002F13.testimonials.md",{"type":265,"value":266,"toc":644},"minimark",[267,271,275,286,290,298,302,308,311,315,320,322,326,329,335,339,343,445,449,507,511,584,588],[268,269],"component-preview",{"name":270},"TestimonialsDemo",[272,273,16],"h2",{"id":274},"installation",[276,277,283],"pre",{"className":278,"code":280,"language":281,"meta":282},[279],"language-bash","npx shadcn-vue@latest add \"https:\u002F\u002Fui.stackhacker.io\u002Fr\u002Ftestimonials.json\"\n","bash","",[284,285,280],"code",{"__ignoreMap":282},[272,287,289],{"id":288},"usage","Usage",[276,291,296],{"className":292,"code":294,"language":295,"meta":282},[293],"language-vue","\u003Cscript setup lang=\"ts\">\nimport { Testimonials, type TestimonialItem } from \"@\u002Fcomponents\u002Ftestimonials\";\n\nconst testimonials: TestimonialItem[] = [\n  {\n    id: \"sarah-chen\",\n    quote: \"The redesign reduced support tickets and made onboarding feel effortless.\",\n    author: {\n      name: \"Sarah Chen\",\n      role: \"Product Director, Bloom Finance\",\n      avatar: {\n        src: \"\u002Favatars\u002Fsarah.jpg\",\n        alt: \"Sarah Chen\",\n      },\n    },\n  },\n];\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTestimonials :items=\"testimonials\" \u002F>\n\u003C\u002Ftemplate>\n","vue",[284,297,294],{"__ignoreMap":282},[272,299,301],{"id":300},"app-owned-testimonials","App-Owned Testimonials",[303,304,305,307],"p",{},[284,306,46],{}," owns the section layout, quote cards, accessible author rendering, and simple avatar fallback. Your app owns testimonial collection, moderation, ordering, source mapping, avatar storage, image optimization, carousel behavior, analytics, and any CMS or API integration.",[303,309,310],{},"Pass already-approved, display-ready testimonial items to the component. Keep remote fetching, caching, personalization, and rotation logic in app code so the registry item remains portable.",[272,312,314],{"id":313},"examples","Examples",[316,317,319],"h3",{"id":318},"default","Default",[268,321],{"name":270},[316,323,325],{"id":324},"without-avatars","Without Avatars",[268,327],{"name":328},"TestimonialsFallbackDemo",[276,330,333],{"className":331,"code":332,"language":295,"meta":282},[293],"\u003CTestimonials\n  :items=\"[\n    {\n      id: 'no-avatar',\n      quote: 'The component still renders author identity clearly without an image.',\n      author: { name: 'Jordan Lee', role: 'Founder, Northstar Labs' },\n    },\n  ]\"\n\u002F>\n",[284,334,332],{"__ignoreMap":282},[272,336,338],{"id":337},"api-reference","API Reference",[316,340,342],{"id":341},"props","Props",[344,345,346,364],"table",{},[347,348,349],"thead",{},[350,351,352,356,359,361],"tr",{},[353,354,355],"th",{},"Prop",[353,357,358],{},"Type",[353,360,319],{},[353,362,363],{},"Description",[365,366,367,388,407,427],"tbody",{},[350,368,369,375,380,385],{},[370,371,372],"td",{},[284,373,374],{},"title",[370,376,377],{},[284,378,379],{},"string",[370,381,382],{},[284,383,384],{},"\"What our customers say\"",[370,386,387],{},"Section heading shown above the testimonials.",[350,389,390,395,399,404],{},[370,391,392],{},[284,393,394],{},"description",[370,396,397],{},[284,398,379],{},[370,400,401],{},[284,402,403],{},"\"Real feedback from teams using this product to move faster.\"",[370,405,406],{},"Optional supporting copy shown below the title.",[350,408,409,414,419,424],{},[370,410,411],{},[284,412,413],{},"items",[370,415,416],{},[284,417,418],{},"TestimonialItem[]",[370,420,421],{},[284,422,423],{},"[]",[370,425,426],{},"Testimonials supplied by your app.",[350,428,429,434,439,442],{},[370,430,431],{},[284,432,433],{},"class",[370,435,436],{},[284,437,438],{},"HTMLAttributes[\"class\"]",[370,440,441],{},"—",[370,443,444],{},"Additional CSS classes for the section.",[316,446,448],{"id":447},"item-type","Item Type",[344,450,451,462],{},[347,452,453],{},[350,454,455,458,460],{},[353,456,457],{},"Field",[353,459,358],{},[353,461,363],{},[365,463,464,478,492],{},[350,465,466,471,475],{},[370,467,468],{},[284,469,470],{},"id",[370,472,473],{},[284,474,379],{},[370,476,477],{},"Stable item id. Falls back to author name plus index when omitted.",[350,479,480,485,489],{},[370,481,482],{},[284,483,484],{},"quote",[370,486,487],{},[284,488,379],{},[370,490,491],{},"Testimonial quote text.",[350,493,494,499,504],{},[370,495,496],{},[284,497,498],{},"author",[370,500,501],{},[284,502,503],{},"TestimonialAuthor",[370,505,506],{},"Person or organization credited for the quote.",[316,508,510],{"id":509},"author-type","Author Type",[344,512,513,523],{},[347,514,515],{},[350,516,517,519,521],{},[353,518,457],{},[353,520,358],{},[353,522,363],{},[365,524,525,539,553,569],{},[350,526,527,532,536],{},[370,528,529],{},[284,530,531],{},"name",[370,533,534],{},[284,535,379],{},[370,537,538],{},"Author display name.",[350,540,541,546,550],{},[370,542,543],{},[284,544,545],{},"role",[370,547,548],{},[284,549,379],{},[370,551,552],{},"Optional role, company, or byline.",[350,554,555,559,563],{},[370,556,557],{},[284,558,394],{},[370,560,561],{},[284,562,379],{},[370,564,565,566,568],{},"Optional legacy-friendly byline. Used when ",[284,567,545],{}," is omitted.",[350,570,571,576,581],{},[370,572,573],{},[284,574,575],{},"avatar",[370,577,578],{},[284,579,580],{},"TestimonialAvatar",[370,582,583],{},"Optional avatar image supplied by your app.",[316,585,587],{"id":586},"avatar-type","Avatar Type",[344,589,590,600],{},[347,591,592],{},[350,593,594,596,598],{},[353,595,457],{},[353,597,358],{},[353,599,363],{},[365,601,602,616,630],{},[350,603,604,609,613],{},[370,605,606],{},[284,607,608],{},"src",[370,610,611],{},[284,612,379],{},[370,614,615],{},"Avatar image source.",[350,617,618,623,627],{},[370,619,620],{},[284,621,622],{},"alt",[370,624,625],{},[284,626,379],{},[370,628,629],{},"Optional alt text. Falls back to author name.",[350,631,632,637,641],{},[370,633,634],{},[284,635,636],{},"srcset",[370,638,639],{},[284,640,379],{},[370,642,643],{},"Optional responsive source set.",{"title":282,"searchDepth":645,"depth":645,"links":646},2,[647,648,649,650,655],{"id":274,"depth":645,"text":16},{"id":288,"depth":645,"text":289},{"id":300,"depth":645,"text":301},{"id":313,"depth":645,"text":314,"children":651},[652,654],{"id":318,"depth":653,"text":319},3,{"id":324,"depth":653,"text":325},{"id":337,"depth":645,"text":338,"children":656},[657,658,659,660],{"id":341,"depth":653,"text":342},{"id":447,"depth":653,"text":448},{"id":509,"depth":653,"text":510},{"id":586,"depth":653,"text":587},"md",{},true,{"title":46,"description":168},"ABbqj7BLr_zlV2RQGS7AacxKgG5Bj2y7Cz-jweaRtq8",[667,668],{"title":42,"path":43,"stem":44,"children":-1},{"title":50,"path":51,"stem":52,"children":-1},1782622537049]