tokens library

Design tokens do Flocks (cores, tipografia, espaçamentos, raios, etc.).

Classes

AppColors
A class that contains the color palette for the App.
AppCurves
Tokens de curva de animação do Flocks.
AppDurations
Tokens de duração de animação do Flocks.
AppElevation
Sombras de elevação do Flocks — simétricas (offset zero): puro efeito de elevação, distribuído igualmente em todos os lados.
AppFontFamilies
As famílias tipográficas empacotadas com o Flocks.
AppGlass
Tokens numéricos do tratamento glass (frosted / "Liquid Glass" nível 1) do Flocks.
AppIcons
O catálogo de ícones da JotaPe — ~880 slugs.
AppIllustrations
O catálogo de ilustrações da JotaPe — 12 slugs.
AppRadius
A class that defines the radius values used in the App.
AppSizes
A class that contains the sizes used in the App.
AppSpacings
A class that contains the spacings used in the App.
AppStrokes
Stroke width tokens for App.
AppTextStyles
A class that contains the text styles for the App.

Enums

AppDevice
Breakpoints de dispositivo do design system.
AppFieldSize
Tamanho de um campo de formulário do Flocks (AppInput, dropdowns, pickers, color picker). Espelha a mecânica de AppButtonSize: uma altura fixa por tamanho + métricas internas (padding/ícone), para os campos casarem com os botões nas mesmas linhas de formulário.
AppRadiusMode
Eixo global de forma dos cantos do Flocks.
AppStyle
Eixo global de estilo de container do Flocks.
WcagLevel
Nível de conformidade WCAG.
WcagTextSize
Tamanho de texto para fins de contraste WCAG.

Extension Types

AppIconToken
O contrato de ícone do Flocks: os nomes que o pacote garante existir.
AppIllustrationToken
O contrato de ilustração do Flocks: o que o pacote garante desenhar.

Extensions

AppColorOpacity on Color
An extension on Color that provides additional functionality.
AppColorSwatch on ColorSwatch
An extension on ColorSwatch that provides convenient getters for accessing different shades of a color.
AppTypographyColors on TextStyle

Constants

kAaaLarge → const double
AAA para texto grande: 4.5:1.
kAaaNormal → const double
AAA para texto normal: 7:1.
kAaLarge → const double
AA para texto grande (≥ 18pt, ou ≥ 14pt bold): 3:1.
kAaNormal → const double
AA para texto normal (< 18pt, ou < 14pt bold): 4.5:1.
kDarkSurfaceToneMax → const double
Tom HCT máximo da superfície base no tema escuro (mantém o "escuro").
kDarkSurfaceToneMin → const double
Tom HCT mínimo da superfície base no tema escuro. Abaixo disso a superfície é ~preto puro → halation e elevação (por clareamento) fica impossível.
kDisabledChromaRetention → const double
Fração do croma preservada no estado desabilitado (dessatura o disabled).
kDisabledDistinctionTone → const double
ΔT mínimo entre a versão habilitada e a desabilitada de um elemento — garante que dá para perceber que está desabilitado.
kDisabledIndicatorRetention → const double
Fração que o indicador desabilitado (check/ponto/thumb) recua da sua on-color em direção ao tom do fill. Pequena de propósito: o indicador precisa ficar claro sobre fill escuro (e vice-versa) para não sumir — só um pouco mais apagado que o habilitado.
kDisabledMinRatio → const double
Razão mínima de um elemento desabilitado vs surface. A WCAG isenta controles inativos, mas o Flocks exige um piso de perceptibilidade para o disabled não sumir.
kDisabledProminenceTone → const double
Deslocamento de tom (ΔT vs surface) de um elemento desabilitado.
kMinSeparationDark → const double
Separação mínima de tom no tema escuro — 2× a do claro (kMinSeparationLight). No escuro a luz é "absorvida" e o WCAG 2 superestima o contraste, então uma separação que basta no claro fica imperceptível no escuro. Dobrar o ΔT é a regra prática.
kMinSeparationLight → const double
Separação mínima de tom (ΔT) entre superfícies/containers adjacentes no tema claro (ex.: card sobre o fundo).
kToneDeltaLargeUi → const double
ΔT de tom HCT que garante razão ≥ 3.0 — equivalente de kAaLarge / kUi.
kToneDeltaText → const double
ΔT de tom HCT que garante razão ≥ 4.5 — equivalente perceptual de kAaNormal.
kUi → const double
AA para componentes de UI, ícones, bordas, anéis de foco e gráficos: 3:1.
package → const String

Functions

colorToHex(Color color) String
Converte um Color em string hex '#RRGGBB' (maiúsculo, sem alpha).
contrastRatio(Color a, Color b) double
Razão de contraste WCAG entre a e b (1.0 a 21.0).
disabledIndicatorOn(Color container) Color
Cor do indicador desabilitado (check/ponto/thumb) sobre container.
elevatedSurface(Color surface, {required bool isDark, required double deltaTone}) Color
Deriva uma superfície elevada (card/sheet/popover) a partir de surface deslocando o tom HCT por deltaTone, preservando matiz e croma (fica on-brand). No escuro (isDark) a elevação clareia; no claro, escurece — "elevação por clareamento" no dark (ver COLOR_ACCESSIBILITY_RULES §4).
hctTone(Color color) double
Tom HCT (T, 0–100) de color — lightness perceptual (o L* de CIELAB).
meetsWcag(Color fg, Color bg, {WcagTextSize size = WcagTextSize.normal, WcagLevel level = WcagLevel.aa}) bool
true se fg sobre bg atinge o alvo WCAG de size/level.
mostSeparatedStop(ColorSwatch<int> swatch, {required List<Color> surfaces, required Color content, double minSeparation = 5.0, double minContentRatio = kAaNormal, List<int> candidates = const <int>[50, 100, 200, 300, 400, 500, 600, 700, 800, 900]}) Color
Escolhe, dentro de swatch, o preenchimento mais suave que ainda se distingue de todas as superfícies em surfaces e mantém content legível.
mutedForDisabled(Color content, Color surface) Color
Versão desabilitada de content sobre surface: dessatura (kDisabledChromaRetention) e desloca o tom para tomDaSurface ± kDisabledProminenceTone no sentido da cor original.
neutralSwatchFromSeed(Color seed) ColorSwatch<int>
Gera a rampa neutra de uma marca a partir de uma semente.
onColorFor(Color background) Color
Retorna preto ou branco — o que tiver maior contraste sobre background. Usado para garantir on-colors legíveis por marca/brilho.
parseHexColor(String? hex) Color?
Converte uma string hex ('#RRGGBB', '#RRGGBBAA' ou sem '#') em Color.
parseHexColorOr(String? hex, Color fallback) Color
Igual a parseHexColor, mas retorna fallback quando a string é inválida.
readableStopOn(ColorSwatch<int> swatch, Color background, {double minRatio = 3.0}) Color
Escolhe, dentro de swatch, o stop com contraste ≥ minRatio sobre background — para usar uma cor de marca/semântica como elemento de UI (borda, ícone, texto de acento) sobre uma superfície, garantindo ≥ 3:1 (COLOR_ACCESSIBILITY_RULES §5). Em fundo claro varre preferindo stops escuros; em fundo escuro, stops claros. Cai no stop de maior contraste se nenhum atingir o alvo (torna a falha visível em teste, sem sumir).
swatchFromSeed(Color seed) ColorSwatch<int>
Gera um ColorSwatch de 11 stops (50–950) a partir de uma cor-seed usando HCT tone (perceptualmente uniforme).
toneDelta(Color a, Color b) double
Diferença absoluta de tom HCT entre a e b (0–100).
wcagMinRatio(WcagTextSize size, WcagLevel level) double
Razão de contraste mínima exigida para size no level.