ViraStack
  • About
  • Support
HomeGet StartedExamples
ViraStack

A DX-first toolkit for frontend developers: starters, agent rules, form hooks, and a guide.

Products

  • ViraStack Start
  • ViraStack AI
  • ViraStack Mask
  • ViraStack Password
  • ViraStack Guide

Explore

  • About
  • Brand
  • Support

© 2026 ViraStack.

Open source · MIT

Examples

  • All
  • Basic
  • Custom icons
  • Custom text
  • Disabled / readOnly
  • Programmatic
  • Prop merge

Programmatic

Control visibility from code with isVisible, toggle, and setVisible.

← All examples·programmatic

Preview

Status: hidden

import { useViraPassword } from "@virastack/password"
 
function Example() {
  const { inputProps, btnProps, isVisible, setVisible } = useViraPassword({
    defaultVisible: false,
  })
 
  return (
    <div>
      <div className="relative">
        <input
          {...inputProps}
          placeholder="Your password"
          onBlur={() => setVisible(false)}
        />
        <button {...btnProps} />
      </div>
      <p>{isVisible ? "Visible" : "Hidden"}</p>
    </div>
  )
}

Details

  • The hook return includes isVisible, toggle(), and setVisible(visible).
  • Set initial state with defaultVisible.
  • After blur or submit, call setVisible(false) to hide again.
  • When disabled / readOnly, the programmatic API is also a no-op.

For the hook API see useViraPassword(), for styling and icons see customization.

PreviousDisabled / readOnlyNextProp merge

On this page

  • Preview
  • Details
Something wrong? Fix it