[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"navigation":3,"$fMW9jOOkNpZriWVK3P_bZYNOyYR2IEPvrHsC7cDBlJJc":404,"/docs/registry/registry-item-json":417,"surround-/docs/registry/registry-item-json":951},[4],{"title":5,"path":6,"stem":7,"children":8,"page":18},"Docs","/docs","docs",[9,273,299,317,330,356],{"title":10,"path":11,"stem":12,"children":13,"new":18,"type":272},"Components","/docs/components","docs/02.components",[14,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,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],{"title":15,"path":16,"stem":17,"new":18,"type":19,"children":-1},"Accordion","/docs/components/accordion","docs/components/accordion",false,"component",{"title":21,"path":22,"stem":23,"new":18,"type":19,"children":-1},"Alert","/docs/components/alert","docs/components/alert",{"title":25,"path":26,"stem":27,"new":18,"type":19,"children":-1},"Alert Dialog","/docs/components/alert-dialog","docs/components/alert-dialog",{"title":29,"path":30,"stem":31,"new":18,"type":19,"children":-1},"Aspect Ratio","/docs/components/aspect-ratio","docs/components/aspect-ratio",{"title":33,"path":34,"stem":35,"new":18,"type":19,"children":-1},"Avatar","/docs/components/avatar","docs/components/avatar",{"title":37,"path":38,"stem":39,"new":18,"type":19,"children":-1},"Badge","/docs/components/badge","docs/components/badge",{"title":41,"path":42,"stem":43,"new":18,"type":19,"children":-1},"Breadcrumb","/docs/components/breadcrumb","docs/components/breadcrumb",{"title":45,"path":46,"stem":47,"new":18,"type":19,"children":-1},"Button","/docs/components/button","docs/components/button",{"title":49,"path":50,"stem":51,"new":18,"type":19,"children":-1},"Button Group","/docs/components/button-group","docs/components/button-group",{"title":53,"path":54,"stem":55,"new":18,"type":19,"children":-1},"Calendar","/docs/components/calendar","docs/components/calendar",{"title":57,"path":58,"stem":59,"new":18,"type":19,"children":-1},"Card","/docs/components/card","docs/components/card",{"title":61,"path":62,"stem":63,"new":18,"type":19,"children":-1},"Carousel","/docs/components/carousel","docs/components/carousel",{"title":65,"path":66,"stem":67,"new":18,"type":19,"children":-1},"Chart","/docs/components/chart","docs/components/chart",{"title":69,"path":70,"stem":71,"new":18,"type":19,"children":-1},"Checkbox","/docs/components/checkbox","docs/components/checkbox",{"title":73,"path":74,"stem":75,"new":18,"type":19,"children":-1},"Collapsible","/docs/components/collapsible","docs/components/collapsible",{"title":77,"path":78,"stem":79,"new":18,"type":19,"children":-1},"Combobox","/docs/components/combobox","docs/components/combobox",{"title":81,"path":82,"stem":83,"new":18,"type":19,"children":-1},"Command","/docs/components/command","docs/components/command",{"title":85,"path":86,"stem":87,"new":18,"type":19,"children":-1},"Context Menu","/docs/components/context-menu","docs/components/context-menu",{"title":89,"path":90,"stem":91,"new":18,"type":19,"children":-1},"Data Table","/docs/components/data-table","docs/components/data-table",{"title":93,"path":94,"stem":95,"new":18,"type":19,"children":-1},"Date Picker","/docs/components/date-picker","docs/components/date-picker",{"title":97,"path":98,"stem":99,"new":18,"type":19,"children":-1},"Dialog","/docs/components/dialog","docs/components/dialog",{"title":101,"path":102,"stem":103,"new":18,"type":19,"children":-1},"Drawer","/docs/components/drawer","docs/components/drawer",{"title":105,"path":106,"stem":107,"new":18,"type":19,"children":-1},"Dropdown Menu","/docs/components/dropdown-menu","docs/components/dropdown-menu",{"title":109,"path":110,"stem":111,"new":18,"type":19,"children":-1},"Empty","/docs/components/empty","docs/components/empty",{"title":113,"path":114,"stem":115,"new":18,"type":19,"children":-1},"Field","/docs/components/field","docs/components/field",{"title":117,"path":118,"stem":119,"new":18,"type":19,"children":-1},"Form","/docs/components/form","docs/components/form",{"title":121,"path":122,"stem":123,"new":18,"type":19,"children":-1},"Hover Card","/docs/components/hover-card","docs/components/hover-card",{"title":125,"path":126,"stem":127,"new":18,"type":19,"children":-1},"Input","/docs/components/input","docs/components/input",{"title":129,"path":130,"stem":131,"new":18,"type":19,"children":-1},"Input Group","/docs/components/input-group","docs/components/input-group",{"title":133,"path":134,"stem":135,"new":18,"type":19,"children":-1},"Input OTP","/docs/components/input-otp","docs/components/input-otp",{"title":137,"path":138,"stem":139,"new":18,"type":19,"children":-1},"Item","/docs/components/item","docs/components/item",{"title":141,"path":142,"stem":143,"new":18,"type":19,"children":-1},"Kbd","/docs/components/kbd","docs/components/kbd",{"title":145,"path":146,"stem":147,"new":18,"type":19,"children":-1},"Label","/docs/components/label","docs/components/label",{"title":149,"path":150,"stem":151,"new":18,"type":19,"children":-1},"Menubar","/docs/components/menubar","docs/components/menubar",{"title":153,"path":154,"stem":155,"new":18,"type":19,"children":-1},"Native Select","/docs/components/native-select","docs/components/native-select",{"title":157,"path":158,"stem":159,"new":18,"type":19,"children":-1},"Navigation Menu","/docs/components/navigation-menu","docs/components/navigation-menu",{"title":161,"path":162,"stem":163,"new":18,"type":19,"children":-1},"Number Field","/docs/components/number-field","docs/components/number-field",{"title":165,"path":166,"stem":167,"new":18,"type":19,"children":-1},"Pagination","/docs/components/pagination","docs/components/pagination",{"title":169,"path":170,"stem":171,"new":18,"type":19,"children":-1},"Pin Input","/docs/components/pin-input","docs/components/pin-input",{"title":173,"path":174,"stem":175,"new":18,"type":19,"children":-1},"Popover","/docs/components/popover","docs/components/popover",{"title":177,"path":178,"stem":179,"new":18,"type":19,"children":-1},"Progress","/docs/components/progress","docs/components/progress",{"title":181,"path":182,"stem":183,"new":18,"type":19,"children":-1},"Radio Group","/docs/components/radio-group","docs/components/radio-group",{"title":185,"path":186,"stem":187,"new":18,"type":19,"children":-1},"Range Calendar","/docs/components/range-calendar","docs/components/range-calendar",{"title":189,"path":190,"stem":191,"new":18,"type":19,"children":-1},"Resizable","/docs/components/resizable","docs/components/resizable",{"title":193,"path":194,"stem":195,"new":18,"type":19,"children":-1},"Scroll Area","/docs/components/scroll-area","docs/components/scroll-area",{"title":197,"path":198,"stem":199,"new":18,"type":19,"children":-1},"Select","/docs/components/select","docs/components/select",{"title":201,"path":202,"stem":203,"new":18,"type":19,"children":-1},"Separator","/docs/components/separator","docs/components/separator",{"title":205,"path":206,"stem":207,"new":18,"type":19,"children":-1},"Sheet","/docs/components/sheet","docs/components/sheet",{"title":209,"path":210,"stem":211,"new":18,"type":19,"children":-1},"Sidebar","/docs/components/sidebar","docs/components/sidebar",{"title":213,"path":214,"stem":215,"new":18,"type":19,"children":-1},"Skeleton","/docs/components/skeleton","docs/components/skeleton",{"title":217,"path":218,"stem":219,"new":18,"type":19,"children":-1},"Slider","/docs/components/slider","docs/components/slider",{"title":221,"path":222,"stem":223,"new":18,"type":19,"children":-1},"Sonner","/docs/components/sonner","docs/components/sonner",{"title":225,"path":226,"stem":227,"new":18,"type":19,"children":-1},"Spinner","/docs/components/spinner","docs/components/spinner",{"title":229,"path":230,"stem":231,"new":18,"type":19,"children":-1},"Stepper","/docs/components/stepper","docs/components/stepper",{"title":233,"path":234,"stem":235,"new":18,"type":19,"children":-1},"Switch","/docs/components/switch","docs/components/switch",{"title":237,"path":238,"stem":239,"new":18,"type":19,"children":-1},"Table","/docs/components/table","docs/components/table",{"title":241,"path":242,"stem":243,"new":18,"type":19,"children":-1},"Tabs","/docs/components/tabs","docs/components/tabs",{"title":245,"path":246,"stem":247,"new":18,"type":19,"children":-1},"Tags Input","/docs/components/tags-input","docs/components/tags-input",{"title":249,"path":250,"stem":251,"new":18,"type":19,"children":-1},"Textarea","/docs/components/textarea","docs/components/textarea",{"title":253,"path":254,"stem":255,"new":18,"type":19,"children":-1},"Toast","/docs/components/toast","docs/components/toast",{"title":257,"path":258,"stem":259,"new":18,"type":19,"children":-1},"Toggle","/docs/components/toggle","docs/components/toggle",{"title":261,"path":262,"stem":263,"new":18,"type":19,"children":-1},"Toggle Group","/docs/components/toggle-group","docs/components/toggle-group",{"title":265,"path":266,"stem":267,"new":18,"type":19,"children":-1},"Tooltip","/docs/components/tooltip","docs/components/tooltip",{"title":269,"path":270,"stem":271,"new":18,"type":19,"children":-1},"Typography","/docs/components/typography","docs/components/typography","group",{"title":274,"path":275,"stem":276,"children":277,"new":18,"type":272},"Installation","/docs/installation","docs/02.installation",[278,283,287,291,295],{"title":279,"path":280,"stem":281,"new":18,"type":282,"children":-1},"Vite","/docs/installation/vite","docs/installation/01.vite","page",{"title":284,"path":285,"stem":286,"new":18,"type":282,"children":-1},"Nuxt","/docs/installation/nuxt","docs/installation/02.nuxt",{"title":288,"path":289,"stem":290,"new":18,"type":282,"children":-1},"Astro","/docs/installation/astro","docs/installation/03.astro",{"title":292,"path":293,"stem":294,"new":18,"type":282,"children":-1},"Laravel","/docs/installation/laravel","docs/installation/04.laravel",{"title":296,"path":297,"stem":298,"new":18,"type":282,"children":-1},"Manual Installation","/docs/installation/manual","docs/installation/05.manual",{"title":300,"path":301,"stem":302,"children":303,"new":18,"type":272},"Dark Mode","/docs/dark-mode","docs/05.dark-mode",[304,307,310,314],{"title":279,"path":305,"stem":306,"new":18,"type":282,"children":-1},"/docs/dark-mode/vite","docs/dark-mode/01.vite",{"title":284,"path":308,"stem":309,"new":18,"type":282,"children":-1},"/docs/dark-mode/nuxt","docs/dark-mode/02.nuxt",{"title":311,"path":312,"stem":313,"new":18,"type":282,"children":-1},"Vitepress","/docs/dark-mode/vitepress","docs/dark-mode/03.vitepress",{"title":288,"path":315,"stem":316,"new":18,"type":282,"children":-1},"/docs/dark-mode/astro","docs/dark-mode/04.astro",{"title":318,"path":319,"stem":320,"children":321,"new":18,"type":272},"Forms","/docs/forms","docs/forms",[322,326],{"title":323,"path":324,"stem":325,"new":18,"type":282,"children":-1},"VeeValidate","/docs/forms/vee-validate","docs/forms/01.vee-validate",{"title":327,"path":328,"stem":329,"new":18,"type":282,"children":-1},"TanStack Form","/docs/forms/tanstack-form","docs/forms/02.tanstack-form",{"title":331,"path":332,"stem":333,"children":334,"new":18,"type":272},"Registry","/docs/registry","docs/registry/index",[335,336,340,344,348,352],{"title":331,"path":332,"stem":333,"new":18,"type":282,"children":-1},{"title":337,"path":338,"stem":339,"new":18,"type":282,"children":-1},"Examples","/docs/registry/examples","docs/registry/examples",{"title":341,"path":342,"stem":343,"new":18,"type":282,"children":-1},"FAQ","/docs/registry/faq","docs/registry/faq",{"title":345,"path":346,"stem":347,"new":18,"type":282,"children":-1},"Getting Started","/docs/registry/getting-started","docs/registry/getting-started",{"title":349,"path":350,"stem":351,"new":18,"type":282,"children":-1},"registry-item.json","/docs/registry/registry-item-json","docs/registry/registry-item-json",{"title":353,"path":354,"stem":355,"new":18,"type":282,"children":-1},"registry.json","/docs/registry/registry-json","docs/registry/registry-json",{"path":6,"stem":7,"title":357,"type":272,"children":358},"Get Started",[359,363,370,374,378,384,388,392,396,400],{"title":360,"path":361,"stem":362,"new":18,"type":282,"children":-1},"Introduction","/docs/introduction","docs/01.introduction",{"title":274,"path":275,"stem":276,"children":364,"new":18,"type":272},[365,366,367,368,369],{"title":279,"path":280,"stem":281,"new":18,"type":282,"children":-1},{"title":284,"path":285,"stem":286,"new":18,"type":282,"children":-1},{"title":288,"path":289,"stem":290,"new":18,"type":282,"children":-1},{"title":292,"path":293,"stem":294,"new":18,"type":282,"children":-1},{"title":296,"path":297,"stem":298,"new":18,"type":282,"children":-1},{"title":371,"path":372,"stem":373,"new":18,"type":282,"children":-1},"components.json","/docs/components-json","docs/03.components-json",{"title":375,"path":376,"stem":377,"new":18,"type":282,"children":-1},"Theming","/docs/theming","docs/04.theming",{"title":300,"path":301,"stem":302,"children":379,"new":18,"type":272},[380,381,382,383],{"title":279,"path":305,"stem":306,"new":18,"type":282,"children":-1},{"title":284,"path":308,"stem":309,"new":18,"type":282,"children":-1},{"title":311,"path":312,"stem":313,"new":18,"type":282,"children":-1},{"title":288,"path":315,"stem":316,"new":18,"type":282,"children":-1},{"title":385,"path":386,"stem":387,"new":18,"type":282,"children":-1},"CLI","/docs/cli","docs/06.cli",{"title":389,"path":390,"stem":391,"new":18,"type":282,"children":-1},"JavaScript","/docs/javascript","docs/07.javascript",{"title":393,"path":394,"stem":395,"new":18,"type":282,"children":-1},"Figma","/docs/figma","docs/09.figma",{"title":397,"path":398,"stem":399,"new":18,"type":282,"children":-1},"Changelog","/docs/changelog","docs/10.changelog",{"title":401,"path":402,"stem":403,"new":18,"type":282,"children":-1},"Legacy Docs","/docs/legacy","docs/11.legacy",{"repo":405},{"id":406,"name":407,"repo":408,"description":409,"createdAt":410,"updatedAt":411,"pushedAt":412,"stars":413,"watchers":414,"forks":415,"defaultBranch":416},658791894,"shadcn-vue","unovue/shadcn-vue","Vue port of shadcn-ui","2023-06-26T13:53:23Z","2026-04-14T10:18:37Z","2026-04-13T06:37:16Z",9755,38,638,"dev",{"id":418,"title":349,"body":419,"description":943,"extension":944,"links":945,"meta":946,"navigation":947,"new":18,"path":350,"rawbody":948,"seo":949,"stem":351,"__hash__":950},"content/docs/registry/registry-item-json.md",{"type":420,"value":421,"toc":922},"minimark",[422,430,441,446,460,465,473,479,482,487,493,496,499,505,508,513,519,522,527,533,536,626,629,634,637,643,646,655,662,668,672,675,706,712,715,718,733,746,752,755,760,763,772,774,783,792,801,804,814,828,835,841,845,848,854,857,875,881,883,888,894,897,902,908,911,916],[423,424,425,426,429],"p",{},"The ",[427,428,349],"code",{}," schema is used to define your custom registry items.",[431,432,438],"pre",{"className":433,"code":435,"language":436,"meta":437},[434],"language-json","{\n  \"$schema\": \"https://shadcn-vue.com/schema/registry-item.json\",\n  \"name\": \"hello-world\",\n  \"type\": \"registry:block\",\n  \"title\": \"Hello World\",\n  \"description\": \"A simple hello world component.\",\n  \"files\": [\n    {\n      \"path\": \"registry/new-york/HelloWorld/HelloWorld.vue\",\n      \"type\": \"registry:component\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/useHelloWorld.ts\",\n      \"type\": \"registry:hook\"\n    }\n  ]\n}\n","json","showLineNumbers title=\"registry-item.json\"",[427,439,435],{"__ignoreMap":440},"",[442,443,445],"h2",{"id":444},"definitions","Definitions",[423,447,448,449,451,452,459],{},"You can see the JSON Schema for ",[427,450,349],{}," ",[453,454,458],"a",{"href":455,"rel":456},"https://shadcn-vue.com/schema/registry-item.json",[457],"nofollow","here",".",[461,462,464],"h3",{"id":463},"schema","$schema",[423,466,425,467,469,470,472],{},[427,468,464],{}," property is used to specify the schema for the ",[427,471,349],{}," file.",[431,474,477],{"className":475,"code":476,"language":436,"meta":437},[434],"{\n  \"$schema\": \"https://shadcn-vue.com/schema/registry-item.json\"\n}\n",[427,478,476],{"__ignoreMap":440},[461,480,481],{"id":481},"name",[423,483,425,484,486],{},[427,485,481],{}," property is used to specify the name of your registry item.",[431,488,491],{"className":489,"code":490,"language":436,"meta":437},[434],"{\n  \"name\": \"hello-world\"\n}\n",[427,492,490],{"__ignoreMap":440},[461,494,495],{"id":495},"title",[423,497,498],{},"A human-readable title for your registry item. Keep it short and descriptive.",[431,500,503],{"className":501,"code":502,"language":436,"meta":437},[434],"{\n  \"title\": \"Hello World\"\n}\n",[427,504,502],{"__ignoreMap":440},[461,506,507],{"id":507},"description",[423,509,510,511,459],{},"A description of your registry item. This can be longer and more detailed than the ",[427,512,495],{},[431,514,517],{"className":515,"code":516,"language":436,"meta":437},[434],"{\n  \"description\": \"A simple hello world component.\"\n}\n",[427,518,516],{"__ignoreMap":440},[461,520,521],{"id":521},"type",[423,523,425,524,526],{},[427,525,521],{}," property is used to specify the type of your registry item.",[431,528,531],{"className":529,"code":530,"language":436,"meta":437},[434],"{\n  \"type\": \"registry:block\"\n}\n",[427,532,530],{"__ignoreMap":440},[423,534,535],{},"The following types are supported:",[537,538,539,552],"table",{},[540,541,542],"thead",{},[543,544,545,549],"tr",{},[546,547,548],"th",{},"Type",[546,550,551],{},"Description",[553,554,555,566,576,586,596,606,616],"tbody",{},[543,556,557,563],{},[558,559,560],"td",{},[427,561,562],{},"registry:block",[558,564,565],{},"Use for complex components with multiple files.",[543,567,568,573],{},[558,569,570],{},[427,571,572],{},"registry:component",[558,574,575],{},"Use for simple components.",[543,577,578,583],{},[558,579,580],{},[427,581,582],{},"registry:lib",[558,584,585],{},"Use for lib and utils.",[543,587,588,593],{},[558,589,590],{},[427,591,592],{},"registry:hook",[558,594,595],{},"Use for composables (hooks).",[543,597,598,603],{},[558,599,600],{},[427,601,602],{},"registry:ui",[558,604,605],{},"Use for UI components and single-file primitives",[543,607,608,613],{},[558,609,610],{},[427,611,612],{},"registry:page",[558,614,615],{},"Use for page or file-based routes.",[543,617,618,623],{},[558,619,620],{},[427,621,622],{},"registry:file",[558,624,625],{},"Use for miscellaneous files.",[461,627,628],{"id":628},"author",[423,630,425,631,633],{},[427,632,628],{}," property is used to specify the author of the registry item.",[423,635,636],{},"It can be unique to the registry item or the same as the author of the registry.",[431,638,641],{"className":639,"code":640,"language":436,"meta":437},[434],"{\n  \"author\": \"John Doe \u003Cjohn@doe.com>\"\n}\n",[427,642,640],{"__ignoreMap":440},[461,644,645],{"id":645},"dependencies",[423,647,425,648,650,651,654],{},[427,649,645],{}," property is used to specify the dependencies of your registry item. This is for ",[427,652,653],{},"npm"," packages.",[423,656,657,658,661],{},"Use ",[427,659,660],{},"@version"," to specify the version of your registry item.",[431,663,666],{"className":664,"code":665,"language":436,"meta":437},[434],"{\n  \"dependencies\": [\n    \"reka-ui\",\n    \"zod\",\n    \"lucide-vue-next\",\n    \"name@1.0.2\"\n  ]\n}\n",[427,667,665],{"__ignoreMap":440},[461,669,671],{"id":670},"registrydependencies","registryDependencies",[423,673,674],{},"Used for registry dependencies. Can be names or URLs.",[676,677,678,700],"ul",{},[679,680,681,682,685,686,689,690,689,693,696,697,459],"li",{},"For ",[427,683,684],{},"shadcn/ui"," registry items such as ",[427,687,688],{},"button",", ",[427,691,692],{},"input",[427,694,695],{},"select",", etc use the name eg. ",[427,698,699],{},"['button', 'input', 'select']",[679,701,702,703,459],{},"For custom registry items use the URL of the registry item eg. ",[427,704,705],{},"['https://example.com/r/hello-world.json']",[431,707,710],{"className":708,"code":709,"language":436,"meta":437},[434],"{\n  \"registryDependencies\": [\n    \"button\",\n    \"input\",\n    \"select\",\n    \"https://example.com/r/editor.json\"\n  ]\n}\n",[427,711,709],{"__ignoreMap":440},[423,713,714],{},"Note: The CLI will automatically resolve remote registry dependencies.",[461,716,717],{"id":717},"files",[423,719,425,720,722,723,689,726,728,729,732],{},[427,721,717],{}," property is used to specify the files of your registry item. Each file has a ",[427,724,725],{},"path",[427,727,521],{}," and ",[427,730,731],{},"target"," (optional) property.",[423,734,735],{},[736,737,425,738,740,741,728,743,745],"strong",{},[427,739,731],{}," property is required for ",[427,742,612],{},[427,744,622],{}," types.",[431,747,750],{"className":748,"code":749,"language":436,"meta":437},[434],"{\n  \"files\": [\n    {\n      \"path\": \"registry/new-york/HelloWorld/page.vue\",\n      \"type\": \"registry:page\",\n      \"target\": \"pages/hello/index.vue\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/HelloWorld.vue\",\n      \"type\": \"registry:component\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/useHelloWorld.ts\",\n      \"type\": \"registry:hook\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/.env\",\n      \"type\": \"registry:file\",\n      \"target\": \"~/.env\"\n    }\n  ]\n}\n",[427,751,749],{"__ignoreMap":440},[753,754,725],"h4",{"id":725},[423,756,425,757,759],{},[427,758,725],{}," property is used to specify the path to the file in your registry. This path is used by the build script to parse, transform and build the registry JSON payload.",[753,761,521],{"id":762},"type-1",[423,764,425,765,767,768,771],{},[427,766,521],{}," property is used to specify the type of the file. See the ",[453,769,521],{"href":770},"#type"," section for more information.",[753,773,731],{"id":731},[423,775,425,776,778,779,728,781,745],{},[427,777,731],{}," property is used to indicate where the file should be placed in a project. This is optional and only required for ",[427,780,612],{},[427,782,622],{},[423,784,785,786,788,789,791],{},"By default, the ",[427,787,407],{}," cli will read a project's ",[427,790,371],{}," file to determine the target path. For some files, such as routes or config you can specify the target path manually.",[423,793,657,794,797,798,459],{},[427,795,796],{},"~"," to refer to the root of the project e.g ",[427,799,800],{},"~/foo.config.js",[461,802,803],{"id":803},"tailwind",[423,805,806,809,810,813],{},[736,807,808],{},"DEPRECATED:"," Use ",[427,811,812],{},"cssVars.theme"," instead for Tailwind v4 projects.",[423,815,425,816,818,819,689,822,728,825,459],{},[427,817,803],{}," property is used for tailwind configuration such as ",[427,820,821],{},"theme",[427,823,824],{},"plugins",[427,826,827],{},"content",[423,829,830,831,834],{},"You can use the ",[427,832,833],{},"tailwind.config"," property to add colors, animations and plugins to your registry item.",[431,836,839],{"className":837,"code":838,"language":436,"meta":437},[434],"{\n  \"tailwind\": {\n    \"config\": {\n      \"theme\": {\n        \"extend\": {\n          \"colors\": {\n            \"brand\": \"hsl(var(--brand))\"\n          },\n          \"keyframes\": {\n            \"wiggle\": {\n              \"0%, 100%\": { \"transform\": \"rotate(-3deg)\" },\n              \"50%\": { \"transform\": \"rotate(3deg)\" }\n            }\n          },\n          \"animation\": {\n            \"wiggle\": \"wiggle 1s ease-in-out infinite\"\n          }\n        }\n      }\n    }\n  }\n}\n",[427,840,838],{"__ignoreMap":440},[461,842,844],{"id":843},"cssvars","cssVars",[423,846,847],{},"Use to define CSS variables for your registry item.",[431,849,852],{"className":850,"code":851,"language":436,"meta":437},[434],"{\n  \"cssVars\": {\n    \"light\": {\n      \"brand\": \"20 14.3% 4.1%\",\n      \"radius\": \"0.5rem\"\n    },\n    \"dark\": {\n      \"brand\": \"20 14.3% 4.1%\"\n    }\n  }\n}\n",[427,853,851],{"__ignoreMap":440},[461,855,856],{"id":856},"css",[423,858,657,859,861,862,689,865,689,868,689,871,874],{},[427,860,856],{}," to add new rules to the project's CSS file eg. ",[427,863,864],{},"@layer base",[427,866,867],{},"@layer components",[427,869,870],{},"@utility",[427,872,873],{},"@keyframes",", etc.",[431,876,879],{"className":877,"code":878,"language":436,"meta":437},[434],"{\n  \"css\": {\n    \"@layer base\": {\n      \"body\": {\n        \"font-size\": \"var(--text-base)\",\n        \"line-height\": \"1.5\"\n      }\n    },\n    \"@layer components\": {\n      \"button\": {\n        \"background-color\": \"var(--color-primary)\",\n        \"color\": \"var(--color-white)\"\n      }\n    },\n    \"@utility text-magic\": {\n      \"font-size\": \"var(--text-base)\",\n      \"line-height\": \"1.5\"\n    },\n    \"@keyframes wiggle\": {\n      \"0%, 100%\": {\n        \"transform\": \"rotate(-3deg)\"\n      },\n      \"50%\": {\n        \"transform\": \"rotate(3deg)\"\n      }\n    }\n  }\n}\n",[427,880,878],{"__ignoreMap":440},[461,882,7],{"id":7},[423,884,657,885,887],{},[427,886,7],{}," to show custom documentation or message when installing your registry item via the CLI.",[431,889,892],{"className":890,"code":891,"language":436,"meta":437},[434],"{\n  \"docs\": \"Remember to add the FOO_BAR environment variable to your .env file.\"\n}\n",[427,893,891],{"__ignoreMap":440},[461,895,896],{"id":896},"categories",[423,898,657,899,901],{},[427,900,896],{}," to organize your registry item.",[431,903,906],{"className":904,"code":905,"language":436,"meta":437},[434],"{\n  \"categories\": [\"sidebar\", \"dashboard\"]\n}\n",[427,907,905],{"__ignoreMap":440},[461,909,910],{"id":910},"meta",[423,912,657,913,915],{},[427,914,910],{}," to add additional metadata to your registry item. You can add any key/value pair that you want to be available to the registry item.",[431,917,920],{"className":918,"code":919,"language":436,"meta":437},[434],"{\n  \"meta\": { \"foo\": \"bar\" }\n}\n",[427,921,919],{"__ignoreMap":440},{"title":440,"searchDepth":923,"depth":923,"links":924},2,[925],{"id":444,"depth":923,"text":445,"children":926},[927,929,930,931,932,933,934,935,936,937,938,939,940,941,942],{"id":463,"depth":928,"text":464},3,{"id":481,"depth":928,"text":481},{"id":495,"depth":928,"text":495},{"id":507,"depth":928,"text":507},{"id":521,"depth":928,"text":521},{"id":628,"depth":928,"text":628},{"id":645,"depth":928,"text":645},{"id":670,"depth":928,"text":671},{"id":717,"depth":928,"text":717},{"id":803,"depth":928,"text":803},{"id":843,"depth":928,"text":844},{"id":856,"depth":928,"text":856},{"id":7,"depth":928,"text":7},{"id":896,"depth":928,"text":896},{"id":910,"depth":928,"text":910},"Specification for registry items.","md",null,{},true,"---\ntitle: registry-item.json\ndescription: Specification for registry items.\n---\n\nThe `registry-item.json` schema is used to define your custom registry items.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"$schema\": \"https://shadcn-vue.com/schema/registry-item.json\",\n  \"name\": \"hello-world\",\n  \"type\": \"registry:block\",\n  \"title\": \"Hello World\",\n  \"description\": \"A simple hello world component.\",\n  \"files\": [\n    {\n      \"path\": \"registry/new-york/HelloWorld/HelloWorld.vue\",\n      \"type\": \"registry:component\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/useHelloWorld.ts\",\n      \"type\": \"registry:hook\"\n    }\n  ]\n}\n```\n\n## Definitions\n\nYou can see the JSON Schema for `registry-item.json` [here](https://shadcn-vue.com/schema/registry-item.json).\n\n### $schema\n\nThe `$schema` property is used to specify the schema for the `registry-item.json` file.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"$schema\": \"https://shadcn-vue.com/schema/registry-item.json\"\n}\n```\n\n### name\n\nThe `name` property is used to specify the name of your registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"name\": \"hello-world\"\n}\n```\n\n### title\n\nA human-readable title for your registry item. Keep it short and descriptive.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"title\": \"Hello World\"\n}\n```\n\n### description\n\nA description of your registry item. This can be longer and more detailed than the `title`.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"description\": \"A simple hello world component.\"\n}\n```\n\n### type\n\nThe `type` property is used to specify the type of your registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"type\": \"registry:block\"\n}\n```\n\nThe following types are supported:\n\n| Type                 | Description                                      |\n| -------------------- | ------------------------------------------------ |\n| `registry:block`     | Use for complex components with multiple files.  |\n| `registry:component` | Use for simple components.                       |\n| `registry:lib`       | Use for lib and utils.                           |\n| `registry:hook`      | Use for composables (hooks).                                   |\n| `registry:ui`        | Use for UI components and single-file primitives |\n| `registry:page`      | Use for page or file-based routes.               |\n| `registry:file`      | Use for miscellaneous files.                     |\n\n### author\n\nThe `author` property is used to specify the author of the registry item.\n\nIt can be unique to the registry item or the same as the author of the registry.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"author\": \"John Doe \u003Cjohn@doe.com>\"\n}\n```\n\n### dependencies\n\nThe `dependencies` property is used to specify the dependencies of your registry item. This is for `npm` packages.\n\nUse `@version` to specify the version of your registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"dependencies\": [\n    \"reka-ui\",\n    \"zod\",\n    \"lucide-vue-next\",\n    \"name@1.0.2\"\n  ]\n}\n```\n\n### registryDependencies\n\nUsed for registry dependencies. Can be names or URLs.\n\n- For `shadcn/ui` registry items such as `button`, `input`, `select`, etc use the name eg. `['button', 'input', 'select']`.\n- For custom registry items use the URL of the registry item eg. `['https://example.com/r/hello-world.json']`.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"registryDependencies\": [\n    \"button\",\n    \"input\",\n    \"select\",\n    \"https://example.com/r/editor.json\"\n  ]\n}\n```\n\nNote: The CLI will automatically resolve remote registry dependencies.\n\n### files\n\nThe `files` property is used to specify the files of your registry item. Each file has a `path`, `type` and `target` (optional) property.\n\n**The `target` property is required for `registry:page` and `registry:file` types.**\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"files\": [\n    {\n      \"path\": \"registry/new-york/HelloWorld/page.vue\",\n      \"type\": \"registry:page\",\n      \"target\": \"pages/hello/index.vue\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/HelloWorld.vue\",\n      \"type\": \"registry:component\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/useHelloWorld.ts\",\n      \"type\": \"registry:hook\"\n    },\n    {\n      \"path\": \"registry/new-york/HelloWorld/.env\",\n      \"type\": \"registry:file\",\n      \"target\": \"~/.env\"\n    }\n  ]\n}\n```\n\n#### path\n\nThe `path` property is used to specify the path to the file in your registry. This path is used by the build script to parse, transform and build the registry JSON payload.\n\n#### type\n\nThe `type` property is used to specify the type of the file. See the [type](#type) section for more information.\n\n#### target\n\nThe `target` property is used to indicate where the file should be placed in a project. This is optional and only required for `registry:page` and `registry:file` types.\n\nBy default, the `shadcn-vue` cli will read a project's `components.json` file to determine the target path. For some files, such as routes or config you can specify the target path manually.\n\nUse `~` to refer to the root of the project e.g `~/foo.config.js`.\n\n### tailwind\n\n**DEPRECATED:** Use `cssVars.theme` instead for Tailwind v4 projects.\n\nThe `tailwind` property is used for tailwind configuration such as `theme`, `plugins` and `content`.\n\nYou can use the `tailwind.config` property to add colors, animations and plugins to your registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"tailwind\": {\n    \"config\": {\n      \"theme\": {\n        \"extend\": {\n          \"colors\": {\n            \"brand\": \"hsl(var(--brand))\"\n          },\n          \"keyframes\": {\n            \"wiggle\": {\n              \"0%, 100%\": { \"transform\": \"rotate(-3deg)\" },\n              \"50%\": { \"transform\": \"rotate(3deg)\" }\n            }\n          },\n          \"animation\": {\n            \"wiggle\": \"wiggle 1s ease-in-out infinite\"\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### cssVars\n\nUse to define CSS variables for your registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"cssVars\": {\n    \"light\": {\n      \"brand\": \"20 14.3% 4.1%\",\n      \"radius\": \"0.5rem\"\n    },\n    \"dark\": {\n      \"brand\": \"20 14.3% 4.1%\"\n    }\n  }\n}\n```\n\n### css\n\nUse `css` to add new rules to the project's CSS file eg. `@layer base`, `@layer components`, `@utility`, `@keyframes`, etc.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"css\": {\n    \"@layer base\": {\n      \"body\": {\n        \"font-size\": \"var(--text-base)\",\n        \"line-height\": \"1.5\"\n      }\n    },\n    \"@layer components\": {\n      \"button\": {\n        \"background-color\": \"var(--color-primary)\",\n        \"color\": \"var(--color-white)\"\n      }\n    },\n    \"@utility text-magic\": {\n      \"font-size\": \"var(--text-base)\",\n      \"line-height\": \"1.5\"\n    },\n    \"@keyframes wiggle\": {\n      \"0%, 100%\": {\n        \"transform\": \"rotate(-3deg)\"\n      },\n      \"50%\": {\n        \"transform\": \"rotate(3deg)\"\n      }\n    }\n  }\n}\n```\n\n### docs\n\nUse `docs` to show custom documentation or message when installing your registry item via the CLI.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"docs\": \"Remember to add the FOO_BAR environment variable to your .env file.\"\n}\n```\n\n### categories\n\nUse `categories` to organize your registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"categories\": [\"sidebar\", \"dashboard\"]\n}\n```\n\n### meta\n\nUse `meta` to add additional metadata to your registry item. You can add any key/value pair that you want to be available to the registry item.\n\n```json showLineNumbers title=\"registry-item.json\"\n{\n  \"meta\": { \"foo\": \"bar\" }\n}\n```\n",{"title":349,"description":943},"S5PzQlaEuB5pV7Y992oJgV1uHV0Yl2hlupyZFA4N93w",[952,953],{"title":345,"path":346,"stem":347,"children":-1},{"title":353,"path":354,"stem":355,"children":-1},1776258656654]