@agorapulse/ui-components 22.0.27 → 22.0.29
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-22.0.29.tgz +0 -0
- package/fesm2022/agorapulse-ui-components-dropdown-base.mjs +4 -6
- package/fesm2022/agorapulse-ui-components-dropdown-base.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs +75 -26
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs.map +1 -1
- package/package.json +1 -1
- package/types/agorapulse-ui-components-filter-dropdown.d.ts +20 -12
- package/agorapulse-ui-components-22.0.27.tgz +0 -0
|
@@ -119,7 +119,7 @@ interface FilterDropdownGroupSelectSingle extends FilterDropdownGroupBase {
|
|
|
119
119
|
selectionType: 'single';
|
|
120
120
|
/** An optional type to determine the icon/avatar/symbol to display for each item. Only applicable for select filter groups. */
|
|
121
121
|
displayType: SelectLabelSingleDisplayType;
|
|
122
|
-
/**
|
|
122
|
+
/** Unused: a single-selection option carries no "only" shortcut. */
|
|
123
123
|
onlyText?: string;
|
|
124
124
|
/** Whether the dropdown panel shows a search input to filter the options. */
|
|
125
125
|
searchable?: boolean;
|
|
@@ -136,7 +136,9 @@ interface FilterDropdownGroupSelectMultiple extends FilterDropdownGroupBase {
|
|
|
136
136
|
selectionType: 'multiple';
|
|
137
137
|
/** An optional type to determine the icon/avatar/symbol to display for each item. Only applicable for select filter groups. */
|
|
138
138
|
displayType: SelectLabelSingleDisplayType;
|
|
139
|
-
/**
|
|
139
|
+
/** Whether each option carries a shortcut narrowing the selection down to that option alone. */
|
|
140
|
+
onlyEnabled?: boolean;
|
|
141
|
+
/** The label of that shortcut, "Only" when omitted. */
|
|
140
142
|
onlyText?: string;
|
|
141
143
|
/** Default chip color in `tag` display mode — applies to items without a per-item `tagColor` and to the "+N" overflow chip. */
|
|
142
144
|
tagColor?: TagColor;
|
|
@@ -182,6 +184,7 @@ declare class FilterState {
|
|
|
182
184
|
private readonly _draft;
|
|
183
185
|
private readonly _baseline;
|
|
184
186
|
private readonly _expanded;
|
|
187
|
+
private readonly _openPanelKeys;
|
|
185
188
|
readonly groups: _angular_core.Signal<FilterDropdownGroup[]>;
|
|
186
189
|
readonly draft: _angular_core.Signal<FilterDropdownOutput>;
|
|
187
190
|
readonly expanded: _angular_core.Signal<Record<string, boolean>>;
|
|
@@ -192,6 +195,8 @@ declare class FilterState {
|
|
|
192
195
|
readonly buttonsDisabled: _angular_core.Signal<boolean>;
|
|
193
196
|
/** Clear is gated on "is there anything to clear", not on dirty state. */
|
|
194
197
|
readonly clearDisabled: _angular_core.Signal<boolean>;
|
|
198
|
+
/** Whether a leaf has a panel of its own showing: the dropdown must not close under it. */
|
|
199
|
+
readonly nestedPanelOpen: _angular_core.Signal<boolean>;
|
|
195
200
|
/** Refresh the structural schema and reconcile the value keyspace (add empty / drop removed). */
|
|
196
201
|
setSchema(groups: FilterDropdownGroup[]): void;
|
|
197
202
|
/** Seed the draft from an external value, projected onto the current keyspace. Echo-gated, silent. */
|
|
@@ -214,6 +219,8 @@ declare class FilterState {
|
|
|
214
219
|
* the edge where the DOM event happens.
|
|
215
220
|
*/
|
|
216
221
|
updateValue(key: string, value: FilterDropdownValue): void;
|
|
222
|
+
/** Call whenever a leaf's panel opens or closes. Keyed by leaf, so a repeated open or close is harmless. */
|
|
223
|
+
setNestedPanelOpen(key: string, open: boolean): void;
|
|
217
224
|
/** Whether a group is currently expanded. Defaults to collapsed for unknown keys. */
|
|
218
225
|
isExpanded(key: string): boolean;
|
|
219
226
|
/** Toggle a group's expand/collapse state. Updates internal state only — the config is never mutated. */
|
|
@@ -260,8 +267,8 @@ declare class FilterDropdownComponent implements DropdownOverlay {
|
|
|
260
267
|
savedValue: _angular_core.InputSignal<FilterDropdownOutput | undefined>;
|
|
261
268
|
/** Whether the filter needs the apply button to be clicked for applyFilters to emit */
|
|
262
269
|
needApplyButton: _angular_core.InputSignal<boolean>;
|
|
263
|
-
/** Whether to offer a
|
|
264
|
-
|
|
270
|
+
/** Whether to offer a clear button that empties every group's selection. */
|
|
271
|
+
needClearButton: _angular_core.InputSignal<boolean>;
|
|
265
272
|
/** 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. */
|
|
266
273
|
closable: _angular_core.InputSignal<boolean>;
|
|
267
274
|
/**
|
|
@@ -289,7 +296,6 @@ declare class FilterDropdownComponent implements DropdownOverlay {
|
|
|
289
296
|
resetFilterText: _angular_core.InputSignal<string>;
|
|
290
297
|
applyFiltersText: _angular_core.InputSignal<string>;
|
|
291
298
|
clearFilterText: _angular_core.InputSignal<string>;
|
|
292
|
-
cancelFilterText: _angular_core.InputSignal<string>;
|
|
293
299
|
/** Emits when the dropdown menu is opened */
|
|
294
300
|
opened: _angular_core.OutputEmitterRef<void>;
|
|
295
301
|
/** Emits when the dropdown menu is closed */
|
|
@@ -311,9 +317,14 @@ declare class FilterDropdownComponent implements DropdownOverlay {
|
|
|
311
317
|
/** Event emitted when a group with locked feature is clicked */
|
|
312
318
|
filterDropdownGroupLockedClicked: _angular_core.OutputEmitterRef<FilterDropdownGroup>;
|
|
313
319
|
readonly isOpen: _angular_core.Signal<boolean>;
|
|
320
|
+
private panelOpenAtGestureStart;
|
|
314
321
|
savePresetsDropdownItems: _angular_core.Signal<ActionDropdownItem[]>;
|
|
315
322
|
/** Opens the dropdown menu at the specified trigger element */
|
|
316
323
|
open(triggerElement?: HTMLElement): void;
|
|
324
|
+
/** A leaf's panel closes on the pointerdown or keydown that dismisses it, so snapshot the flag then: by dismissal it reads false. */
|
|
325
|
+
private trackDismissalGestures;
|
|
326
|
+
/** Backdrop click / Escape: close, unless the gesture was a leaf panel's own dismissal. */
|
|
327
|
+
private dismiss;
|
|
317
328
|
/** Closes the dropdown menu and cleans up overlay resources */
|
|
318
329
|
close(): void;
|
|
319
330
|
/** Toggles the dropdown menu open or closed state */
|
|
@@ -326,8 +337,6 @@ declare class FilterDropdownComponent implements DropdownOverlay {
|
|
|
326
337
|
onLeafEdit(edit: FilterValueEdit): void;
|
|
327
338
|
/** Manual-apply commit (Apply button; only rendered when `needApplyButton`). Applying also dismisses the panel. */
|
|
328
339
|
onApplyFilters(): void;
|
|
329
|
-
/** Dismiss without applying: the draft goes back to the last committed value, so reopening shows no leftover edits. */
|
|
330
|
-
onCancelFilters(): void;
|
|
331
340
|
onClearFilters(): void;
|
|
332
341
|
onResetFilters(): void;
|
|
333
342
|
/** In auto-apply mode, push the current draft to the consumer. The single place clear/reset/leaf-edit funnel through. */
|
|
@@ -336,7 +345,7 @@ declare class FilterDropdownComponent implements DropdownOverlay {
|
|
|
336
345
|
onUpdatePresets(): void;
|
|
337
346
|
protected onActionDropdownItemClick(item: ActionDropdownItem): void;
|
|
338
347
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterDropdownComponent, never>;
|
|
339
|
-
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; }; "
|
|
348
|
+
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; }; "needClearButton": { "alias": "needClearButton"; "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; }; "panelClass": { "alias": "panelClass"; "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>;
|
|
340
349
|
}
|
|
341
350
|
|
|
342
351
|
declare class FilterDropdownButtonComponent {
|
|
@@ -354,8 +363,8 @@ declare class FilterDropdownButtonComponent {
|
|
|
354
363
|
savedValue: _angular_core.InputSignal<FilterDropdownOutput | undefined>;
|
|
355
364
|
/** Whether the filter needs the apply button to be clicked for applyFilters to emit */
|
|
356
365
|
needApplyButton: _angular_core.InputSignal<boolean>;
|
|
357
|
-
/** Whether to offer a
|
|
358
|
-
|
|
366
|
+
/** Whether to offer a clear button that empties every group's selection. */
|
|
367
|
+
needClearButton: _angular_core.InputSignal<boolean>;
|
|
359
368
|
/** 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. */
|
|
360
369
|
closable: _angular_core.InputSignal<boolean>;
|
|
361
370
|
/** Policy deciding which groups start expanded on each open ('collapse-empty' | predicate). Omitted → persist. */
|
|
@@ -381,7 +390,6 @@ declare class FilterDropdownButtonComponent {
|
|
|
381
390
|
resetFilterText: _angular_core.InputSignal<string>;
|
|
382
391
|
applyFiltersText: _angular_core.InputSignal<string>;
|
|
383
392
|
clearFilterText: _angular_core.InputSignal<string>;
|
|
384
|
-
cancelFilterText: _angular_core.InputSignal<string>;
|
|
385
393
|
/** Emits when the dropdown menu is opened */
|
|
386
394
|
opened: _angular_core.OutputEmitterRef<void>;
|
|
387
395
|
/** Emits when the dropdown menu is closed */
|
|
@@ -403,7 +411,7 @@ declare class FilterDropdownButtonComponent {
|
|
|
403
411
|
/** Event emitted when a group with locked feature is clicked */
|
|
404
412
|
filterDropdownGroupLockedClicked: _angular_core.OutputEmitterRef<FilterDropdownGroup>;
|
|
405
413
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterDropdownButtonComponent, never>;
|
|
406
|
-
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; }; "
|
|
414
|
+
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; }; "needClearButton": { "alias": "needClearButton"; "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; }; "panelClass": { "alias": "panelClass"; "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>;
|
|
407
415
|
}
|
|
408
416
|
|
|
409
417
|
export { FilterDropdownButtonComponent, FilterDropdownComponent };
|
|
Binary file
|