@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.
|
@@ -10084,7 +10084,22 @@ class SuiInput {
|
|
|
10084
10084
|
return 'text'; // split-field: control es un text input normal
|
|
10085
10085
|
return t;
|
|
10086
10086
|
}, ...(ngDevMode ? [{ debugName: "nativeType" }] : /* istanbul ignore next */ []));
|
|
10087
|
-
/**
|
|
10087
|
+
/**
|
|
10088
|
+
* Teclado que le corresponde a cada `type` cuando nadie pidió otro.
|
|
10089
|
+
*
|
|
10090
|
+
* Los que están acá cambian el teclado de verdad: `numeric`, `decimal`,
|
|
10091
|
+
* `tel`, `email` y `url` eligen otra grilla de teclas.
|
|
10092
|
+
*
|
|
10093
|
+
* `search` NO está, y es a propósito: en Android no cambia ninguna tecla y
|
|
10094
|
+
* además ROMPE la tecla de acción. Chromium, cuando el campo trae un
|
|
10095
|
+
* `inputmode` que no sabe convertir en teclado —`search` y `text` son los
|
|
10096
|
+
* dos casos—, lo manda igual pero marcándolo como campo de VARIAS LÍNEAS
|
|
10097
|
+
* (`TYPE_TEXT_FLAG_MULTI_LINE`, rama `default` de
|
|
10098
|
+
* `ImeUtils.computeEditorInfo`). Un campo de varias líneas necesita la tecla
|
|
10099
|
+
* de salto de línea, así que el teclado dibuja la flecha de enter y descarta
|
|
10100
|
+
* la lupa aunque se la hayan pedido. Sin `inputmode`, el mismo campo llega
|
|
10101
|
+
* como de una sola línea y la lupa aparece.
|
|
10102
|
+
*/
|
|
10088
10103
|
_inputModeAuto = computed(() => {
|
|
10089
10104
|
const t = this.type();
|
|
10090
10105
|
if (t === 'number')
|
|
@@ -10099,8 +10114,6 @@ class SuiInput {
|
|
|
10099
10114
|
return 'email';
|
|
10100
10115
|
if (t === 'url')
|
|
10101
10116
|
return 'url';
|
|
10102
|
-
if (t === 'search')
|
|
10103
|
-
return 'search';
|
|
10104
10117
|
return null;
|
|
10105
10118
|
}, ...(ngDevMode ? [{ debugName: "_inputModeAuto" }] : /* istanbul ignore next */ []));
|
|
10106
10119
|
/** `inputmode` que termina en el DOM: gana lo que pidió el consumer. */
|
|
@@ -10108,21 +10121,16 @@ class SuiInput {
|
|
|
10108
10121
|
/**
|
|
10109
10122
|
* Un campo de búsqueda abre con LUPA en la tecla de acción, siempre.
|
|
10110
10123
|
*
|
|
10111
|
-
* Va por default y no queda a cargo de cada pantalla porque
|
|
10112
|
-
*
|
|
10113
|
-
*
|
|
10114
|
-
*
|
|
10115
|
-
* —`_inputModeAuto` le pone `search` para elegir el teclado— esa regla se
|
|
10116
|
-
* saltea, el campo cae en la rama genérica y la tecla queda en la acción por
|
|
10117
|
-
* descarte en vez de la lupa. Dicho de otra forma: emitir solo `inputmode`
|
|
10118
|
-
* deja el teclado PEOR que no emitir nada.
|
|
10124
|
+
* Va por default y no queda a cargo de cada pantalla porque pedirla es la
|
|
10125
|
+
* mitad del trabajo: la otra mitad es NO pedir `inputmode="search"`, que es
|
|
10126
|
+
* lo que la tapaba (ver `_inputModeAuto`). Las dos decisiones viven juntas
|
|
10127
|
+
* acá para que no se puedan separar por accidente en una pantalla.
|
|
10119
10128
|
*
|
|
10120
|
-
*
|
|
10121
|
-
*
|
|
10129
|
+
* En Android el atributo alcanza solo: Chromium lo traduce a la acción
|
|
10130
|
+
* SEARCH del teclado sin mirar el type ni el form.
|
|
10122
10131
|
*
|
|
10123
|
-
*
|
|
10124
|
-
*
|
|
10125
|
-
* ninguna pantalla tiene que acordarse.
|
|
10132
|
+
* En iOS hace falta igual, porque ahí la lupa sale sola únicamente si el
|
|
10133
|
+
* campo vive dentro de un `form` con `action`, y acá no vive.
|
|
10126
10134
|
*/
|
|
10127
10135
|
_enterKeyHintAuto = computed(() => this.type() === 'search' ? 'search' : null, ...(ngDevMode ? [{ debugName: "_enterKeyHintAuto" }] : /* istanbul ignore next */ []));
|
|
10128
10136
|
/** `enterkeyhint` que termina en el DOM: gana lo que pidió el consumer. */
|