@agorapulse/ui-components 22.0.1 → 22.0.3

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.
@@ -34,6 +34,7 @@ interface SelectionDropdownItem {
34
34
  symbolTooltipText?: string;
35
35
  /** Group label - items with the same groupLabel will be grouped together */
36
36
  groupLabel?: string;
37
+ dataTrack?: string;
37
38
  }
38
39
  /**
39
40
  * One rendered row in the unselected zone: either a standalone item or a group
@@ -47,10 +48,8 @@ type RenderEntry = {
47
48
  label: string;
48
49
  items: SelectionDropdownItem[];
49
50
  };
50
- /**
51
- * A dropdown component that displays a list of selectable items with checkboxes,
52
- * badges, tooltips, and keyboard navigation.
53
- */
51
+ type SelectionDropdownMode = 'multiple' | 'single';
52
+ /** A dropdown of options on any trigger. `multiple` = checkbox rows with search; `single` = rows, closes on pick. */
54
53
  declare class SelectionDropdownComponent implements DropdownOverlay, OnDestroy {
55
54
  private readonly symbolRegistry;
56
55
  private readonly overlay;
@@ -62,6 +61,10 @@ declare class SelectionDropdownComponent implements DropdownOverlay, OnDestroy {
62
61
  footerButtonId: _angular_core.InputSignal<string | undefined>;
63
62
  /** Array of items to display in the dropdown menu */
64
63
  items: _angular_core.InputSignal<SelectionDropdownItem[]>;
64
+ /** Whether several options can be active at once, or exactly one. */
65
+ selectionMode: _angular_core.InputSignal<SelectionDropdownMode>;
66
+ /** Shows the search field. Ignored in `multiple` mode, which always searches. */
67
+ searchEnabled: _angular_core.InputSignal<boolean>;
65
68
  /** Title to display in the header */
66
69
  title: _angular_core.InputSignal<string | undefined>;
67
70
  /** Text for the footer button */
@@ -105,6 +108,11 @@ declare class SelectionDropdownComponent implements DropdownOverlay, OnDestroy {
105
108
  protected readonly inputSearchComponent: _angular_core.Signal<InputSearchComponent | undefined>;
106
109
  readonly isOpen: _angular_core.Signal<boolean>;
107
110
  focusInput: _angular_core.EffectRef;
111
+ protected readonly isSingleSelect: _angular_core.Signal<boolean>;
112
+ /** Always true in `multiple` mode, leaving that layout untouched; only `single` collapses the header. */
113
+ protected readonly searchVisible: _angular_core.Signal<boolean>;
114
+ protected readonly headerTopVisible: _angular_core.Signal<boolean>;
115
+ protected readonly headerVisible: _angular_core.Signal<boolean>;
108
116
  private readonly internalItems;
109
117
  protected readonly filteredItems: _angular_core.WritableSignal<SelectionDropdownItem[]>;
110
118
  protected readonly initiallySelectedItems: _angular_core.WritableSignal<SelectionDropdownItem[]>;
@@ -129,6 +137,8 @@ declare class SelectionDropdownComponent implements DropdownOverlay, OnDestroy {
129
137
  * An indeterminate item resolves to selected; a definite item flips. Toggling always
130
138
  * clears the indeterminate flag, so the item becomes a definite selected/unselected. */
131
139
  onItemToggle(item: SelectionDropdownItem): void;
140
+ /** Single mode: the pick becomes the only selection, then the dropdown closes — even on a no-op pick. */
141
+ private selectOnly;
132
142
  /** Handles footer button clicks */
133
143
  onFooterButtonClick(): void;
134
144
  /** Handles footer button keyboard events */
@@ -147,7 +157,7 @@ declare class SelectionDropdownComponent implements DropdownOverlay, OnDestroy {
147
157
  /** Updates the filtered items based on search term */
148
158
  private updateFilteredItems;
149
159
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectionDropdownComponent, never>;
150
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectionDropdownComponent, "ap-selection-dropdown", never, { "headerButtonId": { "alias": "headerButtonId"; "required": false; "isSignal": true; }; "footerButtonId": { "alias": "footerButtonId"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "footerButtonText": { "alias": "footerButtonText"; "required": false; "isSignal": true; }; "footerButtonSymbolId": { "alias": "footerButtonSymbolId"; "required": false; "isSignal": true; }; "headerButtonText": { "alias": "headerButtonText"; "required": false; "isSignal": true; }; "headerButtonSymbolId": { "alias": "headerButtonSymbolId"; "required": false; "isSignal": true; }; "searchPlaceholderText": { "alias": "searchPlaceholderText"; "required": false; "isSignal": true; }; "noSearchResultsText": { "alias": "noSearchResultsText"; "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; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; "selectionChange": "selectionChange"; "footerButtonClick": "footerButtonClick"; "headerButtonClick": "headerButtonClick"; "searchInputChange": "searchInputChange"; "searchTerm": "searchTermChange"; }, ["trigger"], never, true, never>;
160
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectionDropdownComponent, "ap-selection-dropdown", never, { "headerButtonId": { "alias": "headerButtonId"; "required": false; "isSignal": true; }; "footerButtonId": { "alias": "footerButtonId"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "footerButtonText": { "alias": "footerButtonText"; "required": false; "isSignal": true; }; "footerButtonSymbolId": { "alias": "footerButtonSymbolId"; "required": false; "isSignal": true; }; "headerButtonText": { "alias": "headerButtonText"; "required": false; "isSignal": true; }; "headerButtonSymbolId": { "alias": "headerButtonSymbolId"; "required": false; "isSignal": true; }; "searchPlaceholderText": { "alias": "searchPlaceholderText"; "required": false; "isSignal": true; }; "noSearchResultsText": { "alias": "noSearchResultsText"; "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; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; "selectionChange": "selectionChange"; "footerButtonClick": "footerButtonClick"; "headerButtonClick": "headerButtonClick"; "searchInputChange": "searchInputChange"; "searchTerm": "searchTermChange"; }, ["trigger"], never, true, never>;
151
161
  }
152
162
 
153
163
  /**
Binary file