valtech-components 4.0.1023 → 4.0.1025

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 (23) hide show
  1. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +20 -5
  2. package/esm2022/lib/components/molecules/select-input-v2/select-input-v2.component.mjs +265 -0
  3. package/esm2022/lib/components/organisms/change-email-modal/change-email-modal.component.mjs +6 -8
  4. package/esm2022/lib/components/organisms/change-password-modal/change-password-modal.component.mjs +5 -4
  5. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +9 -28
  6. package/esm2022/lib/components/organisms/form/form.component.mjs +14 -4
  7. package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +42 -59
  8. package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +6 -8
  9. package/esm2022/lib/components/organisms/profile-modal/profile-modal.component.mjs +10 -33
  10. package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +9 -34
  11. package/esm2022/lib/components/types.mjs +1 -1
  12. package/esm2022/lib/version.mjs +2 -2
  13. package/esm2022/public-api.mjs +2 -1
  14. package/fesm2022/valtech-components.mjs +354 -166
  15. package/fesm2022/valtech-components.mjs.map +1 -1
  16. package/lib/components/molecules/select-input/select-input.component.d.ts +1 -0
  17. package/lib/components/molecules/select-input-v2/select-input-v2.component.d.ts +33 -0
  18. package/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.d.ts +6 -3
  19. package/lib/components/organisms/profile-modal/profile-modal.component.d.ts +1 -1
  20. package/lib/components/types.d.ts +8 -1
  21. package/lib/version.d.ts +1 -1
  22. package/package.json +1 -1
  23. package/public-api.d.ts +1 -0
@@ -46,6 +46,7 @@ export declare class SearchSelectorComponent implements OnInit, OnChanges {
46
46
  */
47
47
  private resolveProps;
48
48
  private setupComponent;
49
+ iconMask(src: string): string;
49
50
  /**
50
51
  * Busca un key en `_global` primero, luego en `Common`, finalmente cae al
51
52
  * default hardcoded. Útil para textos cross-cutting (cancel/ok/close/etc.)
@@ -0,0 +1,33 @@
1
+ import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { InputMetadata, InputOption } from '../../types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SelectInputV2Component implements OnInit, OnChanges {
5
+ private static nextId;
6
+ private i18n;
7
+ private presets;
8
+ private host;
9
+ preset?: string;
10
+ props: Partial<InputMetadata>;
11
+ resolvedProps: InputMetadata;
12
+ isOpen: boolean;
13
+ listboxId: string;
14
+ constructor();
15
+ ngOnInit(): void;
16
+ ngOnChanges(changes: SimpleChanges): void;
17
+ handleDocumentClick(event: MouseEvent): void;
18
+ toggle(): void;
19
+ openAndFocus(event: Event, direction: 1 | -1): void;
20
+ focusNext(event: Event, direction: 1 | -1): void;
21
+ close(event?: Event): void;
22
+ select(option: InputOption): void;
23
+ selectedOption(): InputOption | undefined;
24
+ orderedOptions(): InputOption[];
25
+ isDisabled(): boolean;
26
+ ariaLabel(): string;
27
+ iconMask(src: string): string;
28
+ private resolveProps;
29
+ private setupComponent;
30
+ private focusNextOption;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectInputV2Component, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectInputV2Component, "val-select-input-v2", never, { "preset": { "alias": "preset"; "required": false; }; "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
33
+ }
@@ -1,3 +1,4 @@
1
+ import { ModalLayoutActionEvent } from '../../molecules/modal-layout/types';
1
2
  import { ButtonMetadata } from '../../types';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
@@ -50,9 +51,11 @@ export declare class LoginAttemptModalComponent {
50
51
  /** "No fui yo" — ejecuta el bloqueo y pasa a estado done. */
51
52
  confirmBlock(): Promise<void>;
52
53
  close(): void;
53
- get mineBtn(): Partial<ButtonMetadata>;
54
- get blockBtn(): Partial<ButtonMetadata>;
55
- get closeBtn(): Partial<ButtonMetadata>;
54
+ handleAction(event: ModalLayoutActionEvent): void;
55
+ get actions(): ButtonMetadata[];
56
+ get mineBtn(): ButtonMetadata;
57
+ get blockBtn(): ButtonMetadata;
58
+ get closeBtn(): ButtonMetadata;
56
59
  static ɵfac: i0.ɵɵFactoryDeclaration<LoginAttemptModalComponent, never>;
57
60
  static ɵcmp: i0.ɵɵComponentDeclaration<LoginAttemptModalComponent, "val-login-attempt-modal", never, { "title": { "alias": "title"; "required": false; }; "body": { "alias": "body"; "required": false; }; "deviceLabel": { "alias": "deviceLabel"; "required": false; }; "metaLabel": { "alias": "metaLabel"; "required": false; }; "doneLabel": { "alias": "doneLabel"; "required": false; }; "mineLabel": { "alias": "mineLabel"; "required": false; }; "blockLabel": { "alias": "blockLabel"; "required": false; }; "closeLabel": { "alias": "closeLabel"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "onBlock": { "alias": "onBlock"; "required": false; }; "_modalRef": { "alias": "_modalRef"; "required": false; }; }, {}, never, never, true, never>;
58
61
  }
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
5
5
  * perfil desde el avatar del header. Se abre vía `ModalService.open({ component })`
6
6
  * (recibe `_modalRef` por componentProps) o lo despacha `HeaderActionsService`.
7
7
  *
8
- * Header canónico (Regla #5): sin `ion-title`, botón Cerrar en `slot=end`.
8
+ * Usa `val-modal-layout` como shell estándar de modales.
9
9
  */
10
10
  export declare class ProfileModalComponent {
11
11
  private readonly i18n;
@@ -86,11 +86,16 @@ export type InputOption = {
86
86
  name: string;
87
87
  /** Optional icon shown next to the option label */
88
88
  icon?: {
89
- name: string;
89
+ /** Ionicon name. */
90
+ name?: string;
91
+ /** Image/SVG asset URL. Takes precedence over name when present. */
92
+ src?: string;
90
93
  color?: string;
91
94
  };
92
95
  /** Whether the option is selected by default */
93
96
  selected?: boolean;
97
+ /** Whether the option cannot be selected */
98
+ disabled?: boolean;
94
99
  /** Display order */
95
100
  order: number;
96
101
  };
@@ -194,6 +199,8 @@ export type InputMetadata = {
194
199
  okText?: string;
195
200
  /** Interface del ion-select (default: 'popover'). 'modal' para listas largas. */
196
201
  selectInterface?: 'popover' | 'modal' | 'action-sheet' | 'alert';
202
+ /** Select renderer variant. V2 supports rich option content such as SVG icons. */
203
+ selectVariant?: 'default' | 'v2';
197
204
  /** Validate phone format and attach `phoneInvalid` when the value is malformed. */
198
205
  validateFormat?: boolean;
199
206
  /** Minimum national digits for PHONE fields. */
package/lib/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export declare const VERSION = "4.0.1023";
5
+ export declare const VERSION = "4.0.1025";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.1023",
3
+ "version": "4.0.1025",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"
package/public-api.d.ts CHANGED
@@ -122,6 +122,7 @@ export * from './lib/components/molecules/range-input/range-input.component';
122
122
  export * from './lib/components/molecules/range-input/types';
123
123
  export * from './lib/components/molecules/searchbar/searchbar.component';
124
124
  export * from './lib/components/molecules/select-input/select-input.component';
125
+ export * from './lib/components/molecules/select-input-v2/select-input-v2.component';
125
126
  export * from './lib/components/molecules/select-search/select-search.component';
126
127
  export * from './lib/components/molecules/select-search/select-search-picker-modal.component';
127
128
  export * from './lib/components/molecules/segment-control/segment-control.component';