
# Használat

Az alapfolyamat egyetlen hívásból áll: adja át a TailwindPHP-nak a tartalmat és az opcionális CSS konfigurációt, a rendszer pedig visszaadja a megtalált osztályokhoz tartozó CSS-t. Az osztályneveket a jelölésből nyeri ki, a feloldott témával fordítja le, az eredmény pedig csak a ténylegesen használt segédosztályokat tartalmazza.

```php
use TailwindPHP\tw;

$css = tw::generate('<div class="flex items-center p-4 bg-blue-500">Hello</div>');
```

Második argumentum nélkül a `generate()` az alapértelmezett `@import "tailwindcss"`-et használja (téma + [Preflight](https://tailwindphp.inline0.dev/hu/docs/usage/imports) + segédosztályok). Testreszabáshoz adjon meg egy CSS karakterláncot vagy tömböt.

## Tartalom vizsgálata

A TailwindPHP a tartalomban lévő `class` és `className` attribútumok olvasásával találja meg az osztályneveket. A kinyert elemek ellenőrzéséhez használja a `tw::extractCandidates()`-t:

```php
use TailwindPHP\tw;

tw::extractCandidates('<div class="flex p-4" className="bg-blue-500">');
// ['flex', 'p-4', 'bg-blue-500']
```

A `class` és a `className` attribútumot is átvizsgálja, a visszaadott listából pedig eltávolítja az ismétlődéseket. A tetszőleges jelölteket (például `[mask-type:luminance]` vagy `bg-[#1da1f2]`) is ugyanígy nyeri ki, majd érvényesség esetén lefordítja. A lista tartalma pontosan az, amit a `generate()` le fog fordítani.

## Bemeneti formátumok

Minden statikus metódus ugyanazt a három bemeneti formát fogadja el:

| Formátum | Szignatúra | Mikor használja |
|--------|-----------|----------|
| Csak karakterlánc | `tw::generate($content)` | Alapértelmezett téma, testreszabás nélkül. |
| Karakterlánc + CSS karakterlánc | `tw::generate($content, $css)` | Gyors témamódosításokhoz vagy direktívák közvetlen megadásához. |
| Tömb | `tw::generate(['content' => ..., 'css' => ...])` | Ha `minify`-ra, `importPaths`-ra vagy `cache`-ra van szüksége. |

```php
use TailwindPHP\tw;

// Format 1: String only
tw::generate('<div class="flex">');

// Format 2: String + CSS string
tw::generate('<div class="flex">', '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');

// Format 3: Array with content, css, and options
tw::generate([
    'content' => '<div class="flex p-4">',
    'css'     => '@import "tailwindcss";',
    'minify'  => true,
]);
```

A beállításokat csak a tömbös forma fogadja el. A `css` és a `minify` mellett támogatja a `importPaths`-t is (lásd: [Imports](https://tailwindphp.inline0.dev/hu/docs/usage/imports)), továbbá a `cache` és a `cacheTtl` értéket (lásd: [Caching](https://tailwindphp.inline0.dev/hu/docs/advanced/caching)).

## Újrahasználható fordító

Ha sok töredéket kell ugyanazzal a konfigurációval lefordítani — például egy kérésekből álló ciklust, sablonköteget vagy komponenskönyvtárat —, egyetlen fordítópéldánnyal olcsóbban megteheti. A `tw::compile()` egyszer feloldja a témát és a tervezési rendszert, majd újra felhasználja őket:

```php
use TailwindPHP\tw;

$compiler = tw::compile('@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');

$css        = $compiler->generate('<div class="flex p-4 bg-brand">');
$candidates = $compiler->extractCandidates('<div class="flex p-4 bg-brand">');
$minified   = $compiler->minify($css);
```

A fordító tulajdonságvizsgálati funkciókat (`properties()`, `computedProperties()`, `value()`, `computedValue()`) és témalekérőket (`colors()`, `breakpoints()`, `spacing()`) is biztosít. Az összes metódusért tekintse meg a teljes [API](https://tailwindphp.inline0.dev/hu/docs/api) dokumentációt.

## A bemeneti CSS konfigurálása

A TailwindPHP legtöbb lehetősége az argumentumként átadott CSS karakterláncban rejlik. Folytassa a következő részekkel:

- [Theme](https://tailwindphp.inline0.dev/hu/docs/usage/theme) — `@theme` változók és névterek.
- [Directives](https://tailwindphp.inline0.dev/hu/docs/usage/directives) — `@apply`, `@utility`, `@layer` és `@custom-variant`.
- [Imports](https://tailwindphp.inline0.dev/hu/docs/usage/imports) — `@import`, virtuális modulok, `importPaths` és Preflight.
- [@source](https://tailwindphp.inline0.dev/hu/docs/usage/source) — szabályozza, mely fájlokat és osztályokat vizsgálja a rendszer.
