คอมโพเนนต์ทั้งหมด

Input

ช่องกรอกบรรทัดเดียว มีไอคอนนำหน้าและปุ่มท้ายช่อง

ui/field.tsxServer safe

พื้นฐาน

tsx
<Field label="ชื่อที่แสดง">
  <Input autoComplete="name" />
</Field>

ไอคอนนำหน้า

ไอคอนเป็นของตกแต่ง ใช้บอกชนิดของช่อง เช่น ค้นหาหรืออีเมล
tsx
<Input type="search" start={<MagnifyingGlass />} placeholder="พิมพ์ชื่อคอร์สหรือหัวข้อ" />

ปุ่มท้ายช่อง

ส่งปุ่มผ่าน action เช่น แสดงรหัสผ่าน ปุ่มยังกดได้ด้วยคีย์บอร์ด

อย่างน้อย 10 ตัวอักษร

tsx
<Input
  type={shown ? "text" : "password"}
  action={
    <Button size="sm" variant="ghost" iconOnly aria-pressed={shown}
      aria-label={shown ? "ซ่อนรหัสผ่าน" : "แสดงรหัสผ่าน"} onClick={toggle}>
      {shown ? <EyeSlash /> : <Eye />}
    </Button>
  }
/>

ขนาดและสถานะ

tsx
<Input size="sm" />
<Input />
<Input size="lg" />
<Input disabled />
<Input readOnly />

Props

PropTypeDefaultคำอธิบาย
size"sm" | "md" | "lg""md"ความสูง 36 / 44 / 52 px
startReactNode-ไอคอนตกแต่งด้านหน้า
endReactNode-ไอคอนตกแต่งด้านหลัง
actionReactNode-ปุ่มภายในขอบขวา
...propsInputHTMLAttributes-type, autoComplete, inputMode และอื่นๆ

การเข้าถึง

  • ตั้ง type, inputMode และ autoComplete ให้ตรงชนิดข้อมูล มือถือจะเปิดคีย์บอร์ดที่ถูกต้อง
  • ขอบช่องมีคอนทราสต์อย่างน้อย 3:1 กับพื้น ทั้งสองแบรนด์และสองธีม
  • ตัวอักษรขนาด 16 px ขึ้นไป iOS จึงไม่ซูมเมื่อแตะ