[{"data":1,"prerenderedAt":834},["ShallowReactive",2],{"navigation":3,"$fMW9jOOkNpZriWVK3P_bZYNOyYR2IEPvrHsC7cDBlJJc":405,"/docs/components-json":418,"surround-/docs/components-json":831},[4],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Docs","/docs","docs",[9,90,353,360,366,379],{"path":6,"stem":7,"title":10,"type":11,"children":12},"Get Started","group",[13,19,44,48,52,70,74,78,82,86],{"title":14,"path":15,"stem":16,"new":17,"type":18,"children":-1},"Introduction","/docs/introduction","docs/01.introduction",false,"page",{"title":20,"path":21,"stem":22,"children":23,"new":17,"type":11},"Installation","/docs/installation","docs/02.installation",[24,28,32,36,40],{"title":25,"path":26,"stem":27,"new":17,"type":18,"children":-1},"Vite","/docs/installation/vite","docs/installation/01.vite",{"title":29,"path":30,"stem":31,"new":17,"type":18,"children":-1},"Nuxt","/docs/installation/nuxt","docs/installation/02.nuxt",{"title":33,"path":34,"stem":35,"new":17,"type":18,"children":-1},"Astro","/docs/installation/astro","docs/installation/03.astro",{"title":37,"path":38,"stem":39,"new":17,"type":18,"children":-1},"Laravel","/docs/installation/laravel","docs/installation/04.laravel",{"title":41,"path":42,"stem":43,"new":17,"type":18,"children":-1},"Manual Installation","/docs/installation/manual","docs/installation/05.manual",{"title":45,"path":46,"stem":47,"new":17,"type":18,"children":-1},"components.json","/docs/components-json","docs/03.components-json",{"title":49,"path":50,"stem":51,"new":17,"type":18,"children":-1},"Theming","/docs/theming","docs/04.theming",{"title":53,"path":54,"stem":55,"children":56,"new":17,"type":11},"Dark Mode","/docs/dark-mode","docs/05.dark-mode",[57,60,63,67],{"title":25,"path":58,"stem":59,"new":17,"type":18,"children":-1},"/docs/dark-mode/vite","docs/dark-mode/01.vite",{"title":29,"path":61,"stem":62,"new":17,"type":18,"children":-1},"/docs/dark-mode/nuxt","docs/dark-mode/02.nuxt",{"title":64,"path":65,"stem":66,"new":17,"type":18,"children":-1},"Vitepress","/docs/dark-mode/vitepress","docs/dark-mode/03.vitepress",{"title":33,"path":68,"stem":69,"new":17,"type":18,"children":-1},"/docs/dark-mode/astro","docs/dark-mode/04.astro",{"title":71,"path":72,"stem":73,"new":17,"type":18,"children":-1},"CLI","/docs/cli","docs/06.cli",{"title":75,"path":76,"stem":77,"new":17,"type":18,"children":-1},"JavaScript","/docs/javascript","docs/07.javascript",{"title":79,"path":80,"stem":81,"new":17,"type":18,"children":-1},"Figma","/docs/figma","docs/09.figma",{"title":83,"path":84,"stem":85,"new":17,"type":18,"children":-1},"Changelog","/docs/changelog","docs/10.changelog",{"title":87,"path":88,"stem":89,"new":17,"type":18,"children":-1},"Legacy Docs","/docs/legacy","docs/11.legacy",{"title":91,"path":92,"stem":93,"children":94,"new":17,"type":11},"Components","/docs/components","docs/02.components",[95,100,104,108,112,116,120,124,128,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317,321,325,329,333,337,341,345,349],{"title":96,"path":97,"stem":98,"new":17,"type":99,"children":-1},"Accordion","/docs/components/accordion","docs/components/accordion","component",{"title":101,"path":102,"stem":103,"new":17,"type":99,"children":-1},"Alert","/docs/components/alert","docs/components/alert",{"title":105,"path":106,"stem":107,"new":17,"type":99,"children":-1},"Alert Dialog","/docs/components/alert-dialog","docs/components/alert-dialog",{"title":109,"path":110,"stem":111,"new":17,"type":99,"children":-1},"Aspect Ratio","/docs/components/aspect-ratio","docs/components/aspect-ratio",{"title":113,"path":114,"stem":115,"new":17,"type":99,"children":-1},"Avatar","/docs/components/avatar","docs/components/avatar",{"title":117,"path":118,"stem":119,"new":17,"type":99,"children":-1},"Badge","/docs/components/badge","docs/components/badge",{"title":121,"path":122,"stem":123,"new":17,"type":99,"children":-1},"Breadcrumb","/docs/components/breadcrumb","docs/components/breadcrumb",{"title":125,"path":126,"stem":127,"new":17,"type":99,"children":-1},"Button","/docs/components/button","docs/components/button",{"title":129,"path":130,"stem":131,"new":132,"type":99,"children":-1},"Button Group","/docs/components/button-group","docs/components/button-group",true,{"title":134,"path":135,"stem":136,"new":17,"type":99,"children":-1},"Calendar","/docs/components/calendar","docs/components/calendar",{"title":138,"path":139,"stem":140,"new":17,"type":99,"children":-1},"Card","/docs/components/card","docs/components/card",{"title":142,"path":143,"stem":144,"new":17,"type":99,"children":-1},"Carousel","/docs/components/carousel","docs/components/carousel",{"title":146,"path":147,"stem":148,"new":17,"type":99,"children":-1},"Chart","/docs/components/chart","docs/components/chart",{"title":150,"path":151,"stem":152,"new":17,"type":99,"children":-1},"Checkbox","/docs/components/checkbox","docs/components/checkbox",{"title":154,"path":155,"stem":156,"new":17,"type":99,"children":-1},"Collapsible","/docs/components/collapsible","docs/components/collapsible",{"title":158,"path":159,"stem":160,"new":17,"type":99,"children":-1},"Combobox","/docs/components/combobox","docs/components/combobox",{"title":162,"path":163,"stem":164,"new":17,"type":99,"children":-1},"Command","/docs/components/command","docs/components/command",{"title":166,"path":167,"stem":168,"new":17,"type":99,"children":-1},"Context Menu","/docs/components/context-menu","docs/components/context-menu",{"title":170,"path":171,"stem":172,"new":17,"type":99,"children":-1},"Data Table","/docs/components/data-table","docs/components/data-table",{"title":174,"path":175,"stem":176,"new":17,"type":99,"children":-1},"Date Picker","/docs/components/date-picker","docs/components/date-picker",{"title":178,"path":179,"stem":180,"new":17,"type":99,"children":-1},"Dialog","/docs/components/dialog","docs/components/dialog",{"title":182,"path":183,"stem":184,"new":17,"type":99,"children":-1},"Drawer","/docs/components/drawer","docs/components/drawer",{"title":186,"path":187,"stem":188,"new":17,"type":99,"children":-1},"Dropdown Menu","/docs/components/dropdown-menu","docs/components/dropdown-menu",{"title":190,"path":191,"stem":192,"new":132,"type":99,"children":-1},"Empty","/docs/components/empty","docs/components/empty",{"title":194,"path":195,"stem":196,"new":132,"type":99,"children":-1},"Field","/docs/components/field","docs/components/field",{"title":198,"path":199,"stem":200,"new":17,"type":99,"children":-1},"Form","/docs/components/form","docs/components/form",{"title":202,"path":203,"stem":204,"new":17,"type":99,"children":-1},"Hover Card","/docs/components/hover-card","docs/components/hover-card",{"title":206,"path":207,"stem":208,"new":17,"type":99,"children":-1},"Input","/docs/components/input","docs/components/input",{"title":210,"path":211,"stem":212,"new":132,"type":99,"children":-1},"Input Group","/docs/components/input-group","docs/components/input-group",{"title":214,"path":215,"stem":216,"new":17,"type":99,"children":-1},"Input OTP","/docs/components/input-otp","docs/components/input-otp",{"title":218,"path":219,"stem":220,"new":132,"type":99,"children":-1},"Item","/docs/components/item","docs/components/item",{"title":222,"path":223,"stem":224,"new":132,"type":99,"children":-1},"Kbd","/docs/components/kbd","docs/components/kbd",{"title":226,"path":227,"stem":228,"new":17,"type":99,"children":-1},"Label","/docs/components/label","docs/components/label",{"title":230,"path":231,"stem":232,"new":17,"type":99,"children":-1},"Menubar","/docs/components/menubar","docs/components/menubar",{"title":234,"path":235,"stem":236,"new":132,"type":99,"children":-1},"Native Select","/docs/components/native-select","docs/components/native-select",{"title":238,"path":239,"stem":240,"new":17,"type":99,"children":-1},"Navigation Menu","/docs/components/navigation-menu","docs/components/navigation-menu",{"title":242,"path":243,"stem":244,"new":17,"type":99,"children":-1},"Number Field","/docs/components/number-field","docs/components/number-field",{"title":246,"path":247,"stem":248,"new":17,"type":99,"children":-1},"Pagination","/docs/components/pagination","docs/components/pagination",{"title":250,"path":251,"stem":252,"new":17,"type":99,"children":-1},"Pin Input","/docs/components/pin-input","docs/components/pin-input",{"title":254,"path":255,"stem":256,"new":17,"type":99,"children":-1},"Popover","/docs/components/popover","docs/components/popover",{"title":258,"path":259,"stem":260,"new":17,"type":99,"children":-1},"Progress","/docs/components/progress","docs/components/progress",{"title":262,"path":263,"stem":264,"new":17,"type":99,"children":-1},"Radio Group","/docs/components/radio-group","docs/components/radio-group",{"title":266,"path":267,"stem":268,"new":17,"type":99,"children":-1},"Range Calendar","/docs/components/range-calendar","docs/components/range-calendar",{"title":270,"path":271,"stem":272,"new":17,"type":99,"children":-1},"Resizable","/docs/components/resizable","docs/components/resizable",{"title":274,"path":275,"stem":276,"new":17,"type":99,"children":-1},"Scroll Area","/docs/components/scroll-area","docs/components/scroll-area",{"title":278,"path":279,"stem":280,"new":17,"type":99,"children":-1},"Select","/docs/components/select","docs/components/select",{"title":282,"path":283,"stem":284,"new":17,"type":99,"children":-1},"Separator","/docs/components/separator","docs/components/separator",{"title":286,"path":287,"stem":288,"new":17,"type":99,"children":-1},"Sheet","/docs/components/sheet","docs/components/sheet",{"title":290,"path":291,"stem":292,"new":17,"type":99,"children":-1},"Sidebar","/docs/components/sidebar","docs/components/sidebar",{"title":294,"path":295,"stem":296,"new":17,"type":99,"children":-1},"Skeleton","/docs/components/skeleton","docs/components/skeleton",{"title":298,"path":299,"stem":300,"new":17,"type":99,"children":-1},"Slider","/docs/components/slider","docs/components/slider",{"title":302,"path":303,"stem":304,"new":17,"type":99,"children":-1},"Sonner","/docs/components/sonner","docs/components/sonner",{"title":306,"path":307,"stem":308,"new":132,"type":99,"children":-1},"Spinner","/docs/components/spinner","docs/components/spinner",{"title":310,"path":311,"stem":312,"new":17,"type":99,"children":-1},"Stepper","/docs/components/stepper","docs/components/stepper",{"title":314,"path":315,"stem":316,"new":17,"type":99,"children":-1},"Switch","/docs/components/switch","docs/components/switch",{"title":318,"path":319,"stem":320,"new":17,"type":99,"children":-1},"Table","/docs/components/table","docs/components/table",{"title":322,"path":323,"stem":324,"new":17,"type":99,"children":-1},"Tabs","/docs/components/tabs","docs/components/tabs",{"title":326,"path":327,"stem":328,"new":17,"type":99,"children":-1},"Tags Input","/docs/components/tags-input","docs/components/tags-input",{"title":330,"path":331,"stem":332,"new":17,"type":99,"children":-1},"Textarea","/docs/components/textarea","docs/components/textarea",{"title":334,"path":335,"stem":336,"new":17,"type":99,"children":-1},"Toast","/docs/components/toast","docs/components/toast",{"title":338,"path":339,"stem":340,"new":17,"type":99,"children":-1},"Toggle","/docs/components/toggle","docs/components/toggle",{"title":342,"path":343,"stem":344,"new":17,"type":99,"children":-1},"Toggle Group","/docs/components/toggle-group","docs/components/toggle-group",{"title":346,"path":347,"stem":348,"new":17,"type":99,"children":-1},"Tooltip","/docs/components/tooltip","docs/components/tooltip",{"title":350,"path":351,"stem":352,"new":17,"type":99,"children":-1},"Typography","/docs/components/typography","docs/components/typography",{"title":20,"path":21,"stem":22,"children":354,"new":17,"type":11},[355,356,357,358,359],{"title":25,"path":26,"stem":27,"new":17,"type":18,"children":-1},{"title":29,"path":30,"stem":31,"new":17,"type":18,"children":-1},{"title":33,"path":34,"stem":35,"new":17,"type":18,"children":-1},{"title":37,"path":38,"stem":39,"new":17,"type":18,"children":-1},{"title":41,"path":42,"stem":43,"new":17,"type":18,"children":-1},{"title":53,"path":54,"stem":55,"children":361,"new":17,"type":11},[362,363,364,365],{"title":25,"path":58,"stem":59,"new":17,"type":18,"children":-1},{"title":29,"path":61,"stem":62,"new":17,"type":18,"children":-1},{"title":64,"path":65,"stem":66,"new":17,"type":18,"children":-1},{"title":33,"path":68,"stem":69,"new":17,"type":18,"children":-1},{"title":367,"path":368,"stem":369,"children":370,"new":17,"type":11},"Forms","/docs/forms","docs/forms",[371,375],{"title":372,"path":373,"stem":374,"new":17,"type":18,"children":-1},"VeeValidate","/docs/forms/vee-validate","docs/forms/01.vee-validate",{"title":376,"path":377,"stem":378,"new":17,"type":18,"children":-1},"TanStack Form","/docs/forms/tanstack-form","docs/forms/02.tanstack-form",{"title":380,"path":381,"stem":382,"children":383,"new":17,"type":11},"Registry","/docs/registry","docs/registry/index",[384,385,389,393,397,401],{"title":380,"path":381,"stem":382,"new":17,"type":18,"children":-1},{"title":386,"path":387,"stem":388,"new":17,"type":18,"children":-1},"Examples","/docs/registry/examples","docs/registry/examples",{"title":390,"path":391,"stem":392,"new":17,"type":18,"children":-1},"FAQ","/docs/registry/faq","docs/registry/faq",{"title":394,"path":395,"stem":396,"new":17,"type":18,"children":-1},"Getting Started","/docs/registry/getting-started","docs/registry/getting-started",{"title":398,"path":399,"stem":400,"new":17,"type":18,"children":-1},"registry-item.json","/docs/registry/registry-item-json","docs/registry/registry-item-json",{"title":402,"path":403,"stem":404,"new":17,"type":18,"children":-1},"registry.json","/docs/registry/registry-json","docs/registry/registry-json",{"repo":406},{"id":407,"name":408,"repo":409,"description":410,"createdAt":411,"updatedAt":412,"pushedAt":413,"stars":414,"watchers":415,"forks":416,"defaultBranch":417},658791894,"shadcn-vue","unovue/shadcn-vue","Vue port of shadcn-ui","2023-06-26T13:53:23Z","2026-04-06T17:33:41Z","2026-04-06T17:33:39Z",9706,37,634,"dev",{"id":419,"title":45,"body":420,"description":824,"extension":825,"links":826,"meta":827,"navigation":132,"new":17,"path":46,"rawbody":828,"seo":829,"stem":47,"__hash__":830},"content/docs/03.components-json.md",{"type":421,"value":422,"toc":803},"minimark",[423,431,434,448,454,464,472,477,490,499,502,508,514,524,527,530,536,541,551,557,561,564,570,574,579,585,589,592,607,613,620,625,629,632,638,641,644,654,660,663,678,685,705,709,712,718,722,725,731,735,742,753,759,763,775,781,785,797],[424,425,426,427,430],"p",{},"The ",[428,429,45],"code",{}," file holds configuration for your project.",[424,432,433],{},"We use it to understand how your project is set up and how to generate components customized for your project.",[435,436,440],"callout",{"className":437,"title":439},[438],"mt-6","Note: The `components.json` file is optional",[424,441,442,443,447],{},"It is ",[444,445,446],"strong",{},"only required if you're using the CLI"," to add components to your\nproject. If you're using the copy and paste method, you don't need this file.",[424,449,450,451,453],{},"You can create a ",[428,452,45],{}," file in your project by running the following command:",[455,456,462],"pre",{"className":457,"code":459,"language":460,"meta":461},[458],"language-bash","npx shadcn-vue@latest init\n","bash","",[428,463,459],{"__ignoreMap":461},[424,465,466,467,471],{},"See the ",[468,469,470],"a",{"href":72},"CLI section"," for more information.",[473,474,476],"h2",{"id":475},"schema","$schema",[424,478,479,480,482,483,489],{},"You can see the JSON Schema for ",[428,481,45],{}," ",[468,484,488],{"href":485,"rel":486},"https://shadcn-vue.com/schema.json",[487],"nofollow","here",".",[455,491,497],{"className":492,"code":494,"language":495,"meta":496},[493],"language-json","{\n  \"$schema\": \"https://shadcn-vue.com/schema.json\"\n}\n","json","title=\"components.json\"",[428,498,494],{"__ignoreMap":461},[473,500,501],{"id":501},"style",[424,503,504,505],{},"The style for your components. ",[444,506,507],{},"This cannot be changed after initialization.",[455,509,512],{"className":510,"code":511,"language":495,"meta":496},[493],"{\n  \"style\": \"new-york\"\n}\n",[428,513,511],{"__ignoreMap":461},[424,515,426,516,519,520,523],{},[428,517,518],{},"default"," style has been deprecated. Use the ",[428,521,522],{},"new-york"," style instead.",[473,525,526],{"id":526},"tailwind",[424,528,529],{},"Configuration to help the CLI understand how Tailwind CSS is set up in your project.",[424,531,466,532,535],{},[468,533,534],{"href":21},"installation section"," for how to set up Tailwind CSS.",[537,538,540],"h3",{"id":539},"tailwindconfig","tailwind.config",[424,542,543,544,547,548],{},"Path to where your ",[428,545,546],{},"tailwind.config.js"," file is located. ",[444,549,550],{},"For Tailwind CSS v4, leave this blank.",[455,552,555],{"className":553,"code":554,"language":495,"meta":496},[493],"{\n  \"tailwind\": {\n    \"config\": \"tailwind.config.js\" | \"tailwind.config.ts\"\n  }\n}\n",[428,556,554],{"__ignoreMap":461},[537,558,560],{"id":559},"tailwindcss","tailwind.css",[424,562,563],{},"Path to the CSS file that imports Tailwind CSS into your project.",[455,565,568],{"className":566,"code":567,"language":495,"meta":496},[493],"{\n  \"tailwind\": {\n    \"css\": \"styles/global.css\"\n  }\n}\n",[428,569,567],{"__ignoreMap":461},[537,571,573],{"id":572},"tailwindbasecolor","tailwind.baseColor",[424,575,576,577],{},"This is used to generate the default color palette for your components. ",[444,578,507],{},[455,580,583],{"className":581,"code":582,"language":495,"meta":496},[493],"{\n  \"tailwind\": {\n    \"baseColor\": \"gray\" | \"neutral\" | \"slate\" | \"stone\" | \"zinc\"\n  }\n}\n",[428,584,582],{"__ignoreMap":461},[537,586,588],{"id":587},"tailwindcssvariables","tailwind.cssVariables",[424,590,591],{},"You can choose between using CSS variables or Tailwind CSS utility classes for theming.",[424,593,594,595,597,598,601,602,597,604,489],{},"To use utility classes for theming set ",[428,596,588],{}," to ",[428,599,600],{},"false",". For CSS variables, set ",[428,603,588],{},[428,605,606],{},"true",[455,608,611],{"className":609,"code":610,"language":495,"meta":496},[493],"{\n  \"tailwind\": {\n    \"cssVariables\": `true` | `false`\n  }\n}\n",[428,612,610],{"__ignoreMap":461},[424,614,615,616,619],{},"For more information, see the ",[617,618],"link",{"href":50},"theming docs.",[424,621,622,624],{},[444,623,507],{}," To switch between CSS variables and utility classes, you'll have to delete and re-install your components.",[537,626,628],{"id":627},"tailwindprefix","tailwind.prefix",[424,630,631],{},"The prefix to use for your Tailwind CSS utility classes. Components will be added with this prefix.",[455,633,636],{"className":634,"code":635,"language":495,"meta":496},[493],"{\n  \"tailwind\": {\n    \"prefix\": \"tw-\"\n  }\n}\n",[428,637,635],{"__ignoreMap":461},[473,639,640],{"id":640},"typescript",[424,642,643],{},"Choose between TypeScript or JavaScript components.",[424,645,646,647,649,650,653],{},"Setting this option to ",[428,648,600],{}," allows components to be added as JavaScript in ",[428,651,652],{},".vue"," file.",[455,655,658],{"className":656,"code":657,"language":495,"meta":496},[493],"{\n  \"typescript\": `true` | `false`\n}\n",[428,659,657],{"__ignoreMap":461},[473,661,662],{"id":662},"aliases",[424,664,665,666,669,670,673,674,677],{},"The CLI uses these values and the ",[428,667,668],{},"paths"," config from your ",[428,671,672],{},"tsconfig.json"," or ",[428,675,676],{},"jsconfig.json"," file to place generated components in the correct location.",[424,679,680,681,673,683,653],{},"Path aliases have to be set up in your ",[428,682,672],{},[428,684,676],{},[435,686,688],{"className":687},[438],[424,689,690,693,694,697,698,700,701,673,703,653],{},[444,691,692],{},"Important:"," If you're using the ",[428,695,696],{},"src"," directory, make sure it is included\nunder ",[428,699,668],{}," in your ",[428,702,672],{},[428,704,676],{},[537,706,708],{"id":707},"aliasesutils","aliases.utils",[424,710,711],{},"Import alias for your utility functions.",[455,713,716],{"className":714,"code":715,"language":495,"meta":496},[493],"{\n  \"aliases\": {\n    \"utils\": \"@/lib/utils\"\n  }\n}\n",[428,717,715],{"__ignoreMap":461},[537,719,721],{"id":720},"aliasescomponents","aliases.components",[424,723,724],{},"Import alias for your components.",[455,726,729],{"className":727,"code":728,"language":495,"meta":496},[493],"{\n  \"aliases\": {\n    \"components\": \"@/components\"\n  }\n}\n",[428,730,728],{"__ignoreMap":461},[537,732,734],{"id":733},"aliasesui","aliases.ui",[424,736,737,738,741],{},"Import alias for ",[428,739,740],{},"ui"," components.",[424,743,744,745,747,748,750,751,741],{},"The CLI will use the ",[428,746,734],{}," value to determine where to place your ",[428,749,740],{}," components. Use this config if you want to customize the installation directory for your ",[428,752,740],{},[455,754,757],{"className":755,"code":756,"language":495,"meta":496},[493],"{\n  \"aliases\": {\n    \"ui\": \"@/app/ui\"\n  }\n}\n",[428,758,756],{"__ignoreMap":461},[537,760,762],{"id":761},"aliaseslib","aliases.lib",[424,764,737,765,768,769,673,772,489],{},[428,766,767],{},"lib"," functions such as ",[428,770,771],{},"cn",[428,773,774],{},"valueUpdater",[455,776,779],{"className":777,"code":778,"language":495,"meta":496},[493],"{\n  \"aliases\": {\n    \"lib\": \"@/lib\"\n  }\n}\n",[428,780,778],{"__ignoreMap":461},[537,782,784],{"id":783},"aliasescomposables","aliases.composables",[424,786,737,787,790,791,673,794,489],{},[428,788,789],{},"composables"," such as ",[428,792,793],{},"useMediaQuery",[428,795,796],{},"useToast",[455,798,801],{"className":799,"code":800,"language":495,"meta":496},[493],"{\n  \"aliases\": {\n    \"composables\": \"@/composables\"\n  }\n}\n",[428,802,800],{"__ignoreMap":461},{"title":461,"searchDepth":804,"depth":804,"links":805},2,[806,807,808,816,817],{"id":475,"depth":804,"text":476},{"id":501,"depth":804,"text":501},{"id":526,"depth":804,"text":526,"children":809},[810,812,813,814,815],{"id":539,"depth":811,"text":540},3,{"id":559,"depth":811,"text":560},{"id":572,"depth":811,"text":573},{"id":587,"depth":811,"text":588},{"id":627,"depth":811,"text":628},{"id":640,"depth":804,"text":640},{"id":662,"depth":804,"text":662,"children":818},[819,820,821,822,823],{"id":707,"depth":811,"text":708},{"id":720,"depth":811,"text":721},{"id":733,"depth":811,"text":734},{"id":761,"depth":811,"text":762},{"id":783,"depth":811,"text":784},"Configuration for your project.","md",null,{},"---\ntitle: components.json\ndescription: Configuration for your project.\n---\n\nThe `components.json` file holds configuration for your project.\n\nWe use it to understand how your project is set up and how to generate components customized for your project.\n\n\u003CCallout class=\"mt-6\" title=\"Note: The `components.json` file is optional\">\n\n  It is **only required if you're using the CLI** to add components to your\n  project. If you're using the copy and paste method, you don't need this file.\n\n\u003C/Callout>\n\nYou can create a `components.json` file in your project by running the following command:\n\n```bash\nnpx shadcn-vue@latest init\n```\n\nSee the [CLI section](/docs/cli) for more information.\n\n## $schema\n\nYou can see the JSON Schema for `components.json` [here](https://shadcn-vue.com/schema.json).\n\n```json title=\"components.json\"\n{\n  \"$schema\": \"https://shadcn-vue.com/schema.json\"\n}\n```\n\n## style\n\nThe style for your components. **This cannot be changed after initialization.**\n\n```json title=\"components.json\"\n{\n  \"style\": \"new-york\"\n}\n```\n\nThe `default` style has been deprecated. Use the `new-york` style instead.\n\n## tailwind\n\nConfiguration to help the CLI understand how Tailwind CSS is set up in your project.\n\nSee the \u003Ca href=\"/docs/installation\">installation section\u003C/a> for how to set up Tailwind CSS.\n\n### tailwind.config\n\nPath to where your `tailwind.config.js` file is located. **For Tailwind CSS v4, leave this blank.**\n\n```json title=\"components.json\"\n{\n  \"tailwind\": {\n    \"config\": \"tailwind.config.js\" | \"tailwind.config.ts\"\n  }\n}\n```\n\n### tailwind.css\n\nPath to the CSS file that imports Tailwind CSS into your project.\n\n```json title=\"components.json\"\n{\n  \"tailwind\": {\n    \"css\": \"styles/global.css\"\n  }\n}\n```\n\n### tailwind.baseColor\n\nThis is used to generate the default color palette for your components. **This cannot be changed after initialization.**\n\n```json title=\"components.json\"\n{\n  \"tailwind\": {\n    \"baseColor\": \"gray\" | \"neutral\" | \"slate\" | \"stone\" | \"zinc\"\n  }\n}\n```\n\n### tailwind.cssVariables\n\nYou can choose between using CSS variables or Tailwind CSS utility classes for theming.\n\nTo use utility classes for theming set `tailwind.cssVariables` to `false`. For CSS variables, set `tailwind.cssVariables` to `true`.\n\n```json title=\"components.json\"\n{\n  \"tailwind\": {\n    \"cssVariables\": `true` | `false`\n  }\n}\n```\n\nFor more information, see the \u003CLink href=\"/docs/theming\">theming docs\u003C/Link>.\n\n**This cannot be changed after initialization.** To switch between CSS variables and utility classes, you'll have to delete and re-install your components.\n\n### tailwind.prefix\n\nThe prefix to use for your Tailwind CSS utility classes. Components will be added with this prefix.\n\n```json title=\"components.json\"\n{\n  \"tailwind\": {\n    \"prefix\": \"tw-\"\n  }\n}\n```\n\n## typescript\n\nChoose between TypeScript or JavaScript components.\n\nSetting this option to `false` allows components to be added as JavaScript in `.vue` file.\n\n```json title=\"components.json\"\n{\n  \"typescript\": `true` | `false`\n}\n```\n\n## aliases\n\nThe CLI uses these values and the `paths` config from your `tsconfig.json` or `jsconfig.json` file to place generated components in the correct location.\n\nPath aliases have to be set up in your `tsconfig.json` or `jsconfig.json` file.\n\n\u003CCallout class=\"mt-6\">\n\n  **Important:** If you're using the `src` directory, make sure it is included\n  under `paths` in your `tsconfig.json` or `jsconfig.json` file.\n\n\u003C/Callout>\n\n### aliases.utils\n\nImport alias for your utility functions.\n\n```json title=\"components.json\"\n{\n  \"aliases\": {\n    \"utils\": \"@/lib/utils\"\n  }\n}\n```\n\n### aliases.components\n\nImport alias for your components.\n\n```json title=\"components.json\"\n{\n  \"aliases\": {\n    \"components\": \"@/components\"\n  }\n}\n```\n\n### aliases.ui\n\nImport alias for `ui` components.\n\nThe CLI will use the `aliases.ui` value to determine where to place your `ui` components. Use this config if you want to customize the installation directory for your `ui` components.\n\n```json title=\"components.json\"\n{\n  \"aliases\": {\n    \"ui\": \"@/app/ui\"\n  }\n}\n```\n\n### aliases.lib\n\nImport alias for `lib` functions such as `cn` or `valueUpdater`.\n\n```json title=\"components.json\"\n{\n  \"aliases\": {\n    \"lib\": \"@/lib\"\n  }\n}\n```\n\n### aliases.composables\n\nImport alias for `composables` such as `useMediaQuery` or `useToast`.\n\n```json title=\"components.json\"\n{\n  \"aliases\": {\n    \"composables\": \"@/composables\"\n  }\n}\n```\n",{"title":45,"description":824},"aptPgj4ybeysPekgHiFkUuJCOHRLwgkm7MWGlTFErBI",[832,833],{"title":41,"path":42,"stem":43,"children":-1},{"title":49,"path":50,"stem":51,"children":-1},1775649977113]