
# Приставка за формуляри

`@tailwindcss/forms` е 1:1 PHP порт на официалния плъгин за формуляри. Той предоставя последователни базови стилове за контролите във формуляри — текстови полета, текстови области, падащи менюта, квадратчета за отметка и радио бутони — като ги привежда към обща основа (нулиране на външния вид, рамка, вътрешни отстояния, контур при фокус, персонализирана стрелка за падащо меню и икони за квадратчета и радио бутони), които след това можете да променяте с помощни класове.

## Употреба

Заредете приставката с `@plugin` и импортирайте слоя с помощни класове:

```php
use TailwindPHP\tw;

$css = tw::generate(
    '<input class="form-input"><select class="form-select"></select>',
    '@plugin "@tailwindcss/forms"; @import "tailwindcss/utilities.css";'
);
```

## Стратегия

Опцията `strategy` определя как се прилагат стиловете:

| Стратегия | Поведение |
|----------|----------|
| `base` | Стилизира глобално нативните елементи във формуляри чрез селектори като `[type='text']`, `textarea` и `select`. |
| `class` | Стилизира само изрично зададените класове `form-*`, като оставя елементите без класове непроменени. |

Ако пропуснете `strategy`, се прилагат **и двете** стратегии — нативните елементи получават основното нулиране, а класовете `form-*` също са достъпни. Задайте само една стратегия, за да изключите другата:

```css
@plugin "@tailwindcss/forms" {
    strategy: "class";
}
```

## Стратегия с класове

При стратегията `class` (или по подразбиране) задайте изрично тези класове на елементите, които искате да стилизирате:

| Клас | Елемент |
|-------|---------|
| `form-input` | Полета за въвеждане на текст |
| `form-textarea` | `<textarea>` |
| `form-select` | `<select>` |
| `form-multiselect` | `<select multiple>` |
| `form-checkbox` | `<input type="checkbox">` |
| `form-radio` | `<input type="radio">` |

```php
$css = tw::generate(
    '
        <input class="form-input">
        <textarea class="form-textarea"></textarea>
        <select class="form-select"></select>
        <select class="form-multiselect" multiple></select>
        <input type="checkbox" class="form-checkbox">
        <input type="radio" class="form-radio">
    ',
    '
        @plugin "@tailwindcss/forms" {
            strategy: "class";
        }
        @import "tailwindcss/utilities.css";
    '
);
```

Всеки клас нулира външния вид на контролата, задава рамки, отстъп и пръстен при фокус; `form-select` добавя фоново изображение със стрелка, а `form-checkbox`/`form-radio` добавят икони за маркирано състояние. Променете ги с обичайни помощни класове (например `class="form-input rounded-lg border-gray-300"`).

Вижте [Приставки](https://tailwindphp.inline0.dev/bg/docs/plugins) за директивата `@plugin` и подробности за зареждането.
