@agorapulse/ui-components 22.1.1 → 22.1.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-components",
3
3
  "description": "Agorapulse UI Components Library",
4
- "version": "22.1.1",
4
+ "version": "22.1.3",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1,5 +1,6 @@
1
1
  import { AvatarNetwork } from '@agorapulse/ui-components/avatar';
2
2
  import { Locale, FirstDayOfWeek, Period } from '@agorapulse/ui-components/datepicker';
3
+ import { InfoboxType } from '@agorapulse/ui-components/infobox';
3
4
  import dayjs from 'dayjs';
4
5
  import { SelectLabelSingleDisplayType } from '@agorapulse/ui-components/select';
5
6
  import { TagColor } from '@agorapulse/ui-components/tag';
@@ -73,6 +74,26 @@ interface FilterValueEdit {
73
74
  key: string;
74
75
  value: FilterDropdownValue;
75
76
  }
77
+ /** An optional link rendered before the infobox message (e.g. "Connect an Ad account"). */
78
+ interface FilterDropdownInfoboxLink {
79
+ label: string;
80
+ /** When set, the link navigates to this URL. When omitted, activating it emits `infoboxLinkClick` instead. */
81
+ href?: string;
82
+ }
83
+ /**
84
+ * An optional infobox shown at the bottom of the popup content, above the footer.
85
+ * Pass it to the `infobox` input to surface contextual information such as a link.
86
+ */
87
+ interface FilterDropdownInfobox {
88
+ /** The message shown in the infobox. */
89
+ text: string;
90
+ /** The infobox style. Defaults to `'info'`. */
91
+ type?: InfoboxType;
92
+ /** An optional title shown above the message. */
93
+ title?: string;
94
+ /** An optional link rendered before the message. */
95
+ link?: FilterDropdownInfoboxLink;
96
+ }
76
97
  interface FilterDropdownGroupBase {
77
98
  /** Unique key to identify this filter in the output */
78
99
  key: string;
@@ -255,6 +276,8 @@ declare class FilterDropdownComponent implements DropdownOverlay {
255
276
  */
256
277
  syncFromInputs: _angular_core.EffectRef;
257
278
  filterGroupTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
279
+ /** An optional infobox shown at the bottom of the popup content, above the footer (e.g. a link). */
280
+ infobox: _angular_core.InputSignal<FilterDropdownInfobox | null>;
258
281
  /**
259
282
  * The filter groups to display: STRUCTURE only (keys, titles, options, locks, display type, and the
260
283
  * optional initial `expanded` seed). Not a value binding — selection lives in `value`, never here.
@@ -299,6 +322,8 @@ declare class FilterDropdownComponent implements DropdownOverlay {
299
322
  resetFilterText: _angular_core.InputSignal<string>;
300
323
  applyFiltersText: _angular_core.InputSignal<string>;
301
324
  clearFilterText: _angular_core.InputSignal<string>;
325
+ /** Emits when a hrefless infobox link is activated, so a consumer can run an in-app action. */
326
+ infoboxLinkClick: _angular_core.OutputEmitterRef<void>;
302
327
  /** Emits when the dropdown menu is opened */
303
328
  opened: _angular_core.OutputEmitterRef<void>;
304
329
  /** Emits when the dropdown menu is closed */
@@ -351,7 +376,7 @@ declare class FilterDropdownComponent implements DropdownOverlay {
351
376
  onUpdatePresets(): void;
352
377
  protected onActionDropdownItemClick(item: ActionDropdownItem): void;
353
378
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterDropdownComponent, never>;
354
- 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>;
379
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterDropdownComponent, "ap-filter-dropdown", never, { "infobox": { "alias": "infobox"; "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; }; "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; }; }, { "infoboxLinkClick": "infoboxLinkClick"; "opened": "opened"; "closed": "closed"; "presetsLockedClicked": "presetsLockedClicked"; "saveNewPresets": "saveNewPresets"; "updatePresets": "updatePresets"; "applyFilters": "applyFilters"; "clearFilters": "clearFilters"; "resetFilters": "resetFilters"; "lockedFeatureClicked": "lockedFeatureClicked"; "filterDropdownGroupLockedClicked": "filterDropdownGroupLockedClicked"; }, never, never, true, never>;
355
380
  }
356
381
 
357
382
  declare class FilterDropdownButtonComponent {
@@ -360,6 +385,8 @@ declare class FilterDropdownButtonComponent {
360
385
  activeFilterCount: _angular_core.Signal<number>;
361
386
  /** text of the button, input specific to the button */
362
387
  buttonFilterText: _angular_core.InputSignal<string>;
388
+ /** An optional infobox shown at the bottom of the popup content, above the footer (e.g. a link). */
389
+ infobox: _angular_core.InputSignal<FilterDropdownInfobox | null>;
363
390
  /** input specific to the filter-dropdown */
364
391
  /** The filter groups to display: STRUCTURE only (keys, titles, options, locks, display type, expand seed). */
365
392
  groups: _angular_core.InputSignal<FilterDropdownGroup[]>;
@@ -396,6 +423,8 @@ declare class FilterDropdownButtonComponent {
396
423
  resetFilterText: _angular_core.InputSignal<string>;
397
424
  applyFiltersText: _angular_core.InputSignal<string>;
398
425
  clearFilterText: _angular_core.InputSignal<string>;
426
+ /** Emits when a hrefless infobox link is activated, so a consumer can run an in-app action. */
427
+ infoboxLinkClick: _angular_core.OutputEmitterRef<void>;
399
428
  /** Emits when the dropdown menu is opened */
400
429
  opened: _angular_core.OutputEmitterRef<void>;
401
430
  /** Emits when the dropdown menu is closed */
@@ -417,8 +446,8 @@ declare class FilterDropdownButtonComponent {
417
446
  /** Event emitted when a group with locked feature is clicked */
418
447
  filterDropdownGroupLockedClicked: _angular_core.OutputEmitterRef<FilterDropdownGroup>;
419
448
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterDropdownButtonComponent, never>;
420
- 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>;
449
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterDropdownButtonComponent, "ap-filter-dropdown-button", never, { "buttonFilterText": { "alias": "buttonFilterText"; "required": false; "isSignal": true; }; "infobox": { "alias": "infobox"; "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; }; }, { "infoboxLinkClick": "infoboxLinkClick"; "opened": "opened"; "closed": "closed"; "presetsLockedClicked": "presetsLockedClicked"; "saveNewPresets": "saveNewPresets"; "updatePresets": "updatePresets"; "applyFilters": "applyFilters"; "clearFilters": "clearFilters"; "resetFilters": "resetFilters"; "lockedFeatureClicked": "lockedFeatureClicked"; "filterDropdownGroupLockedClicked": "filterDropdownGroupLockedClicked"; }, never, never, true, never>;
421
450
  }
422
451
 
423
452
  export { FilterDropdownButtonComponent, FilterDropdownComponent };
424
- export type { ExpandOnOpenPolicy, FilterDropdownGroup, FilterDropdownGroupCheckbox, FilterDropdownGroupDateRange, FilterDropdownGroupRadio, FilterDropdownGroupSelectMultiple, FilterDropdownGroupSelectSingle, FilterDropdownGroupToggle, FilterDropdownItemCheckbox, FilterDropdownItemRadio, FilterDropdownItemSelect, FilterDropdownItemToggle, FilterDropdownOutput, FilterDropdownType, FilterDropdownValue, FilterDropdownValueCheckbox, FilterDropdownValueDateRange, FilterDropdownValueMultipleSelect, FilterDropdownValueRadio, FilterDropdownValueSingleSelect, FilterDropdownValueToggle, FilterValueEdit };
453
+ export type { ExpandOnOpenPolicy, FilterDropdownGroup, FilterDropdownGroupCheckbox, FilterDropdownGroupDateRange, FilterDropdownGroupRadio, FilterDropdownGroupSelectMultiple, FilterDropdownGroupSelectSingle, FilterDropdownGroupToggle, FilterDropdownInfobox, FilterDropdownInfoboxLink, FilterDropdownItemCheckbox, FilterDropdownItemRadio, FilterDropdownItemSelect, FilterDropdownItemToggle, FilterDropdownOutput, FilterDropdownType, FilterDropdownValue, FilterDropdownValueCheckbox, FilterDropdownValueDateRange, FilterDropdownValueMultipleSelect, FilterDropdownValueRadio, FilterDropdownValueSingleSelect, FilterDropdownValueToggle, FilterValueEdit };
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { EventEmitter } from '@angular/core';
3
3
  import { agorapulseSymbol } from '@agorapulse/ui-symbol';
4
4
 
5
+ type InfoboxType = 'info' | 'warning' | 'error' | 'success' | 'feature-lock';
5
6
  declare class InfoboxComponent {
6
7
  private readonly symbolRegistry;
7
8
  private readonly elementRef;
@@ -11,7 +12,7 @@ declare class InfoboxComponent {
11
12
  buttonSymbolId: i0.InputSignal<string | undefined>;
12
13
  closable: boolean;
13
14
  title?: string;
14
- type: 'info' | 'warning' | 'error' | 'success' | 'feature-lock';
15
+ type: InfoboxType;
15
16
  buttonClicked: EventEmitter<void>;
16
17
  closed: EventEmitter<void>;
17
18
  displayDirection: 'horizontal' | 'vertical';
@@ -28,3 +29,4 @@ declare class InfoboxComponent {
28
29
  }
29
30
 
30
31
  export { InfoboxComponent };
32
+ export type { InfoboxType };
Binary file