@bootkit/ng0 0.0.0-alpha.22 → 0.0.0-alpha.23
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/common/index.d.ts +125 -7
- package/components/list/index.d.ts +138 -45
- package/components/select/index.d.ts +32 -25
- package/data/index.d.ts +25 -122
- package/fesm2022/bootkit-ng0-common.mjs +145 -11
- package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-list.mjs +287 -144
- package/fesm2022/bootkit-ng0-components-list.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-select.mjs +168 -236
- package/fesm2022/bootkit-ng0-components-select.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-data.mjs +49 -114
- package/fesm2022/bootkit-ng0-data.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-localization-locales.mjs +2 -16
- package/fesm2022/bootkit-ng0-localization-locales.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-localization.mjs +42 -44
- package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-routing.mjs +80 -0
- package/fesm2022/bootkit-ng0-routing.mjs.map +1 -0
- package/localization/index.d.ts +29 -23
- package/package.json +13 -9
- package/routing/index.d.ts +124 -0
package/common/index.d.ts
CHANGED
|
@@ -79,13 +79,16 @@ declare function toObservable<T>(value: T | Observable<T> | Promise<T>): Observa
|
|
|
79
79
|
* @returns An array of numbers within the specified range.
|
|
80
80
|
*/
|
|
81
81
|
declare function numberArray(start: number, end: number): number[];
|
|
82
|
+
/**
|
|
83
|
+
* Deletes multiple entries from an array based on the provided indices.
|
|
84
|
+
* @param array
|
|
85
|
+
* @param indices
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
declare function deleteEntries(array: any[], indices: number[]): void;
|
|
82
89
|
|
|
83
90
|
declare function getEnumValues(enumClass: Record<string, string | number>): Array<string | number>;
|
|
84
91
|
|
|
85
|
-
declare abstract class _IdGenerator {
|
|
86
|
-
private static _idCounter;
|
|
87
|
-
static next(): number;
|
|
88
|
-
}
|
|
89
92
|
/**
|
|
90
93
|
* Type definition for an ID generator function.
|
|
91
94
|
*/
|
|
@@ -108,7 +111,7 @@ type CssClass = string | string[] | Set<string> | {
|
|
|
108
111
|
* @param item The item to get the CSS class for.
|
|
109
112
|
* @returns The CSS class for the item.
|
|
110
113
|
*/
|
|
111
|
-
type CssClassGetter = (
|
|
114
|
+
type CssClassGetter = (obj: any) => CssClass;
|
|
112
115
|
/**
|
|
113
116
|
* A type that represents a CSS class or a function that returns a CSS class.
|
|
114
117
|
*/
|
|
@@ -120,5 +123,120 @@ type CssClassLike = CssClass | CssClassGetter | null | undefined;
|
|
|
120
123
|
*/
|
|
121
124
|
declare function CssClassAttribute(v: CssClassLike): CssClassGetter;
|
|
122
125
|
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Equality comparer function type.
|
|
128
|
+
* @param a First value to compare.
|
|
129
|
+
* @param b Second value to compare.
|
|
130
|
+
* @returns true if a is considered equal to b else returns false
|
|
131
|
+
*/
|
|
132
|
+
type EqualityComparer = (a: any, b: any) => boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Equality comparer like type.
|
|
135
|
+
* can be a function or a string representing the property name to compare.
|
|
136
|
+
*/
|
|
137
|
+
type EqualityComparerLike = EqualityComparer | string;
|
|
138
|
+
/**
|
|
139
|
+
* Default equality comparer function.
|
|
140
|
+
* @param a First value to compare.
|
|
141
|
+
* @param b Second value to compare.
|
|
142
|
+
* @returns true if a === b else returns false
|
|
143
|
+
*/
|
|
144
|
+
declare function defaultEqualityComparer(a: any, b: any): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Converts an EqualityComparerLike to an EqualityComparer function.
|
|
147
|
+
* @param e The EqualityComparerLike to convert.
|
|
148
|
+
* @returns The converted EqualityComparer.
|
|
149
|
+
*/
|
|
150
|
+
declare function equalityComparerAttribute(e: EqualityComparerLike): EqualityComparer;
|
|
151
|
+
/**
|
|
152
|
+
* @private
|
|
153
|
+
* @param items
|
|
154
|
+
* @param value
|
|
155
|
+
* @param comparer
|
|
156
|
+
*/
|
|
157
|
+
declare function findValueByComparer(items: any[], value: any, comparer: EqualityComparer): any;
|
|
158
|
+
/**
|
|
159
|
+
* @private
|
|
160
|
+
* @param items
|
|
161
|
+
* @param values
|
|
162
|
+
* @param comparer
|
|
163
|
+
*/
|
|
164
|
+
declare function findValuesByComparer(items: any[], values: any[], comparer: EqualityComparer): any[];
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Value writer function type.
|
|
168
|
+
* @param a The input value
|
|
169
|
+
* @returns The written value
|
|
170
|
+
*/
|
|
171
|
+
type ValueWriter = (a: any) => any;
|
|
172
|
+
/**
|
|
173
|
+
* Value writer can be a function or a string representing the property name to extract the value from.
|
|
174
|
+
*/
|
|
175
|
+
type ValueWriterLike = ValueWriter | string;
|
|
176
|
+
/**
|
|
177
|
+
* Default value writer function.
|
|
178
|
+
* @param a The input value
|
|
179
|
+
* @returns the input value (it does not transform it)
|
|
180
|
+
*/
|
|
181
|
+
declare function defaultValueWriter(a: any): any;
|
|
182
|
+
/**
|
|
183
|
+
* Converts a ValueWriterLike to a ValueWriterFunction.
|
|
184
|
+
* @param v The value writer to convert.
|
|
185
|
+
* @returns A ValueWriter function.
|
|
186
|
+
*/
|
|
187
|
+
declare function valueWriterAttribute(v: ValueWriterLike): ValueWriter;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* A comparison function type that defines an ordering relation between two values.
|
|
191
|
+
* @param a The first value to compare.
|
|
192
|
+
* @param b The second value to compare.
|
|
193
|
+
* @returns
|
|
194
|
+
* - A negative number if `a` should come before `b`
|
|
195
|
+
* - A positive number if `a` should come after `b`
|
|
196
|
+
* - Zero if `a` and `b` are considered equal
|
|
197
|
+
*/
|
|
198
|
+
type Comparer = (a: any, b: any) => number;
|
|
199
|
+
/**
|
|
200
|
+
* Value comparer can be a function or a string representing the property name to compare.
|
|
201
|
+
*/
|
|
202
|
+
type ComparerLike = Comparer | string;
|
|
203
|
+
/**
|
|
204
|
+
* A simple comparer function.
|
|
205
|
+
* @param a The first value to compare.
|
|
206
|
+
* @param b The second value to compare.
|
|
207
|
+
* @returns -1 if a < b, 1 if a > b, 0 if a === b
|
|
208
|
+
*/
|
|
209
|
+
declare function defaultComparer(a: any, b: any): number;
|
|
210
|
+
/**
|
|
211
|
+
* Converts a ComparerLike to a Comparer.
|
|
212
|
+
* @param v The comparer to convert.
|
|
213
|
+
* @returns A function that compares two values.
|
|
214
|
+
*/
|
|
215
|
+
declare function comparerAttribute(v: ComparerLike): Comparer;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Filter predicate function type.
|
|
219
|
+
* @param item The item to test against the filter.
|
|
220
|
+
* @returns True if the item matches the filter, false otherwise.
|
|
221
|
+
*/
|
|
222
|
+
type FilterPredicate = (item: any) => boolean;
|
|
223
|
+
/**
|
|
224
|
+
* Filter predicate can be a function or a string representing the property name to filter.
|
|
225
|
+
*/
|
|
226
|
+
type FilterPredicateLike = FilterPredicate | string;
|
|
227
|
+
/**
|
|
228
|
+
*
|
|
229
|
+
* @param item
|
|
230
|
+
* @returns
|
|
231
|
+
*/
|
|
232
|
+
declare const noopFilter: FilterPredicate;
|
|
233
|
+
/**
|
|
234
|
+
* Converts a FilterPredicateLike to a FilterPredicate function.
|
|
235
|
+
* If the input is a string, it creates a predicate that checks the property with that name.
|
|
236
|
+
* @param v The FilterPredicateLike to convert.
|
|
237
|
+
* @returns The corresponding FilterPredicate function.
|
|
238
|
+
*/
|
|
239
|
+
declare function filterPredicateAttribute(v: FilterPredicateLike): FilterPredicate;
|
|
240
|
+
|
|
241
|
+
export { CssClassAttribute, RTL, comparerAttribute, defaultComparer, defaultEqualityComparer, defaultValueWriter, deleteEntries, equalityComparerAttribute, filterPredicateAttribute, findValueByComparer, findValuesByComparer, flipPlacement, formatString, getEnumValues, noopFilter, numberArray, sequentialIdGenerator, toObservable, valueWriterAttribute };
|
|
242
|
+
export type { Alignment, ClaimLike, ClaimObject, Comparer, ComparerLike, CssClass, CssClassGetter, CssClassLike, EqualityComparer, EqualityComparerLike, FilterPredicate, FilterPredicateLike, IdGenerator, MenuItem, Placement, SelectOption, ValueWriter, ValueWriterLike };
|
|
@@ -1,37 +1,33 @@
|
|
|
1
|
-
import * as _bootkit_ng0_common from '@bootkit/ng0/common';
|
|
2
|
-
import { CssClassLike, IdGenerator } from '@bootkit/ng0/common';
|
|
3
1
|
import * as _bootkit_ng0_localization from '@bootkit/ng0/localization';
|
|
4
|
-
import * as
|
|
5
|
-
import {
|
|
2
|
+
import * as _bootkit_ng0_common from '@bootkit/ng0/common';
|
|
3
|
+
import { FilterPredicate, IdGenerator } from '@bootkit/ng0/common';
|
|
6
4
|
import * as _angular_core from '@angular/core';
|
|
7
|
-
import {
|
|
5
|
+
import { TemplateRef, ElementRef, EventEmitter } from '@angular/core';
|
|
6
|
+
import { DataSource, DataSourceLike } from '@bootkit/ng0/data';
|
|
8
7
|
import { ControlValueAccessor } from '@angular/forms';
|
|
9
8
|
|
|
10
|
-
interface ListItem {
|
|
11
|
-
id: string;
|
|
12
|
-
value: any;
|
|
13
|
-
selected?: boolean;
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
filtered?: boolean;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
9
|
/**
|
|
19
10
|
* Select component that allows users to choose an option from a dropdown list.
|
|
20
11
|
*/
|
|
21
|
-
declare class ListComponent implements
|
|
22
|
-
protected _el: ElementRef<HTMLDivElement>;
|
|
23
|
-
private _renderer;
|
|
24
|
-
private _destroyRef;
|
|
12
|
+
declare class ListComponent implements ControlValueAccessor {
|
|
25
13
|
private _document;
|
|
26
14
|
private _ls;
|
|
15
|
+
private _renderer;
|
|
16
|
+
private _destroyRef;
|
|
27
17
|
private _changeDetector;
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
private
|
|
18
|
+
private _value;
|
|
19
|
+
private _changeCallback?;
|
|
20
|
+
private _touchCallback?;
|
|
21
|
+
private _selectedIndices;
|
|
31
22
|
protected readonly _items: _angular_core.WritableSignal<ListItem[]>;
|
|
32
23
|
protected readonly _isDisabled: _angular_core.WritableSignal<boolean>;
|
|
33
24
|
protected readonly _activeOptionIndex: _angular_core.WritableSignal<number>;
|
|
34
25
|
protected _itemTemplate?: TemplateRef<any>;
|
|
26
|
+
private _ariaActiveDescendant;
|
|
27
|
+
/**
|
|
28
|
+
* Reference to the host element
|
|
29
|
+
*/
|
|
30
|
+
elementRef: ElementRef<HTMLElement>;
|
|
35
31
|
/**
|
|
36
32
|
* The data source for the select component.
|
|
37
33
|
* This can be an array of data, a function that returns an observable of data,
|
|
@@ -46,50 +42,108 @@ declare class ListComponent implements OnInit, ControlValueAccessor {
|
|
|
46
42
|
* Indicates whether to show selection indicator (checkbox/radio) next to each item.
|
|
47
43
|
* Default is false.
|
|
48
44
|
*/
|
|
49
|
-
readonly
|
|
45
|
+
readonly showSelectionIndicator: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
50
46
|
/**
|
|
51
47
|
* A custom comparer function or the name of a field for comparing two objects.
|
|
52
48
|
*/
|
|
53
|
-
readonly compareBy: _angular_core.InputSignalWithTransform<
|
|
49
|
+
readonly compareBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.EqualityComparer, _bootkit_ng0_common.EqualityComparerLike>;
|
|
54
50
|
/**
|
|
55
51
|
* Custom format function to convert an item to a string for display.
|
|
56
52
|
* Default converts the item to a string using its toString method.
|
|
57
53
|
*/
|
|
58
|
-
readonly formatBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_localization.
|
|
54
|
+
readonly formatBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_localization.ObjectFormatter, _bootkit_ng0_localization.ObjectFormatterLike>;
|
|
59
55
|
/**
|
|
60
56
|
* Custom value extractor function to extract the value of any object while writing values.
|
|
61
57
|
*/
|
|
62
|
-
readonly writeBy: _angular_core.InputSignalWithTransform<
|
|
58
|
+
readonly writeBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.ValueWriter, _bootkit_ng0_common.ValueWriterLike>;
|
|
63
59
|
/**
|
|
64
60
|
* A custom filter predicate function to filter items based on a search string.
|
|
65
61
|
* Default checks if the item's string representation contains the filter string (case-insensitive).
|
|
66
62
|
* The filter predicate can be a function or a string representing the property name to filter.
|
|
67
63
|
*/
|
|
68
|
-
readonly filterBy: _angular_core.InputSignalWithTransform<FilterPredicate,
|
|
64
|
+
readonly filterBy: _angular_core.InputSignalWithTransform<FilterPredicate, _bootkit_ng0_common.FilterPredicateLike>;
|
|
69
65
|
/**
|
|
70
66
|
* CSS class or classes to apply to the list container.
|
|
71
67
|
* Default is undefined.
|
|
72
68
|
*/
|
|
73
|
-
readonly itemClass: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.CssClassGetter, CssClassLike>;
|
|
69
|
+
readonly itemClass: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.CssClassGetter, _bootkit_ng0_common.CssClassLike>;
|
|
70
|
+
/**
|
|
71
|
+
* Defines the focus behavior of the list component.
|
|
72
|
+
* - 'none': No keyboard interaction is possible. The list cannot be focused.
|
|
73
|
+
* - 'roving': Roving tabindex is enabled. The list can be focused and the active item is tabbable.
|
|
74
|
+
* - 'activeDescendant': The list can be focused, but no item is tabbable. The active item is indicated using aria-activedescendant.
|
|
75
|
+
* @default 'activeDescendant'.
|
|
76
|
+
*/
|
|
74
77
|
readonly focus: _angular_core.InputSignal<"none" | "roving" | "activeDescendant">;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Custom id generator function to generate unique ids for each item.
|
|
80
|
+
* Default generates sequential ids with the prefix 'ng0-list-item-'.
|
|
81
|
+
* If set to undefined, no ids will be generated.
|
|
82
|
+
* @default sequentialIdGenerator('ng0-list-item-')
|
|
83
|
+
*/
|
|
84
|
+
readonly idGenerator: _angular_core.InputSignal<IdGenerator>;
|
|
85
|
+
/**
|
|
86
|
+
* Event emitted when the selection state of an item changes by user interaction.
|
|
87
|
+
*/
|
|
88
|
+
readonly selectionChange: EventEmitter<ListSelectionChangeEvent>;
|
|
89
|
+
constructor();
|
|
90
|
+
/**
|
|
91
|
+
* Gets the items of the list component.
|
|
92
|
+
* @returns A readonly array of the items in the list.
|
|
93
|
+
*/
|
|
94
|
+
items(): ReadonlyArray<ListItem>;
|
|
78
95
|
/**
|
|
79
96
|
* Sets an option as active
|
|
97
|
+
* @param index The index of the option to set as active.
|
|
98
|
+
* @param scrollIntoView Whether to scroll the active option into view. Default is true.
|
|
99
|
+
* @returns void
|
|
80
100
|
*/
|
|
81
|
-
active(index: number): void;
|
|
101
|
+
active(index: number, scrollIntoView?: boolean): void;
|
|
82
102
|
/**
|
|
83
|
-
*
|
|
84
|
-
* @param
|
|
103
|
+
* Selects an option by index
|
|
104
|
+
* @param index The index of the option to select.
|
|
85
105
|
* @returns void
|
|
86
106
|
*/
|
|
87
|
-
|
|
107
|
+
select(index: number): void;
|
|
88
108
|
/**
|
|
89
|
-
*
|
|
109
|
+
* Deselects an option by index
|
|
110
|
+
* @param index The index of the option to deselect.
|
|
90
111
|
* @returns void
|
|
91
112
|
*/
|
|
92
|
-
|
|
113
|
+
deselect(index: number): void;
|
|
114
|
+
/**
|
|
115
|
+
* Toggles the selection state of an option by index
|
|
116
|
+
* @param index The index of the option to toggle.
|
|
117
|
+
* @returns void
|
|
118
|
+
*/
|
|
119
|
+
toggle(index: number): void;
|
|
120
|
+
/**
|
|
121
|
+
* Checks if an option is selected.
|
|
122
|
+
* @param index The index of the option to check.
|
|
123
|
+
* @returns True if the option is selected, false otherwise.
|
|
124
|
+
*/
|
|
125
|
+
isSelected(index: number): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Checks if an option is active.
|
|
128
|
+
* @param index The index of the option to check.
|
|
129
|
+
* @returns True if the option is active, false otherwise.
|
|
130
|
+
*/
|
|
131
|
+
isActive(index: number): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Sets the value of the list component.
|
|
134
|
+
* @param value The value to set. Can be a single value or an array of values in multiple selection mode.
|
|
135
|
+
*/
|
|
136
|
+
set(value: any): void;
|
|
137
|
+
/**
|
|
138
|
+
* Gets the currently selected indices.
|
|
139
|
+
* @returns An array of the currently selected indices.
|
|
140
|
+
* @description
|
|
141
|
+
* - In single selection mode, the array will contain at most one item.
|
|
142
|
+
* - In multiple selection mode, the array can contain multiple items.
|
|
143
|
+
* - Changing the selection should be done using select(), deselect(), or toggle() methods to ensure proper event emission and state management.
|
|
144
|
+
* - Direct manipulation of the returned array will not affect the component's state.
|
|
145
|
+
*/
|
|
146
|
+
selectedIndices(): ReadonlyArray<number>;
|
|
93
147
|
/**
|
|
94
148
|
* Scrolls the item at the specified index into view within the dropdown list.
|
|
95
149
|
* @param index The index of the item to scroll into view.
|
|
@@ -98,21 +152,59 @@ declare class ListComponent implements OnInit, ControlValueAccessor {
|
|
|
98
152
|
* Default is 'nearest'.
|
|
99
153
|
* @param behavior The scrolling behavior.
|
|
100
154
|
*/
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
*/
|
|
105
|
-
toggleSelection(index: number): void;
|
|
106
|
-
writeValue(v: any): void;
|
|
155
|
+
scrollIntoView(index: number, position?: ScrollLogicalPosition, behavior?: ScrollBehavior): void;
|
|
156
|
+
writeValue(value: any): void;
|
|
157
|
+
private _setValue;
|
|
107
158
|
registerOnChange(fn: any): void;
|
|
108
159
|
registerOnTouched(fn: any): void;
|
|
109
160
|
setDisabledState?(isDisabled: boolean): void;
|
|
110
|
-
protected
|
|
161
|
+
protected _getItemTabIndex(index: number): -1 | 0 | undefined;
|
|
162
|
+
protected _handleUserSelection(index: number, item: ListItem): void;
|
|
111
163
|
private _loadItems;
|
|
112
|
-
private
|
|
113
|
-
private
|
|
164
|
+
private _createItems;
|
|
165
|
+
private _onHostClick;
|
|
166
|
+
private _onKeydown;
|
|
167
|
+
private _verifyIndexRange;
|
|
114
168
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListComponent, never>;
|
|
115
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListComponent, "ng0-list", ["ng0List"], { "source": { "alias": "source"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "
|
|
169
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListComponent, "ng0-list", ["ng0List"], { "source": { "alias": "source"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showSelectionIndicator": { "alias": "showSelectionIndicator"; "required": false; "isSignal": true; }; "compareBy": { "alias": "compareBy"; "required": false; "isSignal": true; }; "formatBy": { "alias": "formatBy"; "required": false; "isSignal": true; }; "writeBy": { "alias": "writeBy"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "itemClass": { "alias": "itemClass"; "required": false; "isSignal": true; }; "focus": { "alias": "focus"; "required": false; "isSignal": true; }; "idGenerator": { "alias": "idGenerator"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["_itemTemplate"], never, true, never>;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Represents an item in the list.
|
|
173
|
+
*/
|
|
174
|
+
interface ListItem {
|
|
175
|
+
/**
|
|
176
|
+
* Id of the item (if idGenerator is provided, otherwise undefined).
|
|
177
|
+
*/
|
|
178
|
+
id: string;
|
|
179
|
+
/**
|
|
180
|
+
* Value of the item.
|
|
181
|
+
*/
|
|
182
|
+
value: any;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Event emitted when the selection state of the list changes by user interaction.
|
|
186
|
+
*/
|
|
187
|
+
interface ListSelectionChangeEvent {
|
|
188
|
+
/**
|
|
189
|
+
* Index of the item that was selected or deselected.
|
|
190
|
+
*/
|
|
191
|
+
readonly index: number;
|
|
192
|
+
/**
|
|
193
|
+
* The value of the item that was selected or deselected.
|
|
194
|
+
*/
|
|
195
|
+
readonly value: any;
|
|
196
|
+
/**
|
|
197
|
+
* Indicates whether the item was selected (true) or deselected (false).
|
|
198
|
+
*/
|
|
199
|
+
readonly selected: boolean;
|
|
200
|
+
/**
|
|
201
|
+
* The indices of all currently selected items.
|
|
202
|
+
*/
|
|
203
|
+
readonly selectedIndices: ReadonlyArray<number>;
|
|
204
|
+
/**
|
|
205
|
+
* The list component that emitted the event.
|
|
206
|
+
*/
|
|
207
|
+
readonly list: ListComponent;
|
|
116
208
|
}
|
|
117
209
|
|
|
118
210
|
/**
|
|
@@ -125,3 +217,4 @@ declare class ListModule {
|
|
|
125
217
|
}
|
|
126
218
|
|
|
127
219
|
export { ListComponent, ListModule };
|
|
220
|
+
export type { ListItem, ListSelectionChangeEvent };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import * as _bootkit_ng0_common from '@bootkit/ng0/common';
|
|
2
|
-
import { SelectOption } from '@bootkit/ng0/common';
|
|
3
1
|
import * as _bootkit_ng0_localization from '@bootkit/ng0/localization';
|
|
4
|
-
import * as
|
|
5
|
-
import {
|
|
2
|
+
import * as _bootkit_ng0_common from '@bootkit/ng0/common';
|
|
3
|
+
import { SelectOption, FilterPredicate, IdGenerator } from '@bootkit/ng0/common';
|
|
6
4
|
import * as _angular_core from '@angular/core';
|
|
7
5
|
import { OnInit, TemplateRef, ElementRef } from '@angular/core';
|
|
6
|
+
import { DataSource, DataSourceLike } from '@bootkit/ng0/data';
|
|
8
7
|
import { ControlValueAccessor } from '@angular/forms';
|
|
9
8
|
import { FlexibleConnectedPositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';
|
|
9
|
+
import { ListSelectionChangeEvent } from '@bootkit/ng0/components/list';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Select component that allows users to choose an option from a dropdown list.
|
|
@@ -15,13 +15,12 @@ declare class SelectComponent implements OnInit, ControlValueAccessor {
|
|
|
15
15
|
private _resizeObserver?;
|
|
16
16
|
private _resizeObserverInitialized;
|
|
17
17
|
private _viewpoerRulerSubscription?;
|
|
18
|
-
protected _cdkListboxValue: _angular_core.WritableSignal<any>;
|
|
19
18
|
private _filterElementRef?;
|
|
20
|
-
private
|
|
21
|
-
private
|
|
19
|
+
private _listComponent?;
|
|
20
|
+
private _changeCallback;
|
|
21
|
+
private _touchCallback;
|
|
22
22
|
protected readonly _options: _angular_core.WritableSignal<SelectOption[]>;
|
|
23
23
|
protected readonly _isDisabled: _angular_core.WritableSignal<boolean>;
|
|
24
|
-
protected readonly _selectedOptionIndex: _angular_core.WritableSignal<number>;
|
|
25
24
|
protected readonly _activeOptionIndex: _angular_core.WritableSignal<number>;
|
|
26
25
|
protected _optionTemplate?: TemplateRef<any>;
|
|
27
26
|
protected _positionStrategy: FlexibleConnectedPositionStrategy;
|
|
@@ -34,12 +33,17 @@ declare class SelectComponent implements OnInit, ControlValueAccessor {
|
|
|
34
33
|
private _renderer;
|
|
35
34
|
private _viewportRuler;
|
|
36
35
|
private _changeDetector;
|
|
36
|
+
private _activateSlectedItemEffectRef;
|
|
37
37
|
/**
|
|
38
38
|
* The data source for the select component.
|
|
39
39
|
* This can be an array of data, a function that returns an observable of data,
|
|
40
40
|
* or an instance of DataSource.
|
|
41
41
|
*/
|
|
42
42
|
readonly source: _angular_core.InputSignalWithTransform<DataSource<any>, DataSourceLike<any>>;
|
|
43
|
+
/**
|
|
44
|
+
* Value of the select component.
|
|
45
|
+
*/
|
|
46
|
+
value: _angular_core.ModelSignal<any>;
|
|
43
47
|
/**
|
|
44
48
|
* Indicates whether multi selection is enabled or not.
|
|
45
49
|
*/
|
|
@@ -51,18 +55,18 @@ declare class SelectComponent implements OnInit, ControlValueAccessor {
|
|
|
51
55
|
/**
|
|
52
56
|
* A custom comparer function or the name of a field for comparing two objects.
|
|
53
57
|
*/
|
|
54
|
-
readonly compareBy: _angular_core.InputSignalWithTransform<
|
|
58
|
+
readonly compareBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.EqualityComparer, _bootkit_ng0_common.EqualityComparerLike>;
|
|
55
59
|
/**
|
|
56
60
|
* Custom format function to convert an item to a string for display.
|
|
57
61
|
* Default converts the item to a string using its toString method.
|
|
58
62
|
*/
|
|
59
|
-
readonly formatBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_localization.
|
|
63
|
+
readonly formatBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_localization.ObjectFormatter, _bootkit_ng0_localization.ObjectFormatterLike>;
|
|
60
64
|
/**
|
|
61
|
-
* Custom value
|
|
65
|
+
* Custom value writer function to extract the value of any object while writing values.
|
|
62
66
|
*/
|
|
63
|
-
readonly writeBy: _angular_core.InputSignalWithTransform<
|
|
67
|
+
readonly writeBy: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.ValueWriter, _bootkit_ng0_common.ValueWriterLike>;
|
|
64
68
|
/**
|
|
65
|
-
* Indicates whether the
|
|
69
|
+
* Indicates whether the select component is filterable.
|
|
66
70
|
*/
|
|
67
71
|
readonly filterable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
68
72
|
/**
|
|
@@ -75,33 +79,36 @@ declare class SelectComponent implements OnInit, ControlValueAccessor {
|
|
|
75
79
|
*/
|
|
76
80
|
readonly filterBy: _angular_core.InputSignal<FilterPredicate>;
|
|
77
81
|
/**
|
|
78
|
-
* CSS class or classes to apply to the
|
|
82
|
+
* CSS class or classes to apply to the items.
|
|
79
83
|
*/
|
|
80
84
|
readonly itemClass: _angular_core.InputSignalWithTransform<_bootkit_ng0_common.CssClassGetter, _bootkit_ng0_common.CssClassLike>;
|
|
81
|
-
constructor();
|
|
82
|
-
ngOnInit(): void;
|
|
83
|
-
private _loadItems;
|
|
84
|
-
private _handleDataSourceChange;
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* Custom id generator function to generate unique ids for each item.
|
|
87
|
+
* Default generates sequential ids with the prefix 'ng0-select-item-'.
|
|
88
|
+
* If set to undefined, no ids will be generated.
|
|
87
89
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
readonly idGenerator: _angular_core.InputSignal<IdGenerator>;
|
|
91
|
+
constructor();
|
|
92
|
+
ngOnInit(): void;
|
|
90
93
|
writeValue(obj: any): void;
|
|
91
94
|
registerOnChange(fn: any): void;
|
|
92
95
|
registerOnTouched(fn: any): void;
|
|
93
96
|
setDisabledState?(isDisabled: boolean): void;
|
|
94
|
-
protected _onKeydown(e: KeyboardEvent, firedByFilter?: boolean): void;
|
|
95
97
|
protected _onFilterBlur(): void;
|
|
96
|
-
protected _filterItems(filter: string): void;
|
|
97
98
|
protected _onOverlayAttach(): void;
|
|
98
99
|
protected _onOverlayDetach(): void;
|
|
99
|
-
|
|
100
|
+
protected _onListSelectionChange(e: ListSelectionChangeEvent): void;
|
|
101
|
+
protected _mappedValue: _angular_core.Signal<any>;
|
|
100
102
|
private _listenToResizeEvents;
|
|
101
103
|
private _unlistenFromResizeEvents;
|
|
104
|
+
private _selectFirst;
|
|
105
|
+
private _selectLast;
|
|
106
|
+
private _selectNext;
|
|
107
|
+
private _selectPrevious;
|
|
108
|
+
private _onHostKeydown;
|
|
102
109
|
private _onHostClick;
|
|
103
110
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent, never>;
|
|
104
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "ng0-select", ["ng0Select"], { "source": { "alias": "source"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "compareBy": { "alias": "compareBy"; "required": false; "isSignal": true; }; "formatBy": { "alias": "formatBy"; "required": false; "isSignal": true; }; "writeBy": { "alias": "writeBy"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "itemClass": { "alias": "itemClass"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, ["_optionTemplate"], never, true, never>;
|
|
111
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "ng0-select", ["ng0Select"], { "source": { "alias": "source"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "compareBy": { "alias": "compareBy"; "required": false; "isSignal": true; }; "formatBy": { "alias": "formatBy"; "required": false; "isSignal": true; }; "writeBy": { "alias": "writeBy"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "filterBy": { "alias": "filterBy"; "required": false; "isSignal": true; }; "itemClass": { "alias": "itemClass"; "required": false; "isSignal": true; }; "idGenerator": { "alias": "idGenerator"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "open": "openChange"; }, ["_optionTemplate"], never, true, never>;
|
|
105
112
|
}
|
|
106
113
|
|
|
107
114
|
/**
|