@fundamental-ngx/btp 0.63.2-rc.7 → 0.63.2
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/README.md +1 -1
- package/fesm2022/fundamental-ngx-btp-button.mjs +12 -14
- package/fesm2022/fundamental-ngx-btp-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-btp-navigation-menu.mjs +16 -16
- package/fesm2022/fundamental-ngx-btp-navigation.mjs +120 -201
- package/fesm2022/fundamental-ngx-btp-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-btp-search-field.mjs +4 -5
- package/fesm2022/fundamental-ngx-btp-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-btp-splitter.mjs +22 -22
- package/fesm2022/fundamental-ngx-btp-tool-header.mjs +52 -71
- package/fesm2022/fundamental-ngx-btp-tool-header.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-btp-tool-layout.mjs +19 -19
- package/fesm2022/fundamental-ngx-btp.mjs +4 -4
- package/package.json +6 -7
|
@@ -23,8 +23,7 @@ class FdbNavigationContentContainer {
|
|
|
23
23
|
/**
|
|
24
24
|
* List containing all child navigation list items.
|
|
25
25
|
*/
|
|
26
|
-
this.allListItems$ = signal([],
|
|
27
|
-
...(ngDevMode ? [{ debugName: "allListItems$" }] : /* istanbul ignore next */ []));
|
|
26
|
+
this.allListItems$ = signal([], ...(ngDevMode ? [{ debugName: "allListItems$" }] : []));
|
|
28
27
|
/** @hidden */
|
|
29
28
|
this._destroyRef = inject(DestroyRef);
|
|
30
29
|
/**
|
|
@@ -64,39 +63,31 @@ const LIST_ITEM_CLASS = 'fd-navigation__list-item';
|
|
|
64
63
|
class FdbNavigationListItem {
|
|
65
64
|
constructor() {
|
|
66
65
|
/** @hidden */
|
|
67
|
-
this.listItems$ = signal([],
|
|
68
|
-
...(ngDevMode ? [{ debugName: "listItems$" }] : /* istanbul ignore next */ []));
|
|
66
|
+
this.listItems$ = signal([], ...(ngDevMode ? [{ debugName: "listItems$" }] : []));
|
|
69
67
|
/** Whether item has child items. */
|
|
70
|
-
this.hasChildren$ = computed(() => this.listItems$().length > 0,
|
|
71
|
-
...(ngDevMode ? [{ debugName: "hasChildren$" }] : /* istanbul ignore next */ []));
|
|
68
|
+
this.hasChildren$ = computed(() => this.listItems$().length > 0, ...(ngDevMode ? [{ debugName: "hasChildren$" }] : []));
|
|
72
69
|
/** Whether popover is open. Applicable for snapped navigation state. */
|
|
73
|
-
this.popoverOpen$ = signal(false,
|
|
74
|
-
...(ngDevMode ? [{ debugName: "popoverOpen$" }] : /* istanbul ignore next */ []));
|
|
70
|
+
this.popoverOpen$ = signal(false, ...(ngDevMode ? [{ debugName: "popoverOpen$" }] : []));
|
|
75
71
|
/**
|
|
76
72
|
* Link reference.
|
|
77
73
|
*/
|
|
78
|
-
this.link$ = signal(null,
|
|
79
|
-
...(ngDevMode ? [{ debugName: "link$" }] : /* istanbul ignore next */ []));
|
|
74
|
+
this.link$ = signal(null, ...(ngDevMode ? [{ debugName: "link$" }] : []));
|
|
80
75
|
/**
|
|
81
76
|
* Item content renderer.
|
|
82
77
|
*/
|
|
83
|
-
this.renderer$ = signal(null,
|
|
84
|
-
...(ngDevMode ? [{ debugName: "renderer$" }] : /* istanbul ignore next */ []));
|
|
78
|
+
this.renderer$ = signal(null, ...(ngDevMode ? [{ debugName: "renderer$" }] : []));
|
|
85
79
|
/**
|
|
86
80
|
* Whether the item should be hidden under "More" button.
|
|
87
81
|
*/
|
|
88
|
-
this.hidden$ = signal(false,
|
|
89
|
-
...(ngDevMode ? [{ debugName: "hidden$" }] : /* istanbul ignore next */ []));
|
|
82
|
+
this.hidden$ = signal(false, ...(ngDevMode ? [{ debugName: "hidden$" }] : []));
|
|
90
83
|
/**
|
|
91
84
|
* Whether the item is in overflow menu. Applicable only when the navigation is in snapped mode.
|
|
92
85
|
*/
|
|
93
|
-
this.isOverflow$ = computed(() => this.navigation.isSnapped$() && this.hidden$(),
|
|
94
|
-
...(ngDevMode ? [{ debugName: "isOverflow$" }] : /* istanbul ignore next */ []));
|
|
86
|
+
this.isOverflow$ = computed(() => this.navigation.isSnapped$() && this.hidden$(), ...(ngDevMode ? [{ debugName: "isOverflow$" }] : []));
|
|
95
87
|
/**
|
|
96
88
|
* Item Hierarchy level in navigation tree.
|
|
97
89
|
*/
|
|
98
|
-
this.level$ = computed(() => (this.parentListItem?.level$() || 0) + 1,
|
|
99
|
-
...(ngDevMode ? [{ debugName: "level$" }] : /* istanbul ignore next */ []));
|
|
90
|
+
this.level$ = computed(() => (this.parentListItem?.level$() || 0) + 1, ...(ngDevMode ? [{ debugName: "level$" }] : []));
|
|
100
91
|
/**
|
|
101
92
|
* Normalized level. Calculated based on location of the item, whether it is inside group or not.
|
|
102
93
|
* Can be different than `level$`.
|
|
@@ -106,30 +97,24 @@ class FdbNavigationListItem {
|
|
|
106
97
|
return this.inGroup$() ? this.level$() : this.level$() + 1;
|
|
107
98
|
}
|
|
108
99
|
return this.parentListItem.normalizedLevel$() + 1;
|
|
109
|
-
},
|
|
110
|
-
...(ngDevMode ? [{ debugName: "normalizedLevel$" }] : /* istanbul ignore next */ []));
|
|
100
|
+
}, ...(ngDevMode ? [{ debugName: "normalizedLevel$" }] : []));
|
|
111
101
|
/**
|
|
112
102
|
* Whether the List item should be marked as selected.
|
|
113
103
|
* Based on a `snapped` state will determine whether to highlight the link if it, or it's child links are active.
|
|
114
104
|
*/
|
|
115
105
|
this.isActiveAttr$ = computed(() => this.selected$() ||
|
|
116
106
|
this.link$()?.isActive$() ||
|
|
117
|
-
(this.navigation.isSnapped$() && this.listItems$().some((item) => item?.isActiveAttr$())),
|
|
118
|
-
...(ngDevMode ? [{ debugName: "isActiveAttr$" }] : /* istanbul ignore next */ []));
|
|
107
|
+
(this.navigation.isSnapped$() && this.listItems$().some((item) => item?.isActiveAttr$())), ...(ngDevMode ? [{ debugName: "isActiveAttr$" }] : []));
|
|
119
108
|
/**
|
|
120
109
|
* Whether the item is inside group.
|
|
121
110
|
*/
|
|
122
|
-
this.inGroup$ = computed(() => (this.parentListItem ? this.parentListItem.inGroup$() : this.isGroup$()),
|
|
123
|
-
...(ngDevMode ? [{ debugName: "inGroup$" }] : /* istanbul ignore next */ []));
|
|
111
|
+
this.inGroup$ = computed(() => (this.parentListItem ? this.parentListItem.inGroup$() : this.isGroup$()), ...(ngDevMode ? [{ debugName: "inGroup$" }] : []));
|
|
124
112
|
/** @hidden */
|
|
125
|
-
this.expanded$ = signal(false,
|
|
126
|
-
...(ngDevMode ? [{ debugName: "expanded$" }] : /* istanbul ignore next */ []));
|
|
113
|
+
this.expanded$ = signal(false, ...(ngDevMode ? [{ debugName: "expanded$" }] : []));
|
|
127
114
|
/** @hidden */
|
|
128
|
-
this.isGroup$ = signal(false,
|
|
129
|
-
...(ngDevMode ? [{ debugName: "isGroup$" }] : /* istanbul ignore next */ []));
|
|
115
|
+
this.isGroup$ = signal(false, ...(ngDevMode ? [{ debugName: "isGroup$" }] : []));
|
|
130
116
|
/** @hidden */
|
|
131
|
-
this.disabled$ = signal(false,
|
|
132
|
-
...(ngDevMode ? [{ debugName: "disabled$" }] : /* istanbul ignore next */ []));
|
|
117
|
+
this.disabled$ = signal(false, ...(ngDevMode ? [{ debugName: "disabled$" }] : []));
|
|
133
118
|
/** Navigation container reference. */
|
|
134
119
|
this.navigation = inject(FdbNavigation);
|
|
135
120
|
}
|
|
@@ -142,8 +127,7 @@ class NavigationService {
|
|
|
142
127
|
/** Currently active list item. */
|
|
143
128
|
this.currentItem$ = new Subject();
|
|
144
129
|
/** Currently selected item (for click-based selection mode). */
|
|
145
|
-
this.selectedItem$ = signal(null,
|
|
146
|
-
...(ngDevMode ? [{ debugName: "selectedItem$" }] : /* istanbul ignore next */ []));
|
|
130
|
+
this.selectedItem$ = signal(null, ...(ngDevMode ? [{ debugName: "selectedItem$" }] : []));
|
|
147
131
|
/** Subject to notify when an overflow item is selected and should be promoted. */
|
|
148
132
|
this.overflowItemSelected$ = new Subject();
|
|
149
133
|
/** Subject to notify when selection changes to clear manual selections */
|
|
@@ -176,10 +160,10 @@ class NavigationService {
|
|
|
176
160
|
getSelectedItem() {
|
|
177
161
|
return this.selectedItem$();
|
|
178
162
|
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
180
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
164
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationService }); }
|
|
181
165
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationService, decorators: [{
|
|
183
167
|
type: Injectable
|
|
184
168
|
}] });
|
|
185
169
|
|
|
@@ -247,8 +231,7 @@ class NavigationListComponent {
|
|
|
247
231
|
return 'menubar';
|
|
248
232
|
}
|
|
249
233
|
return this.role || 'tree';
|
|
250
|
-
},
|
|
251
|
-
...(ngDevMode ? [{ debugName: "computedRole" }] : /* istanbul ignore next */ []));
|
|
234
|
+
}, ...(ngDevMode ? [{ debugName: "computedRole" }] : []));
|
|
252
235
|
/** Computed aria-label for group lists based on parent item's text content. */
|
|
253
236
|
this.computedAriaLabel = computed(() => {
|
|
254
237
|
try {
|
|
@@ -272,11 +255,9 @@ class NavigationListComponent {
|
|
|
272
255
|
// Fallback to default ariaLabel if DOM is not ready or there's any error
|
|
273
256
|
return this.ariaLabel;
|
|
274
257
|
}
|
|
275
|
-
},
|
|
276
|
-
...(ngDevMode ? [{ debugName: "computedAriaLabel" }] : /* istanbul ignore next */ []));
|
|
258
|
+
}, ...(ngDevMode ? [{ debugName: "computedAriaLabel" }] : []));
|
|
277
259
|
/** List items. */
|
|
278
|
-
this.listItems$ = signal([],
|
|
279
|
-
...(ngDevMode ? [{ debugName: "listItems$" }] : /* istanbul ignore next */ []));
|
|
260
|
+
this.listItems$ = signal([], ...(ngDevMode ? [{ debugName: "listItems$" }] : []));
|
|
280
261
|
/** @hidden */
|
|
281
262
|
this._listItemsArray = [];
|
|
282
263
|
/** @hidden */
|
|
@@ -314,8 +295,7 @@ class NavigationListComponent {
|
|
|
314
295
|
setTimeout(() => {
|
|
315
296
|
this._updateAriaLabel();
|
|
316
297
|
}, 0);
|
|
317
|
-
},
|
|
318
|
-
...(ngDevMode ? [{ debugName: "_ariaLabelEffect" }] : /* istanbul ignore next */ []));
|
|
298
|
+
}, ...(ngDevMode ? [{ debugName: "_ariaLabelEffect" }] : []));
|
|
319
299
|
this._listItem?.registerChildList(this);
|
|
320
300
|
}
|
|
321
301
|
/**
|
|
@@ -414,10 +394,10 @@ class NavigationListComponent {
|
|
|
414
394
|
.withVerticalOrientation()
|
|
415
395
|
.skipPredicate((item) => item.skipNavigation);
|
|
416
396
|
}
|
|
417
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
418
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
397
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
398
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: NavigationListComponent, isStandalone: true, selector: "ul[fdb-navigation-list]", inputs: { _listItems: ["listItems", "_listItems"], role: "role", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription", parentItems: ["parentItems", "parentItems", booleanAttribute], childItems: ["childItems", "childItems", booleanAttribute], noGrow: ["noGrow", "noGrow", booleanAttribute], withKeyboardNavigation: ["withKeyboardNavigation", "withKeyboardNavigation", booleanAttribute], moreButtonRef: "moreButtonRef" }, outputs: { focusBefore: "focusBefore", focusAfter: "focusAfter" }, host: { attributes: { "tabindex": "-1" }, listeners: { "keydown": "_keydownHandler($event)" }, properties: { "attr.role": "this._role", "attr.aria-roledescription": "this.ariaRoleDescription", "class.fd-navigation__list--parent-items": "this.parentItems", "class.fd-navigation__list--child-items": "this.childItems", "class.fd-navigation__list--no-grow": "this.noGrow" }, classAttribute: "fd-navigation__list" }, usesOnChanges: true, ngImport: i0, template: "@for (item of listItems$(); track item) {\n @if (item) {\n <li [class]=\"item.class$()\" role=\"none\">\n <ng-template [ngTemplateOutlet]=\"item.renderer$()\"></ng-template>\n </li>\n <!-- Add separator after home list item. -->\n @if (item.home) {\n <li class=\"fd-navigation__list-item fd-navigation__list-item--separator\" role=\"separator\"></li>\n }\n }\n}\n<!-- Keep this for \"More\" button -->\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
419
399
|
}
|
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
400
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListComponent, decorators: [{
|
|
421
401
|
type: Component,
|
|
422
402
|
args: [{ selector: 'ul[fdb-navigation-list]', imports: [NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
423
403
|
class: 'fd-navigation__list',
|
|
@@ -486,8 +466,7 @@ class NavigationContentEndComponent extends FdbNavigationContentContainer {
|
|
|
486
466
|
*/
|
|
487
467
|
this.ariaRoleDescription = null;
|
|
488
468
|
/** @hidden */
|
|
489
|
-
this.listItems$ = signal([],
|
|
490
|
-
...(ngDevMode ? [{ debugName: "listItems$" }] : /* istanbul ignore next */ []));
|
|
469
|
+
this.listItems$ = signal([], ...(ngDevMode ? [{ debugName: "listItems$" }] : []));
|
|
491
470
|
/** Whether the container is placed on the start position, or the end position of the navigation. */
|
|
492
471
|
this.placement = 'end';
|
|
493
472
|
}
|
|
@@ -500,8 +479,8 @@ class NavigationContentEndComponent extends FdbNavigationContentContainer {
|
|
|
500
479
|
this.listItems$.set(this._listItems.toArray());
|
|
501
480
|
});
|
|
502
481
|
}
|
|
503
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
482
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationContentEndComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
483
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: NavigationContentEndComponent, isStandalone: true, selector: "fdb-navigation-content-end", inputs: { contentProjected: "contentProjected", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription" }, host: { classAttribute: "fd-navigation__container fd-navigation__container--bottom" }, providers: [
|
|
505
484
|
{
|
|
506
485
|
provide: FdbNavigationContentContainer,
|
|
507
486
|
useExisting: NavigationContentEndComponent
|
|
@@ -513,7 +492,7 @@ class NavigationContentEndComponent extends FdbNavigationContentContainer {
|
|
|
513
492
|
[ariaRoleDescription]="ariaRoleDescription"
|
|
514
493
|
></ul>`, isInline: true, dependencies: [{ kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
515
494
|
}
|
|
516
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationContentEndComponent, decorators: [{
|
|
517
496
|
type: Component,
|
|
518
497
|
args: [{
|
|
519
498
|
selector: 'fdb-navigation-content-end',
|
|
@@ -564,8 +543,7 @@ class NavigationListItemDirective {
|
|
|
564
543
|
* Set of child directives.
|
|
565
544
|
* Used to build hierarchy tree.
|
|
566
545
|
*/
|
|
567
|
-
this.childDirectives = signal(new Set(),
|
|
568
|
-
...(ngDevMode ? [{ debugName: "childDirectives" }] : /* istanbul ignore next */ []));
|
|
546
|
+
this.childDirectives = signal(new Set(), ...(ngDevMode ? [{ debugName: "childDirectives" }] : []));
|
|
569
547
|
/** @hidden */
|
|
570
548
|
this._contentContainer = inject(FdbNavigationContentContainer, {
|
|
571
549
|
optional: true
|
|
@@ -599,15 +577,15 @@ class NavigationListItemDirective {
|
|
|
599
577
|
this._item = null;
|
|
600
578
|
this.childDirectives().clear();
|
|
601
579
|
}
|
|
602
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
603
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
580
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
581
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NavigationListItemDirective, isStandalone: true, selector: "[fdbNavigationListItem]", providers: [
|
|
604
582
|
{
|
|
605
583
|
provide: FdbNavigationListItem,
|
|
606
584
|
useExisting: NavigationListItemDirective
|
|
607
585
|
}
|
|
608
586
|
], exportAs: ["fdbListItem"], ngImport: i0 }); }
|
|
609
587
|
}
|
|
610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemDirective, decorators: [{
|
|
611
589
|
type: Directive,
|
|
612
590
|
args: [{
|
|
613
591
|
selector: '[fdbNavigationListItem]',
|
|
@@ -630,10 +608,10 @@ class NavigationListItemRefDirective {
|
|
|
630
608
|
static ngTemplateContextGuard(dir, ctx) {
|
|
631
609
|
return true;
|
|
632
610
|
}
|
|
633
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
634
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
611
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
612
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NavigationListItemRefDirective, isStandalone: true, selector: "[fdbNavigationListItemRef]", inputs: { fdbNavigationListItemRefAs: "fdbNavigationListItemRefAs" }, ngImport: i0 }); }
|
|
635
613
|
}
|
|
636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
614
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemRefDirective, decorators: [{
|
|
637
615
|
type: Directive,
|
|
638
616
|
args: [{
|
|
639
617
|
selector: '[fdbNavigationListItemRef]',
|
|
@@ -651,10 +629,10 @@ class NavigationLinkRefDirective {
|
|
|
651
629
|
/** Link template ref. */
|
|
652
630
|
this.templateRef = inject(TemplateRef);
|
|
653
631
|
}
|
|
654
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
655
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
632
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationLinkRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
633
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NavigationLinkRefDirective, isStandalone: true, selector: "[fdbNavigationLinkRef]", ngImport: i0 }); }
|
|
656
634
|
}
|
|
657
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
635
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationLinkRefDirective, decorators: [{
|
|
658
636
|
type: Directive,
|
|
659
637
|
args: [{
|
|
660
638
|
selector: '[fdbNavigationLinkRef]',
|
|
@@ -716,8 +694,7 @@ class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
716
694
|
this._updateTabIndex();
|
|
717
695
|
}, 0);
|
|
718
696
|
}
|
|
719
|
-
},
|
|
720
|
-
...(ngDevMode ? [{ debugName: "_tabIndexEffect" }] : /* istanbul ignore next */ []));
|
|
697
|
+
}, ...(ngDevMode ? [{ debugName: "_tabIndexEffect" }] : []));
|
|
721
698
|
this._listItemComponent?.registerLink(this);
|
|
722
699
|
this.isActive$ = toSignal(this._routerLinkActive?.isActiveChange.pipe(startWith(this._routerLinkActive.isActive)) || of(false));
|
|
723
700
|
}
|
|
@@ -864,15 +841,15 @@ class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
864
841
|
// All other items (leaf items and items with both links and children) can be selected
|
|
865
842
|
return true;
|
|
866
843
|
}
|
|
867
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
868
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
844
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
845
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: NavigationLinkComponent, isStandalone: true, selector: "a[fdb-navigation-link], button[fdb-navigation-link]", inputs: { class: "class", glyph: "glyph", glyphFont: "glyphFont", external: "external", quickCreate: ["quickCreate", "quickCreate", booleanAttribute] }, host: { listeners: { "click": "_clickHandler($event)", "keydown": "_keyDownHandler($event)" }, properties: { "attr.role": "quickCreate ? \"button\" : \"link\"" }, classAttribute: "fd-navigation__link" }, providers: [
|
|
869
846
|
{
|
|
870
847
|
provide: FdbNavigationItemLink,
|
|
871
848
|
useExisting: NavigationLinkComponent
|
|
872
849
|
}
|
|
873
850
|
], usesInheritance: true, hostDirectives: [{ directive: i1.RouterLinkActive }], ngImport: i0, template: "@if (glyph) {\n <fd-icon\n [glyph]=\"glyph\"\n [font]=\"glyphFont\"\n class=\"fd-navigation__icon\"\n [attr.role]=\"'presentation'\"\n [ariaHidden]=\"true\"\n ></fd-icon>\n}\n<span class=\"fd-navigation__text\">\n <ng-content></ng-content>\n</span>\n@if (external) {\n <span\n class=\"fd-navigation__external-link-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"external link indicator\"\n ></span>\n}\n<span\n class=\"fd-navigation__selection-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"selection indicator\"\n>\n</span>\n@if (_listItemComponent?.hasChildren$() && !inPopover && !routerLink) {\n <span\n class=\"fd-navigation__has-children-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"has children indicator, expanded\"\n >\n </span>\n}\n", dependencies: [{ kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
874
851
|
}
|
|
875
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationLinkComponent, decorators: [{
|
|
876
853
|
type: Component,
|
|
877
854
|
args: [{ selector: 'a[fdb-navigation-link], button[fdb-navigation-link]', imports: [IconComponent], hostDirectives: [RouterLinkActive], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
878
855
|
{
|
|
@@ -910,10 +887,10 @@ class NavigationListItemMarkerDirective {
|
|
|
910
887
|
this.elementRef = inject(ElementRef);
|
|
911
888
|
inject(NavigationListItemComponent).marker = this;
|
|
912
889
|
}
|
|
913
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
914
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
890
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
891
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NavigationListItemMarkerDirective, isStandalone: true, selector: "[fdbNavigationListItemMarker]", ngImport: i0 }); }
|
|
915
892
|
}
|
|
916
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
893
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemMarkerDirective, decorators: [{
|
|
917
894
|
type: Directive,
|
|
918
895
|
args: [{
|
|
919
896
|
selector: '[fdbNavigationListItemMarker]',
|
|
@@ -1008,8 +985,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1008
985
|
constructor() {
|
|
1009
986
|
super();
|
|
1010
987
|
/** ID for the navigation list item. Default one is assigned if not provided. */
|
|
1011
|
-
this.id = input(`fdb-nav-list-item-${++navListItemUniqueId}`,
|
|
1012
|
-
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
988
|
+
this.id = input(`fdb-nav-list-item-${++navListItemUniqueId}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
1013
989
|
/** Type of the list item. Whether its a standard item or a "show more" button container. */
|
|
1014
990
|
this.type = 'item';
|
|
1015
991
|
/** List item placement container. */
|
|
@@ -1031,14 +1007,11 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1031
1007
|
return this.normalizedLevel$() < 3;
|
|
1032
1008
|
}
|
|
1033
1009
|
return this.parentListItem.isVisible$() && this.parentListItem.expanded$();
|
|
1034
|
-
},
|
|
1035
|
-
...(ngDevMode ? [{ debugName: "isVisible$" }] : /* istanbul ignore next */ []));
|
|
1010
|
+
}, ...(ngDevMode ? [{ debugName: "isVisible$" }] : []));
|
|
1036
1011
|
/** Whether the item is disabled. Cached to avoid repeated signal calls. */
|
|
1037
|
-
this._isDisabledCached$ = computed(() => this.disabled$(),
|
|
1038
|
-
...(ngDevMode ? [{ debugName: "_isDisabledCached$" }] : /* istanbul ignore next */ []));
|
|
1012
|
+
this._isDisabledCached$ = computed(() => this.disabled$(), ...(ngDevMode ? [{ debugName: "_isDisabledCached$" }] : []));
|
|
1039
1013
|
/** aria-expanded attribute value. */
|
|
1040
|
-
this.expandedAttr$ = computed(() => this.navigation.isSnapped$() ? this.popoverOpen$() && !this.isOverflow$() : this.expanded$(),
|
|
1041
|
-
...(ngDevMode ? [{ debugName: "expandedAttr$" }] : /* istanbul ignore next */ []));
|
|
1014
|
+
this.expandedAttr$ = computed(() => this.navigation.isSnapped$() ? this.popoverOpen$() && !this.isOverflow$() : this.expanded$(), ...(ngDevMode ? [{ debugName: "expandedAttr$" }] : []));
|
|
1042
1015
|
/** Role attribute value based on navigation state. */
|
|
1043
1016
|
this.roleAttr$ = computed(() => {
|
|
1044
1017
|
if (this.navigation.isSnapped$()) {
|
|
@@ -1053,43 +1026,37 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1053
1026
|
return 'menuitemradio';
|
|
1054
1027
|
}
|
|
1055
1028
|
return 'treeitem';
|
|
1056
|
-
},
|
|
1057
|
-
...(ngDevMode ? [{ debugName: "roleAttr$" }] : /* istanbul ignore next */ []));
|
|
1029
|
+
}, ...(ngDevMode ? [{ debugName: "roleAttr$" }] : []));
|
|
1058
1030
|
/** aria-checked attribute value for menuitemradio role. */
|
|
1059
1031
|
this.ariaCheckedAttr$ = computed(() => {
|
|
1060
1032
|
if (this.navigation.isSnapped$() && this.roleAttr$() === 'menuitemradio') {
|
|
1061
1033
|
return this.isActiveAttr$();
|
|
1062
1034
|
}
|
|
1063
1035
|
return undefined;
|
|
1064
|
-
},
|
|
1065
|
-
...(ngDevMode ? [{ debugName: "ariaCheckedAttr$" }] : /* istanbul ignore next */ []));
|
|
1036
|
+
}, ...(ngDevMode ? [{ debugName: "ariaCheckedAttr$" }] : []));
|
|
1066
1037
|
/** aria-selected attribute value - kept in both expanded and snapped modes. */
|
|
1067
|
-
this.ariaSelectedAttr$ = computed(() => this.isActiveAttr$(),
|
|
1068
|
-
...(ngDevMode ? [{ debugName: "ariaSelectedAttr$" }] : /* istanbul ignore next */ []));
|
|
1038
|
+
this.ariaSelectedAttr$ = computed(() => this.isActiveAttr$(), ...(ngDevMode ? [{ debugName: "ariaSelectedAttr$" }] : []));
|
|
1069
1039
|
/** aria-level attribute value - only for treeitem role. */
|
|
1070
1040
|
this.ariaLevelAttr$ = computed(() => {
|
|
1071
1041
|
if (!this.navigation.isSnapped$()) {
|
|
1072
1042
|
return this.level$();
|
|
1073
1043
|
}
|
|
1074
1044
|
return undefined;
|
|
1075
|
-
},
|
|
1076
|
-
...(ngDevMode ? [{ debugName: "ariaLevelAttr$" }] : /* istanbul ignore next */ []));
|
|
1045
|
+
}, ...(ngDevMode ? [{ debugName: "ariaLevelAttr$" }] : []));
|
|
1077
1046
|
/** aria-owns attribute value for items with children. */
|
|
1078
1047
|
this.ariaOwnsAttr$ = computed(() => {
|
|
1079
1048
|
if (this.hasChildren$()) {
|
|
1080
1049
|
return `${this.id()}-list`;
|
|
1081
1050
|
}
|
|
1082
1051
|
return undefined;
|
|
1083
|
-
},
|
|
1084
|
-
...(ngDevMode ? [{ debugName: "ariaOwnsAttr$" }] : /* istanbul ignore next */ []));
|
|
1052
|
+
}, ...(ngDevMode ? [{ debugName: "ariaOwnsAttr$" }] : []));
|
|
1085
1053
|
/** ID attribute for child lists. */
|
|
1086
1054
|
this.childListIdAttr$ = computed(() => {
|
|
1087
1055
|
if (this.hasChildren$()) {
|
|
1088
1056
|
return `${this.id()}-list`;
|
|
1089
1057
|
}
|
|
1090
1058
|
return undefined;
|
|
1091
|
-
},
|
|
1092
|
-
...(ngDevMode ? [{ debugName: "childListIdAttr$" }] : /* istanbul ignore next */ []));
|
|
1059
|
+
}, ...(ngDevMode ? [{ debugName: "childListIdAttr$" }] : []));
|
|
1093
1060
|
/** aria-label attribute value for snapped mode menuitemradio. */
|
|
1094
1061
|
this.ariaLabelAttr$ = computed(() => {
|
|
1095
1062
|
if (this.navigation.isSnapped$() && this.roleAttr$() === 'menuitemradio') {
|
|
@@ -1103,11 +1070,9 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1103
1070
|
}
|
|
1104
1071
|
}
|
|
1105
1072
|
return undefined;
|
|
1106
|
-
},
|
|
1107
|
-
...(ngDevMode ? [{ debugName: "ariaLabelAttr$" }] : /* istanbul ignore next */ []));
|
|
1073
|
+
}, ...(ngDevMode ? [{ debugName: "ariaLabelAttr$" }] : []));
|
|
1108
1074
|
/** Expander aria-label attribute value. */
|
|
1109
|
-
this.expanderAriaLabelAttr$ = computed(() => this._expanderAriaLabel$(),
|
|
1110
|
-
...(ngDevMode ? [{ debugName: "expanderAriaLabelAttr$" }] : /* istanbul ignore next */ []));
|
|
1075
|
+
this.expanderAriaLabelAttr$ = computed(() => this._expanderAriaLabel$(), ...(ngDevMode ? [{ debugName: "expanderAriaLabelAttr$" }] : []));
|
|
1111
1076
|
/** aria-haspopup attribute value for snapped mode items with children. */
|
|
1112
1077
|
this.ariaHasPopupAttr$ = computed(() => {
|
|
1113
1078
|
if (this.navigation.isSnapped$() && this.hasChildren$()) {
|
|
@@ -1119,40 +1084,35 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1119
1084
|
return 'dialog';
|
|
1120
1085
|
}
|
|
1121
1086
|
return undefined;
|
|
1122
|
-
},
|
|
1123
|
-
...(ngDevMode ? [{ debugName: "ariaHasPopupAttr$" }] : /* istanbul ignore next */ []));
|
|
1087
|
+
}, ...(ngDevMode ? [{ debugName: "ariaHasPopupAttr$" }] : []));
|
|
1124
1088
|
/** aria-current attribute value for snapped mode items with children. */
|
|
1125
1089
|
this.ariaCurrentAttr$ = computed(() => {
|
|
1126
1090
|
if (this.navigation.isSnapped$() && this.hasChildren$()) {
|
|
1127
1091
|
return 'page';
|
|
1128
1092
|
}
|
|
1129
1093
|
return undefined;
|
|
1130
|
-
},
|
|
1131
|
-
...(ngDevMode ? [{ debugName: "ariaCurrentAttr$" }] : /* istanbul ignore next */ []));
|
|
1094
|
+
}, ...(ngDevMode ? [{ debugName: "ariaCurrentAttr$" }] : []));
|
|
1132
1095
|
/** Wrapper role attribute for snapped mode popovers. */
|
|
1133
1096
|
this.wrapperRoleAttr$ = computed(() => {
|
|
1134
1097
|
if (this.navigation.isSnapped$() && this.hasChildren$() && !this.isOverflow$()) {
|
|
1135
1098
|
return 'tree';
|
|
1136
1099
|
}
|
|
1137
1100
|
return undefined;
|
|
1138
|
-
},
|
|
1139
|
-
...(ngDevMode ? [{ debugName: "wrapperRoleAttr$" }] : /* istanbul ignore next */ []));
|
|
1101
|
+
}, ...(ngDevMode ? [{ debugName: "wrapperRoleAttr$" }] : []));
|
|
1140
1102
|
/** Wrapper aria-roledescription for snapped mode popovers. */
|
|
1141
1103
|
this.wrapperAriaRoleDescriptionAttr$ = computed(() => {
|
|
1142
1104
|
if (this.navigation.isSnapped$() && this.hasChildren$() && !this.isOverflow$()) {
|
|
1143
1105
|
return this._snappedPopoverRoleDescription$();
|
|
1144
1106
|
}
|
|
1145
1107
|
return undefined;
|
|
1146
|
-
},
|
|
1147
|
-
...(ngDevMode ? [{ debugName: "wrapperAriaRoleDescriptionAttr$" }] : /* istanbul ignore next */ []));
|
|
1108
|
+
}, ...(ngDevMode ? [{ debugName: "wrapperAriaRoleDescriptionAttr$" }] : []));
|
|
1148
1109
|
/** Title item role for snapped mode - should be treeitem in popovers. */
|
|
1149
1110
|
this.titleItemRoleAttr$ = computed(() => {
|
|
1150
1111
|
if (this.navigation.isSnapped$() && !this.isOverflow$()) {
|
|
1151
1112
|
return 'treeitem';
|
|
1152
1113
|
}
|
|
1153
1114
|
return this.roleAttr$();
|
|
1154
|
-
},
|
|
1155
|
-
...(ngDevMode ? [{ debugName: "titleItemRoleAttr$" }] : /* istanbul ignore next */ []));
|
|
1115
|
+
}, ...(ngDevMode ? [{ debugName: "titleItemRoleAttr$" }] : []));
|
|
1156
1116
|
/** Title item aria-selected for snapped mode - should not be selected if children are selected. */
|
|
1157
1117
|
this.titleItemAriaSelectedAttr$ = computed(() => {
|
|
1158
1118
|
if (this.navigation.isSnapped$() && !this.isOverflow$()) {
|
|
@@ -1165,8 +1125,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1165
1125
|
return this.ariaSelectedAttr$();
|
|
1166
1126
|
}
|
|
1167
1127
|
return this.ariaSelectedAttr$();
|
|
1168
|
-
},
|
|
1169
|
-
...(ngDevMode ? [{ debugName: "titleItemAriaSelectedAttr$" }] : /* istanbul ignore next */ []));
|
|
1128
|
+
}, ...(ngDevMode ? [{ debugName: "titleItemAriaSelectedAttr$" }] : []));
|
|
1170
1129
|
this.titleItemFocusable$ = computed(() => {
|
|
1171
1130
|
if (this.navigation.isSnapped$() && !this.isOverflow$()) {
|
|
1172
1131
|
// Check if the parent item has the with-expander class (two-click area)
|
|
@@ -1177,8 +1136,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1177
1136
|
return false; // Default to not focusable for one-click areas
|
|
1178
1137
|
}
|
|
1179
1138
|
return true;
|
|
1180
|
-
},
|
|
1181
|
-
...(ngDevMode ? [{ debugName: "titleItemFocusable$" }] : /* istanbul ignore next */ []));
|
|
1139
|
+
}, ...(ngDevMode ? [{ debugName: "titleItemFocusable$" }] : []));
|
|
1182
1140
|
/** CSS Class signal. */
|
|
1183
1141
|
this.class$ = computed(() => [
|
|
1184
1142
|
LIST_ITEM_CLASS,
|
|
@@ -1188,8 +1146,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1188
1146
|
this._home$() ? `${LIST_ITEM_CLASS}--home` : ''
|
|
1189
1147
|
]
|
|
1190
1148
|
.filter((k) => !!k)
|
|
1191
|
-
.join(' '),
|
|
1192
|
-
...(ngDevMode ? [{ debugName: "class$" }] : /* istanbul ignore next */ []));
|
|
1149
|
+
.join(' '), ...(ngDevMode ? [{ debugName: "class$" }] : []));
|
|
1193
1150
|
/** Combined selected state - considers both manual selection and service selection. */
|
|
1194
1151
|
this.selected$ = computed(() => {
|
|
1195
1152
|
// In router mode, only consider manual selection
|
|
@@ -1204,14 +1161,11 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1204
1161
|
return serviceSelected || manuallySelected;
|
|
1205
1162
|
}
|
|
1206
1163
|
return false;
|
|
1207
|
-
},
|
|
1208
|
-
...(ngDevMode ? [{ debugName: "selected$" }] : /* istanbul ignore next */ []));
|
|
1164
|
+
}, ...(ngDevMode ? [{ debugName: "selected$" }] : []));
|
|
1209
1165
|
/** @hidden */
|
|
1210
|
-
this.quickCreate$ = signal(false,
|
|
1211
|
-
...(ngDevMode ? [{ debugName: "quickCreate$" }] : /* istanbul ignore next */ []));
|
|
1166
|
+
this.quickCreate$ = signal(false, ...(ngDevMode ? [{ debugName: "quickCreate$" }] : []));
|
|
1212
1167
|
/** @hidden */
|
|
1213
|
-
this._moreButtonRef$ = computed(() => this._parentNavigationList?.moreButtonRef || null,
|
|
1214
|
-
...(ngDevMode ? [{ debugName: "_moreButtonRef$" }] : /* istanbul ignore next */ []));
|
|
1168
|
+
this._moreButtonRef$ = computed(() => this._parentNavigationList?.moreButtonRef || null, ...(ngDevMode ? [{ debugName: "_moreButtonRef$" }] : []));
|
|
1215
1169
|
/** Optional parent list component. */
|
|
1216
1170
|
this.parentListItemComponent = inject(FdbNavigationListItemCmp, {
|
|
1217
1171
|
optional: true,
|
|
@@ -1221,26 +1175,19 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1221
1175
|
* @hidden
|
|
1222
1176
|
* Popover position. Changes based on rtl value.
|
|
1223
1177
|
*/
|
|
1224
|
-
this.popoverPlacement = computed(() => (this._isRtl() ? 'left-start' : 'right-start'),
|
|
1225
|
-
...(ngDevMode ? [{ debugName: "popoverPlacement" }] : /* istanbul ignore next */ []));
|
|
1178
|
+
this.popoverPlacement = computed(() => (this._isRtl() ? 'left-start' : 'right-start'), ...(ngDevMode ? [{ debugName: "popoverPlacement" }] : []));
|
|
1226
1179
|
/** @hidden Max-height for the overflow submenu, computed dynamically based on viewport position. */
|
|
1227
|
-
this.overflowSubmenuMaxHeight = signal(null,
|
|
1228
|
-
...(ngDevMode ? [{ debugName: "overflowSubmenuMaxHeight" }] : /* istanbul ignore next */ []));
|
|
1180
|
+
this.overflowSubmenuMaxHeight = signal(null, ...(ngDevMode ? [{ debugName: "overflowSubmenuMaxHeight" }] : []));
|
|
1229
1181
|
/** @hidden */
|
|
1230
|
-
this._home$ = signal(false,
|
|
1231
|
-
...(ngDevMode ? [{ debugName: "_home$" }] : /* istanbul ignore next */ []));
|
|
1182
|
+
this._home$ = signal(false, ...(ngDevMode ? [{ debugName: "_home$" }] : []));
|
|
1232
1183
|
/** Manual selection state signal (for router-based selection mode). */
|
|
1233
|
-
this._manuallySelected$ = signal(false,
|
|
1234
|
-
...(ngDevMode ? [{ debugName: "_manuallySelected$" }] : /* istanbul ignore next */ []));
|
|
1184
|
+
this._manuallySelected$ = signal(false, ...(ngDevMode ? [{ debugName: "_manuallySelected$" }] : []));
|
|
1235
1185
|
/** @hidden */
|
|
1236
|
-
this._class$ = signal(null,
|
|
1237
|
-
...(ngDevMode ? [{ debugName: "_class$" }] : /* istanbul ignore next */ []));
|
|
1186
|
+
this._class$ = signal(null, ...(ngDevMode ? [{ debugName: "_class$" }] : []));
|
|
1238
1187
|
/** @hidden */
|
|
1239
|
-
this._separator$ = signal(false,
|
|
1240
|
-
...(ngDevMode ? [{ debugName: "_separator$" }] : /* istanbul ignore next */ []));
|
|
1188
|
+
this._separator$ = signal(false, ...(ngDevMode ? [{ debugName: "_separator$" }] : []));
|
|
1241
1189
|
/** @hidden */
|
|
1242
|
-
this._spacer$ = signal(false,
|
|
1243
|
-
...(ngDevMode ? [{ debugName: "_spacer$" }] : /* istanbul ignore next */ []));
|
|
1190
|
+
this._spacer$ = signal(false, ...(ngDevMode ? [{ debugName: "_spacer$" }] : []));
|
|
1244
1191
|
/** @hidden */
|
|
1245
1192
|
this._links = [];
|
|
1246
1193
|
/** @hidden */
|
|
@@ -1252,15 +1199,12 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1252
1199
|
/** @hidden */
|
|
1253
1200
|
this._translationResolver = inject(TranslationResolver);
|
|
1254
1201
|
/** Translation signal for snapped popover role description. */
|
|
1255
|
-
this._snappedPopoverRoleDescription$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.snappedPopoverRoleDescription'),
|
|
1256
|
-
...(ngDevMode ? [{ debugName: "_snappedPopoverRoleDescription$" }] : /* istanbul ignore next */ []));
|
|
1202
|
+
this._snappedPopoverRoleDescription$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.snappedPopoverRoleDescription'), ...(ngDevMode ? [{ debugName: "_snappedPopoverRoleDescription$" }] : []));
|
|
1257
1203
|
/** Translation signal for expander aria-label. */
|
|
1258
|
-
this._expanderAriaLabel$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.expanderAriaLabel'),
|
|
1259
|
-
...(ngDevMode ? [{ debugName: "_expanderAriaLabel$" }] : /* istanbul ignore next */ []));
|
|
1204
|
+
this._expanderAriaLabel$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.expanderAriaLabel'), ...(ngDevMode ? [{ debugName: "_expanderAriaLabel$" }] : []));
|
|
1260
1205
|
this._rtlService = inject(RtlService$1, { optional: true });
|
|
1261
1206
|
/** @hidden */
|
|
1262
|
-
this._isRtl = computed(() => this._rtlService?.rtl() ?? false,
|
|
1263
|
-
...(ngDevMode ? [{ debugName: "_isRtl" }] : /* istanbul ignore next */ []));
|
|
1207
|
+
this._isRtl = computed(() => this._rtlService?.rtl() ?? false, ...(ngDevMode ? [{ debugName: "_isRtl" }] : []));
|
|
1264
1208
|
/**
|
|
1265
1209
|
* @hidden
|
|
1266
1210
|
* Directive that used during data-driven rendering.
|
|
@@ -1279,11 +1223,9 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1279
1223
|
/** @hidden */
|
|
1280
1224
|
this._destroyRef = inject(DestroyRef);
|
|
1281
1225
|
/** @hidden */
|
|
1282
|
-
this._itemContainer = viewChild('itemContainer',
|
|
1283
|
-
...(ngDevMode ? [{ debugName: "_itemContainer" }] : /* istanbul ignore next */ []));
|
|
1226
|
+
this._itemContainer = viewChild('itemContainer', ...(ngDevMode ? [{ debugName: "_itemContainer" }] : []));
|
|
1284
1227
|
/** @hidden */
|
|
1285
|
-
this._overflowSubmenuContainer = viewChild('overflowSubmenuContainer',
|
|
1286
|
-
...(ngDevMode ? [{ debugName: "_overflowSubmenuContainer" }] : /* istanbul ignore next */ []));
|
|
1228
|
+
this._overflowSubmenuContainer = viewChild('overflowSubmenuContainer', ...(ngDevMode ? [{ debugName: "_overflowSubmenuContainer" }] : []));
|
|
1287
1229
|
effect(() => {
|
|
1288
1230
|
if (this.popoverOpen$()) {
|
|
1289
1231
|
const listItems = this.listItems$().filter(Boolean);
|
|
@@ -1662,8 +1604,8 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1662
1604
|
this.link?.elementRef.nativeElement.focus();
|
|
1663
1605
|
}
|
|
1664
1606
|
}
|
|
1665
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1666
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1607
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1608
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: NavigationListItemComponent, isStandalone: true, selector: "fdb-navigation-list-item", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, home: { classPropertyName: "home", publicName: "home", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, quickCreate: { classPropertyName: "quickCreate", publicName: "quickCreate", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, spacer: { classPropertyName: "spacer", publicName: "spacer", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
1667
1609
|
NavigationService,
|
|
1668
1610
|
{
|
|
1669
1611
|
provide: FdbNavigationListItem,
|
|
@@ -1675,7 +1617,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
1675
1617
|
}
|
|
1676
1618
|
], queries: [{ propertyName: "link", first: true, predicate: FdbNavigationItemLink, descendants: true }, { propertyName: "linkRef", first: true, predicate: NavigationLinkRefDirective, descendants: true }, { propertyName: "listItems", predicate: FdbNavigationListItem }], viewQueries: [{ propertyName: "_itemContainer", first: true, predicate: ["itemContainer"], descendants: true, isSignal: true }, { propertyName: "_overflowSubmenuContainer", first: true, predicate: ["overflowSubmenuContainer"], descendants: true, isSignal: true }, { propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- General renderer. -->\n<ng-template #renderer>\n @if (!separator) {\n <div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup$()\"\n [class.fd-navigation__item--create]=\"quickCreate$()\"\n [class.fd-navigation__item--child]=\"normalizedLevel$() > 2\"\n [class.fd-navigation__item--overflow]=\"isOverflow$()\"\n [class.fd-navigation__item--with-expander]=\"!!link$()?.routerLink && hasChildren$()\"\n [class.fd-navigation__item--disabled]=\"disabled$()\"\n [attr.id]=\"id()\"\n [attr.role]=\"roleAttr$()\"\n [attr.aria-level]=\"ariaLevelAttr$()\"\n [attr.aria-label]=\"ariaLabelAttr$()\"\n [attr.aria-selected]=\"ariaSelectedAttr$()\"\n [attr.aria-checked]=\"ariaCheckedAttr$()\"\n [attr.aria-expanded]=\"expandedAttr$()\"\n [attr.aria-disabled]=\"disabled$()\"\n [attr.aria-owns]=\"ariaOwnsAttr$()\"\n [attr.aria-haspopup]=\"ariaHasPopupAttr$()\"\n [attr.aria-current]=\"ariaCurrentAttr$()\"\n [attr.normalized-level]=\"normalizedLevel$()\"\n (focusin)=\"_focusInHandler()\"\n (click)=\"handleItemClick()\"\n (keydown)=\"handleItemKeydown($event)\"\n (mouseenter)=\"onOverflowItemMouseEnter()\"\n fdbNavigationListItemMarker\n #itemContainer\n >\n @if (!navigation.isSnapped$() || !hasChildren$()) {\n <ng-template\n [ngTemplateOutlet]=\"linkRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"snappedNavigationItemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: itemContainer }\"\n ></ng-template>\n }\n </div>\n @if (isOverflow$() && hasChildren$()) {\n <ng-template [ngTemplateOutlet]=\"overflowItemListRenderer\"></ng-template>\n }\n @if (!navigation.isSnapped$()) {\n <ng-template [ngTemplateOutlet]=\"listRenderer\"></ng-template>\n }\n }\n</ng-template>\n<!-- Snapped navigation list item renderer. Implicit context points to the popover trigger element. -->\n<ng-template #snappedNavigationItemRenderer let-itemContainer>\n <ng-template [ngTemplateOutlet]=\"linkRenderer\" [ngTemplateOutletContext]=\"{ $implicit: false }\"></ng-template>\n @if (!isOverflow$()) {\n <fd-popover\n #popover\n [noArrow]=\"true\"\n additionalBodyClass=\"fd-navigation__list-container\"\n [isOpen]=\"popoverOpen$()\"\n (isOpenChange)=\"_onPopoverOpen($event, popover)\"\n [trigger]=\"itemContainer\"\n [focusAutoCapture]=\"true\"\n [restoreFocusOnClose]=\"false\"\n [focusTrapped]=\"true\"\n [placement]=\"popoverPlacement()\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-body [ngClass]=\"navigation.classList$()\">\n <ng-template\n [ngTemplateOutlet]=\"wrapperRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n ></ng-template>\n </fd-popover-body>\n </fd-popover>\n }\n</ng-template>\n<!-- Generic link renderer. -->\n<ng-template #linkRenderer let-showToggleButton>\n <ng-template [ngTemplateOutlet]=\"linkRef?.templateRef || null\"></ng-template>\n @if (!!link$()?.routerLink && hasChildren$()) {\n <span\n class=\"fd-navigation__has-children-indicator\"\n role=\"button\"\n [attr.aria-label]=\"expanderAriaLabelAttr$()\"\n (click)=\"toggleExpanded()\"\n ></span>\n }\n</ng-template>\n<!-- Generic list renderer. Used when navigation is not snapped. -->\n<ng-template #listRenderer>\n @if (isGroup$() && normalizedLevel$() === 1) {\n <ul\n fdb-navigation-list\n [listItems]=\"listItems$()\"\n parentItems\n [moreButtonRef]=\"_moreButtonRef$()\"\n [attr.id]=\"id() + '-list'\"\n ></ul>\n } @else if (hasChildren$()) {\n <div class=\"fd-navigation__list-container\">\n <ng-template\n [ngTemplateOutlet]=\"wrapperRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n ></ng-template>\n </div>\n }\n</ng-template>\n<!-- Template used for rendering sublist of items for the list item that is currently in overflow menu. -->\n<ng-template #overflowItemListRenderer>\n <div\n #overflowSubmenuContainer\n class=\"fd-navigation__list-container fd-navigation__list-container--submenu fd-menu__sublist\"\n [style.max-height]=\"overflowSubmenuMaxHeight()\"\n >\n <ng-template [ngTemplateOutlet]=\"wrapperRenderer\" [ngTemplateOutletContext]=\"{ $implicit: true }\"></ng-template>\n </div>\n</ng-template>\n<!-- Generic list renderer. Implicit context defines whether the inner list should handle keyboard navigation by its own. -->\n<ng-template #wrapperRenderer let-keyboardNavigation>\n <div\n class=\"fd-navigation__list-wrapper\"\n [attr.role]=\"wrapperRoleAttr$()\"\n [attr.aria-roledescription]=\"wrapperAriaRoleDescriptionAttr$()\"\n >\n @if (navigation.isSnapped$() && !isOverflow$()) {\n <!-- If opener link itself is active, project aria-checked attribute to link repeater too for snapped mode. -->\n <div\n class=\"fd-navigation__item fd-navigation__item--title fd-navigation__item--child\"\n [attr.role]=\"titleItemRoleAttr$()\"\n [attr.aria-selected]=\"titleItemAriaSelectedAttr$()\"\n [attr.tabindex]=\"titleItemFocusable$() ? 0 : -1\"\n >\n <ng-template\n [ngTemplateOutlet]=\"linkRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n ></ng-template>\n </div>\n }\n <ul\n fdb-navigation-list\n [listItems]=\"listItems$() || []\"\n [childItems]=\"true\"\n [role]=\"isOverflow$() ? 'menu' : 'group'\"\n (keydown)=\"(false)\"\n (focusBefore)=\"_focusBeforeList()\"\n [withKeyboardNavigation]=\"keyboardNavigation\"\n [moreButtonRef]=\"_moreButtonRef$()\"\n [attr.id]=\"childListIdAttr$()\"\n ></ul>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "directive", type: NavigationListItemMarkerDirective, selector: "[fdbNavigationListItemMarker]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1677
1619
|
}
|
|
1678
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListItemComponent, decorators: [{
|
|
1679
1621
|
type: Component,
|
|
1680
1622
|
args: [{ selector: 'fdb-navigation-list-item', imports: [
|
|
1681
1623
|
NgTemplateOutlet,
|
|
@@ -1741,14 +1683,11 @@ class NavigationMoreButtonComponent {
|
|
|
1741
1683
|
/** @hidden */
|
|
1742
1684
|
this.listItems = [];
|
|
1743
1685
|
/** Whether the show more is visible. */
|
|
1744
|
-
this.isVisible$ = signal(true,
|
|
1745
|
-
...(ngDevMode ? [{ debugName: "isVisible$" }] : /* istanbul ignore next */ []));
|
|
1686
|
+
this.isVisible$ = signal(true, ...(ngDevMode ? [{ debugName: "isVisible$" }] : []));
|
|
1746
1687
|
/** Whether popover is open. Applicable for snapped navigation state. */
|
|
1747
|
-
this.popoverOpen$ = signal(false,
|
|
1748
|
-
...(ngDevMode ? [{ debugName: "popoverOpen$" }] : /* istanbul ignore next */ []));
|
|
1688
|
+
this.popoverOpen$ = signal(false, ...(ngDevMode ? [{ debugName: "popoverOpen$" }] : []));
|
|
1749
1689
|
/** ID for the more button. */
|
|
1750
|
-
this.id = signal('fdb-navigation-more-button',
|
|
1751
|
-
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
1690
|
+
this.id = signal('fdb-navigation-more-button', ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
1752
1691
|
/** @hidden */
|
|
1753
1692
|
this.type = 'showMore';
|
|
1754
1693
|
/** @hidden */
|
|
@@ -1756,33 +1695,26 @@ class NavigationMoreButtonComponent {
|
|
|
1756
1695
|
/**
|
|
1757
1696
|
* Whether the item is in overflow menu.
|
|
1758
1697
|
*/
|
|
1759
|
-
this.isOverflow$ = signal(false,
|
|
1760
|
-
...(ngDevMode ? [{ debugName: "isOverflow$" }] : /* istanbul ignore next */ []));
|
|
1698
|
+
this.isOverflow$ = signal(false, ...(ngDevMode ? [{ debugName: "isOverflow$" }] : []));
|
|
1761
1699
|
/** Whether item has child items. */
|
|
1762
|
-
this.hasChildren$ = signal(false,
|
|
1763
|
-
...(ngDevMode ? [{ debugName: "hasChildren$" }] : /* istanbul ignore next */ []));
|
|
1700
|
+
this.hasChildren$ = signal(false, ...(ngDevMode ? [{ debugName: "hasChildren$" }] : []));
|
|
1764
1701
|
/** @hidden */
|
|
1765
1702
|
this._navigation = inject(FdbNavigation);
|
|
1766
1703
|
/**
|
|
1767
1704
|
* Link reference.
|
|
1768
1705
|
*/
|
|
1769
|
-
this.link$ = signal(null,
|
|
1770
|
-
...(ngDevMode ? [{ debugName: "link$" }] : /* istanbul ignore next */ []));
|
|
1706
|
+
this.link$ = signal(null, ...(ngDevMode ? [{ debugName: "link$" }] : []));
|
|
1771
1707
|
/** More button aria-label attribute value. */
|
|
1772
|
-
this.moreButtonAriaLabelAttr$ = computed(() => this._moreButtonAriaLabel$(),
|
|
1773
|
-
...(ngDevMode ? [{ debugName: "moreButtonAriaLabelAttr$" }] : /* istanbul ignore next */ []));
|
|
1708
|
+
this.moreButtonAriaLabelAttr$ = computed(() => this._moreButtonAriaLabel$(), ...(ngDevMode ? [{ debugName: "moreButtonAriaLabelAttr$" }] : []));
|
|
1774
1709
|
/** Overflow menu aria-label attribute value. */
|
|
1775
|
-
this.overflowMenuAriaLabelAttr$ = computed(() => this._overflowMenuAriaLabel$() || '',
|
|
1776
|
-
...(ngDevMode ? [{ debugName: "overflowMenuAriaLabelAttr$" }] : /* istanbul ignore next */ []));
|
|
1710
|
+
this.overflowMenuAriaLabelAttr$ = computed(() => this._overflowMenuAriaLabel$() || '', ...(ngDevMode ? [{ debugName: "overflowMenuAriaLabelAttr$" }] : []));
|
|
1777
1711
|
/**
|
|
1778
1712
|
* @hidden
|
|
1779
1713
|
* Popover position. Changes based on rtl value.
|
|
1780
1714
|
*/
|
|
1781
|
-
this.popoverPlacement = computed(() => (this._isRtl() ? 'left-start' : 'right-start'),
|
|
1782
|
-
...(ngDevMode ? [{ debugName: "popoverPlacement" }] : /* istanbul ignore next */ []));
|
|
1715
|
+
this.popoverPlacement = computed(() => (this._isRtl() ? 'left-start' : 'right-start'), ...(ngDevMode ? [{ debugName: "popoverPlacement" }] : []));
|
|
1783
1716
|
/** @hidden */
|
|
1784
|
-
this._triggerElement = viewChild('trigger',
|
|
1785
|
-
...(ngDevMode ? [{ debugName: "_triggerElement" }] : /* istanbul ignore next */ []));
|
|
1717
|
+
this._triggerElement = viewChild('trigger', ...(ngDevMode ? [{ debugName: "_triggerElement" }] : []));
|
|
1786
1718
|
/** @hidden */
|
|
1787
1719
|
this._popoverClicked = false;
|
|
1788
1720
|
/** @hidden */
|
|
@@ -1790,18 +1722,15 @@ class NavigationMoreButtonComponent {
|
|
|
1790
1722
|
/** @hidden */
|
|
1791
1723
|
this._rtlService = inject(RtlService, { optional: true });
|
|
1792
1724
|
/** @hidden */
|
|
1793
|
-
this._isRtl = computed(() => this._rtlService?.rtl() ?? false,
|
|
1794
|
-
...(ngDevMode ? [{ debugName: "_isRtl" }] : /* istanbul ignore next */ []));
|
|
1725
|
+
this._isRtl = computed(() => this._rtlService?.rtl() ?? false, ...(ngDevMode ? [{ debugName: "_isRtl" }] : []));
|
|
1795
1726
|
/** @hidden */
|
|
1796
1727
|
this._langSignal = inject(FD_LANGUAGE_SIGNAL);
|
|
1797
1728
|
/** @hidden */
|
|
1798
1729
|
this._translationResolver = inject(TranslationResolver);
|
|
1799
1730
|
/** Translation signal for more button aria-label. */
|
|
1800
|
-
this._moreButtonAriaLabel$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.moreButtonAriaLabel'),
|
|
1801
|
-
...(ngDevMode ? [{ debugName: "_moreButtonAriaLabel$" }] : /* istanbul ignore next */ []));
|
|
1731
|
+
this._moreButtonAriaLabel$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.moreButtonAriaLabel'), ...(ngDevMode ? [{ debugName: "_moreButtonAriaLabel$" }] : []));
|
|
1802
1732
|
/** Translation signal for overflow menu aria-label. */
|
|
1803
|
-
this._overflowMenuAriaLabel$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.overflowMenuAriaLabel'),
|
|
1804
|
-
...(ngDevMode ? [{ debugName: "_overflowMenuAriaLabel$" }] : /* istanbul ignore next */ []));
|
|
1733
|
+
this._overflowMenuAriaLabel$ = computed(() => this._translationResolver.resolve(this._langSignal(), 'btpNavigation.overflowMenuAriaLabel'), ...(ngDevMode ? [{ debugName: "_overflowMenuAriaLabel$" }] : []));
|
|
1805
1734
|
this._navigation.closeAllPopups.pipe(takeUntilDestroyed(inject(DestroyRef))).subscribe(() => {
|
|
1806
1735
|
this.popoverOpen$.set(false);
|
|
1807
1736
|
});
|
|
@@ -1909,15 +1838,15 @@ class NavigationMoreButtonComponent {
|
|
|
1909
1838
|
canItemBeSelected() {
|
|
1910
1839
|
return false; // More button cannot be selected
|
|
1911
1840
|
}
|
|
1912
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1913
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
1841
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1842
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: NavigationMoreButtonComponent, isStandalone: true, selector: "li[fdb-navigation-more-button]", inputs: { listItems: "listItems" }, host: { classAttribute: "fd-navigation__list-item" }, providers: [
|
|
1914
1843
|
{
|
|
1915
1844
|
provide: FdbNavigationListItem,
|
|
1916
1845
|
useExisting: NavigationMoreButtonComponent
|
|
1917
1846
|
}
|
|
1918
1847
|
], viewQueries: [{ propertyName: "_triggerElement", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "_link", first: true, predicate: FdbNavigationItemLink, descendants: true }, { propertyName: "_popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "_navigationList", first: true, predicate: NavigationListComponent, descendants: true }], ngImport: i0, template: "<div\n role=\"menuitem\"\n class=\"fd-navigation__item\"\n [attr.aria-expanded]=\"popoverOpen$()\"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-label]=\"moreButtonAriaLabelAttr$()\"\n aria-level=\"1\"\n (click)=\"togglePopover(true)\"\n (keydown)=\"_keydownPopoverToggle($event)\"\n #trigger\n>\n <a fdb-navigation-link glyph=\"overflow\">More Items</a>\n <fd-popover\n #popover\n [triggers]=\"[]\"\n [isOpen]=\"popoverOpen$()\"\n (isOpenChange)=\"_onPopoverOpenChange($event)\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-navigation__list-container fd-navigation__list-container--menu\"\n [placement]=\"popoverPlacement()\"\n >\n <fd-popover-body [ngClass]=\"_navigation.classList$()\" role=\"menu\">\n <ul\n fdb-navigation-list\n withKeyboardNavigation\n [parentItems]=\"true\"\n [ariaLabel]=\"overflowMenuAriaLabelAttr$()\"\n class=\"fd-menu__list\"\n [listItems]=\"listItems\"\n [moreButtonRef]=\"this\"\n ></ul>\n </fd-popover-body>\n </fd-popover>\n</div>\n", dependencies: [{ kind: "component", type: NavigationLinkComponent, selector: "a[fdb-navigation-link], button[fdb-navigation-link]", inputs: ["class", "glyph", "glyphFont", "external", "quickCreate"] }, { kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1919
1848
|
}
|
|
1920
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationMoreButtonComponent, decorators: [{
|
|
1921
1850
|
type: Component,
|
|
1922
1851
|
args: [{ selector: 'li[fdb-navigation-more-button]', imports: [NavigationLinkComponent, NavigationListComponent, PopoverComponent, PopoverBodyComponent, NgClass], providers: [
|
|
1923
1852
|
{
|
|
@@ -1967,17 +1896,13 @@ class NavigationContentStartComponent extends FdbNavigationContentContainer {
|
|
|
1967
1896
|
const level = item.level$();
|
|
1968
1897
|
return isSnapped ? normalizedLevel === 2 : level === 1;
|
|
1969
1898
|
});
|
|
1970
|
-
},
|
|
1971
|
-
...(ngDevMode ? [{ debugName: "listItems$" }] : /* istanbul ignore next */ []));
|
|
1899
|
+
}, ...(ngDevMode ? [{ debugName: "listItems$" }] : []));
|
|
1972
1900
|
/** @hidden */
|
|
1973
|
-
this._showMoreButton$ = signal(false,
|
|
1974
|
-
...(ngDevMode ? [{ debugName: "_showMoreButton$" }] : /* istanbul ignore next */ []));
|
|
1901
|
+
this._showMoreButton$ = signal(false, ...(ngDevMode ? [{ debugName: "_showMoreButton$" }] : []));
|
|
1975
1902
|
/** @hidden */
|
|
1976
|
-
this.visibleItems$ = signal(this.listItems$(),
|
|
1977
|
-
...(ngDevMode ? [{ debugName: "visibleItems$" }] : /* istanbul ignore next */ []));
|
|
1903
|
+
this.visibleItems$ = signal(this.listItems$(), ...(ngDevMode ? [{ debugName: "visibleItems$" }] : []));
|
|
1978
1904
|
/** @hidden */
|
|
1979
|
-
this.hiddenItems$ = signal([],
|
|
1980
|
-
...(ngDevMode ? [{ debugName: "hiddenItems$" }] : /* istanbul ignore next */ []));
|
|
1905
|
+
this.hiddenItems$ = signal([], ...(ngDevMode ? [{ debugName: "hiddenItems$" }] : []));
|
|
1981
1906
|
/** @hidden */
|
|
1982
1907
|
this._calculationInProgress = false;
|
|
1983
1908
|
/** @hidden */
|
|
@@ -2125,15 +2050,15 @@ class NavigationContentStartComponent extends FdbNavigationContentContainer {
|
|
|
2125
2050
|
}
|
|
2126
2051
|
}, 50);
|
|
2127
2052
|
}
|
|
2128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2053
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationContentStartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2054
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: NavigationContentStartComponent, isStandalone: true, selector: "fdb-navigation-content-start", inputs: { contentProjected: "contentProjected", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription" }, host: { properties: { "style.flex-grow": "1" }, classAttribute: "fd-navigation__container fd-navigation__container--top" }, providers: [
|
|
2130
2055
|
{
|
|
2131
2056
|
provide: FdbNavigationContentContainer,
|
|
2132
2057
|
useExisting: NavigationContentStartComponent
|
|
2133
2058
|
}
|
|
2134
2059
|
], queries: [{ propertyName: "_listItems", predicate: FdbNavigationListItem, descendants: true }], viewQueries: [{ propertyName: "_moreContainer", first: true, predicate: ["moreContainer"], descendants: true, read: ElementRef }, { propertyName: "_showMoreButton", first: true, predicate: NavigationMoreButtonComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.ScrollbarDirective }], ngImport: i0, template: "<ul\n fdb-navigation-list\n [listItems]=\"visibleItems$()\"\n [ariaLabel]=\"ariaLabel\"\n [ariaRoleDescription]=\"ariaRoleDescription\"\n></ul>\n@if (_showMoreButton$()) {\n <ul noGrow fdb-navigation-list role=\"menubar\" #moreContainer>\n <li fdb-navigation-more-button [listItems]=\"hiddenItems$()\"></li>\n </ul>\n}\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }, { kind: "component", type: NavigationMoreButtonComponent, selector: "li[fdb-navigation-more-button]", inputs: ["listItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2135
2060
|
}
|
|
2136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2061
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationContentStartComponent, decorators: [{
|
|
2137
2062
|
type: Component,
|
|
2138
2063
|
args: [{ selector: 'fdb-navigation-content-start', imports: [PortalModule, NavigationListComponent, NavigationMoreButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
2139
2064
|
class: 'fd-navigation__container fd-navigation__container--top',
|
|
@@ -2207,36 +2132,30 @@ class NavigationComponent extends FdbNavigation {
|
|
|
2207
2132
|
/**
|
|
2208
2133
|
* State signal.
|
|
2209
2134
|
*/
|
|
2210
|
-
this.state$ = signal('expanded',
|
|
2211
|
-
...(ngDevMode ? [{ debugName: "state$" }] : /* istanbul ignore next */ []));
|
|
2135
|
+
this.state$ = signal('expanded', ...(ngDevMode ? [{ debugName: "state$" }] : []));
|
|
2212
2136
|
/**
|
|
2213
2137
|
* Whether the navigation is in snapped mode.
|
|
2214
2138
|
*/
|
|
2215
|
-
this.isSnapped$ = computed(() => this.state$() === 'snapped',
|
|
2216
|
-
...(ngDevMode ? [{ debugName: "isSnapped$" }] : /* istanbul ignore next */ []));
|
|
2139
|
+
this.isSnapped$ = computed(() => this.state$() === 'snapped', ...(ngDevMode ? [{ debugName: "isSnapped$" }] : []));
|
|
2217
2140
|
/**
|
|
2218
2141
|
* Whether to show "More" button. Applicable for `snapped` state only.
|
|
2219
2142
|
*/
|
|
2220
|
-
this.showMoreButton$ = signal(null,
|
|
2221
|
-
...(ngDevMode ? [{ debugName: "showMoreButton$" }] : /* istanbul ignore next */ []));
|
|
2143
|
+
this.showMoreButton$ = signal(null, ...(ngDevMode ? [{ debugName: "showMoreButton$" }] : []));
|
|
2222
2144
|
/**
|
|
2223
2145
|
* Signal for navigation classList.
|
|
2224
2146
|
* Used by popover-based submenus.
|
|
2225
2147
|
*/
|
|
2226
|
-
this.classList$ = signal([],
|
|
2227
|
-
...(ngDevMode ? [{ debugName: "classList$" }] : /* istanbul ignore next */ []));
|
|
2148
|
+
this.classList$ = signal([], ...(ngDevMode ? [{ debugName: "classList$" }] : []));
|
|
2228
2149
|
/** @hidden */
|
|
2229
2150
|
this.elementRef = inject(ElementRef);
|
|
2230
2151
|
/** Navigation service for managing selection state. */
|
|
2231
2152
|
this.service = inject(NavigationService);
|
|
2232
2153
|
/** @hidden */
|
|
2233
|
-
this._navigationItemRenderer = signal(null,
|
|
2234
|
-
...(ngDevMode ? [{ debugName: "_navigationItemRenderer" }] : /* istanbul ignore next */ []));
|
|
2154
|
+
this._navigationItemRenderer = signal(null, ...(ngDevMode ? [{ debugName: "_navigationItemRenderer" }] : []));
|
|
2235
2155
|
/** Stream notifies to close all popups in child list items. */
|
|
2236
2156
|
this.closeAllPopups = new Subject();
|
|
2237
2157
|
/** @hidden */
|
|
2238
|
-
this._viewInitiated$ = signal(false,
|
|
2239
|
-
...(ngDevMode ? [{ debugName: "_viewInitiated$" }] : /* istanbul ignore next */ []));
|
|
2158
|
+
this._viewInitiated$ = signal(false, ...(ngDevMode ? [{ debugName: "_viewInitiated$" }] : []));
|
|
2240
2159
|
// When show more button is shown, reset items list with added "More button".
|
|
2241
2160
|
effect(() => {
|
|
2242
2161
|
if (this._viewInitiated$()) {
|
|
@@ -2399,8 +2318,8 @@ class NavigationComponent extends FdbNavigation {
|
|
|
2399
2318
|
this._navigationItems.reset(items);
|
|
2400
2319
|
}
|
|
2401
2320
|
}
|
|
2402
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2403
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
2321
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2322
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.1.0", type: NavigationComponent, isStandalone: true, selector: "fdb-navigation", inputs: { class: "class", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription", mode: "mode", isOverlay: ["isOverlay", "isOverlay", booleanAttribute], state: "state", type: "type", selectionMode: "selectionMode" }, host: { attributes: { "role": "navigation" }, listeners: { "keydown": "_keyDownHandler($event)" }, properties: { "attr.aria-label": "this.ariaLabel", "attr.aria-roledescription": "this.ariaRoleDescription" } }, providers: [
|
|
2404
2323
|
NavigationService,
|
|
2405
2324
|
{
|
|
2406
2325
|
provide: FdbNavigation,
|
|
@@ -2414,7 +2333,7 @@ __decorate([
|
|
|
2414
2333
|
__metadata("design:paramtypes", []),
|
|
2415
2334
|
__metadata("design:returntype", Array)
|
|
2416
2335
|
], NavigationComponent.prototype, "buildComponentCssClass", null);
|
|
2417
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationComponent, decorators: [{
|
|
2418
2337
|
type: Component,
|
|
2419
2338
|
args: [{ selector: 'fdb-navigation', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
2420
2339
|
NavigationService,
|
|
@@ -2500,15 +2419,15 @@ class NavigationDataSourceParser {
|
|
|
2500
2419
|
}
|
|
2501
2420
|
|
|
2502
2421
|
class NavigationListDataSourceDirective extends DataSourceDirective {
|
|
2503
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2504
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2422
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListDataSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2423
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NavigationListDataSourceDirective, isStandalone: true, selector: "fdb-navigation[dataSource]", providers: [
|
|
2505
2424
|
{
|
|
2506
2425
|
provide: FD_DATA_SOURCE_TRANSFORMER,
|
|
2507
2426
|
useClass: NavigationDataSourceParser
|
|
2508
2427
|
}
|
|
2509
2428
|
], usesInheritance: true, ngImport: i0 }); }
|
|
2510
2429
|
}
|
|
2511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NavigationListDataSourceDirective, decorators: [{
|
|
2512
2431
|
type: Directive,
|
|
2513
2432
|
args: [{
|
|
2514
2433
|
// eslint-disable-next-line @angular-eslint/directive-selector
|