[{"data":1,"prerenderedAt":1632},["ShallowReactive",2],{"navigation":3,"-getting-started-contribution":576,"-getting-started-contribution-surround":1620,"-getting-started-contribution-description":1621},[4,103,121],{"title":5,"path":6,"stem":7,"children":8,"framework":11,"module":11,"icon":24},"Getting Started","/getting-started","1.getting-started/1.index",[9,13,42,46,51,63,68,80,93,98],{"title":10,"path":6,"stem":7,"framework":11,"module":11,"icon":12},"Introduction",null,"i-lucide-house",{"title":14,"framework":11,"module":11,"shadow":15,"path":16,"stem":17,"children":18,"page":41},"Installation",true,"/getting-started/installation","1.getting-started/2.installation",[19,25,29],{"title":14,"path":20,"stem":21,"framework":22,"module":23,"icon":24},"/getting-started/installation/nuxt","1.getting-started/2.installation/1.nuxt","nuxt","ui","i-lucide-square-play",{"title":14,"path":26,"stem":27,"framework":28,"module":23,"icon":24},"/getting-started/installation/vue","1.getting-started/2.installation/2.vue","vue",{"title":30,"framework":11,"module":11,"shadow":15,"path":31,"stem":32,"children":33,"page":41},"Pro","/getting-started/installation/pro","1.getting-started/2.installation/pro",[34,38],{"title":14,"path":35,"stem":36,"framework":22,"module":37,"icon":24},"/getting-started/installation/pro/nuxt","1.getting-started/2.installation/pro/1.nuxt","ui-pro",{"title":14,"path":39,"stem":40,"framework":28,"module":37,"icon":24},"/getting-started/installation/pro/vue","1.getting-started/2.installation/pro/2.vue",false,{"title":43,"path":44,"stem":45,"framework":11,"module":11},"Migration","/getting-started/migration","1.getting-started/2.migration",{"title":47,"path":48,"stem":49,"framework":11,"module":11,"icon":50},"Theme","/getting-started/theme","1.getting-started/3.theme","i-lucide-swatch-book",{"title":52,"framework":11,"module":11,"shadow":15,"path":53,"stem":54,"children":55,"page":41},"Icons","/getting-started/icons","1.getting-started/4.icons",[56,60],{"title":52,"path":57,"stem":58,"framework":22,"module":11,"icon":59},"/getting-started/icons/nuxt","1.getting-started/4.icons/1.nuxt","i-lucide-smile",{"title":52,"path":61,"stem":62,"framework":28,"module":11,"icon":59},"/getting-started/icons/vue","1.getting-started/4.icons/2.vue",{"title":64,"path":65,"stem":66,"framework":22,"module":11,"icon":67},"Fonts","/getting-started/fonts","1.getting-started/5.fonts","i-lucide-a-large-small",{"title":69,"framework":11,"module":11,"shadow":15,"path":70,"stem":71,"children":72,"page":41},"Color Mode","/getting-started/color-mode","1.getting-started/6.color-mode",[73,77],{"title":69,"path":74,"stem":75,"framework":22,"module":11,"icon":76},"/getting-started/color-mode/nuxt","1.getting-started/6.color-mode/1.nuxt","i-lucide-sun-moon",{"title":69,"path":78,"stem":79,"framework":28,"module":11,"icon":76},"/getting-started/color-mode/vue","1.getting-started/6.color-mode/2.vue",{"title":81,"framework":11,"module":11,"shadow":15,"path":82,"stem":83,"children":84,"page":41},"I18n","/getting-started/i18n","1.getting-started/7.i18n",[85,90],{"title":86,"path":87,"stem":88,"framework":22,"module":11,"icon":89},"Internationalization (i18n)","/getting-started/i18n/nuxt","1.getting-started/7.i18n/1.nuxt","i-lucide-languages",{"title":86,"path":91,"stem":92,"framework":28,"module":11,"icon":89},"/getting-started/i18n/vue","1.getting-started/7.i18n/2.vue",{"title":94,"path":95,"stem":96,"framework":22,"module":37,"icon":97},"Content","/getting-started/content","1.getting-started/8.content","i-simple-icons-markdown",{"title":99,"path":100,"stem":101,"framework":22,"module":37,"icon":102},"Typography","/getting-started/typography","1.getting-started/9.typography","i-lucide-type",{"title":104,"framework":11,"module":11,"icon":105,"path":106,"stem":107,"children":108,"page":41},"Composables","i-lucide-square-function","/composables","2.composables",[109,113,117],{"title":110,"path":111,"stem":112,"framework":11,"module":11},"defineShortcuts","/composables/define-shortcuts","2.composables/define-shortcuts",{"title":114,"path":115,"stem":116,"framework":11,"module":11},"useOverlay","/composables/use-overlay","2.composables/use-overlay",{"title":118,"path":119,"stem":120,"framework":11,"module":11},"useToast","/composables/use-toast","2.composables/use-toast",{"title":122,"framework":11,"module":11,"icon":123,"path":124,"stem":125,"children":126,"page":41},"Components","i-lucide-square-code","/components","3.components",[127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,348,352,356,360,364,368,372,376,380,384,388,392,396,400,404,408,412,416,420,424,428,432,436,440,444,448,452,456,460,464,468,472,476,480,484,488,492,496,500,504,508,512,516,520,524,528,532,536,540,544,548,552,556,560,564,568,572],{"title":128,"path":129,"stem":130,"framework":11,"module":11},"App","/components/app","3.components/0.app",{"title":132,"path":133,"stem":134,"framework":11,"module":11},"Accordion","/components/accordion","3.components/accordion",{"title":136,"path":137,"stem":138,"framework":11,"module":11},"Alert","/components/alert","3.components/alert",{"title":140,"path":141,"stem":142,"framework":11,"module":37},"AuthForm","/components/auth-form","3.components/auth-form",{"title":144,"path":145,"stem":146,"framework":11,"module":11},"Avatar","/components/avatar","3.components/avatar",{"title":148,"path":149,"stem":150,"framework":11,"module":11},"AvatarGroup","/components/avatar-group","3.components/avatar-group",{"title":152,"path":153,"stem":154,"framework":11,"module":11},"Badge","/components/badge","3.components/badge",{"title":156,"path":157,"stem":158,"framework":11,"module":37},"Banner","/components/banner","3.components/banner",{"title":160,"path":161,"stem":162,"framework":11,"module":37},"BlogPost","/components/blog-post","3.components/blog-post",{"title":164,"path":165,"stem":166,"framework":11,"module":37},"BlogPosts","/components/blog-posts","3.components/blog-posts",{"title":168,"path":169,"stem":170,"framework":11,"module":11},"Breadcrumb","/components/breadcrumb","3.components/breadcrumb",{"title":172,"path":173,"stem":174,"framework":11,"module":11},"Button","/components/button","3.components/button",{"title":176,"path":177,"stem":178,"framework":11,"module":11},"ButtonGroup","/components/button-group","3.components/button-group",{"title":180,"path":181,"stem":182,"framework":11,"module":11},"Calendar","/components/calendar","3.components/calendar",{"title":184,"path":185,"stem":186,"framework":11,"module":11},"Card","/components/card","3.components/card",{"title":188,"path":189,"stem":190,"framework":11,"module":11},"Carousel","/components/carousel","3.components/carousel",{"title":192,"path":193,"stem":194,"framework":11,"module":37},"ChangelogVersion","/components/changelog-version","3.components/changelog-version",{"title":196,"path":197,"stem":198,"framework":11,"module":37},"ChangelogVersions","/components/changelog-versions","3.components/changelog-versions",{"title":200,"path":201,"stem":202,"framework":11,"module":37},"ChatMessage","/components/chat-message","3.components/chat-message",{"title":204,"path":205,"stem":206,"framework":11,"module":37},"ChatMessages","/components/chat-messages","3.components/chat-messages",{"title":208,"path":209,"stem":210,"framework":11,"module":37},"ChatPalette","/components/chat-palette","3.components/chat-palette",{"title":212,"path":213,"stem":214,"framework":11,"module":37},"ChatPrompt","/components/chat-prompt","3.components/chat-prompt",{"title":216,"path":217,"stem":218,"framework":11,"module":37},"ChatPromptSubmit","/components/chat-prompt-submit","3.components/chat-prompt-submit",{"title":220,"path":221,"stem":222,"framework":11,"module":11},"Checkbox","/components/checkbox","3.components/checkbox",{"title":224,"path":225,"stem":226,"framework":11,"module":11},"CheckboxGroup","/components/checkbox-group","3.components/checkbox-group",{"title":228,"path":229,"stem":230,"framework":11,"module":11},"Chip","/components/chip","3.components/chip",{"title":232,"path":233,"stem":234,"framework":11,"module":11},"Collapsible","/components/collapsible","3.components/collapsible",{"title":236,"path":237,"stem":238,"framework":11,"module":37},"ColorModeAvatar","/components/color-mode-avatar","3.components/color-mode-avatar",{"title":240,"path":241,"stem":242,"framework":11,"module":37},"ColorModeButton","/components/color-mode-button","3.components/color-mode-button",{"title":244,"path":245,"stem":246,"framework":11,"module":37},"ColorModeImage","/components/color-mode-image","3.components/color-mode-image",{"title":248,"path":249,"stem":250,"framework":11,"module":37},"ColorModeSelect","/components/color-mode-select","3.components/color-mode-select",{"title":252,"path":253,"stem":254,"framework":11,"module":37},"ColorModeSwitch","/components/color-mode-switch","3.components/color-mode-switch",{"title":256,"path":257,"stem":258,"framework":11,"module":11},"ColorPicker","/components/color-picker","3.components/color-picker",{"title":260,"path":261,"stem":262,"framework":11,"module":11},"CommandPalette","/components/command-palette","3.components/command-palette",{"title":264,"path":265,"stem":266,"framework":11,"module":11},"Container","/components/container","3.components/container",{"title":268,"path":269,"stem":270,"framework":22,"module":37},"ContentNavigation","/components/content-navigation","3.components/content-navigation",{"title":272,"path":273,"stem":274,"framework":22,"module":37},"ContentSearch","/components/content-search","3.components/content-search",{"title":276,"path":277,"stem":278,"framework":22,"module":37},"ContentSearchButton","/components/content-search-button","3.components/content-search-button",{"title":280,"path":281,"stem":282,"framework":22,"module":37},"ContentSurround","/components/content-surround","3.components/content-surround",{"title":284,"path":285,"stem":286,"framework":22,"module":37},"ContentToc","/components/content-toc","3.components/content-toc",{"title":288,"path":289,"stem":290,"framework":11,"module":11},"ContextMenu","/components/context-menu","3.components/context-menu",{"title":292,"path":293,"stem":294,"framework":11,"module":37},"DashboardGroup","/components/dashboard-group","3.components/dashboard-group",{"title":296,"path":297,"stem":298,"framework":11,"module":37},"DashboardNavbar","/components/dashboard-navbar","3.components/dashboard-navbar",{"title":300,"path":301,"stem":302,"framework":11,"module":37},"DashboardPanel","/components/dashboard-panel","3.components/dashboard-panel",{"title":304,"path":305,"stem":306,"framework":11,"module":37},"DashboardResizeHandle","/components/dashboard-resize-handle","3.components/dashboard-resize-handle",{"title":308,"path":309,"stem":310,"framework":11,"module":37},"DashboardSearch","/components/dashboard-search","3.components/dashboard-search",{"title":312,"path":313,"stem":314,"framework":11,"module":37},"DashboardSearchButton","/components/dashboard-search-button","3.components/dashboard-search-button",{"title":316,"path":317,"stem":318,"framework":11,"module":37},"DashboardSidebar","/components/dashboard-sidebar","3.components/dashboard-sidebar",{"title":320,"path":321,"stem":322,"framework":11,"module":37},"DashboardSidebarCollapse","/components/dashboard-sidebar-collapse","3.components/dashboard-sidebar-collapse",{"title":324,"path":325,"stem":326,"framework":11,"module":37},"DashboardSidebarToggle","/components/dashboard-sidebar-toggle","3.components/dashboard-sidebar-toggle",{"title":328,"path":329,"stem":330,"framework":11,"module":37},"DashboardToolbar","/components/dashboard-toolbar","3.components/dashboard-toolbar",{"title":332,"path":333,"stem":334,"framework":11,"module":11},"Drawer","/components/drawer","3.components/drawer",{"title":336,"path":337,"stem":338,"framework":11,"module":11},"DropdownMenu","/components/dropdown-menu","3.components/dropdown-menu",{"title":340,"path":341,"stem":342,"framework":11,"module":37},"Error","/components/error","3.components/error",{"title":344,"path":345,"stem":346,"framework":11,"module":11,"badge":347},"FileUpload","/components/file-upload","3.components/file-upload","New",{"title":349,"path":350,"stem":351,"framework":11,"module":37},"Footer","/components/footer","3.components/footer",{"title":353,"path":354,"stem":355,"framework":11,"module":37},"FooterColumns","/components/footer-columns","3.components/footer-columns",{"title":357,"path":358,"stem":359,"framework":11,"module":11},"Form","/components/form","3.components/form",{"title":361,"path":362,"stem":363,"framework":11,"module":11},"FormField","/components/form-field","3.components/form-field",{"title":365,"path":366,"stem":367,"framework":11,"module":37},"Header","/components/header","3.components/header",{"title":369,"path":370,"stem":371,"framework":11,"module":11},"Icon","/components/icon","3.components/icon",{"title":373,"path":374,"stem":375,"framework":11,"module":11},"Input","/components/input","3.components/input",{"title":377,"path":378,"stem":379,"framework":11,"module":11},"InputMenu","/components/input-menu","3.components/input-menu",{"title":381,"path":382,"stem":383,"framework":11,"module":11},"InputNumber","/components/input-number","3.components/input-number",{"title":385,"path":386,"stem":387,"framework":11,"module":11},"InputTags","/components/input-tags","3.components/input-tags",{"title":389,"path":390,"stem":391,"framework":11,"module":11},"Kbd","/components/kbd","3.components/kbd",{"title":393,"path":394,"stem":395,"framework":11,"module":11},"Link","/components/link","3.components/link",{"title":397,"path":398,"stem":399,"framework":11,"module":37},"LocaleSelect","/components/locale-select","3.components/locale-select",{"title":401,"path":402,"stem":403,"framework":11,"module":37},"Main","/components/main","3.components/main",{"title":405,"path":406,"stem":407,"framework":11,"module":11},"Modal","/components/modal","3.components/modal",{"title":409,"path":410,"stem":411,"framework":11,"module":11},"NavigationMenu","/components/navigation-menu","3.components/navigation-menu",{"title":413,"path":414,"stem":415,"framework":11,"module":37},"Page","/components/page","3.components/page",{"title":417,"path":418,"stem":419,"framework":11,"module":37},"PageAccordion","/components/page-accordion","3.components/page-accordion",{"title":421,"path":422,"stem":423,"framework":11,"module":37},"PageAnchors","/components/page-anchors","3.components/page-anchors",{"title":425,"path":426,"stem":427,"framework":11,"module":37},"PageAside","/components/page-aside","3.components/page-aside",{"title":429,"path":430,"stem":431,"framework":11,"module":37},"PageBody","/components/page-body","3.components/page-body",{"title":433,"path":434,"stem":435,"framework":11,"module":37},"PageCard","/components/page-card","3.components/page-card",{"title":437,"path":438,"stem":439,"framework":11,"module":37},"PageColumns","/components/page-columns","3.components/page-columns",{"title":441,"path":442,"stem":443,"framework":11,"module":37},"PageCTA","/components/page-cta","3.components/page-cta",{"title":445,"path":446,"stem":447,"framework":11,"module":37},"PageFeature","/components/page-feature","3.components/page-feature",{"title":449,"path":450,"stem":451,"framework":11,"module":37},"PageGrid","/components/page-grid","3.components/page-grid",{"title":453,"path":454,"stem":455,"framework":11,"module":37},"PageHeader","/components/page-header","3.components/page-header",{"title":457,"path":458,"stem":459,"framework":11,"module":37},"PageHero","/components/page-hero","3.components/page-hero",{"title":461,"path":462,"stem":463,"framework":11,"module":37},"PageLinks","/components/page-links","3.components/page-links",{"title":465,"path":466,"stem":467,"framework":11,"module":37},"PageList","/components/page-list","3.components/page-list",{"title":469,"path":470,"stem":471,"framework":11,"module":37},"PageLogos","/components/page-logos","3.components/page-logos",{"title":473,"path":474,"stem":475,"framework":11,"module":37},"PageMarquee","/components/page-marquee","3.components/page-marquee",{"title":477,"path":478,"stem":479,"framework":11,"module":37},"PageSection","/components/page-section","3.components/page-section",{"title":481,"path":482,"stem":483,"framework":11,"module":11},"Pagination","/components/pagination","3.components/pagination",{"title":485,"path":486,"stem":487,"framework":11,"module":11},"PinInput","/components/pin-input","3.components/pin-input",{"title":489,"path":490,"stem":491,"framework":11,"module":11},"Popover","/components/popover","3.components/popover",{"title":493,"path":494,"stem":495,"framework":11,"module":37},"PricingPlan","/components/pricing-plan","3.components/pricing-plan",{"title":497,"path":498,"stem":499,"framework":11,"module":37},"PricingPlans","/components/pricing-plans","3.components/pricing-plans",{"title":501,"path":502,"stem":503,"framework":11,"module":37},"PricingTable","/components/pricing-table","3.components/pricing-table",{"title":505,"path":506,"stem":507,"framework":11,"module":11},"Progress","/components/progress","3.components/progress",{"title":509,"path":510,"stem":511,"framework":11,"module":11},"RadioGroup","/components/radio-group","3.components/radio-group",{"title":513,"path":514,"stem":515,"framework":11,"module":11},"Select","/components/select","3.components/select",{"title":517,"path":518,"stem":519,"framework":11,"module":11},"SelectMenu","/components/select-menu","3.components/select-menu",{"title":521,"path":522,"stem":523,"framework":11,"module":11},"Separator","/components/separator","3.components/separator",{"title":525,"path":526,"stem":527,"framework":11,"module":11},"Skeleton","/components/skeleton","3.components/skeleton",{"title":529,"path":530,"stem":531,"framework":11,"module":11},"Slideover","/components/slideover","3.components/slideover",{"title":533,"path":534,"stem":535,"framework":11,"module":11},"Slider","/components/slider","3.components/slider",{"title":537,"path":538,"stem":539,"framework":11,"module":11},"Stepper","/components/stepper","3.components/stepper",{"title":541,"path":542,"stem":543,"framework":11,"module":11},"Switch","/components/switch","3.components/switch",{"title":545,"path":546,"stem":547,"framework":11,"module":11},"Table","/components/table","3.components/table",{"title":549,"path":550,"stem":551,"framework":11,"module":11},"Tabs","/components/tabs","3.components/tabs",{"title":553,"path":554,"stem":555,"framework":11,"module":11},"Textarea","/components/textarea","3.components/textarea",{"title":557,"path":558,"stem":559,"framework":11,"module":11},"Timeline","/components/timeline","3.components/timeline",{"title":561,"path":562,"stem":563,"framework":11,"module":11},"Toast","/components/toast","3.components/toast",{"title":565,"path":566,"stem":567,"framework":11,"module":11},"Tooltip","/components/tooltip","3.components/tooltip",{"title":569,"path":570,"stem":571,"framework":11,"module":11},"Tree","/components/tree","3.components/tree",{"title":573,"path":574,"stem":575,"framework":11,"module":37},"User","/components/user","3.components/user",{"id":577,"title":578,"body":579,"category":11,"description":1613,"extension":1614,"framework":11,"links":11,"meta":1615,"module":11,"navigation":41,"path":1616,"seo":1617,"stem":1618,"__hash__":1619},"content/1.getting-started/contribution.md","Contribution Guide",{"type":580,"value":581,"toc":1593},"minimark",[582,586,606,611,614,618,636,771,775,782,969,973,980,983,994,997,1000,1009,1012,1066,1069,1141,1147,1151,1154,1163,1174,1178,1181,1184,1188,1191,1314,1323,1327,1336,1406,1416,1420,1427,1442,1446,1453,1462,1466,1474,1489,1499,1503,1518,1539,1543,1579,1582,1586,1589],[583,584,585],"p",{},"Nuxt UI thrives thanks to its incredible community ❤️. We welcome all contributions through bug reports, pull requests, and feedback to help make this library even better.",[587,588,589],"caution",{},[583,590,591,592,599,600,605],{},"Before reporting a bug or requesting a feature, make sure that you have read through our ",[593,594,598],"a",{"href":595,"rel":596},"https://ui3.nuxt.com/",[597],"nofollow","documentation"," and existing ",[593,601,604],{"href":602,"rel":603},"https://github.com/nuxt/ui/issues?q=is%3Aissue%20is%3Aopen%20sort%3Aupdated-desc%20label%3Av3",[597],"issues",".",[607,608,610],"h2",{"id":609},"project-structure","Project Structure",[583,612,613],{},"Here's an overview of the key directories and files in the Nuxt UI project structure:",[615,616,617],"h3",{"id":598},"Documentation",[583,619,620,621,625,626,629,630,635],{},"The documentation lives in the ",[622,623,624],"code",{},"docs"," folder as a Nuxt app using ",[622,627,628],{},"@nuxt/content"," v3 to generate pages from Markdown files. See the ",[593,631,634],{"href":632,"rel":633},"https://content.nuxt.com/docs/getting-started",[597],"Nuxt Content documentation"," for details on how it works. Here's a breakdown of its structure:",[637,638,643],"pre",{"className":639,"code":640,"language":641,"meta":642,"style":642},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","├── app/\n│   ├── assets/\n│   ├── components/\n│   │   └── content/\n│   │       └── examples   # Components used in documentation as examples\n│   ├── composables/\n│   └── ...\n├── content/\n│   ├── 1.getting-started\n│   ├── 2.composables\n│   └── 3.components       # Components documentation\n","bash","",[622,644,645,658,670,680,694,711,721,731,738,748,758],{"__ignoreMap":642},[646,647,650,654],"span",{"class":648,"line":649},"line",1,[646,651,653],{"class":652},"sBMFI","├──",[646,655,657],{"class":656},"sfazB"," app/\n",[646,659,661,664,667],{"class":648,"line":660},2,[646,662,663],{"class":652},"│",[646,665,666],{"class":656},"   ├──",[646,668,669],{"class":656}," assets/\n",[646,671,673,675,677],{"class":648,"line":672},3,[646,674,663],{"class":652},[646,676,666],{"class":656},[646,678,679],{"class":656}," components/\n",[646,681,683,685,688,691],{"class":648,"line":682},4,[646,684,663],{"class":652},[646,686,687],{"class":656},"   │",[646,689,690],{"class":656},"   └──",[646,692,693],{"class":656}," content/\n",[646,695,697,699,701,704,707],{"class":648,"line":696},5,[646,698,663],{"class":652},[646,700,687],{"class":656},[646,702,703],{"class":656},"       └──",[646,705,706],{"class":656}," examples",[646,708,710],{"class":709},"sHwdD","   # Components used in documentation as examples\n",[646,712,714,716,718],{"class":648,"line":713},6,[646,715,663],{"class":652},[646,717,666],{"class":656},[646,719,720],{"class":656}," composables/\n",[646,722,724,726,728],{"class":648,"line":723},7,[646,725,663],{"class":652},[646,727,690],{"class":656},[646,729,730],{"class":656}," ...\n",[646,732,734,736],{"class":648,"line":733},8,[646,735,653],{"class":652},[646,737,693],{"class":656},[646,739,741,743,745],{"class":648,"line":740},9,[646,742,663],{"class":652},[646,744,666],{"class":656},[646,746,747],{"class":656}," 1.getting-started\n",[646,749,751,753,755],{"class":648,"line":750},10,[646,752,663],{"class":652},[646,754,666],{"class":656},[646,756,757],{"class":656}," 2.composables\n",[646,759,761,763,765,768],{"class":648,"line":760},11,[646,762,663],{"class":652},[646,764,690],{"class":656},[646,766,767],{"class":656}," 3.components",[646,769,770],{"class":709},"       # Components documentation\n",[615,772,774],{"id":773},"module","Module",[583,776,777,778,781],{},"The module code resides in the ",[622,779,780],{},"src"," folder. Here's a breakdown of its structure:",[637,783,785],{"className":639,"code":784,"language":641,"meta":642,"style":642},"├── plugins/\n├── runtime/\n│   ├── components/        # Where all the components are located\n│   │   ├── Accordion.vue\n│   │   ├── Alert.vue\n│   │   └── ...\n│   ├── composables/\n│   ├── locale/\n│   ├── plugins/\n│   ├── types/\n│   ├── utils/\n│   └── vue/\n│       ├── components/\n│       └── plugins/\n├── theme/                 # This where the theme for each component is located\n│   ├── accordion.ts       # Theme for Accordion component\n│   ├── alert.ts\n│   └── ...\n└── module.ts\n",[622,786,787,794,801,813,824,835,845,853,862,870,879,888,898,908,917,928,941,951,960],{"__ignoreMap":642},[646,788,789,791],{"class":648,"line":649},[646,790,653],{"class":652},[646,792,793],{"class":656}," plugins/\n",[646,795,796,798],{"class":648,"line":660},[646,797,653],{"class":652},[646,799,800],{"class":656}," runtime/\n",[646,802,803,805,807,810],{"class":648,"line":672},[646,804,663],{"class":652},[646,806,666],{"class":656},[646,808,809],{"class":656}," components/",[646,811,812],{"class":709},"        # Where all the components are located\n",[646,814,815,817,819,821],{"class":648,"line":682},[646,816,663],{"class":652},[646,818,687],{"class":656},[646,820,666],{"class":656},[646,822,823],{"class":656}," Accordion.vue\n",[646,825,826,828,830,832],{"class":648,"line":696},[646,827,663],{"class":652},[646,829,687],{"class":656},[646,831,666],{"class":656},[646,833,834],{"class":656}," Alert.vue\n",[646,836,837,839,841,843],{"class":648,"line":713},[646,838,663],{"class":652},[646,840,687],{"class":656},[646,842,690],{"class":656},[646,844,730],{"class":656},[646,846,847,849,851],{"class":648,"line":723},[646,848,663],{"class":652},[646,850,666],{"class":656},[646,852,720],{"class":656},[646,854,855,857,859],{"class":648,"line":733},[646,856,663],{"class":652},[646,858,666],{"class":656},[646,860,861],{"class":656}," locale/\n",[646,863,864,866,868],{"class":648,"line":740},[646,865,663],{"class":652},[646,867,666],{"class":656},[646,869,793],{"class":656},[646,871,872,874,876],{"class":648,"line":750},[646,873,663],{"class":652},[646,875,666],{"class":656},[646,877,878],{"class":656}," types/\n",[646,880,881,883,885],{"class":648,"line":760},[646,882,663],{"class":652},[646,884,666],{"class":656},[646,886,887],{"class":656}," utils/\n",[646,889,891,893,895],{"class":648,"line":890},12,[646,892,663],{"class":652},[646,894,690],{"class":656},[646,896,897],{"class":656}," vue/\n",[646,899,901,903,906],{"class":648,"line":900},13,[646,902,663],{"class":652},[646,904,905],{"class":656},"       ├──",[646,907,679],{"class":656},[646,909,911,913,915],{"class":648,"line":910},14,[646,912,663],{"class":652},[646,914,703],{"class":656},[646,916,793],{"class":656},[646,918,920,922,925],{"class":648,"line":919},15,[646,921,653],{"class":652},[646,923,924],{"class":656}," theme/",[646,926,927],{"class":709},"                 # This where the theme for each component is located\n",[646,929,931,933,935,938],{"class":648,"line":930},16,[646,932,663],{"class":652},[646,934,666],{"class":656},[646,936,937],{"class":656}," accordion.ts",[646,939,940],{"class":709},"       # Theme for Accordion component\n",[646,942,944,946,948],{"class":648,"line":943},17,[646,945,663],{"class":652},[646,947,666],{"class":656},[646,949,950],{"class":656}," alert.ts\n",[646,952,954,956,958],{"class":648,"line":953},18,[646,955,663],{"class":652},[646,957,690],{"class":656},[646,959,730],{"class":656},[646,961,963,966],{"class":648,"line":962},19,[646,964,965],{"class":652},"└──",[646,967,968],{"class":656}," module.ts\n",[607,970,972],{"id":971},"cli","CLI",[583,974,975,976,979],{},"To make development easier, we've created a CLI that you can use to generate components and locales. You can access it using the ",[622,977,978],{},"nuxt-ui make"," command.",[583,981,982],{},"First, you need to link the CLI to your global environment:",[637,984,988],{"className":985,"code":986,"language":987,"meta":642,"style":642},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm link\n","sh",[622,989,990],{"__ignoreMap":642},[646,991,992],{"class":648,"line":649},[646,993,986],{},[615,995,122],{"id":996},"components",[583,998,999],{},"You can create new components using the following command:",[637,1001,1003],{"className":985,"code":1002,"language":987,"meta":642,"style":642},"nuxt-ui make component \u003Cname> [options]\n",[622,1004,1005],{"__ignoreMap":642},[646,1006,1007],{"class":648,"line":649},[646,1008,1002],{},[583,1010,1011],{},"Available options:",[1013,1014,1015,1022,1028,1037,1045],"ul",{},[1016,1017,1018,1021],"li",{},[622,1019,1020],{},"--primitive"," Create a primitive component",[1016,1023,1024,1027],{},[622,1025,1026],{},"--pro"," Create a pro component",[1016,1029,1030,1033,1034,1036],{},[622,1031,1032],{},"--prose"," Create a prose component (requires ",[622,1035,1026],{},")",[1016,1038,1039,1042,1043,1036],{},[622,1040,1041],{},"--content"," Create a content component (requires ",[622,1044,1026],{},[1016,1046,1047,1050,1051,1054,1055,1054,1057,1054,1060,1054,1063,1036],{},[622,1048,1049],{},"--template"," Only generate specific template (available templates: ",[622,1052,1053],{},"playground",", ",[622,1056,624],{},[622,1058,1059],{},"test",[622,1061,1062],{},"theme",[622,1064,1065],{},"component",[583,1067,1068],{},"Example:",[637,1070,1072],{"className":985,"code":1071,"language":987,"meta":642,"style":642},"# Create a basic component\nnuxt-ui make component my-component\n\n# Create a pro component\nnuxt-ui make component page-section --pro\n\n# Create a pro prose component\nnuxt-ui make component heading --pro --prose\n\n# Create a pro content component\nnuxt-ui make component block --pro --content\n\n# Generate only documentation template\nnuxt-ui make component my-component --template=docs\n",[622,1073,1074,1079,1084,1089,1094,1099,1103,1108,1113,1117,1122,1127,1131,1136],{"__ignoreMap":642},[646,1075,1076],{"class":648,"line":649},[646,1077,1078],{},"# Create a basic component\n",[646,1080,1081],{"class":648,"line":660},[646,1082,1083],{},"nuxt-ui make component my-component\n",[646,1085,1086],{"class":648,"line":672},[646,1087,1088],{"emptyLinePlaceholder":15},"\n",[646,1090,1091],{"class":648,"line":682},[646,1092,1093],{},"# Create a pro component\n",[646,1095,1096],{"class":648,"line":696},[646,1097,1098],{},"nuxt-ui make component page-section --pro\n",[646,1100,1101],{"class":648,"line":713},[646,1102,1088],{"emptyLinePlaceholder":15},[646,1104,1105],{"class":648,"line":723},[646,1106,1107],{},"# Create a pro prose component\n",[646,1109,1110],{"class":648,"line":733},[646,1111,1112],{},"nuxt-ui make component heading --pro --prose\n",[646,1114,1115],{"class":648,"line":740},[646,1116,1088],{"emptyLinePlaceholder":15},[646,1118,1119],{"class":648,"line":750},[646,1120,1121],{},"# Create a pro content component\n",[646,1123,1124],{"class":648,"line":760},[646,1125,1126],{},"nuxt-ui make component block --pro --content\n",[646,1128,1129],{"class":648,"line":890},[646,1130,1088],{"emptyLinePlaceholder":15},[646,1132,1133],{"class":648,"line":900},[646,1134,1135],{},"# Generate only documentation template\n",[646,1137,1138],{"class":648,"line":910},[646,1139,1140],{},"nuxt-ui make component my-component --template=docs\n",[1142,1143,1144],"note",{},[583,1145,1146],{},"When creating a new component, the CLI will automatically generate all the necessary files like the component itself, theme, tests, and documentation.",[615,1148,1150],{"id":1149},"locales","Locales",[583,1152,1153],{},"You can create new locales using the following command:",[637,1155,1157],{"className":985,"code":1156,"language":987,"meta":642,"style":642},"nuxt-ui make locale --code \u003Ccode> --name \u003Cname>\n",[622,1158,1159],{"__ignoreMap":642},[646,1160,1161],{"class":648,"line":649},[646,1162,1156],{},[1142,1164,1166],{"to":1165},"/getting-started/i18n/nuxt#supported-languages",[583,1167,1168,1169,1173],{},"Learn more about ",[1170,1171,1172],"strong",{},"i18n"," in the documentation.",[607,1175,1177],{"id":1176},"submit-a-pull-request-pr","Submit a Pull Request (PR)",[583,1179,1180],{},"Before you start, check if there's an existing issue describing the problem or feature request you're working on. If there is, please leave a comment on the issue to let us know you're working on it.",[583,1182,1183],{},"If there isn't, open a new issue to discuss the problem or feature.",[615,1185,1187],{"id":1186},"local-development","Local Development",[583,1189,1190],{},"To begin local development, follow these steps:",[1192,1193,1195,1204,1213,1222,1231,1235,1244,1248,1257,1261,1272,1281,1289,1298,1305],"steps",{"level":1194},"4",[1196,1197,1199,1200,1203],"h4",{"id":1198},"clone-the-nuxtui-repository-to-your-local-machine","Clone the ",[622,1201,1202],{},"nuxt/ui"," repository to your local machine",[637,1205,1207],{"className":985,"code":1206,"language":987,"meta":642,"style":642},"git clone -b v3 https://github.com/nuxt/ui.git\n",[622,1208,1209],{"__ignoreMap":642},[646,1210,1211],{"class":648,"line":649},[646,1212,1206],{},[1196,1214,1216,1217],{"id":1215},"enable-corepack","Enable ",[593,1218,1221],{"href":1219,"rel":1220},"https://github.com/nodejs/corepack",[597],"Corepack",[637,1223,1225],{"className":985,"code":1224,"language":987,"meta":642,"style":642},"corepack enable\n",[622,1226,1227],{"__ignoreMap":642},[646,1228,1229],{"class":648,"line":649},[646,1230,1224],{},[1196,1232,1234],{"id":1233},"install-dependencies","Install dependencies",[637,1236,1238],{"className":985,"code":1237,"language":987,"meta":642,"style":642},"pnpm install\n",[622,1239,1240],{"__ignoreMap":642},[646,1241,1242],{"class":648,"line":649},[646,1243,1237],{},[1196,1245,1247],{"id":1246},"generate-type-stubs","Generate type stubs",[637,1249,1251],{"className":985,"code":1250,"language":987,"meta":642,"style":642},"pnpm run dev:prepare\n",[622,1252,1253],{"__ignoreMap":642},[646,1254,1255],{"class":648,"line":649},[646,1256,1250],{},[1196,1258,1260],{"id":1259},"start-development","Start development",[1013,1262,1263],{},[1016,1264,1265,1266,1268,1269,1271],{},"To work on the ",[1170,1267,598],{}," located in the ",[622,1270,624],{}," folder, run:",[637,1273,1275],{"className":985,"code":1274,"language":987,"meta":642,"style":642},"pnpm run docs\n",[622,1276,1277],{"__ignoreMap":642},[646,1278,1279],{"class":648,"line":649},[646,1280,1274],{},[1013,1282,1283],{},[1016,1284,1285,1286,1288],{},"To test the Nuxt components using the ",[1170,1287,1053],{},", run:",[637,1290,1292],{"className":985,"code":1291,"language":987,"meta":642,"style":642},"pnpm run dev\n",[622,1293,1294],{"__ignoreMap":642},[646,1295,1296],{"class":648,"line":649},[646,1297,1291],{},[1013,1299,1300],{},[1016,1301,1302,1303,1288],{},"To test the Vue components using the ",[1170,1304,1053],{},[637,1306,1308],{"className":985,"code":1307,"language":987,"meta":642,"style":642},"pnpm run dev:vue\n",[622,1309,1310],{"__ignoreMap":642},[646,1311,1312],{"class":648,"line":649},[646,1313,1307],{},[1142,1315,1317],{"to":1316},"#cli",[583,1318,1319,1320,1322],{},"If you're working on implementing a new component, check the ",[1170,1321,972],{}," section to kickstart the process.",[615,1324,1326],{"id":1325},"ide-setup","IDE Setup",[583,1328,1329,1330,1335],{},"We recommend using VSCode alongside the ",[593,1331,1334],{"href":1332,"rel":1333},"https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint",[597],"ESLint extension",". You can enable auto-fix and formatting when saving your code. Here's how:",[637,1337,1341],{"className":1338,"code":1339,"language":1340,"meta":642,"style":642},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll\": false,\n    \"source.fixAll.eslint\": true\n  }\n}\n","json",[622,1342,1343,1349,1367,1382,1396,1401],{"__ignoreMap":642},[646,1344,1345],{"class":648,"line":649},[646,1346,1348],{"class":1347},"sMK4o","{\n",[646,1350,1351,1354,1358,1361,1364],{"class":648,"line":660},[646,1352,1353],{"class":1347},"  \"",[646,1355,1357],{"class":1356},"spNyl","editor.codeActionsOnSave",[646,1359,1360],{"class":1347},"\"",[646,1362,1363],{"class":1347},":",[646,1365,1366],{"class":1347}," {\n",[646,1368,1369,1372,1375,1377,1379],{"class":648,"line":672},[646,1370,1371],{"class":1347},"    \"",[646,1373,1374],{"class":652},"source.fixAll",[646,1376,1360],{"class":1347},[646,1378,1363],{"class":1347},[646,1380,1381],{"class":1347}," false,\n",[646,1383,1384,1386,1389,1391,1393],{"class":648,"line":682},[646,1385,1371],{"class":1347},[646,1387,1388],{"class":652},"source.fixAll.eslint",[646,1390,1360],{"class":1347},[646,1392,1363],{"class":1347},[646,1394,1395],{"class":1347}," true\n",[646,1397,1398],{"class":648,"line":696},[646,1399,1400],{"class":1347},"  }\n",[646,1402,1403],{"class":648,"line":713},[646,1404,1405],{"class":1347},"}\n",[1407,1408,1409],"warning",{},[583,1410,1411,1412,1415],{},"Since ESLint is already configured to format the code, there's no need for duplicating functionality with ",[1170,1413,1414],{},"Prettier",". If you have it installed in your editor, we recommend disabling it to avoid conflicts.",[615,1417,1419],{"id":1418},"linting","Linting",[583,1421,1422,1423,1426],{},"You can use the ",[622,1424,1425],{},"lint"," command to check for linting errors:",[637,1428,1430],{"className":985,"code":1429,"language":987,"meta":642,"style":642},"pnpm run lint # check for linting errors\npnpm run lint:fix # fix linting errors\n",[622,1431,1432,1437],{"__ignoreMap":642},[646,1433,1434],{"class":648,"line":649},[646,1435,1436],{},"pnpm run lint # check for linting errors\n",[646,1438,1439],{"class":648,"line":660},[646,1440,1441],{},"pnpm run lint:fix # fix linting errors\n",[615,1443,1445],{"id":1444},"type-checking","Type Checking",[583,1447,1448,1449,1452],{},"We use TypeScript for type checking. You can use the ",[622,1450,1451],{},"typecheck"," command to check for type errors:",[637,1454,1456],{"className":985,"code":1455,"language":987,"meta":642,"style":642},"pnpm run typecheck\n",[622,1457,1458],{"__ignoreMap":642},[646,1459,1460],{"class":648,"line":649},[646,1461,1455],{},[615,1463,1465],{"id":1464},"testing","Testing",[583,1467,1468,1469,1471,1472,1363],{},"Before submitting a PR, ensure that you run the tests for both ",[622,1470,22],{}," and ",[622,1473,28],{},[637,1475,1477],{"className":985,"code":1476,"language":987,"meta":642,"style":642},"pnpm run test # for Nuxt\npnpm run test:vue # for Vue\n",[622,1478,1479,1484],{"__ignoreMap":642},[646,1480,1481],{"class":648,"line":649},[646,1482,1483],{},"pnpm run test # for Nuxt\n",[646,1485,1486],{"class":648,"line":660},[646,1487,1488],{},"pnpm run test:vue # for Vue\n",[1490,1491,1492],"tip",{},[583,1493,1494,1495,1498],{},"If you have to update the snapshots, press ",[622,1496,1497],{},"u"," after the tests have finished running.",[615,1500,1502],{"id":1501},"commit-conventions","Commit Conventions",[583,1504,1505,1506,1511,1512,1517],{},"We use ",[593,1507,1510],{"href":1508,"rel":1509},"https://www.conventionalcommits.org/",[597],"Conventional Commits"," for commit messages, which allows a changelog to be auto-generated based on the commits. Please read the ",[593,1513,1516],{"href":1514,"rel":1515},"https://www.conventionalcommits.org/en/v1.0.0/#summary",[597],"guide"," through if you aren't familiar with it already.",[1013,1519,1520,1530],{},[1016,1521,1522,1523,1471,1526,1529],{},"Use ",[622,1524,1525],{},"fix",[622,1527,1528],{},"feat"," for code changes that affect functionality or logic",[1016,1531,1522,1532,1534,1535,1538],{},[622,1533,624],{}," for documentation changes and ",[622,1536,1537],{},"chore"," for maintenance tasks",[615,1540,1542],{"id":1541},"making-a-pull-request","Making a Pull Request",[1013,1544,1545,1554,1561,1568],{},[1016,1546,1547,1548,1553],{},"Follow along the ",[593,1549,1552],{"href":1550,"rel":1551},"https://github.com/nuxt/ui/blob/v3/.github/PULL_REQUEST_TEMPLATE.md?plain=1",[597],"instructions"," provided when creating a PR",[1016,1555,1556,1557,1560],{},"Ensure your PR's title adheres to the ",[593,1558,1510],{"href":1508,"rel":1559},[597]," since it will be used once the code is merged.",[1016,1562,1563,1564,1567],{},"Multiple commits are fine; no need to rebase or force push. We'll use ",[622,1565,1566],{},"Squash and Merge"," when merging.",[1016,1569,1570,1571,1054,1573,1471,1575,1578],{},"Ensure ",[622,1572,1425],{},[622,1574,1451],{},[622,1576,1577],{},"tests"," work before submitting the PR. Avoid making unrelated changes.",[583,1580,1581],{},"We'll review it promptly. If assigned to a maintainer, they'll review it carefully. Ignore the red text; it's for tracking purposes.",[607,1583,1585],{"id":1584},"thanks","Thanks",[583,1587,1588],{},"Thank you again for being interested in this project! You are awesome! ❤️",[1590,1591,1592],"style",{},"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 .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 pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":642,"searchDepth":660,"depth":660,"links":1594},[1595,1599,1603,1612],{"id":609,"depth":660,"text":610,"children":1596},[1597,1598],{"id":598,"depth":672,"text":617},{"id":773,"depth":672,"text":774},{"id":971,"depth":660,"text":972,"children":1600},[1601,1602],{"id":996,"depth":672,"text":122},{"id":1149,"depth":672,"text":1150},{"id":1176,"depth":660,"text":1177,"children":1604},[1605,1606,1607,1608,1609,1610,1611],{"id":1186,"depth":672,"text":1187},{"id":1325,"depth":672,"text":1326},{"id":1418,"depth":672,"text":1419},{"id":1444,"depth":672,"text":1445},{"id":1464,"depth":672,"text":1465},{"id":1501,"depth":672,"text":1502},{"id":1541,"depth":672,"text":1542},{"id":1584,"depth":660,"text":1585},"A comprehensive guide on contributing to Nuxt UI, including project structure, development workflow, and best practices.","md",{},"/getting-started/contribution",{"title":578,"description":1613},"1.getting-started/contribution","XVLkDCfovRA-QIUONJSHBfJte8vcmbTe2T9Fpy2DPPY",[11,11],{"data":1622,"body":1623},{},{"type":1624,"children":1625},"root",[1626],{"type":1627,"tag":583,"props":1628,"children":1629},"element",{},[1630],{"type":1631,"value":1613},"text",1767003514864]