Helpers
Hook dışında da kullanabileceğiniz core yardımcılar, ikonlar ve mergeProps.
Core yardımcılar
Framework-agnostic fonksiyonlar: React state olmadan da kullanılabilir:
| Fonksiyon | Açıklama |
|---|---|
getInputType(isVisible) | "password" | "text" |
getButtonAriaAttributes(isVisible, inputId, label?) | Buton için aria-* ve type="button" |
getInputAriaAttributes(isInvalid?, describedBy?) | Opsiyonel aria-invalid / aria-describedby |
import {
getInputType,
getButtonAriaAttributes,
getInputAriaAttributes,
mergeProps,
EyeIcon,
EyeOffIcon,
} from "@virastack/password"
getInputType(false) // "password"
getInputType(true) // "text"
getButtonAriaAttributes(true, "pwd-1")
// {
// "aria-label": "Toggle password visibility",
// "aria-pressed": true,
// "aria-controls": "pwd-1",
// type: "button",
// }
getInputAriaAttributes(true, "pwd-error")
// { "aria-invalid": true, "aria-describedby": "pwd-error" }İkonlar
Varsayılan EyeIcon / EyeOffIcon (16×16 SVG, currentColor). Hook bunları render eder; kendi UI’nızda da import edebilirsiniz.
mergeProps
Hook’un kullandığı birleştirici dışa aktarılır: on* handler’ları zincirler, className string’lerini birleştirir, diğer anahtarlarda sonraki değer kazanır. Kontrollü bileşenlerinizde manuel merge için kullanışlıdır.
