@beweco/aurora-ui 1.0.0-beta.149 → 1.0.0-beta.151
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/assets/css/styles.css +2 -2
- package/dist/index.cjs.js +57 -29
- package/dist/index.esm.js +57 -29
- package/dist/types/components/button/Button.d.ts.map +1 -1
- package/dist/types/components/button/Button.types.d.ts +1 -1
- package/dist/types/components/button/Button.types.d.ts.map +1 -1
- package/dist/types/components/card/Card.d.ts.map +1 -1
- package/dist/types/components/card/Card.types.d.ts +1 -1
- package/dist/types/components/card/Card.types.d.ts.map +1 -1
- package/dist/types/components/menu-claw/_internal/menu-claw-history/MenuClawHistoryPanel.d.ts +12 -2
- package/dist/types/components/menu-claw/_internal/menu-claw-history/MenuClawHistoryPanel.d.ts.map +1 -1
- package/dist/types/components/toast/GlobalToast.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -580,11 +580,17 @@ const CLASE_AURA = {
|
|
|
580
580
|
ring: "linda-aura-ring",
|
|
581
581
|
surface: "linda-aura",
|
|
582
582
|
};
|
|
583
|
+
// Escala de radios de v3 y de la app móvil, no la de v2 (decisión del usuario del 1-oct, §9.1):
|
|
584
|
+
// `sm` y `md` = el `rounded-3xl` (24px) que `.button` de v3 trae de fábrica, `lg` = 32px como en
|
|
585
|
+
// móvil. Hasta la beta .149 era la de v2 (8 / 12 / 14px). Se reasigna la escala entera, así que
|
|
586
|
+
// los `radius="sm|md|lg"` explícitos de las apps también cambian; `none` y `full` siguen igual.
|
|
587
|
+
// En px arbitrarios y no `rounded-3xl`/`rounded-4xl`: el valor no depende del `--radius` que
|
|
588
|
+
// tenga el Tailwind de la app.
|
|
583
589
|
const RADIUS_CLASS$a = {
|
|
584
590
|
none: "rounded-none",
|
|
585
|
-
sm: "rounded-[
|
|
586
|
-
md: "rounded-[
|
|
587
|
-
lg: "rounded-[
|
|
591
|
+
sm: "rounded-[24px]",
|
|
592
|
+
md: "rounded-[24px]",
|
|
593
|
+
lg: "rounded-[32px]",
|
|
588
594
|
full: "rounded-full",
|
|
589
595
|
};
|
|
590
596
|
const SHAPE_CLASS = {
|
|
@@ -2599,15 +2605,17 @@ const paddingClasses = {
|
|
|
2599
2605
|
lg: "p-8",
|
|
2600
2606
|
};
|
|
2601
2607
|
|
|
2602
|
-
// v3 no tiene prop `radius`:
|
|
2603
|
-
// `src/styles/neutralize-v3.css` (`.card
|
|
2604
|
-
//
|
|
2605
|
-
//
|
|
2608
|
+
// v3 no tiene prop `radius`: su valor por defecto (`min(32px, --radius-3xl)` = 24px) se fija
|
|
2609
|
+
// globalmente a 16px en `src/styles/neutralize-v3.css` (`.card`). Los tres tamaños dan 16px, el
|
|
2610
|
+
// `--radius-2xl` de v3 y el radio de tarjeta de la app móvil (decisión del usuario del 1-oct;
|
|
2611
|
+
// hasta la beta .149 era la escala de v2, 8 / 12 / 14px). Se reasigna la escala entera, así que
|
|
2612
|
+
// los `radius` explícitos de las apps también cambian; `none` sigue igual. En px arbitrarios para
|
|
2613
|
+
// que el valor no dependa del `--radius` del Tailwind de la app.
|
|
2606
2614
|
const RADIUS_CLASS$5 = {
|
|
2607
2615
|
none: "rounded-none",
|
|
2608
|
-
sm: "rounded-[
|
|
2609
|
-
md: "rounded-[
|
|
2610
|
-
lg: "rounded-[
|
|
2616
|
+
sm: "rounded-[16px]",
|
|
2617
|
+
md: "rounded-[16px]",
|
|
2618
|
+
lg: "rounded-[16px]",
|
|
2611
2619
|
};
|
|
2612
2620
|
// v3 no tiene prop `shadow`: su Card siempre usa `shadow-surface`. Los valores de v2 se
|
|
2613
2621
|
// reproducen con los tokens propios `--aurora-shadow-*` (emitidos en F1, mismo valor exacto que
|
|
@@ -6561,7 +6569,7 @@ size: _size, radius: _radius, variant: _variant, className, ...heroUIProps }) =>
|
|
|
6561
6569
|
*/
|
|
6562
6570
|
const ITEM_CLASS = "text-default-500 data-[hovered=true]:bg-primary-100 data-[hovered=true]:text-default-700";
|
|
6563
6571
|
const ConfigMenu = ({ options, onLogout, onOptionSelect, translations, }) => {
|
|
6564
|
-
return (jsxRuntime.jsxs(react.Dropdown, { children: [jsxRuntime.jsx(react.DropdownTrigger, { className: "button button--icon-only button--md button--primary button--hover-dim inline-flex rounded-[
|
|
6572
|
+
return (jsxRuntime.jsxs(react.Dropdown, { children: [jsxRuntime.jsx(react.DropdownTrigger, { className: "button button--icon-only button--md button--primary button--hover-dim inline-flex rounded-[24px]", style: {
|
|
6565
6573
|
"--button-bg": "var(--color-default)",
|
|
6566
6574
|
"--button-bg-hover": "var(--color-default)",
|
|
6567
6575
|
"--button-bg-pressed": "var(--color-default)",
|
|
@@ -8113,8 +8121,18 @@ const MenuComponent = $8WNJc$react.memo(function Menu({ commerceInfo, userInfo,
|
|
|
8113
8121
|
* la sección está acotada en altura, para que crecer el historial no arrastre ni
|
|
8114
8122
|
* recorte el área de navegación.
|
|
8115
8123
|
*
|
|
8116
|
-
* Densidad de MenuClaw: fila de 36px, `px-2`, `text-small`/`text-tiny` y
|
|
8117
|
-
* `rounded-lg
|
|
8124
|
+
* Densidad de MenuClaw: fila de 36px, `px-2`, `text-small`/`text-tiny` y filas del
|
|
8125
|
+
* historial con `rounded-lg` — que es justo lo que difiere del menú compartido.
|
|
8126
|
+
*
|
|
8127
|
+
* «Nueva conversación» es el `Button` de la librería, no un `<button>` propio, y
|
|
8128
|
+
* por eso lleva su radio por defecto (`rounded-[24px]`, la píldora de v3): sobre
|
|
8129
|
+
* 36px de alto el radio se recorta a la mitad, así que desplegado es una píldora
|
|
8130
|
+
* y plegado (`isIconOnly`, 36×36) un círculo. Encima de la fachada solo se fija lo
|
|
8131
|
+
* propio de MenuClaw: el alto de 36px (`size="md"` de la fachada mide 40), el
|
|
8132
|
+
* contenido alineado a la izquierda con `px-2`/`gap-3`, el peso 500 y el color
|
|
8133
|
+
* `bg-foreground`/`text-background`, que la fachada no tiene como `color` y que
|
|
8134
|
+
* gana a sus `--button-*` porque las utilidades van en una capa posterior a la de
|
|
8135
|
+
* `.button`.
|
|
8118
8136
|
*/
|
|
8119
8137
|
const MenuClawHistoryPanel = $8WNJc$react.memo(function MenuClawHistoryPanel({ items, initialVisibleCount, onNewConversation, isCollapsed, title, newLabel, showMoreLabel, showLessLabel, onBeforeSelect, }) {
|
|
8120
8138
|
const [isExpanded, setIsExpanded] = $8WNJc$react.useState(false);
|
|
@@ -8137,7 +8155,9 @@ const MenuClawHistoryPanel = $8WNJc$react.memo(function MenuClawHistoryPanel({ i
|
|
|
8137
8155
|
if (isCollapsed && !onNewConversation) {
|
|
8138
8156
|
return null;
|
|
8139
8157
|
}
|
|
8140
|
-
return (jsxRuntime.jsxs("div", { className: "flex max-h-[40%] min-h-0 flex-col gap-2 pb-3", children: [onNewConversation ? (jsxRuntime.jsxs(
|
|
8158
|
+
return (jsxRuntime.jsxs("div", { className: "flex max-h-[40%] min-h-0 flex-col gap-2 pb-3", children: [onNewConversation ? (jsxRuntime.jsxs(Button, { title: newLabel, "aria-label": isCollapsed ? newLabel : undefined, isIconOnly: isCollapsed, fullWidth: !isCollapsed, onPress: () => onNewConversation(), className: cn("h-9 shrink-0 bg-foreground text-sm font-medium text-background", isCollapsed
|
|
8159
|
+
? "w-9 min-w-9 self-center"
|
|
8160
|
+
: "justify-start gap-3 px-2"), children: [jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: jsxRuntime.jsx(IconComponent, { icon: "solar:pen-new-square-linear", size: "md", "aria-hidden": true }) }), !isCollapsed ? (jsxRuntime.jsx("span", { className: "menu-claw-collapsible truncate", children: newLabel })) : null] })) : null, !isCollapsed && items.length > 0 ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("p", { className: "shrink-0 px-2 pb-1 pt-2 text-xs font-medium uppercase tracking-wide text-default-400", children: title }), jsxRuntime.jsx("ul", { "aria-label": title, className: "flex min-h-0 flex-1 flex-col gap-0.5 overflow-y-auto [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: visibleItems.map((item) => (jsxRuntime.jsx("li", { children: jsxRuntime.jsxs("button", { type: "button", disabled: item.disabled, "aria-disabled": item.disabled, title: item.title, onClick: () => handleItemPress(item), className: cn("flex min-h-9 w-full items-center gap-3 rounded-lg px-2 py-1.5 text-left text-sm text-default-600 transition-colors", "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus", item.disabled
|
|
8141
8161
|
? "cursor-not-allowed opacity-50"
|
|
8142
8162
|
: "hover:bg-default-100"), children: [jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-default-400", children: jsxRuntime.jsx(IconComponent, { icon: "solar:chat-round-dots-linear", size: "md", "aria-hidden": true }) }), jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-col", children: [jsxRuntime.jsx("span", { className: "truncate", children: item.title }), item.meta ? (jsxRuntime.jsx("span", { className: "truncate text-xs text-default-400", children: item.meta })) : null] })] }) }, item.id))) }), hasHiddenItems ? (jsxRuntime.jsxs("button", { type: "button", onClick: handleToggleExpand, "aria-expanded": isExpanded, className: "flex w-full shrink-0 items-center gap-1.5 rounded-lg px-2 py-2 text-xs font-medium text-default-500 transition-colors hover:bg-default-100 hover:text-default-700 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus", children: [jsxRuntime.jsx(IconComponent, { icon: isExpanded
|
|
8143
8163
|
? "solar:alt-arrow-up-linear"
|
|
@@ -12698,13 +12718,28 @@ const VARIANT_BY_COLOR = {
|
|
|
12698
12718
|
// de `.toast` (`bg-surface`: blanco en claro, la superficie oscura del pack en oscuro) en los seis
|
|
12699
12719
|
// colores, y el color del estado va SOLO en el título y en el icono. La descripción es la de v3
|
|
12700
12720
|
// (`text-muted`), sin tocar.
|
|
12701
|
-
//
|
|
12702
|
-
//
|
|
12703
|
-
//
|
|
12704
|
-
//
|
|
12705
|
-
//
|
|
12706
|
-
//
|
|
12707
|
-
|
|
12721
|
+
// TECH-2459 · Geometría de v3 — DECISIÓN DEL USUARIO del 2-oct-2026, tras ver la .149/.150 en la
|
|
12722
|
+
// app: «déjalos tal cual se ven en la v3 de HeroUI». Al aspecto del 1-oct (colores) se suma ahora
|
|
12723
|
+
// la geometría: radio, caja del icono, hueco, alto y botón de cierre son los de `.toast` de v3 sin
|
|
12724
|
+
// pisar nada (`toast.css` de `@heroui/styles`, última aparición de cada selector):
|
|
12725
|
+
// - radio: `min(32px, var(--radius-3xl))` de `.toast` (24px con el tema de v3);
|
|
12726
|
+
// - padding `px-4 py-3` y `gap-1.5` (6px) entre icono y contenido, de `.toast`;
|
|
12727
|
+
// - icono: `.toast__indicator` (`p-1`) con el glifo a `size-4` por `[data-slot="toast-default-icon"]`,
|
|
12728
|
+
// así que el glifo lleva ese `data-slot`, igual que el que monta el `ToastIndicator` nativo;
|
|
12729
|
+
// - contenido: `.toast__content` (`self-center`), sin suelo de alto: lo dan el padding y el texto;
|
|
12730
|
+
// - la `x`: `.toast__close-button` (slot `close` de `toastVariants`), un círculo de 20px absoluto en
|
|
12731
|
+
// la esquina superior final (`-top-1 -end-1`, sobresale 4px), con borde y fondo `overlay` desde
|
|
12732
|
+
// `sm` y sin borde y fondo `default` por debajo; oculto en reposo y revelado por
|
|
12733
|
+
// `.toast[data-frontmost="true"]:hover` — el flag `data-frontmost` de abajo hace que esa regla
|
|
12734
|
+
// nativa aplique aquí también. v3 no tiene regla para `(hover: none)`: en táctil el primer toque
|
|
12735
|
+
// sobre el toast activa el `:hover` emulado y revela la `x`, y el segundo la pulsa (medido igual
|
|
12736
|
+
// en el nativo).
|
|
12737
|
+
//
|
|
12738
|
+
// Lo ÚNICO que se añade a v3 es el revelado con teclado (`REVEAL_ON_FOCUS`): v3 no tiene ninguna
|
|
12739
|
+
// regla de `:focus`/`:focus-visible`/`:focus-within` que lo haga visible, así que con Tab el foco
|
|
12740
|
+
// caía en un botón con `opacity: 0` (medido en el `Toast` nativo). Es accesibilidad, no aspecto: en
|
|
12741
|
+
// reposo y con ratón el botón se comporta exactamente como el nativo.
|
|
12742
|
+
const REVEAL_ON_FOCUS = "data-[focus-visible=true]:pointer-events-auto data-[focus-visible=true]:opacity-100";
|
|
12708
12743
|
// TECH-2459 · Indicador de estado — REPUESTO el 8-sep-2026 por decisión del usuario, a partir del
|
|
12709
12744
|
// finding `app-loginos-toast-v3-visual.md` (smoke de loginos contra QA, beta.114): con el MISMO
|
|
12710
12745
|
// toast (`color="danger"`, login con credenciales inválidas) v2 pintaba un glifo de estado a la
|
|
@@ -12751,13 +12786,6 @@ const ICON_BY_COLOR = {
|
|
|
12751
12786
|
danger: "",
|
|
12752
12787
|
default: "",
|
|
12753
12788
|
};
|
|
12754
|
-
// Geometría del hueco del icono en v2 (slot `iconWrapper`: `flex-none relative w-9 h-9
|
|
12755
|
-
// rounded-full grid place-items-center`, con el glifo a `w-6`). El toast de v2 pasaba
|
|
12756
|
-
// `hideIconWrapper`, que solo dejaba transparente el círculo (`!bg-transparent !shadow-none
|
|
12757
|
-
// !border-none`) sin ocultar el glifo, así que aquí se repone la caja de 36 px y el glifo de
|
|
12758
|
-
// 24 px, sin fondo ni borde. `p-0` y `[&_svg]:size-6` anulan el `p-1` + icono de 16 px de
|
|
12759
|
-
// `.toast__indicator`; son utilidades, así que ganan a la capa `components` de `@heroui/styles`.
|
|
12760
|
-
const INDICATOR_BASE = "size-9 p-0 [&_svg]:size-6 [&_svg]:fill-current";
|
|
12761
12789
|
const DEFAULT_TRANSLATIONS$6 = {
|
|
12762
12790
|
closeButtonAriaLabel: "Cerrar notificación",
|
|
12763
12791
|
};
|
|
@@ -12774,7 +12802,7 @@ function GlobalToast({ translations = {} } = {}) {
|
|
|
12774
12802
|
const slots = react.toastVariants({ placement: "top end", variant });
|
|
12775
12803
|
const isSecondary = color === "secondary";
|
|
12776
12804
|
const StatusIcon = ICON_BY_VARIANT[variant];
|
|
12777
|
-
return (jsxRuntime.jsx("div", { className: "fixed top-4 right-4 z-[2000] w-full max-w-sm", children: jsxRuntime.jsxs("div", { className:
|
|
12805
|
+
return (jsxRuntime.jsx("div", { className: "fixed top-4 right-4 z-[2000] w-full max-w-sm", children: jsxRuntime.jsxs("div", { className: slots.toast(), "data-frontmost": "true", style: { position: "relative" }, children: [jsxRuntime.jsx("div", { className: cn(slots.indicator(), ICON_BY_COLOR[color]), children: jsxRuntime.jsx(StatusIcon, { "data-slot": "toast-default-icon" }) }), jsxRuntime.jsxs("div", { className: slots.content(), children: [jsxRuntime.jsx("div", { className: slots.title(), style: isSecondary ? { color: "var(--color-secondary-600)" } : undefined, children: toast.title }), toast.description && (jsxRuntime.jsx("div", { className: slots.description(), children: toast.description }))] }), jsxRuntime.jsx(react.CloseButton, { "aria-label": t.closeButtonAriaLabel, className: cn(slots.close(), REVEAL_ON_FOCUS), onPress: hideToast })] }) }));
|
|
12778
12806
|
}
|
|
12779
12807
|
|
|
12780
12808
|
/**
|
package/dist/index.esm.js
CHANGED
|
@@ -580,11 +580,17 @@ const CLASE_AURA = {
|
|
|
580
580
|
ring: "linda-aura-ring",
|
|
581
581
|
surface: "linda-aura",
|
|
582
582
|
};
|
|
583
|
+
// Escala de radios de v3 y de la app móvil, no la de v2 (decisión del usuario del 1-oct, §9.1):
|
|
584
|
+
// `sm` y `md` = el `rounded-3xl` (24px) que `.button` de v3 trae de fábrica, `lg` = 32px como en
|
|
585
|
+
// móvil. Hasta la beta .149 era la de v2 (8 / 12 / 14px). Se reasigna la escala entera, así que
|
|
586
|
+
// los `radius="sm|md|lg"` explícitos de las apps también cambian; `none` y `full` siguen igual.
|
|
587
|
+
// En px arbitrarios y no `rounded-3xl`/`rounded-4xl`: el valor no depende del `--radius` que
|
|
588
|
+
// tenga el Tailwind de la app.
|
|
583
589
|
const RADIUS_CLASS$a = {
|
|
584
590
|
none: "rounded-none",
|
|
585
|
-
sm: "rounded-[
|
|
586
|
-
md: "rounded-[
|
|
587
|
-
lg: "rounded-[
|
|
591
|
+
sm: "rounded-[24px]",
|
|
592
|
+
md: "rounded-[24px]",
|
|
593
|
+
lg: "rounded-[32px]",
|
|
588
594
|
full: "rounded-full",
|
|
589
595
|
};
|
|
590
596
|
const SHAPE_CLASS = {
|
|
@@ -2599,15 +2605,17 @@ const paddingClasses = {
|
|
|
2599
2605
|
lg: "p-8",
|
|
2600
2606
|
};
|
|
2601
2607
|
|
|
2602
|
-
// v3 no tiene prop `radius`:
|
|
2603
|
-
// `src/styles/neutralize-v3.css` (`.card
|
|
2604
|
-
//
|
|
2605
|
-
//
|
|
2608
|
+
// v3 no tiene prop `radius`: su valor por defecto (`min(32px, --radius-3xl)` = 24px) se fija
|
|
2609
|
+
// globalmente a 16px en `src/styles/neutralize-v3.css` (`.card`). Los tres tamaños dan 16px, el
|
|
2610
|
+
// `--radius-2xl` de v3 y el radio de tarjeta de la app móvil (decisión del usuario del 1-oct;
|
|
2611
|
+
// hasta la beta .149 era la escala de v2, 8 / 12 / 14px). Se reasigna la escala entera, así que
|
|
2612
|
+
// los `radius` explícitos de las apps también cambian; `none` sigue igual. En px arbitrarios para
|
|
2613
|
+
// que el valor no dependa del `--radius` del Tailwind de la app.
|
|
2606
2614
|
const RADIUS_CLASS$5 = {
|
|
2607
2615
|
none: "rounded-none",
|
|
2608
|
-
sm: "rounded-[
|
|
2609
|
-
md: "rounded-[
|
|
2610
|
-
lg: "rounded-[
|
|
2616
|
+
sm: "rounded-[16px]",
|
|
2617
|
+
md: "rounded-[16px]",
|
|
2618
|
+
lg: "rounded-[16px]",
|
|
2611
2619
|
};
|
|
2612
2620
|
// v3 no tiene prop `shadow`: su Card siempre usa `shadow-surface`. Los valores de v2 se
|
|
2613
2621
|
// reproducen con los tokens propios `--aurora-shadow-*` (emitidos en F1, mismo valor exacto que
|
|
@@ -6561,7 +6569,7 @@ size: _size, radius: _radius, variant: _variant, className, ...heroUIProps }) =>
|
|
|
6561
6569
|
*/
|
|
6562
6570
|
const ITEM_CLASS = "text-default-500 data-[hovered=true]:bg-primary-100 data-[hovered=true]:text-default-700";
|
|
6563
6571
|
const ConfigMenu = ({ options, onLogout, onOptionSelect, translations, }) => {
|
|
6564
|
-
return (jsxs(Dropdown$1, { children: [jsx(DropdownTrigger, { className: "button button--icon-only button--md button--primary button--hover-dim inline-flex rounded-[
|
|
6572
|
+
return (jsxs(Dropdown$1, { children: [jsx(DropdownTrigger, { className: "button button--icon-only button--md button--primary button--hover-dim inline-flex rounded-[24px]", style: {
|
|
6565
6573
|
"--button-bg": "var(--color-default)",
|
|
6566
6574
|
"--button-bg-hover": "var(--color-default)",
|
|
6567
6575
|
"--button-bg-pressed": "var(--color-default)",
|
|
@@ -8113,8 +8121,18 @@ const MenuComponent = $8WNJc$react.memo(function Menu({ commerceInfo, userInfo,
|
|
|
8113
8121
|
* la sección está acotada en altura, para que crecer el historial no arrastre ni
|
|
8114
8122
|
* recorte el área de navegación.
|
|
8115
8123
|
*
|
|
8116
|
-
* Densidad de MenuClaw: fila de 36px, `px-2`, `text-small`/`text-tiny` y
|
|
8117
|
-
* `rounded-lg
|
|
8124
|
+
* Densidad de MenuClaw: fila de 36px, `px-2`, `text-small`/`text-tiny` y filas del
|
|
8125
|
+
* historial con `rounded-lg` — que es justo lo que difiere del menú compartido.
|
|
8126
|
+
*
|
|
8127
|
+
* «Nueva conversación» es el `Button` de la librería, no un `<button>` propio, y
|
|
8128
|
+
* por eso lleva su radio por defecto (`rounded-[24px]`, la píldora de v3): sobre
|
|
8129
|
+
* 36px de alto el radio se recorta a la mitad, así que desplegado es una píldora
|
|
8130
|
+
* y plegado (`isIconOnly`, 36×36) un círculo. Encima de la fachada solo se fija lo
|
|
8131
|
+
* propio de MenuClaw: el alto de 36px (`size="md"` de la fachada mide 40), el
|
|
8132
|
+
* contenido alineado a la izquierda con `px-2`/`gap-3`, el peso 500 y el color
|
|
8133
|
+
* `bg-foreground`/`text-background`, que la fachada no tiene como `color` y que
|
|
8134
|
+
* gana a sus `--button-*` porque las utilidades van en una capa posterior a la de
|
|
8135
|
+
* `.button`.
|
|
8118
8136
|
*/
|
|
8119
8137
|
const MenuClawHistoryPanel = $8WNJc$react.memo(function MenuClawHistoryPanel({ items, initialVisibleCount, onNewConversation, isCollapsed, title, newLabel, showMoreLabel, showLessLabel, onBeforeSelect, }) {
|
|
8120
8138
|
const [isExpanded, setIsExpanded] = $8WNJc$react.useState(false);
|
|
@@ -8137,7 +8155,9 @@ const MenuClawHistoryPanel = $8WNJc$react.memo(function MenuClawHistoryPanel({ i
|
|
|
8137
8155
|
if (isCollapsed && !onNewConversation) {
|
|
8138
8156
|
return null;
|
|
8139
8157
|
}
|
|
8140
|
-
return (jsxs("div", { className: "flex max-h-[40%] min-h-0 flex-col gap-2 pb-3", children: [onNewConversation ? (jsxs(
|
|
8158
|
+
return (jsxs("div", { className: "flex max-h-[40%] min-h-0 flex-col gap-2 pb-3", children: [onNewConversation ? (jsxs(Button, { title: newLabel, "aria-label": isCollapsed ? newLabel : undefined, isIconOnly: isCollapsed, fullWidth: !isCollapsed, onPress: () => onNewConversation(), className: cn("h-9 shrink-0 bg-foreground text-sm font-medium text-background", isCollapsed
|
|
8159
|
+
? "w-9 min-w-9 self-center"
|
|
8160
|
+
: "justify-start gap-3 px-2"), children: [jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: jsx(IconComponent, { icon: "solar:pen-new-square-linear", size: "md", "aria-hidden": true }) }), !isCollapsed ? (jsx("span", { className: "menu-claw-collapsible truncate", children: newLabel })) : null] })) : null, !isCollapsed && items.length > 0 ? (jsxs(Fragment$1, { children: [jsx("p", { className: "shrink-0 px-2 pb-1 pt-2 text-xs font-medium uppercase tracking-wide text-default-400", children: title }), jsx("ul", { "aria-label": title, className: "flex min-h-0 flex-1 flex-col gap-0.5 overflow-y-auto [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: visibleItems.map((item) => (jsx("li", { children: jsxs("button", { type: "button", disabled: item.disabled, "aria-disabled": item.disabled, title: item.title, onClick: () => handleItemPress(item), className: cn("flex min-h-9 w-full items-center gap-3 rounded-lg px-2 py-1.5 text-left text-sm text-default-600 transition-colors", "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus", item.disabled
|
|
8141
8161
|
? "cursor-not-allowed opacity-50"
|
|
8142
8162
|
: "hover:bg-default-100"), children: [jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-default-400", children: jsx(IconComponent, { icon: "solar:chat-round-dots-linear", size: "md", "aria-hidden": true }) }), jsxs("span", { className: "flex min-w-0 flex-col", children: [jsx("span", { className: "truncate", children: item.title }), item.meta ? (jsx("span", { className: "truncate text-xs text-default-400", children: item.meta })) : null] })] }) }, item.id))) }), hasHiddenItems ? (jsxs("button", { type: "button", onClick: handleToggleExpand, "aria-expanded": isExpanded, className: "flex w-full shrink-0 items-center gap-1.5 rounded-lg px-2 py-2 text-xs font-medium text-default-500 transition-colors hover:bg-default-100 hover:text-default-700 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus", children: [jsx(IconComponent, { icon: isExpanded
|
|
8143
8163
|
? "solar:alt-arrow-up-linear"
|
|
@@ -12698,13 +12718,28 @@ const VARIANT_BY_COLOR = {
|
|
|
12698
12718
|
// de `.toast` (`bg-surface`: blanco en claro, la superficie oscura del pack en oscuro) en los seis
|
|
12699
12719
|
// colores, y el color del estado va SOLO en el título y en el icono. La descripción es la de v3
|
|
12700
12720
|
// (`text-muted`), sin tocar.
|
|
12701
|
-
//
|
|
12702
|
-
//
|
|
12703
|
-
//
|
|
12704
|
-
//
|
|
12705
|
-
//
|
|
12706
|
-
//
|
|
12707
|
-
|
|
12721
|
+
// TECH-2459 · Geometría de v3 — DECISIÓN DEL USUARIO del 2-oct-2026, tras ver la .149/.150 en la
|
|
12722
|
+
// app: «déjalos tal cual se ven en la v3 de HeroUI». Al aspecto del 1-oct (colores) se suma ahora
|
|
12723
|
+
// la geometría: radio, caja del icono, hueco, alto y botón de cierre son los de `.toast` de v3 sin
|
|
12724
|
+
// pisar nada (`toast.css` de `@heroui/styles`, última aparición de cada selector):
|
|
12725
|
+
// - radio: `min(32px, var(--radius-3xl))` de `.toast` (24px con el tema de v3);
|
|
12726
|
+
// - padding `px-4 py-3` y `gap-1.5` (6px) entre icono y contenido, de `.toast`;
|
|
12727
|
+
// - icono: `.toast__indicator` (`p-1`) con el glifo a `size-4` por `[data-slot="toast-default-icon"]`,
|
|
12728
|
+
// así que el glifo lleva ese `data-slot`, igual que el que monta el `ToastIndicator` nativo;
|
|
12729
|
+
// - contenido: `.toast__content` (`self-center`), sin suelo de alto: lo dan el padding y el texto;
|
|
12730
|
+
// - la `x`: `.toast__close-button` (slot `close` de `toastVariants`), un círculo de 20px absoluto en
|
|
12731
|
+
// la esquina superior final (`-top-1 -end-1`, sobresale 4px), con borde y fondo `overlay` desde
|
|
12732
|
+
// `sm` y sin borde y fondo `default` por debajo; oculto en reposo y revelado por
|
|
12733
|
+
// `.toast[data-frontmost="true"]:hover` — el flag `data-frontmost` de abajo hace que esa regla
|
|
12734
|
+
// nativa aplique aquí también. v3 no tiene regla para `(hover: none)`: en táctil el primer toque
|
|
12735
|
+
// sobre el toast activa el `:hover` emulado y revela la `x`, y el segundo la pulsa (medido igual
|
|
12736
|
+
// en el nativo).
|
|
12737
|
+
//
|
|
12738
|
+
// Lo ÚNICO que se añade a v3 es el revelado con teclado (`REVEAL_ON_FOCUS`): v3 no tiene ninguna
|
|
12739
|
+
// regla de `:focus`/`:focus-visible`/`:focus-within` que lo haga visible, así que con Tab el foco
|
|
12740
|
+
// caía en un botón con `opacity: 0` (medido en el `Toast` nativo). Es accesibilidad, no aspecto: en
|
|
12741
|
+
// reposo y con ratón el botón se comporta exactamente como el nativo.
|
|
12742
|
+
const REVEAL_ON_FOCUS = "data-[focus-visible=true]:pointer-events-auto data-[focus-visible=true]:opacity-100";
|
|
12708
12743
|
// TECH-2459 · Indicador de estado — REPUESTO el 8-sep-2026 por decisión del usuario, a partir del
|
|
12709
12744
|
// finding `app-loginos-toast-v3-visual.md` (smoke de loginos contra QA, beta.114): con el MISMO
|
|
12710
12745
|
// toast (`color="danger"`, login con credenciales inválidas) v2 pintaba un glifo de estado a la
|
|
@@ -12751,13 +12786,6 @@ const ICON_BY_COLOR = {
|
|
|
12751
12786
|
danger: "",
|
|
12752
12787
|
default: "",
|
|
12753
12788
|
};
|
|
12754
|
-
// Geometría del hueco del icono en v2 (slot `iconWrapper`: `flex-none relative w-9 h-9
|
|
12755
|
-
// rounded-full grid place-items-center`, con el glifo a `w-6`). El toast de v2 pasaba
|
|
12756
|
-
// `hideIconWrapper`, que solo dejaba transparente el círculo (`!bg-transparent !shadow-none
|
|
12757
|
-
// !border-none`) sin ocultar el glifo, así que aquí se repone la caja de 36 px y el glifo de
|
|
12758
|
-
// 24 px, sin fondo ni borde. `p-0` y `[&_svg]:size-6` anulan el `p-1` + icono de 16 px de
|
|
12759
|
-
// `.toast__indicator`; son utilidades, así que ganan a la capa `components` de `@heroui/styles`.
|
|
12760
|
-
const INDICATOR_BASE = "size-9 p-0 [&_svg]:size-6 [&_svg]:fill-current";
|
|
12761
12789
|
const DEFAULT_TRANSLATIONS$6 = {
|
|
12762
12790
|
closeButtonAriaLabel: "Cerrar notificación",
|
|
12763
12791
|
};
|
|
@@ -12774,7 +12802,7 @@ function GlobalToast({ translations = {} } = {}) {
|
|
|
12774
12802
|
const slots = toastVariants({ placement: "top end", variant });
|
|
12775
12803
|
const isSecondary = color === "secondary";
|
|
12776
12804
|
const StatusIcon = ICON_BY_VARIANT[variant];
|
|
12777
|
-
return (jsx("div", { className: "fixed top-4 right-4 z-[2000] w-full max-w-sm", children: jsxs("div", { className:
|
|
12805
|
+
return (jsx("div", { className: "fixed top-4 right-4 z-[2000] w-full max-w-sm", children: jsxs("div", { className: slots.toast(), "data-frontmost": "true", style: { position: "relative" }, children: [jsx("div", { className: cn(slots.indicator(), ICON_BY_COLOR[color]), children: jsx(StatusIcon, { "data-slot": "toast-default-icon" }) }), jsxs("div", { className: slots.content(), children: [jsx("div", { className: slots.title(), style: isSecondary ? { color: "var(--color-secondary-600)" } : undefined, children: toast.title }), toast.description && (jsx("div", { className: slots.description(), children: toast.description }))] }), jsx(CloseButton, { "aria-label": t.closeButtonAriaLabel, className: cn(slots.close(), REVEAL_ON_FOCUS), onPress: hideToast })] }) }));
|
|
12778
12806
|
}
|
|
12779
12807
|
|
|
12780
12808
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,EAAe,WAAW,EAAiB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,EAAe,WAAW,EAAiB,MAAM,gBAAgB,CAAC;AA6R9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsMxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -33,7 +33,7 @@ export type ButtonProps = Omit<ButtonRootProps, "color" | "variant" | "children"
|
|
|
33
33
|
size?: "sm" | "md" | "lg";
|
|
34
34
|
/** Estilo visual v2, traducido internamente al `variant` único de HeroUI v3. @default "solid" */
|
|
35
35
|
variant?: ButtonVariant;
|
|
36
|
-
/** Radio de borde. @default "sm" (
|
|
36
|
+
/** Radio de borde, escala de v3 y móvil: sm/md 24px, lg 32px. @default "sm" (24px) */
|
|
37
37
|
radius?: "none" | "sm" | "md" | "lg" | "full";
|
|
38
38
|
/** Contenido antes del texto (icono…). v3 eliminó esta prop — se compone como children. */
|
|
39
39
|
startContent?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,WAAW,GACpB,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,CAAC;AAEZ,mGAAmG;AACnG,MAAM,MAAM,aAAa,GACtB,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAChC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CACxE,GACA,KAAK,CAAC,cAAc,GAAG;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CACjC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,CACtE,GAAG;IACH,iFAAiF;IACjF,EAAE,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAC9C,GACA,cAAc,GACd,eAAe,GAAG;IACjB,kGAAkG;IAClG,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sCAAsC;IACtC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,iGAAiG;IACjG,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,WAAW,GACpB,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,CAAC;AAEZ,mGAAmG;AACnG,MAAM,MAAM,aAAa,GACtB,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAChC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CACxE,GACA,KAAK,CAAC,cAAc,GAAG;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CACjC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,CACtE,GAAG;IACH,iFAAiF;IACjF,EAAE,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAC9C,GACA,cAAc,GACd,eAAe,GAAG;IACjB,kGAAkG;IAClG,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sCAAsC;IACtC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,iGAAiG;IACjG,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC9C,2FAA2F;IAC3F,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,6FAA6F;IAC7F,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACnC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,cAAc,CAAC;AAoH9D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,IAAI,kFAgJhB,CAAC;AAIF,eAAe,IAAI,CAAC"}
|
|
@@ -38,7 +38,7 @@ export interface CardProps extends CardDOMProps, Omit<CardRootProps<"div">, "var
|
|
|
38
38
|
className?: string;
|
|
39
39
|
/** Nivel de sombra. @default "sm" (traducido a los tokens propios `--aurora-shadow-*`) */
|
|
40
40
|
shadow?: "none" | "sm" | "md" | "lg";
|
|
41
|
-
/** Radio de borde. @default "sm" (
|
|
41
|
+
/** Radio de borde: sm, md y lg dan 16px (escala de v3 y móvil). @default "sm" (16px) */
|
|
42
42
|
radius?: "none" | "sm" | "md" | "lg";
|
|
43
43
|
/** Padding interno. @default "md" */
|
|
44
44
|
padding?: "sm" | "md" | "lg";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../../src/components/card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;IAChE,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,KAAK,YAAY,GAAG,IAAI,CACvB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,GAAG,WAAW,CACxB,CAAC;AAKF,MAAM,WAAW,SAChB,SAAQ,YAAY,EACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../../src/components/card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;IAChE,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,KAAK,YAAY,GAAG,IAAI,CACvB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,GAAG,WAAW,CACxB,CAAC;AAKF,MAAM,WAAW,SAChB,SAAQ,YAAY,EACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,qCAAqC;IACrC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc;;;;CAIjB,CAAC"}
|
package/dist/types/components/menu-claw/_internal/menu-claw-history/MenuClawHistoryPanel.d.ts
CHANGED
|
@@ -8,8 +8,18 @@ import type { MenuClawHistoryPanelProps } from "./MenuClawHistoryPanel.types";
|
|
|
8
8
|
* la sección está acotada en altura, para que crecer el historial no arrastre ni
|
|
9
9
|
* recorte el área de navegación.
|
|
10
10
|
*
|
|
11
|
-
* Densidad de MenuClaw: fila de 36px, `px-2`, `text-small`/`text-tiny` y
|
|
12
|
-
* `rounded-lg
|
|
11
|
+
* Densidad de MenuClaw: fila de 36px, `px-2`, `text-small`/`text-tiny` y filas del
|
|
12
|
+
* historial con `rounded-lg` — que es justo lo que difiere del menú compartido.
|
|
13
|
+
*
|
|
14
|
+
* «Nueva conversación» es el `Button` de la librería, no un `<button>` propio, y
|
|
15
|
+
* por eso lleva su radio por defecto (`rounded-[24px]`, la píldora de v3): sobre
|
|
16
|
+
* 36px de alto el radio se recorta a la mitad, así que desplegado es una píldora
|
|
17
|
+
* y plegado (`isIconOnly`, 36×36) un círculo. Encima de la fachada solo se fija lo
|
|
18
|
+
* propio de MenuClaw: el alto de 36px (`size="md"` de la fachada mide 40), el
|
|
19
|
+
* contenido alineado a la izquierda con `px-2`/`gap-3`, el peso 500 y el color
|
|
20
|
+
* `bg-foreground`/`text-background`, que la fachada no tiene como `color` y que
|
|
21
|
+
* gana a sus `--button-*` porque las utilidades van en una capa posterior a la de
|
|
22
|
+
* `.button`.
|
|
13
23
|
*/
|
|
14
24
|
export declare const MenuClawHistoryPanel: React.FC<MenuClawHistoryPanelProps>;
|
|
15
25
|
//# sourceMappingURL=MenuClawHistoryPanel.d.ts.map
|
package/dist/types/components/menu-claw/_internal/menu-claw-history/MenuClawHistoryPanel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuClawHistoryPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/components/menu-claw/_internal/menu-claw-history/MenuClawHistoryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuClawHistoryPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/components/menu-claw/_internal/menu-claw-history/MenuClawHistoryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAKpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA6IlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalToast.d.ts","sourceRoot":"","sources":["../../../../src/components/toast/GlobalToast.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,gBAAgB,EAEhB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"GlobalToast.d.ts","sourceRoot":"","sources":["../../../../src/components/toast/GlobalToast.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,gBAAgB,EAEhB,MAAM,qBAAqB,CAAC;AA+G7B,wBAAgB,WAAW,CAAC,EAAE,YAAiB,EAAE,GAAE,gBAAqB,sCAuEvE"}
|