@randstad-uca/design-system 1.0.60 → 1.0.61

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.
Files changed (38) hide show
  1. package/dist/assets/img/image-upload-error.svg +15 -0
  2. package/dist/components/Accordion.d.ts +2 -3
  3. package/dist/components/CalendarOverlay.d.ts +3 -3
  4. package/dist/components/Carousel.d.ts +18 -0
  5. package/dist/components/CarouselCards.d.ts +4 -0
  6. package/dist/components/File.d.ts +7 -41
  7. package/dist/components/Form.d.ts +3 -2
  8. package/dist/components/Icon.d.ts +3 -2
  9. package/dist/components/Modal.d.ts +1 -1
  10. package/dist/components/Select.d.ts +3 -2
  11. package/dist/components/Upload.d.ts +15 -8
  12. package/dist/helpers/BaseUpload.d.ts +81 -0
  13. package/dist/index.d.ts +5 -3
  14. package/dist/index.js +1389 -1181
  15. package/dist/index.js.map +1 -1
  16. package/dist/package.json +1 -1
  17. package/dist/randstad-design-system.css +1 -1
  18. package/dist/stories/Accordion.stories.d.ts +1 -1
  19. package/dist/stories/Carousel.stories.d.ts +8 -0
  20. package/dist/styles/colors.css +48 -49
  21. package/dist/styles/error.d.ts +2 -1
  22. package/dist/styles/error.ts +4 -4
  23. package/dist/styles/fontStyles.d.ts +8 -7
  24. package/dist/styles/fontStyles.ts +8 -8
  25. package/dist/styles/globalStyles.ts +3 -3
  26. package/dist/styles/mix.d.ts +2 -1
  27. package/dist/styles/mix.ts +9 -9
  28. package/dist/styles/progress-bar-upload.d.ts +2 -1
  29. package/dist/styles/progress-bar-upload.ts +4 -4
  30. package/dist/styles/scrollbar.d.ts +1 -0
  31. package/dist/styles/scrollbar.ts +25 -0
  32. package/dist/styles/tooltip.d.ts +2 -1
  33. package/dist/styles/tooltip.ts +4 -4
  34. package/dist/utils/file-format.d.ts +3 -0
  35. package/package.json +1 -1
  36. package/dist/styles/notice.css +0 -0
  37. package/dist/styles/select.css +0 -12
  38. package/dist/styles/snackbar.css +0 -0
@@ -0,0 +1,15 @@
1
+ <svg width="104" height="103" viewBox="0 0 104 103" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="0.727539" y="0.227295" width="102.545" height="102.545" rx="51.2727" fill="#E00F0F" fill-opacity="0.1"/>
3
+ <g clip-path="url(#clip0_3996_5343)">
4
+ <path d="M69.5511 54.771L73.3627 50.9594C73.8178 50.5043 73.8178 49.7648 73.3627 49.3097C72.9076 48.8545 72.168 48.8545 71.7129 49.3097L67.9013 53.1212L64.0898 49.3097C63.6346 48.8545 62.8951 48.8545 62.44 49.3097C61.9849 49.7648 61.9849 50.5043 62.44 50.9594L66.2515 54.771L62.44 58.5826C61.9849 59.0377 61.9849 59.7773 62.44 60.2324C62.6675 60.46 62.952 60.5737 63.2364 60.5737C63.5209 60.5737 63.8053 60.46 64.0329 60.2324L67.8445 56.4208L71.656 60.2324C71.8836 60.46 72.168 60.5737 72.4525 60.5737C72.7369 60.5737 73.0214 60.46 73.2489 60.2324C73.704 59.7773 73.704 59.0377 73.2489 58.5826L69.5511 54.771Z" fill="#E00F0F"/>
5
+ <path d="M63.2363 63.9303C62.6106 63.9303 62.0986 64.4424 62.0986 65.0681V69.6193C62.0986 70.8708 61.0746 71.838 59.8799 71.838H33.8246C32.573 71.838 31.6059 70.814 31.6059 69.6193V33.3239C31.6059 32.0723 32.6299 31.1052 33.8246 31.1052H59.8799C61.1314 31.1052 62.0986 32.1292 62.0986 33.3239V44.4742C62.0986 45.1 62.6106 45.612 63.2363 45.612C63.8621 45.612 64.3741 45.1 64.3741 44.4742V33.3239C64.3741 30.8208 62.3261 28.7728 59.823 28.7728H33.8246C31.3215 28.7728 29.2734 30.8208 29.2734 33.3239V69.6762C29.2734 72.1793 31.3215 74.2273 33.8246 74.2273H59.8799C62.383 74.2273 64.431 72.1793 64.431 69.6762V65.125C64.431 64.4424 63.919 63.9303 63.2363 63.9303Z" fill="#E00F0F"/>
6
+ <path d="M54.7601 38.6708H38.8311C38.2054 38.6708 37.6934 39.1828 37.6934 39.8086C37.6934 40.4344 38.2054 40.9464 38.8311 40.9464H54.7601C55.3859 40.9464 55.8979 40.4344 55.8979 39.8086C55.8979 39.1828 55.3859 38.6708 54.7601 38.6708Z" fill="#E00F0F"/>
7
+ <path d="M54.7601 45.4982H38.8311C38.2054 45.4982 37.6934 46.0102 37.6934 46.636C37.6934 47.2617 38.2054 47.7737 38.8311 47.7737H54.7601C55.3859 47.7737 55.8979 47.2617 55.8979 46.636C55.8979 46.0102 55.3859 45.4982 54.7601 45.4982Z" fill="#E00F0F"/>
8
+ <path d="M54.7601 52.3244H38.8311C38.2054 52.3244 37.6934 52.8364 37.6934 53.4622C37.6934 54.088 38.2054 54.6 38.8311 54.6H54.7601C55.3859 54.6 55.8979 54.088 55.8979 53.4622C55.8979 52.7795 55.3859 52.3244 54.7601 52.3244Z" fill="#E00F0F"/>
9
+ </g>
10
+ <defs>
11
+ <clipPath id="clip0_3996_5343">
12
+ <rect width="54.5455" height="54.5455" fill="white" transform="translate(24.7275 24.2273)"/>
13
+ </clipPath>
14
+ </defs>
15
+ </svg>
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, TemplateResult } from 'lit';
2
2
  export declare class AccordionPanel extends LitElement {
3
3
  title: string;
4
4
  private isOpen;
@@ -8,6 +8,5 @@ export declare class AccordionPanel extends LitElement {
8
8
  disconnectedCallback(): void;
9
9
  private handleResize;
10
10
  private toggle;
11
- private renderIcon;
12
- render(): import("lit-html").TemplateResult<1>;
11
+ render(): TemplateResult<1>;
13
12
  }
@@ -1,4 +1,4 @@
1
- import { LitElement } from "lit";
1
+ import { LitElement, TemplateResult } from "lit";
2
2
  export declare class CalendarOverlay extends LitElement {
3
3
  /**
4
4
  * La fecha actualmente seleccionada por el usuario.
@@ -19,7 +19,7 @@ export declare class CalendarOverlay extends LitElement {
19
19
  * Determina qué cuadrícula se renderiza en el overlay.
20
20
  */
21
21
  private currentView;
22
- static styles: import("lit").CSSResult;
22
+ static styles: (import("lit").CSSResult | CSSStyleSheet)[];
23
23
  connectedCallback(): void;
24
24
  disconnectedCallback(): void;
25
25
  /**
@@ -105,5 +105,5 @@ export declare class CalendarOverlay extends LitElement {
105
105
 
106
106
  * @returns {TemplateResult} Plantilla HTML del overlay del calendario.
107
107
  */
108
- render(): import("lit-html").TemplateResult<1>;
108
+ render(): TemplateResult<1>;
109
109
  }
@@ -0,0 +1,18 @@
1
+ import { LitElement } from 'lit';
2
+ import "./CarouselCards";
3
+ export declare class Carousel extends LitElement {
4
+ cards: any[];
5
+ private isDown;
6
+ private isDragging;
7
+ private prevX;
8
+ static styles: import("lit").CSSResult;
9
+ disconnectedCallback(): void;
10
+ private get slider();
11
+ private handleMouseDown;
12
+ private handleMouseLeave;
13
+ private handleMouseUp;
14
+ private handleMouseMove;
15
+ firstUpdated(): void;
16
+ private baseAddListeners;
17
+ render(): import("lit-html").TemplateResult<1>;
18
+ }
@@ -6,6 +6,10 @@ export declare class CarouselCard extends LitElement {
6
6
  description: string;
7
7
  buttonLabel: string;
8
8
  cardId: string;
9
+ onClick: any;
9
10
  static styles: import("lit").CSSResult;
11
+ private handleButtonClick;
12
+ connectedCallback(): void;
13
+ disconnectedCallback(): void;
10
14
  render(): import("lit-html").TemplateResult<1>;
11
15
  }
@@ -1,52 +1,18 @@
1
- import { BaseControl } from '../helpers/BaseControl';
1
+ import { TemplateResult } from 'lit';
2
+ import { BaseUpload } from '../helpers/BaseUpload';
2
3
  import '../components/Button';
3
- export declare class UploadFile extends BaseControl {
4
+ export declare class UploadFile extends BaseUpload {
4
5
  width?: string;
5
- files: File[];
6
6
  maxFiles: number;
7
7
  acceptedFileTypes: string[];
8
8
  maxFileSize: number;
9
9
  buttonText: string;
10
- simulatedDelay: number;
11
- private loading;
12
- private progress;
13
- private fileInput;
14
10
  static styles: import("lit").CSSResult;
11
+ private getFileConfig;
12
+ private getTextAcceptedFileTypes;
13
+ private getTextMaxFileSize;
15
14
  updated(changedProperties: Map<string, any>): void;
16
15
  private applyWidth;
17
- /**
18
- * Convierte una lista de tipos MIME en un string de nombres de archivos legibles.
19
- * Por ejemplo, 'application/pdf' se convierte en 'PDF'.
20
-
21
- * @returns Un string con los nombres de archivo aceptados, separados por comas.
22
- */
23
- private getReadableFileTypes;
24
- /**
25
- * Valida una lista de archivos contra el tamaño máximo y los tipos de archivo aceptados.
26
-
27
- * @param filesToValidate Array de objetos File a validar.
28
-
29
- * @returns true si todos los archivos son válidos, de lo contrario false.
30
- */
31
- private validateFiles;
32
- /**
33
- * Maneja los archivos seleccionados por el usuario.
34
- * Realiza validaciones de cantidad y tipo, y actualiza la lista de archivos.
35
-
36
- * @param files La lista de archivos de un input de tipo file.
37
- */
38
- private handleFiles;
39
- /**
40
- * Gestiona el evento de cambio en el input de tipo file.
41
-
42
- * @param e El evento de cambio.
43
- */
44
16
  private onFileInputChange;
45
- /**
46
- * Elimina un archivo de la lista de archivos seleccionados.
47
-
48
- * @param index El índice del archivo a eliminar.
49
- */
50
- private removeFile;
51
- render(): import("lit-html").TemplateResult<1>;
17
+ render(): TemplateResult<1>;
52
18
  }
@@ -1,3 +1,4 @@
1
+ import { TemplateResult } from 'lit';
1
2
  import { BaseControl } from '../helpers/BaseControl';
2
3
  export declare class RandstadForm extends BaseControl {
3
4
  keydown: 'number' | 'text' | undefined;
@@ -12,7 +13,7 @@ export declare class RandstadForm extends BaseControl {
12
13
  maxLength?: number;
13
14
  heightTextArea?: string;
14
15
  maxHeightTextArea?: string;
15
- static styles: import("lit").CSSResult;
16
+ static styles: (import("lit").CSSResult | CSSStyleSheet)[];
16
17
  private togglePassword;
17
18
  private handleInput;
18
19
  private handleClear;
@@ -21,5 +22,5 @@ export declare class RandstadForm extends BaseControl {
21
22
  onlyNumeric(event: Event): void;
22
23
  onlyText(event: Event): void;
23
24
  private handleKeyDown;
24
- render(): import("lit-html").TemplateResult<1>;
25
+ render(): TemplateResult<1>;
25
26
  }
@@ -2,9 +2,10 @@ import { LitElement } from 'lit';
2
2
  export declare class IconComponent extends LitElement {
3
3
  name: string;
4
4
  size: string;
5
+ color: string;
6
+ private svgContent;
5
7
  static styles: import("lit").CSSResult;
6
- connectedCallback(): void;
7
8
  updated(changedProps: Map<string, unknown>): void;
8
9
  loadIcon(): Promise<void>;
9
- render(): null;
10
+ render(): import("lit-html").TemplateResult<1>;
10
11
  }
@@ -18,7 +18,7 @@ export declare class CustomModal extends LitElement {
18
18
  isPrimaryDisabled: boolean;
19
19
  modalWidth: string;
20
20
  private scrollable;
21
- static styles: import("lit").CSSResult;
21
+ static styles: (import("lit").CSSResult | CSSStyleSheet)[];
22
22
  private closeModal;
23
23
  connectedCallback(): void;
24
24
  disconnectedCallback(): void;
@@ -1,3 +1,4 @@
1
+ import { TemplateResult } from 'lit';
1
2
  import { BaseControl } from '../helpers/BaseControl';
2
3
  type SelectOption = string | {
3
4
  label: string;
@@ -19,7 +20,7 @@ export declare class FilterableSelect extends BaseControl {
19
20
  isOpen: boolean;
20
21
  mobileFilterValue: string;
21
22
  private debounceTimeout;
22
- static styles: import("lit").CSSResult;
23
+ static styles: (import("lit").CSSResult | CSSStyleSheet)[];
23
24
  update(changedProperties: Map<string, any>): void;
24
25
  connectedCallback(): void;
25
26
  disconnectedCallback(): void;
@@ -34,6 +35,6 @@ export declare class FilterableSelect extends BaseControl {
34
35
  handleKeyDown(e: KeyboardEvent): void;
35
36
  private renderSelectedIcon;
36
37
  private renderOptionIcon;
37
- render(): import("lit-html").TemplateResult<1>;
38
+ render(): TemplateResult<1>;
38
39
  }
39
40
  export {};
@@ -1,16 +1,23 @@
1
- import { LitElement } from 'lit';
2
- export declare class UploadImage extends LitElement {
3
- files: File[];
4
- disabled: boolean;
5
- simulatedDelay: number;
6
- private loading;
7
- private progress;
1
+ import { TemplateResult } from 'lit';
2
+ import { BaseUpload } from '../helpers/BaseUpload';
3
+ export declare class UploadImage extends BaseUpload {
4
+ acceptedFileTypes: string[];
5
+ maxFiles: number;
6
+ maxFileSize: number;
8
7
  private isDragging;
8
+ private imageUrls;
9
+ private isMaxFilesReached;
9
10
  static styles: import("lit").CSSResult;
11
+ private getFileConfig;
12
+ private getTextAcceptedFileTypes;
13
+ private getTextMaxFileSize;
14
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
15
+ disconnectedCallback(): void;
10
16
  private handleFiles;
11
17
  private onFileInputChange;
12
18
  private onDrop;
13
19
  private onDragOver;
14
20
  private onDragLeave;
15
- render(): import("lit-html").TemplateResult<1>;
21
+ willUpdate(changedProperties: Map<string | number | symbol, unknown>): void;
22
+ render(): TemplateResult<1>;
16
23
  }
@@ -0,0 +1,81 @@
1
+ import { BaseControl } from "./BaseControl";
2
+ import { TemplateResult } from "lit";
3
+ export interface FileHandlerConfig {
4
+ baseMaxFiles: number;
5
+ maxFileSize: number;
6
+ acceptedFileTypes: string[];
7
+ errorMessageType: string;
8
+ errorMessageSize: string;
9
+ typeError: 'image' | 'file';
10
+ }
11
+ export declare class BaseUpload extends BaseControl {
12
+ files: File[];
13
+ simulatedDelay: number;
14
+ protected loading: boolean;
15
+ protected progress: number;
16
+ protected errorTextMessage: string | null;
17
+ protected fileInput: HTMLInputElement;
18
+ /**
19
+ Convierte el tamaño máximo de archivo de bytes a megabytes (MB) para mostrar en la interfaz de usuario.
20
+
21
+ @param maxFileSize El tamaño máximo de archivo en bytes.
22
+
23
+ @returns El tamaño máximo del archivo en megabytes.
24
+ */
25
+ protected baseGetTextMaxFileSize(maxFileSize: number): number;
26
+ /**
27
+ * Convierte una lista de tipos MIME en un string de nombres de archivos legibles.
28
+ * Por ejemplo, 'application/pdf' se convierte en 'PDF'.
29
+
30
+ @param acceptedFileTypes Un array de strings con los tipos MIME aceptados.
31
+ @param typeMapping Un objeto que mapea los tipos MIME a nombres legibles.
32
+
33
+ @returns Un string con los nombres de archivo aceptados, separados por comas y 'y'.
34
+ */
35
+ protected getReadableFileTypes(acceptedFileTypes: string[], typeMapping: {
36
+ [key: string]: string;
37
+ }): string;
38
+ /**
39
+ * Valida una lista de archivos contra el tamaño máximo y los tipos de archivo aceptados.
40
+
41
+ @param filesToValidate Un array de objetos File a validar.
42
+ @param maxFileSize El tamaño máximo permitido para un archivo en bytes.
43
+ @param acceptedFileTypes Un array de strings con los tipos MIME aceptados.
44
+ @param errorMessageType El mensaje de error a mostrar si el tipo de archivo no es válido.
45
+ @param errorMessageSize El mensaje de error a mostrar si el tamaño del archivo excede el límite.
46
+ @param typeError El tipo de error que se está manejando ('image' o 'file').
47
+
48
+ @returns true si todos los archivos son válidos, de lo contrario, false.
49
+ */
50
+ protected validateFiles(filesToValidate: File[], maxFileSize: number, acceptedFileTypes: string[], errorMessageType: string, errorMessageSize: string, typeError: 'image' | 'file'): boolean;
51
+ /**
52
+ * Maneja los archivos seleccionados por el usuario.
53
+ * Realiza validaciones de cantidad y tipo, y actualiza la lista de archivos.
54
+
55
+ @param files La lista de archivos de un input de tipo file.
56
+ @param config Un objeto de configuración que contiene los parámetros de validación (`baseMaxFiles`, `maxFileSize`, etc.) y mensajes de error.
57
+ */
58
+ protected baseHandleFiles(files: FileList | null, config: FileHandlerConfig): Promise<void>;
59
+ /**
60
+ * Maneja los archivos seleccionados por el usuario, aplicando validaciones de cantidad y tipo, y gestionando el proceso de carga simulado.
61
+
62
+ @param files La lista de archivos (`FileList`) seleccionados de un `input` de tipo `file`.
63
+ @param config Un objeto de configuración que contiene los parámetros de validación (`baseMaxFiles`, `maxFileSize`, etc.) y mensajes de error.
64
+ */
65
+ protected baseOnFileInputChange(event: Event, config: FileHandlerConfig): void;
66
+ /**
67
+ * Elimina un archivo de la lista de archivos seleccionados.
68
+
69
+ @param index El índice del archivo a eliminar.
70
+ @param typeError El tipo de error que se está manejando ('image' o 'file').
71
+ */
72
+ protected removeFile(index: number, typeError: 'image' | 'file'): void;
73
+ /**
74
+ Establece el estado de error y el mensaje de error correspondiente para el componente.
75
+
76
+ @param typeError Indica el tipo de componente de carga de archivos ('image' o 'file').
77
+ @param message El mensaje de error a mostrar. Si es `null`, el estado de error se desactiva.
78
+ */
79
+ private setError;
80
+ renderLoadingContainer(htmlSlotContent: TemplateResult): TemplateResult<1>;
81
+ }
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import './styles/colors.css';
2
+ import './styles/fonts.css';
3
+ import './styles/buttons.css';
1
4
  export * from './helpers/BaseControl';
2
5
  export * from './components/Accordion';
3
6
  export * from './components/AccordionList';
@@ -20,6 +23,5 @@ export * from './components/Upload';
20
23
  export * from './components/DatePicker';
21
24
  export * from './components/CalendarOverlay';
22
25
  export * from './components/File';
23
- import './styles/colors.css';
24
- import './styles/fonts.css';
25
- import './styles/buttons.css';
26
+ export * from './components/Carousel';
27
+ export * from './styles/scrollbar';