[{"data":1,"prerenderedAt":472},["ShallowReactive",2],{"navigation":3,"\u002Ftheming":60,"\u002Ftheming-surround":467},[4,23,40,45,50,55],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Icons","\u002Fgetting-started\u002Ficons","1.getting-started\u002F3.icons","i-lucide-sparkles","i-lucide-rocket",{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":39},"Packages","i-lucide-package","\u002Fpackages","2.packages",[29,34],{"title":30,"path":31,"stem":32,"icon":33},"@vyui\u002Fcore","\u002Fpackages\u002Fcore","2.packages\u002F1.core","i-lucide-box",{"title":35,"path":36,"stem":37,"icon":38},"@vyui\u002Fkit","\u002Fpackages\u002Fkit","2.packages\u002F2.kit","i-lucide-layers",false,{"title":41,"path":42,"stem":43,"icon":44},"Theming","\u002Ftheming","3.theming","i-lucide-palette",{"title":46,"path":47,"stem":48,"icon":49},"Accessibility","\u002Faccessibility","4.accessibility","i-lucide-accessibility",{"title":51,"path":52,"stem":53,"icon":54},"i18n","\u002Fi18n","5.i18n","i-lucide-languages",{"title":56,"path":57,"stem":58,"icon":59},"Roadmap","\u002Froadmap","6.roadmap","i-lucide-map",{"id":61,"title":41,"body":62,"description":460,"extension":461,"links":462,"meta":463,"navigation":464,"path":42,"seo":465,"stem":43,"__hash__":466},"docs\u002F3.theming.md",{"type":63,"value":64,"toc":455},"minimark",[65,80,85,96,100,106,273,277,284,451],[66,67,68,71,72,79],"p",{},[69,70,35],"code",{}," ships a real theme system today — every styled component has its own theme file backed by ",[73,74,78],"a",{"href":75,"rel":76},"https:\u002F\u002Fwww.tailwind-variants.org",[77],"nofollow","Tailwind Variants",", and the whole thing is overridable at runtime.",[81,82,84],"h2",{"id":83},"per-component-themes","Per-component themes",[66,86,87,88,91,92,95],{},"Each ",[69,89,90],{},"Vy*"," component reads a theme file under ",[69,93,94],{},"packages\u002Fkit\u002Fsrc\u002Ftheme",". Override slots, variants, and defaults without forking the source.",[81,97,99],{"id":98},"createtv-tv","createTv + tv",[66,101,102,103,105],{},"Re-exported from ",[69,104,35],{}," so you can compose your own variants on top, with the same DX as Nuxt UI or shadcn.",[107,108,113],"pre",{"className":109,"code":110,"language":111,"meta":112,"style":112},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { tv } from '@vyui\u002Fkit'\n\nconst button = tv({\n  base: 'inline-flex items-center justify-center rounded-md',\n  variants: {\n    color: {\n      primary: 'bg-primary text-inverted',\n      neutral: 'bg-elevated text-default',\n    },\n  },\n})\n","ts","",[69,114,115,147,154,176,197,208,218,235,252,258,264],{"__ignoreMap":112},[116,117,120,124,128,132,135,138,141,144],"span",{"class":118,"line":119},"line",1,[116,121,123],{"class":122},"s7zQu","import",[116,125,127],{"class":126},"sMK4o"," {",[116,129,131],{"class":130},"sTEyZ"," tv",[116,133,134],{"class":126}," }",[116,136,137],{"class":122}," from",[116,139,140],{"class":126}," '",[116,142,35],{"class":143},"sfazB",[116,145,146],{"class":126},"'\n",[116,148,150],{"class":118,"line":149},2,[116,151,153],{"emptyLinePlaceholder":152},true,"\n",[116,155,157,161,164,167,170,173],{"class":118,"line":156},3,[116,158,160],{"class":159},"spNyl","const",[116,162,163],{"class":130}," button ",[116,165,166],{"class":126},"=",[116,168,131],{"class":169},"s2Zo4",[116,171,172],{"class":130},"(",[116,174,175],{"class":126},"{\n",[116,177,179,183,186,188,191,194],{"class":118,"line":178},4,[116,180,182],{"class":181},"swJcz","  base",[116,184,185],{"class":126},":",[116,187,140],{"class":126},[116,189,190],{"class":143},"inline-flex items-center justify-center rounded-md",[116,192,193],{"class":126},"'",[116,195,196],{"class":126},",\n",[116,198,200,203,205],{"class":118,"line":199},5,[116,201,202],{"class":181},"  variants",[116,204,185],{"class":126},[116,206,207],{"class":126}," {\n",[116,209,211,214,216],{"class":118,"line":210},6,[116,212,213],{"class":181},"    color",[116,215,185],{"class":126},[116,217,207],{"class":126},[116,219,221,224,226,228,231,233],{"class":118,"line":220},7,[116,222,223],{"class":181},"      primary",[116,225,185],{"class":126},[116,227,140],{"class":126},[116,229,230],{"class":143},"bg-primary text-inverted",[116,232,193],{"class":126},[116,234,196],{"class":126},[116,236,238,241,243,245,248,250],{"class":118,"line":237},8,[116,239,240],{"class":181},"      neutral",[116,242,185],{"class":126},[116,244,140],{"class":126},[116,246,247],{"class":143},"bg-elevated text-default",[116,249,193],{"class":126},[116,251,196],{"class":126},[116,253,255],{"class":118,"line":254},9,[116,256,257],{"class":126},"    },\n",[116,259,261],{"class":118,"line":260},10,[116,262,263],{"class":126},"  },\n",[116,265,267,270],{"class":118,"line":266},11,[116,268,269],{"class":126},"}",[116,271,272],{"class":130},")\n",[81,274,276],{"id":275},"runtime-app-config","Runtime app config",[66,278,279,280,283],{},"Pass overrides to the ",[69,281,282],{},"VyUI"," plugin at mount time. No build step. Theme keys are deep-merged into the defaults.",[107,285,287],{"className":109,"code":286,"language":111,"meta":112,"style":112},"import { createApp } from '@lynx-js\u002Fvue'\nimport { VyUI } from '@vyui\u002Fkit'\nimport App from '.\u002FApp.vue'\n\ncreateApp(App)\n  .use(VyUI, {\n    ui: {\n      button: {\n        defaultVariants: { color: 'primary' },\n      },\n    },\n  })\n  .mount('#app')\n",[69,288,289,309,328,345,349,357,373,382,391,415,420,424,432],{"__ignoreMap":112},[116,290,291,293,295,298,300,302,304,307],{"class":118,"line":119},[116,292,123],{"class":122},[116,294,127],{"class":126},[116,296,297],{"class":130}," createApp",[116,299,134],{"class":126},[116,301,137],{"class":122},[116,303,140],{"class":126},[116,305,306],{"class":143},"@lynx-js\u002Fvue",[116,308,146],{"class":126},[116,310,311,313,315,318,320,322,324,326],{"class":118,"line":149},[116,312,123],{"class":122},[116,314,127],{"class":126},[116,316,317],{"class":130}," VyUI",[116,319,134],{"class":126},[116,321,137],{"class":122},[116,323,140],{"class":126},[116,325,35],{"class":143},[116,327,146],{"class":126},[116,329,330,332,335,338,340,343],{"class":118,"line":156},[116,331,123],{"class":122},[116,333,334],{"class":130}," App ",[116,336,337],{"class":122},"from",[116,339,140],{"class":126},[116,341,342],{"class":143},".\u002FApp.vue",[116,344,146],{"class":126},[116,346,347],{"class":118,"line":178},[116,348,153],{"emptyLinePlaceholder":152},[116,350,351,354],{"class":118,"line":199},[116,352,353],{"class":169},"createApp",[116,355,356],{"class":130},"(App)\n",[116,358,359,362,365,368,371],{"class":118,"line":210},[116,360,361],{"class":126},"  .",[116,363,364],{"class":169},"use",[116,366,367],{"class":130},"(VyUI",[116,369,370],{"class":126},",",[116,372,207],{"class":126},[116,374,375,378,380],{"class":118,"line":220},[116,376,377],{"class":181},"    ui",[116,379,185],{"class":126},[116,381,207],{"class":126},[116,383,384,387,389],{"class":118,"line":237},[116,385,386],{"class":181},"      button",[116,388,185],{"class":126},[116,390,207],{"class":126},[116,392,393,396,398,400,403,405,407,410,412],{"class":118,"line":254},[116,394,395],{"class":181},"        defaultVariants",[116,397,185],{"class":126},[116,399,127],{"class":126},[116,401,402],{"class":181}," color",[116,404,185],{"class":126},[116,406,140],{"class":126},[116,408,409],{"class":143},"primary",[116,411,193],{"class":126},[116,413,414],{"class":126}," },\n",[116,416,417],{"class":118,"line":260},[116,418,419],{"class":126},"      },\n",[116,421,422],{"class":118,"line":266},[116,423,257],{"class":126},[116,425,427,430],{"class":118,"line":426},12,[116,428,429],{"class":126},"  }",[116,431,272],{"class":130},[116,433,435,437,440,442,444,447,449],{"class":118,"line":434},13,[116,436,361],{"class":126},[116,438,439],{"class":169},"mount",[116,441,172],{"class":130},[116,443,193],{"class":126},[116,445,446],{"class":143},"#app",[116,448,193],{"class":126},[116,450,272],{"class":130},[452,453,454],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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);}",{"title":112,"searchDepth":119,"depth":149,"links":456},[457,458,459],{"id":83,"depth":149,"text":84},{"id":98,"depth":149,"text":99},{"id":275,"depth":149,"text":276},"Override any Vy UI component slot, variant, or default via Tailwind Variants — full theme control without fighting the library.","md",null,{},{"icon":44},{"title":41,"description":460},"kv_WShjjWgzQjqWbxF7Wag04DB6wYMnOHWu5FszIgg4",[468,470],{"title":35,"path":36,"stem":37,"description":469,"icon":38,"children":-1},"Opinionated styled components on top of @vyui\u002Fcore.",{"title":46,"path":47,"stem":48,"description":471,"icon":49,"children":-1},"Vy UI components ship with native Lynx accessibility built in — what you get for free and the one thing you add.",1780388088077]