@fundamental-ngx/core 0.65.0-rc.8 → 0.65.0
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-avatar-group.mjs +118 -39
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +166 -22
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +1 -4
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +21 -0
- package/fesm2022/fundamental-ngx-core-datetime-picker.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-list.mjs +10 -6
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +63 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +21 -36
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +22 -40
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +113 -13
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +373 -499
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/package.json +1 -1
- package/types/fundamental-ngx-core-avatar-group.d.ts +52 -19
- package/types/fundamental-ngx-core-combobox.d.ts +44 -6
- package/types/fundamental-ngx-core-datetime-picker.d.ts +3 -1
- package/types/fundamental-ngx-core-list.d.ts +4 -1
- package/types/fundamental-ngx-core-menu.d.ts +8 -1
- package/types/fundamental-ngx-core-mobile-mode.d.ts +2 -0
- package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
- package/types/fundamental-ngx-core-popover.d.ts +11 -16
- package/types/fundamental-ngx-core-settings.d.ts +57 -5
- package/types/fundamental-ngx-core-table.d.ts +133 -164
|
@@ -30,7 +30,7 @@ interface ComboboxInterface extends MobileMode {
|
|
|
30
30
|
inShellbar: boolean;
|
|
31
31
|
getValue(): any;
|
|
32
32
|
dialogApprove(): void;
|
|
33
|
-
dialogDismiss(
|
|
33
|
+
dialogDismiss(term?: any): void;
|
|
34
34
|
}
|
|
35
35
|
interface ComboboxItemDirectiveContext<T = unknown> {
|
|
36
36
|
$implicit: T;
|
|
@@ -51,7 +51,11 @@ declare class ComboboxItemDirective<T = unknown> {
|
|
|
51
51
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ComboboxItemDirective<any>, "[fdComboboxItem]", never, { "fdComboboxItemUse": { "alias": "fdComboboxItemUse"; "required": false; }; }, {}, never, never, true, never>;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
interface ComboboxMobileBridge extends ComboboxInterface {
|
|
55
|
+
setMobileModeConfig(config: MobileModeConfig): void;
|
|
56
|
+
hasMobileApproveAction(): boolean;
|
|
57
|
+
}
|
|
58
|
+
declare class ComboboxMobileComponent extends MobileModeBase<ComboboxMobileBridge> implements OnInit {
|
|
55
59
|
/** @hidden */
|
|
56
60
|
dialogTemplate: TemplateRef<any>;
|
|
57
61
|
/**
|
|
@@ -65,9 +69,11 @@ declare class ComboboxMobileComponent extends MobileModeBase<ComboboxInterface>
|
|
|
65
69
|
controlTemplate: TemplateRef<any>;
|
|
66
70
|
} | null;
|
|
67
71
|
/** @hidden */
|
|
68
|
-
private
|
|
72
|
+
private _handlingDialogAction;
|
|
73
|
+
/** @hidden */
|
|
74
|
+
private _dismissedByAction;
|
|
69
75
|
/** @hidden */
|
|
70
|
-
constructor(comboboxComponent:
|
|
76
|
+
constructor(comboboxComponent: ComboboxMobileBridge);
|
|
71
77
|
/** @hidden */
|
|
72
78
|
ngOnInit(): void;
|
|
73
79
|
/** @hidden */
|
|
@@ -81,6 +87,12 @@ declare class ComboboxMobileComponent extends MobileModeBase<ComboboxInterface>
|
|
|
81
87
|
/** @hidden */
|
|
82
88
|
private _open;
|
|
83
89
|
/** @hidden */
|
|
90
|
+
private _closeDialog;
|
|
91
|
+
/** @hidden */
|
|
92
|
+
private _dismissDialog;
|
|
93
|
+
/** @hidden */
|
|
94
|
+
private _canCloseDialog;
|
|
95
|
+
/** @hidden */
|
|
84
96
|
private _focusInputElementOnceOpened;
|
|
85
97
|
static ɵfac: i0.ɵɵFactoryDeclaration<ComboboxMobileComponent, never>;
|
|
86
98
|
static ɵcmp: i0.ɵɵComponentDeclaration<ComboboxMobileComponent, "fd-combobox-mobile", never, {}, {}, never, never, true, never>;
|
|
@@ -306,6 +318,10 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
|
|
|
306
318
|
private _value;
|
|
307
319
|
/** Last value confirmed by an explicit selection (item click) or external writeValue. */
|
|
308
320
|
private _lastConfirmedValue;
|
|
321
|
+
/** Value state to restore when a mobile confirmation dialog is dismissed. */
|
|
322
|
+
private _mobileConfirmationSnapshot?;
|
|
323
|
+
/** Resolved global and local mobile configuration supplied by the mobile wrapper. */
|
|
324
|
+
private _mobileModeConfig?;
|
|
309
325
|
private readonly _elementRef;
|
|
310
326
|
private readonly _destroyRef;
|
|
311
327
|
/** @hidden */
|
|
@@ -330,8 +346,18 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
|
|
|
330
346
|
onItemFocused(value: any): void;
|
|
331
347
|
/** @hidden */
|
|
332
348
|
onMenuClickHandler(value: any, shouldClosePopover?: boolean): void;
|
|
333
|
-
/**
|
|
334
|
-
|
|
349
|
+
/**
|
|
350
|
+
* @hidden
|
|
351
|
+
* Receives the resolved mobile configuration from the mobile wrapper.
|
|
352
|
+
*/
|
|
353
|
+
setMobileModeConfig(config: MobileModeConfig): void;
|
|
354
|
+
/**
|
|
355
|
+
* @hidden
|
|
356
|
+
* Whether the resolved mobile configuration provides a usable Approve action.
|
|
357
|
+
*/
|
|
358
|
+
hasMobileApproveAction(): boolean;
|
|
359
|
+
/** Handle dialog dismissing, restoring an unconfirmed mobile selection when needed. */
|
|
360
|
+
dialogDismiss(term?: any): void;
|
|
335
361
|
/** Handle dialog approval, closes popover and propagates data changes. */
|
|
336
362
|
dialogApprove(): void;
|
|
337
363
|
/** If true value empty */
|
|
@@ -377,6 +403,10 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
|
|
|
377
403
|
private _popoverOverlayPane;
|
|
378
404
|
/** @hidden */
|
|
379
405
|
private _isInputDirtyVsModel;
|
|
406
|
+
/** @hidden */
|
|
407
|
+
private _getCompletedAutocompleteValue;
|
|
408
|
+
/** @hidden */
|
|
409
|
+
private _commitCompletedAutocompleteValue;
|
|
380
410
|
/** Method that picks other value moved from current one by offset, called only when combobox is closed */
|
|
381
411
|
private _chooseOtherItem;
|
|
382
412
|
/** Method that reset filtering for displayed values. It overrides displayed values by all possible dropdown values */
|
|
@@ -392,6 +422,14 @@ declare class ComboboxComponent<T = any> implements ComboboxInterface, SingleDro
|
|
|
392
422
|
/** @hidden */
|
|
393
423
|
private _getOptionObjectByDisplayedValue;
|
|
394
424
|
/** @hidden */
|
|
425
|
+
private _isMobileConfirmationMode;
|
|
426
|
+
/** @hidden */
|
|
427
|
+
private _captureMobileConfirmationSnapshot;
|
|
428
|
+
/** @hidden */
|
|
429
|
+
private _restoreMobileConfirmationSnapshot;
|
|
430
|
+
/** @hidden */
|
|
431
|
+
private _confirmMobileSelection;
|
|
432
|
+
/** @hidden */
|
|
395
433
|
private _refreshDisplayedValues;
|
|
396
434
|
/** @hidden */
|
|
397
435
|
private _propagateChange;
|
|
@@ -175,7 +175,7 @@ declare class DatetimePickerComponent<D> implements DateTimePicker<D>, OnInit, O
|
|
|
175
175
|
/** Event thrown every time calendar active view is changed */
|
|
176
176
|
readonly activeViewChange: EventEmitter<FdCalendarView>;
|
|
177
177
|
/** Event emitted when the date changes. This can be a time or day change. */
|
|
178
|
-
readonly dateChange: EventEmitter<D>;
|
|
178
|
+
readonly dateChange: EventEmitter<D | null>;
|
|
179
179
|
/** Event emitted when the day changes from the calendar. */
|
|
180
180
|
readonly calendarChange: EventEmitter<D>;
|
|
181
181
|
/** Event emitted when the time changes from the time component. */
|
|
@@ -374,6 +374,8 @@ declare class DatetimePickerComponent<D> implements DateTimePicker<D>, OnInit, O
|
|
|
374
374
|
private _calculateTimeOptions;
|
|
375
375
|
/** @hidden */
|
|
376
376
|
private _setUpMobileMode;
|
|
377
|
+
private _emitDateChange;
|
|
378
|
+
private _datesAreEqual;
|
|
377
379
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatetimePickerComponent<any>, [null, null, { optional: true; }, { optional: true; }, null]>;
|
|
378
380
|
static ɵcmp: i0.ɵɵComponentDeclaration<DatetimePickerComponent<any>, "fd-datetime-picker", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "required": { "alias": "required"; "required": false; }; "customDateTimeFormat": { "alias": "customDateTimeFormat"; "required": false; }; "meridian": { "alias": "meridian"; "required": false; }; "displaySeconds": { "alias": "displaySeconds"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageTriggers": { "alias": "messageTriggers"; "required": false; }; "displayMinutes": { "alias": "displayMinutes"; "required": false; }; "displayHours": { "alias": "displayHours"; "required": false; }; "useValidation": { "alias": "useValidation"; "required": false; }; "date": { "alias": "date"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "keepTwoDigitsTime": { "alias": "keepTwoDigitsTime"; "required": false; }; "state": { "alias": "state"; "required": false; }; "buttonFocusable": { "alias": "buttonFocusable"; "required": false; }; "yearGrid": { "alias": "yearGrid"; "required": false; }; "aggregatedYearGrid": { "alias": "aggregatedYearGrid"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "spinnerButtons": { "alias": "spinnerButtons"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "processInputOnBlur": { "alias": "processInputOnBlur"; "required": false; }; "preventScrollOnFocus": { "alias": "preventScrollOnFocus"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; }; "mobileLandscape": { "alias": "mobileLandscape"; "required": false; }; "mobilePortrait": { "alias": "mobilePortrait"; "required": false; }; "isFullWidth": { "alias": "isFullWidth"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; "isSignal": true; }; "showCalendarLegend": { "alias": "showCalendarLegend"; "required": false; "isSignal": true; }; "legendCol": { "alias": "legendCol"; "required": false; "isSignal": true; }; "disableFunction": { "alias": "disableFunction"; "required": false; }; }, { "isOpenChange": "isOpenChange"; "activeViewChange": "activeViewChange"; "dateChange": "dateChange"; "calendarChange": "calendarChange"; "timeChange": "timeChange"; "onClose": "onClose"; "touched": "touched"; }, never, ["*"], true, never>;
|
|
379
381
|
static ngAcceptInputType_processInputOnBlur: unknown;
|
|
@@ -520,6 +520,8 @@ declare class ListComponent implements ListComponentInterface, ListUnreadIndicat
|
|
|
520
520
|
settingsList: i0.InputSignalWithTransform<boolean, unknown>;
|
|
521
521
|
/** Whether the list is used inside Settings Dialog Footer */
|
|
522
522
|
settingsListFooter: i0.InputSignalWithTransform<boolean, unknown>;
|
|
523
|
+
/** Whether the list is a notification list used inside Settings Dialog */
|
|
524
|
+
notification: i0.InputSignalWithTransform<boolean, unknown>;
|
|
523
525
|
/** @hidden Whether the list is the shell search results list. */
|
|
524
526
|
searchResultsList: i0.InputSignal<boolean>;
|
|
525
527
|
/** @hidden */
|
|
@@ -570,7 +572,8 @@ declare class ListComponent implements ListComponentInterface, ListUnreadIndicat
|
|
|
570
572
|
/** @hidden */
|
|
571
573
|
private _listenOnListFocusEscape;
|
|
572
574
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
|
|
573
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "[fd-list], [fdList]", never, { "dropdownMode": { "alias": "dropdownMode"; "required": false; }; "multiInputMode": { "alias": "multiInputMode"; "required": false; }; "mobileMode": { "alias": "mobileMode"; "required": false; }; "hasMessage": { "alias": "hasMessage"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; }; "navigationIndicator": { "alias": "navigationIndicator"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "keyboardSupport": { "alias": "keyboardSupport"; "required": false; }; "byline": { "alias": "byline"; "required": false; }; "subline": { "alias": "subline"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "unreadIndicator": { "alias": "unreadIndicator"; "required": false; }; "role": { "alias": "role"; "required": false; }; "settingsList": { "alias": "settingsList"; "required": false; "isSignal": true; }; "settingsListFooter": { "alias": "settingsListFooter"; "required": false; "isSignal": true; }; "searchResultsList": { "alias": "searchResultsList"; "required": false; "isSignal": true; }; }, { "focusEscapeList": "focusEscapeList"; }, ["items", "_navItems", "_focusItems"], ["*"], true, never>;
|
|
575
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "[fd-list], [fdList]", never, { "dropdownMode": { "alias": "dropdownMode"; "required": false; }; "multiInputMode": { "alias": "multiInputMode"; "required": false; }; "mobileMode": { "alias": "mobileMode"; "required": false; }; "hasMessage": { "alias": "hasMessage"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; }; "navigationIndicator": { "alias": "navigationIndicator"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "keyboardSupport": { "alias": "keyboardSupport"; "required": false; }; "byline": { "alias": "byline"; "required": false; }; "subline": { "alias": "subline"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "unreadIndicator": { "alias": "unreadIndicator"; "required": false; }; "role": { "alias": "role"; "required": false; }; "settingsList": { "alias": "settingsList"; "required": false; "isSignal": true; }; "settingsListFooter": { "alias": "settingsListFooter"; "required": false; "isSignal": true; }; "notification": { "alias": "notification"; "required": false; "isSignal": true; }; "searchResultsList": { "alias": "searchResultsList"; "required": false; "isSignal": true; }; }, { "focusEscapeList": "focusEscapeList"; }, ["items", "_navItems", "_focusItems"], ["*"], true, never>;
|
|
576
|
+
static ngAcceptInputType_byline: unknown;
|
|
574
577
|
}
|
|
575
578
|
|
|
576
579
|
/**
|
|
@@ -486,6 +486,8 @@ declare class MenuService implements OnDestroy {
|
|
|
486
486
|
private _emitActivePath;
|
|
487
487
|
/** @hidden Depending on direction returns closest enabled sibling of given node */
|
|
488
488
|
private _closestEnabled;
|
|
489
|
+
/** @hidden Returns first/last enabled sibling for Home/End keyboard support */
|
|
490
|
+
private _boundaryEnabled;
|
|
489
491
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuService, never>;
|
|
490
492
|
static ɵprov: i0.ɵɵInjectableDeclaration<MenuService>;
|
|
491
493
|
}
|
|
@@ -701,12 +703,17 @@ declare class MenuKeyboardService {
|
|
|
701
703
|
focusEscapeAfterList: () => void;
|
|
702
704
|
/** Function that should be called every time, keydown event is used on some menu item,
|
|
703
705
|
* it provides whole functionality for handling
|
|
704
|
-
* ArrowDown - focus, ArrowUp - focus,
|
|
706
|
+
* ArrowDown - focus, ArrowUp - focus, Home - focus first enabled item, End - focus last enabled item,
|
|
707
|
+
* Space bar - simulate click, Enter key - simulate click.
|
|
705
708
|
* @param event KeyboardEvent
|
|
706
709
|
* @param index index of items starts from 0
|
|
707
710
|
* @param menuItems array of menu item directives
|
|
708
711
|
* */
|
|
709
712
|
keyDownHandler(event: KeyboardEvent, index: number, menuItems: DefaultMenuItem[] | ListItemComponent[]): void;
|
|
713
|
+
/** @hidden Returns index of first/last enabled item. Falls back to first/last if disabled state is unavailable. */
|
|
714
|
+
private _findBoundaryEnabledIndex;
|
|
715
|
+
/** @hidden Detects disabled state if supported by the item implementation. */
|
|
716
|
+
private _isItemDisabled;
|
|
710
717
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuKeyboardService, never>;
|
|
711
718
|
static ɵprov: i0.ɵɵInjectableDeclaration<MenuKeyboardService>;
|
|
712
719
|
}
|
|
@@ -5,6 +5,8 @@ import { InjectionToken, DestroyRef, ElementRef } from '@angular/core';
|
|
|
5
5
|
interface MobileModeConfig {
|
|
6
6
|
/** Dialog Title */
|
|
7
7
|
title?: string;
|
|
8
|
+
/** Short instruction text rendered below the dialog title to guide the user. */
|
|
9
|
+
instruction?: string;
|
|
8
10
|
/** Approve Button Label. If empty, button will not appear */
|
|
9
11
|
approveButtonText?: string;
|
|
10
12
|
/** Cancel Button Label. If empty, button will not appear */
|
|
@@ -341,7 +341,7 @@ declare abstract class BaseMultiCombobox<T = any> {
|
|
|
341
341
|
*/
|
|
342
342
|
protected _emitChangeEvent(): void;
|
|
343
343
|
/** @hidden */
|
|
344
|
-
protected _setSelectedSuggestions(): void;
|
|
344
|
+
protected _setSelectedSuggestions(selectedItems?: T[]): void;
|
|
345
345
|
/**
|
|
346
346
|
* Convert original data to SelectableOptionItems Interface
|
|
347
347
|
* @hidden
|
|
@@ -923,23 +923,18 @@ declare class PopoverService {
|
|
|
923
923
|
private _focusLastActiveElementBeforeOpen;
|
|
924
924
|
/**
|
|
925
925
|
* @hidden
|
|
926
|
-
* Starts a MutationObserver on
|
|
927
|
-
*
|
|
928
|
-
*
|
|
929
|
-
*
|
|
930
|
-
*
|
|
931
|
-
* - `
|
|
932
|
-
*
|
|
933
|
-
*
|
|
934
|
-
* The callback is debounced through `requestAnimationFrame` so
|
|
935
|
-
*
|
|
936
|
-
*/
|
|
937
|
-
private _startAncestorResizeObserver;
|
|
938
|
-
/**
|
|
939
|
-
* @hidden
|
|
940
|
-
* Returns the nearest scrollable ancestor, or document.body when none is found.
|
|
926
|
+
* Starts a MutationObserver on document.body to detect any layout shift that could
|
|
927
|
+
* invalidate the overlay position — including mutations in elements outside the trigger's
|
|
928
|
+
* nearest scroll container (e.g. a collapsible header above a table pushing the trigger down).
|
|
929
|
+
*
|
|
930
|
+
* Observed mutation types:
|
|
931
|
+
* - `childList`: elements added/removed from the DOM (Angular `@if`, ngIf, toast dismissed).
|
|
932
|
+
* - `attributes` with `attributeFilter: ['style', 'class']`: visibility toggled via CSS.
|
|
933
|
+
*
|
|
934
|
+
* The callback is debounced through `requestAnimationFrame` so rapid batched mutations
|
|
935
|
+
* only trigger a single `updatePosition()` call per frame.
|
|
941
936
|
*/
|
|
942
|
-
private
|
|
937
|
+
private _startLayoutShiftObserver;
|
|
943
938
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverService, never>;
|
|
944
939
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PopoverService>;
|
|
945
940
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnDestroy, AfterViewInit, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { OnDestroy, AfterViewInit, ViewContainerRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import { ListItemComponent } from '@fundamental-ngx/core/list';
|
|
4
4
|
|
|
5
5
|
type SettingsViewMode = 'lg' | 'md' | 'sm';
|
|
@@ -8,6 +8,13 @@ declare enum VIEW_MODE {
|
|
|
8
8
|
MD = "md",
|
|
9
9
|
SM = "sm"
|
|
10
10
|
}
|
|
11
|
+
/** Represents a secondary view in the view stack */
|
|
12
|
+
interface SettingsStackedView {
|
|
13
|
+
/** The template to render */
|
|
14
|
+
template: TemplateRef<any>;
|
|
15
|
+
/** The title to display in the header */
|
|
16
|
+
title: string;
|
|
17
|
+
}
|
|
11
18
|
declare class SettingsContainerComponent implements OnDestroy, AfterViewInit {
|
|
12
19
|
/**
|
|
13
20
|
* Heading level for the title in the Details Area
|
|
@@ -41,15 +48,30 @@ declare class SettingsContainerComponent implements OnDestroy, AfterViewInit {
|
|
|
41
48
|
readonly showDetailArea: i0.WritableSignal<boolean>;
|
|
42
49
|
/** @hidden */
|
|
43
50
|
readonly activeTitle: i0.WritableSignal<string>;
|
|
51
|
+
/** Whether there is a stacked (secondary) view currently displayed */
|
|
52
|
+
readonly hasStackedView: i0.Signal<boolean>;
|
|
53
|
+
/**
|
|
54
|
+
* The current title to display in the header.
|
|
55
|
+
* Returns the stacked view's title if one exists, otherwise the active list item's title.
|
|
56
|
+
* Computed from the view stack to reactively update when navigating between views.
|
|
57
|
+
*/
|
|
58
|
+
readonly currentTitle: i0.Signal<string>;
|
|
44
59
|
/**
|
|
45
60
|
* Handle the navigation icon (arrow) of the Back button in RTL mode
|
|
46
61
|
*/
|
|
47
62
|
protected readonly navigationArrow: i0.Signal<"navigation-right-arrow" | "navigation-left-arrow">;
|
|
63
|
+
/**
|
|
64
|
+
* Stack of secondary views pushed on top of the main template.
|
|
65
|
+
* This enables drill-down navigation within a settings section.
|
|
66
|
+
*/
|
|
67
|
+
private readonly _viewStack;
|
|
48
68
|
/** @hidden */
|
|
49
69
|
private _eventUnlisteners;
|
|
50
70
|
/** @hidden */
|
|
51
71
|
private readonly _rtlService;
|
|
52
72
|
/** @hidden */
|
|
73
|
+
private readonly _elementRef;
|
|
74
|
+
/** @hidden */
|
|
53
75
|
private _renderer;
|
|
54
76
|
/** @hidden */
|
|
55
77
|
constructor();
|
|
@@ -59,6 +81,22 @@ declare class SettingsContainerComponent implements OnDestroy, AfterViewInit {
|
|
|
59
81
|
ngAfterViewInit(): void;
|
|
60
82
|
/** @hidden */
|
|
61
83
|
ngOnDestroy(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Push a secondary view onto the stack.
|
|
86
|
+
* Use this to navigate to a drill-down view within a settings section.
|
|
87
|
+
* @param template The template to render
|
|
88
|
+
* @param title The title to display in the header
|
|
89
|
+
*/
|
|
90
|
+
pushView(template: TemplateRef<any>, title: string): void;
|
|
91
|
+
/**
|
|
92
|
+
* Pop the top view from the stack, returning to the previous view.
|
|
93
|
+
* If no stacked views exist, this method does nothing.
|
|
94
|
+
*/
|
|
95
|
+
popView(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Clear all stacked views and return to the main template.
|
|
98
|
+
*/
|
|
99
|
+
clearViewStack(): void;
|
|
62
100
|
/** @hidden */
|
|
63
101
|
onHeaderBackClick(): void;
|
|
64
102
|
/** @hidden */
|
|
@@ -66,11 +104,13 @@ declare class SettingsContainerComponent implements OnDestroy, AfterViewInit {
|
|
|
66
104
|
/** @hidden */
|
|
67
105
|
private _setupListItemListeners;
|
|
68
106
|
/** @hidden */
|
|
69
|
-
private
|
|
107
|
+
private _renderCurrentView;
|
|
70
108
|
/** @hidden */
|
|
71
109
|
private _updateActiveTitle;
|
|
72
110
|
/** @hidden */
|
|
73
111
|
private _focusInitialListItem;
|
|
112
|
+
/** @hidden Focus the back button in the header */
|
|
113
|
+
private _focusBackButton;
|
|
74
114
|
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsContainerComponent, never>;
|
|
75
115
|
static ɵcmp: i0.ɵɵComponentDeclaration<SettingsContainerComponent, "fd-settings-container", never, { "detailsAreaTitleHeading": { "alias": "detailsAreaTitleHeading"; "required": false; "isSignal": true; }; "detailsAreaTitleHeadingSize": { "alias": "detailsAreaTitleHeadingSize"; "required": false; "isSignal": true; }; "backBtnAriaLabel": { "alias": "backBtnAriaLabel"; "required": false; "isSignal": true; }; }, {}, ["listItems"], ["[fd-settings-list-area]"], true, never>;
|
|
76
116
|
}
|
|
@@ -145,6 +185,18 @@ declare class SettingsProfileCardDirective {
|
|
|
145
185
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SettingsProfileCardDirective, "[fd-settings-profile-card]", never, {}, {}, never, never, true, never>;
|
|
146
186
|
}
|
|
147
187
|
|
|
188
|
+
type SettingsSpacingSize = 'small' | 'medium' | 'large' | 'form' | undefined;
|
|
189
|
+
declare class SettingsSpacingDirective {
|
|
190
|
+
readonly size: i0.InputSignal<SettingsSpacingSize>;
|
|
191
|
+
/**
|
|
192
|
+
* Computed CSS class string that reactively updates based on the size input.
|
|
193
|
+
* Combines base class with optional size modifier.
|
|
194
|
+
*/
|
|
195
|
+
protected readonly cssClass: i0.Signal<string>;
|
|
196
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsSpacingDirective, never>;
|
|
197
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SettingsSpacingDirective, "[fd-settings-spacing]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
198
|
+
}
|
|
199
|
+
|
|
148
200
|
declare class SettingsComponent {
|
|
149
201
|
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsComponent, never>;
|
|
150
202
|
static ɵcmp: i0.ɵɵComponentDeclaration<SettingsComponent, "[fd-settings]", never, {}, {}, never, ["*"], true, never>;
|
|
@@ -156,9 +208,9 @@ declare class SettingsComponent {
|
|
|
156
208
|
*/
|
|
157
209
|
declare class SettingsModule {
|
|
158
210
|
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsModule, never>;
|
|
159
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SettingsModule, never, [typeof SettingsListAreaDirective, typeof SettingsDetailAreaDirective, typeof SettingsListContainerDirective, typeof SettingsContentDirective, typeof SettingsContentContainerDirective, typeof SettingsProfileCardDirective, typeof SettingsProfileCardNameDirective, typeof SettingsProfileCardSublineDirective, typeof SettingsHeaderDirective, typeof SettingsHeaderButtonDirective, typeof SettingsDialogContentDirective, typeof SettingsDialogBodyDirective, typeof SettingsContainerComponent, typeof SettingsComponent], [typeof SettingsListAreaDirective, typeof SettingsDetailAreaDirective, typeof SettingsListContainerDirective, typeof SettingsContentDirective, typeof SettingsContentContainerDirective, typeof SettingsProfileCardDirective, typeof SettingsProfileCardNameDirective, typeof SettingsProfileCardSublineDirective, typeof SettingsHeaderDirective, typeof SettingsHeaderButtonDirective, typeof SettingsDialogContentDirective, typeof SettingsDialogBodyDirective, typeof SettingsContainerComponent, typeof SettingsComponent]>;
|
|
211
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SettingsModule, never, [typeof SettingsListAreaDirective, typeof SettingsDetailAreaDirective, typeof SettingsListContainerDirective, typeof SettingsContentDirective, typeof SettingsContentContainerDirective, typeof SettingsProfileCardDirective, typeof SettingsProfileCardNameDirective, typeof SettingsProfileCardSublineDirective, typeof SettingsHeaderDirective, typeof SettingsHeaderButtonDirective, typeof SettingsDialogContentDirective, typeof SettingsDialogBodyDirective, typeof SettingsContainerComponent, typeof SettingsComponent, typeof SettingsSpacingDirective], [typeof SettingsListAreaDirective, typeof SettingsDetailAreaDirective, typeof SettingsListContainerDirective, typeof SettingsContentDirective, typeof SettingsContentContainerDirective, typeof SettingsProfileCardDirective, typeof SettingsProfileCardNameDirective, typeof SettingsProfileCardSublineDirective, typeof SettingsHeaderDirective, typeof SettingsHeaderButtonDirective, typeof SettingsDialogContentDirective, typeof SettingsDialogBodyDirective, typeof SettingsContainerComponent, typeof SettingsComponent, typeof SettingsSpacingDirective]>;
|
|
160
212
|
static ɵinj: i0.ɵɵInjectorDeclaration<SettingsModule>;
|
|
161
213
|
}
|
|
162
214
|
|
|
163
|
-
export { SettingsComponent, SettingsContainerComponent, SettingsContentContainerDirective, SettingsContentDirective, SettingsDetailAreaDirective, SettingsDialogBodyDirective, SettingsDialogContentDirective, SettingsHeaderButtonDirective, SettingsHeaderDirective, SettingsListAreaDirective, SettingsListContainerDirective, SettingsModule, SettingsProfileCardDirective, SettingsProfileCardNameDirective, SettingsProfileCardSublineDirective, VIEW_MODE };
|
|
164
|
-
export type { SettingsViewMode };
|
|
215
|
+
export { SettingsComponent, SettingsContainerComponent, SettingsContentContainerDirective, SettingsContentDirective, SettingsDetailAreaDirective, SettingsDialogBodyDirective, SettingsDialogContentDirective, SettingsHeaderButtonDirective, SettingsHeaderDirective, SettingsListAreaDirective, SettingsListContainerDirective, SettingsModule, SettingsProfileCardDirective, SettingsProfileCardNameDirective, SettingsProfileCardSublineDirective, SettingsSpacingDirective, VIEW_MODE };
|
|
216
|
+
export type { SettingsSpacingSize, SettingsStackedView, SettingsViewMode };
|