Complementos
TailwindPHP incluye ports PHP de los complementos oficiales de TailwindCSS y ofrece una interfaz de complementos PHP nativa API. Los complementos registran utilidades, componentes y variantes; se cargan con la directiva @plugin en el archivo de entrada CSS. Los complementos integrados son ports 1:1 de sus equivalentes de JavaScript —con los mismos selectores y resultados—, implementados en PHP en lugar de ejecutarse mediante Node. Actualmente hay una excepción: los modificadores de elementos del complemento de tipografía (prose-headings:, prose-a:, …) dependen de variantes de complementos, que aún no se aplican (#10).
Uso de @plugin
Haz referencia a un complemento por nombre con @plugin. Los complementos integrados usan el nombre de su paquete npm. Combina la directiva con @import "tailwindcss/utilities.css"; para que las clases del complemento se emitan en la capa de utilidades:
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";
',
]);
Se pueden cargar varios complementos a la vez, sin importar el orden:
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@import "tailwindcss/utilities.css";
@plugin no se puede anidar dentro de otra regla at ni (como @media); si el nombre del complemento no está registrado, se produce un error.
Opciones de complementos
Pasa opciones a un complemento con la sintaxis de bloque CSS después del nombre. Las claves se asignan al arreglo de opciones del complemento:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
@plugin "@tailwindcss/typography" {
className: "markdown";
}
El complemento @tailwindcss/forms acepta strategy (base o class); @tailwindcss/typography acepta className para cambiar el nombre de la clase prose generada. Consulta las páginas de cada complemento para ver todas las opciones.
Complementos integrados
| Complemento | Descripción |
|---|---|
@tailwindcss/typography |
Las clases prose: valores tipográficos predeterminados para texto enriquecido. Consulta Tipografía. |
@tailwindcss/forms |
Controles de formulario restablecibles y fáciles de estilizar. Consulta Formularios. |
Complementos personalizados
Crea tu propio complemento implementando PluginInterface y usando los métodos de PluginAPI (addUtilities, matchUtilities, addComponents, addVariant, theme y otros). Regístralo con registerPlugin(new MyPlugin()) para que el nombre que devuelve getName() se resuelva en una directiva @plugin "my-plugin":
use function TailwindPHP\registerPlugin;
registerPlugin(new MyCustomPlugin());
Consulta Complementos personalizados para ver la interfaz, un ejemplo completo y la referencia completa de métodos de PluginAPI.