@telcomdev/ui 0.1.7 → 0.1.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.
@@ -37,6 +37,12 @@
37
37
  --td-radius-lg: 0.9rem;
38
38
  --td-radius-xl: 1rem;
39
39
  --td-radius-pill: 999px;
40
+ --td-z-content: 0;
41
+ --td-z-sticky: 100;
42
+ --td-z-backdrop: 700;
43
+ --td-z-sidebar: 900;
44
+ --td-z-header: 950;
45
+ --td-z-overlay: 1000;
40
46
  }
41
47
 
42
48
  .td-theme-dark {
@@ -77,4 +83,76 @@
77
83
  --td-radius-lg: 0.9rem;
78
84
  --td-radius-xl: 1rem;
79
85
  --td-radius-pill: 999px;
86
+ --td-z-content: 0;
87
+ --td-z-sticky: 100;
88
+ --td-z-backdrop: 700;
89
+ --td-z-sidebar: 900;
90
+ --td-z-header: 950;
91
+ --td-z-overlay: 1000;
92
+ }
93
+
94
+ /*
95
+ * Fallback minimo para componentes basados en Angular CDK Overlay.
96
+ * La app consumidora puede seguir usando @angular/cdk/overlay-prebuilt.css,
97
+ * pero estos estilos evitan que selects/dialogos caigan en la esquina superior
98
+ * si ese CSS global no fue importado o fue sobrescrito.
99
+ */
100
+ .cdk-overlay-container,
101
+ .cdk-global-overlay-wrapper {
102
+ top: 0;
103
+ left: 0;
104
+ width: 100%;
105
+ height: 100%;
106
+ pointer-events: none;
107
+ }
108
+
109
+ .cdk-overlay-container {
110
+ position: fixed;
111
+ z-index: var(--td-z-overlay, 1000);
112
+ }
113
+
114
+ .cdk-overlay-container:empty {
115
+ display: none;
116
+ }
117
+
118
+ .cdk-global-overlay-wrapper {
119
+ position: absolute;
120
+ z-index: var(--td-z-overlay, 1000);
121
+ display: flex;
122
+ }
123
+
124
+ .cdk-overlay-pane {
125
+ position: absolute;
126
+ z-index: var(--td-z-overlay, 1000);
127
+ display: flex;
128
+ max-width: 100%;
129
+ max-height: 100%;
130
+ box-sizing: border-box;
131
+ pointer-events: none;
132
+ }
133
+
134
+ .cdk-overlay-pane > * {
135
+ pointer-events: auto;
136
+ }
137
+
138
+ .cdk-overlay-connected-position-bounding-box {
139
+ position: absolute;
140
+ z-index: var(--td-z-overlay, 1000);
141
+ display: flex;
142
+ min-width: 1px;
143
+ min-height: 1px;
144
+ flex-direction: column;
145
+ pointer-events: none;
146
+ }
147
+
148
+ .cdk-overlay-backdrop {
149
+ position: absolute;
150
+ inset: 0;
151
+ z-index: var(--td-z-overlay, 1000);
152
+ pointer-events: auto;
153
+ -webkit-tap-highlight-color: transparent;
154
+ }
155
+
156
+ .cdk-overlay-dark-backdrop {
157
+ background: var(--td-color-overlay, rgba(15, 23, 42, 0.52));
80
158
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telcomdev/ui",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Librería UI reutilizable para los sistemas TelcomDev.",
5
5
  "keywords": [
6
6
  "angular",
@@ -1,8 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterContentChecked, EventEmitter, OnChanges, OnDestroy, SimpleChanges, InjectionToken, Type, ModelSignal, OutputEmitterRef, AfterViewInit, TemplateRef, AfterContentInit } from '@angular/core';
2
+ import { AfterContentChecked, EventEmitter, ModelSignal, OutputEmitterRef, OnChanges, OnDestroy, SimpleChanges, InjectionToken, Type, AfterViewInit, TemplateRef, AfterContentInit } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { FormCheckboxControl, WithOptionalFieldTree, DisabledReason, ValidationError, FormValueControl } from '@angular/forms/signals';
5
- import { ScrollStrategy } from '@angular/cdk/overlay';
5
+ import { ScrollStrategy, ConnectedPosition } from '@angular/cdk/overlay';
6
6
  import { Observable } from 'rxjs';
7
7
  import { DialogRef } from '@angular/cdk/dialog';
8
8
  import * as _telcomdev_ui from '@telcomdev/ui';
@@ -64,6 +64,23 @@ declare class TdButton implements AfterContentChecked {
64
64
  static ngAcceptInputType_iconOnly: unknown;
65
65
  }
66
66
 
67
+ interface TdFormControlBridge {
68
+ readonly usesSignalForms: boolean;
69
+ isDisabled(fieldDisabled: boolean): boolean;
70
+ shouldDisplayError(displayMode: TdErrorDisplay, invalid: boolean, hasErrorMessage: boolean, touched: boolean, dirty: boolean): boolean;
71
+ registerOnTouched(fn: () => void): void;
72
+ setDisabledState(disabled: boolean): void;
73
+ markTouched(touched: ModelSignal<boolean>, touch: OutputEmitterRef<void>): void;
74
+ }
75
+ type TdErrorDisplay = 'auto' | 'always' | 'touched' | 'dirty' | 'never';
76
+ /**
77
+ * Puente reutilizable entre Signal Forms y ControlValueAccessor.
78
+ *
79
+ * Los inputs del contrato se declaran en cada componente porque el compilador
80
+ * de Signal Forms de Angular 21 necesita encontrarlos directamente allí.
81
+ */
82
+ declare function createTdFormControlBridge(): TdFormControlBridge;
83
+
67
84
  declare class TdCheckbox implements ControlValueAccessor, FormCheckboxControl {
68
85
  private readonly cdr;
69
86
  private readonly formBridge;
@@ -87,8 +104,11 @@ declare class TdCheckbox implements ControlValueAccessor, FormCheckboxControl {
87
104
  readonly touched: _angular_core.ModelSignal<boolean>;
88
105
  readonly touch: _angular_core.OutputEmitterRef<void>;
89
106
  readonly error: _angular_core.InputSignal<string>;
107
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
90
108
  readonly checked: _angular_core.ModelSignal<boolean>;
91
109
  protected readonly isDisabled: _angular_core.Signal<boolean>;
110
+ protected readonly fieldError: _angular_core.Signal<string>;
111
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
92
112
  protected readonly displayError: _angular_core.Signal<string>;
93
113
  protected readonly hasError: _angular_core.Signal<boolean>;
94
114
  protected get inputId(): string;
@@ -103,7 +123,7 @@ declare class TdCheckbox implements ControlValueAccessor, FormCheckboxControl {
103
123
  protected handleClick(event: MouseEvent): void;
104
124
  protected handleBlur(): void;
105
125
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdCheckbox, never>;
106
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdCheckbox, "td-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "dark": { "alias": "dark"; "required": false; "isSignal": true; }; "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; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "checked": "checkedChange"; }, never, never, true, never>;
126
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdCheckbox, "td-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "dark": { "alias": "dark"; "required": false; "isSignal": true; }; "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; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "checked": "checkedChange"; }, never, never, true, never>;
107
127
  }
108
128
 
109
129
  type TdDataTableAlineacion = 'inicio' | 'centro' | 'fin';
@@ -149,6 +169,8 @@ declare class TdDataTable<T extends object> implements OnChanges, OnDestroy {
149
169
  total: number;
150
170
  cargando: boolean;
151
171
  puedeCargarMas: boolean;
172
+ virtualizar: boolean;
173
+ virtualizarDesde: number;
152
174
  itemSize: number;
153
175
  filasAntesDeCargar: number;
154
176
  altura: string;
@@ -165,7 +187,10 @@ declare class TdDataTable<T extends object> implements OnChanges, OnDestroy {
165
187
  readonly cargarMas: EventEmitter<void>;
166
188
  protected busqueda: string;
167
189
  private timeoutBusqueda;
168
- private ultimaLongitudSolicitada;
190
+ private datosAnteriores;
191
+ private recalculoPendiente;
192
+ private cargaIncrementalHabilitada;
193
+ private scrollDeUsuarioPendiente;
169
194
  ngOnChanges(changes: SimpleChanges): void;
170
195
  ngOnDestroy(): void;
171
196
  protected columnasGrid(): string;
@@ -178,11 +203,18 @@ declare class TdDataTable<T extends object> implements OnChanges, OnDestroy {
178
203
  protected iconoAccion(accion: TdDataTableAccion<T>, fila: T): string;
179
204
  protected tonoAccion(accion: TdDataTableAccion<T>, fila: T): TdDataTableTono;
180
205
  protected botonesVisibles(): TdDataTableBoton[];
206
+ protected usaVirtualizacion(): boolean;
181
207
  protected ejecutarAccion(accion: TdDataTableAccion<T>, fila: T, indice: number): void;
182
- protected alCambiarIndice(): void;
208
+ protected marcarScrollUsuario(): void;
209
+ protected alDesplazarViewport(): void;
210
+ protected alDesplazarLista(event: Event): void;
183
211
  protected readonly trackFila: (_indice: number, fila: T) => unknown;
212
+ private programarRecalculoViewport;
213
+ private debeVolverAlInicio;
214
+ private claveFila;
215
+ private intentarCargarMas;
184
216
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDataTable<any>, never>;
185
- 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>;
217
+ 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; }; "virtualizar": { "alias": "virtualizar"; "required": false; }; "virtualizarDesde": { "alias": "virtualizarDesde"; "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>;
186
218
  }
187
219
 
188
220
  interface TdDateRange {
@@ -225,12 +257,15 @@ declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdD
225
257
  readonly touched: _angular_core.ModelSignal<boolean>;
226
258
  readonly touch: _angular_core.OutputEmitterRef<void>;
227
259
  readonly error: _angular_core.InputSignal<string>;
260
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
228
261
  minDate: string | number | null | undefined;
229
262
  maxDate: string | number | null | undefined;
230
263
  clearable: boolean;
231
264
  dark: boolean;
232
265
  readonly value: _angular_core.ModelSignal<TdDatePickerValue>;
233
266
  protected readonly isDisabled: _angular_core.Signal<boolean>;
267
+ protected readonly fieldError: _angular_core.Signal<string>;
268
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
234
269
  protected readonly displayError: _angular_core.Signal<string>;
235
270
  protected readonly hasError: _angular_core.Signal<boolean>;
236
271
  readonly selectionChange: EventEmitter<TdDatePickerValue>;
@@ -293,12 +328,15 @@ declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdD
293
328
  private normalizeValue;
294
329
  private format;
295
330
  private fromIso;
331
+ private isValidIsoDate;
332
+ private isIsoDateText;
333
+ private isValidDate;
296
334
  private toIso;
297
335
  private startOfMonth;
298
336
  private monthIntersectsLimits;
299
337
  private yearIntersectsLimits;
300
338
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDatePicker, never>;
301
- 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>;
339
+ 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; }; "errorDisplay": { "alias": "errorDisplay"; "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>;
302
340
  }
303
341
 
304
342
  type TdDialogTamano = 'pequeno' | 'mediano' | 'grande' | 'pantalla';
@@ -318,6 +356,7 @@ interface TdDialogConfig<D = unknown> {
318
356
  autoFocus?: 'dialog' | 'first-tabbable' | 'first-heading' | string | boolean;
319
357
  restaurarFoco?: boolean;
320
358
  oscuro?: boolean;
359
+ draggable?: boolean;
321
360
  panelClass?: string | string[];
322
361
  ariaLabel?: string;
323
362
  }
@@ -382,21 +421,6 @@ declare class TdFooter {
382
421
  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>;
383
422
  }
384
423
 
385
- interface TdFormControlBridge {
386
- readonly usesSignalForms: boolean;
387
- isDisabled(fieldDisabled: boolean): boolean;
388
- registerOnTouched(fn: () => void): void;
389
- setDisabledState(disabled: boolean): void;
390
- markTouched(touched: ModelSignal<boolean>, touch: OutputEmitterRef<void>): void;
391
- }
392
- /**
393
- * Puente reutilizable entre Signal Forms y ControlValueAccessor.
394
- *
395
- * Los inputs del contrato se declaran en cada componente porque el compilador
396
- * de Signal Forms de Angular 21 necesita encontrarlos directamente allí.
397
- */
398
- declare function createTdFormControlBridge(): TdFormControlBridge;
399
-
400
424
  interface TdHeaderNotificacion {
401
425
  id: string | number;
402
426
  titulo: string;
@@ -741,6 +765,7 @@ declare class TdInput implements ControlValueAccessor, FormValueControl<TdInputV
741
765
  readonly touched: _angular_core.ModelSignal<boolean>;
742
766
  readonly touch: _angular_core.OutputEmitterRef<void>;
743
767
  readonly error: _angular_core.InputSignal<string>;
768
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
744
769
  clearable: boolean;
745
770
  dark: boolean;
746
771
  readonly showCounter: _angular_core.InputSignal<boolean>;
@@ -760,6 +785,8 @@ declare class TdInput implements ControlValueAccessor, FormValueControl<TdInputV
760
785
  set maxlength(value: number | null);
761
786
  readonly value: _angular_core.ModelSignal<TdInputValue>;
762
787
  protected readonly isDisabled: _angular_core.Signal<boolean>;
788
+ protected readonly fieldError: _angular_core.Signal<string>;
789
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
763
790
  protected readonly displayError: _angular_core.Signal<string>;
764
791
  protected readonly hasError: _angular_core.Signal<boolean>;
765
792
  protected readonly resolvedMinLength: _angular_core.Signal<number | null>;
@@ -809,7 +836,7 @@ declare class TdInput implements ControlValueAccessor, FormValueControl<TdInputV
809
836
  private padTimePart;
810
837
  private setValue;
811
838
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdInput, never>;
812
- 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; }; "prefix": { "alias": "prefix"; "required": false; }; "suffix": { "alias": "suffix"; "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; }; "showCounter": { "alias": "showCounter"; "required": false; "isSignal": true; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "sanitize": { "alias": "sanitize"; "required": false; }; "sanitizeValue": { "alias": "sanitizeValue"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "integerDigits": { "alias": "integerDigits"; "required": false; }; "decimalDigits": { "alias": "decimalDigits"; "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>;
839
+ 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; }; "prefix": { "alias": "prefix"; "required": false; }; "suffix": { "alias": "suffix"; "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; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "showCounter": { "alias": "showCounter"; "required": false; "isSignal": true; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "sanitize": { "alias": "sanitize"; "required": false; }; "sanitizeValue": { "alias": "sanitizeValue"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "integerDigits": { "alias": "integerDigits"; "required": false; }; "decimalDigits": { "alias": "decimalDigits"; "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>;
813
840
  }
814
841
 
815
842
  type TdTextareaValue = string | null;
@@ -845,6 +872,7 @@ declare class TdTextarea implements AfterViewInit, ControlValueAccessor, FormVal
845
872
  readonly touched: _angular_core.ModelSignal<boolean>;
846
873
  readonly touch: _angular_core.OutputEmitterRef<void>;
847
874
  readonly error: _angular_core.InputSignal<string>;
875
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
848
876
  readonly showCounter: _angular_core.InputSignal<boolean>;
849
877
  readonly minLength: _angular_core.InputSignal<number | undefined>;
850
878
  readonly maxLength: _angular_core.InputSignal<number | undefined>;
@@ -853,6 +881,8 @@ declare class TdTextarea implements AfterViewInit, ControlValueAccessor, FormVal
853
881
  readonly value: _angular_core.ModelSignal<TdTextareaValue>;
854
882
  protected readonly focused: _angular_core.WritableSignal<boolean>;
855
883
  protected readonly isDisabled: _angular_core.Signal<boolean>;
884
+ protected readonly fieldError: _angular_core.Signal<string>;
885
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
856
886
  protected readonly displayError: _angular_core.Signal<string>;
857
887
  protected readonly hasError: _angular_core.Signal<boolean>;
858
888
  protected readonly resolvedMinLength: _angular_core.Signal<number | null>;
@@ -880,7 +910,7 @@ declare class TdTextarea implements AfterViewInit, ControlValueAccessor, FormVal
880
910
  private resolveEmptyValue;
881
911
  private resizeTextarea;
882
912
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdTextarea, never>;
883
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdTextarea, "td-textarea", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; "maxAutoRows": { "alias": "maxAutoRows"; "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; }; "showCounter": { "alias": "showCounter"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "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>;
913
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdTextarea, "td-textarea", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; "maxAutoRows": { "alias": "maxAutoRows"; "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; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "showCounter": { "alias": "showCounter"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "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>;
884
914
  static ngAcceptInputType_autoResize: unknown;
885
915
  }
886
916
 
@@ -921,6 +951,7 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
921
951
  readonly touched: _angular_core.ModelSignal<boolean>;
922
952
  readonly touch: _angular_core.OutputEmitterRef<void>;
923
953
  readonly error: _angular_core.InputSignal<string>;
954
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
924
955
  emptyText: string;
925
956
  clearable: boolean;
926
957
  dark: boolean;
@@ -933,6 +964,8 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
933
964
  readonly searchChange: EventEmitter<string>;
934
965
  readonly value: _angular_core.ModelSignal<T | null>;
935
966
  protected readonly isDisabled: _angular_core.Signal<boolean>;
967
+ protected readonly fieldError: _angular_core.Signal<string>;
968
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
936
969
  protected readonly displayError: _angular_core.Signal<string>;
937
970
  protected readonly hasError: _angular_core.Signal<boolean>;
938
971
  protected search: string;
@@ -940,6 +973,7 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
940
973
  protected activeIndex: number;
941
974
  protected readonly focused: _angular_core.WritableSignal<boolean>;
942
975
  protected readonly scrollStrategy: ScrollStrategy;
976
+ protected readonly overlayPositions: ConnectedPosition[];
943
977
  protected get inputId(): string;
944
978
  protected get listId(): string;
945
979
  protected get filteredOptions(): TdSelectOption<T>[];
@@ -953,6 +987,7 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
953
987
  focus(options?: FocusOptions): void;
954
988
  protected compare(first: T | null, second: T | null): boolean;
955
989
  protected openPanel(): void;
990
+ protected onOverlayAttached(): void;
956
991
  protected handleFocus(): void;
957
992
  protected handleBlur(): void;
958
993
  protected close(): void;
@@ -964,10 +999,11 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
964
999
  private moveActive;
965
1000
  private firstEnabledIndex;
966
1001
  private scrollActiveOptionIntoView;
1002
+ private scheduleOverlayPositionUpdate;
967
1003
  private scheduleOverflowTextMeasurement;
968
1004
  private measureOverflowText;
969
1005
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdAutocompleteSelect<any>, never>;
970
- 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; }; "overflowText": { "alias": "overflowText"; "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>;
1006
+ 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; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "overflowText": { "alias": "overflowText"; "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>;
971
1007
  }
972
1008
 
973
1009
  declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
@@ -997,6 +1033,7 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
997
1033
  readonly touched: _angular_core.ModelSignal<boolean>;
998
1034
  readonly touch: _angular_core.OutputEmitterRef<void>;
999
1035
  readonly error: _angular_core.InputSignal<string>;
1036
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
1000
1037
  emptyText: string;
1001
1038
  clearable: boolean;
1002
1039
  dark: boolean;
@@ -1006,11 +1043,14 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
1006
1043
  readonly selectionChange: EventEmitter<T | null>;
1007
1044
  readonly value: _angular_core.ModelSignal<T | null>;
1008
1045
  protected readonly isDisabled: _angular_core.Signal<boolean>;
1046
+ protected readonly fieldError: _angular_core.Signal<string>;
1047
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
1009
1048
  protected readonly displayError: _angular_core.Signal<string>;
1010
1049
  protected readonly hasError: _angular_core.Signal<boolean>;
1011
1050
  protected open: boolean;
1012
1051
  protected activeIndex: number;
1013
1052
  protected readonly scrollStrategy: ScrollStrategy;
1053
+ protected readonly overlayPositions: ConnectedPosition[];
1014
1054
  protected get labelId(): string;
1015
1055
  protected get listId(): string;
1016
1056
  protected get selectedOption(): TdSelectOption<T> | undefined;
@@ -1029,14 +1069,16 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
1029
1069
  protected handleKeydown(event: KeyboardEvent): void;
1030
1070
  protected handleOverlayKeydown(event: KeyboardEvent): void;
1031
1071
  private openPanel;
1072
+ protected onOverlayAttached(): void;
1032
1073
  private moveActive;
1033
1074
  private firstEnabledIndex;
1034
1075
  private setValue;
1035
1076
  private scrollActiveOptionIntoView;
1077
+ private scheduleOverlayPositionUpdate;
1036
1078
  private scheduleOverflowTextMeasurement;
1037
1079
  private measureOverflowText;
1038
1080
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdSelect<any>, never>;
1039
- 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; }; "overflowText": { "alias": "overflowText"; "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>;
1081
+ 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; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "overflowText": { "alias": "overflowText"; "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>;
1040
1082
  }
1041
1083
 
1042
1084
  interface MenuSidebar {
@@ -1161,4 +1203,4 @@ declare class TdThemeService {
1161
1203
  }
1162
1204
 
1163
1205
  export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TD_THEME_DARK_COLORS, TD_THEME_LIGHT_COLORS, TdAlerta, TdAutocompleteSelect, TdButton, TdCheckbox, TdDataTable, TdDatePicker, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdSelect, TdSidebar, TdTab, TdTabs, TdTextarea, TdThemeService, TelcomdevUi, createTdFormControlBridge };
1164
- export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdButtonSize, TdButtonTone, TdButtonType, TdButtonVariant, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDatePickerMode, TdDatePickerValue, TdDateRange, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdFormControlBridge, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdInputEmptyValue, TdInputMask, TdInputSanitize, TdInputSanitizeFn, TdInputSanitizePreset, TdInputValue, TdSelectOption, TdSelectOverflowText, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant, TdTextareaEmptyValue, TdTextareaValue, TdThemeMode, TdThemePaletteColor };
1206
+ export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdButtonSize, TdButtonTone, TdButtonType, TdButtonVariant, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDatePickerMode, TdDatePickerValue, TdDateRange, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdErrorDisplay, TdFormControlBridge, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdInputEmptyValue, TdInputMask, TdInputSanitize, TdInputSanitizeFn, TdInputSanitizePreset, TdInputValue, TdSelectOption, TdSelectOverflowText, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant, TdTextareaEmptyValue, TdTextareaValue, TdThemeMode, TdThemePaletteColor };