@arsedizioni/ars-utils 21.2.220 → 21.2.222

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.
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, OnDestroy, DoCheck, ElementRef, AfterContentInit } from '@angular/core';
2
+ import { OnInit, OnDestroy, AfterContentInit, 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';
@@ -841,6 +841,241 @@ declare class ArsUIApplicationModule {
841
841
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<ArsUIApplicationModule>;
842
842
  }
843
843
 
844
+ declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValueAccessor {
845
+ ngControl: NgControl;
846
+ /** Emitted whenever the selected value changes (including programmatic resets). */
847
+ readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>>;
848
+ /** Emitted when the user explicitly picks an item from the menu. */
849
+ readonly selected: _angular_core.OutputEmitterRef<NameValueItem<any>>;
850
+ private readonly stateChanges;
851
+ private focused;
852
+ private _value;
853
+ set value(value: NameValueItem<any> | undefined);
854
+ get value(): NameValueItem<any> | undefined;
855
+ private _disabled;
856
+ get disabled(): boolean;
857
+ set disabled(value: boolean);
858
+ private propagateChange;
859
+ private propagateTouched;
860
+ id: string;
861
+ describedBy: string;
862
+ private renderer;
863
+ /** Currently selected item, kept in sync with the form control value. */
864
+ protected current: _angular_core.WritableSignal<NameValueItem<any>>;
865
+ /** Width of the trigger button in pixels. Use `-1` for 100 %, `0` for `auto`. */
866
+ readonly width: _angular_core.InputSignal<number>;
867
+ /** Border thickness override. Use `-1` to inherit. */
868
+ readonly border: _angular_core.InputSignal<number>;
869
+ /** CSS border-radius of the trigger button. Defaults to a pill shape. */
870
+ readonly borderRadius: _angular_core.InputSignal<string>;
871
+ /** Placeholder label shown when nothing is selected. */
872
+ readonly label: _angular_core.InputSignal<string>;
873
+ /** Label shown above the selected value (replaces `label` when an item is selected). */
874
+ readonly labelSelected: _angular_core.InputSignal<string>;
875
+ /** List of selectable options. */
876
+ readonly options: _angular_core.InputSignal<NameValueItem<any>[]>;
877
+ /** When `true`, the first available option is pre-selected on init. */
878
+ readonly autoSelect: _angular_core.InputSignal<boolean>;
879
+ constructor(ngControl: NgControl);
880
+ ngOnInit(): void;
881
+ ngOnDestroy(): void;
882
+ /**
883
+ * Writes a new value to the component (called by the form layer).
884
+ * @param value - The new value to display.
885
+ */
886
+ writeValue(value: any): void;
887
+ /**
888
+ * Registers the on-change callback (called by the form layer).
889
+ * @param fn - Callback to invoke whenever the value changes.
890
+ */
891
+ registerOnChange(fn: (_: any) => void): void;
892
+ /**
893
+ * Registers the on-touched callback (called by the form layer).
894
+ * @param fn - Callback to invoke when the control is touched.
895
+ */
896
+ registerOnTouched(fn: () => void): void;
897
+ setDescribedByIds(ids: string[]): void;
898
+ setDisabledState?(isDisabled: boolean): void;
899
+ onContainerClick(): void;
900
+ /**
901
+ * Selects an option and optionally emits the `selected` output event.
902
+ * @param item - The item to select.
903
+ * @param notify - When `true` (default), emits the `selected` event.
904
+ */
905
+ select(item: NameValueItem<any>, notify?: boolean): void;
906
+ /** Clears the current selection and resets the control to an empty state. */
907
+ reset(): void;
908
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonSelectorComponent, [{ optional: true; self: true; }]>;
909
+ 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>;
910
+ }
911
+
912
+ interface ButtonToggleInfo {
913
+ value: boolean;
914
+ toggled: boolean;
915
+ }
916
+ declare class ButtonToggleComponent {
917
+ /** Emitted each time the button is clicked. Carries the current `value` and the new `toggled` state. */
918
+ readonly changed: _angular_core.OutputEmitterRef<ButtonToggleInfo>;
919
+ /** Tracks whether the button has been toggled (opposite of the current `value` input). */
920
+ protected readonly toggled: _angular_core.WritableSignal<boolean>;
921
+ /** Current value bound from the parent. Drives label and icon selection. */
922
+ readonly value: _angular_core.InputSignal<boolean>;
923
+ /** Width of the button in pixels. Use `-1` for automatic sizing. */
924
+ readonly width: _angular_core.InputSignal<number>;
925
+ /** Border thickness override in pixels. Use `-1` to inherit. */
926
+ readonly border: _angular_core.InputSignal<number>;
927
+ /** Label shown when `value` is `true`. */
928
+ readonly labelOn: _angular_core.InputSignal<string>;
929
+ /** Label shown when `value` is `false`. */
930
+ readonly labelOff: _angular_core.InputSignal<string>;
931
+ /** Material icon name shown when `value` is `true`. */
932
+ readonly iconOn: _angular_core.InputSignal<string>;
933
+ /** Material icon name shown when `value` is `false`. */
934
+ readonly iconOff: _angular_core.InputSignal<string>;
935
+ /** CSS class applied to the button at all breakpoints. */
936
+ readonly cssClass: _angular_core.InputSignal<string>;
937
+ /** CSS class applied to the button on `xs` screens. */
938
+ readonly cssClassSmall: _angular_core.InputSignal<string>;
939
+ /** Resolves the appropriate label for the current value state. */
940
+ protected readonly label: _angular_core.Signal<string>;
941
+ /** Resolves the appropriate icon name for the current value state. */
942
+ protected readonly icon: _angular_core.Signal<string>;
943
+ /**
944
+ * Toggles the button state and emits the `changed` event.
945
+ * The emitted `toggled` value is the logical inverse of the current `value`.
946
+ */
947
+ toggle(): void;
948
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonToggleComponent, never>;
949
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggleComponent, "button-toggle", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "labelOn": { "alias": "labelOn"; "required": false; "isSignal": true; }; "labelOff": { "alias": "labelOff"; "required": false; "isSignal": true; }; "iconOn": { "alias": "iconOn"; "required": false; "isSignal": true; }; "iconOff": { "alias": "iconOff"; "required": false; "isSignal": true; }; "cssClass": { "alias": "cssClass"; "required": false; "isSignal": true; }; "cssClassSmall": { "alias": "cssClassSmall"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
950
+ }
951
+
952
+ /**
953
+ * A blank calendar header that hides the month/year navigation controls.
954
+ * Used when an inline calendar should render without any navigation UI.
955
+ */
956
+ declare class CalendarEmptyHeader<D> {
957
+ private readonly destroyRef;
958
+ private readonly calendar;
959
+ private readonly changeDetector;
960
+ constructor();
961
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarEmptyHeader<any>, never>;
962
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarEmptyHeader<any>, "ng-component", never, {}, {}, never, never, true, never>;
963
+ }
964
+
965
+ declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentInit, ControlValueAccessor {
966
+ ngControl: NgControl;
967
+ /** Emitted when the selection changes. Carries the new array of selected items, or `undefined` when cleared. */
968
+ readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>[]>;
969
+ protected readonly containerId: string;
970
+ protected containerWidth: _angular_core.WritableSignal<number>;
971
+ private focused;
972
+ private readonly stateChanges;
973
+ private readonly destroyRef;
974
+ private changesEnabled;
975
+ /** List of available options to display as chips. */
976
+ readonly options: _angular_core.InputSignal<NameValueItem<any>[]>;
977
+ /** Minimum width in pixels when collapsed. Use `-1` for automatic. */
978
+ readonly collapsedWidth: _angular_core.InputSignal<number>;
979
+ /** Display mode used when the selector is in collapsed state. */
980
+ readonly collapsedDisplayMode: _angular_core.InputSignal<"button" | "dropdown">;
981
+ /** Pixel threshold below which the selector collapses. Use `-1` to disable. */
982
+ readonly collapseAt: _angular_core.InputSignal<number>;
983
+ /** When `true`, `collapseAt` is compared against the container width rather than the window width. */
984
+ readonly collapseAtContainer: _angular_core.InputSignal<boolean>;
985
+ protected readonly collapsed: _angular_core.Signal<boolean>;
986
+ /** Label shown in the dropdown / above the chip list. */
987
+ readonly label: _angular_core.InputSignal<string>;
988
+ /** When `true`, multiple chips can be selected simultaneously. */
989
+ readonly multiple: _angular_core.InputSignal<boolean>;
990
+ /** When `true`, at least one item must remain selected. */
991
+ readonly mustSelect: _angular_core.InputSignal<boolean>;
992
+ /** Layout mode: `'collapsed'` forces dropdown mode, `'dynamic'` collapses based on `collapseAt`. */
993
+ readonly mode: _angular_core.InputSignal<"collapsed" | "dynamic">;
994
+ /** When `true`, chips are stacked vertically instead of wrapping horizontally. */
995
+ readonly stacked: _angular_core.InputSignal<boolean>;
996
+ /** Chips below this index receive extra padding to align with other UI elements. */
997
+ readonly padAt: _angular_core.InputSignal<number>;
998
+ private _value?;
999
+ set value(value: NameValueItem<any>[] | undefined);
1000
+ get value(): NameValueItem<any>[] | undefined;
1001
+ get empty(): boolean;
1002
+ get errorState(): boolean;
1003
+ private _required;
1004
+ get required(): boolean;
1005
+ set required(value: boolean);
1006
+ private _disabled;
1007
+ get disabled(): boolean;
1008
+ set disabled(value: boolean);
1009
+ private _placeholder;
1010
+ get placeholder(): string;
1011
+ set placeholder(value: string);
1012
+ private propagateChange;
1013
+ private propagateTouched;
1014
+ id: string;
1015
+ get shouldLabelFloat(): boolean;
1016
+ describedBy: string;
1017
+ private renderer;
1018
+ /** Currently selected items (may contain multiple entries when `multiple` is `true`). */
1019
+ protected selection: NameValueItem<any>[];
1020
+ /** The single selected item — used in `button` collapsed-display mode. */
1021
+ protected singleSelection?: NameValueItem<any>;
1022
+ constructor(ngControl: NgControl);
1023
+ ngOnInit(): void;
1024
+ ngOnDestroy(): void;
1025
+ ngAfterContentInit(): void;
1026
+ /**
1027
+ * Measures the container (or window) width and updates the `containerWidth` signal,
1028
+ * retrying after 100 ms if the element is not yet laid out.
1029
+ */
1030
+ private updateContainerWidth;
1031
+ /**
1032
+ * Resolves the effective selection array for the current display mode.
1033
+ * In single-select collapsed button mode the `singleSelection` item is wrapped in an array.
1034
+ * @returns The array of currently selected items.
1035
+ */
1036
+ private getSelection;
1037
+ /**
1038
+ * Schedules a value update after a short delay, giving the template time to sync `ngModel`.
1039
+ */
1040
+ updateValue(): void;
1041
+ /**
1042
+ * Returns `true` when the given item can be selected in the current mode.
1043
+ * In single-select mode an already-selected item is not re-selectable.
1044
+ * @param item - The item to check.
1045
+ */
1046
+ isSelectable(item: NameValueItem<any>): boolean;
1047
+ /**
1048
+ * Writes a new value to the component (called by the form layer).
1049
+ * @param value - The new selection to display.
1050
+ */
1051
+ writeValue(value: any): void;
1052
+ /**
1053
+ * Registers the on-change callback (called by the form layer).
1054
+ * @param fn - Callback to invoke whenever the value changes.
1055
+ */
1056
+ registerOnChange(fn: (_: any) => void): void;
1057
+ /**
1058
+ * Registers the on-touched callback (called by the form layer).
1059
+ * @param fn - Callback to invoke when the control is touched.
1060
+ */
1061
+ registerOnTouched(fn: () => void): void;
1062
+ setDescribedByIds(ids: string[]): void;
1063
+ setDisabledState?(isDisabled: boolean): void;
1064
+ onContainerClick(): void;
1065
+ /**
1066
+ * Clears the current selection and stops the event from bubbling.
1067
+ * @param e - The originating click event.
1068
+ */
1069
+ clear(e: Event): void;
1070
+ /**
1071
+ * Selects a single item, replacing any existing selection.
1072
+ * @param item - The item to select. Does nothing when `undefined`.
1073
+ */
1074
+ select(item?: NameValueItem<any>): void;
1075
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipsSelectorComponent, [{ optional: true; self: true; }]>;
1076
+ 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>;
1077
+ }
1078
+
844
1079
  declare class FileInputComponent implements OnInit, OnDestroy, DoCheck, MatFormFieldControl<FileInfo>, ControlValueAccessor {
845
1080
  ngControl: NgControl;
846
1081
  __file: ElementRef;
@@ -1011,7 +1246,7 @@ declare class FilterBarComponent {
1011
1246
  readonly currentFilter: CurrentFilter;
1012
1247
  constructor();
1013
1248
  /** Reads the `filters` input and populates the filter group fields and capability signals. */
1014
- private initializeFilters;
1249
+ initializeFilters(): void;
1015
1250
  /**
1016
1251
  * Applies the selected filter item to the current filter state and emits the change.
1017
1252
  * @param filter - The filter item to apply.
@@ -1047,240 +1282,5 @@ declare class FilterBarComponent {
1047
1282
  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>;
1048
1283
  }
1049
1284
 
1050
- /**
1051
- * A blank calendar header that hides the month/year navigation controls.
1052
- * Used when an inline calendar should render without any navigation UI.
1053
- */
1054
- declare class CalendarEmptyHeader<D> {
1055
- private readonly destroyRef;
1056
- private readonly calendar;
1057
- private readonly changeDetector;
1058
- constructor();
1059
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarEmptyHeader<any>, never>;
1060
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarEmptyHeader<any>, "ng-component", never, {}, {}, never, never, true, never>;
1061
- }
1062
-
1063
- declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterContentInit, ControlValueAccessor {
1064
- ngControl: NgControl;
1065
- /** Emitted when the selection changes. Carries the new array of selected items, or `undefined` when cleared. */
1066
- readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>[]>;
1067
- protected readonly containerId: string;
1068
- protected containerWidth: _angular_core.WritableSignal<number>;
1069
- private focused;
1070
- private readonly stateChanges;
1071
- private readonly destroyRef;
1072
- private changesEnabled;
1073
- /** List of available options to display as chips. */
1074
- readonly options: _angular_core.InputSignal<NameValueItem<any>[]>;
1075
- /** Minimum width in pixels when collapsed. Use `-1` for automatic. */
1076
- readonly collapsedWidth: _angular_core.InputSignal<number>;
1077
- /** Display mode used when the selector is in collapsed state. */
1078
- readonly collapsedDisplayMode: _angular_core.InputSignal<"button" | "dropdown">;
1079
- /** Pixel threshold below which the selector collapses. Use `-1` to disable. */
1080
- readonly collapseAt: _angular_core.InputSignal<number>;
1081
- /** When `true`, `collapseAt` is compared against the container width rather than the window width. */
1082
- readonly collapseAtContainer: _angular_core.InputSignal<boolean>;
1083
- protected readonly collapsed: _angular_core.Signal<boolean>;
1084
- /** Label shown in the dropdown / above the chip list. */
1085
- readonly label: _angular_core.InputSignal<string>;
1086
- /** When `true`, multiple chips can be selected simultaneously. */
1087
- readonly multiple: _angular_core.InputSignal<boolean>;
1088
- /** When `true`, at least one item must remain selected. */
1089
- readonly mustSelect: _angular_core.InputSignal<boolean>;
1090
- /** Layout mode: `'collapsed'` forces dropdown mode, `'dynamic'` collapses based on `collapseAt`. */
1091
- readonly mode: _angular_core.InputSignal<"dynamic" | "collapsed">;
1092
- /** When `true`, chips are stacked vertically instead of wrapping horizontally. */
1093
- readonly stacked: _angular_core.InputSignal<boolean>;
1094
- /** Chips below this index receive extra padding to align with other UI elements. */
1095
- readonly padAt: _angular_core.InputSignal<number>;
1096
- private _value?;
1097
- set value(value: NameValueItem<any>[] | undefined);
1098
- get value(): NameValueItem<any>[] | undefined;
1099
- get empty(): boolean;
1100
- get errorState(): boolean;
1101
- private _required;
1102
- get required(): boolean;
1103
- set required(value: boolean);
1104
- private _disabled;
1105
- get disabled(): boolean;
1106
- set disabled(value: boolean);
1107
- private _placeholder;
1108
- get placeholder(): string;
1109
- set placeholder(value: string);
1110
- private propagateChange;
1111
- private propagateTouched;
1112
- id: string;
1113
- get shouldLabelFloat(): boolean;
1114
- describedBy: string;
1115
- private renderer;
1116
- /** Currently selected items (may contain multiple entries when `multiple` is `true`). */
1117
- protected selection: NameValueItem<any>[];
1118
- /** The single selected item — used in `button` collapsed-display mode. */
1119
- protected singleSelection?: NameValueItem<any>;
1120
- constructor(ngControl: NgControl);
1121
- ngOnInit(): void;
1122
- ngOnDestroy(): void;
1123
- ngAfterContentInit(): void;
1124
- /**
1125
- * Measures the container (or window) width and updates the `containerWidth` signal,
1126
- * retrying after 100 ms if the element is not yet laid out.
1127
- */
1128
- private updateContainerWidth;
1129
- /**
1130
- * Resolves the effective selection array for the current display mode.
1131
- * In single-select collapsed button mode the `singleSelection` item is wrapped in an array.
1132
- * @returns The array of currently selected items.
1133
- */
1134
- private getSelection;
1135
- /**
1136
- * Schedules a value update after a short delay, giving the template time to sync `ngModel`.
1137
- */
1138
- updateValue(): void;
1139
- /**
1140
- * Returns `true` when the given item can be selected in the current mode.
1141
- * In single-select mode an already-selected item is not re-selectable.
1142
- * @param item - The item to check.
1143
- */
1144
- isSelectable(item: NameValueItem<any>): boolean;
1145
- /**
1146
- * Writes a new value to the component (called by the form layer).
1147
- * @param value - The new selection to display.
1148
- */
1149
- writeValue(value: any): void;
1150
- /**
1151
- * Registers the on-change callback (called by the form layer).
1152
- * @param fn - Callback to invoke whenever the value changes.
1153
- */
1154
- registerOnChange(fn: (_: any) => void): void;
1155
- /**
1156
- * Registers the on-touched callback (called by the form layer).
1157
- * @param fn - Callback to invoke when the control is touched.
1158
- */
1159
- registerOnTouched(fn: () => void): void;
1160
- setDescribedByIds(ids: string[]): void;
1161
- setDisabledState?(isDisabled: boolean): void;
1162
- onContainerClick(): void;
1163
- /**
1164
- * Clears the current selection and stops the event from bubbling.
1165
- * @param e - The originating click event.
1166
- */
1167
- clear(e: Event): void;
1168
- /**
1169
- * Selects a single item, replacing any existing selection.
1170
- * @param item - The item to select. Does nothing when `undefined`.
1171
- */
1172
- select(item?: NameValueItem<any>): void;
1173
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipsSelectorComponent, [{ optional: true; self: true; }]>;
1174
- 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>;
1175
- }
1176
-
1177
- declare class ButtonSelectorComponent implements OnInit, OnDestroy, ControlValueAccessor {
1178
- ngControl: NgControl;
1179
- /** Emitted whenever the selected value changes (including programmatic resets). */
1180
- readonly changed: _angular_core.OutputEmitterRef<NameValueItem<any>>;
1181
- /** Emitted when the user explicitly picks an item from the menu. */
1182
- readonly selected: _angular_core.OutputEmitterRef<NameValueItem<any>>;
1183
- private readonly stateChanges;
1184
- private focused;
1185
- private _value;
1186
- set value(value: NameValueItem<any> | undefined);
1187
- get value(): NameValueItem<any> | undefined;
1188
- private _disabled;
1189
- get disabled(): boolean;
1190
- set disabled(value: boolean);
1191
- private propagateChange;
1192
- private propagateTouched;
1193
- id: string;
1194
- describedBy: string;
1195
- private renderer;
1196
- /** Currently selected item, kept in sync with the form control value. */
1197
- protected current: _angular_core.WritableSignal<NameValueItem<any>>;
1198
- /** Width of the trigger button in pixels. Use `-1` for 100 %, `0` for `auto`. */
1199
- readonly width: _angular_core.InputSignal<number>;
1200
- /** Border thickness override. Use `-1` to inherit. */
1201
- readonly border: _angular_core.InputSignal<number>;
1202
- /** CSS border-radius of the trigger button. Defaults to a pill shape. */
1203
- readonly borderRadius: _angular_core.InputSignal<string>;
1204
- /** Placeholder label shown when nothing is selected. */
1205
- readonly label: _angular_core.InputSignal<string>;
1206
- /** Label shown above the selected value (replaces `label` when an item is selected). */
1207
- readonly labelSelected: _angular_core.InputSignal<string>;
1208
- /** List of selectable options. */
1209
- readonly options: _angular_core.InputSignal<NameValueItem<any>[]>;
1210
- /** When `true`, the first available option is pre-selected on init. */
1211
- readonly autoSelect: _angular_core.InputSignal<boolean>;
1212
- constructor(ngControl: NgControl);
1213
- ngOnInit(): void;
1214
- ngOnDestroy(): void;
1215
- /**
1216
- * Writes a new value to the component (called by the form layer).
1217
- * @param value - The new value to display.
1218
- */
1219
- writeValue(value: any): void;
1220
- /**
1221
- * Registers the on-change callback (called by the form layer).
1222
- * @param fn - Callback to invoke whenever the value changes.
1223
- */
1224
- registerOnChange(fn: (_: any) => void): void;
1225
- /**
1226
- * Registers the on-touched callback (called by the form layer).
1227
- * @param fn - Callback to invoke when the control is touched.
1228
- */
1229
- registerOnTouched(fn: () => void): void;
1230
- setDescribedByIds(ids: string[]): void;
1231
- setDisabledState?(isDisabled: boolean): void;
1232
- onContainerClick(): void;
1233
- /**
1234
- * Selects an option and optionally emits the `selected` output event.
1235
- * @param item - The item to select.
1236
- * @param notify - When `true` (default), emits the `selected` event.
1237
- */
1238
- select(item: NameValueItem<any>, notify?: boolean): void;
1239
- /** Clears the current selection and resets the control to an empty state. */
1240
- reset(): void;
1241
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonSelectorComponent, [{ optional: true; self: true; }]>;
1242
- 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>;
1243
- }
1244
-
1245
- interface ButtonToggleInfo {
1246
- value: boolean;
1247
- toggled: boolean;
1248
- }
1249
- declare class ButtonToggleComponent {
1250
- /** Emitted each time the button is clicked. Carries the current `value` and the new `toggled` state. */
1251
- readonly changed: _angular_core.OutputEmitterRef<ButtonToggleInfo>;
1252
- /** Tracks whether the button has been toggled (opposite of the current `value` input). */
1253
- protected readonly toggled: _angular_core.WritableSignal<boolean>;
1254
- /** Current value bound from the parent. Drives label and icon selection. */
1255
- readonly value: _angular_core.InputSignal<boolean>;
1256
- /** Width of the button in pixels. Use `-1` for automatic sizing. */
1257
- readonly width: _angular_core.InputSignal<number>;
1258
- /** Border thickness override in pixels. Use `-1` to inherit. */
1259
- readonly border: _angular_core.InputSignal<number>;
1260
- /** Label shown when `value` is `true`. */
1261
- readonly labelOn: _angular_core.InputSignal<string>;
1262
- /** Label shown when `value` is `false`. */
1263
- readonly labelOff: _angular_core.InputSignal<string>;
1264
- /** Material icon name shown when `value` is `true`. */
1265
- readonly iconOn: _angular_core.InputSignal<string>;
1266
- /** Material icon name shown when `value` is `false`. */
1267
- readonly iconOff: _angular_core.InputSignal<string>;
1268
- /** CSS class applied to the button at all breakpoints. */
1269
- readonly cssClass: _angular_core.InputSignal<string>;
1270
- /** CSS class applied to the button on `xs` screens. */
1271
- readonly cssClassSmall: _angular_core.InputSignal<string>;
1272
- /** Resolves the appropriate label for the current value state. */
1273
- protected readonly label: _angular_core.Signal<string>;
1274
- /** Resolves the appropriate icon name for the current value state. */
1275
- protected readonly icon: _angular_core.Signal<string>;
1276
- /**
1277
- * Toggles the button state and emits the `changed` event.
1278
- * The emitted `toggled` value is the logical inverse of the current `value`.
1279
- */
1280
- toggle(): void;
1281
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonToggleComponent, never>;
1282
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggleComponent, "button-toggle", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "labelOn": { "alias": "labelOn"; "required": false; "isSignal": true; }; "labelOff": { "alias": "labelOff"; "required": false; "isSignal": true; }; "iconOn": { "alias": "iconOn"; "required": false; "isSignal": true; }; "iconOff": { "alias": "iconOff"; "required": false; "isSignal": true; }; "cssClass": { "alias": "cssClass"; "required": false; "isSignal": true; }; "cssClassSmall": { "alias": "cssClassSmall"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
1283
- }
1284
-
1285
1285
  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 };
1286
1286
  export type { ButtonToggleInfo, FilePreviewDialogData, FilterGroup, FilterItem, ISelectableItem, PromptDateDialogResult, PromptDialogData, PromptDialogResult, PromptOtpDialogResult, PromptTimeDialogData, SelectDialogAppend, SelectDialogData, SelectDialogDelete, SelectDialogEdit, SelectDialogFilter, SelectDialogLookup, SelectDialogResult, SelectFile, SelectFileDialogData, SelectFileOption, SelectPictureFileDialogData, SelectTreeDialogAppend, SelectTreeDialogData, SelectTreeDialogResult, SelectableFilter, SendToDialogData, SendToDialogResult, SendToPopulateData };