@aurea-uds/native 0.35.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/display.d.ts +4 -0
- package/dist/display.js +8 -1
- package/dist/escolha.js +1 -1
- package/dist/estilos.d.ts +4 -2
- package/dist/estilos.js +10 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/inputs.d.ts +1 -1
- package/dist/inputs.js +5 -5
- package/dist/navigation.js +4 -3
- package/package.json +2 -2
package/dist/display.d.ts
CHANGED
|
@@ -64,6 +64,10 @@ export interface BadgeProps extends ViewProps {
|
|
|
64
64
|
children?: React.ReactNode;
|
|
65
65
|
}
|
|
66
66
|
export declare function Badge({ tone, emphasis, size, dot, count, max, showZero, leading, trailing, fit, anchor, badgeContent, invisible, children, style, ...rest }: BadgeProps): React.JSX.Element;
|
|
67
|
+
/** `Chip` é outro nome do `Badge` (GAR-20, 19/10/2026): o nome que a referência dá à mesma peça. Igual em tudo. */
|
|
68
|
+
export type ChipProps = BadgeProps;
|
|
69
|
+
/** `Chip` é outro nome do `Badge` (GAR-20, 19/10/2026): o nome que a referência dá à mesma peça. Igual em tudo. */
|
|
70
|
+
export declare function Chip(props: BadgeProps): React.JSX.Element;
|
|
67
71
|
export type AureaStatusVariant = "neutral" | "online" | "offline" | "busy" | "away" | "success" | "warning" | "danger" | "info";
|
|
68
72
|
export interface StatusProps extends ViewProps {
|
|
69
73
|
variant?: AureaStatusVariant;
|
package/dist/display.js
CHANGED
|
@@ -132,7 +132,10 @@ export function Badge({ tone = "neutral", emphasis = "soft", size = "md", dot, c
|
|
|
132
132
|
// a de sempre caía abaixo de 4,5:1 (o verde do claro, o `success` do escuro). O par da web é o `.badge-outline`.
|
|
133
133
|
const letra = tone === "neutral" ? t.color.secondaryForeground : acento;
|
|
134
134
|
const corDoTexto = emphasis === "solid" ? (cheio ? cheio[1] : t.color.background)
|
|
135
|
-
|
|
135
|
+
// Menos o primário (ADR-0073, "A", 18/10/2026): a letra é o próprio acento, a mesma do suave (o amarelo no escuro; o
|
|
136
|
+
// azul no claro, desde a ADR-0076) — misturado ao texto, o amarelo virava mostarda só nesta peça. O nativo não tem
|
|
137
|
+
// marca (`data-brand`), então vale sempre.
|
|
138
|
+
: emphasis === "outline" && tone !== "primary" ? misturaOpaca(letra, t.color.foreground, 0.8) : letra;
|
|
136
139
|
const numero = count != null ? formatarContagem(count, max) : undefined;
|
|
137
140
|
const miolo = anchor ? (numero ?? badgeContent) : (numero ?? children);
|
|
138
141
|
// Ponto puro: `dot` sem nada para mostrar. Aí o selo não tem conteúdo e ganha medida própria.
|
|
@@ -176,6 +179,10 @@ export function Badge({ tone = "neutral", emphasis = "soft", size = "md", dot, c
|
|
|
176
179
|
const escondido = invisible || (count === 0 && !showZero) || (miolo == null && !dot);
|
|
177
180
|
return _jsxs(View, { style: s.ancora, ...rest, children: [children, !escondido && selo] });
|
|
178
181
|
}
|
|
182
|
+
/** `Chip` é outro nome do `Badge` (GAR-20, 19/10/2026): o nome que a referência dá à mesma peça. Igual em tudo. */
|
|
183
|
+
export function Chip(props) {
|
|
184
|
+
return _jsx(Badge, { ...props });
|
|
185
|
+
}
|
|
179
186
|
const CATEGORIAS = new Set(["red", "orange", "green", "teal", "cyan", "blue", "violet", "pink"]);
|
|
180
187
|
const ehCategoria = (tom) => CATEGORIAS.has(tom);
|
|
181
188
|
/**
|
package/dist/escolha.js
CHANGED
|
@@ -45,7 +45,7 @@ const folha = criarFolha((t) => ({
|
|
|
45
45
|
backgroundColor: t.color.controlSelected },
|
|
46
46
|
alcaDeitada: { width: t.size.space7, height: t.size.space5 },
|
|
47
47
|
alcaEmPe: { width: t.size.space5, height: t.size.space7 },
|
|
48
|
-
bolinha: { flex: 1, ...canto(t.size.radiusFull), backgroundColor: t.color.
|
|
48
|
+
bolinha: { flex: 1, ...canto(t.size.radiusFull), backgroundColor: t.color.primaryMark,
|
|
49
49
|
boxShadow: [...t.shadowLayers.shadowSm] },
|
|
50
50
|
// ── OTPField ────────────────────────────────────────────────────────────────────────────────
|
|
51
51
|
// A referência: casas de 44 × 48 com 8 entre elas. A altura é a do campo (`touchControlHMd`, a
|
package/dist/estilos.d.ts
CHANGED
|
@@ -103,8 +103,10 @@ export declare const acentoDoTom: (t: AureaTokens, tom: TomDeCor) => string;
|
|
|
103
103
|
export declare const letraDoToken: (t: AureaTokens, token: string) => string | undefined;
|
|
104
104
|
/**
|
|
105
105
|
* O FUNDO CHEIO de um tom de estado e a letra em cima dele — o par do botão cheio (ADR-0061, 0.27.0):
|
|
106
|
-
* o selo cheio é o botão cheio do mesmo tom. `primary`
|
|
107
|
-
*
|
|
106
|
+
* o selo cheio é o botão cheio do mesmo tom. O `primary` enche com o PRIMÁRIO (o amarelo) e escreve com a
|
|
107
|
+
* letra do botão amarelo (`primaryForeground`, a tinta cinza-escura). Até a ADR-0076 enchia com o acento,
|
|
108
|
+
* que era o próprio amarelo nos dois temas; desde ela o acento do claro é o azul, e a tinta cinza no azul
|
|
109
|
+
* mediria 1,99:1. O `neutral` não tem o par: `undefined`, e quem chama enche com o acento, como antes.
|
|
108
110
|
*/
|
|
109
111
|
export declare const preenchimentoDoTom: (t: AureaTokens, tom: TomDeCor) => [string, string] | undefined;
|
|
110
112
|
/** O fundo SUAVE de um tom (`--<tom>-bg`). `primary` e `neutral` não têm token: `undefined`. */
|
package/dist/estilos.js
CHANGED
|
@@ -131,14 +131,17 @@ const PAR_DE_LETRA = {
|
|
|
131
131
|
export const letraDoToken = (t, token) => (PAR_DE_LETRA[token] ? t.color[PAR_DE_LETRA[token]] : undefined) ?? t.color[token];
|
|
132
132
|
/**
|
|
133
133
|
* O FUNDO CHEIO de um tom de estado e a letra em cima dele — o par do botão cheio (ADR-0061, 0.27.0):
|
|
134
|
-
* o selo cheio é o botão cheio do mesmo tom. `primary`
|
|
135
|
-
*
|
|
134
|
+
* o selo cheio é o botão cheio do mesmo tom. O `primary` enche com o PRIMÁRIO (o amarelo) e escreve com a
|
|
135
|
+
* letra do botão amarelo (`primaryForeground`, a tinta cinza-escura). Até a ADR-0076 enchia com o acento,
|
|
136
|
+
* que era o próprio amarelo nos dois temas; desde ela o acento do claro é o azul, e a tinta cinza no azul
|
|
137
|
+
* mediria 1,99:1. O `neutral` não tem o par: `undefined`, e quem chama enche com o acento, como antes.
|
|
136
138
|
*/
|
|
137
|
-
export const preenchimentoDoTom = (t, tom) => tom === "
|
|
138
|
-
: tom === "
|
|
139
|
-
: tom === "
|
|
140
|
-
: tom === "
|
|
141
|
-
:
|
|
139
|
+
export const preenchimentoDoTom = (t, tom) => tom === "primary" ? [t.color.primary, t.color.primaryForeground]
|
|
140
|
+
: tom === "success" ? [t.color.success, t.color.successForeground]
|
|
141
|
+
: tom === "warning" ? [t.color.warning, t.color.warningForeground]
|
|
142
|
+
: tom === "info" ? [t.color.info, t.color.infoForeground]
|
|
143
|
+
: tom === "danger" ? [t.color.destructive, t.color.destructiveForeground]
|
|
144
|
+
: undefined;
|
|
142
145
|
/** O fundo SUAVE de um tom (`--<tom>-bg`). `primary` e `neutral` não têm token: `undefined`. */
|
|
143
146
|
export const fundoDoTom = (t, tom) => tom === "info" ? t.color.infoBg
|
|
144
147
|
: tom === "success" ? t.color.successBg
|
package/dist/index.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export { Button, IconButton, LinkButton, ThemeToggle, CloseButton } from "./acti
|
|
|
16
16
|
export type { ButtonProps, IconButtonProps, LinkButtonProps, ThemeToggleProps, CloseButtonProps, AureaButtonAppearance, AureaButtonSize, AureaButtonTone, AureaShareData, } from "./actions.js";
|
|
17
17
|
export { Spinner, Skeleton, Progress, Alert, EmptyState, DataState, ICONE_DA_VARIANTE } from "./feedback.js";
|
|
18
18
|
export type { SpinnerProps, SkeletonProps, ProgressProps, AlertProps, EmptyStateProps, DataStateProps, AureaSpinnerSize, AureaAlertVariant, AureaDataStateValue, AureaProgressTone, } from "./feedback.js";
|
|
19
|
-
export { Badge, Status, Avatar, KPI, formatarContagem } from "./display.js";
|
|
20
|
-
export type { BadgeProps, StatusProps, AvatarProps, KPIProps, AureaKPIDirection, AureaKPITone, AureaKPIVariant, AureaBadgeAnchor, AureaBadgeCategory, AureaBadgeEmphasis, AureaBadgeFit, AureaBadgeSize, AureaBadgeTone, AureaStatusVariant, AureaAvatarSize, } from "./display.js";
|
|
19
|
+
export { Badge, Chip, Status, Avatar, KPI, formatarContagem } from "./display.js";
|
|
20
|
+
export type { BadgeProps, ChipProps, StatusProps, AvatarProps, KPIProps, AureaKPIDirection, AureaKPITone, AureaKPIVariant, AureaBadgeAnchor, AureaBadgeCategory, AureaBadgeEmphasis, AureaBadgeFit, AureaBadgeSize, AureaBadgeTone, AureaStatusVariant, AureaAvatarSize, } from "./display.js";
|
|
21
21
|
export { useAureaStrings } from "./theme.js";
|
|
22
22
|
export { defaultStrings, ptBR, gravidadeDoEstado, AUREA_UNIVERSAL_STATES } from "./strings.js";
|
|
23
23
|
export type { AureaStrings, AureaUniversalState } from "./strings.js";
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export { Stack, Cluster, Grid, Card, Separator } from "./layout.js";
|
|
|
40
40
|
export { Button, IconButton, LinkButton, ThemeToggle, CloseButton } from "./actions.js";
|
|
41
41
|
// ── Lote 2 — o painel, que é só leitura ────────────────────────────────────────────────────
|
|
42
42
|
export { Spinner, Skeleton, Progress, Alert, EmptyState, DataState, ICONE_DA_VARIANTE } from "./feedback.js";
|
|
43
|
-
export { Badge, Status, Avatar, KPI, formatarContagem } from "./display.js";
|
|
43
|
+
export { Badge, Chip, Status, Avatar, KPI, formatarContagem } from "./display.js";
|
|
44
44
|
// As frases visíveis, e o hook que as lê. A tabela é do tamanho do que o alvo nativo desenha —
|
|
45
45
|
// ver o cabeçalho de `strings.ts`, que escreve por que ela NÃO é a da web.
|
|
46
46
|
export { useAureaStrings } from "./theme.js";
|
package/dist/inputs.d.ts
CHANGED
|
@@ -387,7 +387,7 @@ export declare function SegmentedControl({ items, value, onChange, label, disabl
|
|
|
387
387
|
/**
|
|
388
388
|
* O indicador da opção escolhida, nas listas do `Select` e do `Combobox` (0.32.0): o da referência
|
|
389
389
|
* — a caixa de 20 com o `check` de 16 — e o mesmo glifo da coluna `.combobox-check` da web. A cor
|
|
390
|
-
* é a do destaque
|
|
390
|
+
* é a do destaque (`primaryEmphasis`): o amarelo no escuro e, desde a ADR-0076, o azul no claro. Sai do
|
|
391
391
|
* arquivo, não do pacote — e é função, não componente, para não contar como peça nova. ⚠ Pede o
|
|
392
392
|
* `check` no registro de ícones do app; sem ele, o aviso de desenvolvimento do `Icon` diz o import.
|
|
393
393
|
*/
|
package/dist/inputs.js
CHANGED
|
@@ -398,10 +398,10 @@ function ControleMarcado({ papel, label, description, checked, onChange, disable
|
|
|
398
398
|
...canto(papel === "radio" ? t.size.radiusFull : t.size.radiusXs) },
|
|
399
399
|
checked && { backgroundColor: t.color.controlSelected, borderColor: "transparent" },
|
|
400
400
|
], children: checked && (papel === "radio"
|
|
401
|
-
// O ponto do rádio é
|
|
401
|
+
// O ponto do rádio é branco, sobre a marca já pintada (decisão do Victor, 17/10/2026).
|
|
402
402
|
// 0.32.0: 10, o ponto da referência e o do `RadioGroup` (`space2 + space05`); era 8.
|
|
403
403
|
? _jsx(View, { style: { width: t.size.space2 + t.size.space05, height: t.size.space2 + t.size.space05,
|
|
404
|
-
...canto(t.size.radiusFull), backgroundColor: t.color.
|
|
404
|
+
...canto(t.size.radiusFull), backgroundColor: t.color.controlSelectedDot } })
|
|
405
405
|
// O visto. Era desenhado com DUAS BORDAS de um retângulo girado; sem linha (16/10/2026), ele é
|
|
406
406
|
// um glifo, o mesmo da web (a máscara do `.checkbox` no `aurea.css`), sobre o `react-native-svg`
|
|
407
407
|
// que o pacote já usa — sem depender do registro de ícones do app.
|
|
@@ -447,7 +447,7 @@ function ItemDoGrupoDeRadio({ value, label, description, disabled, invalid, indi
|
|
|
447
447
|
escolhido && { backgroundColor: erro ? perigo : t.color.controlSelected,
|
|
448
448
|
borderColor: "transparent" },
|
|
449
449
|
], children: escolhido && _jsx(View, { style: { width: ponto, height: ponto, ...canto(t.size.radiusFull),
|
|
450
|
-
backgroundColor: t.color.
|
|
450
|
+
backgroundColor: t.color.controlSelectedDot } }) }, "marca"));
|
|
451
451
|
// O ícone é decorativo: o rótulo já diz o que a opção é, e o `Icon` sem `label` sai da árvore
|
|
452
452
|
// de acessibilidade. A cor acompanha a do rótulo, inclusive no erro.
|
|
453
453
|
const glifo = icon != null && (_jsx(Icon, { name: icon, size: "lg", weight: escolhido ? "fill" : "regular", color: erro ? perigo : t.color.foreground }, "icone"));
|
|
@@ -550,7 +550,7 @@ export function Switch({ label, description, checked, onChange, disabled, size,
|
|
|
550
550
|
], children: _jsx(Animated.View, { style: [
|
|
551
551
|
s.polegar,
|
|
552
552
|
{ width: larguraDoPolegar, height: alturaDoPolegar,
|
|
553
|
-
backgroundColor: checked ? t.color.
|
|
553
|
+
backgroundColor: checked ? t.color.primaryMark : t.color.mutedForeground,
|
|
554
554
|
transform: [{ translateX: pos.interpolate({ inputRange: [0, 1], outputRange: [0, curso] }) }] },
|
|
555
555
|
] }) }), temTexto && (_jsxs(View, { style: { flex: 1 }, children: [typeof label === "string" ? _jsx(Text, { size: "sm", children: label }) : label, description != null && (typeof description === "string"
|
|
556
556
|
? _jsx(Text, { size: "xs", tone: "muted", children: description }) : description)] }))] }));
|
|
@@ -599,7 +599,7 @@ export function SegmentedControl({ items, value, onChange, label, disabled, just
|
|
|
599
599
|
/**
|
|
600
600
|
* O indicador da opção escolhida, nas listas do `Select` e do `Combobox` (0.32.0): o da referência
|
|
601
601
|
* — a caixa de 20 com o `check` de 16 — e o mesmo glifo da coluna `.combobox-check` da web. A cor
|
|
602
|
-
* é a do destaque
|
|
602
|
+
* é a do destaque (`primaryEmphasis`): o amarelo no escuro e, desde a ADR-0076, o azul no claro. Sai do
|
|
603
603
|
* arquivo, não do pacote — e é função, não componente, para não contar como peça nova. ⚠ Pede o
|
|
604
604
|
* `check` no registro de ícones do app; sem ele, o aviso de desenvolvimento do `Icon` diz o import.
|
|
605
605
|
*/
|
package/dist/navigation.js
CHANGED
|
@@ -355,12 +355,13 @@ export function BottomNav({ items, current, variant = "floating", indicator = "n
|
|
|
355
355
|
const ativo = it.id === current;
|
|
356
356
|
const corDoTexto = !ativo ? t.color.mutedForeground
|
|
357
357
|
: indicator === "none" ? t.color.primaryEmphasis
|
|
358
|
-
: indicator === "circle-bold" || indicator === "expand" ? t.color.
|
|
358
|
+
: indicator === "circle-bold" || indicator === "expand" ? t.color.primaryMark
|
|
359
359
|
: indicator === "subtle" || indicator === "pill" ? t.color.primaryEmphasis
|
|
360
360
|
: redondo ? t.color.primaryEmphasis
|
|
361
361
|
: t.color.foreground;
|
|
362
|
-
// Na `capsule` o ícone está SOBRE o amarelo e o rótulo não: cada um tem a sua cor.
|
|
363
|
-
|
|
362
|
+
// Na `capsule` o ícone está SOBRE o amarelo e o rótulo não: cada um tem a sua cor. Sobre o
|
|
363
|
+
// amarelo, a marca marrom (`primaryMark`), e não a tinta escura (decisão do Victor, 17/10/2026).
|
|
364
|
+
const corDoIcone = ativo && capsula ? t.color.primaryMark : corDoTexto;
|
|
364
365
|
// No `expand` o nome só aparece no escolhido; nos outros ele vira o nome do item para o
|
|
365
366
|
// leitor de tela (o texto simples) ou fica na árvore sem ocupar lugar (o que não é texto).
|
|
366
367
|
const nomeVisivel = !expande || ativo;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aurea-uds/native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"description": "A Aurea UDS para React Native: o provider de tema e densidade, os componentes e os ícones do Phosphor sobre react-native-svg.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aurea",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"NOTICE"
|
|
56
56
|
],
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@aurea-uds/tokens": "^0.
|
|
58
|
+
"@aurea-uds/tokens": "^0.37.0"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@react-native-community/datetimepicker": ">=8",
|