@fundamental-ngx/core 0.61.3 → 0.61.5

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 (35) hide show
  1. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  2. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-carousel.mjs +7 -8
  4. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-form.mjs +10 -16
  6. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  8. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-inline-help.mjs +34 -15
  10. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-menu.mjs +40 -29
  12. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +75 -31
  14. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-popover.mjs +152 -16
  16. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-product-switch.mjs +23 -27
  18. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-select.mjs +12 -3
  20. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
  22. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-tabs.mjs +19 -25
  24. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  25. package/package.json +3 -3
  26. package/types/fundamental-ngx-core-carousel.d.ts +2 -3
  27. package/types/fundamental-ngx-core-form.d.ts +7 -10
  28. package/types/fundamental-ngx-core-inline-help.d.ts +20 -15
  29. package/types/fundamental-ngx-core-menu.d.ts +17 -9
  30. package/types/fundamental-ngx-core-mobile-mode.d.ts +6 -2
  31. package/types/fundamental-ngx-core-multi-combobox.d.ts +18 -1
  32. package/types/fundamental-ngx-core-popover.d.ts +48 -3
  33. package/types/fundamental-ngx-core-product-switch.d.ts +20 -24
  34. package/types/fundamental-ngx-core-select.d.ts +5 -0
  35. package/types/fundamental-ngx-core-tabs.d.ts +5 -10
@@ -254,20 +254,20 @@ declare class MenuComponent implements MenuInterface, AfterContentInit, AfterVie
254
254
  readonly mobile: i0.InputSignalWithTransform<boolean, unknown>;
255
255
  /** Mobile mode configuration */
256
256
  readonly mobileConfig: i0.InputSignal<MobileModeConfig>;
257
- /** Popover placement */
257
+ /** Menu placement */
258
258
  readonly placement: i0.InputSignal<Placement>;
259
- /** Whether to close popover on escape key */
259
+ /** Whether to close menu on escape key */
260
260
  readonly closeOnEscapeKey: i0.InputSignalWithTransform<boolean, unknown>;
261
261
  /** Whether to auto-capture focus when opened */
262
262
  readonly focusAutoCapture: i0.InputSignalWithTransform<boolean, unknown>;
263
- /** Whether the menu/popover is disabled */
263
+ /** Whether the menu is disabled */
264
264
  readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
265
265
  /** Whether to disable scrollbar */
266
266
  readonly disableScrollbar: i0.InputSignalWithTransform<boolean, unknown>;
267
267
  /** Trigger events for opening/closing */
268
268
  readonly triggers: i0.InputSignal<(string | TriggerConfig)[]>;
269
269
  /**
270
- * Preset options for the popover body width.
270
+ * Preset options for the menu body width.
271
271
  * * `at-least` will apply a minimum width to the body equivalent to the width of the control.
272
272
  * * `equal` will apply a width to the body equivalent to the width of the control.
273
273
  * * Leave blank for no effect.
@@ -277,17 +277,25 @@ declare class MenuComponent implements MenuInterface, AfterContentInit, AfterVie
277
277
  readonly closeOnOutsideClick: i0.InputSignalWithTransform<boolean, unknown>;
278
278
  /** Whether to hide the arrow */
279
279
  readonly noArrow: i0.InputSignalWithTransform<boolean, unknown>;
280
- /** Whether the popover should trap focus within its boundaries */
280
+ /** Whether the menu should trap focus within its boundaries */
281
281
  readonly focusTrapped: i0.InputSignalWithTransform<boolean, unknown>;
282
- /** Additional CSS classes for the popover body container */
282
+ /** Additional CSS classes for the menu body container */
283
283
  readonly additionalBodyClass: i0.InputSignal<string | null>;
284
+ /** Whether to close the menu on router navigation start */
285
+ readonly closeOnNavigation: i0.InputSignalWithTransform<boolean, unknown>;
286
+ /** Whether to move focus back to the trigger after the menu is closed */
287
+ readonly restoreFocusOnClose: i0.InputSignalWithTransform<boolean, unknown>;
288
+ /** The element to which the menu overlay is attached */
289
+ readonly appendTo: i0.InputSignal<ElementRef<any> | Element | null>;
290
+ /** Whether position shouldn't change when the menu approaches the corner of the page */
291
+ readonly fixedPosition: i0.InputSignalWithTransform<boolean, unknown>;
284
292
  /** Two-way binding for menu open state */
285
293
  readonly isOpen: i0.ModelSignal<boolean>;
286
294
  /** Emits when menu open state changes - required for MenuInterface compatibility */
287
295
  readonly isOpenChange: i0.OutputEmitterRef<boolean>;
288
296
  /** Emits array of active menu items */
289
297
  readonly activePath: i0.OutputEmitterRef<MenuItemComponent[]>;
290
- /** Event emitted right before the popover is being opened. */
298
+ /** Event emitted right before the menu is being opened. */
291
299
  readonly beforeOpen: i0.OutputEmitterRef<void>;
292
300
  /** @hidden Injected dependencies using inject() function */
293
301
  readonly elementRef: ElementRef<any>;
@@ -348,7 +356,7 @@ declare class MenuComponent implements MenuInterface, AfterContentInit, AfterVie
348
356
  close(): void;
349
357
  /** Toggles menu open/close state */
350
358
  toggle(): void;
351
- /** Method called to refresh position of opened popover */
359
+ /** Method called to refresh position of opened menu */
352
360
  refreshPosition(): void;
353
361
  /** @hidden */
354
362
  private _cleanUpMenuAfterClose;
@@ -373,7 +381,7 @@ declare class MenuComponent implements MenuInterface, AfterContentInit, AfterVie
373
381
  /** @hidden */
374
382
  private _focusTrigger;
375
383
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
376
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "fd-menu", never, { "openOnHoverTime": { "alias": "openOnHoverTime"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "mobile": { "alias": "mobile"; "required": false; "isSignal": true; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "focusAutoCapture": { "alias": "focusAutoCapture"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableScrollbar": { "alias": "disableScrollbar"; "required": false; "isSignal": true; }; "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "focusTrapped": { "alias": "focusTrapped"; "required": false; "isSignal": true; }; "additionalBodyClass": { "alias": "additionalBodyClass"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "isOpenChange": "isOpenChange"; "activePath": "activePath"; "beforeOpen": "beforeOpen"; }, ["_menuItems", "_segmentedButtonHeaderItems", "_segmentedButtonOptions"], ["*"], true, never>;
384
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "fd-menu", never, { "openOnHoverTime": { "alias": "openOnHoverTime"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "mobile": { "alias": "mobile"; "required": false; "isSignal": true; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "focusAutoCapture": { "alias": "focusAutoCapture"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableScrollbar": { "alias": "disableScrollbar"; "required": false; "isSignal": true; }; "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "focusTrapped": { "alias": "focusTrapped"; "required": false; "isSignal": true; }; "additionalBodyClass": { "alias": "additionalBodyClass"; "required": false; "isSignal": true; }; "closeOnNavigation": { "alias": "closeOnNavigation"; "required": false; "isSignal": true; }; "restoreFocusOnClose": { "alias": "restoreFocusOnClose"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "fixedPosition": { "alias": "fixedPosition"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "isOpenChange": "isOpenChange"; "activePath": "activePath"; "beforeOpen": "beforeOpen"; }, ["_menuItems", "_segmentedButtonHeaderItems", "_segmentedButtonOptions"], ["*"], true, never>;
377
385
  }
378
386
 
379
387
  interface MenuNode {
@@ -15,9 +15,13 @@ interface MobileModeConfig {
15
15
  dialogConfig?: DialogConfig;
16
16
  }
17
17
 
18
+ /**
19
+ * Base interface for mobile mode support.
20
+ * Supports both plain properties and signal-based (function) access patterns.
21
+ */
18
22
  interface MobileMode {
19
- mobile: boolean;
20
- mobileConfig: MobileModeConfig;
23
+ readonly mobile: boolean | (() => boolean);
24
+ readonly mobileConfig: MobileModeConfig | (() => MobileModeConfig);
21
25
  }
22
26
 
23
27
  declare const MOBILE_MODE_CONFIG: InjectionToken<MobileModeConfigToken>;
@@ -303,7 +303,8 @@ declare abstract class BaseMultiCombobox<T = any> {
303
303
  protected readonly _rangeSelector: RangeSelector;
304
304
  /**
305
305
  * Flag indicating whether the data source has changed.
306
- * Set to true when a new data source is assigned, triggering a refresh of suggestions.
306
+ * Guard flag: true while waiting for a new data source's first real data emission.
307
+ * Prevents the provider's initial empty emission from being treated as "no results."
307
308
  * @hidden
308
309
  */
309
310
  private _dataSourceChanged;
@@ -396,6 +397,22 @@ declare abstract class BaseMultiCombobox<T = any> {
396
397
  protected _convertDataSourceSuggestions(data: T[]): void;
397
398
  /** @hidden */
398
399
  protected _processingEmptyData(): void;
400
+ /**
401
+ * @hidden
402
+ * Configures the data source provider with matching settings.
403
+ */
404
+ private _configureDataSourceProvider;
405
+ /**
406
+ * @hidden
407
+ * Triggers the initial data fetch on the current data source provider.
408
+ */
409
+ private _fetchInitialData;
410
+ /**
411
+ * @hidden
412
+ * Subscribes to dataRequested/dataReceived events from the current data source provider.
413
+ * Unsubscribes from previous provider's events first.
414
+ */
415
+ private _subscribeToDsEvents;
399
416
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseMultiCombobox<any>, never>;
400
417
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseMultiCombobox<any>, never, never, {}, {}, never, never, true, never>;
401
418
  }
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ElementRef, TemplateRef, OnInit, AfterContentChecked, InjectionToken, ModelSignal, EventEmitter, OnDestroy, ViewContainerRef, AfterViewInit, AfterContentInit } from '@angular/core';
2
+ import { ElementRef, TemplateRef, OnInit, AfterContentChecked, InjectionToken, ModelSignal, EventEmitter, OnDestroy, ViewContainerRef, AfterViewInit, AfterContentInit, Signal } from '@angular/core';
3
3
  import { ScrollStrategy, ConnectedPosition, ConnectionPositionPair, CdkOverlayOrigin } from '@angular/cdk/overlay';
4
4
  import { Nullable } from '@fundamental-ngx/cdk/utils';
5
5
  import { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';
@@ -544,6 +544,10 @@ declare class PopoverService {
544
544
  private _placementContainerValue;
545
545
  /** @hidden */
546
546
  private _ignoreTriggers;
547
+ /** @hidden Timer for delayed hover close, allows mouse to travel from trigger to overlay body. */
548
+ private _hoverCloseTimer;
549
+ /** @hidden Listeners for mouseenter/mouseleave on the overlay element. */
550
+ private _overlayHoverListeners;
547
551
  /** @hidden */
548
552
  private _modalBodyClass;
549
553
  /** @hidden */
@@ -619,6 +623,22 @@ declare class PopoverService {
619
623
  * @param trigger Trigger element ref.
620
624
  */
621
625
  updateTriggerElement(trigger: ElementRef | HTMLElement): void;
626
+ /**
627
+ * @hidden
628
+ * Safely sets isOpen signal, deferring if called during Angular's render cycle.
629
+ * This prevents NG0600 errors when focus events fire during template evaluation.
630
+ */
631
+ private _safeSetIsOpen;
632
+ /** @hidden Whether the current triggers include mouseenter or mouseleave. */
633
+ private _hasHoverTriggers;
634
+ /** @hidden Clears any pending delayed hover close. */
635
+ private _clearHoverCloseTimer;
636
+ /** @hidden Schedules a delayed close to allow mouse to travel from trigger to overlay body. */
637
+ private _scheduleHoverClose;
638
+ /** @hidden Adds mouseenter/mouseleave listeners on the overlay element when hover triggers are active. */
639
+ private _setupOverlayHoverListeners;
640
+ /** @hidden Removes overlay hover listeners. */
641
+ private _removeOverlayHoverListeners;
622
642
  /** @hidden */
623
643
  private _normalizeTriggers;
624
644
  /** @hidden */
@@ -643,6 +663,8 @@ declare class PopoverService {
643
663
  private _listenOnClose;
644
664
  /** Listener for click events */
645
665
  private _outsideClicks$;
666
+ /** Listener for Escape keydown via CDK overlay's document-level keyboard dispatcher. */
667
+ private _escapeKeydowns$;
646
668
  /** @hidden */
647
669
  private _shouldClose;
648
670
  /** @hidden */
@@ -885,5 +907,28 @@ declare class PopoverModule {
885
907
 
886
908
  declare const FD_POPOVER_COMPONENT: InjectionToken<unknown>;
887
909
 
888
- export { BasePopoverClass, FD_POPOVER_COMPONENT, POPOVER_COMPONENT, PopoverBodyComponent, PopoverBodyDirective, PopoverBodyFooterDirective, PopoverBodyHeaderDirective, PopoverComponent, PopoverContainerDirective, PopoverControlComponent, PopoverMobileComponent, PopoverMobileModule, PopoverModule, PopoverService, PopoverTriggerDirective, SELECT_CLASS_NAMES };
889
- export type { PopoverChildContent, PopoverConfig, PopoverInterface, PopoverTemplate, TriggerConfig };
910
+ /**
911
+ * Maps each PopoverConfig property to a signal accessor.
912
+ * Components pass their input signals (or inline lambdas for fixed values).
913
+ * All properties are optional — components only provide what they declare.
914
+ */
915
+ type PopoverConfigSignals = {
916
+ [K in keyof PopoverConfig]?: () => PopoverConfig[K];
917
+ };
918
+ /**
919
+ * Builds a computed PopoverConfig from individual signal accessors.
920
+ * Reads all provided accessors reactively and assembles a config object.
921
+ *
922
+ * @example
923
+ * ```typescript
924
+ * readonly popoverConfig = buildPopoverConfig({
925
+ * placement: () => this.placement() ?? 'bottom',
926
+ * triggers: this.triggers,
927
+ * disabled: this.disabled,
928
+ * });
929
+ * ```
930
+ */
931
+ declare function buildPopoverConfig(signals: PopoverConfigSignals): Signal<PopoverConfig>;
932
+
933
+ export { BasePopoverClass, FD_POPOVER_COMPONENT, POPOVER_COMPONENT, PopoverBodyComponent, PopoverBodyDirective, PopoverBodyFooterDirective, PopoverBodyHeaderDirective, PopoverComponent, PopoverContainerDirective, PopoverControlComponent, PopoverMobileComponent, PopoverMobileModule, PopoverModule, PopoverService, PopoverTriggerDirective, SELECT_CLASS_NAMES, buildPopoverConfig };
934
+ export type { PopoverChildContent, PopoverConfig, PopoverConfigSignals, PopoverInterface, PopoverTemplate, TriggerConfig };
@@ -4,7 +4,7 @@ import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef, TemplateRef, Inject
4
4
  import { ColorAccent, FdDropEvent } from '@fundamental-ngx/cdk/utils';
5
5
  import { IndicationColor } from '@fundamental-ngx/core/avatar';
6
6
  import { IconFont } from '@fundamental-ngx/core/icon';
7
- import { PopoverConfig, TriggerConfig } from '@fundamental-ngx/core/popover';
7
+ import { TriggerConfig } from '@fundamental-ngx/core/popover';
8
8
  import { Placement } from '@fundamental-ngx/core/shared';
9
9
 
10
10
  interface ProductSwitchItem {
@@ -103,38 +103,34 @@ declare class ProductSwitchButtonDirective {
103
103
  }
104
104
 
105
105
  declare class ProductSwitchComponent {
106
- /**
107
- * Configuration object for popover settings.
108
- * When provided, these settings will be merged with individual input properties.
109
- * Individual inputs take precedence over config object values.
110
- */
111
- readonly config: _angular_core.InputSignal<PopoverConfig>;
112
- /** Placement of a popover. */
106
+ /** Placement of the product switch dropdown. */
113
107
  readonly placement: _angular_core.InputSignal<Placement>;
114
108
  /** Whether the product switch is disabled. */
115
- readonly disabled: _angular_core.InputSignal<boolean>;
116
- /** Whether the popover should close when the escape key is pressed. */
117
- readonly closeOnEscapeKey: _angular_core.InputSignal<boolean>;
118
- /** Whether the popover should close when a click is made outside its boundaries. */
119
- readonly closeOnOutsideClick: _angular_core.InputSignal<boolean>;
120
- /** Whether the popover should have an arrow. */
121
- readonly noArrow: _angular_core.InputSignal<boolean>;
109
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
110
+ /** Whether the product switch should close when the escape key is pressed. */
111
+ readonly closeOnEscapeKey: _angular_core.InputSignalWithTransform<boolean, unknown>;
112
+ /** Whether the product switch should close when a click is made outside its boundaries. */
113
+ readonly closeOnOutsideClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
114
+ /** Whether the product switch dropdown should have an arrow. */
115
+ readonly noArrow: _angular_core.InputSignalWithTransform<boolean, unknown>;
122
116
  /** Whether to wrap content with fd-scrollbar directive. */
123
- readonly disableScrollbar: _angular_core.InputSignal<boolean>;
124
- /** The trigger events that will open/close the popover. */
117
+ readonly disableScrollbar: _angular_core.InputSignalWithTransform<boolean, unknown>;
118
+ /** The trigger events that will open/close the product switch. */
125
119
  readonly triggers: _angular_core.InputSignal<(string | TriggerConfig)[]>;
126
- /** Whether the popover should be focusTrapped. */
127
- readonly focusTrapped: _angular_core.InputSignal<boolean>;
128
- /** Whether the popover should automatically move focus into the trapped region. */
129
- readonly focusAutoCapture: _angular_core.InputSignal<boolean>;
130
- /** Two-way binding for open state. */
120
+ /** Whether the product switch should trap focus within its boundaries. */
121
+ readonly focusTrapped: _angular_core.InputSignalWithTransform<boolean, unknown>;
122
+ /** Whether the product switch should automatically move focus into the trapped region. */
123
+ readonly focusAutoCapture: _angular_core.InputSignalWithTransform<boolean, unknown>;
124
+ /** Two-way binding for product switch open state. */
131
125
  readonly isOpen: _angular_core.ModelSignal<boolean>;
132
- /** Event emitted right before the popover is being opened. */
126
+ /** Event emitted right before the product switch is being opened. */
133
127
  readonly beforeOpen: _angular_core.OutputEmitterRef<void>;
128
+ /** Event emitted when the product switch open state changes. */
129
+ readonly isOpenChange: _angular_core.OutputEmitterRef<boolean>;
134
130
  /** @hidden */
135
131
  protected readonly customProductSwitchButton: _angular_core.Signal<ProductSwitchButtonDirective | undefined>;
136
132
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProductSwitchComponent, never>;
137
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProductSwitchComponent, "fd-product-switch", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "disableScrollbar": { "alias": "disableScrollbar"; "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; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "beforeOpen": "beforeOpen"; }, ["customProductSwitchButton"], ["*"], true, never>;
133
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProductSwitchComponent, "fd-product-switch", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "disableScrollbar": { "alias": "disableScrollbar"; "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; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "beforeOpen": "beforeOpen"; "isOpenChange": "isOpenChange"; }, ["customProductSwitchButton"], ["*"], true, never>;
138
134
  }
139
135
 
140
136
  /**
@@ -183,6 +183,11 @@ declare class SelectKeyManagerService {
183
183
  * @hidden
184
184
  */
185
185
  _handleOpenKeydown(event: KeyboardEvent): void;
186
+ /**
187
+ * Checks if the component is in mobile mode.
188
+ * @hidden
189
+ */
190
+ private _isMobile;
186
191
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectKeyManagerService, never>;
187
192
  static ɵprov: i0.ɵɵInjectableDeclaration<SelectKeyManagerService>;
188
193
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, OnChanges, OnInit, ElementRef, TemplateRef, ChangeDetectorRef, NgZone, AfterContentInit, AfterViewInit, OnDestroy, QueryList, DestroyRef, InjectionToken } from '@angular/core';
2
+ import { EventEmitter, OnChanges, OnInit, ElementRef, TemplateRef, ChangeDetectorRef, AfterContentInit, AfterViewInit, OnDestroy, QueryList, DestroyRef, InjectionToken } from '@angular/core';
3
3
  import { AbstractFdNgxClass, CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';
4
4
  import { FocusableOption } from '@angular/cdk/a11y';
5
5
  import { Subject } from 'rxjs';
@@ -108,7 +108,6 @@ declare class TabPanelStateChange {
108
108
  declare class TabPanelComponent implements OnChanges {
109
109
  elementRef: ElementRef;
110
110
  private _changeDetRef;
111
- private _ngZone;
112
111
  private readonly _tabsComponent;
113
112
  /** Id of the tab. If none is provided, one will be generated. */
114
113
  id: string;
@@ -134,18 +133,18 @@ declare class TabPanelComponent implements OnChanges {
134
133
  closed: EventEmitter<void>;
135
134
  /** @hidden */
136
135
  titleTemplate: TemplateRef<any>;
137
- /** @hidden */
138
- _expandedClass: boolean;
139
136
  /** @hidden Event that is emitted when the tab panel . */
140
137
  _expandedStateChange: Subject<TabPanelStateChange>;
141
138
  /** @hidden */
139
+ _expandedClass: boolean;
140
+ /** @hidden */
142
141
  _forcedVisibility: boolean;
143
142
  /** @hidden Whether to display tab panel content */
144
143
  private _expanded;
145
144
  /** @hidden */
146
145
  get _panelId(): string;
147
146
  /** @hidden */
148
- constructor(elementRef: ElementRef, _changeDetRef: ChangeDetectorRef, _ngZone: NgZone, _tabsComponent: TabListComponentInterface | null);
147
+ constructor(elementRef: ElementRef, _changeDetRef: ChangeDetectorRef, _tabsComponent: TabListComponentInterface | null);
149
148
  /** @hidden
150
149
  * Thanks to OnPush change strategy detection on tab-list parent component,
151
150
  * every change of any property should be reported. */
@@ -158,9 +157,7 @@ declare class TabPanelComponent implements OnChanges {
158
157
  _expand(expanded: boolean): void;
159
158
  /** @hidden */
160
159
  _focusFirstFocusableElement(): void;
161
- /** @hidden */
162
- private _updateHost;
163
- static ɵfac: i0.ɵɵFactoryDeclaration<TabPanelComponent, [null, null, null, { optional: true; }]>;
160
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabPanelComponent, [null, null, { optional: true; }]>;
164
161
  static ɵcmp: i0.ɵɵComponentDeclaration<TabPanelComponent, "fd-tab", never, { "id": { "alias": "id"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "count": { "alias": "count"; "required": false; }; "glyph": { "alias": "glyph"; "required": false; }; "header": { "alias": "header"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabState": { "alias": "tabState"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, ["titleTemplate"], ["*"], true, never>;
165
162
  }
166
163
 
@@ -280,8 +277,6 @@ declare class TabListComponent implements TabListComponentInterface, AfterConten
280
277
  /** @hidden */
281
278
  private _subscriptions;
282
279
  /** @hidden */
283
- private readonly _zone;
284
- /** @hidden */
285
280
  constructor(_changeDetectorRef: ChangeDetectorRef, _contentDensityObserver: ContentDensityObserver, _destroyRef: DestroyRef);
286
281
  /** @hidden */
287
282
  ngAfterContentInit(): void;