Sări la conținut
Complet local

Sorter clase Tailwind

Ordona clase utility în atriburi class/className în ordinea recomandată Tailwind.

Intrare
Ieșire

Sorter clase Tailwind

Lipește HTML sau JSX și acest instrument reorganizează clasele din fiecare atribut class și className pentru a se potrivi ordinii recomandate a CSS-ului Tailwind — aceeași ordine de categorii folosită de pluginul oficial prettier-plugin-tailwindcss: layout și poziționare mai întâi, apoi flexbox și grid, spațiere, dimensionare, tipografie, funduri, borduri și efecte, cu modificatori responsivi și de stare (hover:, sm:, dark:) plasați după clasa de bază pe care o modifică. O ordine consistentă face diff-urile mai mici și pull request-urile mai ușor de revizuit, deoarece doi dezvoltatori care scriu "flex p-4 text-white" și "text-white p-4 flex" ajung cu output identic.

Alege dacă dorești să procesezi tot documentul lipit — scanând fiecare atribut class și className găsit — sau tratează intrarea ca o singură listă simplă de clase. Clase non-Tailwind (propriile tale clase de componentă, nume de utility dintr-un framework CSS pe care acest instrument nu le recunoaște) sunt păstrate împreună la început sau la final ale fiecărei liste în loc să fie dispersate. Activează "Elimină clase duplicate" pentru a șterge repetiții exacte, și "Avertizează despre clase care se anulează reciproc" pentru a semnala perechi ca p-4 și p-2, sau block și hidden, care se anulează atunci când sunt aplicate împreună — contul apare în tallyul live de sub rezultat. "Grupează variantele responsive împreună" grupează fiecare clasă sm:, md: și lg: la final în loc să le intercalezi lângă omologul lor fără prefix, ceea ce unele echipe preferă pentru a scana rapid.

Clasele din interiorul unui literal template cu o expresie JavaScript, ca className={`flex ${isActive ? 'bg-red-500' : 'bg-blue-500'} p-4`}, sunt lăsate neatinse implicit din moment ce instrumentul nu poate ști ce va reda o variabilă la runtime — dezactivează "Lasă clase dinamice neatinse" pentru a le ordona în schimb. Output ca cod sursă modificat, gata de lipit înapoi în editorul tău, sau ca o listă simplă ordonată, o clasă pe rând.

Totul funcționează local în browserul tău — HTML-ul, JSX-ul sau lista de clase pe care o lipești nu ajunge niciodată nicăieri. Când ai terminat, copiază rezultatul, descarcă ca fișier .txt, sau trimite rezultatul înapoi la input pentru a executa un alt instrument pe el.

FAQ

În ce ordine ordona clasele?
Aceeași ordine de categorie recomandată de pluginul oficial Tailwind: layout, flexbox/grid, spațiere, dimensionare, tipografie, funduri, borduri, efecte, filtre, tranzițiilor, transformări și interactivitate, cu modificatori cum ar fi hover: și sm: plasați după clasa de bază pe care o modifică.
Funcționează cu JSX și template literals, nu doar HTML simplu?
Da. Recunoaște class="…", className="…" și literale template className={`…`}. Un className setat dintr-o variabilă sau apel de funcție ca clsx(…) nu poate fi analizat în siguranță și rămâne ca atare.
Ce se consideră o clasă "personalizată"?
Orice clasă pe care instrumentul nu o recunoaște ca un utility Tailwind — propriile tale clase de componentă sau clase dintr-un plugin pe care acest instrument nu le acoperă. Clasele personalizate și-păstrează ordinea relativă și sunt plasate la început sau la final ale listei, pe baza opțiunii pe care o alegi.
Cum detectează clase conflictuale?
Semnalează cazuri comune: două clase care setează aceeași proprietate bazată pe scală (cum ar fi p-4 și p-2), și cuvinte cheie mutual exclusive (cum ar fi block și hidden, sau text-left și text-right) aplicate cu aceiași modificatori. Nu este un linter exhaustiv, dar detectează clasele care se strecură cel mai des din greșeală.
Codul meu este încărcat undeva?
Nu. Sortarea claselor funcționează complet în browserul tău — HTML-ul, JSX-ul sau lista de clase pe care o lipești nu părăsesc niciodată dispozitivul tău.