Input

Tek satırlık bir metin input'u. Bir Field içinde id'sini, açıklamasını, hatasını ve zorunluluk state'ini otomatik olarak alır.

KararlıKaynak kod

Import

tsx
import { Input } from "@merid/react";

Örnekler

Boyutlar

sm 36px, md 46px (varsayılan), lg 50px.

Baş ve son ekler

leading ve trailing, çerçevenin içine dekoratif ikonlar, önekler ya da birimler ekler. Bunlar aria-hidden'dır; anlamlı olan her şeyi (örneğin para birimini) etikette de belirt. İkisinden biri verildiğinde input .mrd-input-group ile sarılır ve className bu sarmalayıcıya geçer.

Geçersiz, devre dışı, salt okunur

invalid, geçersiz stilini ve aria-invalid'i zorlar; Field içinde Field'ın error'unu izler. disabled ve readOnly native attribute'lardır.

Controlled

Input sade bir <input>'tur: kontrol etmek için value + onChange, uncontrolled bırakmak için defaultValue kullan.

meridui.dev/…

API referansı

Input ref'ini <input>'a iletir ve diğer tüm native input attribute'larını olduğu gibi geçirir. className ve style her zaman kök elemana gider: <input>'un kendisine ya da leading veya trailing verildiğinde .mrd-input-group sarmalayıcısına. type varsayılan olarak "text"'tir.

PropTipVarsayılanAçıklama
size"sm" | "md" | "lg""md"Yükseklik: sm 36px, md 46px, lg 50px.
invalidboolean–Geçersiz stilini (`data-invalid`) ve `aria-invalid`'i zorlar. Field içinde onun hatasından türetilir.
leadingReactNode–Metinden önceki dekoratif eleman (ikon, önek).
trailingReactNode–Metinden sonraki dekoratif eleman (ikon, birim).
typestring"text"Native input tipi.

Stil verme

SeçiciDeğerler
.mrd-input<input> elemanı
.mrd-input-groupSarmalayıcı, yalnızca leading ya da trailing verildiğinde
.mrd-input-group__addonEk slot'u, data-side ile: leading · trailing
data-sizesm · md · lg (input ve group üzerinde)
data-invalidGeçersizken bulunur; danger kenarlığını yönetir (semantiği aria-invalid taşır)

Component değişkeni: --mrd-input-height, boyuta göre atanır.

css
.filters .mrd-input {
  --mrd-input-height: 40px;
}

Erişilebilirlik

  • Her input'un bir adı olmalı: görünür bir Label / Field ya da amacı bağlamdan belli olduğunda (arama gibi) aria-label.
  • Placeholder bir etiket değildir; yazmaya başlayınca kaybolur ve kontrastı düşüktür.
TuşNe yapar
TabFocus'u input'a taşır.

Kullanım ilkeleri

Yap

Bir satır tek yükseklikte kalsın diye input size'ını komşu butonlarla eşleştir.

Kaçın

leading ya da trailing içine buton gibi etkileşimli elemanlar koymak. Ekler yardımcı teknolojiden gizlenir.

İlgili sayfalar