@luis-angel-martin-dzul/input-styles 0.0.27 → 0.0.29
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/README.md +78 -5
- package/dist/input-yuc.es.js +609 -220
- package/dist/input-yuc.umd.js +6 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,8 +6,8 @@ Incluye componentes de inputs, selects, botones, paginación y más, estilizados
|
|
|
6
6
|
|
|
7
7
|
------
|
|
8
8
|
|
|
9
|
-

|
|
10
|
+

|
|
11
11
|
|
|
12
12
|
------
|
|
13
13
|
|
|
@@ -119,7 +119,7 @@ configureStyles({
|
|
|
119
119
|
---
|
|
120
120
|
|
|
121
121
|
### Inputs de texto
|
|
122
|
-
_Afecta: `InputTextStyle`, `InputNumberStyle`, `InputPasswordStyle`, `TextAreaStyle`, `InputDateStyle`, `InputDateTimeStyle`, `InputTimeStyle`, `SelectStyle`_
|
|
122
|
+
_Afecta: `InputTextStyle`, `InputNumberStyle`, `InputPasswordStyle`, `TextAreaStyle`, `InputDateStyle`, `InputDateTimeStyle`, `InputTimeStyle`, `SelectStyle`, `InputAutocompleteStyle`_
|
|
123
123
|
|
|
124
124
|
| Token | Tipo | Default | Descripción |
|
|
125
125
|
| ----- | ---- | ------- | ----------- |
|
|
@@ -155,7 +155,7 @@ configureStyles({
|
|
|
155
155
|
---
|
|
156
156
|
|
|
157
157
|
### Select
|
|
158
|
-
_Afecta: `SelectStyle`_
|
|
158
|
+
_Afecta: `SelectStyle`, `InputAutocompleteStyle`_
|
|
159
159
|
|
|
160
160
|
| Token | Tipo | Default | Descripción |
|
|
161
161
|
| ----- | ---- | ------- | ----------- |
|
|
@@ -357,13 +357,14 @@ Input numérico con control preciso de dígitos, decimales, rango y formato de v
|
|
|
357
357
|
| `numeric` | `String` | `null` | Formato tipo SQL: `"10,2"` → 10 dígitos enteros, 2 decimales. Si se omite, usa `10,2` por defecto. |
|
|
358
358
|
| `min` | `String` | `null` | Valor mínimo (aplicado al perder el foco). Si es `null` o negativo, permite negativos. |
|
|
359
359
|
| `max` | `String` | `null` | Valor máximo (aplicado al perder el foco). |
|
|
360
|
+
| `alignLeft` | `Boolean` | `false` | Posición de los botones de paso (▲/▼) respecto al valor. `false` = botones a la izquierda, valor a la derecha (`Rows \| Input`); `true` = botones a la derecha, valor a la izquierda (`Input \| Rows`). |
|
|
360
361
|
| `disabled` | `Boolean` | `false` | |
|
|
361
362
|
| `required` | `Boolean` | `false` | |
|
|
362
363
|
| `validate` | `Boolean \| null` | `null` | |
|
|
363
364
|
| `mclass` | `String` | `null` | |
|
|
364
365
|
|
|
365
366
|
**Comportamiento:**
|
|
366
|
-
- Incluye botones **caret ▲ / ▼**
|
|
367
|
+
- Incluye botones **caret ▲ / ▼** para aumentar/disminuir el valor en unidades (respetando `min`/`max`). Por defecto se alinean a la izquierda del campo (con el valor a la derecha); con `alignLeft` se mueven a la derecha y el valor pasa a la izquierda. No tienen separador y usan el color global de los iconos (`ICON_STATIC`).
|
|
367
368
|
- Si **mantienes presionado** un botón, tras una breve pausa el valor cambia de forma **continua** hasta soltar.
|
|
368
369
|
- Puedes escribir `0` y luego `.` para empezar los decimales: el punto se conserva a la espera de los dígitos decimales (solo si los decimales están activados en `numeric`).
|
|
369
370
|
- Al **enfocar** el campo, si el valor es `0` (o está vacío) se limpia, para que al escribir reemplaces el valor en lugar de anteponerlo.
|
|
@@ -489,6 +490,78 @@ const ubicaciones = [
|
|
|
489
490
|
|
|
490
491
|
------
|
|
491
492
|
|
|
493
|
+
## InputAutocompleteStyle
|
|
494
|
+
|
|
495
|
+
Autocomplete basado en `SelectStyle`, pero con el **input editable**: el usuario escribe para filtrar las opciones en vivo. Mantiene el mismo formato de `list` (plana o agrupada) y la misma navegación por teclado y posicionamiento automático del dropdown.
|
|
496
|
+
|
|
497
|
+
Incluye un estado de **carga/búsqueda** controlado por la prop `loading`: cuando es `true`, oculta las opciones y muestra el mensaje _"Buscando coincidencias..."_ — pensado para búsquedas asíncronas donde el listado se resuelve en el servidor.
|
|
498
|
+
|
|
499
|
+
```vue
|
|
500
|
+
<InputAutocompleteStyle
|
|
501
|
+
v-model="pais"
|
|
502
|
+
label="País"
|
|
503
|
+
:list="paises"
|
|
504
|
+
placeholder="Escribe para buscar"
|
|
505
|
+
:loading="buscando"
|
|
506
|
+
return-value="value"
|
|
507
|
+
:validate="validate"
|
|
508
|
+
@search="onSearch"
|
|
509
|
+
/>
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
```js
|
|
513
|
+
// El evento @search se emite en cada tecleo; úsalo para disparar una
|
|
514
|
+
// búsqueda asíncrona y controlar la prop `loading`.
|
|
515
|
+
function onSearch(query) {
|
|
516
|
+
buscando.value = true
|
|
517
|
+
fetchPaises(query).then(res => {
|
|
518
|
+
paises.value = res
|
|
519
|
+
buscando.value = false
|
|
520
|
+
})
|
|
521
|
+
}
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
```js
|
|
525
|
+
// Formato del array `list` — idéntico a SelectStyle (plana o agrupada)
|
|
526
|
+
const paises = [
|
|
527
|
+
{ value: 1, text: 'México' },
|
|
528
|
+
{ value: 2, text: 'España' },
|
|
529
|
+
{ value: 3, text: 'Argentina' },
|
|
530
|
+
]
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
| Prop | Tipo | Default | Descripción |
|
|
534
|
+
| ---- | ---- | ------- | ----------- |
|
|
535
|
+
| `modelValue` | `String \| Number \| Object` | — | Valor seleccionado. |
|
|
536
|
+
| `list` | `Array` | `[]` | Array de opciones. Acepta lista plana `{ value, text }` o agrupada `{ label, options: [...] }`. El `value` es opcional: si se omite, se usa el `text` como valor. |
|
|
537
|
+
| `returnValue` | `String` | `'value'` | Qué se emite al seleccionar: `'value'` (item.value), `'text'` (item.text) u `'object'` (el item completo). |
|
|
538
|
+
| `loading` | `Boolean` | `false` | Cuando es `true`, oculta las opciones y muestra "Buscando coincidencias...". Úsalo mientras resuelves una búsqueda asíncrona. |
|
|
539
|
+
| `label` | `String` | `''` | |
|
|
540
|
+
| `description` | `String` | `''` | |
|
|
541
|
+
| `placeholder` | `String` | `''` | |
|
|
542
|
+
| `wrapOptions` | `Boolean` | `false` | `true` = permite que el texto de cada opción haga salto de línea; `false` = lo trunca con elipsis. |
|
|
543
|
+
| `disabled` | `Boolean` | `false` | |
|
|
544
|
+
| `required` | `Boolean` | `false` | |
|
|
545
|
+
| `validate` | `Boolean \| null` | `null` | |
|
|
546
|
+
| `mclass` | `String` | `null` | |
|
|
547
|
+
|
|
548
|
+
**Eventos:**
|
|
549
|
+
- `search` — se emite en cada cambio del texto escrito, con el `query` actual como payload. Ideal para búsquedas asíncronas.
|
|
550
|
+
- `update:modelValue` / `change` — emiten el valor al seleccionar una opción (según `returnValue`).
|
|
551
|
+
- `blur` — al cerrarse el dropdown.
|
|
552
|
+
|
|
553
|
+
**Comportamiento:**
|
|
554
|
+
- Al abrir (foco o clic en el chevron) muestra todas las opciones; al teclear, filtra por coincidencia de texto (sin distinguir mayúsculas).
|
|
555
|
+
- Al seleccionar una opción, el input muestra su `text`.
|
|
556
|
+
- Si se cierra el dropdown sin seleccionar, el input vuelve a reflejar la selección real (descarta el texto escrito sin confirmar).
|
|
557
|
+
|
|
558
|
+
**Navegación por teclado:**
|
|
559
|
+
- `↑` / `↓` — navegar opciones
|
|
560
|
+
- `Enter` — seleccionar la opción resaltada
|
|
561
|
+
- `Escape` — cerrar el dropdown
|
|
562
|
+
|
|
563
|
+
------
|
|
564
|
+
|
|
492
565
|
## InputCheckStyle
|
|
493
566
|
|
|
494
567
|
Checkbox estilizado con label y descripción.
|