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