@telcomdev/ui 0.0.6 → 0.0.8

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.8",
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';
2
- import { OnChanges, OnDestroy, EventEmitter, SimpleChanges, InjectionToken, Type, TemplateRef, AfterContentInit } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnChanges, OnDestroy, EventEmitter, SimpleChanges, InjectionToken, Type, ModelSignal, OutputEmitterRef, TemplateRef, AfterContentInit } from '@angular/core';
3
+ import { ScrollStrategy } from '@angular/cdk/overlay';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+ import { FormValueControl, WithOptionalFieldTree, DisabledReason, 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,124 @@ 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 formBridge;
137
+ private readonly scrollStrategies;
138
+ private readonly generatedId;
139
+ private readonly formatter;
140
+ private readonly monthFormatter;
141
+ private readonly longFormatter;
142
+ label: string;
143
+ placeholder: string;
144
+ mode: TdDatePickerMode;
145
+ hint: string;
146
+ readonly name: _angular_core.InputSignal<string>;
147
+ readonly disabled: _angular_core.InputSignal<boolean>;
148
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
149
+ readonly readonly: _angular_core.InputSignal<boolean>;
150
+ readonly hidden: _angular_core.InputSignal<boolean>;
151
+ readonly invalid: _angular_core.InputSignal<boolean>;
152
+ readonly pending: _angular_core.InputSignal<boolean>;
153
+ readonly dirty: _angular_core.InputSignal<boolean>;
154
+ readonly required: _angular_core.InputSignal<boolean>;
155
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
156
+ readonly touched: _angular_core.ModelSignal<boolean>;
157
+ readonly touch: _angular_core.OutputEmitterRef<void>;
158
+ readonly error: _angular_core.InputSignal<string>;
159
+ minDate: string | number | null | undefined;
160
+ maxDate: string | number | null | undefined;
161
+ clearable: boolean;
162
+ dark: boolean;
163
+ readonly value: _angular_core.ModelSignal<TdDatePickerValue>;
164
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
165
+ protected readonly displayError: _angular_core.Signal<string>;
166
+ protected readonly hasError: _angular_core.Signal<boolean>;
167
+ readonly selectionChange: EventEmitter<TdDatePickerValue>;
168
+ readonly openedChange: EventEmitter<boolean>;
169
+ protected open: boolean;
170
+ protected hoveredDate: string | null;
171
+ protected viewDate: Date;
172
+ protected calendarView: CalendarView;
173
+ protected readonly currentYear: number;
174
+ protected readonly scrollStrategy: ScrollStrategy;
175
+ protected get labelId(): string;
176
+ protected get calendarId(): string;
177
+ protected get weekdays(): string[];
178
+ protected get monthLabel(): string;
179
+ protected get periodLabel(): string;
180
+ protected get periodButtonLabel(): string;
181
+ protected get previousLabel(): string;
182
+ protected get nextLabel(): string;
183
+ protected get months(): {
184
+ index: number;
185
+ label: string;
186
+ disabled: boolean;
187
+ }[];
188
+ protected get years(): {
189
+ value: number;
190
+ disabled: boolean;
191
+ }[];
192
+ private get yearPageStart();
193
+ protected get days(): CalendarDay[];
194
+ protected get displayValue(): string;
195
+ protected get rangeStartLabel(): string;
196
+ protected get rangeEndLabel(): string;
197
+ private changed;
198
+ writeValue(value: TdDatePickerValue): void;
199
+ registerOnChange(fn: (value: TdDatePickerValue) => void): void;
200
+ registerOnTouched(fn: () => void): void;
201
+ setDisabledState(disabled: boolean): void;
202
+ focus(): void;
203
+ protected toggle(): void;
204
+ protected openPanel(): void;
205
+ protected close(): void;
206
+ protected previousPage(): void;
207
+ protected nextPage(): void;
208
+ protected changeCalendarView(): void;
209
+ protected selectMonth(month: number): void;
210
+ protected selectYear(year: number): void;
211
+ protected goToday(): void;
212
+ protected selectDate(date: CalendarDay): void;
213
+ protected clear(event: MouseEvent): void;
214
+ protected isSelected(iso: string): boolean;
215
+ protected isRangeStart(iso: string): boolean;
216
+ protected isRangeEnd(iso: string): boolean;
217
+ protected isInRange(iso: string): boolean;
218
+ protected formatLong(iso: string): string;
219
+ protected handleTriggerKeydown(event: KeyboardEvent): void;
220
+ protected handleOverlayKeydown(event: KeyboardEvent): void;
221
+ private currentRange;
222
+ private setValue;
223
+ private syncViewToValue;
224
+ private normalizeValue;
225
+ private format;
226
+ private fromIso;
227
+ private toIso;
228
+ private startOfMonth;
229
+ private monthIntersectsLimits;
230
+ private yearIntersectsLimits;
231
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDatePicker, never>;
232
+ 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; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "minDate": { "alias": "min"; "required": false; }; "maxDate": { "alias": "max"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "value": "valueChange"; "selectionChange": "selectionChange"; "openedChange": "openedChange"; }, never, never, true, never>;
116
233
  }
117
234
 
118
235
  type TdDialogTamano = 'pequeno' | 'mediano' | 'grande' | 'pantalla';
@@ -164,25 +281,25 @@ declare class TdDialog {
164
281
  closeAll(): void;
165
282
  private widthFor;
166
283
  private panelClasses;
167
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialog, never>;
168
- static ɵprov: i0.ɵɵInjectableDeclaration<TdDialog>;
284
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialog, never>;
285
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TdDialog>;
169
286
  }
170
287
 
171
288
  declare class TdDialogActions {
172
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogActions, never>;
173
- static ɵcmp: i0.ɵɵComponentDeclaration<TdDialogActions, "td-dialog-actions", never, {}, {}, never, ["*"], true, never>;
289
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialogActions, never>;
290
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdDialogActions, "td-dialog-actions", never, {}, {}, never, ["*"], true, never>;
174
291
  }
175
292
 
176
293
  declare class TdDialogClose {
177
294
  private readonly dialogRef;
178
295
  result: unknown;
179
296
  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>;
297
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialogClose, never>;
298
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TdDialogClose, "[tdDialogClose]", never, { "result": { "alias": "tdDialogClose"; "required": false; }; }, {}, never, never, true, never>;
182
299
  }
183
300
  declare class TdDialogPrimary {
184
- static ɵfac: i0.ɵɵFactoryDeclaration<TdDialogPrimary, never>;
185
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdDialogPrimary, "[tdDialogPrimary]", never, {}, {}, never, never, true, never>;
301
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDialogPrimary, never>;
302
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TdDialogPrimary, "[tdDialogPrimary]", never, {}, {}, never, never, true, never>;
186
303
  }
187
304
 
188
305
  declare class TdFooter {
@@ -192,10 +309,25 @@ declare class TdFooter {
192
309
  oscuro: boolean;
193
310
  compacto: boolean;
194
311
  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>;
312
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdFooter, never>;
313
+ 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
314
  }
198
315
 
316
+ interface TdFormControlBridge {
317
+ readonly usesSignalForms: boolean;
318
+ isDisabled(fieldDisabled: boolean): boolean;
319
+ registerOnTouched(fn: () => void): void;
320
+ setDisabledState(disabled: boolean): void;
321
+ markTouched(touched: ModelSignal<boolean>, touch: OutputEmitterRef<void>): void;
322
+ }
323
+ /**
324
+ * Puente reutilizable entre Signal Forms y ControlValueAccessor.
325
+ *
326
+ * Los inputs del contrato se declaran en cada componente porque el compilador
327
+ * de Signal Forms de Angular 21 necesita encontrarlos directamente allí.
328
+ */
329
+ declare function createTdFormControlBridge(): TdFormControlBridge;
330
+
199
331
  interface TdHeaderNotificacion {
200
332
  id: string | number;
201
333
  titulo: string;
@@ -228,8 +360,8 @@ declare class TdHeader {
228
360
  protected notificacionesNoLeidas(): number;
229
361
  protected inicialesUsuario(): string;
230
362
  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>;
363
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdHeader, never>;
364
+ 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
365
  }
234
366
 
235
367
  declare class TdIcon {
@@ -240,8 +372,8 @@ declare class TdIcon {
240
372
  protected tamanoCss: string;
241
373
  protected get tamanoHost(): string;
242
374
  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>;
375
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdIcon, never>;
376
+ 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
377
  }
246
378
 
247
379
  interface TdIconoDefinicion {
@@ -259,8 +391,8 @@ declare class TdIconoRegistry {
259
391
  existe(nombre: string): boolean;
260
392
  nombres(): string[];
261
393
  private normalizar;
262
- static ɵfac: i0.ɵɵFactoryDeclaration<TdIconoRegistry, never>;
263
- static ɵprov: i0.ɵɵInjectableDeclaration<TdIconoRegistry>;
394
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdIconoRegistry, never>;
395
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TdIconoRegistry>;
264
396
  }
265
397
 
266
398
  declare const TD_ICONOS: {
@@ -504,47 +636,73 @@ declare const TD_ICONOS: {
504
636
  type TdIconoNombre = keyof typeof TD_ICONOS;
505
637
  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
638
 
507
- declare class TdInput implements ControlValueAccessor {
639
+ type TdInputValue = string | number | null;
640
+ type TdInputEmptyValue = 'auto' | 'null' | 'empty-string';
641
+ declare class TdInput implements ControlValueAccessor, FormValueControl<TdInputValue> {
508
642
  private readonly cdr;
643
+ private readonly formBridge;
509
644
  private readonly generatedId;
645
+ private legacyMinLength;
646
+ private legacyMaxLength;
647
+ private receivedNullValue;
648
+ private nativeInput?;
510
649
  id: string;
511
- name: string;
512
650
  label: string;
513
651
  type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time';
514
652
  placeholder: string;
515
653
  autocomplete: string;
516
654
  icon: string;
517
655
  hint: string;
518
- error: string;
519
- readonly: boolean;
520
- disabled: boolean;
521
- required: boolean;
656
+ readonly name: _angular_core.InputSignal<string>;
657
+ readonly disabled: _angular_core.InputSignal<boolean>;
658
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
659
+ readonly readonly: _angular_core.InputSignal<boolean>;
660
+ readonly hidden: _angular_core.InputSignal<boolean>;
661
+ readonly invalid: _angular_core.InputSignal<boolean>;
662
+ readonly pending: _angular_core.InputSignal<boolean>;
663
+ readonly dirty: _angular_core.InputSignal<boolean>;
664
+ readonly required: _angular_core.InputSignal<boolean>;
665
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
666
+ readonly touched: _angular_core.ModelSignal<boolean>;
667
+ readonly touch: _angular_core.OutputEmitterRef<void>;
668
+ readonly error: _angular_core.InputSignal<string>;
522
669
  clearable: boolean;
523
670
  dark: boolean;
524
- min: string | number | null;
525
- max: string | number | null;
671
+ emptyValue: TdInputEmptyValue;
672
+ readonly minValue: _angular_core.InputSignal<string | number | null | undefined>;
673
+ readonly maxValue: _angular_core.InputSignal<string | number | null | undefined>;
674
+ readonly minLength: _angular_core.InputSignal<number | undefined>;
675
+ readonly maxLength: _angular_core.InputSignal<number | undefined>;
676
+ readonly pattern: _angular_core.InputSignal<readonly RegExp[]>;
526
677
  step: string | number | null;
527
- minlength: number | null;
528
- maxlength: number | null;
529
- readonly valueChange: EventEmitter<string>;
530
- value: string;
678
+ set minlength(value: number | null);
679
+ set maxlength(value: number | null);
680
+ readonly value: _angular_core.ModelSignal<TdInputValue>;
681
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
682
+ protected readonly displayError: _angular_core.Signal<string>;
683
+ protected readonly hasError: _angular_core.Signal<boolean>;
684
+ protected readonly resolvedMinLength: _angular_core.Signal<number | null>;
685
+ protected readonly resolvedMaxLength: _angular_core.Signal<number | null>;
686
+ protected readonly resolvedPattern: _angular_core.Signal<string | null>;
531
687
  protected focused: boolean;
532
688
  protected passwordVisible: boolean;
533
689
  protected get inputId(): string;
534
690
  protected get descriptionId(): string | null;
535
691
  protected get resolvedType(): string;
536
692
  private onChange;
537
- private onTouched;
538
693
  writeValue(value: unknown): void;
539
- registerOnChange(fn: (value: string) => void): void;
694
+ registerOnChange(fn: (value: TdInputValue) => void): void;
540
695
  registerOnTouched(fn: () => void): void;
541
696
  setDisabledState(disabled: boolean): void;
697
+ focus(options?: FocusOptions): void;
542
698
  protected handleInput(event: Event): void;
543
699
  protected handleBlur(): void;
544
700
  protected clear(): void;
701
+ private parseInputValue;
702
+ private resolveEmptyValue;
545
703
  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>;
704
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdInput, never>;
705
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdInput, "td-input", never, { "id": { "alias": "id"; "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; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "minValue": { "alias": "min"; "required": false; "isSignal": true; }; "maxValue": { "alias": "max"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "value": "valueChange"; }, never, never, true, never>;
548
706
  }
549
707
 
550
708
  interface TdSelectOption<T = unknown> {
@@ -556,8 +714,9 @@ interface TdSelectOption<T = unknown> {
556
714
  }
557
715
  type TdSelectScrollBehavior = 'reposition' | 'close';
558
716
 
559
- declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor {
717
+ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
560
718
  private readonly cdr;
719
+ private readonly formBridge;
561
720
  private readonly document;
562
721
  private readonly destroyRef;
563
722
  private readonly scrollStrategies;
@@ -568,18 +727,32 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor
568
727
  placeholder: string;
569
728
  options: TdSelectOption<T>[];
570
729
  hint: string;
571
- error: string;
730
+ readonly name: _angular_core.InputSignal<string>;
731
+ readonly disabled: _angular_core.InputSignal<boolean>;
732
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
733
+ readonly readonly: _angular_core.InputSignal<boolean>;
734
+ readonly hidden: _angular_core.InputSignal<boolean>;
735
+ readonly invalid: _angular_core.InputSignal<boolean>;
736
+ readonly pending: _angular_core.InputSignal<boolean>;
737
+ readonly dirty: _angular_core.InputSignal<boolean>;
738
+ readonly required: _angular_core.InputSignal<boolean>;
739
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
740
+ readonly touched: _angular_core.ModelSignal<boolean>;
741
+ readonly touch: _angular_core.OutputEmitterRef<void>;
742
+ readonly error: _angular_core.InputSignal<string>;
572
743
  emptyText: string;
573
744
  clearable: boolean;
574
745
  dark: boolean;
575
- disabled: boolean;
576
746
  scrollBehavior: TdSelectScrollBehavior;
577
747
  minimumCharacters: number;
578
748
  filterWith: (option: TdSelectOption<T>, search: string) => boolean;
579
749
  compareWith: (first: T | null, second: T | null) => boolean;
580
750
  readonly selectionChange: EventEmitter<T | null>;
581
751
  readonly searchChange: EventEmitter<string>;
582
- protected value: T | null;
752
+ readonly value: _angular_core.ModelSignal<T | null>;
753
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
754
+ protected readonly displayError: _angular_core.Signal<string>;
755
+ protected readonly hasError: _angular_core.Signal<boolean>;
583
756
  protected search: string;
584
757
  protected open: boolean;
585
758
  protected activeIndex: number;
@@ -589,12 +762,12 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor
589
762
  protected get filteredOptions(): TdSelectOption<T>[];
590
763
  protected readonly onTouched: () => void;
591
764
  private changed;
592
- private touched;
593
765
  constructor();
594
766
  writeValue(value: T | null): void;
595
767
  registerOnChange(fn: (value: T | null) => void): void;
596
768
  registerOnTouched(fn: () => void): void;
597
769
  setDisabledState(disabled: boolean): void;
770
+ focus(options?: FocusOptions): void;
598
771
  protected compare(first: T | null, second: T | null): boolean;
599
772
  protected openPanel(): void;
600
773
  protected close(): void;
@@ -604,30 +777,46 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor
604
777
  protected handleKeydown(event: KeyboardEvent): void;
605
778
  private moveActive;
606
779
  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>;
780
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdAutocompleteSelect<any>, never>;
781
+ 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; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "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; }; }, { "touched": "touchedChange"; "touch": "touch"; "selectionChange": "selectionChange"; "searchChange": "searchChange"; "value": "valueChange"; }, never, never, true, never>;
609
782
  }
610
783
 
611
- declare class TdSelect<T = unknown> implements ControlValueAccessor {
784
+ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
612
785
  private readonly cdr;
786
+ private readonly formBridge;
613
787
  private readonly document;
614
788
  private readonly destroyRef;
615
789
  private readonly scrollStrategies;
616
790
  private readonly generatedId;
617
791
  private connectedOverlay?;
792
+ private trigger?;
618
793
  label: string;
619
794
  placeholder: string;
620
795
  options: TdSelectOption<T>[];
621
796
  hint: string;
622
- error: string;
797
+ readonly name: _angular_core.InputSignal<string>;
798
+ readonly disabled: _angular_core.InputSignal<boolean>;
799
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
800
+ readonly readonly: _angular_core.InputSignal<boolean>;
801
+ readonly hidden: _angular_core.InputSignal<boolean>;
802
+ readonly invalid: _angular_core.InputSignal<boolean>;
803
+ readonly pending: _angular_core.InputSignal<boolean>;
804
+ readonly dirty: _angular_core.InputSignal<boolean>;
805
+ readonly required: _angular_core.InputSignal<boolean>;
806
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
807
+ readonly touched: _angular_core.ModelSignal<boolean>;
808
+ readonly touch: _angular_core.OutputEmitterRef<void>;
809
+ readonly error: _angular_core.InputSignal<string>;
623
810
  emptyText: string;
624
811
  clearable: boolean;
625
812
  dark: boolean;
626
- disabled: boolean;
627
813
  scrollBehavior: TdSelectScrollBehavior;
628
814
  compareWith: (first: T | null, second: T | null) => boolean;
629
815
  readonly selectionChange: EventEmitter<T | null>;
630
- protected value: T | null;
816
+ readonly value: _angular_core.ModelSignal<T | null>;
817
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
818
+ protected readonly displayError: _angular_core.Signal<string>;
819
+ protected readonly hasError: _angular_core.Signal<boolean>;
631
820
  protected open: boolean;
632
821
  protected activeIndex: number;
633
822
  protected readonly scrollStrategy: ScrollStrategy;
@@ -635,12 +824,12 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor {
635
824
  protected get listId(): string;
636
825
  protected get selectedOption(): TdSelectOption<T> | undefined;
637
826
  private onChange;
638
- private onTouched;
639
827
  constructor();
640
828
  writeValue(value: T | null): void;
641
829
  registerOnChange(fn: (value: T | null) => void): void;
642
830
  registerOnTouched(fn: () => void): void;
643
831
  setDisabledState(disabled: boolean): void;
832
+ focus(options?: FocusOptions): void;
644
833
  protected compare(first: T | null, second: T | null): boolean;
645
834
  protected toggle(): void;
646
835
  protected close(): void;
@@ -652,8 +841,8 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor {
652
841
  private moveActive;
653
842
  private firstEnabledIndex;
654
843
  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>;
844
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdSelect<any>, never>;
845
+ 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; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "selectionChange": "selectionChange"; "value": "valueChange"; }, never, never, true, never>;
657
846
  }
658
847
 
659
848
  interface MenuSidebar {
@@ -687,17 +876,17 @@ declare class TdSidebar {
687
876
  get menu(): MenuSidebar[];
688
877
  readonly abiertoChange: EventEmitter<boolean>;
689
878
  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>>;
879
+ protected readonly abiertoInterno: _angular_core.WritableSignal<boolean>;
880
+ protected readonly menuNormalizado: _angular_core.WritableSignal<MenuSidebar[]>;
881
+ protected readonly expandidos: _angular_core.WritableSignal<ReadonlySet<string>>;
693
882
  protected alternarGrupo(clave: string): void;
694
883
  protected estaExpandido(clave: string): boolean;
695
884
  protected seleccionarItem(item: MenuSidebar, nivel: number): void;
696
885
  protected claveItem(item: MenuSidebar, padre: string, indice: number): string;
697
886
  protected inicialMarca(): string;
698
887
  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>;
888
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdSidebar, never>;
889
+ 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
890
  }
702
891
 
703
892
  declare class TdTab {
@@ -709,8 +898,8 @@ declare class TdTab {
709
898
  badge: string | number | null;
710
899
  content: TemplateRef<unknown>;
711
900
  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>;
901
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdTab, never>;
902
+ 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
903
  }
715
904
 
716
905
  type TdTabsVariant = 'linea' | 'pastilla' | 'contenida';
@@ -720,6 +909,7 @@ declare class TdTabs implements AfterContentInit, OnDestroy {
720
909
  private tabsChange?;
721
910
  private requestedIndex;
722
911
  private tabQuery;
912
+ private tabList?;
723
913
  private tabButtons;
724
914
  set selectedIndex(value: number);
725
915
  get selectedIndex(): number;
@@ -746,9 +936,10 @@ declare class TdTabs implements AfterContentInit, OnDestroy {
746
936
  private firstEnabledIndex;
747
937
  private lastEnabledIndex;
748
938
  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>;
939
+ private ensureTabVisible;
940
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdTabs, never>;
941
+ 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
942
  }
752
943
 
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 };
944
+ 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, createTdFormControlBridge };
945
+ export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDatePickerMode, TdDatePickerValue, TdDateRange, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdFormControlBridge, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdInputEmptyValue, TdInputValue, TdSelectOption, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant };