@telcomdev/ui 0.0.7 → 0.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telcomdev/ui",
3
- "version": "0.0.7",
3
+ "version": "0.0.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 { OnChanges, OnDestroy, EventEmitter, SimpleChanges, InjectionToken, Type, TemplateRef, AfterContentInit } from '@angular/core';
2
+ import { OnChanges, OnDestroy, EventEmitter, SimpleChanges, InjectionToken, Type, ModelSignal, OutputEmitterRef, TemplateRef, AfterContentInit } from '@angular/core';
3
3
  import { ScrollStrategy } from '@angular/cdk/overlay';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
- import { FormValueControl, WithOptionalFieldTree, ValidationError } from '@angular/forms/signals';
5
+ import { FormValueControl, WithOptionalFieldTree, DisabledReason, ValidationError } from '@angular/forms/signals';
6
6
  import { Observable } from 'rxjs';
7
7
  import { DialogRef } from '@angular/cdk/dialog';
8
8
  import * as _telcomdev_ui from '@telcomdev/ui';
@@ -133,6 +133,7 @@ interface CalendarDay {
133
133
  type CalendarView = 'dias' | 'meses' | 'anios';
134
134
  declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdDatePickerValue> {
135
135
  private readonly cdr;
136
+ private readonly formBridge;
136
137
  private readonly scrollStrategies;
137
138
  private readonly generatedId;
138
139
  private readonly formatter;
@@ -142,18 +143,24 @@ declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdD
142
143
  placeholder: string;
143
144
  mode: TdDatePickerMode;
144
145
  hint: string;
145
- error: string;
146
- minDate: string | number | null | undefined;
147
- maxDate: string | number | null | undefined;
146
+ readonly name: _angular_core.InputSignal<string>;
148
147
  readonly disabled: _angular_core.InputSignal<boolean>;
148
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
149
149
  readonly readonly: _angular_core.InputSignal<boolean>;
150
+ readonly hidden: _angular_core.InputSignal<boolean>;
150
151
  readonly invalid: _angular_core.InputSignal<boolean>;
152
+ readonly pending: _angular_core.InputSignal<boolean>;
153
+ readonly dirty: _angular_core.InputSignal<boolean>;
154
+ readonly required: _angular_core.InputSignal<boolean>;
151
155
  readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
156
+ readonly touched: _angular_core.ModelSignal<boolean>;
152
157
  readonly touch: _angular_core.OutputEmitterRef<void>;
158
+ readonly error: _angular_core.InputSignal<string>;
159
+ minDate: string | number | null | undefined;
160
+ maxDate: string | number | null | undefined;
153
161
  clearable: boolean;
154
162
  dark: boolean;
155
163
  readonly value: _angular_core.ModelSignal<TdDatePickerValue>;
156
- private readonly cvaDisabled;
157
164
  protected readonly isDisabled: _angular_core.Signal<boolean>;
158
165
  protected readonly displayError: _angular_core.Signal<string>;
159
166
  protected readonly hasError: _angular_core.Signal<boolean>;
@@ -188,7 +195,6 @@ declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdD
188
195
  protected get rangeStartLabel(): string;
189
196
  protected get rangeEndLabel(): string;
190
197
  private changed;
191
- private onCvaTouched;
192
198
  writeValue(value: TdDatePickerValue): void;
193
199
  registerOnChange(fn: (value: TdDatePickerValue) => void): void;
194
200
  registerOnTouched(fn: () => void): void;
@@ -223,7 +229,7 @@ declare class TdDatePicker implements ControlValueAccessor, FormValueControl<TdD
223
229
  private monthIntersectsLimits;
224
230
  private yearIntersectsLimits;
225
231
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdDatePicker, never>;
226
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdDatePicker, "td-date-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "minDate": { "alias": "min"; "required": false; }; "maxDate": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "value": "valueChange"; "selectionChange": "selectionChange"; "openedChange": "openedChange"; }, never, never, true, never>;
232
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdDatePicker, "td-date-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "minDate": { "alias": "min"; "required": false; }; "maxDate": { "alias": "max"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "value": "valueChange"; "selectionChange": "selectionChange"; "openedChange": "openedChange"; }, never, never, true, never>;
227
233
  }
228
234
 
229
235
  type TdDialogTamano = 'pequeno' | 'mediano' | 'grande' | 'pantalla';
@@ -307,6 +313,21 @@ declare class TdFooter {
307
313
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdFooter, "td-footer", never, { "empresa": { "alias": "empresa"; "required": false; }; "texto": { "alias": "texto"; "required": false; }; "version": { "alias": "version"; "required": false; }; "oscuro": { "alias": "oscuro"; "required": false; }; "compacto": { "alias": "compacto"; "required": false; }; "anio": { "alias": "anio"; "required": false; }; }, {}, never, ["[tdFooterLinks]", "[tdFooterActions]"], true, never>;
308
314
  }
309
315
 
316
+ interface TdFormControlBridge {
317
+ readonly usesSignalForms: boolean;
318
+ isDisabled(fieldDisabled: boolean): boolean;
319
+ registerOnTouched(fn: () => void): void;
320
+ setDisabledState(disabled: boolean): void;
321
+ markTouched(touched: ModelSignal<boolean>, touch: OutputEmitterRef<void>): void;
322
+ }
323
+ /**
324
+ * Puente reutilizable entre Signal Forms y ControlValueAccessor.
325
+ *
326
+ * Los inputs del contrato se declaran en cada componente porque el compilador
327
+ * de Signal Forms de Angular 21 necesita encontrarlos directamente allí.
328
+ */
329
+ declare function createTdFormControlBridge(): TdFormControlBridge;
330
+
310
331
  interface TdHeaderNotificacion {
311
332
  id: string | number;
312
333
  titulo: string;
@@ -615,53 +636,78 @@ declare const TD_ICONOS: {
615
636
  type TdIconoNombre = keyof typeof TD_ICONOS;
616
637
  declare const TD_ICONOS_NOMBRES: readonly ("error" | "info" | "link" | "menu" | "search" | "cancel" | "close" | "copy" | "home" | "dashboard" | "folder" | "settings" | "people" | "person" | "security" | "inventory" | "shopping_cart" | "receipt" | "assessment" | "description" | "business" | "chevron_left" | "chevron_right" | "sun" | "moon" | "alert" | "check" | "visibility" | "visibility_off" | "notifications" | "chevron_down" | "apps" | "help" | "add" | "edit" | "delete" | "toggle_on" | "toggle_off" | "inbox" | "pdf" | "save" | "download" | "upload" | "print" | "excel" | "xml" | "zip" | "file" | "image" | "calendar" | "clock" | "history" | "filter" | "refresh" | "sort" | "more_vertical" | "more_horizontal" | "arrow_back" | "arrow_forward" | "login" | "logout" | "lock" | "lock_open" | "mail" | "phone" | "send" | "location" | "language" | "warning" | "check_circle" | "star" | "favorite" | "database" | "cloud" | "camera" | "external_link")[];
617
638
 
618
- declare class TdInput implements ControlValueAccessor, FormValueControl<string> {
639
+ type TdInputValue = string | number | null;
640
+ type TdInputEmptyValue = 'auto' | 'null' | 'empty-string';
641
+ declare class TdInput implements ControlValueAccessor, FormValueControl<TdInputValue> {
619
642
  private readonly cdr;
643
+ private readonly formBridge;
620
644
  private readonly generatedId;
645
+ private readonly legacyMinLength;
646
+ private readonly legacyMaxLength;
647
+ private receivedNullValue;
648
+ private nativeInput?;
621
649
  id: string;
622
- readonly name: _angular_core.InputSignal<string>;
623
650
  label: string;
624
651
  type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time';
625
652
  placeholder: string;
626
653
  autocomplete: string;
627
654
  icon: string;
628
655
  hint: string;
629
- error: string;
630
- readonly readonly: _angular_core.InputSignal<boolean>;
656
+ readonly name: _angular_core.InputSignal<string>;
631
657
  readonly disabled: _angular_core.InputSignal<boolean>;
632
- readonly required: _angular_core.InputSignal<boolean>;
658
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
659
+ readonly readonly: _angular_core.InputSignal<boolean>;
660
+ readonly hidden: _angular_core.InputSignal<boolean>;
633
661
  readonly invalid: _angular_core.InputSignal<boolean>;
662
+ readonly pending: _angular_core.InputSignal<boolean>;
663
+ readonly dirty: _angular_core.InputSignal<boolean>;
664
+ readonly required: _angular_core.InputSignal<boolean>;
634
665
  readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
666
+ readonly touched: _angular_core.ModelSignal<boolean>;
635
667
  readonly touch: _angular_core.OutputEmitterRef<void>;
668
+ readonly error: _angular_core.InputSignal<string>;
636
669
  clearable: boolean;
637
670
  dark: boolean;
638
- minValue: string | number | null | undefined;
639
- maxValue: string | number | null | undefined;
671
+ readonly showCounter: _angular_core.InputSignal<boolean>;
672
+ emptyValue: TdInputEmptyValue;
673
+ readonly minValue: _angular_core.InputSignal<string | number | null | undefined>;
674
+ readonly maxValue: _angular_core.InputSignal<string | number | null | undefined>;
675
+ readonly minLength: _angular_core.InputSignal<number | undefined>;
676
+ readonly maxLength: _angular_core.InputSignal<number | undefined>;
677
+ readonly pattern: _angular_core.InputSignal<readonly RegExp[]>;
640
678
  step: string | number | null;
641
- minlength: number | null;
642
- maxlength: number | null;
643
- readonly value: _angular_core.ModelSignal<string>;
644
- private readonly cvaDisabled;
679
+ set minlength(value: number | null);
680
+ set maxlength(value: number | null);
681
+ readonly value: _angular_core.ModelSignal<TdInputValue>;
645
682
  protected readonly isDisabled: _angular_core.Signal<boolean>;
646
683
  protected readonly displayError: _angular_core.Signal<string>;
647
684
  protected readonly hasError: _angular_core.Signal<boolean>;
685
+ protected readonly resolvedMinLength: _angular_core.Signal<number | null>;
686
+ protected readonly resolvedMaxLength: _angular_core.Signal<number | null>;
687
+ protected readonly currentLength: _angular_core.Signal<number>;
688
+ protected readonly counterVisible: _angular_core.Signal<boolean>;
689
+ protected readonly counterAtLimit: _angular_core.Signal<boolean>;
690
+ protected readonly hasSupportingContent: _angular_core.Signal<boolean>;
691
+ protected readonly resolvedPattern: _angular_core.Signal<string | null>;
648
692
  protected focused: boolean;
649
693
  protected passwordVisible: boolean;
650
694
  protected get inputId(): string;
651
695
  protected get descriptionId(): string | null;
652
696
  protected get resolvedType(): string;
653
697
  private onChange;
654
- private onTouched;
655
698
  writeValue(value: unknown): void;
656
- registerOnChange(fn: (value: string) => void): void;
699
+ registerOnChange(fn: (value: TdInputValue) => void): void;
657
700
  registerOnTouched(fn: () => void): void;
658
701
  setDisabledState(disabled: boolean): void;
702
+ focus(options?: FocusOptions): void;
659
703
  protected handleInput(event: Event): void;
660
704
  protected handleBlur(): void;
661
705
  protected clear(): void;
706
+ private parseInputValue;
707
+ private resolveEmptyValue;
662
708
  private setValue;
663
709
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdInput, never>;
664
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdInput, "td-input", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "minValue": { "alias": "min"; "required": false; }; "maxValue": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "value": "valueChange"; }, never, never, true, never>;
710
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdInput, "td-input", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "showCounter": { "alias": "showCounter"; "required": false; "isSignal": true; }; "emptyValue": { "alias": "emptyValue"; "required": false; }; "minValue": { "alias": "min"; "required": false; "isSignal": true; }; "maxValue": { "alias": "max"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "value": "valueChange"; }, never, never, true, never>;
665
711
  }
666
712
 
667
713
  interface TdSelectOption<T = unknown> {
@@ -675,6 +721,7 @@ type TdSelectScrollBehavior = 'reposition' | 'close';
675
721
 
676
722
  declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
677
723
  private readonly cdr;
724
+ private readonly formBridge;
678
725
  private readonly document;
679
726
  private readonly destroyRef;
680
727
  private readonly scrollStrategies;
@@ -685,14 +732,22 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
685
732
  placeholder: string;
686
733
  options: TdSelectOption<T>[];
687
734
  hint: string;
688
- error: string;
689
- emptyText: string;
690
- clearable: boolean;
691
- dark: boolean;
735
+ readonly name: _angular_core.InputSignal<string>;
692
736
  readonly disabled: _angular_core.InputSignal<boolean>;
737
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
738
+ readonly readonly: _angular_core.InputSignal<boolean>;
739
+ readonly hidden: _angular_core.InputSignal<boolean>;
693
740
  readonly invalid: _angular_core.InputSignal<boolean>;
741
+ readonly pending: _angular_core.InputSignal<boolean>;
742
+ readonly dirty: _angular_core.InputSignal<boolean>;
743
+ readonly required: _angular_core.InputSignal<boolean>;
694
744
  readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
745
+ readonly touched: _angular_core.ModelSignal<boolean>;
695
746
  readonly touch: _angular_core.OutputEmitterRef<void>;
747
+ readonly error: _angular_core.InputSignal<string>;
748
+ emptyText: string;
749
+ clearable: boolean;
750
+ dark: boolean;
696
751
  scrollBehavior: TdSelectScrollBehavior;
697
752
  minimumCharacters: number;
698
753
  filterWith: (option: TdSelectOption<T>, search: string) => boolean;
@@ -700,7 +755,6 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
700
755
  readonly selectionChange: EventEmitter<T | null>;
701
756
  readonly searchChange: EventEmitter<string>;
702
757
  readonly value: _angular_core.ModelSignal<T | null>;
703
- private readonly cvaDisabled;
704
758
  protected readonly isDisabled: _angular_core.Signal<boolean>;
705
759
  protected readonly displayError: _angular_core.Signal<string>;
706
760
  protected readonly hasError: _angular_core.Signal<boolean>;
@@ -713,12 +767,12 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
713
767
  protected get filteredOptions(): TdSelectOption<T>[];
714
768
  protected readonly onTouched: () => void;
715
769
  private changed;
716
- private onCvaTouched;
717
770
  constructor();
718
771
  writeValue(value: T | null): void;
719
772
  registerOnChange(fn: (value: T | null) => void): void;
720
773
  registerOnTouched(fn: () => void): void;
721
774
  setDisabledState(disabled: boolean): void;
775
+ focus(options?: FocusOptions): void;
722
776
  protected compare(first: T | null, second: T | null): boolean;
723
777
  protected openPanel(): void;
724
778
  protected close(): void;
@@ -729,33 +783,42 @@ declare class TdAutocompleteSelect<T = unknown> implements ControlValueAccessor,
729
783
  private moveActive;
730
784
  private firstEnabledIndex;
731
785
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdAutocompleteSelect<any>, never>;
732
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdAutocompleteSelect<any>, "td-autocomplete-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "minimumCharacters": { "alias": "minimumCharacters"; "required": false; }; "filterWith": { "alias": "filterWith"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "selectionChange": "selectionChange"; "searchChange": "searchChange"; "value": "valueChange"; }, never, never, true, never>;
786
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdAutocompleteSelect<any>, "td-autocomplete-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "minimumCharacters": { "alias": "minimumCharacters"; "required": false; }; "filterWith": { "alias": "filterWith"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "selectionChange": "selectionChange"; "searchChange": "searchChange"; "value": "valueChange"; }, never, never, true, never>;
733
787
  }
734
788
 
735
789
  declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueControl<T | null> {
736
790
  private readonly cdr;
791
+ private readonly formBridge;
737
792
  private readonly document;
738
793
  private readonly destroyRef;
739
794
  private readonly scrollStrategies;
740
795
  private readonly generatedId;
741
796
  private connectedOverlay?;
797
+ private trigger?;
742
798
  label: string;
743
799
  placeholder: string;
744
800
  options: TdSelectOption<T>[];
745
801
  hint: string;
746
- error: string;
747
- emptyText: string;
748
- clearable: boolean;
749
- dark: boolean;
802
+ readonly name: _angular_core.InputSignal<string>;
750
803
  readonly disabled: _angular_core.InputSignal<boolean>;
804
+ readonly disabledReasons: _angular_core.InputSignal<readonly WithOptionalFieldTree<DisabledReason>[]>;
805
+ readonly readonly: _angular_core.InputSignal<boolean>;
806
+ readonly hidden: _angular_core.InputSignal<boolean>;
751
807
  readonly invalid: _angular_core.InputSignal<boolean>;
808
+ readonly pending: _angular_core.InputSignal<boolean>;
809
+ readonly dirty: _angular_core.InputSignal<boolean>;
810
+ readonly required: _angular_core.InputSignal<boolean>;
752
811
  readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
812
+ readonly touched: _angular_core.ModelSignal<boolean>;
753
813
  readonly touch: _angular_core.OutputEmitterRef<void>;
814
+ readonly error: _angular_core.InputSignal<string>;
815
+ emptyText: string;
816
+ clearable: boolean;
817
+ dark: boolean;
754
818
  scrollBehavior: TdSelectScrollBehavior;
755
819
  compareWith: (first: T | null, second: T | null) => boolean;
756
820
  readonly selectionChange: EventEmitter<T | null>;
757
821
  readonly value: _angular_core.ModelSignal<T | null>;
758
- private readonly cvaDisabled;
759
822
  protected readonly isDisabled: _angular_core.Signal<boolean>;
760
823
  protected readonly displayError: _angular_core.Signal<string>;
761
824
  protected readonly hasError: _angular_core.Signal<boolean>;
@@ -766,12 +829,12 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
766
829
  protected get listId(): string;
767
830
  protected get selectedOption(): TdSelectOption<T> | undefined;
768
831
  private onChange;
769
- private onTouched;
770
832
  constructor();
771
833
  writeValue(value: T | null): void;
772
834
  registerOnChange(fn: (value: T | null) => void): void;
773
835
  registerOnTouched(fn: () => void): void;
774
836
  setDisabledState(disabled: boolean): void;
837
+ focus(options?: FocusOptions): void;
775
838
  protected compare(first: T | null, second: T | null): boolean;
776
839
  protected toggle(): void;
777
840
  protected close(): void;
@@ -784,7 +847,7 @@ declare class TdSelect<T = unknown> implements ControlValueAccessor, FormValueCo
784
847
  private firstEnabledIndex;
785
848
  private setValue;
786
849
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TdSelect<any>, never>;
787
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdSelect<any>, "td-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touch": "touch"; "selectionChange": "selectionChange"; "value": "valueChange"; }, never, never, true, never>;
850
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdSelect<any>, "td-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReasons": { "alias": "disabledReasons"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "touch": "touch"; "selectionChange": "selectionChange"; "value": "valueChange"; }, never, never, true, never>;
788
851
  }
789
852
 
790
853
  interface MenuSidebar {
@@ -883,5 +946,5 @@ declare class TdTabs implements AfterContentInit, OnDestroy {
883
946
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TdTabs, "td-tabs", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "panelFocusable": { "alias": "panelFocusable"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "tabChange": "tabChange"; }, ["tabQuery"], never, true, never>;
884
947
  }
885
948
 
886
- export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TdAlerta, TdAutocompleteSelect, TdDataTable, TdDatePicker, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdSelect, TdSidebar, TdTab, TdTabs, TelcomdevUi };
887
- export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDatePickerMode, TdDatePickerValue, TdDateRange, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdSelectOption, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant };
949
+ export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TdAlerta, TdAutocompleteSelect, TdDataTable, TdDatePicker, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdSelect, TdSidebar, TdTab, TdTabs, TelcomdevUi, createTdFormControlBridge };
950
+ export type { MenuSidebar, TdAlertaOpciones, TdAlertaTipo, TdDataTableAccion, TdDataTableAccionEvento, TdDataTableAlineacion, TdDataTableBoton, TdDataTableColumna, TdDataTableTipoColumna, TdDataTableTono, TdDatePickerMode, TdDatePickerValue, TdDateRange, TdDialogConfig, TdDialogPanelData, TdDialogRefLike, TdDialogTamano, TdFormControlBridge, TdHeaderAccionPerfil, TdHeaderNotificacion, TdIconoDefinicion, TdIconoNombre, TdIconoPersonalizado, TdInputEmptyValue, TdInputValue, TdSelectOption, TdSelectScrollBehavior, TdSidebarModoCerrado, TdSidebarSeleccion, TdTabsAlignment, TdTabsVariant };