O Nitro UI fornece classes utilitárias do Tailwind CSS para cada cor semântica que você definir, permitindo usar nomes de classe como text-error ou bg-success:
PrimarySecondarySuccessInfoWarningError
<template>
<span class="text-primary">Primary</span>
<span class="text-secondary">Secondary</span>
<span class="text-success">Success</span>
<span class="text-info">Info</span>
<span class="text-warning">Warning</span>
<span class="text-error">Error</span>
</template>
Cada classe utilitária usa uma variável CSS para definir sua cor nos modos claro e escuro:
:root {
--ui-primary: var(--ui-color-primary-500);
--ui-secondary: var(--ui-color-secondary-500);
--ui-success: var(--ui-color-success-500);
--ui-info: var(--ui-color-info-500);
--ui-warning: var(--ui-color-warning-500);
--ui-error: var(--ui-color-error-500);
}
.dark {
--ui-primary: var(--ui-color-primary-400);
--ui-secondary: var(--ui-color-secondary-400);
--ui-success: var(--ui-color-success-400);
--ui-info: var(--ui-color-info-400);
--ui-warning: var(--ui-color-warning-400);
--ui-error: var(--ui-color-error-400);
}
main.css:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-primary: var(--ui-color-primary-700);
}
.dark {
--ui-primary: var(--ui-color-primary-200);
}
primary: 'black' na sua configuração porque black não tem múltiplos tons. Para usar preto ou branco sólido como sua cor primária, defina-o diretamente no seu arquivo main.css:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-primary: black;
}
.dark {
--ui-primary: white;
}
O Nitro UI fornece classes utilitárias do Tailwind CSS para cores de texto, permitindo usar nomes de classe como text-dimmed ou text-muted:
DimmedMutedTonedTextHighlightedInverted
<template>
<span class="text-dimmed">Dimmed</span>
<span class="text-muted">Muted</span>
<span class="text-toned">Toned</span>
<span class="text-default">Text</span>
<span class="text-highlighted">Highlighted</span>
<span class="text-inverted bg-inverted">Inverted</span>
</template>
Cada classe utilitária usa uma variável CSS para definir sua cor nos modos claro e escuro:
:root {
--ui-text-dimmed: var(--ui-color-neutral-400);
--ui-text-muted: var(--ui-color-neutral-500);
--ui-text-toned: var(--ui-color-neutral-600);
--ui-text: var(--ui-color-neutral-700);
--ui-text-highlighted: var(--ui-color-neutral-900);
--ui-text-inverted: white;
}
.dark {
--ui-text-dimmed: var(--ui-color-neutral-500);
--ui-text-muted: var(--ui-color-neutral-400);
--ui-text-toned: var(--ui-color-neutral-300);
--ui-text: var(--ui-color-neutral-200);
--ui-text-highlighted: white;
--ui-text-inverted: var(--ui-color-neutral-900);
}
main.css:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-text: var(--ui-color-neutral-900);
}
.dark {
--ui-text: white;
}
O Nitro UI fornece classes utilitárias do Tailwind CSS para cores de fundo, permitindo usar nomes de classe como bg-default ou bg-muted:
DefaultMutedElevatedAccentedInverted
<template>
<div class="bg-default">Default</div>
<div class="bg-muted">Muted</div>
<div class="bg-elevated">Elevated</div>
<div class="bg-accented">Accented</div>
<div class="bg-inverted text-inverted">Inverted</div>
</template>
Cada classe utilitária usa uma variável CSS para definir sua cor nos modos claro e escuro:
:root {
--ui-bg: white;
--ui-bg-muted: var(--ui-color-neutral-50);
--ui-bg-elevated: var(--ui-color-neutral-100);
--ui-bg-accented: var(--ui-color-neutral-200);
--ui-bg-inverted: var(--ui-color-neutral-900);
}
.dark {
--ui-bg: var(--ui-color-neutral-900);
--ui-bg-muted: var(--ui-color-neutral-800);
--ui-bg-elevated: var(--ui-color-neutral-800);
--ui-bg-accented: var(--ui-color-neutral-700);
--ui-bg-inverted: white;
}
main.css:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-bg: var(--ui-color-neutral-50);
}
.dark {
--ui-bg: var(--ui-color-neutral-950);
}
O Nitro UI fornece classes utilitárias do Tailwind CSS para cores de borda, permitindo usar nomes de classe como border-default ou border-muted:
DefaultMutedAccentedInverted
<template>
<div class="border border-default">Default</div>
<div class="border border-muted">Muted</div>
<div class="border border-accented">Accented</div>
<div class="border border-inverted">Inverted</div>
</template>
Cada classe utilitária usa uma variável CSS para definir sua cor nos modos claro e escuro:
:root {
--ui-border: var(--ui-color-neutral-200);
--ui-border-muted: var(--ui-color-neutral-200);
--ui-border-accented: var(--ui-color-neutral-300);
--ui-border-inverted: var(--ui-color-neutral-900);
}
.dark {
--ui-border: var(--ui-color-neutral-800);
--ui-border-muted: var(--ui-color-neutral-700);
--ui-border-accented: var(--ui-color-neutral-700);
--ui-border-inverted: white;
}
main.css:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-border: var(--ui-color-neutral-100);
}
.dark {
--ui-border: var(--ui-color-neutral-900);
}
O Nitro UI aplica um contorno focus-visible em cada elemento interativo, tingido com a prop color do componente, ex.: outline-primary/25 quando color="primary" ou outline-inverted/25 quando color="neutral".
Se você prefere uma única cor de contorno em todo o seu app, independentemente da cor do componente, pode adicionar uma regra global no seu arquivo main.css:
@import "tailwindcss";
@import "@nitro/ui";
*,
::before,
::after {
@apply outline-primary/25;
}
*:focus-visible,
*:has(> a:focus-visible) {
--tw-ring-color: var(--ui-primary);
}
@import "tailwindcss";
@import "@nitro/ui";
*,
::before,
::after {
@apply outline-inverted/25;
}
*:focus-visible,
*:has(> a:focus-visible) {
--tw-ring-color: var(--ui-border-inverted);
}
A primeira regra tinge o contorno de foco de cada componente; a segunda alinha a recoloração do ring aplicada no foco pelas variantes com uma borda visível, como outline ou subtle, incluindo cards que se destacam quando o link deles está em foco.
@layer para que tenham precedência sobre as cores definidas pelos temas dos componentes. Tenha em mente que a primeira regra também tinge o contorno de foco nativo dos seus próprios elementos, e as variantes que recolorem uma border no foco, como FileUpload ou ContentSurround, continuam seguindo o color do componente.O Nitro UI sobrescreve as utilidades rounded-* padrão do Tailwind CSS com um sistema unificado de raio de borda, permitindo usar as utilidades de raio de borda comuns, como rounded-xs ou rounded-2xl:
xssmmdlgxl2xl3xl
<template>
<div class="rounded-xs">xs</div>
<div class="rounded-sm">sm</div>
<div class="rounded-md">md</div>
<div class="rounded-lg">lg</div>
<div class="rounded-xl">xl</div>
<div class="rounded-2xl">2xl</div>
<div class="rounded-3xl">3xl</div>
</template>
Essas classes utilitárias são calculadas com base em uma variável CSS global --ui-radius, que define o valor de raio base aplicado a todos os componentes para uma aparência consistente.
:root {
--ui-radius: 0.25rem;
}
main.css:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-radius: 0.5rem;
}
O Nitro UI fornece uma variável CSS --ui-container que controla a largura máxima do componente Container.
:root {
--ui-container: 80rem; /* var(--container-7xl) */
}
main.css para ajustar as larguras dos containers de forma consistente em toda a sua aplicação:@import "tailwindcss";
@import "@nitro/ui";
@theme {
--container-8xl: 90rem;
}
:root {
--ui-container: var(--container-8xl);
}
O Nitro UI fornece uma variável CSS --ui-header-height que controla a altura do componente Header.
:root {
--ui-header-height: 4rem;
}
main.css para ajustar a altura do header de forma consistente em toda a sua aplicação:@import "tailwindcss";
@import "@nitro/ui";
:root {
--ui-header-height: --spacing(24);
}
O Nitro UI aplica classes padrão no elemento <body> do seu app para uma tematização consistente entre os modos claro e escuro:
body {
@apply antialiased text-default bg-default scheme-light dark:scheme-dark;
}