@aurea-uds/react 0.13.0 → 0.14.1
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/actions.js +11 -2
- package/package.json +1 -1
package/dist/actions.js
CHANGED
|
@@ -55,7 +55,15 @@ export const Button = forwardRef(function Button({ variant, appearance, tone, si
|
|
|
55
55
|
const base = valorBase(size) ?? "md";
|
|
56
56
|
const cls = cx("btn", buttonSkin(variant, appearance, tone), responsivo ? classesResponsivas("size", size) : (base !== "md" && `btn-${base}`), fullWidth && "btn-block", grow && "btn-grow", className);
|
|
57
57
|
// kbd dentro do botão: mostra o atalho E o anuncia (aria-keyshortcuts), senão é enfeite.
|
|
58
|
-
|
|
58
|
+
// 🔴 OCUPADO TROCA, NÃO ACRESCENTA (01/10/2026, achado pelo Victor no aureauds.dev): a rodinha
|
|
59
|
+
// entrava ANTES do ícone, e no `IconButton` — 36 de largura fixa — rodinha e glifo não cabiam:
|
|
60
|
+
// medido no catálogo, a rodinha começava 4px FORA do botão, à esquerda, com o disquete ainda ao
|
|
61
|
+
// lado. O HeroUI troca (exemplo "Loading State" da doc do Button 3.2.6:
|
|
62
|
+
// `isPending ? <Spinner/> : <Paperclip/>`). Aqui também: ocupado, a rodinha toma o lugar do ícone
|
|
63
|
+
// da frente; e sem conteúdo (o `IconButton` ocupado) o invólucro vazio some, senão o `gap` dele
|
|
64
|
+
// empurraria a rodinha para fora do centro. Fora do estado ocupado o HTML é o mesmo de antes.
|
|
65
|
+
const temConteudo = children != null && children !== false;
|
|
66
|
+
const inner = _jsxs(_Fragment, { children: [loading ? _jsx("span", { className: "spinner" }) : leadingIcon && _jsx(Icon, { name: leadingIcon }), (temConteudo || !loading) && _jsx("span", { children: children }), kbd && _jsx(Kbd, { children: kbd }), trailingIcon && _jsx(Icon, { name: trailingIcon })] });
|
|
59
67
|
// INERTE ≠ DESABILITADO, e a diferença é medida (M4, 13/08/2026): `disabled` tira o botão da
|
|
60
68
|
// ordem de foco, então quem navega por teclado nunca alcança a explicação de POR QUE não dá — e
|
|
61
69
|
// "não dá porque você não tem permissão" é justamente o caso em que a explicação é tudo. O
|
|
@@ -130,7 +138,8 @@ export function Toggle({ pressed, defaultPressed, onPressedChange, value, icon,
|
|
|
130
138
|
// default ghost (não secondary): um ícone-ação solto — hambúrguer, tema, fechar — é sem
|
|
131
139
|
// caixa por convenção (pedido do Victor: hambúrguer sem borda). Quem quer a caixa passa
|
|
132
140
|
// variant. Alinha o React ao HTML dos docs, onde .btn-icon já é transparente.
|
|
133
|
-
|
|
141
|
+
// Ocupado, o glifo SAI e a rodinha fica sozinha no centro — ver o `inner` do `Button`.
|
|
142
|
+
export const IconButton = forwardRef(function IconButton({ label, icon, variant = "ghost", className, loading, ...props }, ref) { return _jsx(Button, { ref: ref, variant: variant, className: cx("btn-icon", className), "aria-label": label, loading: loading, ...props, children: loading ? null : _jsx(Icon, { name: icon }) }); });
|
|
134
143
|
export const ThemeToggle = forwardRef(function ThemeToggle({ className, ...props }, ref) {
|
|
135
144
|
const { theme, toggleTheme } = useAureaTheme();
|
|
136
145
|
const s = useAureaStrings();
|