@fundamental-ngx/core 0.63.0-rc.20 → 0.63.0-rc.21

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.
Files changed (43) hide show
  1. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +1 -1
  2. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +1 -1
  4. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  6. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-date-picker.mjs +1 -1
  8. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +1 -1
  10. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-form.mjs +5 -2
  12. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -1
  14. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
  16. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-nested-list.mjs +1 -1
  18. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +1 -1
  20. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-popover.mjs +51 -6
  22. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-product-switch.mjs +1 -1
  24. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +1 -1
  26. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +1 -1
  28. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-select.mjs +1 -1
  30. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-slider.mjs +1 -1
  32. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-time-picker.mjs +1 -1
  34. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-token.mjs +1 -1
  36. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-toolbar.mjs +1 -1
  38. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
  40. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  41. package/package.json +3 -3
  42. package/types/fundamental-ngx-core-form.d.ts +2 -0
  43. package/types/fundamental-ngx-core-popover.d.ts +360 -322
@@ -1,17 +1,345 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ElementRef, TemplateRef, OnInit, AfterContentChecked, InjectionToken, ModelSignal, EventEmitter, OnDestroy, ViewContainerRef, AfterViewInit, AfterContentInit, Signal } from '@angular/core';
3
- import { ScrollStrategy, ConnectedPosition, ConnectionPositionPair, CdkOverlayOrigin } from '@angular/cdk/overlay';
2
+ import { TemplateRef, ElementRef, AfterContentChecked, AfterViewInit, AfterContentInit, OnDestroy, ViewContainerRef, OnInit, InjectionToken, ModelSignal, EventEmitter, Signal } from '@angular/core';
3
+ import { ConnectionPositionPair, ConnectedPosition, CdkOverlayOrigin, ScrollStrategy } from '@angular/cdk/overlay';
4
4
  import { Nullable } from '@fundamental-ngx/cdk/utils';
5
5
  import { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';
6
+ import { MobileModeConfig, MobileMode, MobileModeBase } from '@fundamental-ngx/core/mobile-mode';
6
7
  import { CdkTrapFocus } from '@angular/cdk/a11y';
7
8
  import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
8
9
  import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
9
10
  import { Subject } from 'rxjs';
10
- import { MobileMode, MobileModeBase, MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';
11
11
  import * as i1 from '@fundamental-ngx/core/dialog';
12
12
  import { DialogConfig } from '@fundamental-ngx/core/dialog';
13
13
  import * as i2 from '@fundamental-ngx/core/button';
14
14
 
15
+ declare class PopoverBodyDirective {
16
+ /**
17
+ * The template to be used as the popover's body.
18
+ **/
19
+ readonly templateRef: TemplateRef<void>;
20
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyDirective, never>;
21
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverBodyDirective, "[fdPopoverBody]", never, {}, {}, never, never, true, never>;
22
+ }
23
+
24
+ /**
25
+ * A component used to enforce a certain layout for the popover.
26
+ * ```html
27
+ * <fd-popover>
28
+ * <fd-popover-control>Control Element</fd-popover-control>
29
+ * <fd-popover-body>Popover Body</fd-popover-body>
30
+ * </fd-popover>
31
+ * ```
32
+ */
33
+ declare class PopoverBodyComponent {
34
+ /** Minimum width of the popover body element. */
35
+ readonly minWidth: _angular_core.InputSignal<Nullable<string>>;
36
+ /** Maximum width of the popover body element. */
37
+ readonly maxWidth: _angular_core.InputSignal<Nullable<string>>;
38
+ /** Minimum height of the popover body element. */
39
+ readonly minHeight: _angular_core.InputSignal<Nullable<string>>;
40
+ /** Maximum height of the popover body element. */
41
+ readonly maxHeight: _angular_core.InputSignal<Nullable<string>>;
42
+ /** @hidden */
43
+ readonly _cdkTrapFocus: _angular_core.Signal<CdkTrapFocus | undefined>;
44
+ /** @hidden */
45
+ readonly _scrollbar: _angular_core.Signal<ScrollbarDirective | undefined>;
46
+ /** @hidden Whether to wrap content with fd-scrollbar directive. */
47
+ readonly _disableScrollbar: _angular_core.WritableSignal<boolean>;
48
+ /** @hidden Whether the popover should have an arrow. */
49
+ readonly _noArrow: _angular_core.WritableSignal<boolean>;
50
+ /** @hidden Whether the popover container needs an extra class for styling. */
51
+ readonly _additionalBodyClass: _angular_core.WritableSignal<Nullable<string>>;
52
+ /** @hidden Whether the popover should be focusTrapped. */
53
+ readonly _focusTrapped: _angular_core.WritableSignal<boolean>;
54
+ /**
55
+ * @hidden
56
+ * Whether the popover should automatically move focus into the trapped region upon
57
+ * initialization and return focus to the previous activeElement upon destruction.
58
+ */
59
+ readonly _focusAutoCapture: _angular_core.WritableSignal<boolean>;
60
+ /** @hidden Property bind to popover's body. */
61
+ readonly _popoverBodyWidth: _angular_core.WritableSignal<number | undefined>;
62
+ /** @hidden Property bind to popover's body. */
63
+ readonly _popoverBodyMinWidth: _angular_core.WritableSignal<number | undefined>;
64
+ /** @hidden Property bind to popover's body. */
65
+ readonly _maxWidth: _angular_core.WritableSignal<Nullable<number>>;
66
+ /** @hidden Property bind to popover's body. */
67
+ readonly _closeOnEscapeKey: _angular_core.WritableSignal<boolean>;
68
+ /** @hidden Aria role for the popover body. */
69
+ readonly _bodyRole: _angular_core.WritableSignal<Nullable<string>>;
70
+ /** @hidden Aria label for the popover body. */
71
+ readonly _bodyAriaLabel: _angular_core.WritableSignal<Nullable<string>>;
72
+ /** @hidden ID of the element that labels the popover body. */
73
+ readonly _bodyAriaLabelledBy: _angular_core.WritableSignal<string | null>;
74
+ /** @hidden ID for the popover body. */
75
+ readonly _bodyId: _angular_core.WritableSignal<string | null>;
76
+ /** @hidden Classes added to arrow element. */
77
+ readonly _arrowClasses: _angular_core.WritableSignal<string>;
78
+ /** @hidden text rendered inside popover's body. */
79
+ readonly text: _angular_core.WritableSignal<Nullable<string>>;
80
+ /** @hidden template rendered inside popover's body. */
81
+ readonly _templateToDisplay: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
82
+ /** @hidden Whether the popover body is resizable. */
83
+ readonly _resizable: _angular_core.WritableSignal<boolean>;
84
+ /** @hidden */
85
+ readonly _resizeHandleLocation: _angular_core.WritableSignal<"top-right" | "top-left" | "bottom-right" | "bottom-left">;
86
+ /** Event emitted when popover body requests to be closed (e.g., Escape key press) */
87
+ readonly onClose: _angular_core.OutputEmitterRef<void>;
88
+ /** @hidden */
89
+ readonly _elementRef: ElementRef<any>;
90
+ /** @hidden */
91
+ readonly _contentDensityObserver: ContentDensityObserver;
92
+ /** @hidden */
93
+ private readonly _renderer;
94
+ /** @hidden */
95
+ private _bodyComponentClasses;
96
+ /** @hidden */
97
+ constructor();
98
+ /** Handler escape keydown */
99
+ bodyKeyupHandler(event: KeyboardEvent): void;
100
+ /** @hidden */
101
+ _setBodyComponentClasses(classes: string | null): void;
102
+ /** @hidden */
103
+ _setArrowStyles(position: ConnectionPositionPair, rtl: 'rtl' | 'ltr'): void;
104
+ /** @hidden */
105
+ _focusFirstTabbableElement(forced?: boolean): void;
106
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyComponent, never>;
107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverBodyComponent, "fd-popover-body", never, { "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; }, never, ["[fd-popover-body-header]", "[fd-popover-body-subheader]", "*", "[fd-popover-body-footer]"], true, never>;
108
+ }
109
+
110
+ /**
111
+ * A component used to enforce a certain layout for the popover.
112
+ * ```html
113
+ * <fd-popover>
114
+ * <fd-popover-control>Control Element</fd-popover-control>
115
+ * <fd-popover-body>Popover Body</fd-popover-body>
116
+ * </fd-popover>
117
+ * ```
118
+ */
119
+ declare class PopoverControlComponent implements AfterContentChecked {
120
+ elRef: ElementRef;
121
+ /** @hidden */
122
+ _tabbable: boolean;
123
+ /** @hidden */
124
+ constructor(elRef: ElementRef);
125
+ /** @hidden */
126
+ ngAfterContentChecked(): void;
127
+ /** @hidden */
128
+ makeTabbable(): void;
129
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverControlComponent, never>;
130
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverControlComponent, "fd-popover-control, [fdPopoverControl]", never, {}, {}, never, ["*"], true, never>;
131
+ }
132
+
133
+ /**
134
+ * ARIA role values commonly used for popover bodies. Provides autocomplete for
135
+ * the most frequent cases while allowing any valid ARIA role via the string escape hatch.
136
+ */
137
+ type PopoverBodyRole = 'dialog' | 'region' | 'menu' | 'listbox' | 'tooltip' | 'alertdialog';
138
+ declare const SELECT_CLASS_NAMES: {
139
+ selectControl: string;
140
+ };
141
+ /**
142
+ * The popover is a wrapping component that accepts a *control* as well as a *body*.
143
+ * The control is what will trigger the opening of the actual popover, which is called the body.
144
+ * By default, popovers are triggered by click. This can be customized through the *triggers* input.
145
+ */
146
+ declare class PopoverComponent implements AfterViewInit, AfterContentInit, OnDestroy {
147
+ /**
148
+ * Configuration object for popover settings.
149
+ * When provided, these settings will be merged with individual input properties.
150
+ * Individual inputs take precedence over config object values.
151
+ */
152
+ readonly config: _angular_core.InputSignal<PopoverConfig>;
153
+ /** Tooltip for popover */
154
+ readonly title: _angular_core.InputSignal<string>;
155
+ /** Reference to popover trigger element */
156
+ readonly trigger: _angular_core.ModelSignal<ElementRef<any> | HTMLElement | null>;
157
+ /** Id of the popover. If none is provided, one will be generated. */
158
+ readonly id: _angular_core.InputSignal<string>;
159
+ /** Whether the popover component should be displayed in mobile mode. */
160
+ readonly mobile: _angular_core.InputSignalWithTransform<boolean, unknown>;
161
+ /** Config for the popover in mobile mode */
162
+ readonly mobileConfig: _angular_core.InputSignal<MobileModeConfig>;
163
+ /**
164
+ * Whether the popover should prevent page scrolling when space key is pressed.
165
+ **/
166
+ readonly preventSpaceKeyScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
167
+ /** Popover placement */
168
+ readonly placement: _angular_core.InputSignal<Placement>;
169
+ /** Maximum width of popover body in px, prevents from overextending body by `fillControlMode` */
170
+ readonly maxWidth: _angular_core.InputSignal<number | null>;
171
+ /**
172
+ * Preset options for the popover body width.
173
+ * * `at-least` will apply a minimum width to the body equivalent to the width of the control.
174
+ * * `equal` will apply a width to the body equivalent to the width of the control.
175
+ * * Leave blank for no effect.
176
+ */
177
+ readonly fillControlMode: _angular_core.InputSignal<PopoverFillMode | null>;
178
+ /** Whether clicking outside popover should close it */
179
+ readonly closeOnOutsideClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
180
+ /** Whether escape key should close the popover */
181
+ readonly closeOnEscapeKey: _angular_core.InputSignalWithTransform<boolean, unknown>;
182
+ /** Whether the popover is disabled */
183
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
184
+ /** Popover trigger events configuration */
185
+ readonly triggers: _angular_core.InputSignal<(string | TriggerConfig)[]>;
186
+ /** Whether the popover should trap focus */
187
+ readonly focusTrapped: _angular_core.InputSignalWithTransform<boolean, unknown>;
188
+ /** Whether focus should be automatically captured when popover opens */
189
+ readonly focusAutoCapture: _angular_core.InputSignalWithTransform<boolean, unknown>;
190
+ /**
191
+ * Whether to move the focus after popover is closed to the last focused element before popover was opened.
192
+ */
193
+ readonly restoreFocusOnClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
194
+ /** Whether the arrow should be hidden */
195
+ readonly noArrow: _angular_core.InputSignalWithTransform<boolean, unknown>;
196
+ /** Whether scrollbar should be disabled */
197
+ readonly disableScrollbar: _angular_core.InputSignalWithTransform<boolean, unknown>;
198
+ /** The element to which the overlay is attached. By default it is body */
199
+ readonly appendTo: _angular_core.InputSignal<ElementRef<any> | Element | null>;
200
+ /** Placement of the popover element */
201
+ readonly placementContainer: _angular_core.InputSignal<ElementRef<any> | Element | null>;
202
+ /** Scroll strategy for the overlay */
203
+ readonly scrollStrategy: _angular_core.InputSignal<any>;
204
+ /** List of position options for CDK overlay */
205
+ readonly cdkPositions: _angular_core.InputSignal<ConnectedPosition[] | null>;
206
+ /** Whether to apply a background overlay */
207
+ readonly applyOverlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
208
+ /** Additional CSS class for the popover body container */
209
+ readonly additionalBodyClass: _angular_core.InputSignal<string | null>;
210
+ /** Additional CSS class for the popover trigger element */
211
+ readonly additionalTriggerClass: _angular_core.InputSignal<string | null>;
212
+ /** Whether to close the popover on router navigation start */
213
+ readonly closeOnNavigation: _angular_core.InputSignalWithTransform<boolean, unknown>;
214
+ /** Whether position shouldn't change when popover approaches the corner of page */
215
+ readonly fixedPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
216
+ /** Whether the popover body is resizable */
217
+ readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
218
+ /** ARIA label for the popover body */
219
+ readonly bodyAriaLabel: _angular_core.InputSignal<string | null>;
220
+ /**
221
+ * ARIA role for the popover body. Default: 'dialog' (back-compat).
222
+ *
223
+ * When 'dialog', WCAG requires an accessible name — provide one via
224
+ * [bodyAriaLabel] or [bodyAriaLabelledBy]. Without a name, axe-core
225
+ * raises aria-dialog-name violations.
226
+ *
227
+ * Set to null when the popover is a non-modal disclosure widget and
228
+ * the trigger's aria-haspopup already carries the relationship (no role
229
+ * attribute is rendered). Other valid values: 'region', 'menu', 'listbox',
230
+ * 'tooltip', 'alertdialog' — match the role to the popover's actual semantics.
231
+ * Any valid ARIA role is accepted; the type provides autocomplete for common cases.
232
+ *
233
+ * @remarks When set via this input (including when unbound — defaults to 'dialog'),
234
+ * the PopoverConfig object's `bodyRole` field is ignored. Config-only usage
235
+ * is not supported for `bodyRole` because the input has a concrete default.
236
+ * To override, bind the input explicitly: `[bodyRole]="'region'"` or `[bodyRole]="null"`.
237
+ *
238
+ * See https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/ for guidance.
239
+ */
240
+ readonly bodyRole: _angular_core.InputSignal<PopoverBodyRole | (string & {}) | null>;
241
+ /**
242
+ * ID of the element that labels the popover body. Alternative to
243
+ * [bodyAriaLabel] when the label already exists in the DOM (e.g. the
244
+ * trigger's text). Sets aria-labelledby on the popover body.
245
+ */
246
+ readonly bodyAriaLabelledBy: _angular_core.InputSignal<string | null>;
247
+ /** Two-way binding for popover open state */
248
+ readonly isOpen: _angular_core.ModelSignal<boolean>;
249
+ /** Event emitted when the state of the isOpen property changes. */
250
+ readonly isOpenChange: _angular_core.OutputEmitterRef<boolean>;
251
+ /** Event emitted right before the popover is being opened. */
252
+ readonly beforeOpen: _angular_core.OutputEmitterRef<void>;
253
+ /** @hidden */
254
+ readonly templateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
255
+ /** @hidden */
256
+ readonly container: _angular_core.Signal<ViewContainerRef | undefined>;
257
+ /** @hidden */
258
+ readonly triggerOrigin: _angular_core.Signal<CdkOverlayOrigin | undefined>;
259
+ /** @hidden */
260
+ readonly popoverBody: _angular_core.Signal<PopoverBodyComponent | undefined>;
261
+ /** @hidden */
262
+ readonly popoverBodyDirective: _angular_core.Signal<PopoverBodyDirective | undefined>;
263
+ /** @hidden */
264
+ readonly popoverControl: _angular_core.Signal<PopoverControlComponent | undefined>;
265
+ /** @hidden - template for Dialog body content */
266
+ readonly popoverBodyContentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
267
+ /** @hidden - template for Dialog footer content */
268
+ readonly popoverFooterContentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
269
+ /** @hidden */
270
+ get _triggerElement(): HTMLElement | null;
271
+ /** @hidden */
272
+ private readonly _popoverService;
273
+ /** @hidden */
274
+ private readonly _renderer;
275
+ /** @hidden */
276
+ private readonly _viewContainerRef;
277
+ /** @hidden */
278
+ private readonly _injector;
279
+ /** @hidden */
280
+ private readonly _dynamicComponentService;
281
+ /** @hidden */
282
+ private readonly _destroyRef;
283
+ /** @hidden */
284
+ private _clickEventListener;
285
+ /** @hidden */
286
+ private _mobileModeComponentRef;
287
+ /** @hidden Flag to prevent circular sync between component and service */
288
+ private _syncingIsOpen;
289
+ /** @hidden Computed signal that merges config with individual inputs */
290
+ private readonly _effectiveConfig;
291
+ /** @hidden */
292
+ constructor();
293
+ /** @hidden */
294
+ ngAfterViewInit(): void;
295
+ /** @hidden */
296
+ ngAfterContentInit(): void;
297
+ /** @hidden */
298
+ ngOnDestroy(): void;
299
+ /** Toggles menu open/close state */
300
+ toggle(): void;
301
+ /** Opens the popover. */
302
+ open(): void;
303
+ /** Closes the popover. */
304
+ close(focusActiveElement?: boolean): void;
305
+ /** Temporary sets the ignoring of the event triggers. */
306
+ setIgnoreTriggers(ignore: boolean): void;
307
+ /**
308
+ * Method called to change position of popover,
309
+ * recommended to be used only when popover is opened, otherwise change position or cdkPlacement
310
+ */
311
+ applyNewPosition(positions: ConnectedPosition[]): void;
312
+ /** Method called to refresh position of opened popover */
313
+ refreshPosition(): void;
314
+ /** Handler for alt + arrow down keydown */
315
+ triggerKeyDownHandler(event: KeyboardEvent): void;
316
+ /** Handler escape keydown */
317
+ protected _onEscapeKey(event: Event): void;
318
+ /** @hidden */
319
+ protected _onKeyDown(event: Event): void;
320
+ /** @hidden - Sync all input signals to the service */
321
+ private _syncToService;
322
+ /** @hidden Select and instantiate popover view mode */
323
+ private _setupView;
324
+ /**
325
+ * Depending on a used popover body type, returns a popover body content
326
+ **/
327
+ private _getPopoverBodyContent;
328
+ /** @hidden Open Popover in mobile mode */
329
+ private _setupMobileMode;
330
+ /** @hidden - Listen on popover trigger ref clicks */
331
+ private _listenOnTriggerRefClicks;
332
+ /**
333
+ * @hidden
334
+ * This is going to be removed in feature, on dialog and dynamic service component refactor
335
+ */
336
+ private _destroyEventListeners;
337
+ /** @hidden */
338
+ private _destroyMobileComponent;
339
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverComponent, never>;
340
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverComponent, "fd-popover", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "mobile": { "alias": "mobile"; "required": false; "isSignal": true; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; "isSignal": true; }; "preventSpaceKeyScroll": { "alias": "preventSpaceKeyScroll"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "focusTrapped": { "alias": "focusTrapped"; "required": false; "isSignal": true; }; "focusAutoCapture": { "alias": "focusAutoCapture"; "required": false; "isSignal": true; }; "restoreFocusOnClose": { "alias": "restoreFocusOnClose"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "disableScrollbar": { "alias": "disableScrollbar"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "placementContainer": { "alias": "placementContainer"; "required": false; "isSignal": true; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; "isSignal": true; }; "cdkPositions": { "alias": "cdkPositions"; "required": false; "isSignal": true; }; "applyOverlay": { "alias": "applyOverlay"; "required": false; "isSignal": true; }; "additionalBodyClass": { "alias": "additionalBodyClass"; "required": false; "isSignal": true; }; "additionalTriggerClass": { "alias": "additionalTriggerClass"; "required": false; "isSignal": true; }; "closeOnNavigation": { "alias": "closeOnNavigation"; "required": false; "isSignal": true; }; "fixedPosition": { "alias": "fixedPosition"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "bodyAriaLabel": { "alias": "bodyAriaLabel"; "required": false; "isSignal": true; }; "bodyRole": { "alias": "bodyRole"; "required": false; "isSignal": true; }; "bodyAriaLabelledBy": { "alias": "bodyAriaLabelledBy"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "trigger": "triggerChange"; "isOpen": "isOpenChange"; "isOpenChange": "isOpenChange"; "beforeOpen": "beforeOpen"; }, ["popoverBody", "popoverBodyDirective", "popoverControl", "popoverBodyContentTemplate", "popoverFooterContentTemplate"], ["fd-popover-control, [fdPopoverControl]", "fd-popover-body", "*"], true, never>;
341
+ }
342
+
15
343
  /**
16
344
  * Configuration object for popover trigger events.
17
345
  * Allows specifying whether an event should apply for open and/or close actions.
@@ -121,10 +449,12 @@ interface PopoverConfig {
121
449
  fixedPosition?: boolean;
122
450
  /** Whether the popover body is resizable. */
123
451
  resizable?: boolean;
124
- /** ARIA role for the popover body. */
125
- bodyRole?: string | null;
452
+ /** ARIA role for the popover body. Common values: 'dialog', 'region', 'menu', 'listbox', 'tooltip', 'alertdialog'. */
453
+ bodyRole?: PopoverBodyRole | (string & {}) | null;
126
454
  /** ARIA label for the popover body. */
127
455
  bodyAriaLabel?: string | null;
456
+ /** ID of the element that labels the popover body. */
457
+ bodyAriaLabelledBy?: string | null;
128
458
  /** ID for the popover body. */
129
459
  bodyId?: string | null;
130
460
  }
@@ -244,125 +574,32 @@ declare class BasePopoverClass {
244
574
  fillControlMode: _angular_core.WritableSignal<Nullable<PopoverFillMode>>;
245
575
  /** The element to which the overlay is attached. By default it is body */
246
576
  appendTo: _angular_core.WritableSignal<Nullable<ElementRef<any> | Element>>;
247
- /** Placement of the popover element. */
248
- placementContainer: _angular_core.WritableSignal<Nullable<ElementRef<any> | Element>>;
249
- /** Whether position shouldn't change, when popover approach the corner of page */
250
- fixedPosition: _angular_core.WritableSignal<boolean>;
251
- /** Whether the popover body is resizable. */
252
- resizable: _angular_core.WritableSignal<boolean>;
253
- /** @hidden Aria role for the popover body. */
254
- protected _bodyRole: string | null;
255
- /** @hidden ID for the popover body. */
256
- protected readonly _bodyId: _angular_core.WritableSignal<string | null>;
257
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BasePopoverClass, never>;
258
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BasePopoverClass, never, never, {}, {}, never, never, true, never>;
259
- }
260
-
261
- declare class PopoverBodyDirective {
262
- /**
263
- * The template to be used as the popover's body.
264
- **/
265
- readonly templateRef: TemplateRef<void>;
266
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyDirective, never>;
267
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverBodyDirective, "[fdPopoverBody]", never, {}, {}, never, never, true, never>;
268
- }
269
-
270
- declare class PopoverBodyFooterDirective {
271
- /** @hidden */
272
- fdPopoverBodyFooterClass: boolean;
273
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyFooterDirective, never>;
274
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverBodyFooterDirective, "[fdPopoverBodyFooter], [fd-popover-body-footer]", never, {}, {}, never, never, true, never>;
275
- }
276
-
277
- declare class PopoverBodyHeaderDirective {
278
- /** @hidden */
279
- fdPopoverBodyHeaderClass: boolean;
280
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyHeaderDirective, never>;
281
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverBodyHeaderDirective, "[fdPopoverBodyHeader], [fd-popover-body-header]", never, {}, {}, never, never, true, never>;
282
- }
283
-
284
- /**
285
- * A component used to enforce a certain layout for the popover.
286
- * ```html
287
- * <fd-popover>
288
- * <fd-popover-control>Control Element</fd-popover-control>
289
- * <fd-popover-body>Popover Body</fd-popover-body>
290
- * </fd-popover>
291
- * ```
292
- */
293
- declare class PopoverBodyComponent {
294
- /** Minimum width of the popover body element. */
295
- readonly minWidth: _angular_core.InputSignal<Nullable<string>>;
296
- /** Maximum width of the popover body element. */
297
- readonly maxWidth: _angular_core.InputSignal<Nullable<string>>;
298
- /** Minimum height of the popover body element. */
299
- readonly minHeight: _angular_core.InputSignal<Nullable<string>>;
300
- /** Maximum height of the popover body element. */
301
- readonly maxHeight: _angular_core.InputSignal<Nullable<string>>;
302
- /** @hidden */
303
- readonly _cdkTrapFocus: _angular_core.Signal<CdkTrapFocus | undefined>;
304
- /** @hidden */
305
- readonly _scrollbar: _angular_core.Signal<ScrollbarDirective | undefined>;
306
- /** @hidden Whether to wrap content with fd-scrollbar directive. */
307
- readonly _disableScrollbar: _angular_core.WritableSignal<boolean>;
308
- /** @hidden Whether the popover should have an arrow. */
309
- readonly _noArrow: _angular_core.WritableSignal<boolean>;
310
- /** @hidden Whether the popover container needs an extra class for styling. */
311
- readonly _additionalBodyClass: _angular_core.WritableSignal<Nullable<string>>;
312
- /** @hidden Whether the popover should be focusTrapped. */
313
- readonly _focusTrapped: _angular_core.WritableSignal<boolean>;
314
- /**
315
- * @hidden
316
- * Whether the popover should automatically move focus into the trapped region upon
317
- * initialization and return focus to the previous activeElement upon destruction.
318
- */
319
- readonly _focusAutoCapture: _angular_core.WritableSignal<boolean>;
320
- /** @hidden Property bind to popover's body. */
321
- readonly _popoverBodyWidth: _angular_core.WritableSignal<number | undefined>;
322
- /** @hidden Property bind to popover's body. */
323
- readonly _popoverBodyMinWidth: _angular_core.WritableSignal<number | undefined>;
324
- /** @hidden Property bind to popover's body. */
325
- readonly _maxWidth: _angular_core.WritableSignal<Nullable<number>>;
326
- /** @hidden Property bind to popover's body. */
327
- readonly _closeOnEscapeKey: _angular_core.WritableSignal<boolean>;
577
+ /** Placement of the popover element. */
578
+ placementContainer: _angular_core.WritableSignal<Nullable<ElementRef<any> | Element>>;
579
+ /** Whether position shouldn't change, when popover approach the corner of page */
580
+ fixedPosition: _angular_core.WritableSignal<boolean>;
581
+ /** Whether the popover body is resizable. */
582
+ resizable: _angular_core.WritableSignal<boolean>;
328
583
  /** @hidden Aria role for the popover body. */
329
- readonly _bodyRole: _angular_core.WritableSignal<Nullable<string>>;
330
- /** @hidden Aria label for the popover body. */
331
- readonly _bodyAriaLabel: _angular_core.WritableSignal<Nullable<string>>;
584
+ protected _bodyRole: string | null;
332
585
  /** @hidden ID for the popover body. */
333
- readonly _bodyId: _angular_core.WritableSignal<string | null>;
334
- /** @hidden Classes added to arrow element. */
335
- readonly _arrowClasses: _angular_core.WritableSignal<string>;
336
- /** @hidden text rendered inside popover's body. */
337
- readonly text: _angular_core.WritableSignal<Nullable<string>>;
338
- /** @hidden template rendered inside popover's body. */
339
- readonly _templateToDisplay: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
340
- /** @hidden Whether the popover body is resizable. */
341
- readonly _resizable: _angular_core.WritableSignal<boolean>;
342
- /** @hidden */
343
- readonly _resizeHandleLocation: _angular_core.WritableSignal<"top-right" | "top-left" | "bottom-right" | "bottom-left">;
344
- /** Event emitted when popover body requests to be closed (e.g., Escape key press) */
345
- readonly onClose: _angular_core.OutputEmitterRef<void>;
346
- /** @hidden */
347
- readonly _elementRef: ElementRef<any>;
348
- /** @hidden */
349
- readonly _contentDensityObserver: ContentDensityObserver;
350
- /** @hidden */
351
- private readonly _renderer;
352
- /** @hidden */
353
- private _bodyComponentClasses;
354
- /** @hidden */
355
- constructor();
356
- /** Handler escape keydown */
357
- bodyKeyupHandler(event: KeyboardEvent): void;
358
- /** @hidden */
359
- _setBodyComponentClasses(classes: string | null): void;
586
+ protected readonly _bodyId: _angular_core.WritableSignal<string | null>;
587
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BasePopoverClass, never>;
588
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BasePopoverClass, never, never, {}, {}, never, never, true, never>;
589
+ }
590
+
591
+ declare class PopoverBodyFooterDirective {
360
592
  /** @hidden */
361
- _setArrowStyles(position: ConnectionPositionPair, rtl: 'rtl' | 'ltr'): void;
593
+ fdPopoverBodyFooterClass: boolean;
594
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyFooterDirective, never>;
595
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverBodyFooterDirective, "[fdPopoverBodyFooter], [fd-popover-body-footer]", never, {}, {}, never, never, true, never>;
596
+ }
597
+
598
+ declare class PopoverBodyHeaderDirective {
362
599
  /** @hidden */
363
- _focusFirstTabbableElement(forced?: boolean): void;
364
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyComponent, never>;
365
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverBodyComponent, "fd-popover-body", never, { "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; }, never, ["[fd-popover-body-header]", "[fd-popover-body-subheader]", "*", "[fd-popover-body-footer]"], true, never>;
600
+ fdPopoverBodyHeaderClass: boolean;
601
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverBodyHeaderDirective, never>;
602
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverBodyHeaderDirective, "[fdPopoverBodyHeader], [fd-popover-body-header]", never, {}, {}, never, never, true, never>;
366
603
  }
367
604
 
368
605
  interface PopoverChildContent {
@@ -384,29 +621,6 @@ declare class PopoverContainerDirective implements OnInit {
384
621
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverContainerDirective, "[fdPopoverContainer]", never, {}, {}, never, never, true, never>;
385
622
  }
386
623
 
387
- /**
388
- * A component used to enforce a certain layout for the popover.
389
- * ```html
390
- * <fd-popover>
391
- * <fd-popover-control>Control Element</fd-popover-control>
392
- * <fd-popover-body>Popover Body</fd-popover-body>
393
- * </fd-popover>
394
- * ```
395
- */
396
- declare class PopoverControlComponent implements AfterContentChecked {
397
- elRef: ElementRef;
398
- /** @hidden */
399
- _tabbable: boolean;
400
- /** @hidden */
401
- constructor(elRef: ElementRef);
402
- /** @hidden */
403
- ngAfterContentChecked(): void;
404
- /** @hidden */
405
- makeTabbable(): void;
406
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverControlComponent, never>;
407
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverControlComponent, "fd-popover-control, [fdPopoverControl]", never, {}, {}, never, ["*"], true, never>;
408
- }
409
-
410
624
  declare const POPOVER_COMPONENT: InjectionToken<PopoverInterface>;
411
625
  /**
412
626
  * Popover Interface to have typing and avoid circular dependency between
@@ -526,6 +740,8 @@ declare class PopoverService {
526
740
  protected _bodyRole: string | null;
527
741
  /** @hidden Aria label for the popover body. */
528
742
  protected _bodyAriaLabel: string | null;
743
+ /** @hidden ID of the element that labels the popover body. */
744
+ protected _bodyAriaLabelledBy: string | null;
529
745
  /** @hidden ID for the popover body. */
530
746
  protected readonly _bodyId: _angular_core.WritableSignal<string | null>;
531
747
  /** @hidden */
@@ -718,184 +934,6 @@ declare class PopoverService {
718
934
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PopoverService>;
719
935
  }
720
936
 
721
- declare const SELECT_CLASS_NAMES: {
722
- selectControl: string;
723
- };
724
- /**
725
- * The popover is a wrapping component that accepts a *control* as well as a *body*.
726
- * The control is what will trigger the opening of the actual popover, which is called the body.
727
- * By default, popovers are triggered by click. This can be customized through the *triggers* input.
728
- */
729
- declare class PopoverComponent implements AfterViewInit, AfterContentInit, OnDestroy {
730
- /**
731
- * Configuration object for popover settings.
732
- * When provided, these settings will be merged with individual input properties.
733
- * Individual inputs take precedence over config object values.
734
- */
735
- readonly config: _angular_core.InputSignal<PopoverConfig>;
736
- /** Tooltip for popover */
737
- readonly title: _angular_core.InputSignal<string>;
738
- /** Reference to popover trigger element */
739
- readonly trigger: _angular_core.ModelSignal<ElementRef<any> | HTMLElement | null>;
740
- /** Id of the popover. If none is provided, one will be generated. */
741
- readonly id: _angular_core.InputSignal<string>;
742
- /** Whether the popover component should be displayed in mobile mode. */
743
- readonly mobile: _angular_core.InputSignalWithTransform<boolean, unknown>;
744
- /** Config for the popover in mobile mode */
745
- readonly mobileConfig: _angular_core.InputSignal<MobileModeConfig>;
746
- /**
747
- * Whether the popover should prevent page scrolling when space key is pressed.
748
- **/
749
- readonly preventSpaceKeyScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
750
- /** Popover placement */
751
- readonly placement: _angular_core.InputSignal<Placement>;
752
- /** Maximum width of popover body in px, prevents from overextending body by `fillControlMode` */
753
- readonly maxWidth: _angular_core.InputSignal<number | null>;
754
- /**
755
- * Preset options for the popover body width.
756
- * * `at-least` will apply a minimum width to the body equivalent to the width of the control.
757
- * * `equal` will apply a width to the body equivalent to the width of the control.
758
- * * Leave blank for no effect.
759
- */
760
- readonly fillControlMode: _angular_core.InputSignal<PopoverFillMode | null>;
761
- /** Whether clicking outside popover should close it */
762
- readonly closeOnOutsideClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
763
- /** Whether escape key should close the popover */
764
- readonly closeOnEscapeKey: _angular_core.InputSignalWithTransform<boolean, unknown>;
765
- /** Whether the popover is disabled */
766
- readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
767
- /** Popover trigger events configuration */
768
- readonly triggers: _angular_core.InputSignal<(string | TriggerConfig)[]>;
769
- /** Whether the popover should trap focus */
770
- readonly focusTrapped: _angular_core.InputSignalWithTransform<boolean, unknown>;
771
- /** Whether focus should be automatically captured when popover opens */
772
- readonly focusAutoCapture: _angular_core.InputSignalWithTransform<boolean, unknown>;
773
- /**
774
- * Whether to move the focus after popover is closed to the last focused element before popover was opened.
775
- */
776
- readonly restoreFocusOnClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
777
- /** Whether the arrow should be hidden */
778
- readonly noArrow: _angular_core.InputSignalWithTransform<boolean, unknown>;
779
- /** Whether scrollbar should be disabled */
780
- readonly disableScrollbar: _angular_core.InputSignalWithTransform<boolean, unknown>;
781
- /** The element to which the overlay is attached. By default it is body */
782
- readonly appendTo: _angular_core.InputSignal<ElementRef<any> | Element | null>;
783
- /** Placement of the popover element */
784
- readonly placementContainer: _angular_core.InputSignal<ElementRef<any> | Element | null>;
785
- /** Scroll strategy for the overlay */
786
- readonly scrollStrategy: _angular_core.InputSignal<any>;
787
- /** List of position options for CDK overlay */
788
- readonly cdkPositions: _angular_core.InputSignal<ConnectedPosition[] | null>;
789
- /** Whether to apply a background overlay */
790
- readonly applyOverlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
791
- /** Additional CSS class for the popover body container */
792
- readonly additionalBodyClass: _angular_core.InputSignal<string | null>;
793
- /** Additional CSS class for the popover trigger element */
794
- readonly additionalTriggerClass: _angular_core.InputSignal<string | null>;
795
- /** Whether to close the popover on router navigation start */
796
- readonly closeOnNavigation: _angular_core.InputSignalWithTransform<boolean, unknown>;
797
- /** Whether position shouldn't change when popover approaches the corner of page */
798
- readonly fixedPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
799
- /** Whether the popover body is resizable */
800
- readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
801
- /** ARIA label for the popover body */
802
- readonly bodyAriaLabel: _angular_core.InputSignal<string | null>;
803
- /** Two-way binding for popover open state */
804
- readonly isOpen: _angular_core.ModelSignal<boolean>;
805
- /** Event emitted when the state of the isOpen property changes. */
806
- readonly isOpenChange: _angular_core.OutputEmitterRef<boolean>;
807
- /** Event emitted right before the popover is being opened. */
808
- readonly beforeOpen: _angular_core.OutputEmitterRef<void>;
809
- /** @hidden */
810
- readonly templateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
811
- /** @hidden */
812
- readonly container: _angular_core.Signal<ViewContainerRef | undefined>;
813
- /** @hidden */
814
- readonly triggerOrigin: _angular_core.Signal<CdkOverlayOrigin | undefined>;
815
- /** @hidden */
816
- readonly popoverBody: _angular_core.Signal<PopoverBodyComponent | undefined>;
817
- /** @hidden */
818
- readonly popoverBodyDirective: _angular_core.Signal<PopoverBodyDirective | undefined>;
819
- /** @hidden */
820
- readonly popoverControl: _angular_core.Signal<PopoverControlComponent | undefined>;
821
- /** @hidden - template for Dialog body content */
822
- readonly popoverBodyContentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
823
- /** @hidden - template for Dialog footer content */
824
- readonly popoverFooterContentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
825
- /** @hidden */
826
- get _triggerElement(): HTMLElement | null;
827
- /** @hidden */
828
- private readonly _popoverService;
829
- /** @hidden */
830
- private readonly _renderer;
831
- /** @hidden */
832
- private readonly _viewContainerRef;
833
- /** @hidden */
834
- private readonly _injector;
835
- /** @hidden */
836
- private readonly _dynamicComponentService;
837
- /** @hidden */
838
- private readonly _destroyRef;
839
- /** @hidden */
840
- private _clickEventListener;
841
- /** @hidden */
842
- private _mobileModeComponentRef;
843
- /** @hidden Flag to prevent circular sync between component and service */
844
- private _syncingIsOpen;
845
- /** @hidden Computed signal that merges config with individual inputs */
846
- private readonly _effectiveConfig;
847
- /** @hidden */
848
- constructor();
849
- /** @hidden */
850
- ngAfterViewInit(): void;
851
- /** @hidden */
852
- ngAfterContentInit(): void;
853
- /** @hidden */
854
- ngOnDestroy(): void;
855
- /** Toggles menu open/close state */
856
- toggle(): void;
857
- /** Opens the popover. */
858
- open(): void;
859
- /** Closes the popover. */
860
- close(focusActiveElement?: boolean): void;
861
- /** Temporary sets the ignoring of the event triggers. */
862
- setIgnoreTriggers(ignore: boolean): void;
863
- /**
864
- * Method called to change position of popover,
865
- * recommended to be used only when popover is opened, otherwise change position or cdkPlacement
866
- */
867
- applyNewPosition(positions: ConnectedPosition[]): void;
868
- /** Method called to refresh position of opened popover */
869
- refreshPosition(): void;
870
- /** Handler for alt + arrow down keydown */
871
- triggerKeyDownHandler(event: KeyboardEvent): void;
872
- /** Handler escape keydown */
873
- protected _onEscapeKey(event: Event): void;
874
- /** @hidden */
875
- protected _onKeyDown(event: Event): void;
876
- /** @hidden - Sync all input signals to the service */
877
- private _syncToService;
878
- /** @hidden Select and instantiate popover view mode */
879
- private _setupView;
880
- /**
881
- * Depending on a used popover body type, returns a popover body content
882
- **/
883
- private _getPopoverBodyContent;
884
- /** @hidden Open Popover in mobile mode */
885
- private _setupMobileMode;
886
- /** @hidden - Listen on popover trigger ref clicks */
887
- private _listenOnTriggerRefClicks;
888
- /**
889
- * @hidden
890
- * This is going to be removed in feature, on dialog and dynamic service component refactor
891
- */
892
- private _destroyEventListeners;
893
- /** @hidden */
894
- private _destroyMobileComponent;
895
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverComponent, never>;
896
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverComponent, "fd-popover", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "mobile": { "alias": "mobile"; "required": false; "isSignal": true; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; "isSignal": true; }; "preventSpaceKeyScroll": { "alias": "preventSpaceKeyScroll"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "focusTrapped": { "alias": "focusTrapped"; "required": false; "isSignal": true; }; "focusAutoCapture": { "alias": "focusAutoCapture"; "required": false; "isSignal": true; }; "restoreFocusOnClose": { "alias": "restoreFocusOnClose"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "disableScrollbar": { "alias": "disableScrollbar"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "placementContainer": { "alias": "placementContainer"; "required": false; "isSignal": true; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; "isSignal": true; }; "cdkPositions": { "alias": "cdkPositions"; "required": false; "isSignal": true; }; "applyOverlay": { "alias": "applyOverlay"; "required": false; "isSignal": true; }; "additionalBodyClass": { "alias": "additionalBodyClass"; "required": false; "isSignal": true; }; "additionalTriggerClass": { "alias": "additionalTriggerClass"; "required": false; "isSignal": true; }; "closeOnNavigation": { "alias": "closeOnNavigation"; "required": false; "isSignal": true; }; "fixedPosition": { "alias": "fixedPosition"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "bodyAriaLabel": { "alias": "bodyAriaLabel"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "trigger": "triggerChange"; "isOpen": "isOpenChange"; "isOpenChange": "isOpenChange"; "beforeOpen": "beforeOpen"; }, ["popoverBody", "popoverBodyDirective", "popoverControl", "popoverBodyContentTemplate", "popoverFooterContentTemplate"], ["fd-popover-control, [fdPopoverControl]", "fd-popover-body", "*"], true, never>;
897
- }
898
-
899
937
  declare class PopoverTriggerDirective implements OnDestroy {
900
938
  private _elementRef;
901
939
  /** Set reference to Popover Component */
@@ -960,4 +998,4 @@ type PopoverConfigSignals = {
960
998
  declare function buildPopoverConfig(signals: PopoverConfigSignals): Signal<PopoverConfig>;
961
999
 
962
1000
  export { BasePopoverClass, FD_POPOVER_COMPONENT, POPOVER_COMPONENT, PopoverBodyComponent, PopoverBodyDirective, PopoverBodyFooterDirective, PopoverBodyHeaderDirective, PopoverComponent, PopoverContainerDirective, PopoverControlComponent, PopoverMobileComponent, PopoverMobileModule, PopoverModule, PopoverService, PopoverTriggerDirective, SELECT_CLASS_NAMES, buildPopoverConfig };
963
- export type { PopoverChildContent, PopoverConfig, PopoverConfigSignals, PopoverInterface, PopoverTemplate, TriggerConfig };
1001
+ export type { PopoverBodyRole, PopoverChildContent, PopoverConfig, PopoverConfigSignals, PopoverInterface, PopoverTemplate, TriggerConfig };