@ajuarezso/sui-design-system 0.15.1 → 0.15.3
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/package.json
CHANGED
|
@@ -1587,7 +1587,7 @@ declare class SuiButtonGroupItem {
|
|
|
1587
1587
|
/** aria-label para icon-only buttons */
|
|
1588
1588
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1589
1589
|
/** Estado del data-attribute para CSS scoping */
|
|
1590
|
-
readonly state: _angular_core.Signal<"
|
|
1590
|
+
readonly state: _angular_core.Signal<"disabled" | "default" | "active">;
|
|
1591
1591
|
/** True cuando solo tiene icon (left o right) sin label */
|
|
1592
1592
|
readonly onlyIcon: _angular_core.Signal<boolean>;
|
|
1593
1593
|
/**
|
|
@@ -1598,7 +1598,7 @@ declare class SuiButtonGroupItem {
|
|
|
1598
1598
|
* - 'both' → ambos iconos: padding cuadrado (p)
|
|
1599
1599
|
* - 'only' → icon-only: padding cuadrado (p) → square box
|
|
1600
1600
|
*/
|
|
1601
|
-
readonly iconLayout: _angular_core.Signal<"
|
|
1601
|
+
readonly iconLayout: _angular_core.Signal<"left" | "right" | "none" | "both" | "only">;
|
|
1602
1602
|
/** Tamaño del icono en px según size del item (small/xsmall=20, 2xsmall=16) */
|
|
1603
1603
|
readonly iconSize: _angular_core.Signal<number>;
|
|
1604
1604
|
readonly clicked: _angular_core.OutputEmitterRef<void>;
|
|
@@ -1759,7 +1759,7 @@ declare class SuiButton {
|
|
|
1759
1759
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1760
1760
|
readonly leftIcon: _angular_core.InputSignal<string | null>;
|
|
1761
1761
|
readonly rightIcon: _angular_core.InputSignal<string | null>;
|
|
1762
|
-
readonly type: _angular_core.InputSignal<"button" | "
|
|
1762
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
1763
1763
|
/** Intercept click/Enter/Space — cuando type=submit, busca el form padre y
|
|
1764
1764
|
dispara requestSubmit(). Reset hace lo mismo con form.reset(). Disabled
|
|
1765
1765
|
bloquea todo. */
|
|
@@ -2143,7 +2143,7 @@ declare class SuiCheckboxCard implements ControlValueAccessor {
|
|
|
2143
2143
|
/** RemixIcon name (sin prefijo "ri-") para type='left-icon'. */
|
|
2144
2144
|
readonly icon: _angular_core.InputSignal<string | null>;
|
|
2145
2145
|
/** Emoji del catálogo SUI_EMOJI_MAP — alternativa a icon para type='left-icon'. */
|
|
2146
|
-
readonly emoji: _angular_core.InputSignal<"
|
|
2146
|
+
readonly emoji: _angular_core.InputSignal<"label" | "warning" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
2147
2147
|
/** URL directa al emoji para type='left-icon'. Precedencia: icon > emoji > iconSrc. */
|
|
2148
2148
|
readonly iconSrc: _angular_core.InputSignal<string | null>;
|
|
2149
2149
|
/** URL de imagen para type='avatar'. Si falla, fallback a iniciales del label. */
|
|
@@ -2265,7 +2265,7 @@ declare class SuiLinkButton {
|
|
|
2265
2265
|
readonly href: _angular_core.InputSignal<string | null>;
|
|
2266
2266
|
readonly target: _angular_core.InputSignal<string | null>;
|
|
2267
2267
|
readonly rel: _angular_core.InputSignal<string | null>;
|
|
2268
|
-
readonly type: _angular_core.InputSignal<"button" | "
|
|
2268
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
2269
2269
|
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
2270
2270
|
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
2271
2271
|
readonly iconSize: _angular_core.Signal<number>;
|
|
@@ -2584,7 +2584,7 @@ declare class SuiColorDot {
|
|
|
2584
2584
|
* - `selected` → dot 12×12 + ring 2px.
|
|
2585
2585
|
* - `disabled` → dot gris pálido, sin pointer events.
|
|
2586
2586
|
*/
|
|
2587
|
-
readonly state: _angular_core.InputSignal<"
|
|
2587
|
+
readonly state: _angular_core.InputSignal<"disabled" | "default" | "hover" | "selected">;
|
|
2588
2588
|
/** aria-label override. */
|
|
2589
2589
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
2590
2590
|
readonly clicked: _angular_core.OutputEmitterRef<void>;
|
|
@@ -3171,7 +3171,7 @@ declare class SuiCompactButton {
|
|
|
3171
3171
|
readonly href: _angular_core.InputSignal<string | null>;
|
|
3172
3172
|
readonly target: _angular_core.InputSignal<string | null>;
|
|
3173
3173
|
readonly rel: _angular_core.InputSignal<string | null>;
|
|
3174
|
-
readonly type: _angular_core.InputSignal<"button" | "
|
|
3174
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
3175
3175
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
3176
3176
|
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
3177
3177
|
readonly iconSize: _angular_core.Signal<number>;
|
|
@@ -4310,7 +4310,7 @@ declare class SuiDayCell {
|
|
|
4310
4310
|
/** Type=Basic (default) o Range (entre extremos / extremo del range). */
|
|
4311
4311
|
readonly type: _angular_core.InputSignal<SuiDayCellType>;
|
|
4312
4312
|
/** Position dentro del range — solo aplica si type=range. */
|
|
4313
|
-
readonly rangePosition: _angular_core.InputSignal<"
|
|
4313
|
+
readonly rangePosition: _angular_core.InputSignal<"start" | "end" | "in" | null>;
|
|
4314
4314
|
/** Selected (mode date) o range extremo (start/end con bg primary). */
|
|
4315
4315
|
readonly selected: _angular_core.InputSignal<boolean>;
|
|
4316
4316
|
/** Marker dot (evento / pedido / disponibilidad). */
|
|
@@ -5037,7 +5037,7 @@ type SuiEmojiName = keyof typeof SUI_EMOJI_MAP;
|
|
|
5037
5037
|
type SuiEmojiSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
5038
5038
|
declare class SuiEmoji {
|
|
5039
5039
|
/** Nombre del emoji del catálogo. Si se proveé `src`, este se ignora. */
|
|
5040
|
-
readonly name: _angular_core.InputSignal<"
|
|
5040
|
+
readonly name: _angular_core.InputSignal<"label" | "warning" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
5041
5041
|
/** URL directa al emoji (override del catálogo). Útil para usar emojis fuera del map. */
|
|
5042
5042
|
readonly src: _angular_core.InputSignal<string | null>;
|
|
5043
5043
|
/** Tamaño del emoji. */
|
|
@@ -5226,7 +5226,7 @@ declare class SuiFancyButton {
|
|
|
5226
5226
|
readonly href: _angular_core.InputSignal<string | null>;
|
|
5227
5227
|
readonly target: _angular_core.InputSignal<string | null>;
|
|
5228
5228
|
readonly rel: _angular_core.InputSignal<string | null>;
|
|
5229
|
-
readonly htmlType: _angular_core.InputSignal<"button" | "
|
|
5229
|
+
readonly htmlType: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
5230
5230
|
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
5231
5231
|
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
5232
5232
|
readonly iconSize: _angular_core.Signal<number>;
|
|
@@ -5448,7 +5448,7 @@ declare class SuiFileUploadCard {
|
|
|
5448
5448
|
/** Default status text por state — override-able vía input. */
|
|
5449
5449
|
protected readonly resolvedStatusText: _angular_core.Signal<string>;
|
|
5450
5450
|
/** Status icon name por state (Remix Icons). */
|
|
5451
|
-
protected readonly statusIconName: _angular_core.Signal<"
|
|
5451
|
+
protected readonly statusIconName: _angular_core.Signal<"checkbox-circle-fill" | "error-warning-fill" | "loader-2-fill">;
|
|
5452
5452
|
/** Compact button (right-side) icon name por state. */
|
|
5453
5453
|
protected readonly actionIconName: _angular_core.Signal<"close-line" | "delete-bin-line">;
|
|
5454
5454
|
/** Progress 0–100 clamped. */
|
|
@@ -5543,13 +5543,13 @@ declare class SuiFileUpload {
|
|
|
5543
5543
|
protected readonly inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
5544
5544
|
protected readonly dragging: _angular_core.WritableSignal<boolean>;
|
|
5545
5545
|
protected readonly internalError: _angular_core.WritableSignal<string | null>;
|
|
5546
|
-
protected readonly state: _angular_core.Signal<"error" | "
|
|
5546
|
+
protected readonly state: _angular_core.Signal<"error" | "disabled" | "default" | "dragover">;
|
|
5547
5547
|
protected readonly resolvedTitle: _angular_core.Signal<string>;
|
|
5548
5548
|
protected readonly resolvedSubtitle: _angular_core.Signal<string>;
|
|
5549
5549
|
protected readonly resolvedErrorMessage: _angular_core.Signal<string | null>;
|
|
5550
5550
|
/** Icon size px. Figma verified = 24 (medium). small/large/xlarge escalan +4
|
|
5551
5551
|
* (small 20 → medium 24 → large 28 → xlarge 32) — extensión de proyecto. */
|
|
5552
|
-
protected readonly iconSize: _angular_core.Signal<
|
|
5552
|
+
protected readonly iconSize: _angular_core.Signal<20 | 24 | 32 | 28>;
|
|
5553
5553
|
onClick(): void;
|
|
5554
5554
|
/** Browse File button — abre el picker. stopPropagation evita doble-open
|
|
5555
5555
|
* (el host también es clickeable). */
|
|
@@ -6193,7 +6193,7 @@ declare class SuiImageUpload {
|
|
|
6193
6193
|
* (matchea el escalado del contenedor 32→40 en SCSS). */
|
|
6194
6194
|
protected readonly iconSize: _angular_core.Signal<16 | 20>;
|
|
6195
6195
|
protected readonly hasSrc: _angular_core.Signal<boolean>;
|
|
6196
|
-
protected readonly state: _angular_core.Signal<"
|
|
6196
|
+
protected readonly state: _angular_core.Signal<"disabled" | "filled" | "dragover" | "empty">;
|
|
6197
6197
|
protected readonly resolvedTitle: _angular_core.Signal<string>;
|
|
6198
6198
|
protected readonly resolvedSubtitle: _angular_core.Signal<string>;
|
|
6199
6199
|
onHostClick(): void;
|
|
@@ -6418,90 +6418,6 @@ type SuiInputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | '
|
|
|
6418
6418
|
* el layout flush del slot; la acción la maneja el consumer.
|
|
6419
6419
|
*/
|
|
6420
6420
|
| 'button';
|
|
6421
|
-
/**
|
|
6422
|
-
* SUI Input — SUI Design System 2.0
|
|
6423
|
-
*
|
|
6424
|
-
* Figma file: 8p1k72aKKvzJV4XcvPS4VO
|
|
6425
|
-
* Component set: "Input Field" (componentKey c28150b04d333d34ed9d2b77abd9f2f54e1a878a)
|
|
6426
|
-
*
|
|
6427
|
-
* EXACT specs — VERIFIED from Figma nodeIds (266:5245, 417:6793, 417:9933, 267:1063, 267:1279, 267:1235):
|
|
6428
|
-
*
|
|
6429
|
-
* Sizes (Figma naming):
|
|
6430
|
-
* - xsmall (X-Small 32): py=6px, pl=8px, pr=6px, gap=6px, radius=8px
|
|
6431
|
-
* - small (Small 36): py=8px, pl=10px, pr=8px, gap=8px, radius=8px
|
|
6432
|
-
* - medium (Medium 40): py=10px, pl=12px, pr=10px, gap=8px, radius=10px
|
|
6433
|
-
*
|
|
6434
|
-
* NOTE: padding produces the height via line-height(20) + 2×py. No explicit height needed.
|
|
6435
|
-
*
|
|
6436
|
-
* - Border default: 1px solid stroke-soft-200 (#ebebeb) + drop-shadow regular-x-small
|
|
6437
|
-
* - Border hover: 1px solid stroke-sub-300 (#d1d1d1)
|
|
6438
|
-
* - Border focus: 1px solid stroke-strong-950 (#171717)
|
|
6439
|
-
* + box-shadow: 0 0 0 2px white, 0 0 0 4px slate-alpha-16
|
|
6440
|
-
* - Border error: 1px solid state-error-base (#fb3748)
|
|
6441
|
-
* focus-within: + box-shadow 0 0 0 3px red-alpha-10
|
|
6442
|
-
* - Disabled: bg-weak-50, NO border, text-disabled-300, cursor: not-allowed
|
|
6443
|
-
* - Readonly: bg-weak-50, border stroke-soft-200, text-sub-600
|
|
6444
|
-
* - Placeholder: text-soft-400 (#a3a3a3)
|
|
6445
|
-
* - Icon slots: 20px (--sui-icon-size-md), color text-sub-600
|
|
6446
|
-
* - Label: delegated to sui-form-label (Label/Small 14px/500/20px/-0.006em)
|
|
6447
|
-
* - Hint/Error msg: delegated to sui-form-hint (Paragraph/X-Small 12px/400/16px/0)
|
|
6448
|
-
* - Label-to-field gap: 6px (margin-bottom on sui-form-label host)
|
|
6449
|
-
* - Field-to-hint gap: 6px (margin-top on sui-form-hint host)
|
|
6450
|
-
* - Transition: border-color + box-shadow 100ms ease-out
|
|
6451
|
-
*
|
|
6452
|
-
* @input label: string | null — Texto del label
|
|
6453
|
-
* @input sublabel: string | null — Texto secundario del label (ej. "Optional")
|
|
6454
|
-
* @input required: boolean — Muestra asterisco rojo en el label
|
|
6455
|
-
* @input tooltip: string | null — Tooltip en ícono info del label
|
|
6456
|
-
* @input hint: string | null — Mensaje de ayuda debajo del field
|
|
6457
|
-
* @input hintIcon: string | null — Icono Remix del hint neutral (ej. 'information-fill',
|
|
6458
|
-
* como en el set de Figma 266:5251). null (default) = sin icono. No afecta el
|
|
6459
|
-
* estado error (sui-form-hint conserva su icono default por variant).
|
|
6460
|
-
* @input error: boolean — Activa borde rojo + muestra errorMessage
|
|
6461
|
-
* @input errorMessage: string | null — Mensaje de error
|
|
6462
|
-
*
|
|
6463
|
-
* ── Homologación 2026-05-29 (auditoría "Text Input") ─────────────────────────
|
|
6464
|
-
* Closed gap: type='card' — máscara de tarjeta de crédito (grupos de 4 dígitos
|
|
6465
|
-
* separados por espacio, maxlength efectivo 19 → "1234 5678 9012 3456").
|
|
6466
|
-
* Mismo patrón que type='amount': display formateado en el DOM, value model
|
|
6467
|
-
* emite los dígitos crudos (sin espacios). inputmode='numeric'.
|
|
6468
|
-
*
|
|
6469
|
-
* ── Homologación 2026-05-29 (2da pasada — gaps low/medium) ───────────────────
|
|
6470
|
-
* Closed (low): font-feature-settings 'ss11' 1, 'calt' 0, 'liga' 0 en
|
|
6471
|
-
* .sui-input__control y .sui-input__prefix — Figma setea estos OpenType
|
|
6472
|
-
* features en cada text node del field. Valor canon SUI 2.0 (mismo que el
|
|
6473
|
-
* resto de los SUI).
|
|
6474
|
-
* Closed (medium): type='button' — split-field con divisor vertical (Figma node
|
|
6475
|
-
* 332:1667). La zona de input lleva el padding del size + un border-right
|
|
6476
|
-
* (divisor stroke-soft-200); el `[data-slot=end]` queda flush a la derecha
|
|
6477
|
-
* como zona de acción cuadrada con padding del size (10/8/6 por tamaño) y
|
|
6478
|
-
* pointer-events activos. El consumer proyecta el botón de acción (ej. copiar
|
|
6479
|
-
* link con file-copy-line) vía `[data-slot=end]`. nativeType='text'.
|
|
6480
|
-
*
|
|
6481
|
-
* PENDING VERIFY (Figma MCP no disponible en esta sesión — bloqueado por health
|
|
6482
|
-
* check hasta 2026-05-29T08:57Z; valores tomados del header existente ya
|
|
6483
|
-
* verificado contra nodeIds + del reporte de auditoría .claude/sui-audit):
|
|
6484
|
-
* - card: ancho de grupo (4) y maxlength (19) confirmados por reporte; falta
|
|
6485
|
-
* confirmar si Figma muestra leading-icon de marca (visa/mastercard) en
|
|
6486
|
-
* Type=Card node 316:11323. No implementado (sería affordance decorativa que
|
|
6487
|
-
* el consumer compone vía [data-slot=start]).
|
|
6488
|
-
*
|
|
6489
|
-
* GAPS NO CERRADOS aquí (requieren componente nuevo o son composición de otros
|
|
6490
|
-
* SUI — fuera de scope de este barrido low/medium):
|
|
6491
|
-
* - Tag Input (sui-tag-input), Digit/OTP Input (sui-otp-input), Inline Input:
|
|
6492
|
-
* componentes nuevos separados (severity HIGH).
|
|
6493
|
-
* - Type=Dropdown (node 352:3122): el trailing affordance de Figma es un
|
|
6494
|
-
* `sui-inline-select` funcional embebido (ícono + label + chevron), NO un
|
|
6495
|
-
* chevron estático. Se compone proyectando `<sui-inline-select>` en
|
|
6496
|
-
* `[data-slot=end]` — no se fabricó un type='dropdown' pseudo-visual porque
|
|
6497
|
-
* sería un fake no-funcional que no espeja el Figma.
|
|
6498
|
-
* - Type=Emoji (node 352:3416): en placeholder es solo un field con leading
|
|
6499
|
-
* `emotion-line` — ya se logra con [icon]="'emotion-line'". El picker es
|
|
6500
|
-
* overlay externo (componente nuevo), fuera de scope.
|
|
6501
|
-
* - Type=Phone country-picker (node 313:10101): el prefix interactivo con
|
|
6502
|
-
* selector de país es una feature nueva (selector de país); SUI tiene
|
|
6503
|
-
* [prefix] como string estático.
|
|
6504
|
-
*/
|
|
6505
6421
|
declare class SuiInput implements ControlValueAccessor {
|
|
6506
6422
|
readonly size: _angular_core.InputSignal<SuiInputSize>;
|
|
6507
6423
|
readonly type: _angular_core.InputSignal<SuiInputType>;
|
|
@@ -6574,15 +6490,22 @@ declare class SuiInput implements ControlValueAccessor {
|
|
|
6574
6490
|
* hay teclado abierto, por eso escuchamos también `touchstart` (nativo iOS)
|
|
6575
6491
|
* y `mousedown` (web fallback). Cualquiera de los tres dispara el blur.
|
|
6576
6492
|
*
|
|
6577
|
-
*
|
|
6578
|
-
*
|
|
6579
|
-
* que
|
|
6580
|
-
* cada instancia de la página recibe todos los taps:
|
|
6581
|
-
*
|
|
6582
|
-
* sui-input
|
|
6583
|
-
* teclado abierto lo cierra aunque el elemento no tenga el foco.
|
|
6584
|
-
*
|
|
6585
|
-
*
|
|
6493
|
+
* Dos condiciones lo apagan, y cada una salió de un bug real en iOS:
|
|
6494
|
+
*
|
|
6495
|
+
* 1. El foco tiene que vivir DENTRO de este host. El listener es a nivel
|
|
6496
|
+
* `document`, así que cada instancia de la página recibe todos los taps:
|
|
6497
|
+
* con un blur incondicional, tocar el texto de un input cerraba el teclado
|
|
6498
|
+
* porque los OTROS sui-input hacían blur de los suyos —y en iOS un blur con
|
|
6499
|
+
* el teclado abierto lo cierra aunque el elemento no tenga el foco.
|
|
6500
|
+
*
|
|
6501
|
+
* 2. El tap NO puede ir a otro campo de texto. Ahí el navegador mueve el foco
|
|
6502
|
+
* solo, y adelantarle un blur en `pointerdown` cierra el teclado un
|
|
6503
|
+
* instante antes de que el campo nuevo lo vuelva a abrir. Ese parpadeo se
|
|
6504
|
+
* come el segundo toque de un doble tap: estando en un campo, no se podía
|
|
6505
|
+
* seleccionar una palabra de otro.
|
|
6506
|
+
*
|
|
6507
|
+
* Lo que queda es lo único que este listener tenía que hacer: tocar espacio
|
|
6508
|
+
* muerto de la pantalla baja el teclado.
|
|
6586
6509
|
*/
|
|
6587
6510
|
onDocumentTap(event: Event): void;
|
|
6588
6511
|
private readonly _disabledByForm;
|
|
@@ -8553,7 +8476,7 @@ declare class SuiRadioCard implements ControlValueAccessor {
|
|
|
8553
8476
|
* Emoji del catálogo SUI_EMOJI_MAP — alternativa a icon para type='left-icon'.
|
|
8554
8477
|
* Si ambos están, icon tiene precedencia.
|
|
8555
8478
|
*/
|
|
8556
|
-
readonly emoji: _angular_core.InputSignal<"
|
|
8479
|
+
readonly emoji: _angular_core.InputSignal<"label" | "warning" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
8557
8480
|
/**
|
|
8558
8481
|
* URL directa al emoji para type='left-icon'. Útil cuando el consumer ya tiene
|
|
8559
8482
|
* la URL (ej. FLUENT_EMOJI map del proyecto) y no quiere registrar el emoji
|
|
@@ -9635,7 +9558,7 @@ declare class SuiSocialButton {
|
|
|
9635
9558
|
readonly href: _angular_core.InputSignal<string | null>;
|
|
9636
9559
|
readonly target: _angular_core.InputSignal<string | null>;
|
|
9637
9560
|
readonly rel: _angular_core.InputSignal<string | null>;
|
|
9638
|
-
readonly type: _angular_core.InputSignal<"button" | "
|
|
9561
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
9639
9562
|
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
9640
9563
|
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
9641
9564
|
/** Disabled efectivo: el input disabled O el estado loading. */
|
|
@@ -9747,7 +9670,7 @@ declare class SuiStatusBadge {
|
|
|
9747
9670
|
*/
|
|
9748
9671
|
readonly withDot: _angular_core.InputSignal<boolean>;
|
|
9749
9672
|
/** Icono Remix mapeado al status. Solo se usa cuando withDot=false. */
|
|
9750
|
-
readonly iconName: _angular_core.Signal<"
|
|
9673
|
+
readonly iconName: _angular_core.Signal<"checkbox-circle-fill" | "alert-fill" | "error-warning-fill" | "information-fill" | "forbid-fill">;
|
|
9751
9674
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuiStatusBadge, never>;
|
|
9752
9675
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuiStatusBadge, "sui-status-badge", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "withDot": { "alias": "withDot"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
9753
9676
|
}
|
|
@@ -10194,7 +10117,7 @@ declare class SuiSwitchCard implements ControlValueAccessor {
|
|
|
10194
10117
|
* `<sui-icon>` proyectado vía `[sui-switch-card-leading]` y se renderiza
|
|
10195
10118
|
* con las MISMAS dimensiones (20×20 dentro del círculo de 40px).
|
|
10196
10119
|
*/
|
|
10197
|
-
readonly emoji: _angular_core.InputSignal<"
|
|
10120
|
+
readonly emoji: _angular_core.InputSignal<"label" | "warning" | "thinking-face" | "grinning-face" | "smiling-face-hearts" | "face-with-rolling-eyes" | "face-screaming" | "partying-face" | "star-struck" | "sleeping-face" | "pensive-face" | "confused-face" | "neutral-face" | "slightly-smiling-face" | "grinning-face-smiling-eyes" | "package" | "receipt" | "money-bag" | "money-with-wings" | "shopping-cart" | "shopping-bags" | "card-index-dividers" | "bell" | "bell-with-slash" | "pushpin" | "mobile-phone" | "gear" | "locked" | "unlocked" | "wrench" | "hammer" | "magnifying-glass-tilted-left" | "spiral-calendar" | "bar-chart" | "delivery-truck" | "motorcycle" | "rocket" | "house" | "office-building" | "shop" | "dollar-banknote" | "glowing-star" | "kick-scooter" | "check-mark" | "check-mark-button" | "cross-mark" | "no-entry" | "sparkles" | "party-popper" | "waving-hand" | "thumbs-up" | "clapping-hands" | "handshake" | "busts-in-silhouette" | "pizza" | "hamburger" | "taco" | "birthday-cake" | null>;
|
|
10198
10121
|
/**
|
|
10199
10122
|
* URL de imagen para type='avatar' — se renderiza con sui-avatar size=lg
|
|
10200
10123
|
* (40×40 redonda). Si la imagen falla, fallback automático a iniciales del
|