
# Plugin formulárov

`@tailwindcss/forms` je 1:1 PHP port oficiálneho pluginu formulárov. Poskytuje štýlový reset ovládacích prvkov formulára — textových vstupov, textových oblastí, rozbaľovacích zoznamov, začiarkavacích políčok a prepínačov — a zjednocuje ich základný vzhľad (resetovanie vzhľadu, orámovanie, vnútorné odsadenie, indikátor pri zameraní, vlastná šípka rozbaľovacieho zoznamu a ikony začiarkavacích políčok a prepínačov), ktorý potom môžete upraviť pomocou utilít.

## Použitie

Načítajte plugin pomocou `@plugin` a importujte vrstvu utilít:

```php
use TailwindPHP\tw;

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

## Stratégia

Možnosť `strategy` určuje, ako sa použijú štýly:

| Stratégia | Správanie |
|----------|----------|
| `base` | Štýluje natívne prvky formulára globálne pomocou selektorov, ako sú `[type='text']`, `textarea` a `select`. |
| `class` | Štýluje iba explicitné triedy `form-*`, neklasifikované prvky ponecháva bez zmeny. |

Ak vynecháte `strategy`, použijú sa **obe** stratégie — natívne prvky dostanú základný reset a k dispozícii budú aj triedy `form-*`. Ak chcete jednu stratégiu vypnúť, nastavte iba tú druhú:

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

## Stratégia tried

Pri stratégii `class` (alebo predvolenej stratégii) použite tieto triedy explicitne na prvkoch, ktoré chcete štýlovať:

| Trieda | Prvok |
|-------|---------|
| `form-input` | Textové vstupy |
| `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";
    '
);
```

Každá trieda resetuje vzhľad ovládacieho prvku a nastavuje orámovanie, vnútorné odsadenie a indikátor pri zameraní; `form-select` pridáva obrázok šípky na pozadí a `form-checkbox`/`form-radio` pridávajú ikony pre začiarknutý stav. Všetko môžete prepísať bežnými utilitami (napríklad `class="form-input rounded-lg border-gray-300"`).

Podrobnosti o direktíve `@plugin` a načítaní nájdete v časti [Pluginy](https://tailwindphp.inline0.dev/sk/docs/plugins).
