@telcomdev/ui 0.0.6 → 0.0.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telcomdev/ui",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Librería UI reutilizable para los sistemas TelcomDev.",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,6 +17,8 @@
17
17
  "tabs",
18
18
  "data-table",
19
19
  "dialog",
20
+ "date-picker",
21
+ "signal-forms",
20
22
  "virtual-scroll"
21
23
  ],
22
24
  "author": "TelcomDev",
@@ -25,6 +27,7 @@
25
27
  "@angular/cdk": "^21.2.0",
26
28
  "@angular/common": "^21.2.0",
27
29
  "@angular/core": "^21.2.0",
30
+ "@angular/forms": "^21.2.0",
28
31
  "@angular/router": "^21.2.0",
29
32
  "rxjs": "~7.8.0"
30
33
  },
@@ -1,14 +1,15 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { OnChanges, OnDestroy, EventEmitter, SimpleChanges, InjectionToken, Type, TemplateRef, AfterContentInit } from '@angular/core';
3
+ import { ScrollStrategy } from '@angular/cdk/overlay';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+ import { FormValueControl, WithOptionalFieldTree, ValidationError } from '@angular/forms/signals';
3
6
  import { Observable } from 'rxjs';
4
7
  import { DialogRef } from '@angular/cdk/dialog';
5
8
  import * as _telcomdev_ui from '@telcomdev/ui';
6
- import { ControlValueAccessor } from '@angular/forms';
7
- import { ScrollStrategy } from '@angular/cdk/overlay';
8
9
 
9
10
  declare class TelcomdevUi {
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TelcomdevUi, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TelcomdevUi, "td-telcomdev-ui", never, {}, {}, never, never, true, never>;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TelcomdevUi, never>;
12
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TelcomdevUi, "td-telcomdev-ui", never, {}, {}, never, never, true, never>;
12
13
  }
13
14
 
14
15
  type TdAlertaTipo = 'exito' | 'error' | 'advertencia' | 'info' | 'pregunta';
@@ -111,8 +112,118 @@ declare class TdDataTable<T extends object> implements OnChanges, OnDestroy {
111
112
  protected ejecutarAccion(accion: TdDataTableAccion<T>, fila: T, indice: number): void;
112
113
  protected alCambiarIndice(): void;
113
114
  protected readonly trackFila: (_indice: number, fila: T) => unknown;
114
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDataTable<any>, never>;
115
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDataTable<any>, "td-data-table", never, { "datos": { "alias": "datos"; "required": false; }; "columnas": { "alias": "columnas"; "required": false; }; "acciones": { "alias": "acciones"; "required": false; }; "botones": { "alias": "botones"; "required": false; }; "total": { "alias": "total"; "required": false; }; "cargando": { "alias": "cargando"; "required": false; }; "puedeCargarMas": { "alias": "puedeCargarMas"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "filasAntesDeCargar": { "alias": "filasAntesDeCargar"; "required": false; }; "altura": { "alias": "altura"; "required": false; }; "campoId": { "alias": "campoId"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "mostrarBusqueda": { "alias": "mostrarBusqueda"; "required": false; }; "placeholderBusqueda": { "alias": "placeholderBusqueda"; "required": false; }; "textoVacio": { "alias": "textoVacio"; "required": false; }; "descripcionVacio": { "alias": "descripcionVacio"; "required": false; }; "debounceBusqueda": { "alias": "debounceBusqueda"; "required": false; }; }, { "busquedaChange": "busquedaChange"; "accion": "accion"; "botonClick": "botonClick"; "cargarMas": "cargarMas"; }, never, ["[tdDataTableFilters]", "[tdDataTableActions]"], true, never>;
115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDataTable<any>, never>;
116
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdDataTable<any>, "td-data-table", never, { "datos": { "alias": "datos"; "required": false; }; "columnas": { "alias": "columnas"; "required": false; }; "acciones": { "alias": "acciones"; "required": false; }; "botones": { "alias": "botones"; "required": false; }; "total": { "alias": "total"; "required": false; }; "cargando": { "alias": "cargando"; "required": false; }; "puedeCargarMas": { "alias": "puedeCargarMas"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "filasAntesDeCargar": { "alias": "filasAntesDeCargar"; "required": false; }; "altura": { "alias": "altura"; "required": false; }; "campoId": { "alias": "campoId"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "mostrarBusqueda": { "alias": "mostrarBusqueda"; "required": false; }; "placeholderBusqueda": { "alias": "placeholderBusqueda"; "required": false; }; "textoVacio": { "alias": "textoVacio"; "required": false; }; "descripcionVacio": { "alias": "descripcionVacio"; "required": false; }; "debounceBusqueda": { "alias": "debounceBusqueda"; "required": false; }; }, { "busquedaChange": "busquedaChange"; "accion": "accion"; "botonClick": "botonClick"; "cargarMas": "cargarMas"; }, never, ["[tdDataTableFilters]", "[tdDataTableActions]"], true, never>;
117
+ }
118
+
119
+ interface TdDateRange {
120
+ inicio: string;
121
+ fin: string | null;
122
+ }
123
+ type TdDatePickerValue = string | TdDateRange | null;
124
+ type TdDatePickerMode = 'fecha' | 'rango';
125
+
126
+ interface CalendarDay {
127
+ iso: string;
128
+ day: number;
129
+ currentMonth: boolean;
130
+ today: boolean;
131
+ disabled: boolean;
132
+ }
133
+ type CalendarView = 'dias' | 'meses' | 'anios';
134
+ declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdDatePickerValue> {
135
+ private readonly cdr;
136
+ private readonly scrollStrategies;
137
+ private readonly generatedId;
138
+ private readonly formatter;
139
+ private readonly monthFormatter;
140
+ private readonly longFormatter;
141
+ label: string;
142
+ placeholder: string;
143
+ mode: TdDatePickerMode;
144
+ hint: string;
145
+ error: string;
146
+ minDate: string | number | null | undefined;
147
+ maxDate: string | number | null | undefined;
148
+ readonly disabled: _angular_core.InputSignal<boolean>;
149
+ readonly readonly: _angular_core.InputSignal<boolean>;
150
+ readonly invalid: _angular_core.InputSignal<boolean>;
151
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
152
+ readonly touch: _angular_core.OutputEmitterRef<void>;
153
+ clearable: boolean;
154
+ dark: boolean;
155
+ readonly value: _angular_core.ModelSignal<TdDatePickerValue>;
156
+ private readonly cvaDisabled;
157
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
158
+ protected readonly displayError: _angular_core.Signal<string>;
159
+ protected readonly hasError: _angular_core.Signal<boolean>;
160
+ readonly selectionChange: EventEmitter<TdDatePickerValue>;
161
+ readonly openedChange: EventEmitter<boolean>;
162
+ protected open: boolean;
163
+ protected hoveredDate: string | null;
164
+ protected viewDate: Date;
165
+ protected calendarView: CalendarView;
166
+ protected readonly currentYear: number;
167
+ protected readonly scrollStrategy: ScrollStrategy;
168
+ protected get labelId(): string;
169
+ protected get calendarId(): string;
170
+ protected get weekdays(): string[];
171
+ protected get monthLabel(): string;
172
+ protected get periodLabel(): string;
173
+ protected get periodButtonLabel(): string;
174
+ protected get previousLabel(): string;
175
+ protected get nextLabel(): string;
176
+ protected get months(): {
177
+ index: number;
178
+ label: string;
179
+ disabled: boolean;
180
+ }[];
181
+ protected get years(): {
182
+ value: number;
183
+ disabled: boolean;
184
+ }[];
185
+ private get yearPageStart();
186
+ protected get days(): CalendarDay[];
187
+ protected get displayValue(): string;
188
+ protected get rangeStartLabel(): string;
189
+ protected get rangeEndLabel(): string;
190
+ private changed;
191
+ private onCvaTouched;
192
+ writeValue(value: TdDatePickerValue): void;
193
+ registerOnChange(fn: (value: TdDatePickerValue) => void): void;
194
+ registerOnTouched(fn: () => void): void;
195
+ setDisabledState(disabled: boolean): void;
196
+ focus(): void;
197
+ protected toggle(): void;
198
+ protected openPanel(): void;
199
+ protected close(): void;
200
+ protected previousPage(): void;
201
+ protected nextPage(): void;
202
+ protected changeCalendarView(): void;
203
+ protected selectMonth(month: number): void;
204
+ protected selectYear(year: number): void;
205
+ protected goToday(): void;
206
+ protected selectDate(date: CalendarDay): void;
207
+ protected clear(event: MouseEvent): void;
208
+ protected isSelected(iso: string): boolean;
209
+ protected isRangeStart(iso: string): boolean;
210
+ protected isRangeEnd(iso: string): boolean;
211
+ protected isInRange(iso: string): boolean;
212
+ protected formatLong(iso: string): string;
213
+ protected handleTriggerKeydown(event: KeyboardEvent): void;
214
+ protected handleOverlayKeydown(event: KeyboardEvent): void;
215
+ private currentRange;
216
+ private setValue;
217
+ private syncViewToValue;
218
+ private normalizeValue;
219
+ private format;
220
+ private fromIso;
221
+ private toIso;
222
+ private startOfMonth;
223
+ private monthIntersectsLimits;
224
+ private yearIntersectsLimits;
225
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDatePicker, never>;
226
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdDatePicker, "td-date-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "minDate": { "alias": "min"; "required": false; }; "maxDate": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "value": "valueChange"; "selectionChange": "selectionChange"; "openedChange": "openedChange"; }, never, never, true, never>;
116
227
  }
117
228
 
118
229
  type TdDialogTamano = 'pequeno' | 'mediano' | 'grande' | 'pantalla';
@@ -164,25 +275,25 @@ declare class TdDialog {
164
275
  closeAll(): void;
165
276
  private widthFor;
166
277
  private panelClasses;
167
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialog, never>;
168
- static ɵprov: i0.ɵɵInjectableDeclaration<TdDialog>;
278
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialog, never>;
279
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TdDialog>;
169
280
  }
170
281
 
171
282
  declare class TdDialogActions {
172
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogActions, never>;
173
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDialogActions, "td-dialog-actions", never, {}, {}, never, ["*"], true, never>;
283
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialogActions, never>;
284
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdDialogActions, "td-dialog-actions", never, {}, {}, never, ["*"], true, never>;
174
285
  }
175
286
 
176
287
  declare class TdDialogClose {
177
288
  private readonly dialogRef;
178
289
  result: unknown;
179
290
  protected close(): void;
180
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogClose, never>;
181
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdDialogClose, "[tdDialogClose]", never, { "result": { "alias": "tdDialogClose"; "required": false; }; }, {}, never, never, true, never>;
291
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialogClose, never>;
292
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TdDialogClose, "[tdDialogClose]", never, { "result": { "alias": "tdDialogClose"; "required": false; }; }, {}, never, never, true, never>;
182
293
  }
183
294
  declare class TdDialogPrimary {
184
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogPrimary, never>;
185
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdDialogPrimary, "[tdDialogPrimary]", never, {}, {}, never, never, true, never>;
295
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialogPrimary, never>;
296
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TdDialogPrimary, "[tdDialogPrimary]", never, {}, {}, never, never, true, never>;
186
297
  }
187
298
 
188
299
  declare class TdFooter {
@@ -192,8 +303,8 @@ declare class TdFooter {
192
303
  oscuro: boolean;
193
304
  compacto: boolean;
194
305
  anio: number;
195
- static ɵfac: i0.ɵɵFactoryDeclaration<TdFooter, never>;
196
- static ɵcmp: i0.ɵɵComponentDeclaration<TdFooter, "td-footer", never, { "empresa": { "alias": "empresa"; "required": false; }; "texto": { "alias": "texto"; "required": false; }; "version": { "alias": "version"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "compacto": { "alias": "compacto"; "required": false; }; "anio": { "alias": "anio"; "required": false; }; }, {}, never, ["[tdFooterLinks]", "[tdFooterActions]"], true, never>;
306
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdFooter, never>;
307
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdFooter, "td-footer", never, { "empresa": { "alias": "empresa"; "required": false; }; "texto": { "alias": "texto"; "required": false; }; "version": { "alias": "version"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "compacto": { "alias": "compacto"; "required": false; }; "anio": { "alias": "anio"; "required": false; }; }, {}, never, ["[tdFooterLinks]", "[tdFooterActions]"], true, never>;
197
308
  }
198
309
 
199
310
  interface TdHeaderNotificacion {
@@ -228,8 +339,8 @@ declare class TdHeader {
228
339
  protected notificacionesNoLeidas(): number;
229
340
  protected inicialesUsuario(): string;
230
341
  protected cerrarConEscape(): void;
231
- static ɵfac: i0.ɵɵFactoryDeclaration<TdHeader, never>;
232
- static ɵcmp: i0.ɵɵComponentDeclaration<TdHeader, "td-header", never, { "menuAbierto": { "alias": "menuAbierto"; "required": false; }; "mostrarMenu": { "alias": "mostrarMenu"; "required": false; }; "usuario": { "alias": "usuario"; "required": false; }; "cargo": { "alias": "cargo"; "required": false; }; "avatarUrl": { "alias": "avatarUrl"; "required": false; }; "notificaciones": { "alias": "notificaciones"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "fijo": { "alias": "fijo"; "required": false; }; }, { "menuToggle": "menuToggle"; "notificacionSeleccionada": "notificacionSeleccionada"; "verTodasNotificaciones": "verTodasNotificaciones"; "accionPerfil": "accionPerfil"; }, never, ["[tdHeaderStart]", "[tdHeaderCenter]", "[tdHeaderActions]"], true, never>;
342
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdHeader, never>;
343
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdHeader, "td-header", never, { "menuAbierto": { "alias": "menuAbierto"; "required": false; }; "mostrarMenu": { "alias": "mostrarMenu"; "required": false; }; "usuario": { "alias": "usuario"; "required": false; }; "cargo": { "alias": "cargo"; "required": false; }; "avatarUrl": { "alias": "avatarUrl"; "required": false; }; "notificaciones": { "alias": "notificaciones"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "fijo": { "alias": "fijo"; "required": false; }; }, { "menuToggle": "menuToggle"; "notificacionSeleccionada": "notificacionSeleccionada"; "verTodasNotificaciones": "verTodasNotificaciones"; "accionPerfil": "accionPerfil"; }, never, ["[tdHeaderStart]", "[tdHeaderCenter]", "[tdHeaderActions]"], true, never>;
233
344
  }
234
345
 
235
346
  declare class TdIcon {
@@ -240,8 +351,8 @@ declare class TdIcon {
240
351
  protected tamanoCss: string;
241
352
  protected get tamanoHost(): string;
242
353
  protected definicion(): _telcomdev_ui.TdIconoDefinicion;
243
- static ɵfac: i0.ɵɵFactoryDeclaration<TdIcon, never>;
244
- static ɵcmp: i0.ɵɵComponentDeclaration<TdIcon, "td-icon", never, { "nombre": { "alias": "nombre"; "required": false; }; "titulo": { "alias": "titulo"; "required": false; }; "tamano": { "alias": "tamano"; "required": false; }; }, {}, never, never, true, never>;
354
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdIcon, never>;
355
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdIcon, "td-icon", never, { "nombre": { "alias": "nombre"; "required": false; }; "titulo": { "alias": "titulo"; "required": false; }; "tamano": { "alias": "tamano"; "required": false; }; }, {}, never, never, true, never>;
245
356
  }
246
357
 
247
358
  interface TdIconoDefinicion {
@@ -259,8 +370,8 @@ declare class TdIconoRegistry {
259
370
  existe(nombre: string): boolean;
260
371
  nombres(): string[];
261
372
  private normalizar;
262
- static ɵfac: i0.ɵɵFactoryDeclaration<TdIconoRegistry, never>;
263
- static ɵprov: i0.ɵɵInjectableDeclaration<TdIconoRegistry>;
373
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdIconoRegistry, never>;
374
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TdIconoRegistry>;
264
375
  }
265
376
 
266
377
  declare const TD_ICONOS: {
@@ -504,11 +615,11 @@ declare const TD_ICONOS: {
504
615
  type TdIconoNombre = keyof typeof TD_ICONOS;
505
616
  declare const TD_ICONOS_NOMBRES: readonly ("error" | "info" | "link" | "menu" | "search" | "cancel" | "close" | "copy" | "home" | "dashboard" | "folder" | "settings" | "people" | "person" | "security" | "inventory" | "shopping_cart" | "receipt" | "assessment" | "description" | "business" | "chevron_left" | "chevron_right" | "sun" | "moon" | "alert" | "check" | "visibility" | "visibility_off" | "notifications" | "chevron_down" | "apps" | "help" | "add" | "edit" | "delete" | "toggle_on" | "toggle_off" | "inbox" | "pdf" | "save" | "download" | "upload" | "print" | "excel" | "xml" | "zip" | "file" | "image" | "calendar" | "clock" | "history" | "filter" | "refresh" | "sort" | "more_vertical" | "more_horizontal" | "arrow_back" | "arrow_forward" | "login" | "logout" | "lock" | "lock_open" | "mail" | "phone" | "send" | "location" | "language" | "warning" | "check_circle" | "star" | "favorite" | "database" | "cloud" | "camera" | "external_link")[];
506
617
 
507
- declare class TdInput implements ControlValueAccessor {
618
+ declare class TdInput implements ControlValueAccessor, FormValueControl<string> {
508
619
  private readonly cdr;
509
620
  private readonly generatedId;
510
621
  id: string;
511
- name: string;
622
+ readonly name: _angular_core.InputSignal<string>;
512
623
  label: string;
513
624
  type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time';
514
625
  placeholder: string;
@@ -516,18 +627,24 @@ declare class TdInput implements ControlValueAccessor {
516
627
  icon: string;
517
628
  hint: string;
518
629
  error: string;
519
- readonly: boolean;
520
- disabled: boolean;
521
- required: boolean;
630
+ readonly readonly: _angular_core.InputSignal<boolean>;
631
+ readonly disabled: _angular_core.InputSignal<boolean>;
632
+ readonly required: _angular_core.InputSignal<boolean>;
633
+ readonly invalid: _angular_core.InputSignal<boolean>;
634
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
635
+ readonly touch: _angular_core.OutputEmitterRef<void>;
522
636
  clearable: boolean;
523
637
  dark: boolean;
524
- min: string | number | null;
525
- max: string | number | null;
638
+ minValue: string | number | null | undefined;
639
+ maxValue: string | number | null | undefined;
526
640
  step: string | number | null;
527
641
  minlength: number | null;
528
642
  maxlength: number | null;
529
- readonly valueChange: EventEmitter<string>;
530
- value: string;
643
+ readonly value: _angular_core.ModelSignal<string>;
644
+ private readonly cvaDisabled;
645
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
646
+ protected readonly displayError: _angular_core.Signal<string>;
647
+ protected readonly hasError: _angular_core.Signal<boolean>;
531
648
  protected focused: boolean;
532
649
  protected passwordVisible: boolean;
533
650
  protected get inputId(): string;
@@ -543,8 +660,8 @@ declare class TdInput implements ControlValueAccessor {
543
660
  protected handleBlur(): void;
544
661
  protected clear(): void;
545
662
  private setValue;
546
- static ɵfac: i0.ɵɵFactoryDeclaration<TdInput, never>;
547
- static ɵcmp: i0.ɵɵComponentDeclaration<TdInput, "td-input", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
663
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdInput, never>;
664
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdInput, "td-input", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "minValue": { "alias": "min"; "required": false; }; "maxValue": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "value": "valueChange"; }, never, never, true, never>;
548
665
  }
549
666
 
550
667
  interface TdSelectOption<T = unknown> {
@@ -556,7 +673,7 @@ interface TdSelectOption<T = unknown> {
556
673
  }
557
674
  type TdSelectScrollBehavior = 'reposition' | 'close';
558
675
 
559
- declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor {
676
+ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
560
677
  private readonly cdr;
561
678
  private readonly document;
562
679
  private readonly destroyRef;
@@ -572,14 +689,21 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor
572
689
  emptyText: string;
573
690
  clearable: boolean;
574
691
  dark: boolean;
575
- disabled: boolean;
692
+ readonly disabled: _angular_core.InputSignal<boolean>;
693
+ readonly invalid: _angular_core.InputSignal<boolean>;
694
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
695
+ readonly touch: _angular_core.OutputEmitterRef<void>;
576
696
  scrollBehavior: TdSelectScrollBehavior;
577
697
  minimumCharacters: number;
578
698
  filterWith: (option: TdSelectOption<T>, search: string) => boolean;
579
699
  compareWith: (first: T | null, second: T | null) => boolean;
580
700
  readonly selectionChange: EventEmitter<T | null>;
581
701
  readonly searchChange: EventEmitter<string>;
582
- protected value: T | null;
702
+ readonly value: _angular_core.ModelSignal<T | null>;
703
+ private readonly cvaDisabled;
704
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
705
+ protected readonly displayError: _angular_core.Signal<string>;
706
+ protected readonly hasError: _angular_core.Signal<boolean>;
583
707
  protected search: string;
584
708
  protected open: boolean;
585
709
  protected activeIndex: number;
@@ -589,7 +713,7 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor
589
713
  protected get filteredOptions(): TdSelectOption<T>[];
590
714
  protected readonly onTouched: () => void;
591
715
  private changed;
592
- private touched;
716
+ private onCvaTouched;
593
717
  constructor();
594
718
  writeValue(value: T | null): void;
595
719
  registerOnChange(fn: (value: T | null) => void): void;
@@ -604,11 +728,11 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor
604
728
  protected handleKeydown(event: KeyboardEvent): void;
605
729
  private moveActive;
606
730
  private firstEnabledIndex;
607
- static ɵfac: i0.ɵɵFactoryDeclaration<TdAutocompleteSelect<any>, never>;
608
- static ɵcmp: i0.ɵɵComponentDeclaration<TdAutocompleteSelect<any>, "td-autocomplete-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "minimumCharacters": { "alias": "minimumCharacters"; "required": false; }; "filterWith": { "alias": "filterWith"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "selectionChange": "selectionChange"; "searchChange": "searchChange"; }, never, never, true, never>;
731
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdAutocompleteSelect<any>, never>;
732
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdAutocompleteSelect<any>, "td-autocomplete-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "minimumCharacters": { "alias": "minimumCharacters"; "required": false; }; "filterWith": { "alias": "filterWith"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "selectionChange": "selectionChange"; "searchChange": "searchChange"; "value": "valueChange"; }, never, never, true, never>;
609
733
  }
610
734
 
611
- declare class TdSelect<T = unknown> implements ControlValueAccessor {
735
+ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
612
736
  private readonly cdr;
613
737
  private readonly document;
614
738
  private readonly destroyRef;
@@ -623,11 +747,18 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor {
623
747
  emptyText: string;
624
748
  clearable: boolean;
625
749
  dark: boolean;
626
- disabled: boolean;
750
+ readonly disabled: _angular_core.InputSignal<boolean>;
751
+ readonly invalid: _angular_core.InputSignal<boolean>;
752
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
753
+ readonly touch: _angular_core.OutputEmitterRef<void>;
627
754
  scrollBehavior: TdSelectScrollBehavior;
628
755
  compareWith: (first: T | null, second: T | null) => boolean;
629
756
  readonly selectionChange: EventEmitter<T | null>;
630
- protected value: T | null;
757
+ readonly value: _angular_core.ModelSignal<T | null>;
758
+ private readonly cvaDisabled;
759
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
760
+ protected readonly displayError: _angular_core.Signal<string>;
761
+ protected readonly hasError: _angular_core.Signal<boolean>;
631
762
  protected open: boolean;
632
763
  protected activeIndex: number;
633
764
  protected readonly scrollStrategy: ScrollStrategy;
@@ -652,8 +783,8 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor {
652
783
  private moveActive;
653
784
  private firstEnabledIndex;
654
785
  private setValue;
655
- static ɵfac: i0.ɵɵFactoryDeclaration<TdSelect<any>, never>;
656
- static ɵcmp: i0.ɵɵComponentDeclaration<TdSelect<any>, "td-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
786
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdSelect<any>, never>;
787
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdSelect<any>, "td-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "selectionChange": "selectionChange"; "value": "valueChange"; }, never, never, true, never>;
657
788
  }
658
789
 
659
790
  interface MenuSidebar {
@@ -687,17 +818,17 @@ declare class TdSidebar {
687
818
  get menu(): MenuSidebar[];
688
819
  readonly abiertoChange: EventEmitter<boolean>;
689
820
  readonly seleccionar: EventEmitter<TdSidebarSeleccion>;
690
- protected readonly abiertoInterno: i0.WritableSignal<boolean>;
691
- protected readonly menuNormalizado: i0.WritableSignal<MenuSidebar[]>;
692
- protected readonly expandidos: i0.WritableSignal<ReadonlySet<string>>;
821
+ protected readonly abiertoInterno: _angular_core.WritableSignal<boolean>;
822
+ protected readonly menuNormalizado: _angular_core.WritableSignal<MenuSidebar[]>;
823
+ protected readonly expandidos: _angular_core.WritableSignal<ReadonlySet<string>>;
693
824
  protected alternarGrupo(clave: string): void;
694
825
  protected estaExpandido(clave: string): boolean;
695
826
  protected seleccionarItem(item: MenuSidebar, nivel: number): void;
696
827
  protected claveItem(item: MenuSidebar, padre: string, indice: number): string;
697
828
  protected inicialMarca(): string;
698
829
  private normalizarMenu;
699
- static ɵfac: i0.ɵɵFactoryDeclaration<TdSidebar, never>;
700
- static ɵcmp: i0.ɵɵComponentDeclaration<TdSidebar, "td-sidebar", never, { "titulo": { "alias": "titulo"; "required": false; }; "subtitulo": { "alias": "subtitulo"; "required": false; }; "etiquetaNavegacion": { "alias": "etiquetaNavegacion"; "required": false; }; "logoUrl": { "alias": "logoUrl"; "required": false; }; "logoAlt": { "alias": "logoAlt"; "required": false; }; "textoCarga": { "alias": "textoCarga"; "required": false; }; "mensajeVacio": { "alias": "mensajeVacio"; "required": false; }; "error": { "alias": "error"; "required": false; }; "cargando": { "alias": "cargando"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "modoCerrado": { "alias": "modoCerrado"; "required": false; }; "abierto": { "alias": "abierto"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; }, { "abiertoChange": "abiertoChange"; "seleccionar": "seleccionar"; }, never, never, true, never>;
830
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdSidebar, never>;
831
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdSidebar, "td-sidebar", never, { "titulo": { "alias": "titulo"; "required": false; }; "subtitulo": { "alias": "subtitulo"; "required": false; }; "etiquetaNavegacion": { "alias": "etiquetaNavegacion"; "required": false; }; "logoUrl": { "alias": "logoUrl"; "required": false; }; "logoAlt": { "alias": "logoAlt"; "required": false; }; "textoCarga": { "alias": "textoCarga"; "required": false; }; "mensajeVacio": { "alias": "mensajeVacio"; "required": false; }; "error": { "alias": "error"; "required": false; }; "cargando": { "alias": "cargando"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "modoCerrado": { "alias": "modoCerrado"; "required": false; }; "abierto": { "alias": "abierto"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; }, { "abiertoChange": "abiertoChange"; "seleccionar": "seleccionar"; }, never, never, true, never>;
701
832
  }
702
833
 
703
834
  declare class TdTab {
@@ -709,8 +840,8 @@ declare class TdTab {
709
840
  badge: string | number | null;
710
841
  content: TemplateRef<unknown>;
711
842
  get resolvedId(): string;
712
- static ɵfac: i0.ɵɵFactoryDeclaration<TdTab, never>;
713
- static ɵcmp: i0.ɵɵComponentDeclaration<TdTab, "td-tab", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; }, {}, never, ["*"], true, never>;
843
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdTab, never>;
844
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdTab, "td-tab", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; }, {}, never, ["*"], true, never>;
714
845
  }
715
846
 
716
847
  type TdTabsVariant = 'linea' | 'pastilla' | 'contenida';
@@ -720,6 +851,7 @@ declare class TdTabs implements AfterContentInit, OnDestroy {
720
851
  private tabsChange?;
721
852
  private requestedIndex;
722
853
  private tabQuery;
854
+ private tabList?;
723
855
  private tabButtons;
724
856
  set selectedIndex(value: number);
725
857
  get selectedIndex(): number;
@@ -746,9 +878,10 @@ declare class TdTabs implements AfterContentInit, OnDestroy {
746
878
  private firstEnabledIndex;
747
879
  private lastEnabledIndex;
748
880
  private focusButton;
749
- static ɵfac: i0.ɵɵFactoryDeclaration<TdTabs, never>;
750
- static ɵcmp: i0.ɵɵComponentDeclaration<TdTabs, "td-tabs", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "panelFocusable": { "alias": "panelFocusable"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "tabChange": "tabChange"; }, ["tabQuery"], never, true, never>;
881
+ private ensureTabVisible;
882
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdTabs, never>;
883
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdTabs, "td-tabs", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "panelFocusable": { "alias": "panelFocusable"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "tabChange": "tabChange"; }, ["tabQuery"], never, true, never>;
751
884
  }
752
885
 
753
- export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TdAlerta, TdAutocompleteSelect, TdDataTable, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdSelect, TdSidebar, TdTab, TdTabs, TelcomdevUi };
754
- export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdSelectOption, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant };
886
+ export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TdAlerta, TdAutocompleteSelect, TdDataTable, TdDatePicker, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdSelect, TdSidebar, TdTab, TdTabs, TelcomdevUi };
887
+ export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDatePickerMode, TdDatePickerValue, TdDateRange, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdSelectOption, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant };