@randstad-uca/design-system 1.0.45 → 1.0.48

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.
@@ -1,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import '../styles/buttons.css';
3
3
  export declare class RandstadButton extends LitElement {
4
- variant: 'button-primary' | 'button-secondary' | 'button-tertiary' | 'button-round' | 'button-card';
4
+ variant: 'button-primary' | 'button-secondary' | 'button-tertiary' | 'button-round' | 'button-card' | 'button-icon';
5
5
  size: 'md' | 'lg';
6
6
  label: string;
7
7
  loader: boolean;
@@ -6,14 +6,17 @@ export declare class DatePickerComponent extends LitElement {
6
6
  value: string;
7
7
  required: boolean;
8
8
  disabled: boolean;
9
- error: boolean;
10
9
  width?: string;
11
10
  isRenderClearButton: boolean;
12
11
  minDate?: string;
13
12
  maxDate?: string;
13
+ error: boolean;
14
+ errorMessage: string | null;
15
+ optional: boolean;
16
+ helper: string | null;
17
+ helperAlign: 'left' | 'center' | 'right' | 'justify';
14
18
  private isOpen;
15
19
  private selectedDate;
16
- /** La fecha que determina el mes y año actualmente visibles en el calendario. */
17
20
  private viewDate;
18
21
  private isMobile;
19
22
  private calendarWidth;
@@ -50,13 +53,6 @@ export declare class DatePickerComponent extends LitElement {
50
53
  * Actualiza el estado isMobile según el ancho de la ventana.
51
54
  */
52
55
  private updateResponsiveMode;
53
- /**
54
- * Actualiza el componente cuando una propiedad cambia.
55
- * Se encarga de parsear la fecha de la propiedad `value` al estado `selectedDate`.
56
-
57
- * @param changedProperties - Mapa de propiedades que han cambiado.
58
- */
59
- update(changedProperties: Map<string, any>): void;
60
56
  /**
61
57
  * Maneja el evento de entrada del usuario en el input.
62
58
  * Valida el formato de la fecha y actualiza el estado del componente.
@@ -99,14 +95,56 @@ export declare class DatePickerComponent extends LitElement {
99
95
  */
100
96
  private closeOverlay;
101
97
  /**
102
- * Función auxiliar para convertir una cadena de fecha YYYY-MM-DD
103
- * a un objeto Date sin problemas de zona horaria.
98
+ * Analiza la propiedad 'value' externa y actualiza el estado interno del componente.
99
+ * Se ejecuta cuando una propiedad cambia desde fuera (p. ej., Storybook, componente padre).
100
+ * No emite eventos ni interactúa con el DOM para evitar bucles de renderizado.
101
+
102
+ * @param value La cadena de fecha pasada desde una propiedad externa.
103
+ */
104
+ private _syncValue;
105
+ /**
106
+ * Valida la entrada del usuario en el campo de texto.
107
+
108
+ * Este método se llama con cada pulsación de tecla o cambio en el input.
109
+ * Se encarga de validar el formato, verificar si la fecha está dentro de los límites
110
+ * y de actualizar el estado de error y el valor del input.
111
+
112
+ * @param value La cadena de fecha que el usuario ha introducido.
113
+ * @param fromInput Indica si la llamada proviene directamente de la interacción del usuario.
114
+ */
115
+ private _parseAndValidateDate;
116
+ /**
117
+ * Intenta analizar una cadena de fecha en múltiples formatos.
118
+ * Este método es la fuente de la verdad para el análisis de fechas.
119
+ * Soporta los formatos 'dd-MM-yyyy' y 'yyyy-MM-dd', retornando un objeto Date.
104
120
 
105
- * @param dateString - La cadena de fecha a parsear.
106
- * @returns Un objeto Date o null si la cadena es inválida.
121
+ * @param dateString La cadena de fecha a analizar.
122
+ * @returns Un objeto Date si es válido, de lo contrario, null.
123
+ */
124
+ private _parseDate;
125
+ /**
126
+ * Analiza una cadena de fecha con formato 'yyyy-MM-dd'.
127
+ * Este método auxiliar ayuda a procesar la propiedad minDate y maxDate.
128
+
129
+ * @param dateString La cadena de fecha en formato 'yyyy-MM-dd'.
130
+
131
+ * @returns Un objeto Date si es válido, de lo contrario, null.
107
132
  */
108
133
  private _parseDateString;
134
+ /**
135
+ * Retorna el rango de fechas válido del componente.
136
+ * Analiza las propiedades 'minDate' y 'maxDate' para determinar el rango permitido.
137
+
138
+ * @returns Un objeto con las fechas mínima y máxima, o null si no se define un rango.
139
+ */
109
140
  private _getValidDateRange;
141
+ /**
142
+ * Verifica si una fecha dada está dentro del rango permitido.
143
+
144
+ * @param date La fecha a verificar.
145
+
146
+ * @returns Verdadero si la fecha está dentro de los límites, de lo contrario, falso.
147
+ */
110
148
  private _isWithinBounds;
111
149
  /**
112
150
  * Renderiza el componente DatePicker, incluyendo el input, botones y el overlay del calendario.
@@ -0,0 +1,58 @@
1
+ import { LitElement } from 'lit';
2
+ import '../components/Button';
3
+ export declare class UploadFile extends LitElement {
4
+ files: File[];
5
+ maxFiles: number;
6
+ acceptedFileTypes: string[];
7
+ maxFileSize: number;
8
+ disabled: boolean;
9
+ width?: string;
10
+ label: string;
11
+ labelColor: string;
12
+ buttonText: string;
13
+ helper: string | null;
14
+ helperAlign: 'left' | 'center' | 'right' | 'justify';
15
+ error: boolean;
16
+ errorMessage: string | null;
17
+ required: boolean;
18
+ optional: boolean;
19
+ private fileInput;
20
+ static styles: import("lit").CSSResult;
21
+ updated(changedProperties: Map<string, any>): void;
22
+ private applyWidth;
23
+ /**
24
+ * Convierte una lista de tipos MIME en un string de nombres de archivos legibles.
25
+ * Por ejemplo, 'application/pdf' se convierte en 'PDF'.
26
+
27
+ * @returns Un string con los nombres de archivo aceptados, separados por comas.
28
+ */
29
+ private getReadableFileTypes;
30
+ /**
31
+ * Valida una lista de archivos contra el tamaño máximo y los tipos de archivo aceptados.
32
+
33
+ * @param filesToValidate Array de objetos File a validar.
34
+
35
+ * @returns true si todos los archivos son válidos, de lo contrario false.
36
+ */
37
+ private validateFiles;
38
+ /**
39
+ * Maneja los archivos seleccionados por el usuario.
40
+ * Realiza validaciones de cantidad y tipo, y actualiza la lista de archivos.
41
+
42
+ * @param files La lista de archivos de un input de tipo file.
43
+ */
44
+ private handleFiles;
45
+ /**
46
+ * Gestiona el evento de cambio en el input de tipo file.
47
+
48
+ * @param e El evento de cambio.
49
+ */
50
+ private onFileInputChange;
51
+ /**
52
+ * Elimina un archivo de la lista de archivos seleccionados.
53
+
54
+ * @param index El índice del archivo a eliminar.
55
+ */
56
+ private removeFile;
57
+ render(): import("lit-html").TemplateResult<1>;
58
+ }
@@ -21,6 +21,9 @@ export declare class RandstadForm extends LitElement {
21
21
  required: boolean;
22
22
  optional: boolean;
23
23
  helpLink?: string;
24
+ heightTextArea?: string;
25
+ maxHeightTextArea?: string;
26
+ helperAlign: 'left' | 'center' | 'right' | 'justify';
24
27
  static styles: import("lit").CSSResult;
25
28
  private togglePassword;
26
29
  private handleInput;
package/dist/index.d.ts CHANGED
@@ -16,6 +16,9 @@ export * from './components/Snackbar';
16
16
  export * from './components/Stepper';
17
17
  export * from './components/Tabs';
18
18
  export * from './components/Upload';
19
+ export * from './components/DatePicker';
20
+ export * from './components/CalendarOverlay';
21
+ export * from './components/File';
19
22
  import './styles/colors.css';
20
23
  import './styles/fonts.css';
21
24
  import './styles/buttons.css';