@arsedizioni/ars-utils 21.2.296 → 21.2.298

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.298",
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,6 +863,7 @@ 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
868
  private _disabled;
868
869
  get disabled(): boolean;
@@ -871,9 +872,9 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
871
872
  private propagateTouched;
872
873
  id: string;
873
874
  describedBy: string;
874
- private renderer;
875
+ private readonly renderer;
875
876
  /** Currently selected item, kept in sync with the form control value. */
876
- protected current: _angular_core.WritableSignal<NameValueItem<any>>;
877
+ protected readonly current: _angular_core.WritableSignal<NameValueItem<any>>;
877
878
  /** Width of the trigger button in pixels. Use `-1` for 100 %, `0` for `auto`. */
878
879
  readonly width: _angular_core.InputSignal<number>;
879
880
  /** Border thickness override. Use `-1` to inherit. */
@@ -889,7 +890,6 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
889
890
  /** When `true`, the first available option is pre-selected on init. */
890
891
  readonly autoSelect: _angular_core.InputSignal<boolean>;
891
892
  constructor(ngControl: NgControl);
892
- ngOnInit(): void;
893
893
  ngOnDestroy(): void;
894
894
  /**
895
895
  * Writes a new value to the component (called by the form layer).
@@ -906,8 +906,19 @@ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValue
906
906
  * @param fn - Callback to invoke when the control is touched.
907
907
  */
908
908
  registerOnTouched(fn: () => void): void;
909
+ /**
910
+ * Sets the ARIA described-by IDs for accessibility.
911
+ * @param ids - The list of element IDs to associate with this control.
912
+ */
909
913
  setDescribedByIds(ids: string[]): void;
910
- setDisabledState?(isDisabled: boolean): void;
914
+ /**
915
+ * Updates the disabled state when the Angular form layer changes it.
916
+ * @param isDisabled - Whether the control should be disabled.
917
+ */
918
+ setDisabledState(isDisabled: boolean): void;
919
+ /**
920
+ * Handles a click on the container element, focusing it and marking it as touched.
921
+ */
911
922
  onContainerClick(): void;
912
923
  /**
913
924
  * Selects an option and optionally emits the `selected` output event.
@@ -928,8 +939,6 @@ interface ButtonToggleInfo {
928
939
  declare class ButtonToggleComponent {
929
940
  /** Emitted each time the button is clicked. Carries the current `value` and the new `toggled` state. */
930
941
  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
942
  /** Current value bound from the parent. Drives label and icon selection. */
934
943
  readonly value: _angular_core.InputSignal<boolean>;
935
944
  /** Width of the button in pixels. Use `-1` for automatic sizing. */
@@ -974,12 +983,12 @@ declare class CalendarEmptyHeader<D> {
974
983
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarEmptyHeader<any>, "ng-component", never, {}, {}, never, never, true, never>;
975
984
  }
976
985
 
977
- declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentInit, ControlValueAccessor {
986
+ declare class ChipsSelectorComponent implements OnDestroy, ControlValueAccessor {
978
987
  ngControl: NgControl;
979
988
  /** Emitted when the selection changes. Carries the new array of selected items, or `undefined` when cleared. */
980
989
  readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>[]>;
981
990
  protected readonly containerId: string;
982
- protected containerWidth: _angular_core.WritableSignal<number>;
991
+ protected readonly containerWidth: _angular_core.WritableSignal<number>;
983
992
  private focused;
984
993
  private readonly stateChanges;
985
994
  private readonly destroyRef;
@@ -989,7 +998,7 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
989
998
  /** Minimum width in pixels when collapsed. Use `-1` for automatic. */
990
999
  readonly collapsedWidth: _angular_core.InputSignal<number>;
991
1000
  /** Display mode used when the selector is in collapsed state. */
992
- readonly collapsedDisplayMode: _angular_core.InputSignal<"button" | "dropdown">;
1001
+ readonly collapsedDisplayMode: _angular_core.InputSignal<"dropdown" | "button">;
993
1002
  /** Pixel threshold below which the selector collapses. Use `-1` to disable. */
994
1003
  readonly collapseAt: _angular_core.InputSignal<number>;
995
1004
  /** When `true`, `collapseAt` is compared against the container width rather than the window width. */
@@ -1007,34 +1016,34 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1007
1016
  readonly stacked: _angular_core.InputSignal<boolean>;
1008
1017
  /** Chips below this index receive extra padding to align with other UI elements. */
1009
1018
  readonly padAt: _angular_core.InputSignal<number>;
1019
+ /** When `true`, the control is required. */
1020
+ readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
1021
+ /** Placeholder text shown when no value is selected. */
1022
+ readonly placeholder: _angular_core.InputSignal<string>;
1023
+ private _disabled;
1024
+ get disabled(): boolean;
1025
+ set disabled(value: boolean);
1026
+ id: string;
1027
+ describedBy: string;
1028
+ /** True when the label should float above the field (focused or has a value). */
1029
+ get shouldLabelFloat(): boolean;
1010
1030
  private _value?;
1011
1031
  set value(value: NameValueItem<any>[] | undefined);
1032
+ /** The current value as an array of selected items. */
1012
1033
  get value(): NameValueItem<any>[] | undefined;
1034
+ /** True when no item is selected. */
1013
1035
  get empty(): boolean;
1036
+ /** True when the control has validation errors and has been touched. */
1014
1037
  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
1038
  private propagateChange;
1025
1039
  private propagateTouched;
1026
- id: string;
1027
- get shouldLabelFloat(): boolean;
1028
- describedBy: string;
1029
- private renderer;
1040
+ private readonly renderer;
1030
1041
  /** Currently selected items (may contain multiple entries when `multiple` is `true`). */
1031
1042
  protected selection: NameValueItem<any>[];
1032
1043
  /** The single selected item — used in `button` collapsed-display mode. */
1033
1044
  protected singleSelection?: NameValueItem<any>;
1034
1045
  constructor(ngControl: NgControl);
1035
- ngOnInit(): void;
1036
1046
  ngOnDestroy(): void;
1037
- ngAfterContentInit(): void;
1038
1047
  /**
1039
1048
  * Measures the container (or window) width and updates the `containerWidth` signal,
1040
1049
  * retrying after 100 ms if the element is not yet laid out.
@@ -1054,6 +1063,7 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1054
1063
  * Returns `true` when the given item can be selected in the current mode.
1055
1064
  * In single-select mode an already-selected item is not re-selectable.
1056
1065
  * @param item - The item to check.
1066
+ * @returns True when the item is selectable.
1057
1067
  */
1058
1068
  isSelectable(item: NameValueItem<any>): boolean;
1059
1069
  /**
@@ -1071,8 +1081,19 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1071
1081
  * @param fn - Callback to invoke when the control is touched.
1072
1082
  */
1073
1083
  registerOnTouched(fn: () => void): void;
1084
+ /**
1085
+ * Sets the ARIA described-by IDs for accessibility.
1086
+ * @param ids - The list of element IDs to associate with this control.
1087
+ */
1074
1088
  setDescribedByIds(ids: string[]): void;
1075
- setDisabledState?(isDisabled: boolean): void;
1089
+ /**
1090
+ * Updates the disabled state when the Angular form layer changes it.
1091
+ * @param isDisabled - Whether the control should be disabled.
1092
+ */
1093
+ setDisabledState(isDisabled: boolean): void;
1094
+ /**
1095
+ * Handles a click on the container element, focusing it and marking it as touched.
1096
+ */
1076
1097
  onContainerClick(): void;
1077
1098
  /**
1078
1099
  * Clears the current selection and stops the event from bubbling.
@@ -1085,12 +1106,13 @@ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentI
1085
1106
  */
1086
1107
  select(item?: NameValueItem<any>): void;
1087
1108
  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>;
1109
+ 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; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "changed": "changed"; }, never, never, true, never>;
1089
1110
  }
1090
1111
 
1091
- declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormFieldControl<FileInfo>, ControlValueAccessor {
1112
+ declare class FileInputComponent implements OnDestroy, DoCheck, MatFormFieldControl<FileInfo>, ControlValueAccessor {
1092
1113
  ngControl: NgControl;
1093
- __file: ElementRef;
1114
+ /** Reference to the hidden native file input element. */
1115
+ protected readonly __file: _angular_core.Signal<ElementRef<any>>;
1094
1116
  private readonly renderer;
1095
1117
  private readonly uiService;
1096
1118
  static nextId: number;
@@ -1102,29 +1124,39 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1102
1124
  protected readonly canCapture: _angular_core.WritableSignal<boolean>;
1103
1125
  /** Size in MB of the currently selected file. */
1104
1126
  protected readonly fileSize: _angular_core.WritableSignal<number>;
1105
- private readonly _placeholder;
1127
+ /** Internal placeholder text, derived from the input and camera availability. */
1128
+ protected readonly _placeholder: _angular_core.WritableSignal<string>;
1106
1129
  private _value;
1107
1130
  set value(value: FileInfo);
1131
+ /** The current FileInfo value. */
1108
1132
  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;
1133
+ /** Size of the current file in bytes. */
1134
+ get size(): number | undefined;
1135
+ /** The currently displayed file name. Can be bound from outside or updated by file selection. */
1136
+ readonly fileName: _angular_core.ModelSignal<string>;
1119
1137
  readonly maxSizeMb: _angular_core.InputSignal<number>;
1120
1138
  readonly minSizeMb: _angular_core.InputSignal<number>;
1121
1139
  readonly isNew: _angular_core.InputSignal<boolean>;
1122
1140
  readonly canPreview: _angular_core.InputSignal<boolean>;
1123
1141
  readonly appearance: _angular_core.InputSignal<"fill" | "outline">;
1124
1142
  readonly accept: _angular_core.InputSignal<string>;
1143
+ /** @internal Input signal for the required state (bound via the `[required]` attribute). */
1144
+ protected readonly _requiredInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
1145
+ /** True when the control is required (implements `MatFormFieldControl.required`). */
1146
+ get required(): boolean;
1147
+ /** @internal Input signal for the placeholder text (bound via the `[placeholder]` attribute). */
1148
+ protected readonly _placeholderInput: _angular_core.InputSignal<string>;
1149
+ /** The effective placeholder label shown in the form field (implements `MatFormFieldControl.placeholder`). */
1150
+ get placeholder(): string;
1151
+ private _disabled;
1152
+ get disabled(): boolean;
1153
+ set disabled(value: boolean);
1154
+ /** True when no file is selected. */
1125
1155
  get empty(): boolean;
1156
+ /** True when the control has validation errors and has been touched. */
1126
1157
  get errorState(): boolean;
1127
1158
  id: string;
1159
+ /** True when the label should float above the field. */
1128
1160
  get shouldLabelFloat(): boolean;
1129
1161
  describedBy: string;
1130
1162
  readonly changed: _angular_core.OutputEmitterRef<FileInfo>;
@@ -1133,13 +1165,12 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1133
1165
  private propagateChange;
1134
1166
  private propagateTouched;
1135
1167
  constructor(ngControl: NgControl);
1136
- ngOnInit(): Promise<void>;
1168
+ ngOnDestroy(): void;
1169
+ ngDoCheck(): void;
1137
1170
  /**
1138
- * Detects camera availability and updates the placeholder accordingly.
1171
+ * Detects camera availability and sets the default placeholder when none is explicitly provided.
1139
1172
  */
1140
1173
  private setupDevices;
1141
- ngOnDestroy(): void;
1142
- ngDoCheck(): void;
1143
1174
  /**
1144
1175
  * Writes a new value to the component (called by the form layer).
1145
1176
  * @param value - The new file info to display.
@@ -1161,10 +1192,10 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1161
1192
  */
1162
1193
  setDescribedByIds(ids: string[]): void;
1163
1194
  /**
1164
- * Updates the disabled state of the underlying native element.
1195
+ * Updates the disabled state when the Angular form layer changes it.
1165
1196
  * @param isDisabled - Whether the control should be disabled.
1166
1197
  */
1167
- setDisabledState?(isDisabled: boolean): void;
1198
+ setDisabledState(isDisabled: boolean): void;
1168
1199
  /** Focuses the native input element and marks the control as touched. */
1169
1200
  onContainerClick(): void;
1170
1201
  /**
@@ -1194,7 +1225,7 @@ declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormF
1194
1225
  */
1195
1226
  protected previewFile(): void;
1196
1227
  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>;
1228
+ 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; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "fileName": "fileNameChange"; "changed": "changed"; "download": "download"; "preview": "preview"; }, never, never, true, never>;
1198
1229
  }
1199
1230
 
1200
1231
  interface FilePreviewDialogData {
@@ -1226,16 +1257,14 @@ declare class FilePreviewComponent {
1226
1257
  }
1227
1258
 
1228
1259
  declare class FilterBarComponent {
1260
+ /** Emitted whenever any filter value changes. */
1229
1261
  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>;
1262
+ /** The list of filter groups to display. */
1263
+ readonly filters: _angular_core.InputSignal<FilterGroup[]>;
1236
1264
  readonly canFilterByText: _angular_core.InputSignal<boolean>;
1237
1265
  readonly canFilterByText2: _angular_core.InputSignal<boolean>;
1238
1266
  readonly canFilterByText3: _angular_core.InputSignal<boolean>;
1267
+ /** Initial text values for the search inputs — synced into the model signals on change. */
1239
1268
  readonly initialText: _angular_core.InputSignal<string>;
1240
1269
  readonly initialText2: _angular_core.InputSignal<string>;
1241
1270
  readonly initialText3: _angular_core.InputSignal<string>;
@@ -1247,17 +1276,36 @@ declare class FilterBarComponent {
1247
1276
  readonly text3Length: _angular_core.InputSignal<string>;
1248
1277
  readonly showTextSearchButton: _angular_core.InputSignal<boolean>;
1249
1278
  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;
1279
+ /** Two-way bindable text filter values. */
1280
+ protected readonly text: _angular_core.ModelSignal<string>;
1281
+ protected readonly text2: _angular_core.ModelSignal<string>;
1282
+ protected readonly text3: _angular_core.ModelSignal<string>;
1283
+ /** Filter group for slot 1, derived reactively from the `filters` input. */
1284
+ protected readonly flt1: _angular_core.Signal<FilterGroup>;
1285
+ /** Filter group for slot 2, derived reactively from the `filters` input. */
1286
+ protected readonly flt2: _angular_core.Signal<FilterGroup>;
1287
+ /** Filter group for slot 3, derived reactively from the `filters` input. */
1288
+ protected readonly flt3: _angular_core.Signal<FilterGroup>;
1289
+ /** Filter group for slot 4, derived reactively from the `filters` input. */
1290
+ protected readonly flt4: _angular_core.Signal<FilterGroup>;
1291
+ /** Filter group for slot 5, derived reactively from the `filters` input. */
1292
+ protected readonly flt5: _angular_core.Signal<FilterGroup>;
1293
+ /** True when filter slot 1 has an action or item list. */
1294
+ protected readonly canFilterByFlt1: _angular_core.Signal<boolean>;
1295
+ /** True when filter slot 2 has an action or item list. */
1296
+ protected readonly canFilterByFlt2: _angular_core.Signal<boolean>;
1297
+ /** True when filter slot 3 has an action or item list. */
1298
+ protected readonly canFilterByFlt3: _angular_core.Signal<boolean>;
1299
+ /** True when filter slot 4 has an action or item list. */
1300
+ protected readonly canFilterByFlt4: _angular_core.Signal<boolean>;
1301
+ /** True when filter slot 5 has an action or item list. */
1302
+ protected readonly canFilterByFlt5: _angular_core.Signal<boolean>;
1258
1303
  readonly currentFilter: CurrentFilter;
1259
1304
  constructor();
1260
- /** Reads the `filters` input and populates the filter group fields and capability signals. */
1305
+ /**
1306
+ * No-op kept for API compatibility.
1307
+ * Filter groups are now computed reactively from the `filters()` input.
1308
+ */
1261
1309
  initializeFilters(): void;
1262
1310
  /**
1263
1311
  * Applies the selected filter item to the current filter state and emits the change.
@@ -1281,17 +1329,19 @@ declare class FilterBarComponent {
1281
1329
  clearAllFilters(): void;
1282
1330
  /**
1283
1331
  * Returns `true` when more than one filter type is active, showing the "clear all" button.
1332
+ * @returns True when the clear-all button should be visible.
1284
1333
  */
1285
1334
  canClearAllFilters(): boolean;
1286
1335
  /**
1287
1336
  * Returns the filter group matching the given id, or `undefined` if not found.
1288
1337
  * @param id - The group id to look up.
1338
+ * @returns The matching `FilterGroup`, or `undefined`.
1289
1339
  */
1290
1340
  private getFilterGroup;
1291
1341
  /** Synchronises the filter bar display with the values currently stored in `currentFilter`. */
1292
1342
  syncFilter(): void;
1293
1343
  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>;
1344
+ 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
1345
  }
1296
1346
 
1297
1347
  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 };