
# Plugin Formulir

`@tailwindcss/forms` adalah port 1:1 PHP dari plugin formulir resmi. Plugin ini menyediakan reset dengan gaya yang ditentukan untuk kontrol formulir — input teks, textarea, pilihan, kotak centang, dan tombol radio — sehingga semuanya memiliki dasar yang konsisten (reset tampilan, border, padding, cincin fokus, chevron pilihan kustom, dan ikon kotak centang/tombol radio) yang kemudian dapat Anda timpa dengan utilitas.

## Penggunaan

Muat plugin dengan `@plugin` dan impor lapisan utilitas:

```php
use TailwindPHP\tw;

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

## Strategi

Opsi `strategy` mengontrol cara gaya diterapkan:

| Strategi | Perilaku |
|----------|----------|
| `base` | Menata elemen formulir bawaan secara global melalui selector seperti `[type='text']`, `textarea`, dan `select`. |
| `class` | Hanya menata kelas `form-*` yang ditentukan secara eksplisit, sementara elemen tanpa kelas tetap tidak tersentuh. |

Jika `strategy` tidak dicantumkan, **kedua** strategi diterapkan — elemen bawaan mendapat reset dasar dan kelas `form-*` juga tersedia. Tetapkan satu strategi untuk menonaktifkan strategi lainnya:

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

## Strategi Kelas

Dengan strategi `class` (atau pengaturan bawaan), terapkan kelas-kelas ini secara eksplisit pada elemen yang ingin Anda tata:

| Kelas | Elemen |
|-------|---------|
| `form-input` | Input seperti teks |
| `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";
    '
);
```

Setiap kelas mereset tampilan kontrol dan mengatur border, padding, serta cincin fokus; `form-select` menambahkan gambar latar chevron, sementara `form-checkbox`/`form-radio` menambahkan ikon untuk status tercentang. Timpa semuanya dengan utilitas biasa (misalnya `class="form-input rounded-lg border-gray-300"`).

Lihat [Plugin](https://tailwindphp.inline0.dev/id/docs/plugins) untuk direktif `@plugin` dan detail pemuatan.
