@telcomdev/ui 0.1.7 → 0.1.9

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.9",
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
 
@@ -893,6 +923,7 @@ interface TdSelectOption<T = unknown> {
893
923
  }
894
924
  type TdSelectScrollBehavior = 'reposition' | 'close';
895
925
  type TdSelectOverflowText = 'ellipsis' | 'wrap' | 'marquee';
926
+ type TdSelectAppearance = 'outline' | 'filled' | 'standard';
896
927
 
897
928
  declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
898
929
  private readonly cdr;
@@ -921,11 +952,13 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
921
952
  readonly touched: _angular_core.ModelSignal<boolean>;
922
953
  readonly touch: _angular_core.OutputEmitterRef<void>;
923
954
  readonly error: _angular_core.InputSignal<string>;
955
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
924
956
  emptyText: string;
925
957
  clearable: boolean;
926
958
  dark: boolean;
927
959
  scrollBehavior: TdSelectScrollBehavior;
928
960
  overflowText: TdSelectOverflowText;
961
+ appearance: TdSelectAppearance;
929
962
  minimumCharacters: number;
930
963
  filterWith: (option: TdSelectOption<T>, search: string) => boolean;
931
964
  compareWith: (first: T | null, second: T | null) => boolean;
@@ -933,6 +966,8 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
933
966
  readonly searchChange: EventEmitter<string>;
934
967
  readonly value: _angular_core.ModelSignal<T | null>;
935
968
  protected readonly isDisabled: _angular_core.Signal<boolean>;
969
+ protected readonly fieldError: _angular_core.Signal<string>;
970
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
936
971
  protected readonly displayError: _angular_core.Signal<string>;
937
972
  protected readonly hasError: _angular_core.Signal<boolean>;
938
973
  protected search: string;
@@ -940,6 +975,7 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
940
975
  protected activeIndex: number;
941
976
  protected readonly focused: _angular_core.WritableSignal<boolean>;
942
977
  protected readonly scrollStrategy: ScrollStrategy;
978
+ protected readonly overlayPositions: ConnectedPosition[];
943
979
  protected get inputId(): string;
944
980
  protected get listId(): string;
945
981
  protected get filteredOptions(): TdSelectOption<T>[];
@@ -953,6 +989,7 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
953
989
  focus(options?: FocusOptions): void;
954
990
  protected compare(first: T | null, second: T | null): boolean;
955
991
  protected openPanel(): void;
992
+ protected onOverlayAttached(): void;
956
993
  protected handleFocus(): void;
957
994
  protected handleBlur(): void;
958
995
  protected close(): void;
@@ -964,10 +1001,11 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
964
1001
  private moveActive;
965
1002
  private firstEnabledIndex;
966
1003
  private scrollActiveOptionIntoView;
1004
+ private scheduleOverlayPositionUpdate;
967
1005
  private scheduleOverflowTextMeasurement;
968
1006
  private measureOverflowText;
969
1007
  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>;
1008
+ 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; }; "appearance": { "alias": "appearance"; "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
1009
  }
972
1010
 
973
1011
  declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
@@ -997,20 +1035,25 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
997
1035
  readonly touched: _angular_core.ModelSignal<boolean>;
998
1036
  readonly touch: _angular_core.OutputEmitterRef<void>;
999
1037
  readonly error: _angular_core.InputSignal<string>;
1038
+ readonly errorDisplay: _angular_core.InputSignal<TdErrorDisplay>;
1000
1039
  emptyText: string;
1001
1040
  clearable: boolean;
1002
1041
  dark: boolean;
1003
1042
  scrollBehavior: TdSelectScrollBehavior;
1004
1043
  overflowText: TdSelectOverflowText;
1044
+ appearance: TdSelectAppearance;
1005
1045
  compareWith: (first: T | null, second: T | null) => boolean;
1006
1046
  readonly selectionChange: EventEmitter<T | null>;
1007
1047
  readonly value: _angular_core.ModelSignal<T | null>;
1008
1048
  protected readonly isDisabled: _angular_core.Signal<boolean>;
1049
+ protected readonly fieldError: _angular_core.Signal<string>;
1050
+ protected readonly shouldDisplayFieldError: _angular_core.Signal<boolean>;
1009
1051
  protected readonly displayError: _angular_core.Signal<string>;
1010
1052
  protected readonly hasError: _angular_core.Signal<boolean>;
1011
1053
  protected open: boolean;
1012
1054
  protected activeIndex: number;
1013
1055
  protected readonly scrollStrategy: ScrollStrategy;
1056
+ protected readonly overlayPositions: ConnectedPosition[];
1014
1057
  protected get labelId(): string;
1015
1058
  protected get listId(): string;
1016
1059
  protected get selectedOption(): TdSelectOption<T> | undefined;
@@ -1029,14 +1072,16 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
1029
1072
  protected handleKeydown(event: KeyboardEvent): void;
1030
1073
  protected handleOverlayKeydown(event: KeyboardEvent): void;
1031
1074
  private openPanel;
1075
+ protected onOverlayAttached(): void;
1032
1076
  private moveActive;
1033
1077
  private firstEnabledIndex;
1034
1078
  private setValue;
1035
1079
  private scrollActiveOptionIntoView;
1080
+ private scheduleOverlayPositionUpdate;
1036
1081
  private scheduleOverflowTextMeasurement;
1037
1082
  private measureOverflowText;
1038
1083
  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>;
1084
+ 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; }; "appearance": { "alias": "appearance"; "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
1085
  }
1041
1086
 
1042
1087
  interface MenuSidebar {
@@ -1161,4 +1206,4 @@ declare class TdThemeService {
1161
1206
  }
1162
1207
 
1163
1208
  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 };
1209
+ 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, TdSelectAppearance, TdSelectOption, TdSelectOverflowText, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant, TdTextareaEmptyValue, TdTextareaValue, TdThemeMode, TdThemePaletteColor };