@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.
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +7 -8
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +10 -16
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +34 -15
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +40 -29
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +75 -31
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +152 -16
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +23 -27
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +12 -3
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +19 -25
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/package.json +3 -3
- package/types/fundamental-ngx-core-carousel.d.ts +2 -3
- package/types/fundamental-ngx-core-form.d.ts +7 -10
- package/types/fundamental-ngx-core-inline-help.d.ts +20 -15
- package/types/fundamental-ngx-core-menu.d.ts +17 -9
- package/types/fundamental-ngx-core-mobile-mode.d.ts +6 -2
- package/types/fundamental-ngx-core-multi-combobox.d.ts +18 -1
- package/types/fundamental-ngx-core-popover.d.ts +48 -3
- package/types/fundamental-ngx-core-product-switch.d.ts +20 -24
- package/types/fundamental-ngx-core-select.d.ts +5 -0
- 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
|
-
/**
|
|
257
|
+
/** Menu placement */
|
|
258
258
|
readonly placement: i0.InputSignal<Placement>;
|
|
259
|
-
/** Whether to close
|
|
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
|
|
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
|
|
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
|
|
280
|
+
/** Whether the menu should trap focus within its boundaries */
|
|
281
281
|
readonly focusTrapped: i0.InputSignalWithTransform<boolean, unknown>;
|
|
282
|
-
/** Additional CSS classes for the
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
|
|
889
|
-
|
|
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 {
|
|
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.
|
|
116
|
-
/** Whether the
|
|
117
|
-
readonly closeOnEscapeKey: _angular_core.
|
|
118
|
-
/** Whether the
|
|
119
|
-
readonly closeOnOutsideClick: _angular_core.
|
|
120
|
-
/** Whether the
|
|
121
|
-
readonly noArrow: _angular_core.
|
|
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.
|
|
124
|
-
/** The trigger events that will open/close the
|
|
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
|
|
127
|
-
readonly focusTrapped: _angular_core.
|
|
128
|
-
/** Whether the
|
|
129
|
-
readonly focusAutoCapture: _angular_core.
|
|
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
|
|
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, { "
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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;
|