@underlayerdev/ui 0.0.1 → 0.0.3

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,9 +1,10 @@
1
1
  {
2
2
  "name": "@underlayerdev/ui",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "peerDependencies": {
5
- "@angular/common": "^21.1.0",
6
- "@angular/core": "^21.1.0",
5
+ "@angular/cdk": "^22.0.0",
6
+ "@angular/common": "^22.0.0",
7
+ "@angular/core": "^22.0.0",
7
8
  "@splidejs/splide": "^4.1.4"
8
9
  },
9
10
  "dependencies": {
@@ -20,5 +21,6 @@
20
21
  "types": "./types/underlayerdev-ui.d.ts",
21
22
  "default": "./fesm2022/underlayerdev-ui.mjs"
22
23
  }
23
- }
24
+ },
25
+ "type": "module"
24
26
  }
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { AfterViewInit, OnDestroy, ElementRef, PipeTransform } from '@angular/core';
3
3
  import * as i1 from '@angular/cdk/accordion';
4
4
  import { CdkAccordionItem } from '@angular/cdk/accordion';
5
- import { FormValueControl, WithOptionalField, ValidationError, FormCheckboxControl } from '@angular/forms/signals';
5
+ import { FormValueControl, WithOptionalFieldTree, ValidationError, FormCheckboxControl } from '@angular/forms/signals';
6
6
  import Splide, { Options } from '@splidejs/splide';
7
7
  import { CurrencyPipe } from '@angular/common';
8
8
 
@@ -257,7 +257,7 @@ declare class CalendarComponent implements FormValueControl<Date | null> {
257
257
  readonly locale: _angular_core.InputSignal<string>;
258
258
  readonly showCalendarIcon: _angular_core.InputSignal<boolean>;
259
259
  readonly invalid: _angular_core.InputSignal<boolean>;
260
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
260
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
261
261
  protected readonly ids: {
262
262
  controlId: string;
263
263
  helperId: string;
@@ -279,7 +279,6 @@ declare class CalendarComponent implements FormValueControl<Date | null> {
279
279
  readonly minuteOptions: _angular_core.Signal<number[]>;
280
280
  readonly selectedHour: _angular_core.Signal<number>;
281
281
  readonly selectedMinute: _angular_core.Signal<number>;
282
- readonly valueChange: _angular_core.OutputEmitterRef<Date | null>;
283
282
  readonly opened: _angular_core.OutputEmitterRef<void>;
284
283
  readonly closed: _angular_core.OutputEmitterRef<void>;
285
284
  constructor();
@@ -302,7 +301,7 @@ declare class CalendarComponent implements FormValueControl<Date | null> {
302
301
  onMenuClosed(): void;
303
302
  focus(): void;
304
303
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
305
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "pe-calendar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "showCalendarIcon": { "alias": "showCalendarIcon"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
304
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "pe-calendar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "showCalendarIcon": { "alias": "showCalendarIcon"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
306
305
  }
307
306
 
308
307
  type CardDirection = 'horizontal' | 'vertical';
@@ -371,7 +370,7 @@ declare class CheckboxComponent implements FormCheckboxControl {
371
370
  error: _angular_core.InputSignal<boolean>;
372
371
  errorText: _angular_core.InputSignal<string | null>;
373
372
  invalid: _angular_core.InputSignal<boolean>;
374
- errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
373
+ errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
375
374
  protected readonly ids: {
376
375
  controlId: string;
377
376
  helperId: string;
@@ -612,7 +611,7 @@ declare class FileInputComponent implements FormValueControl<FileList | null> {
612
611
  readonly placeholderText: _angular_core.InputSignal<string>;
613
612
  readonly controlId: _angular_core.InputSignal<string | undefined>;
614
613
  readonly invalid: _angular_core.InputSignal<boolean>;
615
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
614
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
616
615
  readonly touched: _angular_core.ModelSignal<boolean>;
617
616
  readonly error: _angular_core.InputSignal<boolean>;
618
617
  readonly value: _angular_core.ModelSignal<FileList | null>;
@@ -632,7 +631,6 @@ declare class FileInputComponent implements FormValueControl<FileList | null> {
632
631
  protected readonly selectedLabel: _angular_core.Signal<string>;
633
632
  readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
634
633
  readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
635
- readonly valueChange: _angular_core.OutputEmitterRef<FileList | null>;
636
634
  constructor();
637
635
  onFileChange(event: Event): void;
638
636
  onBlur(event: FocusEvent): void;
@@ -640,7 +638,7 @@ declare class FileInputComponent implements FormValueControl<FileList | null> {
640
638
  triggerClick(): void;
641
639
  focus(): void;
642
640
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileInputComponent, never>;
643
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileInputComponent, "pe-file-input", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "placeholderText": { "alias": "placeholderText"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; "valueChange": "valueChange"; }, never, ["[pe-file-input-left-elements]", "[pe-file-input-right-elements]"], true, never>;
641
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileInputComponent, "pe-file-input", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "placeholderText": { "alias": "placeholderText"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; }, never, ["[pe-file-input-left-elements]", "[pe-file-input-right-elements]"], true, never>;
644
642
  }
645
643
 
646
644
  declare class FooterComponent {
@@ -809,7 +807,7 @@ declare class InputComponent implements FormValueControl<string> {
809
807
  /** FormUiControl optional: bound by [formField] when invalid */
810
808
  readonly invalid: _angular_core.InputSignal<boolean>;
811
809
  /** FormUiControl optional: bound by [formField] for validation errors */
812
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
810
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
813
811
  /** FormUiControl optional: control sets on blur */
814
812
  readonly touched: _angular_core.ModelSignal<boolean>;
815
813
  readonly value: _angular_core.ModelSignal<string>;
@@ -822,13 +820,10 @@ declare class InputComponent implements FormValueControl<string> {
822
820
  protected readonly effectiveHelperId: _angular_core.Signal<string>;
823
821
  protected readonly effectiveErrorId: _angular_core.Signal<string>;
824
822
  protected readonly isFocused: _angular_core.WritableSignal<boolean>;
825
- protected readonly isDirty: _angular_core.WritableSignal<boolean>;
826
823
  protected readonly hasError: _angular_core.Signal<boolean>;
827
824
  protected readonly describedBy: _angular_core.Signal<string | undefined>;
828
825
  readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
829
826
  readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
830
- readonly valueChange: _angular_core.OutputEmitterRef<string>;
831
- constructor();
832
827
  onInput(event: Event): void;
833
828
  onBlur(event: FocusEvent): void;
834
829
  onFocus(event: FocusEvent): void;
@@ -838,7 +833,7 @@ declare class InputComponent implements FormValueControl<string> {
838
833
  focus(): void;
839
834
  select(): void;
840
835
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, never>;
841
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "pe-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; "valueChange": "valueChange"; }, never, ["[pe-input-left-elements]", "[pe-input-right-elements]"], true, never>;
836
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "pe-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; }, never, ["[pe-input-left-elements]", "[pe-input-right-elements]"], true, never>;
842
837
  }
843
838
 
844
839
  type ModalVariant = 'default' | 'success' | 'error' | 'custom' | 'bottom-sheet' | 'confirmation';
@@ -1078,7 +1073,7 @@ declare class RadioGroupComponent implements FormValueControl<string | null> {
1078
1073
  readonly disabled: _angular_core.InputSignal<boolean>;
1079
1074
  readonly required: _angular_core.InputSignal<boolean>;
1080
1075
  readonly invalid: _angular_core.InputSignal<boolean>;
1081
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
1076
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1082
1077
  readonly value: _angular_core.ModelSignal<string | null>;
1083
1078
  protected readonly ids: {
1084
1079
  controlId: string;
@@ -1141,6 +1136,20 @@ declare class SkeletonComponent {
1141
1136
  }
1142
1137
 
1143
1138
  type ToastKind = 'info' | 'success' | 'warning' | 'error';
1139
+ declare const toastIcon: (kind: ToastKind) => "info" | "alert" | "check_circle" | "cross_circle";
1140
+ interface ToastConfig {
1141
+ readonly id: string;
1142
+ readonly message: string;
1143
+ readonly title?: string;
1144
+ readonly kind: ToastKind;
1145
+ readonly dismissible: boolean;
1146
+ /**
1147
+ * Auto-dismiss delay in milliseconds. When null or 0, the toast
1148
+ * will stay visible until the user dismisses it explicitly.
1149
+ */
1150
+ readonly durationMs: number | null;
1151
+ readonly showIcon: boolean;
1152
+ }
1144
1153
  type ToastWithRole = {
1145
1154
  readonly id: string;
1146
1155
  readonly title?: string;
@@ -1151,6 +1160,21 @@ type ToastWithRole = {
1151
1160
  readonly icon: string;
1152
1161
  readonly showIcon: boolean;
1153
1162
  };
1163
+ type NewToastConfig = Omit<ToastConfig, 'id'>;
1164
+ declare class ToastService {
1165
+ private readonly toastsSignal;
1166
+ readonly toasts: _angular_core.Signal<ToastWithRole[]>;
1167
+ show(message: string, config?: Partial<NewToastConfig>): string;
1168
+ info(message: string, config?: Partial<Omit<NewToastConfig, 'kind'>>): string;
1169
+ success(message: string, config?: Partial<Omit<NewToastConfig, 'kind'>>): string;
1170
+ warning(message: string, config?: Partial<Omit<NewToastConfig, 'kind'>>): string;
1171
+ error(message: string, config?: Partial<Omit<NewToastConfig, 'kind'>>): string;
1172
+ dismiss(id: string): void;
1173
+ clear(): void;
1174
+ private createId;
1175
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastService, never>;
1176
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ToastService>;
1177
+ }
1154
1178
 
1155
1179
  declare class ToastContainerComponent {
1156
1180
  private readonly toastService;
@@ -1204,9 +1228,8 @@ declare class SearchSelectComponent implements FormValueControl<string | null> {
1204
1228
  readonly options: _angular_core.InputSignal<SearchSelectOption[]>;
1205
1229
  readonly minCharsToOpen: _angular_core.InputSignal<number>;
1206
1230
  readonly invalid: _angular_core.InputSignal<boolean>;
1207
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
1231
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1208
1232
  readonly value: _angular_core.ModelSignal<string | null>;
1209
- readonly valueChange: _angular_core.OutputEmitterRef<string | null>;
1210
1233
  protected readonly ids: {
1211
1234
  controlId: string;
1212
1235
  helperId: string;
@@ -1235,7 +1258,7 @@ declare class SearchSelectComponent implements FormValueControl<string | null> {
1235
1258
  selectOption(opt: SearchSelectOption): void;
1236
1259
  private cancelBlurClose;
1237
1260
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchSelectComponent, never>;
1238
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchSelectComponent, "pe-search-select", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "minCharsToOpen": { "alias": "minCharsToOpen"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; }, never, never, true, never>;
1261
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchSelectComponent, "pe-search-select", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "minCharsToOpen": { "alias": "minCharsToOpen"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1239
1262
  }
1240
1263
 
1241
1264
  interface SelectOption extends DropdownItem {
@@ -1261,7 +1284,7 @@ declare class SelectComponent implements FormValueControl<string | null> {
1261
1284
  readonly placeholder: _angular_core.InputSignal<string>;
1262
1285
  readonly options: _angular_core.InputSignal<SelectOption[]>;
1263
1286
  readonly invalid: _angular_core.InputSignal<boolean>;
1264
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
1287
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1265
1288
  readonly value: _angular_core.ModelSignal<string | null>;
1266
1289
  protected readonly selectedIndex: _angular_core.ModelSignal<number>;
1267
1290
  protected readonly ids: {
@@ -1381,7 +1404,7 @@ declare class TableComponent {
1381
1404
  readonly showGlobalFilter: _angular_core.InputSignal<boolean>;
1382
1405
  readonly emptyMessage: _angular_core.InputSignal<string>;
1383
1406
  readonly loading: _angular_core.InputSignal<boolean>;
1384
- readonly sortColumnChange: _angular_core.OutputEmitterRef<{
1407
+ readonly sortChange: _angular_core.OutputEmitterRef<{
1385
1408
  column: string | null;
1386
1409
  direction: SortDirection;
1387
1410
  }>;
@@ -1396,7 +1419,7 @@ declare class TableComponent {
1396
1419
  toggleSort(columnId: string): void;
1397
1420
  getSortAriaSort(columnId: string): 'ascending' | 'descending' | 'none';
1398
1421
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent, never>;
1399
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "pe-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "sortColumn": { "alias": "sortColumn"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "filterLabel": { "alias": "filterLabel"; "required": false; "isSignal": true; }; "showGlobalFilter": { "alias": "showGlobalFilter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "sortColumn": "sortColumnChange"; "sortDirection": "sortDirectionChange"; "sortColumnChange": "sortColumnChange"; "filterChange": "filterChange"; }, never, never, true, never>;
1422
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "pe-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "sortColumn": { "alias": "sortColumn"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "filterLabel": { "alias": "filterLabel"; "required": false; "isSignal": true; }; "showGlobalFilter": { "alias": "showGlobalFilter"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "sortColumn": "sortColumnChange"; "sortDirection": "sortDirectionChange"; "sortChange": "sortChange"; "filterChange": "filterChange"; }, never, never, true, never>;
1400
1423
  }
1401
1424
 
1402
1425
  /**
@@ -1433,7 +1456,7 @@ declare class TextareaComponent implements FormValueControl<string> {
1433
1456
  /** When using [pe-textarea-field], pass focus state so the group border reflects it. */
1434
1457
  readonly groupFocused: _angular_core.InputSignal<boolean | null>;
1435
1458
  readonly invalid: _angular_core.InputSignal<boolean>;
1436
- readonly errors: _angular_core.InputSignal<readonly WithOptionalField<ValidationError>[]>;
1459
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1437
1460
  readonly touched: _angular_core.ModelSignal<boolean>;
1438
1461
  readonly value: _angular_core.ModelSignal<string>;
1439
1462
  protected readonly customField: _angular_core.Signal<TextareaFieldDirective | undefined>;
@@ -1443,22 +1466,19 @@ declare class TextareaComponent implements FormValueControl<string> {
1443
1466
  errorId: string;
1444
1467
  };
1445
1468
  protected readonly isFocused: _angular_core.WritableSignal<boolean>;
1446
- protected readonly isDirty: _angular_core.WritableSignal<boolean>;
1447
1469
  protected readonly groupFocusedState: _angular_core.Signal<boolean>;
1448
1470
  protected readonly hasError: _angular_core.Signal<boolean>;
1449
1471
  protected readonly describedBy: _angular_core.Signal<string | undefined>;
1450
1472
  readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
1451
1473
  readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
1452
- readonly valueChange: _angular_core.OutputEmitterRef<string>;
1453
- constructor();
1454
1474
  onInput(event: Event): void;
1455
1475
  onBlur(event: FocusEvent): void;
1456
1476
  onFocus(event: FocusEvent): void;
1457
1477
  focus(): void;
1458
1478
  select(): void;
1459
1479
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextareaComponent, never>;
1460
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "pe-textarea", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "groupFocused": { "alias": "groupFocused"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; "valueChange": "valueChange"; }, ["customField"], ["[pe-textarea-left-elements]", "[pe-textarea-field]", "[pe-textarea-right-elements]"], true, never>;
1480
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "pe-textarea", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "groupFocused": { "alias": "groupFocused"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; }, ["customField"], ["[pe-textarea-left-elements]", "[pe-textarea-field]", "[pe-textarea-right-elements]"], true, never>;
1461
1481
  }
1462
1482
 
1463
- export { AccordionComponent, AccordionItemComponent, AreaCodeComponent, AvatarComponent, AvatarGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CardComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapseComponent, CustomCurrencyPipe, DropdownComponent, FileInputComponent, FooterComponent, FormFieldHelperComponent, FormFieldLabelComponent, HeroComponent, IconComponent, ImageNotFoundDirective, InputComponent, ListItemComponent, ModalComponent, NavbarAvatarSlotDirective, NavbarComponent, NavbarLogoSlotDirective, NavbarSearchSlotDirective, PeHeroActionsSlotDirective, PeHeroBadgesSlotDirective, PeHeroContentSlotDirective, PeHeroSubtitleSlotDirective, PeHeroTitleSlotDirective, PillComponent, PriceButtonComponent, RadialComponent, RadioComponent, RadioGroupComponent, RichTextComponent, SearchSelectComponent, SelectComponent, SidebarComponent, SkeletonComponent, StatusComponent, TableComponent, TextareaComponent, TextareaFieldDirective, ToastContainerComponent, TooltipComponent, createFormFieldIds, getFormFieldDescribedBy };
1464
- export type { ActionsDistribution, AvatarData, BreadcrumbItem, BreadcrumbSeparator, CalendarDay, CalendarMode, CardCaptionSize, CardDirection, CheckboxZoneType, CollapseVariant, Currency, DropdownItem, FileInputAppearance, HeroAction, HeroAlignment, HeroSize, IconName, IconSize, IconWeight, InputAppearance, InputType, ListItemTheme, MediaAspectRatio, ModalVariant, PillSize, PillTheme, PillVariant, RadioGroupOption, RichTextSize, RichTextTone, SalePosition, SearchSelectOption, SelectOption, SidebarItem, SkeletonBorderRadius, SkeletonVariant, SortDirection, Status, TableColumn, TextareaResize, TimeSelection, TooltipPosition };
1483
+ export { AccordionComponent, AccordionItemComponent, AreaCodeComponent, AvatarComponent, AvatarGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CardComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapseComponent, CustomCurrencyPipe, DropdownComponent, FileInputComponent, FooterComponent, FormFieldHelperComponent, FormFieldLabelComponent, HeroComponent, IconComponent, ImageNotFoundDirective, InputComponent, ListItemComponent, ModalComponent, NavbarAvatarSlotDirective, NavbarComponent, NavbarLogoSlotDirective, NavbarSearchSlotDirective, PeHeroActionsSlotDirective, PeHeroBadgesSlotDirective, PeHeroContentSlotDirective, PeHeroSubtitleSlotDirective, PeHeroTitleSlotDirective, PillComponent, PriceButtonComponent, RadialComponent, RadioComponent, RadioGroupComponent, RichTextComponent, SearchSelectComponent, SelectComponent, SidebarComponent, SkeletonComponent, StatusComponent, TableComponent, TextareaComponent, TextareaFieldDirective, ToastContainerComponent, ToastService, TooltipComponent, createFormFieldIds, getFormFieldDescribedBy, toastIcon };
1484
+ export type { ActionsDistribution, AvatarData, BreadcrumbItem, BreadcrumbSeparator, CalendarDay, CalendarMode, CardCaptionSize, CardDirection, CheckboxZoneType, CollapseVariant, Currency, DropdownItem, FileInputAppearance, HeroAction, HeroAlignment, HeroSize, IconName, IconSize, IconWeight, InputAppearance, InputType, ListItemTheme, MediaAspectRatio, ModalVariant, PillSize, PillTheme, PillVariant, RadioGroupOption, RichTextSize, RichTextTone, SalePosition, SearchSelectOption, SelectOption, SidebarItem, SkeletonBorderRadius, SkeletonVariant, SortDirection, Status, TableColumn, TextareaResize, TimeSelection, ToastConfig, ToastKind, ToastWithRole, TooltipPosition };