@agorapulse/ui-components 21.1.10 → 21.1.12
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/agorapulse-ui-components-21.1.12.tgz +0 -0
- package/fesm2022/agorapulse-ui-components-dropdown-base.mjs +3 -0
- package/fesm2022/agorapulse-ui-components-dropdown-base.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs +247 -189
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +1 -1
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-select.mjs +5 -3
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
- package/package.json +1 -1
- package/types/agorapulse-ui-components-filter-dropdown.d.ts +117 -49
- package/types/agorapulse-ui-components-select.d.ts +3 -1
- package/agorapulse-ui-components-21.1.10.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AvatarNetwork } from '@agorapulse/ui-components/avatar';
|
|
2
|
-
import {
|
|
2
|
+
import { Locale, FirstDayOfWeek, Period } from '@agorapulse/ui-components/datepicker';
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
4
|
import { SelectLabelSingleDisplayType } from '@agorapulse/ui-components/select';
|
|
5
5
|
import { TagColor } from '@agorapulse/ui-components/tag';
|
|
@@ -68,12 +68,21 @@ interface FilterDropdownValueDateRange {
|
|
|
68
68
|
type FilterDropdownValue = FilterDropdownValueCheckbox | FilterDropdownValueRadio | FilterDropdownValueToggle | FilterDropdownValueSingleSelect | FilterDropdownValueMultipleSelect | FilterDropdownValueDateRange;
|
|
69
69
|
/** The output emitted by filter-dropdown on apply: a map of filter key → value */
|
|
70
70
|
type FilterDropdownOutput = Record<string, FilterDropdownValue>;
|
|
71
|
+
/** A single user edit reported up by a leaf: the fully-formed value for one filter key. */
|
|
72
|
+
interface FilterValueEdit {
|
|
73
|
+
key: string;
|
|
74
|
+
value: FilterDropdownValue;
|
|
75
|
+
}
|
|
71
76
|
interface FilterDropdownGroupBase {
|
|
72
77
|
/** Unique key to identify this filter in the output */
|
|
73
78
|
key: string;
|
|
74
79
|
/** The title of the filter group to display in the UI */
|
|
75
80
|
title: string;
|
|
76
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* The *initial* expanded (open) / collapsed state of the filter group. Only applicable if `closable` is true.
|
|
83
|
+
* This seeds the state on the first render; afterwards the live expand/collapse state is owned by the component
|
|
84
|
+
* and is never written back to this config. Use the dropdown's `expandOnOpen` input to re-derive it on each open.
|
|
85
|
+
*/
|
|
77
86
|
expanded?: boolean;
|
|
78
87
|
/** An optional label to display under the filter group title */
|
|
79
88
|
label?: string;
|
|
@@ -90,19 +99,16 @@ interface FilterDropdownGroupCheckbox extends FilterDropdownGroupBase {
|
|
|
90
99
|
/** The type of the FilterDropdownGroupBase */
|
|
91
100
|
filterType: 'checkbox';
|
|
92
101
|
items: FilterDropdownItemCheckbox[];
|
|
93
|
-
defaultSelected?: string[];
|
|
94
102
|
}
|
|
95
103
|
interface FilterDropdownGroupRadio extends FilterDropdownGroupBase {
|
|
96
104
|
/** The type of the FilterDropdownGroupBase */
|
|
97
105
|
filterType: 'radio';
|
|
98
106
|
items: FilterDropdownItemRadio[];
|
|
99
|
-
defaultSelected?: unknown;
|
|
100
107
|
}
|
|
101
108
|
interface FilterDropdownGroupToggle extends FilterDropdownGroupBase {
|
|
102
109
|
/** The type of the FilterDropdownGroupBase */
|
|
103
110
|
filterType: 'toggle';
|
|
104
111
|
item: FilterDropdownItemToggle;
|
|
105
|
-
defaultSelected?: boolean;
|
|
106
112
|
}
|
|
107
113
|
interface FilterDropdownGroupSelectSingle extends FilterDropdownGroupBase {
|
|
108
114
|
/** An optional label to display next to each filter item (e.g. "and", "or"). Only applicable for checkbox, radio and toggle filter groups. */
|
|
@@ -116,7 +122,6 @@ interface FilterDropdownGroupSelectSingle extends FilterDropdownGroupBase {
|
|
|
116
122
|
/** An optional text to display when all items are selected. Only applicable for select filter groups with multiple selection. */
|
|
117
123
|
onlyText?: string;
|
|
118
124
|
items: FilterDropdownItemSelect[];
|
|
119
|
-
defaultSelected?: unknown;
|
|
120
125
|
}
|
|
121
126
|
interface FilterDropdownGroupSelectMultiple extends FilterDropdownGroupBase {
|
|
122
127
|
/** An optional label to display next to each filter item (e.g. "and", "or"). Only applicable for checkbox, radio and toggle filter groups. */
|
|
@@ -130,59 +135,91 @@ interface FilterDropdownGroupSelectMultiple extends FilterDropdownGroupBase {
|
|
|
130
135
|
/** An optional text to display when all items are selected. Only applicable for select filter groups with multiple selection. */
|
|
131
136
|
onlyText?: string;
|
|
132
137
|
items: FilterDropdownItemSelect[];
|
|
133
|
-
defaultSelected?: unknown[];
|
|
134
138
|
}
|
|
135
139
|
interface FilterDropdownGroupDateRange extends FilterDropdownGroupBase {
|
|
136
140
|
/** The type of the FilterDropdownGroupBase */
|
|
137
141
|
filterType: 'date-range';
|
|
138
142
|
minDate?: dayjs.Dayjs;
|
|
139
143
|
maxDate?: dayjs.Dayjs;
|
|
140
|
-
selectedPeriod?: Period;
|
|
141
144
|
locale?: Locale;
|
|
142
145
|
firstDayOfWeek?: FirstDayOfWeek;
|
|
143
146
|
dateFormat?: string;
|
|
144
147
|
}
|
|
145
148
|
type FilterDropdownGroup = FilterDropdownGroupCheckbox | FilterDropdownGroupRadio | FilterDropdownGroupToggle | FilterDropdownGroupSelectSingle | FilterDropdownGroupSelectMultiple | FilterDropdownGroupDateRange;
|
|
149
|
+
/**
|
|
150
|
+
* Policy deciding which groups start expanded each time the dropdown opens.
|
|
151
|
+
* - `'collapse-empty'`: expand groups that currently have a selection, collapse the empty ones.
|
|
152
|
+
* - a predicate: evaluated per group against its current draft value.
|
|
153
|
+
* When omitted on the component, the expand/collapse state persists across opens.
|
|
154
|
+
*/
|
|
155
|
+
type ExpandOnOpenPolicy = 'collapse-empty' | ((group: FilterDropdownGroup, value: FilterDropdownValue) => boolean);
|
|
146
156
|
|
|
157
|
+
/**
|
|
158
|
+
* Working state for a single filter-dropdown instance. Component-scoped (provided on
|
|
159
|
+
* `FilterDropdownComponent`), never `providedIn: 'root'`.
|
|
160
|
+
*
|
|
161
|
+
* This is a PURE state container: every method here only reads or writes signals — none of them
|
|
162
|
+
* emit anything. The apply→value→apply loop is impossible because the ONLY code that emits
|
|
163
|
+
* `applyFilters` lives inside the component's user-gesture handlers (see FilterDropdownComponent),
|
|
164
|
+
* and seeding an input never runs a gesture handler. Re-seeding `value`/`savedValue` therefore
|
|
165
|
+
* updates the draft and stops there — there is no emit path to loop through.
|
|
166
|
+
*
|
|
167
|
+
* The internal `_baseline` is the dirty-tracking reference: seeded from the `savedValue` input
|
|
168
|
+
* (falling back to `value`), and moved locally by `commit()` on Apply/Save/Update.
|
|
169
|
+
*/
|
|
147
170
|
declare class FilterState {
|
|
148
171
|
private readonly _groups;
|
|
149
172
|
private readonly _draft;
|
|
150
173
|
private readonly _baseline;
|
|
151
|
-
|
|
174
|
+
private readonly _expanded;
|
|
152
175
|
readonly groups: _angular_core.Signal<FilterDropdownGroup[]>;
|
|
153
176
|
readonly draft: _angular_core.Signal<FilterDropdownOutput>;
|
|
154
|
-
|
|
177
|
+
readonly expanded: _angular_core.Signal<Record<string, boolean>>;
|
|
178
|
+
readonly activeFilterCount: _angular_core.Signal<number>;
|
|
179
|
+
readonly isFilterCountActive: _angular_core.Signal<boolean>;
|
|
155
180
|
readonly hasChanges: _angular_core.Signal<boolean>;
|
|
181
|
+
/** Save / Update / Reset / Apply are gated on dirty state. */
|
|
156
182
|
readonly buttonsDisabled: _angular_core.Signal<boolean>;
|
|
157
|
-
/**
|
|
158
|
-
|
|
159
|
-
/**
|
|
183
|
+
/** Clear is gated on "is there anything to clear", not on dirty state. */
|
|
184
|
+
readonly clearDisabled: _angular_core.Signal<boolean>;
|
|
185
|
+
/** Refresh the structural schema and reconcile the value keyspace (add empty / drop removed). */
|
|
186
|
+
setSchema(groups: FilterDropdownGroup[]): void;
|
|
187
|
+
/** Seed the draft from an external value, projected onto the current keyspace. Echo-gated, silent. */
|
|
188
|
+
seedDraft(value: FilterDropdownOutput): void;
|
|
189
|
+
/** Seed the baseline (the saved reference for dirty tracking / reset) from an external value. Silent. */
|
|
190
|
+
seedBaseline(value: FilterDropdownOutput): void;
|
|
191
|
+
/** Adopt the current draft as the baseline (Apply / Save / Update). */
|
|
160
192
|
commit(): void;
|
|
161
|
-
|
|
162
|
-
collapseHeader(key: string): void;
|
|
163
|
-
/** Get the draft value for a specific filter key */
|
|
164
|
-
getValue(key: string): FilterDropdownValue | undefined;
|
|
165
|
-
/** Update a single filter's draft value */
|
|
166
|
-
updateValue(key: string, value: FilterDropdownValue): void;
|
|
167
|
-
/** Toggle a checkbox item in a checkbox filter */
|
|
168
|
-
toggleCheckbox(key: string, name: string, checked: boolean): void;
|
|
169
|
-
/** Set the selected radio value */
|
|
170
|
-
setRadioValue(key: string, value: unknown): void;
|
|
171
|
-
/** Set the toggle checked state */
|
|
172
|
-
setToggleValue(key: string, checked: boolean): void;
|
|
173
|
-
/** Set selected indices for a select filter */
|
|
174
|
-
setSingleSelectValue(key: string, selected: unknown): void;
|
|
175
|
-
setMultipleSelectValue(key: string, selected: unknown[]): void;
|
|
176
|
-
/** Set the selected period for a date range filter */
|
|
177
|
-
setDateRangeValue(key: string, selectedPeriod: Period): void;
|
|
178
|
-
/** Return the current draft snapshot (used on Apply) */
|
|
179
|
-
getSnapshot(): FilterDropdownOutput;
|
|
180
|
-
/** Revert the draft to the committed baseline. */
|
|
193
|
+
/** Revert the draft to the committed baseline (user action). */
|
|
181
194
|
reset(): void;
|
|
182
|
-
/** Clear all draft values to empty
|
|
195
|
+
/** Clear all draft values to their empty states (user action). */
|
|
183
196
|
clear(): void;
|
|
184
|
-
|
|
185
|
-
|
|
197
|
+
/** Get the draft value for a specific filter key. */
|
|
198
|
+
getValue(key: string): FilterDropdownValue | undefined;
|
|
199
|
+
/** Return the current draft snapshot (used on Apply / Save). */
|
|
200
|
+
getSnapshot(): FilterDropdownOutput;
|
|
201
|
+
/**
|
|
202
|
+
* Apply a single filter's fully-formed draft value (user action). The value is built by the
|
|
203
|
+
* leaf that owns the widget; this state only stores it, keeping the type-specific shaping at
|
|
204
|
+
* the edge where the DOM event happens.
|
|
205
|
+
*/
|
|
206
|
+
updateValue(key: string, value: FilterDropdownValue): void;
|
|
207
|
+
/** Whether a group is currently expanded. Defaults to collapsed for unknown keys. */
|
|
208
|
+
isExpanded(key: string): boolean;
|
|
209
|
+
/** Toggle a group's expand/collapse state. Updates internal state only — the config is never mutated. */
|
|
210
|
+
collapseHeader(key: string): void;
|
|
211
|
+
/**
|
|
212
|
+
* On open, optionally re-derive each group's expanded state from a policy. `'collapse-empty'` expands
|
|
213
|
+
* groups that currently have a selection; a custom predicate is evaluated against the current draft.
|
|
214
|
+
* When no policy is given the state is left untouched, so it persists across opens.
|
|
215
|
+
*/
|
|
216
|
+
applyExpandOnOpen(policy?: ExpandOnOpenPolicy): void;
|
|
217
|
+
/** Seed the live expanded state from config, preserving any key that already has a live value. */
|
|
218
|
+
private seedExpanded;
|
|
219
|
+
/** Keep only keys present in `groups`; fill missing keys with their empty value, preserve existing ones. */
|
|
220
|
+
private reconcileKeyspace;
|
|
221
|
+
/** Project an external value onto the current keyspace: matching entries kept, others empty, extras dropped. */
|
|
222
|
+
private projectValues;
|
|
186
223
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterState, never>;
|
|
187
224
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FilterState>;
|
|
188
225
|
}
|
|
@@ -190,18 +227,37 @@ declare class FilterState {
|
|
|
190
227
|
declare class FilterDropdownComponent implements DropdownOverlay {
|
|
191
228
|
private readonly overlay;
|
|
192
229
|
readonly filterState: FilterState;
|
|
193
|
-
|
|
194
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Seed the component state from its inputs. This is the ONLY reactive path and it is silent:
|
|
232
|
+
* it just copies inputs into `FilterState`. It never emits — emitting lives exclusively in the
|
|
233
|
+
* user-gesture handlers below — so feeding an applied `value` back here cannot start a loop.
|
|
234
|
+
* `savedValue` falls back to `value` when omitted (non-preset consumers).
|
|
235
|
+
*/
|
|
236
|
+
syncFromInputs: _angular_core.EffectRef;
|
|
195
237
|
filterGroupTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
|
|
196
238
|
/**
|
|
197
|
-
* The filter groups to display
|
|
198
|
-
*
|
|
239
|
+
* The filter groups to display: STRUCTURE only (keys, titles, options, locks, display type, and the
|
|
240
|
+
* optional initial `expanded` seed). Not a value binding — selection lives in `value`, never here.
|
|
241
|
+
*/
|
|
242
|
+
groups: _angular_core.InputSignal<FilterDropdownGroup[]>;
|
|
243
|
+
/** The current / applied selection. Seeds the editable draft; re-seeding is silent (never emits). */
|
|
244
|
+
value: _angular_core.InputSignal<FilterDropdownOutput>;
|
|
245
|
+
/**
|
|
246
|
+
* The consumer's saved value (e.g. the active preset's filter) that the dirty state and Reset compare
|
|
247
|
+
* against. Falls back to `value` when omitted. Kept distinct from `value` so an auto-applied edit stays
|
|
248
|
+
* dirty vs the preset.
|
|
199
249
|
*/
|
|
200
|
-
|
|
250
|
+
savedValue: _angular_core.InputSignal<FilterDropdownOutput | undefined>;
|
|
201
251
|
/** Whether the filter needs the apply button to be clicked for applyFilters to emit */
|
|
202
252
|
needApplyButton: _angular_core.InputSignal<boolean>;
|
|
203
253
|
/** Whether the filter group can be closed (collapsed) by the user. If false, the group will always be expanded and the user won't see a toggle button. */
|
|
204
254
|
closable: _angular_core.InputSignal<boolean>;
|
|
255
|
+
/**
|
|
256
|
+
* Policy deciding which groups start expanded each time the dropdown opens. `'collapse-empty'` expands
|
|
257
|
+
* groups that currently have a selection; a predicate is evaluated per group against its draft value.
|
|
258
|
+
* Omitted → the expand/collapse state persists across opens.
|
|
259
|
+
*/
|
|
260
|
+
expandOnOpen: _angular_core.InputSignal<ExpandOnOpenPolicy | undefined>;
|
|
205
261
|
/** whether the feature to save presets is locked for the org */
|
|
206
262
|
presetsFeatureLocked: _angular_core.InputSignal<boolean>;
|
|
207
263
|
/** whether the mode is in preset mode */
|
|
@@ -247,14 +303,23 @@ declare class FilterDropdownComponent implements DropdownOverlay {
|
|
|
247
303
|
close(): void;
|
|
248
304
|
/** Toggles the dropdown menu open or closed state */
|
|
249
305
|
toggle(triggerElement?: HTMLElement): void;
|
|
306
|
+
/**
|
|
307
|
+
* A leaf reported a user edit. Store it, then — in auto-apply mode — emit the new snapshot
|
|
308
|
+
* immediately. This is the whole auto-apply mechanism: an edit is a gesture, so it emits here;
|
|
309
|
+
* seeding an input never runs this handler, so an echoed value can never loop.
|
|
310
|
+
*/
|
|
311
|
+
onLeafEdit(edit: FilterValueEdit): void;
|
|
312
|
+
/** Manual-apply commit (Apply button; only rendered when `needApplyButton`). */
|
|
250
313
|
onApplyFilters(): void;
|
|
251
314
|
onClearFilters(): void;
|
|
252
315
|
onResetFilters(): void;
|
|
316
|
+
/** In auto-apply mode, push the current draft to the consumer. The single place clear/reset/leaf-edit funnel through. */
|
|
317
|
+
private emitIfAuto;
|
|
253
318
|
onSavePresets(): void;
|
|
254
319
|
onUpdatePresets(): void;
|
|
255
320
|
protected onActionDropdownItemClick(item: ActionDropdownItem): void;
|
|
256
321
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterDropdownComponent, never>;
|
|
257
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterDropdownComponent, "ap-filter-dropdown", never, { "
|
|
322
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterDropdownComponent, "ap-filter-dropdown", never, { "groups": { "alias": "groups"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "savedValue": { "alias": "savedValue"; "required": false; "isSignal": true; }; "needApplyButton": { "alias": "needApplyButton"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "expandOnOpen": { "alias": "expandOnOpen"; "required": false; "isSignal": true; }; "presetsFeatureLocked": { "alias": "presetsFeatureLocked"; "required": false; "isSignal": true; }; "savePresetsMode": { "alias": "savePresetsMode"; "required": false; "isSignal": true; }; "editingPresetsMode": { "alias": "editingPresetsMode"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "defaultPosition": { "alias": "defaultPosition"; "required": false; "isSignal": true; }; "saveNewPresetsText": { "alias": "saveNewPresetsText"; "required": false; "isSignal": true; }; "saveAsNewPresetText": { "alias": "saveAsNewPresetText"; "required": false; "isSignal": true; }; "savePresetText": { "alias": "savePresetText"; "required": false; "isSignal": true; }; "updateExistingPresetText": { "alias": "updateExistingPresetText"; "required": false; "isSignal": true; }; "resetFilterText": { "alias": "resetFilterText"; "required": false; "isSignal": true; }; "applyFiltersText": { "alias": "applyFiltersText"; "required": false; "isSignal": true; }; "clearFilterText": { "alias": "clearFilterText"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; "presetsLockedClicked": "presetsLockedClicked"; "saveNewPresets": "saveNewPresets"; "updatePresets": "updatePresets"; "applyFilters": "applyFilters"; "clearFilters": "clearFilters"; "resetFilters": "resetFilters"; "lockedFeatureClicked": "lockedFeatureClicked"; "filterDropdownGroupLockedClicked": "filterDropdownGroupLockedClicked"; }, never, never, true, never>;
|
|
258
323
|
}
|
|
259
324
|
|
|
260
325
|
declare class FilterDropdownButtonComponent {
|
|
@@ -264,15 +329,18 @@ declare class FilterDropdownButtonComponent {
|
|
|
264
329
|
/** text of the button, input specific to the button */
|
|
265
330
|
buttonFilterText: _angular_core.InputSignal<string>;
|
|
266
331
|
/** input specific to the filter-dropdown */
|
|
267
|
-
/**
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
332
|
+
/** The filter groups to display: STRUCTURE only (keys, titles, options, locks, display type, expand seed). */
|
|
333
|
+
groups: _angular_core.InputSignal<FilterDropdownGroup[]>;
|
|
334
|
+
/** The current / applied selection. Seeds the editable draft; re-seeding is silent (never emits). */
|
|
335
|
+
value: _angular_core.InputSignal<FilterDropdownOutput>;
|
|
336
|
+
/** The consumer's saved value (e.g. the active preset's filter) that dirty state / Reset compare against. Falls back to `value`. */
|
|
337
|
+
savedValue: _angular_core.InputSignal<FilterDropdownOutput | undefined>;
|
|
272
338
|
/** Whether the filter needs the apply button to be clicked for applyFilters to emit */
|
|
273
339
|
needApplyButton: _angular_core.InputSignal<boolean>;
|
|
274
340
|
/** Whether the filter group can be closed (collapsed) by the user. If false, the group will always be expanded and the user won't see a toggle button. */
|
|
275
341
|
closable: _angular_core.InputSignal<boolean>;
|
|
342
|
+
/** Policy deciding which groups start expanded on each open ('collapse-empty' | predicate). Omitted → persist. */
|
|
343
|
+
expandOnOpen: _angular_core.InputSignal<ExpandOnOpenPolicy | undefined>;
|
|
276
344
|
/** whether the feature to save presets is locked for the org */
|
|
277
345
|
presetsFeatureLocked: _angular_core.InputSignal<boolean>;
|
|
278
346
|
/** whether the mode is in preset mode */
|
|
@@ -313,8 +381,8 @@ declare class FilterDropdownButtonComponent {
|
|
|
313
381
|
/** Event emitted when a group with locked feature is clicked */
|
|
314
382
|
filterDropdownGroupLockedClicked: _angular_core.OutputEmitterRef<FilterDropdownGroup>;
|
|
315
383
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterDropdownButtonComponent, never>;
|
|
316
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterDropdownButtonComponent, "ap-filter-dropdown-button", never, { "buttonFilterText": { "alias": "buttonFilterText"; "required": false; "isSignal": true; }; "
|
|
384
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterDropdownButtonComponent, "ap-filter-dropdown-button", never, { "buttonFilterText": { "alias": "buttonFilterText"; "required": false; "isSignal": true; }; "groups": { "alias": "groups"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "savedValue": { "alias": "savedValue"; "required": false; "isSignal": true; }; "needApplyButton": { "alias": "needApplyButton"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "expandOnOpen": { "alias": "expandOnOpen"; "required": false; "isSignal": true; }; "presetsFeatureLocked": { "alias": "presetsFeatureLocked"; "required": false; "isSignal": true; }; "savePresetsMode": { "alias": "savePresetsMode"; "required": false; "isSignal": true; }; "editingPresetsMode": { "alias": "editingPresetsMode"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "defaultPosition": { "alias": "defaultPosition"; "required": false; "isSignal": true; }; "saveNewPresetsText": { "alias": "saveNewPresetsText"; "required": false; "isSignal": true; }; "saveAsNewPresetText": { "alias": "saveAsNewPresetText"; "required": false; "isSignal": true; }; "savePresetText": { "alias": "savePresetText"; "required": false; "isSignal": true; }; "updateExistingPresetText": { "alias": "updateExistingPresetText"; "required": false; "isSignal": true; }; "resetFilterText": { "alias": "resetFilterText"; "required": false; "isSignal": true; }; "applyFiltersText": { "alias": "applyFiltersText"; "required": false; "isSignal": true; }; "clearFilterText": { "alias": "clearFilterText"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; "presetsLockedClicked": "presetsLockedClicked"; "saveNewPresets": "saveNewPresets"; "updatePresets": "updatePresets"; "applyFilters": "applyFilters"; "clearFilters": "clearFilters"; "resetFilters": "resetFilters"; "lockedFeatureClicked": "lockedFeatureClicked"; "filterDropdownGroupLockedClicked": "filterDropdownGroupLockedClicked"; }, never, never, true, never>;
|
|
317
385
|
}
|
|
318
386
|
|
|
319
387
|
export { FilterDropdownButtonComponent, FilterDropdownComponent };
|
|
320
|
-
export type { FilterDropdownGroup, FilterDropdownGroupCheckbox, FilterDropdownGroupDateRange, FilterDropdownGroupRadio, FilterDropdownGroupSelectMultiple, FilterDropdownGroupSelectSingle, FilterDropdownGroupToggle, FilterDropdownItemCheckbox, FilterDropdownItemRadio, FilterDropdownItemSelect, FilterDropdownItemToggle, FilterDropdownOutput, FilterDropdownType, FilterDropdownValue, FilterDropdownValueCheckbox, FilterDropdownValueDateRange, FilterDropdownValueMultipleSelect, FilterDropdownValueRadio, FilterDropdownValueSingleSelect, FilterDropdownValueToggle };
|
|
388
|
+
export type { ExpandOnOpenPolicy, FilterDropdownGroup, FilterDropdownGroupCheckbox, FilterDropdownGroupDateRange, FilterDropdownGroupRadio, FilterDropdownGroupSelectMultiple, FilterDropdownGroupSelectSingle, FilterDropdownGroupToggle, FilterDropdownItemCheckbox, FilterDropdownItemRadio, FilterDropdownItemSelect, FilterDropdownItemToggle, FilterDropdownOutput, FilterDropdownType, FilterDropdownValue, FilterDropdownValueCheckbox, FilterDropdownValueDateRange, FilterDropdownValueMultipleSelect, FilterDropdownValueRadio, FilterDropdownValueSingleSelect, FilterDropdownValueToggle, FilterValueEdit };
|
|
@@ -185,6 +185,7 @@ declare class SelectLabelMultipleComponent {
|
|
|
185
185
|
bindSymbolId: _angular_core.InputSignal<string>;
|
|
186
186
|
roundedAvatar: _angular_core.InputSignal<boolean>;
|
|
187
187
|
bindNetwork: _angular_core.InputSignal<string>;
|
|
188
|
+
bindTagColor: _angular_core.InputSignal<string>;
|
|
188
189
|
removeItem: _angular_core.OutputEmitterRef<any>;
|
|
189
190
|
/**
|
|
190
191
|
* Parent ng-select, resolved through the DI chain of the `ng-multi-label-tmp` template.
|
|
@@ -199,6 +200,7 @@ declare class SelectLabelMultipleComponent {
|
|
|
199
200
|
symbolId: any;
|
|
200
201
|
value: any;
|
|
201
202
|
network: any;
|
|
203
|
+
tagColor: TagColor | undefined;
|
|
202
204
|
}[]>;
|
|
203
205
|
hiddenCount: _angular_core.WritableSignal<number>;
|
|
204
206
|
trackByItem: (_: number, item: any) => any;
|
|
@@ -206,7 +208,7 @@ declare class SelectLabelMultipleComponent {
|
|
|
206
208
|
itemsElement: _angular_core.Signal<readonly ElementRef<any>[]>;
|
|
207
209
|
private responsiveLayout;
|
|
208
210
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectLabelMultipleComponent, never>;
|
|
209
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectLabelMultipleComponent, "ap-select-label-multiple", never, { "displayType": { "alias": "displayType"; "required": false; "isSignal": true; }; "tagColor": { "alias": "tagColor"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": true; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "bindAvatarUrl": { "alias": "bindAvatarUrl"; "required": false; "isSignal": true; }; "bindSymbolId": { "alias": "bindSymbolId"; "required": false; "isSignal": true; }; "roundedAvatar": { "alias": "roundedAvatar"; "required": false; "isSignal": true; }; "bindNetwork": { "alias": "bindNetwork"; "required": false; "isSignal": true; }; }, { "removeItem": "removeItem"; }, never, never, true, never>;
|
|
211
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectLabelMultipleComponent, "ap-select-label-multiple", never, { "displayType": { "alias": "displayType"; "required": false; "isSignal": true; }; "tagColor": { "alias": "tagColor"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": true; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "bindAvatarUrl": { "alias": "bindAvatarUrl"; "required": false; "isSignal": true; }; "bindSymbolId": { "alias": "bindSymbolId"; "required": false; "isSignal": true; }; "roundedAvatar": { "alias": "roundedAvatar"; "required": false; "isSignal": true; }; "bindNetwork": { "alias": "bindNetwork"; "required": false; "isSignal": true; }; "bindTagColor": { "alias": "bindTagColor"; "required": false; "isSignal": true; }; }, { "removeItem": "removeItem"; }, never, never, true, never>;
|
|
210
212
|
}
|
|
211
213
|
|
|
212
214
|
/** Search input for an ng-select dropdown — place inside its `ng-header-tmp`. */
|
|
Binary file
|