Um número vira a marca inteira — e a noite muda só a luz, nunca a cor. Novo na 2.1.0.
O que é
Com o atributo sw-cor, uma única matiz (--sw-h, de 0 a 360) gera a cor principal, o texto com contraste, a borda, o brilho, o degradê, o link e um leve tom da marca no fundo, nas superfícies e nas bordas. Serve uma cor pronta por nome (sw-cor="azul", "pink", "esmeralda"…) ou qualquer cor salva no banco (style="--sw-h:330"). Cada cliente do SWSIS/AcheMe ganha identidade própria com um número, sem CSS novo.
Como funciona
Tudo em oklch(): a luminosidade (L) é separada da cor (C = intensidade, H = matiz). Os tokens são escritos uma vez só como oklch(var(--_l-*) var(--sw-c) var(--sw-h)); o tema claro (html[sw-theme="light"], o mesmo do SW.Day) redefine só os números de luminosidade. Por isso dia e noite têm a mesma cor, só mais clara ou mais escura, e o contraste fica igual em qualquer matiz. Os nomes são os de sempre (--sw-pri, --sw-pri-txt, --sw-bg, --sw-sur, --sw-link…), então todo componente segue sozinho. É opcional: sem sw-cor nada muda. As cores de estado (sucesso, erro, alerta, info) ficam fixas de propósito.
Exemplos
Ao vivo — escolha a cor ou arraste a matiz Ao vivo
Agende seu horário
Fundo, card, borda, texto e link tingidos pela marca. Ver serviços
NovoConfirmadoCanceladodegradê
<!-- site inteiro com uma cor pronta -->
<html sw-cor="pink">
<!-- qualquer cor: o número vem do banco (painel do cliente) -->
<html sw-cor style="--sw-h:<?= (int)$cliente['cor'] ?>">
<!-- só um pedaço da página com outra cor -->
<section sw-cor="laranja">...</section>
<!-- trocar ao vivo (pré-visualização) -->
<script>document.documentElement.style.setProperty('--sw-h', 330)</script>
Dia e noite com a MESMA cor — só a luz muda Ao vivo
Noitetexto na cor da marca
Diatexto na cor da marca
<!-- página inteira: nada a fazer, o botão de tema de sempre ([sw-day] / SW.Day.toggle())
troca só os números de luminosidade; a matiz fica a mesma -->
<html sw-cor="pink" sw-theme="light">
<!-- um bloco claro dentro de página escura (ou o contrário) -->
<section sw-theme="light" sw-cor="pink">...</section>
Fundo e intensidade — níveis com nome Ao vivo
Fundo: quanto a marca tinge fundo, cards, bordas e texto secundário.
cor pronta por nome — vizinhas na roda têm intensidade diferente para não parecerem a mesma
style="--sw-h:0–360"
qualquer matiz — o número que o painel do cliente salva
style="--sw-c:.05–.22"
intensidade (croma); padrão .17 — menor = mais sóbrio
sw-cor-fundo="neutro|leve|medio|forte"
quanto a marca tinge fundo, cards, bordas e texto secundário (padrão leve)
sw-cor-intensidade="sobrio|normal|vivo"
quão viva é a cor (vale por cima da intensidade da cor pronta)
style="--sw-tint:0–.06"
ajuste fino do fundo
Variantes
Nenhum.
Eventos
Nenhum.
API (JavaScript)
SW.Day.set("light"\|"dark") / SW.Day.toggle()
dia/noite continua igual — agora só troca a luminosidade
el.style.setProperty("--sw-h", 330)
troca a cor ao vivo (ex.: pré-visualização no painel do cliente)
Requisitos
swcore.min.css 2.1.0 ou mais novo
Limitações — o que ele não faz
Num bloco interno (<section sw-cor>) mudam cor, fundo, superfície, borda, texto e link; os grupos tonais antigos (--sw-bg-, --sw-bl*, --sw-color*) seguem a cor do <html>.
A cor secundária (--sw-sec) e as de estado não seguem a matiz — de propósito.