@ajuarezso/sui-design-system 0.18.1 → 0.18.2

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ajuarezso/sui-design-system",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "description": "SUI Design System — librería de componentes Angular (SUI 2.0).",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -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<"default" | "active" | "disabled">;
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
  /**
@@ -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<"default" | "disabled" | "hover" | "selected">;
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>;
@@ -5576,7 +5576,7 @@ declare class SuiFileUpload {
5576
5576
  protected readonly inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
5577
5577
  protected readonly dragging: _angular_core.WritableSignal<boolean>;
5578
5578
  protected readonly internalError: _angular_core.WritableSignal<string | null>;
5579
- protected readonly state: _angular_core.Signal<"default" | "error" | "disabled" | "dragover">;
5579
+ protected readonly state: _angular_core.Signal<"error" | "disabled" | "default" | "dragover">;
5580
5580
  protected readonly resolvedTitle: _angular_core.Signal<string>;
5581
5581
  protected readonly resolvedSubtitle: _angular_core.Signal<string>;
5582
5582
  protected readonly resolvedErrorMessage: _angular_core.Signal<string | null>;
@@ -6226,7 +6226,7 @@ declare class SuiImageUpload {
6226
6226
  * (matchea el escalado del contenedor 32→40 en SCSS). */
6227
6227
  protected readonly iconSize: _angular_core.Signal<20 | 16>;
6228
6228
  protected readonly hasSrc: _angular_core.Signal<boolean>;
6229
- protected readonly state: _angular_core.Signal<"filled" | "disabled" | "dragover" | "empty">;
6229
+ protected readonly state: _angular_core.Signal<"disabled" | "filled" | "dragover" | "empty">;
6230
6230
  protected readonly resolvedTitle: _angular_core.Signal<string>;
6231
6231
  protected readonly resolvedSubtitle: _angular_core.Signal<string>;
6232
6232
  onHostClick(): void;
@@ -6628,28 +6628,38 @@ declare class SuiInput implements ControlValueAccessor {
6628
6628
  readonly showPassword: _angular_core.WritableSignal<boolean>;
6629
6629
  /** Resolved native [type] attribute for the <input> element */
6630
6630
  readonly nativeType: _angular_core.Signal<string>;
6631
- /** Teclado que le corresponde a cada `type` cuando nadie pidió otro. */
6631
+ /**
6632
+ * Teclado que le corresponde a cada `type` cuando nadie pidió otro.
6633
+ *
6634
+ * Los que están acá cambian el teclado de verdad: `numeric`, `decimal`,
6635
+ * `tel`, `email` y `url` eligen otra grilla de teclas.
6636
+ *
6637
+ * `search` NO está, y es a propósito: en Android no cambia ninguna tecla y
6638
+ * además ROMPE la tecla de acción. Chromium, cuando el campo trae un
6639
+ * `inputmode` que no sabe convertir en teclado —`search` y `text` son los
6640
+ * dos casos—, lo manda igual pero marcándolo como campo de VARIAS LÍNEAS
6641
+ * (`TYPE_TEXT_FLAG_MULTI_LINE`, rama `default` de
6642
+ * `ImeUtils.computeEditorInfo`). Un campo de varias líneas necesita la tecla
6643
+ * de salto de línea, así que el teclado dibuja la flecha de enter y descarta
6644
+ * la lupa aunque se la hayan pedido. Sin `inputmode`, el mismo campo llega
6645
+ * como de una sola línea y la lupa aparece.
6646
+ */
6632
6647
  private readonly _inputModeAuto;
6633
6648
  /** `inputmode` que termina en el DOM: gana lo que pidió el consumer. */
6634
6649
  readonly inputMode: _angular_core.Signal<string | null>;
6635
6650
  /**
6636
6651
  * Un campo de búsqueda abre con LUPA en la tecla de acción, siempre.
6637
6652
  *
6638
- * Va por default y no queda a cargo de cada pantalla porque el caso correcto
6639
- * NO sale solo, y en Android el propio `inputmode` lo empeora. Chromium le
6640
- * pide la lupa al teclado únicamente si el campo es `type=search` Y NO trae
6641
- * `inputmode` propio (`ImeUtils.getImeAction`). Como acá sí lo trae
6642
- * —`_inputModeAuto` le pone `search` para elegir el teclado— esa regla se
6643
- * saltea, el campo cae en la rama genérica y la tecla queda en la acción por
6644
- * descarte en vez de la lupa. Dicho de otra forma: emitir solo `inputmode`
6645
- * deja el teclado PEOR que no emitir nada.
6653
+ * Va por default y no queda a cargo de cada pantalla porque pedirla es la
6654
+ * mitad del trabajo: la otra mitad es NO pedir `inputmode="search"`, que es
6655
+ * lo que la tapaba (ver `_inputModeAuto`). Las dos decisiones viven juntas
6656
+ * acá para que no se puedan separar por accidente en una pantalla.
6646
6657
  *
6647
- * iOS llega al mismo lugar por otro camino: sin `enterkeyhint` solo pone la
6648
- * lupa si el campo vive dentro de un `form` con `action`, y acá no vive.
6658
+ * En Android el atributo alcanza solo: Chromium lo traduce a la acción
6659
+ * SEARCH del teclado sin mirar el type ni el form.
6649
6660
  *
6650
- * `enterkeyhint` es lo único que decide el ícono sin mirar nada más —ni el
6651
- * type, ni el inputmode, ni el form— así que se emite desde el componente y
6652
- * ninguna pantalla tiene que acordarse.
6661
+ * En iOS hace falta igual, porque ahí la lupa sale sola únicamente si el
6662
+ * campo vive dentro de un `form` con `action`, y acá no vive.
6653
6663
  */
6654
6664
  private readonly _enterKeyHintAuto;
6655
6665
  /** `enterkeyhint` que termina en el DOM: gana lo que pidió el consumer. */
@@ -7785,7 +7795,7 @@ declare class SuiNotification {
7785
7795
  readonly dismissible: _angular_core.InputSignal<boolean>;
7786
7796
  readonly unread: _angular_core.InputSignal<boolean>;
7787
7797
  /** Item body type. 'basic' keeps the legacy/alert layout (no body slot). */
7788
- readonly type: _angular_core.InputSignal<"basic" | "file" | "button" | "message">;
7798
+ readonly type: _angular_core.InputSignal<"button" | "basic" | "file" | "message">;
7789
7799
  /** When true, item paints the Figma hover bg + reveals the more-2-line button. */
7790
7800
  readonly showMore: _angular_core.InputSignal<boolean>;
7791
7801
  /** Forces the hover affordance visible (e.g. keyboard-focused row). */