Plugins
TailwindPHP inclui versões PHP dos plugins oficiais de TailwindCSS e disponibiliza uma PHP nativa de plugin API. Os plugins registram utilitários, componentes e variantes; são carregados com a diretiva @plugin no seu CSS de entrada. Os plugins integrados são versões 1:1 de seus equivalentes em JavaScript — mesmos seletores e saída — implementadas em PHP em vez de serem executadas por meio do Node. Uma exceção atual: os modificadores de elemento do plugin de tipografia (prose-headings:, prose-a:, …) dependem de variantes de plugin, que ainda não são aplicadas (#10).
Usando @plugin
Faça referência a um plugin pelo nome usando @plugin. Os plugins integrados usam o nome do pacote npm. Combine a diretiva com @import "tailwindcss/utilities.css"; para que as classes do plugin sejam emitidas na camada de utilitários:
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";
',
]);
É possível carregar vários plugins juntos, e a ordem não importa:
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";
@plugin não pode ser aninhada em outra regra at, como @media, e um nome de plugin não registrado gera um erro.
Opções do plugin
Passe opções a um plugin usando a sintaxe de bloco CSS após o nome. As chaves correspondem ao array de opções do plugin:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
@plugin "@tailwindcss/typography" {
className: "markdown";
}
O plugin @tailwindcss/forms aceita strategy (base ou class); @tailwindcss/typography aceita className para renomear a classe prose gerada. Consulte as páginas de cada plugin para ver a lista completa de opções.
Plugins integrados
| Plugin | Descrição |
|---|---|
@tailwindcss/typography |
As classes prose — padrões tipográficos para texto rico. Consulte Tipografia. |
@tailwindcss/forms |
Controles de formulário redefiníveis e estilizados. Consulte Formulários. |
Plugins personalizados
Crie seu próprio plugin implementando PluginInterface e usando os métodos de PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme e outros). Registre-o com registerPlugin(new MyPlugin()) para que o nome retornado por getName() seja resolvido em uma diretiva @plugin "my-plugin":
use function TailwindPHP\registerPlugin;
registerPlugin(new MyCustomPlugin());
Consulte Plugins personalizados para ver a interface, um exemplo completo e a referência completa dos métodos de PluginAPI.