Pular para o conteúdo

Plugin de formulários

@tailwindcss/forms é uma versão 1:1 PHP do plugin oficial de formulários. Ele aplica uma redefinição opinativa aos controles de formulário — campos de texto, áreas de texto, listas de seleção, caixas de seleção e botões de opção — estabelecendo uma base consistente (redefinição da aparência, borda, espaçamento interno, anel de foco, chevron personalizado nas listas de seleção e ícones para caixas de seleção e botões de opção) que você pode então substituir com utilitários.

Uso

Carregue o plugin com @plugin e importe a camada de utilitários:

PHP
use TailwindPHP\tw;

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

Estratégia

A opção strategy controla como os estilos são aplicados:

Estratégia Comportamento
base Aplica estilos globalmente aos elementos nativos de formulário com seletores como [type='text'], textarea e select.
class Aplica estilos somente às classes form-* explícitas, deixando intactos os elementos sem classe.

Quando strategy é omitida, as duas estratégias são aplicadas: os elementos nativos recebem a redefinição base e as classes form-* também ficam disponíveis. Defina uma única estratégia para desativar a outra:

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

Estratégia por classe

Com a estratégia class (ou a padrão), aplique explicitamente estas classes aos elementos que deseja estilizar:

Classe Elemento
form-input Campos de entrada semelhantes a texto
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";
    '
);

Cada classe redefine a aparência do controle e define bordas, espaçamento interno e um anel de foco; form-select adiciona uma imagem de fundo com chevron, e form-checkbox/form-radio adicionam ícones para o estado marcado. Substitua qualquer um desses estilos com utilitários comuns (por exemplo, class="form-input rounded-lg border-gray-300").

Consulte Plugins para ver a diretiva @plugin e os detalhes de carregamento.