[{"data":1,"prerenderedAt":382},["ShallowReactive",2],{"docs-nav":3,"docs:\u002Freact\u002Finput":141},[4,82],{"title":5,"path":6,"stem":7,"children":8,"page":81},"React","\u002Freact","react",[9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77],{"title":10,"path":11,"stem":12},"Button","\u002Freact\u002Fbutton","react\u002Fbutton",{"title":14,"path":15,"stem":16},"Checkbox","\u002Freact\u002Fcheckbox","react\u002Fcheckbox",{"title":18,"path":19,"stem":20},"Combobox (Autocomplete)","\u002Freact\u002Fcombobox","react\u002Fcombobox",{"title":22,"path":23,"stem":24},"Dialog (Modal)","\u002Freact\u002Fdialog","react\u002Fdialog",{"title":26,"path":27,"stem":28},"Disclosure","\u002Freact\u002Fdisclosure","react\u002Fdisclosure",{"title":30,"path":31,"stem":32},"Fieldset","\u002Freact\u002Ffieldset","react\u002Ffieldset",{"title":34,"path":35,"stem":36},"Icon","\u002Freact\u002Ficon","react\u002Ficon",{"title":38,"path":39,"stem":40},"Input","\u002Freact\u002Finput","react\u002Finput",{"title":42,"path":43,"stem":44},"Listbox (Select)","\u002Freact\u002Flistbox","react\u002Flistbox",{"title":46,"path":47,"stem":48},"Menu (Dropdown)","\u002Freact\u002Fmenu","react\u002Fmenu",{"title":50,"path":51,"stem":52},"Pattern","\u002Freact\u002Fpattern","react\u002Fpattern",{"title":54,"path":55,"stem":56},"Popover","\u002Freact\u002Fpopover","react\u002Fpopover",{"title":58,"path":59,"stem":60},"Radio Group","\u002Freact\u002Fradio-group","react\u002Fradio-group",{"title":62,"path":63,"stem":64},"Select","\u002Freact\u002Fselect","react\u002Fselect",{"title":66,"path":67,"stem":68},"Switch (Toggle)","\u002Freact\u002Fswitch","react\u002Fswitch",{"title":70,"path":71,"stem":72},"Tabs","\u002Freact\u002Ftabs","react\u002Ftabs",{"title":74,"path":75,"stem":76},"Textarea","\u002Freact\u002Ftextarea","react\u002Ftextarea",{"title":78,"path":79,"stem":80},"Transition","\u002Freact\u002Ftransition","react\u002Ftransition",false,{"title":83,"path":84,"stem":85,"children":86,"page":81},"Vue","\u002Fvue","vue",[87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138],{"title":10,"path":88,"stem":89},"\u002Fvue\u002Fbutton","vue\u002Fbutton",{"title":14,"path":91,"stem":92},"\u002Fvue\u002Fcheckbox","vue\u002Fcheckbox",{"title":18,"path":94,"stem":95},"\u002Fvue\u002Fcombobox","vue\u002Fcombobox",{"title":22,"path":97,"stem":98},"\u002Fvue\u002Fdialog","vue\u002Fdialog",{"title":26,"path":100,"stem":101},"\u002Fvue\u002Fdisclosure","vue\u002Fdisclosure",{"title":30,"path":103,"stem":104},"\u002Fvue\u002Ffieldset","vue\u002Ffieldset",{"title":34,"path":106,"stem":107},"\u002Fvue\u002Ficon","vue\u002Ficon",{"title":38,"path":109,"stem":110},"\u002Fvue\u002Finput","vue\u002Finput",{"title":42,"path":112,"stem":113},"\u002Fvue\u002Flistbox","vue\u002Flistbox",{"title":46,"path":115,"stem":116},"\u002Fvue\u002Fmenu","vue\u002Fmenu",{"title":50,"path":118,"stem":119},"\u002Fvue\u002Fpattern","vue\u002Fpattern",{"title":54,"path":121,"stem":122},"\u002Fvue\u002Fpopover","vue\u002Fpopover",{"title":58,"path":124,"stem":125},"\u002Fvue\u002Fradio-group","vue\u002Fradio-group",{"title":62,"path":127,"stem":128},"\u002Fvue\u002Fselect","vue\u002Fselect",{"title":66,"path":130,"stem":131},"\u002Fvue\u002Fswitch","vue\u002Fswitch",{"title":70,"path":133,"stem":134},"\u002Fvue\u002Ftabs","vue\u002Ftabs",{"title":74,"path":136,"stem":137},"\u002Fvue\u002Ftextarea","vue\u002Ftextarea",{"title":78,"path":139,"stem":140},"\u002Fvue\u002Ftransition","vue\u002Ftransition",{"id":142,"title":38,"body":143,"description":377,"extension":378,"meta":379,"navigation":249,"path":39,"seo":380,"stem":40,"__hash__":381},"docs\u002Freact\u002Finput.md",{"type":144,"value":145,"toc":372},"minimark",[146,151,160,185,205,209,224,337,361,365,368],[147,148,150],"h2",{"id":149},"installation","Installation",[152,153,154,155,159],"p",{},"Install ",[156,157,158],"code",{},"@vinui\u002Freact"," from GitHub with pnpm, then import its stylesheet once, in your root layout or entry file:",[161,162,167],"pre",{"className":163,"code":164,"language":165,"meta":166,"style":166},"language-bash shiki shiki-themes github-light","pnpm add github:vindotski\u002Fvinui#path:packages\u002Freact\n","bash","",[156,168,169],{"__ignoreMap":166},[170,171,174,178,182],"span",{"class":172,"line":173},"line",1,[170,175,177],{"class":176},"s7eDp","pnpm",[170,179,181],{"class":180},"sYBdl"," add",[170,183,184],{"class":180}," github:vindotski\u002Fvinui#path:packages\u002Freact\n",[161,186,190],{"className":187,"code":188,"language":189,"meta":166,"style":166},"language-tsx shiki shiki-themes github-light","import '@vinui\u002Freact\u002Fstyles.css';\n","tsx",[156,191,192],{"__ignoreMap":166},[170,193,194,198,201],{"class":172,"line":173},[170,195,197],{"class":196},"sD7c4","import",[170,199,200],{"class":180}," '@vinui\u002Freact\u002Fstyles.css'",[170,202,204],{"class":203},"sgsFI",";\n",[147,206,208],{"id":207},"usage","Usage",[152,210,211,212,219,220,223],{},"A text input built on ",[213,214,218],"a",{"href":215,"rel":216},"https:\u002F\u002Fheadlessui.com\u002Freact\u002Finput",[217],"nofollow","Headless UI's Input",". Put it in a ",[156,221,222],{},"Field"," to label it:",[161,225,227],{"className":187,"code":226,"language":189,"meta":166,"style":166},"import { ErrorMessage, Field, Input, Label } from '@vinui\u002Freact';\n\n\u003CField>\n  \u003CLabel>Username\u003C\u002FLabel>\n  \u003CInput name=\"username\" invalid={taken} \u002F>\n  {taken && \u003CErrorMessage>That username is taken.\u003C\u002FErrorMessage>}\n\u003C\u002FField>;\n",[156,228,229,244,251,263,279,303,326],{"__ignoreMap":166},[170,230,231,233,236,239,242],{"class":172,"line":173},[170,232,197],{"class":196},[170,234,235],{"class":203}," { ErrorMessage, Field, Input, Label } ",[170,237,238],{"class":196},"from",[170,240,241],{"class":180}," '@vinui\u002Freact'",[170,243,204],{"class":203},[170,245,247],{"class":172,"line":246},2,[170,248,250],{"emptyLinePlaceholder":249},true,"\n",[170,252,254,257,260],{"class":172,"line":253},3,[170,255,256],{"class":203},"\u003C",[170,258,222],{"class":259},"sYu0t",[170,261,262],{"class":203},">\n",[170,264,266,269,272,275,277],{"class":172,"line":265},4,[170,267,268],{"class":203},"  \u003C",[170,270,271],{"class":259},"Label",[170,273,274],{"class":203},">Username\u003C\u002F",[170,276,271],{"class":259},[170,278,262],{"class":203},[170,280,282,284,286,289,292,295,298,300],{"class":172,"line":281},5,[170,283,268],{"class":203},[170,285,38],{"class":259},[170,287,288],{"class":176}," name",[170,290,291],{"class":196},"=",[170,293,294],{"class":180},"\"username\"",[170,296,297],{"class":176}," invalid",[170,299,291],{"class":196},[170,301,302],{"class":203},"{taken} \u002F>\n",[170,304,306,309,312,315,318,321,323],{"class":172,"line":305},6,[170,307,308],{"class":203},"  {taken ",[170,310,311],{"class":196},"&&",[170,313,314],{"class":203}," \u003C",[170,316,317],{"class":259},"ErrorMessage",[170,319,320],{"class":203},">That username is taken.\u003C\u002F",[170,322,317],{"class":259},[170,324,325],{"class":203},">}\n",[170,327,329,332,334],{"class":172,"line":328},7,[170,330,331],{"class":203},"\u003C\u002F",[170,333,222],{"class":259},[170,335,336],{"class":203},">;\n",[152,338,339,342,343,346,347,350,351,350,354,350,357,360],{},[156,340,341],{},"invalid"," gives the input a red border and sets ",[156,344,345],{},"aria-invalid",". All native input props and types (",[156,348,349],{},"email",", ",[156,352,353],{},"password",[156,355,356],{},"number",[156,358,359],{},"date",", …) work as usual.",[147,362,364],{"id":363},"more-to-come","More to come",[152,366,367],{},"Detailed examples, keyboard interaction and the full component API are on their way.",[369,370,371],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}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 pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}",{"title":166,"searchDepth":246,"depth":253,"links":373},[374,375,376],{"id":149,"depth":246,"text":150},{"id":207,"depth":246,"text":208},{"id":363,"depth":246,"text":364},"A text input with an invalid state, labelled by its Field.","md",{},{"title":38,"description":377},"R1ny5X3fwCrQZ-LEAiYwgIFHZy56ZU0b4sI8YEGtt8c",1792929667667]