
# Pluginul de formulare

`@tailwindcss/forms` este o portare 1:1 PHP a pluginului oficial pentru formulare. Oferă o resetare cu reguli bine definite pentru controalele de formular — câmpuri text, zone de text, liste de selecție, casete de bifare și butoane radio — aducându-le la o bază consecventă (resetarea aspectului, bordură, spațiere interioară, contur la focalizare, chevron personalizat pentru listele de selecție și pictograme pentru casetele de bifare și butoanele radio), pe care apoi o puteți suprascrie cu utilitare.

## Utilizare

Încărcați pluginul cu `@plugin` și importați stratul de utilitare:

```php
use TailwindPHP\tw;

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

## Strategie

Opțiunea `strategy` controlează modul de aplicare a stilurilor:

| Strategie | Comportament |
|----------|----------|
| `base` | Aplică stiluri global elementelor native de formular folosind selectori precum `[type='text']`, `textarea` și `select`. |
| `class` | Aplică stiluri doar claselor explicite `form-*`, lăsând neatinse elementele fără clasă. |

Când `strategy` este omisă, se aplică **ambele** strategii — elementele native primesc resetarea de bază, iar clasele `form-*` sunt și ele disponibile. Alegeți o singură strategie pentru a renunța la cealaltă:

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

## Strategia claselor

Cu strategia `class` (sau cea implicită), aplicați explicit aceste clase elementelor pe care doriți să le stilizați:

| Clasă | Element |
|-------|---------|
| `form-input` | Câmpuri de text |
| `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";
    '
);
```

Fiecare clasă resetează aspectul controlului și setează bordurile, spațierea interioară și conturul la focalizare; `form-select` adaugă o imagine de fundal cu chevron, iar `form-checkbox`/`form-radio` adaugă pictograme pentru starea bifată. Suprascrieți orice stil cu utilitare obișnuite (de exemplu, `class="form-input rounded-lg border-gray-300"`).

Consultați [Plugins](https://tailwindphp.inline0.dev/ro/docs/plugins) pentru directiva `@plugin` și detalii despre încărcare.
