āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā š shadcn/directory/sadmann7/diceui/utilities/visually-hidden-input ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
npx shadcn@latest add "https://diceui.com/r/visually-hidden-input"
```package-install
@diceui/visually-hidden-input
```
</Step>
<Step>
Copy and paste the following code into your project.
<ComponentSource src="./registry/default/components/visually-hidden-input.tsx" />
</Step>
</Steps>
import { VisuallyHiddenInput } from "@diceui/visually-hidden-input"
export function CustomForm() {
const [checked, setChecked] = React.useState(false)
const controlRef = React.useRef(null)
return (
<form>
<button
ref={controlRef}
onClick={() => setChecked(!checked)}
aria-checked={checked}
role="checkbox"
>
{checked ? "ā" : ""}
</button>
<VisuallyHiddenInput
type="checkbox"
checked={checked}
control={controlRef.current}
/>
</form>
)
}
A hidden input that maintains form functionality while being visually hidden.
<AutoTypeTable path="./types/docs/utilities.ts" name="VisuallyHiddenInputProps" />
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā