@arsedizioni/ars-utils 21.2.296 → 21.2.297

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": "@arsedizioni/ars-utils",
3
- "version": "21.2.296",
3
+ "version": "21.2.297",
4
4
  "author": {
5
5
  "email": "software@arsedizioni.it",
6
6
  "name": "Fabio Buscaroli, Alberto Doria"
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, OnDestroy, AfterContentInit, DoCheck, ElementRef } from '@angular/core';
2
+ import { OnInit, OnDestroy, DoCheck, ElementRef } from '@angular/core';
3
3
  import { Searchable, SearchBag, NameValueItem, DateInterval, SearchFilterMetadata, FileInfo } from '@arsedizioni/ars-utils/core';
4
4
  import { MatFormFieldAppearance, MatFormFieldControl } from '@angular/material/form-field';
5
5
  import { MatDialogRef } from '@angular/material/dialog';
@@ -853,7 +853,7 @@ declare class ArsUIApplicationModule {
853
853
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<ArsUIApplicationModule>;
854
854
  }
855
855
 
856
- declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValueAccessor {
856
+ declare class ButtonSelectorComponent implements OnDestroy, ControlValueAccessor {
857
857
  ngControl: NgControl;
858
858
  /** Emitted whenever the selected value changes (including programmatic resets). */
859
859
  readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>>;
@@ -863,17 +863,21 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
863
863
  private focused;
864
864
  private _value;
865
865
  set value(value: NameValueItem<any> | undefined);
866
+ /** The current value as the selected item. */
866
867
  get value(): NameValueItem<any> | undefined;
867
- private _disabled;
868
+ /** @internal Input signal for the disabled state (bound via the `[disabled]` attribute). */
869
+ protected readonly _disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
870
+ /** @internal Internal signal tracking the current disabled state. */
871
+ private readonly _disabled;
872
+ /** True when the control is disabled, either via `[disabled]` input or via the Angular form layer. */
868
873
  get disabled(): boolean;
869
- set disabled(value: boolean);
870
874
  private propagateChange;
871
875
  private propagateTouched;
872
876
  id: string;
873
877
  describedBy: string;
874
- private renderer;
878
+ private readonly renderer;
875
879
  /** Currently selected item, kept in sync with the form control value. */
876
- protected current: _angular_core.WritableSignal<NameValueItem<any>>;
880
+ protected readonly current: _angular_core.WritableSignal<NameValueItem<any>>;
877
881
  /** Width of the trigger button in pixels. Use `-1` for 100 %, `0` for `auto`. */
878
882
  readonly width: _angular_core.InputSignal<number>;
879
883
  /** Border thickness override. Use `-1` to inherit. */
@@ -889,7 +893,6 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
889
893
  /** When `true`, the first available option is pre-selected on init. */
890
894
  readonly autoSelect: _angular_core.InputSignal<boolean>;
891
895
  constructor(ngControl: NgControl);
892
- ngOnInit(): void;
893
896
  ngOnDestroy(): void;
894
897
  /**
895
898
  * Writes a new value to the component (called by the form layer).
@@ -906,8 +909,19 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
906
909
  * @param fn - Callback to invoke when the control is touched.
907
910
  */
908
911
  registerOnTouched(fn: () => void): void;
912
+ /**
913
+ * Sets the ARIA described-by IDs for accessibility.
914
+ * @param ids - The list of element IDs to associate with this control.
915
+ */
909
916
  setDescribedByIds(ids: string[]): void;
910
- setDisabledState?(isDisabled: boolean): void;
917
+ /**
918
+ * Updates the disabled state when the Angular form layer changes it.
919
+ * @param isDisabled - Whether the control should be disabled.
920
+ */
921
+ setDisabledState(isDisabled: boolean): void;
922
+ /**
923
+ * Handles a click on the container element, focusing it and marking it as touched.
924
+ */
911
925
  onContainerClick(): void;
912
926
  /**
913
927
  * Selects an option and optionally emits the `selected` output event.
@@ -918,7 +932,7 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
918
932
  /** Clears the current selection and resets the control to an empty state. */
919
933
  reset(): void;
920
934
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonSelectorComponent, [{ optional: true; self: true; }]>;
921
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonSelectorComponent, "button-selector", never, { "disabled": { "alias": "disabled"; "required": false; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelSelected": { "alias": "labelSelected"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "autoSelect": { "alias": "autoSelect"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "selected": "selected"; }, never, never, true, never>;
935
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonSelectorComponent, "button-selector", never, { "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelSelected": { "alias": "labelSelected"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "autoSelect": { "alias": "autoSelect"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "selected": "selected"; }, never, never, true, never>;
922
936
  }
923
937
 
924
938
  interface ButtonToggleInfo {
@@ -928,8 +942,6 @@ interface ButtonToggleInfo {
928
942
  declare class ButtonToggleComponent {
929
943
  /** Emitted each time the button is clicked. Carries the current `value` and the new `toggled` state. */
930
944
  readonly changed: _angular_core.OutputEmitterRef<ButtonToggleInfo>;
931
- /** Tracks whether the button has been toggled (opposite of the current `value` input). */
932
- protected readonly toggled: _angular_core.WritableSignal<boolean>;
933
945
  /** Current value bound from the parent. Drives label and icon selection. */
934
946
  readonly value: _angular_core.InputSignal<boolean>;
935
947
  /** Width of the button in pixels. Use `-1` for automatic sizing. */
@@ -974,12 +986,12 @@ declare class CalendarEmptyHeader<D> {
974
986
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarEmptyHeader<any>, "ng-component", never, {}, {}, never, never, true, never>;
975
987
  }
976
988
 
977
- declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentInit, ControlValueAccessor {
989
+ declare class ChipsSelectorComponent implements OnDestroy, ControlValueAccessor {
978
990
  ngControl: NgControl;
979
991
  /** Emitted when the selection changes. Carries the new array of selected items, or `undefined` when cleared. */
980
992
  readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>[]>;
981
993
  protected readonly containerId: string;
982
- protected containerWidth: _angular_core.WritableSignal<number>;
994
+ protected readonly containerWidth: _angular_core.WritableSignal<number>;
983
995
  private focused;
984
996
  private readonly stateChanges;
985
997
  private readonly destroyRef;
@@ -1007,34 +1019,37 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1007
1019
  readonly stacked: _angular_core.InputSignal<boolean>;
1008
1020
  /** Chips below this index receive extra padding to align with other UI elements. */
1009
1021
  readonly padAt: _angular_core.InputSignal<number>;
1022
+ /** When `true`, the control is required. */
1023
+ readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
1024
+ /** Placeholder text shown when no value is selected. */
1025
+ readonly placeholder: _angular_core.InputSignal<string>;
1026
+ /** @internal Input signal for the disabled state (bound via the `[disabled]` attribute). */
1027
+ protected readonly _disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
1028
+ /** @internal Internal signal tracking the current disabled state (updated by the form layer and the input). */
1029
+ private readonly _disabled;
1030
+ /** True when the control is disabled, either via `[disabled]` input or via the Angular form layer. */
1031
+ get disabled(): boolean;
1032
+ id: string;
1033
+ describedBy: string;
1034
+ /** True when the label should float above the field (focused or has a value). */
1035
+ get shouldLabelFloat(): boolean;
1010
1036
  private _value?;
1011
1037
  set value(value: NameValueItem<any>[] | undefined);
1038
+ /** The current value as an array of selected items. */
1012
1039
  get value(): NameValueItem<any>[] | undefined;
1040
+ /** True when no item is selected. */
1013
1041
  get empty(): boolean;
1042
+ /** True when the control has validation errors and has been touched. */
1014
1043
  get errorState(): boolean;
1015
- private _required;
1016
- get required(): boolean;
1017
- set required(value: boolean);
1018
- private _disabled;
1019
- get disabled(): boolean;
1020
- set disabled(value: boolean);
1021
- private _placeholder;
1022
- get placeholder(): string;
1023
- set placeholder(value: string);
1024
1044
  private propagateChange;
1025
1045
  private propagateTouched;
1026
- id: string;
1027
- get shouldLabelFloat(): boolean;
1028
- describedBy: string;
1029
- private renderer;
1046
+ private readonly renderer;
1030
1047
  /** Currently selected items (may contain multiple entries when `multiple` is `true`). */
1031
1048
  protected selection: NameValueItem<any>[];
1032
1049
  /** The single selected item — used in `button` collapsed-display mode. */
1033
1050
  protected singleSelection?: NameValueItem<any>;
1034
1051
  constructor(ngControl: NgControl);
1035
- ngOnInit(): void;
1036
1052
  ngOnDestroy(): void;
1037
- ngAfterContentInit(): void;
1038
1053
  /**
1039
1054
  * Measures the container (or window) width and updates the `containerWidth` signal,
1040
1055
  * retrying after 100 ms if the element is not yet laid out.
@@ -1054,6 +1069,7 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1054
1069
  * Returns `true` when the given item can be selected in the current mode.
1055
1070
  * In single-select mode an already-selected item is not re-selectable.
1056
1071
  * @param item - The item to check.
1072
+ * @returns True when the item is selectable.
1057
1073
  */
1058
1074
  isSelectable(item: NameValueItem<any>): boolean;
1059
1075
  /**
@@ -1071,8 +1087,19 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1071
1087
  * @param fn - Callback to invoke when the control is touched.
1072
1088
  */
1073
1089
  registerOnTouched(fn: () => void): void;
1090
+ /**
1091
+ * Sets the ARIA described-by IDs for accessibility.
1092
+ * @param ids - The list of element IDs to associate with this control.
1093
+ */
1074
1094
  setDescribedByIds(ids: string[]): void;
1075
- setDisabledState?(isDisabled: boolean): void;
1095
+ /**
1096
+ * Updates the disabled state when the Angular form layer changes it.
1097
+ * @param isDisabled - Whether the control should be disabled.
1098
+ */
1099
+ setDisabledState(isDisabled: boolean): void;
1100
+ /**
1101
+ * Handles a click on the container element, focusing it and marking it as touched.
1102
+ */
1076
1103
  onContainerClick(): void;
1077
1104
  /**
1078
1105
  * Clears the current selection and stops the event from bubbling.
@@ -1085,12 +1112,13 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1085
1112
  */
1086
1113
  select(item?: NameValueItem<any>): void;
1087
1114
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipsSelectorComponent, [{ optional: true; self: true; }]>;
1088
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipsSelectorComponent, "chips-selector", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "collapsedWidth": { "alias": "collapsedWidth"; "required": false; "isSignal": true; }; "collapsedDisplayMode": { "alias": "collapsedDisplayMode"; "required": false; "isSignal": true; }; "collapseAt": { "alias": "collapseAt"; "required": false; "isSignal": true; }; "collapseAtContainer": { "alias": "collapseAtContainer"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "mustSelect": { "alias": "mustSelect"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "padAt": { "alias": "padAt"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "changed": "changed"; }, never, never, true, never>;
1115
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipsSelectorComponent, "chips-selector", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "collapsedWidth": { "alias": "collapsedWidth"; "required": false; "isSignal": true; }; "collapsedDisplayMode": { "alias": "collapsedDisplayMode"; "required": false; "isSignal": true; }; "collapseAt": { "alias": "collapseAt"; "required": false; "isSignal": true; }; "collapseAtContainer": { "alias": "collapseAtContainer"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "mustSelect": { "alias": "mustSelect"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "padAt": { "alias": "padAt"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
1089
1116
  }
1090
1117
 
1091
- declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormFieldControl<FileInfo>, ControlValueAccessor {
1118
+ declare class FileInputComponent implements OnDestroy, DoCheck, MatFormFieldControl<FileInfo>, ControlValueAccessor {
1092
1119
  ngControl: NgControl;
1093
- __file: ElementRef;
1120
+ /** Reference to the hidden native file input element. */
1121
+ protected readonly __file: _angular_core.Signal<ElementRef<any>>;
1094
1122
  private readonly renderer;
1095
1123
  private readonly uiService;
1096
1124
  static nextId: number;
@@ -1102,29 +1130,42 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1102
1130
  protected readonly canCapture: _angular_core.WritableSignal<boolean>;
1103
1131
  /** Size in MB of the currently selected file. */
1104
1132
  protected readonly fileSize: _angular_core.WritableSignal<number>;
1105
- private readonly _placeholder;
1133
+ /** Internal placeholder text, derived from the input and camera availability. */
1134
+ protected readonly _placeholder: _angular_core.WritableSignal<string>;
1106
1135
  private _value;
1107
1136
  set value(value: FileInfo);
1137
+ /** The current FileInfo value. */
1108
1138
  get value(): FileInfo;
1109
- get size(): any;
1110
- private _required;
1111
- get required(): boolean;
1112
- set required(value: boolean);
1113
- private _disabled;
1114
- get disabled(): boolean;
1115
- set disabled(value: boolean);
1116
- get placeholder(): string;
1117
- set placeholder(value: string);
1118
- fileName?: string;
1139
+ /** Size of the current file in bytes. */
1140
+ get size(): number | undefined;
1141
+ /** The currently displayed file name. Can be bound from outside or updated by file selection. */
1142
+ readonly fileName: _angular_core.ModelSignal<string>;
1119
1143
  readonly maxSizeMb: _angular_core.InputSignal<number>;
1120
1144
  readonly minSizeMb: _angular_core.InputSignal<number>;
1121
1145
  readonly isNew: _angular_core.InputSignal<boolean>;
1122
1146
  readonly canPreview: _angular_core.InputSignal<boolean>;
1123
1147
  readonly appearance: _angular_core.InputSignal<"fill" | "outline">;
1124
1148
  readonly accept: _angular_core.InputSignal<string>;
1149
+ /** @internal Input signal for the required state (bound via the `[required]` attribute). */
1150
+ protected readonly _requiredInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
1151
+ /** True when the control is required (implements `MatFormFieldControl.required`). */
1152
+ get required(): boolean;
1153
+ /** @internal Input signal for the placeholder text (bound via the `[placeholder]` attribute). */
1154
+ protected readonly _placeholderInput: _angular_core.InputSignal<string>;
1155
+ /** The effective placeholder label shown in the form field (implements `MatFormFieldControl.placeholder`). */
1156
+ get placeholder(): string;
1157
+ /** @internal Input signal for the disabled state (bound via the `[disabled]` attribute). */
1158
+ protected readonly _disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
1159
+ /** @internal Internal signal tracking the current disabled state. */
1160
+ private readonly _disabled;
1161
+ /** True when the control is disabled, either via `[disabled]` input or via the Angular form layer. */
1162
+ get disabled(): boolean;
1163
+ /** True when no file is selected. */
1125
1164
  get empty(): boolean;
1165
+ /** True when the control has validation errors and has been touched. */
1126
1166
  get errorState(): boolean;
1127
1167
  id: string;
1168
+ /** True when the label should float above the field. */
1128
1169
  get shouldLabelFloat(): boolean;
1129
1170
  describedBy: string;
1130
1171
  readonly changed: _angular_core.OutputEmitterRef<FileInfo>;
@@ -1133,13 +1174,12 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1133
1174
  private propagateChange;
1134
1175
  private propagateTouched;
1135
1176
  constructor(ngControl: NgControl);
1136
- ngOnInit(): Promise<void>;
1177
+ ngOnDestroy(): void;
1178
+ ngDoCheck(): void;
1137
1179
  /**
1138
- * Detects camera availability and updates the placeholder accordingly.
1180
+ * Detects camera availability and sets the default placeholder when none is explicitly provided.
1139
1181
  */
1140
1182
  private setupDevices;
1141
- ngOnDestroy(): void;
1142
- ngDoCheck(): void;
1143
1183
  /**
1144
1184
  * Writes a new value to the component (called by the form layer).
1145
1185
  * @param value - The new file info to display.
@@ -1161,10 +1201,10 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1161
1201
  */
1162
1202
  setDescribedByIds(ids: string[]): void;
1163
1203
  /**
1164
- * Updates the disabled state of the underlying native element.
1204
+ * Updates the disabled state when the Angular form layer changes it.
1165
1205
  * @param isDisabled - Whether the control should be disabled.
1166
1206
  */
1167
- setDisabledState?(isDisabled: boolean): void;
1207
+ setDisabledState(isDisabled: boolean): void;
1168
1208
  /** Focuses the native input element and marks the control as touched. */
1169
1209
  onContainerClick(): void;
1170
1210
  /**
@@ -1194,7 +1234,7 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1194
1234
  */
1195
1235
  protected previewFile(): void;
1196
1236
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileInputComponent, [{ optional: true; self: true; }]>;
1197
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileInputComponent, "file-input", never, { "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; "maxSizeMb": { "alias": "maxSizeMb"; "required": false; "isSignal": true; }; "minSizeMb": { "alias": "minSizeMb"; "required": false; "isSignal": true; }; "isNew": { "alias": "isNew"; "required": false; "isSignal": true; }; "canPreview": { "alias": "canPreview"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "download": "download"; "preview": "preview"; }, never, never, true, never>;
1237
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileInputComponent, "file-input", never, { "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "maxSizeMb": { "alias": "maxSizeMb"; "required": false; "isSignal": true; }; "minSizeMb": { "alias": "minSizeMb"; "required": false; "isSignal": true; }; "isNew": { "alias": "isNew"; "required": false; "isSignal": true; }; "canPreview": { "alias": "canPreview"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "_requiredInput": { "alias": "required"; "required": false; "isSignal": true; }; "_placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "fileName": "fileNameChange"; "changed": "changed"; "download": "download"; "preview": "preview"; }, never, never, true, never>;
1198
1238
  }
1199
1239
 
1200
1240
  interface FilePreviewDialogData {
@@ -1226,16 +1266,14 @@ declare class FilePreviewComponent {
1226
1266
  }
1227
1267
 
1228
1268
  declare class FilterBarComponent {
1269
+ /** Emitted whenever any filter value changes. */
1229
1270
  readonly changed: _angular_core.OutputEmitterRef<CurrentFilterChanged>;
1230
- readonly filters: _angular_core.InputSignal<any>;
1231
- readonly canFilterByFlt1: _angular_core.WritableSignal<boolean>;
1232
- readonly canFilterByFlt2: _angular_core.WritableSignal<boolean>;
1233
- readonly canFilterByFlt3: _angular_core.WritableSignal<boolean>;
1234
- readonly canFilterByFlt4: _angular_core.WritableSignal<boolean>;
1235
- readonly canFilterByFlt5: _angular_core.WritableSignal<boolean>;
1271
+ /** The list of filter groups to display. */
1272
+ readonly filters: _angular_core.InputSignal<FilterGroup[]>;
1236
1273
  readonly canFilterByText: _angular_core.InputSignal<boolean>;
1237
1274
  readonly canFilterByText2: _angular_core.InputSignal<boolean>;
1238
1275
  readonly canFilterByText3: _angular_core.InputSignal<boolean>;
1276
+ /** Initial text values for the search inputs — synced into the model signals on change. */
1239
1277
  readonly initialText: _angular_core.InputSignal<string>;
1240
1278
  readonly initialText2: _angular_core.InputSignal<string>;
1241
1279
  readonly initialText3: _angular_core.InputSignal<string>;
@@ -1247,17 +1285,36 @@ declare class FilterBarComponent {
1247
1285
  readonly text3Length: _angular_core.InputSignal<string>;
1248
1286
  readonly showTextSearchButton: _angular_core.InputSignal<boolean>;
1249
1287
  readonly appearance: _angular_core.InputSignal<"fill" | "outline">;
1250
- protected text?: string;
1251
- protected text2?: string;
1252
- protected text3?: string;
1253
- protected flt1: FilterGroup | undefined;
1254
- protected flt2: FilterGroup | undefined;
1255
- protected flt3: FilterGroup | undefined;
1256
- protected flt4: FilterGroup | undefined;
1257
- protected flt5: FilterGroup | undefined;
1288
+ /** Two-way bindable text filter values. */
1289
+ protected readonly text: _angular_core.ModelSignal<string>;
1290
+ protected readonly text2: _angular_core.ModelSignal<string>;
1291
+ protected readonly text3: _angular_core.ModelSignal<string>;
1292
+ /** Filter group for slot 1, derived reactively from the `filters` input. */
1293
+ protected readonly flt1: _angular_core.Signal<FilterGroup>;
1294
+ /** Filter group for slot 2, derived reactively from the `filters` input. */
1295
+ protected readonly flt2: _angular_core.Signal<FilterGroup>;
1296
+ /** Filter group for slot 3, derived reactively from the `filters` input. */
1297
+ protected readonly flt3: _angular_core.Signal<FilterGroup>;
1298
+ /** Filter group for slot 4, derived reactively from the `filters` input. */
1299
+ protected readonly flt4: _angular_core.Signal<FilterGroup>;
1300
+ /** Filter group for slot 5, derived reactively from the `filters` input. */
1301
+ protected readonly flt5: _angular_core.Signal<FilterGroup>;
1302
+ /** True when filter slot 1 has an action or item list. */
1303
+ protected readonly canFilterByFlt1: _angular_core.Signal<boolean>;
1304
+ /** True when filter slot 2 has an action or item list. */
1305
+ protected readonly canFilterByFlt2: _angular_core.Signal<boolean>;
1306
+ /** True when filter slot 3 has an action or item list. */
1307
+ protected readonly canFilterByFlt3: _angular_core.Signal<boolean>;
1308
+ /** True when filter slot 4 has an action or item list. */
1309
+ protected readonly canFilterByFlt4: _angular_core.Signal<boolean>;
1310
+ /** True when filter slot 5 has an action or item list. */
1311
+ protected readonly canFilterByFlt5: _angular_core.Signal<boolean>;
1258
1312
  readonly currentFilter: CurrentFilter;
1259
1313
  constructor();
1260
- /** Reads the `filters` input and populates the filter group fields and capability signals. */
1314
+ /**
1315
+ * No-op kept for API compatibility.
1316
+ * Filter groups are now computed reactively from the `filters()` input.
1317
+ */
1261
1318
  initializeFilters(): void;
1262
1319
  /**
1263
1320
  * Applies the selected filter item to the current filter state and emits the change.
@@ -1281,17 +1338,19 @@ declare class FilterBarComponent {
1281
1338
  clearAllFilters(): void;
1282
1339
  /**
1283
1340
  * Returns `true` when more than one filter type is active, showing the "clear all" button.
1341
+ * @returns True when the clear-all button should be visible.
1284
1342
  */
1285
1343
  canClearAllFilters(): boolean;
1286
1344
  /**
1287
1345
  * Returns the filter group matching the given id, or `undefined` if not found.
1288
1346
  * @param id - The group id to look up.
1347
+ * @returns The matching `FilterGroup`, or `undefined`.
1289
1348
  */
1290
1349
  private getFilterGroup;
1291
1350
  /** Synchronises the filter bar display with the values currently stored in `currentFilter`. */
1292
1351
  syncFilter(): void;
1293
1352
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterBarComponent, never>;
1294
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterBarComponent, "filter-bar", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "canFilterByText": { "alias": "canFilterByText"; "required": false; "isSignal": true; }; "canFilterByText2": { "alias": "canFilterByText2"; "required": false; "isSignal": true; }; "canFilterByText3": { "alias": "canFilterByText3"; "required": false; "isSignal": true; }; "initialText": { "alias": "initialText"; "required": false; "isSignal": true; }; "initialText2": { "alias": "initialText2"; "required": false; "isSignal": true; }; "initialText3": { "alias": "initialText3"; "required": false; "isSignal": true; }; "textName": { "alias": "textName"; "required": false; "isSignal": true; }; "text2Name": { "alias": "text2Name"; "required": false; "isSignal": true; }; "text3Name": { "alias": "text3Name"; "required": false; "isSignal": true; }; "textLength": { "alias": "textLength"; "required": false; "isSignal": true; }; "text2Length": { "alias": "text2Length"; "required": false; "isSignal": true; }; "text3Length": { "alias": "text3Length"; "required": false; "isSignal": true; }; "showTextSearchButton": { "alias": "showTextSearchButton"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
1353
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterBarComponent, "filter-bar", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "canFilterByText": { "alias": "canFilterByText"; "required": false; "isSignal": true; }; "canFilterByText2": { "alias": "canFilterByText2"; "required": false; "isSignal": true; }; "canFilterByText3": { "alias": "canFilterByText3"; "required": false; "isSignal": true; }; "initialText": { "alias": "initialText"; "required": false; "isSignal": true; }; "initialText2": { "alias": "initialText2"; "required": false; "isSignal": true; }; "initialText3": { "alias": "initialText3"; "required": false; "isSignal": true; }; "textName": { "alias": "textName"; "required": false; "isSignal": true; }; "text2Name": { "alias": "text2Name"; "required": false; "isSignal": true; }; "text3Name": { "alias": "text3Name"; "required": false; "isSignal": true; }; "textLength": { "alias": "textLength"; "required": false; "isSignal": true; }; "text2Length": { "alias": "text2Length"; "required": false; "isSignal": true; }; "text3Length": { "alias": "text3Length"; "required": false; "isSignal": true; }; "showTextSearchButton": { "alias": "showTextSearchButton"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "text2": { "alias": "text2"; "required": false; "isSignal": true; }; "text3": { "alias": "text3"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "text": "textChange"; "text2": "text2Change"; "text3": "text3Change"; }, never, never, true, never>;
1295
1354
  }
1296
1355
 
1297
1356
  export { ApplicationDialogService, ArsUIApplicationModule, ButtonSelectorComponent, ButtonToggleComponent, CalendarEmptyHeader, ChipsSelectorComponent, CurrentFilter, CurrentFilterChanged, CurrentFilterItem, FileInputComponent, FilePreviewComponent, FilterBarComponent, Filters, ItemNode, PromptDateDialogComponent, PromptDialogComponent, PromptDialogType, PromptOtpDialogComponent, PromptTimeDialogComponent, ResizeTableColumnDirective, SelectDialogComponent, SelectFileDialogComponent, SelectPictureDialogComponent, SelectTreeDialogComponent, SelectableItem, SelectableNode, SendToDialogComponent, TreeDataSource };