π Π€ΠΎΡΠΌΠ°
Π€ΠΎΡΠΌΠ° Π²Ρ ΠΎΠ΄Π°
ΠΡΡΠΈΠ±ΡΡΡ autocomplete Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΈΠ· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ.
<form class="w-full max-w-sm space-y-4 rounded-xl border border-slate-200 bg-white p-5 dark:border-slate-700 dark:bg-slate-900">
<div class="space-y-1.5">
<label class="block text-sm font-medium text-slate-700 dark:text-slate-200" for="pf-mail">ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°</label>
<input id="pf-mail" type="email" autocomplete="email" placeholder="name@example.com"
class="w-full rounded-md border border-slate-300 bg-transparent px-3 py-2 text-sm text-slate-900
placeholder:text-slate-400 focus:border-sky-500 focus:ring-2 focus:ring-sky-500/30 focus:outline-none
dark:border-slate-600 dark:text-slate-100">
</div>
<div class="space-y-1.5">
<div class="flex items-center justify-between">
<label class="text-sm font-medium text-slate-700 dark:text-slate-200" for="pf-pass">ΠΠ°ΡΠΎΠ»Ρ</label>
<a class="text-xs text-sky-700 underline-offset-4 hover:underline dark:text-sky-400" href="#">ΠΠ°Π±ΡΠ»ΠΈ?</a>
</div>
<input id="pf-pass" type="password" autocomplete="current-password"
class="w-full rounded-md border border-slate-300 bg-transparent px-3 py-2 text-sm text-slate-900
focus:border-sky-500 focus:ring-2 focus:ring-sky-500/30 focus:outline-none
dark:border-slate-600 dark:text-slate-100">
</div>
<button class="w-full rounded-md bg-slate-900 px-4 py-2 text-sm font-medium text-white dark:bg-slate-100 dark:text-slate-900">ΠΠΎΠΉΡΠΈ</button>
</form>
ΠΠΎΠ»Π΅ Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΎΠΉ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ
ΠΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° aria-invalid ΠΈ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΏΠΎΠ»Π΅ΠΌ ΡΠ΅ΡΠ΅Π· aria-describedby.
Π€ΠΎΡΠΌΠ°Ρ: +7 ΠΈ Π΄Π΅ΡΡΡΡ ΡΠΈΡΡ
ΠΠΎΠΌΠ΅Ρ Π²Π²Π΅Π΄ΡΠ½ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ
<div class="w-full max-w-sm space-y-1.5">
<label class="block text-sm font-medium text-slate-700 dark:text-slate-200" for="pf-phone">Π’Π΅Π»Π΅ΡΠΎΠ½</label>
<input id="pf-phone" type="tel" inputmode="tel" value="+7 900 12" aria-invalid="true" aria-describedby="pf-phone-hint pf-phone-err"
class="w-full rounded-md border border-slate-300 bg-transparent px-3 py-2 text-sm text-slate-900
aria-invalid:border-rose-500 aria-invalid:bg-rose-50 dark:border-slate-600 dark:text-slate-100 dark:aria-invalid:bg-rose-950/30">
<p id="pf-phone-hint" class="text-xs text-slate-500 dark:text-slate-400">Π€ΠΎΡΠΌΠ°Ρ: +7 ΠΈ Π΄Π΅ΡΡΡΡ ΡΠΈΡΡ</p>
<p id="pf-phone-err" role="alert" class="text-xs text-rose-600 dark:text-rose-400">ΠΠΎΠΌΠ΅Ρ Π²Π²Π΅Π΄ΡΠ½ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ</p>
</div>
Π€ΠΎΡΠΌΠ° Π² Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ
Π¨ΠΈΡΠΎΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ±Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠ΅ΡΠ΅Π· sm:col-span-2.
<form class="grid w-full max-w-2xl gap-4 rounded-xl border border-slate-200 bg-white p-5 sm:grid-cols-2
dark:border-slate-700 dark:bg-slate-900">
<div class="space-y-1.5">
<label class="block text-sm font-medium text-slate-700 dark:text-slate-200" for="pf-first">ΠΠΌΡ</label>
<input id="pf-first" class="w-full rounded-md border border-slate-300 bg-transparent px-3 py-2 text-sm dark:border-slate-600 dark:text-slate-100" value="ΠΡΠΈΠ½Π°">
</div>
<div class="space-y-1.5">
<label class="block text-sm font-medium text-slate-700 dark:text-slate-200" for="pf-last">Π€Π°ΠΌΠΈΠ»ΠΈΡ</label>
<input id="pf-last" class="w-full rounded-md border border-slate-300 bg-transparent px-3 py-2 text-sm dark:border-slate-600 dark:text-slate-100" value="Π‘ΠΎΠΊΠΎΠ»ΠΎΠ²Π°">
</div>
<div class="space-y-1.5 sm:col-span-2">
<label class="block text-sm font-medium text-slate-700 dark:text-slate-200" for="pf-about">Π ΡΠ΅Π±Π΅</label>
<textarea id="pf-about" rows="3" class="w-full rounded-md border border-slate-300 bg-transparent px-3 py-2 text-sm dark:border-slate-600 dark:text-slate-100">ΠΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊ</textarea>
</div>
<div class="flex justify-end gap-2 sm:col-span-2">
<button class="rounded-md px-4 py-2 text-sm font-medium text-slate-600 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800">ΠΡΠΌΠ΅Π½Π°</button>
<button class="rounded-md bg-slate-900 px-4 py-2 text-sm font-medium text-white dark:bg-slate-100 dark:text-slate-900">Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ</button>
</div>
</form>
ΠΡΠ±ΠΎΡ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ
ΠΠ°ΡΡΠΎΡΡΠΈΠ΅ input ΡΠΊΡΡΡΡ ΡΠ΅ΡΠ΅Π· sr-only β ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΡΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
<div class="w-full max-w-lg space-y-4">
<div class="grid gap-2 sm:grid-cols-3">
<label class="cursor-pointer rounded-lg border border-slate-200 p-3 text-center text-sm transition-colors
has-checked:border-sky-500 has-checked:bg-sky-50 dark:border-slate-700 dark:has-checked:bg-sky-950/40">
<input type="radio" name="pf-plan" class="sr-only">Π‘ΡΠ°ΡΡ
</label>
<label class="cursor-pointer rounded-lg border border-slate-200 p-3 text-center text-sm transition-colors
has-checked:border-sky-500 has-checked:bg-sky-50 dark:border-slate-700 dark:has-checked:bg-sky-950/40">
<input type="radio" name="pf-plan" class="sr-only" checked>ΠΠΎΠΌΠ°Π½Π΄Π°
</label>
<label class="cursor-pointer rounded-lg border border-slate-200 p-3 text-center text-sm transition-colors
has-checked:border-sky-500 has-checked:bg-sky-50 dark:border-slate-700 dark:has-checked:bg-sky-950/40">
<input type="radio" name="pf-plan" class="sr-only">ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ
</label>
</div>
<label class="flex cursor-pointer items-center justify-between gap-4 rounded-lg border border-slate-200 p-3 dark:border-slate-700">
<span class="text-sm text-slate-700 dark:text-slate-200">ΠΡΠΈΡΡΠ»Π°ΡΡ ΠΎΡΡΡΡΡ Π½Π° ΠΏΠΎΡΡΡ</span>
<input type="checkbox" checked class="peer sr-only">
<span class="relative h-6 w-11 shrink-0 rounded-full bg-slate-300 transition-colors peer-checked:bg-emerald-500 dark:bg-slate-600">
<span class="absolute top-0.5 left-0.5 size-5 rounded-full bg-white transition-transform peer-checked:translate-x-5"></span>
</span>
</label>
</div>
Π Π°Π·Π±ΠΎΡ
| ΠΠ»Π°ΡΡ | ΠΠ°ΡΠ΅ΠΌ |
|---|---|
space-y-4 | ΡΠΈΡΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΠΌΠΈ |
htmlFor / id | ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΡΠΎΠΊΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Π΅ |
autocomplete | ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ |
inputmode | ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ |
aria-invalid | ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΊΡΠΈΠ½ΡΠΈΠ΄Π΅ΡΠ° |
aria-describedby | ΡΠ²ΡΠ·Ρ ΠΏΠΎΠ»Ρ Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΎΠΉ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ |
role="alert" | ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ |
focus:ring-2 | Π·Π°ΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΎΠΊΡΡ Π² ΠΏΠΎΠ»Π΅ |
Π§Π°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
- ΠΠ»Π΅ΠΉΡΡ ΠΎΠ»Π΄Π΅Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ β ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΈΡΡΠ΅Π·Π°Π΅Ρ.
- ΠΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ.
- ΠΠ΅Ρ
autocompleteβ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½. - ΠΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΠ°.
- ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
- ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ.