Preskočiť na obsah

Pluginy

TailwindPHP obsahuje PHP porty oficiálnych pluginov TailwindCSS a sprístupňuje natívne PHP rozhranie pluginov API. Pluginy registrujú utility, komponenty a varianty; načítavajú sa direktívou @plugin vo vstupnom súbore CSS. Vstavané pluginy sú 1:1 porty svojich náprotivkov JavaScript — majú rovnaké selektory a výstup — a sú implementované v PHP namiesto spúšťania cez Node. Momentálne existuje jedna výnimka: modifikátory prvkov pluginu typografie (prose-headings:, prose-a:, …) závisia od variantov pluginov, ktoré sa zatiaľ neuplatňujú (#10).

Používanie @plugin

Na plugin odkazujte podľa názvu pomocou @plugin. Vstavané pluginy používajú názov svojho balíka npm. Skombinujte direktívu s @import "tailwindcss/utilities.css";, aby sa triedy pluginu pridali do vrstvy utilít:

PHP
use TailwindPHP\tw;

$css = tw::generate([
    'content' => '<article class="prose prose-lg"><h1>Hello</h1><p>Content here</p></article>',
    'css' => '
        @plugin "@tailwindcss/typography";
        @import "tailwindcss/utilities.css";
    ',
]);

Naraz možno načítať viacero pluginov; ich poradie je ľubovoľné:

CSS
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";

@plugin nemožno vnoriť do inej direktívy at-rule (napríklad @media) a neregistrovaný názov pluginu vyvolá chybu.

Možnosti pluginov

Možnosti pluginu odovzdajte pomocou syntaxe bloku CSS za jeho názvom. Kľúče zodpovedajú poľu možností pluginu:

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

@plugin "@tailwindcss/typography" {
    className: "markdown";
}

Plugin @tailwindcss/forms prijíma strategy (base alebo class); @tailwindcss/typography prijíma className na premenovanie generovanej triedy prose. Úplný zoznam možností nájdete na stránkach jednotlivých pluginov.

Vstavané pluginy

Plugin Popis
@tailwindcss/typography Triedy prose — typografické predvolené nastavenia pre formátovaný text. Pozrite si Typografia.
@tailwindcss/forms Ovládacie prvky formulára s obnoviteľným a upraviteľným štýlom. Pozrite si Formuláre.

Vlastné pluginy

Vytvorte si vlastný plugin implementáciou PluginInterface a použitím metód v PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme a ďalších). Zaregistrujte ho pomocou registerPlugin(new MyPlugin()), aby sa názov vrátený cez getName() dal použiť v direktíve @plugin "my-plugin":

PHP
use function TailwindPHP\registerPlugin;

registerPlugin(new MyCustomPlugin());

Rozhranie, úplný príklad a kompletný prehľad metód PluginAPI nájdete v časti Vlastné pluginy.