@randstad-uca/design-system 1.0.64 → 1.0.66
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/components/CalendarOverlay.d.ts +44 -1
- package/dist/components/Checkbox.d.ts +1 -0
- package/dist/components/DatePicker.d.ts +20 -1
- package/dist/components/File.d.ts +1 -0
- package/dist/components/Form.d.ts +7 -0
- package/dist/components/Radio.d.ts +5 -1
- package/dist/components/Select.d.ts +24 -5
- package/dist/components/Upload.d.ts +1 -0
- package/dist/helpers/BaseUpload.d.ts +16 -2
- package/dist/index.js +398 -381
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/stories/Radio.stories.d.ts +5 -3
- package/dist/stories/Select.stories.d.ts +5 -0
- package/dist/stories/Upload.stories.d.ts +13 -0
- package/dist/stories/UploadFile.stories.d.ts +12 -0
- package/dist/styles/focus.d.ts +2 -0
- package/dist/styles/focus.ts +10 -0
- package/dist/styles/mix.ts +3 -0
- package/package.json +1 -1
|
@@ -19,14 +19,24 @@ export declare class CalendarOverlay extends LitElement {
|
|
|
19
19
|
* Determina qué cuadrícula se renderiza en el overlay.
|
|
20
20
|
*/
|
|
21
21
|
private currentView;
|
|
22
|
+
private initialFocusElement;
|
|
22
23
|
static styles: (import("lit").CSSResult | CSSStyleSheet)[];
|
|
24
|
+
/**
|
|
25
|
+
* Ciclo de vida: se llama después de la primera actualización del componente.
|
|
26
|
+
|
|
27
|
+
* Agrega un 'keydown' listener al shadowRoot para capturar todas las pulsaciones
|
|
28
|
+
* de teclado dentro del calendario (días, meses, navegación) y centralizar la
|
|
29
|
+
* lógica de accesibilidad (ARIA) en 'handleCalendarKeydown'.
|
|
30
|
+
*/
|
|
31
|
+
firstUpdated(): void;
|
|
23
32
|
connectedCallback(): void;
|
|
24
33
|
disconnectedCallback(): void;
|
|
34
|
+
private handleFocusInput;
|
|
25
35
|
/**
|
|
26
36
|
* Cierra el overlay del calendario si el clic se produce fuera de sus límites.
|
|
27
37
|
* Se utiliza un `event listener` en el documento para detectar clics en cualquier lugar de la página.
|
|
28
38
|
|
|
29
|
-
* @param
|
|
39
|
+
* @param event - Objeto de evento del clic.
|
|
30
40
|
*/
|
|
31
41
|
private handleOutsideClick;
|
|
32
42
|
/**
|
|
@@ -71,6 +81,39 @@ export declare class CalendarOverlay extends LitElement {
|
|
|
71
81
|
private getFullMonthNames;
|
|
72
82
|
private getShortMonthNames;
|
|
73
83
|
private getShortWeekdays;
|
|
84
|
+
/**
|
|
85
|
+
* Enfoca el elemento inicial del calendario (típicamente el botón de Mes/Año).
|
|
86
|
+
|
|
87
|
+
* Se llama desde el DatePickerComponent cuando el calendario se abre
|
|
88
|
+
* mediante teclado (tecla ArrowDown o Enter). El 'updateComplete' asegura
|
|
89
|
+
* que el foco se aplica después de que el overlay esté completamente renderizado.
|
|
90
|
+
*/
|
|
91
|
+
focusCalendar(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Encuentra el botón de día en el calendario que está `offset` días
|
|
94
|
+
* de la fecha del día enfocado actualmente.
|
|
95
|
+
*/
|
|
96
|
+
private _findAndFocusDayButton;
|
|
97
|
+
/**
|
|
98
|
+
* Enfoca el primer o último día de la semana actual.
|
|
99
|
+
*/
|
|
100
|
+
private _focusDayOfWeekEdge;
|
|
101
|
+
/**
|
|
102
|
+
* Centraliza el manejo de todos los eventos de teclado (keydown) dentro del CalendarOverlay.
|
|
103
|
+
|
|
104
|
+
* Implementa la navegación completa del teclado (flechas, Enter/Space, Escape) para
|
|
105
|
+
* todas las vistas y elementos enfocables (botones de encabezado, días, meses, años),
|
|
106
|
+
* asegurando la conformidad con ARIA.
|
|
107
|
+
|
|
108
|
+
* La lógica se divide en secciones basadas en el elemento que tiene el foco activo:
|
|
109
|
+
* 1. Escape (Cerrar).
|
|
110
|
+
* 2. Encabezado (Botones de Mes/Año y Navegación Anterior/Siguiente).
|
|
111
|
+
* 3. Cuadrícula de Días.
|
|
112
|
+
* 4. Cuadrículas de Meses/Años.
|
|
113
|
+
|
|
114
|
+
* @param event - El objeto KeyboardEvent.
|
|
115
|
+
*/
|
|
116
|
+
private handleCalendarKeydown;
|
|
74
117
|
/**
|
|
75
118
|
* Renderiza el encabezado del calendario, mostrando el mes y el año actuales.
|
|
76
119
|
* Incluye botones de navegación y un botón para cambiar la vista (a meses/años).
|
|
@@ -15,6 +15,11 @@ export declare class DatePickerComponent extends BaseControl {
|
|
|
15
15
|
private inputContainer;
|
|
16
16
|
static styles: import("lit").CSSResult;
|
|
17
17
|
private setMessageErrorFormatInvalid;
|
|
18
|
+
/**
|
|
19
|
+
* Devuelve el foco al input principal del DatePicker.
|
|
20
|
+
* Se utiliza cuando el usuario sale del CalendarOverlay (ej. tecla ArrowUp).
|
|
21
|
+
*/
|
|
22
|
+
private handleFocusInput;
|
|
18
23
|
/**
|
|
19
24
|
* Ciclo de vida: se ejecuta al conectar el componente al DOM.
|
|
20
25
|
* Inicializa el modo responsivo y listeners globales.
|
|
@@ -65,7 +70,7 @@ export declare class DatePickerComponent extends BaseControl {
|
|
|
65
70
|
|
|
66
71
|
* @param e - Objeto de evento del clic.
|
|
67
72
|
*/
|
|
68
|
-
handleCalendarButtonClick(
|
|
73
|
+
handleCalendarButtonClick(event: Event): void;
|
|
69
74
|
/**
|
|
70
75
|
* Borra la fecha seleccionada y cierra el calendario.
|
|
71
76
|
*/
|
|
@@ -147,6 +152,20 @@ export declare class DatePickerComponent extends BaseControl {
|
|
|
147
152
|
* @returns Verdadero si la fecha está dentro de los límites, de lo contrario, falso.
|
|
148
153
|
*/
|
|
149
154
|
private _isWithinBounds;
|
|
155
|
+
/**
|
|
156
|
+
* Maneja eventos de teclado en el input principal.
|
|
157
|
+
|
|
158
|
+
@param event El objeto KeyboardEvent.
|
|
159
|
+
*/
|
|
160
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
161
|
+
/**
|
|
162
|
+
* Maneja los eventos de teclado en el botón de borrar (Close/Clear).
|
|
163
|
+
*/
|
|
164
|
+
handleClearButtonKeydown(event: KeyboardEvent): void;
|
|
165
|
+
/**
|
|
166
|
+
* Maneja los eventos de teclado en el botón del calendario.
|
|
167
|
+
*/
|
|
168
|
+
handleCalendarButtonKeydown(event: KeyboardEvent): void;
|
|
150
169
|
/**
|
|
151
170
|
* Renderiza el componente DatePicker, incluyendo el input, botones y el overlay del calendario.
|
|
152
171
|
*/
|
|
@@ -14,5 +14,6 @@ export declare class UploadFile extends BaseUpload {
|
|
|
14
14
|
updated(changedProperties: Map<string, any>): void;
|
|
15
15
|
private applyWidth;
|
|
16
16
|
private onFileInputChange;
|
|
17
|
+
willUpdate(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
17
18
|
render(): TemplateResult<1>;
|
|
18
19
|
}
|
|
@@ -21,6 +21,13 @@ export declare class RandstadForm extends BaseControl {
|
|
|
21
21
|
handleInputCustom(event: Event): void;
|
|
22
22
|
onlyNumeric(event: Event): void;
|
|
23
23
|
onlyText(event: Event): void;
|
|
24
|
+
private handleInputKeyDown;
|
|
25
|
+
/**
|
|
26
|
+
* Calcula si el botón de limpieza (X) debe estar visible
|
|
27
|
+
*/
|
|
28
|
+
private get _isCleanButtonVisible();
|
|
24
29
|
private handleKeyDown;
|
|
30
|
+
private handleInputArrowKey;
|
|
31
|
+
private handleButtonArrowKey;
|
|
25
32
|
render(): TemplateResult<1>;
|
|
26
33
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
-
import '@material/web/radio/radio.js';
|
|
3
2
|
export declare class CustomRadio extends LitElement {
|
|
4
3
|
name: string;
|
|
5
4
|
checked: boolean;
|
|
6
5
|
disabled: boolean;
|
|
7
6
|
error: boolean;
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
8
9
|
static styles: import("lit").CSSResult;
|
|
10
|
+
private handleSelect;
|
|
11
|
+
private handleKeyDown;
|
|
12
|
+
private handleClick;
|
|
9
13
|
render(): import("lit-html").TemplateResult<1>;
|
|
10
14
|
}
|
|
@@ -12,6 +12,7 @@ export declare class FilterableSelect extends BaseControl {
|
|
|
12
12
|
options: SelectOption[];
|
|
13
13
|
filterable: boolean;
|
|
14
14
|
maxLength?: number;
|
|
15
|
+
isRenderClearButton: boolean;
|
|
15
16
|
private isMobile;
|
|
16
17
|
private highlightedIndex;
|
|
17
18
|
private _isCleared;
|
|
@@ -26,15 +27,33 @@ export declare class FilterableSelect extends BaseControl {
|
|
|
26
27
|
disconnectedCallback(): void;
|
|
27
28
|
private updateResponsiveModeBound;
|
|
28
29
|
private updateResponsiveMode;
|
|
29
|
-
handleInputClick(
|
|
30
|
-
handleInput(
|
|
31
|
-
handleMobileInput(
|
|
30
|
+
handleInputClick(event: Event): void;
|
|
31
|
+
handleInput(event: Event): void;
|
|
32
|
+
handleMobileInput(event: Event): void;
|
|
32
33
|
handleSelect(option: SelectOption): void;
|
|
33
34
|
handleIconClick(): void;
|
|
34
|
-
handleClickOutside(
|
|
35
|
-
|
|
35
|
+
handleClickOutside(event: Event): void;
|
|
36
|
+
/**
|
|
37
|
+
* Maneja los eventos de teclado cuando el foco está en el input o el filter-fake (combobox).
|
|
38
|
+
*/
|
|
39
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
40
|
+
/**
|
|
41
|
+
* Maneja los eventos de teclado cuando el foco está en el botón de toggle/clear.
|
|
42
|
+
* Su única responsabilidad es:
|
|
43
|
+
* 1. Abrir/cerrar la lista con Enter/Space.
|
|
44
|
+
* 2. Transferir el foco al input/fake para que 'handleKeyDown' tome el control de las flechas.
|
|
45
|
+
* 3. Cerrar la lista al presionar Tab.
|
|
46
|
+
*/
|
|
47
|
+
handleButtonKeyDown(event: KeyboardEvent): void;
|
|
48
|
+
/**
|
|
49
|
+
* Limpia el valor visible del input (filterValue) si no hay un valor de opción válido seleccionado (this.value).
|
|
50
|
+
* Se llama al perder el foco.
|
|
51
|
+
*/
|
|
52
|
+
handleBlur(): void;
|
|
53
|
+
private scrollHighlightedIntoView;
|
|
36
54
|
private renderSelectedIcon;
|
|
37
55
|
private renderOptionIcon;
|
|
56
|
+
private _getFilteredOptions;
|
|
38
57
|
render(): TemplateResult<1>;
|
|
39
58
|
}
|
|
40
59
|
export {};
|
|
@@ -11,10 +11,24 @@ export interface FileHandlerConfig {
|
|
|
11
11
|
export declare class BaseUpload extends BaseControl {
|
|
12
12
|
files: File[];
|
|
13
13
|
simulatedDelay: number;
|
|
14
|
+
showAlertInError: boolean;
|
|
15
|
+
typeTextFile: string;
|
|
14
16
|
protected loading: boolean;
|
|
15
17
|
protected progress: number;
|
|
16
18
|
protected errorTextMessage: string | null;
|
|
17
19
|
protected fileInput: HTMLInputElement;
|
|
20
|
+
isMultiple: boolean;
|
|
21
|
+
private readonly TEXT_SNACKBAR_ERROR_TYPE;
|
|
22
|
+
private readonly TEXT_SNACKBAR_ERROR_SIZE;
|
|
23
|
+
private readonly TEXT_SNACKBAR_ERROR_DELETE;
|
|
24
|
+
/**
|
|
25
|
+
* Muestra el componente de randstad-snackbar globalmente.
|
|
26
|
+
* Asume que el componente existe en el DOM principal.
|
|
27
|
+
|
|
28
|
+
@param message El mensaje de error a mostrar.
|
|
29
|
+
@param duration El tiempo en milisegundos que el snackbar debe permanecer abierto.
|
|
30
|
+
*/
|
|
31
|
+
protected showSnackbar(message: string, duration: number | undefined, type: 'success' | 'error'): void;
|
|
18
32
|
/**
|
|
19
33
|
Convierte el tamaño máximo de archivo de bytes a megabytes (MB) para mostrar en la interfaz de usuario.
|
|
20
34
|
|
|
@@ -22,7 +36,7 @@ export declare class BaseUpload extends BaseControl {
|
|
|
22
36
|
|
|
23
37
|
@returns El tamaño máximo del archivo en megabytes.
|
|
24
38
|
*/
|
|
25
|
-
protected baseGetTextMaxFileSize(maxFileSize: number):
|
|
39
|
+
protected baseGetTextMaxFileSize(maxFileSize: number): string;
|
|
26
40
|
/**
|
|
27
41
|
* Convierte una lista de tipos MIME en un string de nombres de archivos legibles.
|
|
28
42
|
* Por ejemplo, 'application/pdf' se convierte en 'PDF'.
|
|
@@ -65,7 +79,7 @@ export declare class BaseUpload extends BaseControl {
|
|
|
65
79
|
protected baseOnFileInputChange(event: Event, config: FileHandlerConfig): void;
|
|
66
80
|
/**
|
|
67
81
|
* Elimina un archivo de la lista de archivos seleccionados.
|
|
68
|
-
|
|
82
|
+
|
|
69
83
|
@param index El índice del archivo a eliminar.
|
|
70
84
|
@param typeError El tipo de error que se está manejando ('image' o 'file').
|
|
71
85
|
*/
|