@ui5/webcomponents-fiori 1.23.1 → 1.24.0-rc.1
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/CHANGELOG.md +28 -0
- package/dist/BarcodeScannerDialog.d.ts +12 -1
- package/dist/BarcodeScannerDialog.js +17 -0
- package/dist/BarcodeScannerDialog.js.map +1 -1
- package/dist/SideNavigation.d.ts +41 -32
- package/dist/SideNavigation.js +112 -117
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationGroup.d.ts +55 -0
- package/dist/SideNavigationGroup.js +142 -0
- package/dist/SideNavigationGroup.js.map +1 -0
- package/dist/SideNavigationItem.d.ts +18 -6
- package/dist/SideNavigationItem.js +53 -15
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationItemBase.d.ts +16 -59
- package/dist/SideNavigationItemBase.js +23 -91
- package/dist/SideNavigationItemBase.js.map +1 -1
- package/dist/SideNavigationSelectableItemBase.d.ts +74 -0
- package/dist/SideNavigationSelectableItemBase.js +116 -0
- package/dist/SideNavigationSelectableItemBase.js.map +1 -0
- package/dist/SideNavigationSubItem.d.ts +6 -5
- package/dist/SideNavigationSubItem.js +20 -8
- package/dist/SideNavigationSubItem.js.map +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/FlexibleColumnLayout.css +1 -1
- package/dist/css/themes/MediaGallery.css +1 -1
- package/dist/css/themes/MediaGalleryItem.css +1 -1
- package/dist/css/themes/NotificationListGroupItem.css +1 -1
- package/dist/css/themes/NotificationListItem.css +1 -1
- package/dist/css/themes/NotificationListItemBase.css +1 -1
- package/dist/css/themes/NotificationOverflowActionsPopover.css +1 -1
- package/dist/css/themes/Page.css +1 -1
- package/dist/css/themes/ProductSwitchItem.css +1 -1
- package/dist/css/themes/ShellBar.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -0
- package/dist/css/themes/SideNavigationPopover.css +1 -1
- package/dist/css/themes/Timeline.css +1 -1
- package/dist/css/themes/TimelineItem.css +1 -1
- package/dist/css/themes/UploadCollection.css +1 -1
- package/dist/css/themes/UploadCollectionItem.css +1 -1
- package/dist/css/themes/ViewSettingsDialog.css +1 -1
- package/dist/css/themes/Wizard.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +1566 -153
- package/dist/custom-elements.json +1539 -130
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/SideNavigationGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SideNavigationGroupTemplate.lit.js +9 -0
- package/dist/generated/templates/SideNavigationGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SideNavigationItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SideNavigationItemTemplate.lit.js +22 -0
- package/dist/generated/templates/SideNavigationItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SideNavigationSubItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js +12 -0
- package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SideNavigationTemplate.lit.js +7 -53
- package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +22 -21
- package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
- package/dist/generated/themes/MediaGallery.css.js +1 -1
- package/dist/generated/themes/MediaGallery.css.js.map +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItem.css.js +1 -1
- package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
- package/dist/generated/themes/NotificationOverflowActionsPopover.css.js +1 -1
- package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +1 -1
- package/dist/generated/themes/Page.css.js +1 -1
- package/dist/generated/themes/Page.css.js.map +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
- package/dist/generated/themes/ShellBar.css.js +1 -1
- package/dist/generated/themes/ShellBar.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.d.ts +3 -0
- package/dist/generated/themes/SideNavigationItem.css.js +9 -0
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -0
- package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
- package/dist/generated/themes/Timeline.css.js +1 -1
- package/dist/generated/themes/Timeline.css.js.map +1 -1
- package/dist/generated/themes/TimelineItem.css.js +1 -1
- package/dist/generated/themes/TimelineItem.css.js.map +1 -1
- package/dist/generated/themes/UploadCollection.css.js +1 -1
- package/dist/generated/themes/UploadCollection.css.js.map +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.js +1 -1
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +976 -0
- package/dist/web-types.json +2230 -0
- package/package.json +7 -7
- package/src/SideNavigation.hbs +13 -235
- package/src/SideNavigationGroup.hbs +42 -0
- package/src/SideNavigationItem.hbs +154 -0
- package/src/SideNavigationPopover.hbs +1 -2
- package/src/SideNavigationSubItem.hbs +57 -0
- package/src/i18n/messagebundle.properties +3 -0
- package/src/themes/Bar.css +1 -0
- package/src/themes/SideNavigation.css +7 -286
- package/src/themes/SideNavigationItem.css +320 -0
- package/src/themes/base/Bar-parameters.css +1 -0
- package/src/themes/base/SideNavigation-parameters.css +0 -1
- package/src/themes/sap_fiori_3_hcb/Bar-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcw/Bar-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon/SideNavigation-parameters.css +0 -1
- package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +0 -1
- package/src/themes/sap_horizon_hcb/Bar-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +0 -1
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon_hcw/Bar-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +0 -1
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
package/dist/SideNavigation.js
CHANGED
|
@@ -20,12 +20,11 @@ import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation
|
|
|
20
20
|
import { isPhone, isTablet, isCombi, } from "@ui5/webcomponents-base/dist/Device.js";
|
|
21
21
|
import { isSpace, isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
22
22
|
import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
|
|
23
|
-
import
|
|
24
|
-
import "
|
|
25
|
-
import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
|
|
26
|
-
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
23
|
+
import SideNavigationItemBase from "./SideNavigationItemBase.js";
|
|
24
|
+
import SideNavigationSelectableItemBase from "./SideNavigationSelectableItemBase.js";
|
|
27
25
|
import SideNavigationItem from "./SideNavigationItem.js";
|
|
28
26
|
import SideNavigationSubItem from "./SideNavigationSubItem.js";
|
|
27
|
+
import SideNavigationGroup from "./SideNavigationGroup.js";
|
|
29
28
|
import SideNavigationTemplate from "./generated/templates/SideNavigationTemplate.lit.js";
|
|
30
29
|
import SideNavigationPopoverTemplate from "./generated/templates/SideNavigationPopoverTemplate.lit.js";
|
|
31
30
|
import { SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT, SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC, SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC, SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
|
|
@@ -41,26 +40,30 @@ const PAGE_UP_DOWN_SIZE = 10;
|
|
|
41
40
|
* The `SideNavigation` is used as a standard menu in applications.
|
|
42
41
|
* It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).
|
|
43
42
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
43
|
+
* - The header is meant for displaying user related information - profile data, avatar, etc.
|
|
44
|
+
* - The main navigation section is related to the user’s current work context
|
|
45
|
+
* - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).
|
|
47
46
|
*
|
|
48
47
|
* ### Usage
|
|
49
48
|
*
|
|
50
|
-
* Use the available `ui5-side-navigation-
|
|
49
|
+
* Use the available `ui5-side-navigation-group`, `ui5-side-navigation-item`
|
|
50
|
+
* and `ui5-side-navigation-sub-item` components to build your menu.
|
|
51
51
|
* The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.
|
|
52
52
|
* You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.
|
|
53
53
|
*
|
|
54
54
|
* ### Keyboard Handling
|
|
55
55
|
*
|
|
56
|
-
*
|
|
56
|
+
* ### Fast Navigation
|
|
57
57
|
* This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.
|
|
58
58
|
* In order to use this functionality, you need to import the following module:
|
|
59
59
|
* `import "@ui5/webcomponents-base/dist/features/F6Navigation.js"`
|
|
60
60
|
*
|
|
61
|
+
*
|
|
61
62
|
* ### ES6 Module Import
|
|
62
63
|
*
|
|
63
|
-
* `import "@ui5/webcomponents-fiori/dist/SideNavigation.js"
|
|
64
|
+
* `import "@ui5/webcomponents-fiori/dist/SideNavigation.js"`
|
|
65
|
+
*
|
|
66
|
+
* `import "@ui5/webcomponents-fiori/dist/SideNavigationGroup.js";` (for `ui5-side-navigation-group`)
|
|
64
67
|
*
|
|
65
68
|
* `import "@ui5/webcomponents-fiori/dist/SideNavigationItem.js";` (for `ui5-side-navigation-item`)
|
|
66
69
|
*
|
|
@@ -86,6 +89,14 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
86
89
|
this._handleResizeBound = this.handleResize.bind(this);
|
|
87
90
|
this._isOverflow = false;
|
|
88
91
|
}
|
|
92
|
+
onBeforeRendering() {
|
|
93
|
+
super.onBeforeRendering();
|
|
94
|
+
this._getAllItems(this.items).concat(this._getAllItems(this.fixedItems)).forEach(item => {
|
|
95
|
+
item.sideNavCollapsed = this.collapsed;
|
|
96
|
+
item.inPopover = this.inPopover;
|
|
97
|
+
item.sideNavigation = this;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
89
100
|
async _onAfterPopoverOpen() {
|
|
90
101
|
// as the tree/list inside the popover is never destroyed,
|
|
91
102
|
// item navigation index should be managed, because items are
|
|
@@ -99,11 +110,6 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
99
110
|
tree.items[0]?.focus();
|
|
100
111
|
}
|
|
101
112
|
}
|
|
102
|
-
async _onAfterMenuClose() {
|
|
103
|
-
const selectedItem = this._findSelectedItem(this.items);
|
|
104
|
-
await renderFinished();
|
|
105
|
-
selectedItem.getDomRef().focus();
|
|
106
|
-
}
|
|
107
113
|
async _onBeforePopoverOpen() {
|
|
108
114
|
const popover = await this.getPicker();
|
|
109
115
|
popover?.opener?.classList.add("ui5-sn-item-active");
|
|
@@ -145,23 +151,26 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
145
151
|
await renderFinished();
|
|
146
152
|
this._popoverContents.item.getDomRef().classList.add("ui5-sn-item-no-hover-effect");
|
|
147
153
|
}
|
|
148
|
-
handleOverflowItemClick(e) {
|
|
149
|
-
const associatedItem = e.detail
|
|
154
|
+
async handleOverflowItemClick(e) {
|
|
155
|
+
const associatedItem = e.detail?.item.associatedItem;
|
|
150
156
|
associatedItem.fireEvent("click");
|
|
151
157
|
if (associatedItem.selected) {
|
|
152
158
|
this.closeMenu();
|
|
153
159
|
return;
|
|
154
160
|
}
|
|
155
161
|
this._selectItem(associatedItem);
|
|
162
|
+
this.closeMenu();
|
|
163
|
+
await renderFinished();
|
|
156
164
|
// When subitem is selected in collapsed mode parent element should be focused
|
|
157
165
|
if (associatedItem.nodeName.toLowerCase() === "ui5-side-navigation-sub-item") {
|
|
158
166
|
const parent = associatedItem.parentElement;
|
|
159
|
-
this.
|
|
167
|
+
this.focusItem(parent);
|
|
168
|
+
parent?.focus();
|
|
160
169
|
}
|
|
161
170
|
else {
|
|
162
|
-
this.
|
|
171
|
+
this.focusItem(associatedItem);
|
|
172
|
+
associatedItem?.focus();
|
|
163
173
|
}
|
|
164
|
-
this.closeMenu();
|
|
165
174
|
}
|
|
166
175
|
async getOverflowPopover() {
|
|
167
176
|
return (await this.getStaticAreaItemDomRef()).querySelector(".ui5-side-navigation-overflow-menu");
|
|
@@ -203,13 +212,12 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
203
212
|
return !!this.fixedItems.length;
|
|
204
213
|
}
|
|
205
214
|
get _rootRole() {
|
|
206
|
-
return this.
|
|
215
|
+
return this.inPopover ? "none" : undefined;
|
|
207
216
|
}
|
|
208
217
|
get classes() {
|
|
209
218
|
return {
|
|
210
219
|
root: {
|
|
211
220
|
"ui5-sn-collapsed": this.collapsed,
|
|
212
|
-
"ui5-sn-in-popover": this._inPopover,
|
|
213
221
|
},
|
|
214
222
|
};
|
|
215
223
|
}
|
|
@@ -217,23 +225,21 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
217
225
|
return this.getEnabledItems(this.fixedItems);
|
|
218
226
|
}
|
|
219
227
|
getEnabledFlexibleItems() {
|
|
220
|
-
|
|
221
|
-
|
|
228
|
+
const items = this.getEnabledItems(this.items);
|
|
229
|
+
if (this._overflowItem) {
|
|
230
|
+
items.push(this._overflowItem);
|
|
222
231
|
}
|
|
223
|
-
return
|
|
232
|
+
return items;
|
|
224
233
|
}
|
|
225
234
|
getEnabledItems(items) {
|
|
226
|
-
|
|
227
|
-
items.forEach(item => {
|
|
228
|
-
if (item.
|
|
235
|
+
const result = new Array();
|
|
236
|
+
this._getFocusableItems(items).forEach(item => {
|
|
237
|
+
if (item.classList.contains("ui5-sn-item-hidden")) {
|
|
229
238
|
return;
|
|
230
239
|
}
|
|
231
240
|
if (!item.disabled) {
|
|
232
241
|
result.push(item);
|
|
233
242
|
}
|
|
234
|
-
if (!this.collapsed && item.expanded) {
|
|
235
|
-
result = result.concat(item.items.filter(el => !el.disabled));
|
|
236
|
-
}
|
|
237
243
|
});
|
|
238
244
|
return result;
|
|
239
245
|
}
|
|
@@ -246,32 +252,15 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
246
252
|
}
|
|
247
253
|
}
|
|
248
254
|
onAfterRendering() {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
if (!flexibleDom.contains(activeElement)) {
|
|
252
|
-
const selectedItem = this._findSelectedItem(this.items);
|
|
255
|
+
if (!this.getDomRef()?.matches(":focus-within")) {
|
|
256
|
+
let selectedItem = this._findSelectedItem(this.items);
|
|
253
257
|
if (selectedItem) {
|
|
254
258
|
this._flexibleItemNavigation.setCurrentItem(selectedItem);
|
|
255
259
|
}
|
|
256
|
-
|
|
257
|
-
const focusedItem = this._findFocusedItem(this.items);
|
|
258
|
-
if (!focusedItem) {
|
|
259
|
-
this._flexibleItemNavigation.setCurrentItem(this.items[0]);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
const fixedDom = this.shadowRoot.querySelector(".ui5-sn-fixed");
|
|
264
|
-
if (!fixedDom?.contains(activeElement)) {
|
|
265
|
-
const selectedItem = this._findSelectedItem(this.fixedItems);
|
|
260
|
+
selectedItem = this._findSelectedItem(this.fixedItems);
|
|
266
261
|
if (selectedItem) {
|
|
267
262
|
this._fixedItemNavigation.setCurrentItem(selectedItem);
|
|
268
263
|
}
|
|
269
|
-
else {
|
|
270
|
-
const focusedItem = this._findFocusedItem(this.fixedItems);
|
|
271
|
-
if (!focusedItem) {
|
|
272
|
-
this._fixedItemNavigation.setCurrentItem(this.fixedItems[0]);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
264
|
}
|
|
276
265
|
if (this.collapsed) {
|
|
277
266
|
this.handleResize();
|
|
@@ -285,80 +274,83 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
285
274
|
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
286
275
|
}
|
|
287
276
|
handleResize() {
|
|
288
|
-
const domRef = this.getDomRef(), overflowItemRef = domRef?.querySelector(".ui5-sn-item-overflow");
|
|
289
277
|
this._updateOverflowItems();
|
|
290
|
-
if (this._getOverflowItems().length > 0 && this.collapsed) {
|
|
291
|
-
overflowItemRef?.classList.remove("ui5-sn-item-hidden");
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
overflowItemRef?.classList.add("ui5-sn-item-hidden");
|
|
295
|
-
}
|
|
296
278
|
}
|
|
297
279
|
_updateOverflowItems() {
|
|
298
280
|
const domRef = this.getDomRef();
|
|
299
281
|
if (!this.collapsed || !domRef) {
|
|
300
282
|
return null;
|
|
301
283
|
}
|
|
302
|
-
const
|
|
284
|
+
const overflowItem = this._overflowItem;
|
|
303
285
|
const flexibleContentDomRef = domRef.querySelector(".ui5-sn-flexible");
|
|
304
|
-
if (!
|
|
286
|
+
if (!overflowItem) {
|
|
305
287
|
return null;
|
|
306
288
|
}
|
|
307
|
-
|
|
308
|
-
const
|
|
309
|
-
let itemsHeight =
|
|
289
|
+
overflowItem.classList.add("ui5-sn-item-hidden");
|
|
290
|
+
const overflowItems = this.overflowItems;
|
|
291
|
+
let itemsHeight = overflowItems.reduce((sum, itemRef) => {
|
|
310
292
|
itemRef.classList.remove("ui5-sn-item-hidden");
|
|
311
293
|
return sum + itemRef.offsetHeight;
|
|
312
294
|
}, 0);
|
|
313
295
|
const { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);
|
|
314
296
|
const listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
297
|
+
if (itemsHeight <= listHeight) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
overflowItem.classList.remove("ui5-sn-item-hidden");
|
|
301
|
+
itemsHeight = overflowItem.offsetHeight;
|
|
302
|
+
const selectedItem = overflowItems.find(item => {
|
|
303
|
+
return item instanceof SideNavigationSelectableItemBase && item._selected;
|
|
304
|
+
});
|
|
305
|
+
if (selectedItem && selectedItem instanceof SideNavigationItemBase) {
|
|
306
|
+
const selectedItemDomRef = selectedItem.getDomRef();
|
|
307
|
+
const { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef);
|
|
308
|
+
itemsHeight += selectedItemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);
|
|
321
309
|
}
|
|
322
|
-
|
|
323
|
-
if (
|
|
310
|
+
overflowItems.forEach(item => {
|
|
311
|
+
if (item === selectedItem) {
|
|
324
312
|
return;
|
|
325
313
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
314
|
+
let itemDomRef;
|
|
315
|
+
if (item instanceof SideNavigationItemBase) {
|
|
316
|
+
itemDomRef = item.getDomRef();
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
itemDomRef = item;
|
|
320
|
+
}
|
|
321
|
+
const { marginTop, marginBottom } = window.getComputedStyle(itemDomRef);
|
|
322
|
+
itemsHeight += itemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);
|
|
323
|
+
if (itemsHeight > listHeight) {
|
|
324
|
+
item.classList.add("ui5-sn-item-hidden");
|
|
330
325
|
}
|
|
331
326
|
});
|
|
327
|
+
this._flexibleItemNavigation._init();
|
|
332
328
|
}
|
|
333
329
|
_findFocusedItem(items) {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
});
|
|
351
|
-
return result;
|
|
330
|
+
return this._getFocusableItems(items).find(item => item.forcedTabIndex === "0");
|
|
331
|
+
}
|
|
332
|
+
_getSelectableItems(items) {
|
|
333
|
+
return items.reduce((result, item) => {
|
|
334
|
+
return result.concat(item.selectableItems);
|
|
335
|
+
}, new Array());
|
|
336
|
+
}
|
|
337
|
+
_getFocusableItems(items) {
|
|
338
|
+
return items.reduce((result, item) => {
|
|
339
|
+
return result.concat(item.focusableItems);
|
|
340
|
+
}, new Array());
|
|
341
|
+
}
|
|
342
|
+
_getAllItems(items) {
|
|
343
|
+
return items.reduce((result, item) => {
|
|
344
|
+
return result.concat(item.allItems);
|
|
345
|
+
}, new Array());
|
|
352
346
|
}
|
|
353
347
|
_findSelectedItem(items) {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
}
|
|
361
|
-
return selectedItem;
|
|
348
|
+
return this._getSelectableItems(items).find(item => item._selected);
|
|
349
|
+
}
|
|
350
|
+
get overflowItems() {
|
|
351
|
+
return this.items.reduce((result, item) => {
|
|
352
|
+
return result.concat(item.overflowItems);
|
|
353
|
+
}, new Array());
|
|
362
354
|
}
|
|
363
355
|
_handleItemClick(e, item) {
|
|
364
356
|
if (item.selected && !this.collapsed) {
|
|
@@ -384,13 +376,14 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
384
376
|
_handleOverflowClick() {
|
|
385
377
|
this._isOverflow = true;
|
|
386
378
|
this._menuPopoverItems = this._getOverflowItems();
|
|
387
|
-
this.openOverflowMenu(this.
|
|
379
|
+
this.openOverflowMenu(this._overflowItem.getFocusDomRef());
|
|
388
380
|
}
|
|
389
381
|
_getOverflowItems() {
|
|
390
382
|
const overflowClass = "ui5-sn-item-hidden";
|
|
391
383
|
const result = [];
|
|
392
|
-
this.
|
|
393
|
-
if (item
|
|
384
|
+
this.overflowItems.forEach(item => {
|
|
385
|
+
if (item instanceof SideNavigationSelectableItemBase
|
|
386
|
+
&& item.classList.contains(overflowClass)) {
|
|
394
387
|
result.push(item);
|
|
395
388
|
}
|
|
396
389
|
});
|
|
@@ -403,18 +396,19 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
|
|
|
403
396
|
if (!this.fireEvent("selection-change", { item }, true)) {
|
|
404
397
|
return;
|
|
405
398
|
}
|
|
406
|
-
let items = this.
|
|
407
|
-
items = items.concat(this.
|
|
399
|
+
let items = this._getSelectableItems(this.items);
|
|
400
|
+
items = items.concat(this._getSelectableItems(this.fixedItems));
|
|
408
401
|
items.forEach(current => {
|
|
409
402
|
current.selected = false;
|
|
410
403
|
});
|
|
411
404
|
item.selected = true;
|
|
412
|
-
if (this.collapsed && item.getDomRef()?.classList.contains("ui5-sn-item-hidden")) {
|
|
413
|
-
item.getDomRef().classList.remove("ui5-sn-item-hidden");
|
|
414
|
-
}
|
|
415
405
|
}
|
|
416
|
-
get
|
|
417
|
-
|
|
406
|
+
get _overflowItem() {
|
|
407
|
+
const overflowItem = this.shadowRoot.querySelector(".ui5-sn-item-overflow");
|
|
408
|
+
if (overflowItem) {
|
|
409
|
+
overflowItem.sideNavigation = this;
|
|
410
|
+
}
|
|
411
|
+
return overflowItem;
|
|
418
412
|
}
|
|
419
413
|
get isOverflow() {
|
|
420
414
|
return this._isOverflow;
|
|
@@ -445,18 +439,18 @@ __decorate([
|
|
|
445
439
|
__decorate([
|
|
446
440
|
slot({ type: HTMLElement, invalidateOnChildChange: true, "default": true })
|
|
447
441
|
], SideNavigation.prototype, "items", void 0);
|
|
448
|
-
__decorate([
|
|
449
|
-
slot()
|
|
450
|
-
], SideNavigation.prototype, "header", void 0);
|
|
451
442
|
__decorate([
|
|
452
443
|
slot({ type: HTMLElement, invalidateOnChildChange: true })
|
|
453
444
|
], SideNavigation.prototype, "fixedItems", void 0);
|
|
445
|
+
__decorate([
|
|
446
|
+
slot()
|
|
447
|
+
], SideNavigation.prototype, "header", void 0);
|
|
454
448
|
__decorate([
|
|
455
449
|
property({ type: Object })
|
|
456
450
|
], SideNavigation.prototype, "_popoverContents", void 0);
|
|
457
451
|
__decorate([
|
|
458
452
|
property({ type: Boolean })
|
|
459
|
-
], SideNavigation.prototype, "
|
|
453
|
+
], SideNavigation.prototype, "inPopover", void 0);
|
|
460
454
|
__decorate([
|
|
461
455
|
property({ type: Object, multiple: true })
|
|
462
456
|
], SideNavigation.prototype, "_menuPopoverItems", void 0);
|
|
@@ -474,15 +468,16 @@ SideNavigation = SideNavigation_1 = __decorate([
|
|
|
474
468
|
staticAreaStyles: SideNavigationPopoverCss,
|
|
475
469
|
dependencies: [
|
|
476
470
|
ResponsivePopover,
|
|
471
|
+
SideNavigationGroup,
|
|
477
472
|
SideNavigationItem,
|
|
478
473
|
SideNavigationSubItem,
|
|
479
|
-
Icon,
|
|
480
474
|
NavigationMenu,
|
|
481
475
|
],
|
|
482
476
|
})
|
|
483
477
|
/**
|
|
484
478
|
* Fired when the selection has changed via user interaction
|
|
485
|
-
*
|
|
479
|
+
*
|
|
480
|
+
* @param {SideNavigationSelectableItemBase} item the clicked item.
|
|
486
481
|
* @allowPreventDefault
|
|
487
482
|
* @public
|
|
488
483
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport NavigationMenu from \"@ui5/webcomponents/dist/NavigationMenu.js\";\nimport type { MenuItemClickEventDetail } from \"@ui5/webcomponents/dist/Menu.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/circle-task-2.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport SideNavigationItem from \"./SideNavigationItem.js\";\nimport SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport SideNavigationTemplate from \"./generated/templates/SideNavigationTemplate.lit.js\";\nimport SideNavigationPopoverTemplate from \"./generated/templates/SideNavigationPopoverTemplate.lit.js\";\n\nimport {\n\tSIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,\n\tSIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\nimport SideNavigationPopoverCss from \"./generated/themes/SideNavigationPopover.css.js\";\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\ntype SideNavigationPopoverContents = {\n\titem: SideNavigationItem,\n\tsubItems: Array<SideNavigationSubItem>,\n};\n\ntype SideNavigationSelectionChangeEventDetail = {\n\titem: SideNavigationItemBase,\n};\n\ntype PopupSideNavigationItem = SideNavigationItem & { associatedItem: SideNavigationItemBase };\n\n// used for the inner side navigation used in the SideNavigationPopoverTemplate\ntype NavigationMenuClickEventDetail = MenuItemClickEventDetail & {\n\titem: Pick<MenuItemClickEventDetail, \"item\"> & {\n\t\tassociatedItem: SideNavigationItemBase,\n\t}\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `SideNavigation` is used as a standard menu in applications.\n * It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).\n *\n * - The header is meant for displaying user related information - profile data, avatar, etc.\n * - The main navigation section is related to the user’s current work context\n * - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).\n *\n * ### Usage\n *\n * Use the available `ui5-side-navigation-item` and `ui5-side-navigation-sub-item` components to build your menu.\n * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.\n * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigation.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";` (for `ui5-side-navigation-item`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationSubItem.js\";` (for `ui5-side-navigation-sub-item`)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.8\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-side-navigation\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: SideNavigationTemplate,\n\tstaticAreaTemplate: SideNavigationPopoverTemplate,\n\tstyles: SideNavigationCss,\n\tstaticAreaStyles: SideNavigationPopoverCss,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tSideNavigationItem,\n\t\tSideNavigationSubItem,\n\t\tIcon,\n\t\tNavigationMenu,\n\t],\n})\n/**\n * Fired when the selection has changed via user interaction\n * @param {SideNavigationItemBase} item the clicked item.\n * @allowPreventDefault\n * @public\n */\n@event<SideNavigationSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\nclass SideNavigation extends UI5Element {\n\t/**\n\t * Defines whether the `ui5-side-navigation` is expanded or collapsed.\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tcollapsed!: boolean;\n\n\t/**\n\t * Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n\t * for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested\n\t * inside the items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItem>;\n\n\t/**\n\t * Defines the header of the `ui5-side-navigation`.\n\t *\n\t * **Note:** The header is displayed when the component is expanded - the property `collapsed` is false;\n\t * @public\n\t * @since 1.0.0-rc.11\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n\t * for the fixed items, and optionally the `ui5-side-navigation-sub-item` component to provide second-level items inside them.\n\t *\n\t * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tfixedItems!: Array<SideNavigationItem>;\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_popoverContents!: SideNavigationPopoverContents;\n\n\t@property({ type: Boolean })\n\t_inPopover!: boolean;\n\t_isOverflow!: boolean;\n\t_flexibleItemNavigation: ItemNavigation;\n\t_fixedItemNavigation: ItemNavigation;\n\n\t@property({ type: Object, multiple: true })\n\t_menuPopoverItems!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tisTouchDevice!: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._flexibleItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFlexibleItems(),\n\t\t});\n\n\t\tthis._fixedItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFixedItems(),\n\t\t});\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._isOverflow = false;\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tasync _onAfterPopoverOpen() {\n\t\t// as the tree/list inside the popover is never destroyed,\n\t\t// item navigation index should be managed, because items are\n\t\t// dynamically recreated and tabIndexes are not updated\n\t\tconst tree = await this.getPickerTree();\n\t\tconst selectedItem = tree._findSelectedItem(tree.items);\n\t\tif (selectedItem) {\n\t\t\tselectedItem.focus();\n\t\t} else {\n\t\t\ttree.items[0]?.focus();\n\t\t}\n\t}\n\n\tasync _onAfterMenuClose() {\n\t\tconst selectedItem = this._findSelectedItem(this.items)!;\n\n\t\tawait renderFinished();\n\t\tselectedItem.getDomRef().focus();\n\t}\n\n\tasync _onBeforePopoverOpen() {\n\t\tconst popover = await this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\tasync _onBeforePopoverClose() {\n\t\tconst popover = await this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tasync _onBeforeMenuOpen() {\n\t\tconst popover = await this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\tasync _onBeforeMenuClose() {\n\t\tconst popover = await this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT);\n\t}\n\n\tget ariaRoleDescNavigationList() {\n\t\tlet key = SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC;\n\t\tif (this.collapsed) {\n\t\t\tkey = SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC;\n\t\t}\n\n\t\treturn SideNavigation.i18nBundle.getText(key);\n\t}\n\n\tget overflowAccessibleName() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME);\n\t}\n\n\tasync handlePopupItemClick(e: KeyboardEvent | PointerEvent) {\n\t\tconst associatedItem = (e.target as PopupSideNavigationItem).associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closePicker();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\t\tthis.closePicker();\n\n\t\tawait renderFinished();\n\t\tthis._popoverContents.item.getDomRef().classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\thandleOverflowItemClick(e: CustomEvent<NavigationMenuClickEventDetail>) {\n\t\tconst associatedItem = e.detail.item.associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closeMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\n\t\t// When subitem is selected in collapsed mode parent element should be focused\n\t\tif (associatedItem.nodeName.toLowerCase() === \"ui5-side-navigation-sub-item\") {\n\t\t\tconst parent = associatedItem.parentElement as SideNavigationItem;\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(parent);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(associatedItem);\n\t\t}\n\n\t\tthis.closeMenu();\n\t}\n\n\tasync getOverflowPopover() {\n\t\treturn (await this.getStaticAreaItemDomRef())!.querySelector<NavigationMenu>(\".ui5-side-navigation-overflow-menu\")!;\n\t}\n\n\tasync getPicker() {\n\t\treturn (await this.getStaticAreaItemDomRef())!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tasync openPicker(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst responsivePopover = await this.getPicker();\n\t\tresponsivePopover.opener = opener;\n\t\tresponsivePopover.showAt(opener);\n\t}\n\n\tasync openOverflowMenu(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst menu = await this.getOverflowPopover();\n\t\tmenu.opener = opener;\n\t\tmenu.showAt(opener);\n\t}\n\n\tasync closePicker() {\n\t\tconst responsivePopover = await this.getPicker();\n\t\tresponsivePopover.close();\n\t}\n\n\tasync closeMenu() {\n\t\tconst menu = await this.getOverflowPopover();\n\t\tmenu.close();\n\t}\n\n\tasync getPickerTree() {\n\t\tconst picker = await this.getPicker();\n\t\treturn picker.querySelector<SideNavigation>(\"[ui5-side-navigation]\")!;\n\t}\n\n\tget hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget showHeader() {\n\t\treturn this.hasHeader && !this.collapsed;\n\t}\n\n\tget hasFixedItems() {\n\t\treturn !!this.fixedItems.length;\n\t}\n\n\tget _rootRole() {\n\t\treturn this._inPopover ? \"none\" : undefined;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-sn-collapsed\": this.collapsed,\n\t\t\t\t\"ui5-sn-in-popover\": this._inPopover,\n\t\t\t},\n\t\t};\n\t}\n\n\tgetEnabledFixedItems() : Array<ITabbable> {\n\t\treturn this.getEnabledItems(this.fixedItems);\n\t}\n\n\tgetEnabledFlexibleItems() : Array<ITabbable> {\n\t\tif (!this._overflowDom) {\n\t\t\treturn this.getEnabledItems(this.items);\n\t\t}\n\n\t\treturn [...this.getEnabledItems(this.items), this._overflowDom];\n\t}\n\n\tgetEnabledItems(items: Array<SideNavigationItem>) : Array<ITabbable> {\n\t\tlet result = new Array<ITabbable>();\n\n\t\titems.forEach(item => {\n\t\t\tif (item.getDomRef()?.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!item.disabled) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\n\t\t\tif (!this.collapsed && item.expanded) {\n\t\t\t\tresult = result.concat(item.items.filter(el => !el.disabled));\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tfocusItem(item: SideNavigationItemBase) {\n\t\tif (item.isFixedItem) {\n\t\t\tthis._fixedItemNavigation.setCurrentItem(item);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(item);\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tconst activeElement = this.shadowRoot!.activeElement;\n\t\tconst flexibleDom = this.shadowRoot!.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!flexibleDom.contains(activeElement)) {\n\t\t\tconst selectedItem = this._findSelectedItem(this.items);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(selectedItem);\n\t\t\t} else {\n\t\t\t\tconst focusedItem = this._findFocusedItem(this.items);\n\t\t\t\tif (!focusedItem) {\n\t\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(this.items[0]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst fixedDom = this.shadowRoot!.querySelector(\".ui5-sn-fixed\");\n\t\tif (!fixedDom?.contains(activeElement)) {\n\t\t\tconst selectedItem = this._findSelectedItem(this.fixedItems);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._fixedItemNavigation.setCurrentItem(selectedItem);\n\t\t\t} else {\n\t\t\t\tconst focusedItem = this._findFocusedItem(this.fixedItems);\n\t\t\t\tif (!focusedItem) {\n\t\t\t\t\tthis._fixedItemNavigation.setCurrentItem(this.fixedItems[0]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.collapsed) {\n\t\t\tthis.handleResize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.isTouchDevice = isPhone() || (isTablet() && !isCombi());\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tconst domRef = this.getDomRef(),\n\t\t\toverflowItemRef = domRef?.querySelector(\".ui5-sn-item-overflow\");\n\n\t\tthis._updateOverflowItems();\n\n\t\tif (this._getOverflowItems().length > 0 && this.collapsed) {\n\t\t\toverflowItemRef?.classList.remove(\"ui5-sn-item-hidden\");\n\t\t} else {\n\t\t\toverflowItemRef?.classList.add(\"ui5-sn-item-hidden\");\n\t\t}\n\t}\n\n\t_updateOverflowItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!this.collapsed || !domRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst overflowItemRef:HTMLElement = domRef.querySelector(\".ui5-sn-item-overflow\")!;\n\t\tconst flexibleContentDomRef:HTMLElement = domRef.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!overflowItemRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\toverflowItemRef.classList.add(\"ui5-sn-item-hidden\");\n\n\t\tconst itemsRefs = [...domRef.querySelectorAll<HTMLElement>(\".ui5-sn-flexible .ui5-sn-item-level1:not(.ui5-sn-item-overflow)\")];\n\n\t\tlet itemsHeight = itemsRefs.reduce<number>((sum, itemRef) => {\n\t\t\titemRef.classList.remove(\"ui5-sn-item-hidden\");\n\t\t\treturn sum + itemRef.offsetHeight;\n\t\t}, 0);\n\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);\n\t\tconst listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);\n\n\t\toverflowItemRef.classList.remove(\"ui5-sn-item-hidden\");\n\n\t\titemsHeight = overflowItemRef.offsetHeight;\n\t\tconst oSelectedItemRef = domRef.querySelector(\".ui5-sn-item-selected\") as HTMLElement;\n\t\tif (oSelectedItemRef) {\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(oSelectedItemRef);\n\n\t\t\titemsHeight += oSelectedItemRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\t\t}\n\n\t\titemsRefs.forEach(itemRef => {\n\t\t\tif (itemRef === oSelectedItemRef) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(itemRef);\n\t\t\titemsHeight += itemRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\n\t\t\tif (itemsHeight >= listHeight) {\n\t\t\t\titemRef.classList.add(\"ui5-sn-item-hidden\");\n\t\t\t}\n\t\t});\n\t}\n\n\t_findFocusedItem(items: Array<SideNavigationItem>) : SideNavigationItemBase | undefined {\n\t\tlet focusedItem;\n\n\t\tif (this.collapsed) {\n\t\t\tfocusedItem = items.find(item => item.forcedTabIndex === \"0\");\n\t\t} else {\n\t\t\tfocusedItem = this._getWithNestedItems(items, true).find(item => item.forcedTabIndex === \"0\");\n\t\t}\n\n\t\treturn focusedItem;\n\t}\n\n\t_getWithNestedItems(items: Array<SideNavigationItem>, expandedOnly = false): Array<SideNavigationItemBase> {\n\t\tlet result = new Array<SideNavigationItemBase>();\n\n\t\titems.forEach(item => {\n\t\t\tresult.push(item);\n\n\t\t\tif (!expandedOnly || item.expanded) {\n\t\t\t\tresult = result.concat(item.items);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_findSelectedItem(items: Array<SideNavigationItem>) : SideNavigationItemBase | undefined {\n\t\tlet selectedItem;\n\n\t\tif (this.collapsed) {\n\t\t\tselectedItem = items.find(item => item._selected);\n\t\t} else {\n\t\t\tselectedItem = this._getWithNestedItems(items).find(current => current.selected);\n\t\t}\n\n\t\treturn selectedItem;\n\t}\n\n\t_handleItemClick(e: KeyboardEvent | PointerEvent | CustomEvent<NavigationMenuClickEventDetail>, item: SideNavigationItemBase) {\n\t\tif (item.selected && !this.collapsed) {\n\t\t\titem.fireEvent(\"click\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.collapsed && item instanceof SideNavigationItem && item.items.length) {\n\t\t\te.preventDefault();\n\t\t\tthis._isOverflow = false;\n\n\t\t\tthis._popoverContents = {\n\t\t\t\titem,\n\t\t\t\tsubItems: item.items,\n\t\t\t};\n\n\t\t\tthis.openPicker(item.getFocusDomRef() as HTMLElement);\n\t\t} else {\n\t\t\titem.fireEvent(\"click\");\n\n\t\t\tif (!item.selected) {\n\t\t\t\tthis._selectItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleOverflowClick() {\n\t\tthis._isOverflow = true;\n\t\tthis._menuPopoverItems = this._getOverflowItems();\n\n\t\tthis.openOverflowMenu(this._overflowDom as HTMLElement);\n\t}\n\n\t_getOverflowItems(): Array<SideNavigationItem> {\n\t\tconst overflowClass = \"ui5-sn-item-hidden\";\n\t\tconst result: Array<SideNavigationItem> = [];\n\n\t\tthis.items.forEach(item => {\n\t\t\tif (item.getDomRef().classList.contains(overflowClass)) {\n\t\t\t\t result.push(item);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\t_selectItem(item: SideNavigationItemBase) {\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.fireEvent<SideNavigationSelectionChangeEventDetail>(\"selection-change\", { item }, true)) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet items = this._getWithNestedItems(this.items);\n\t\titems = items.concat(this._getWithNestedItems(this.fixedItems));\n\n\t\titems.forEach(current => {\n\t\t\tcurrent.selected = false;\n\t\t});\n\n\t\titem.selected = true;\n\n\t\tif (this.collapsed && item.getDomRef()?.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\titem.getDomRef().classList.remove(\"ui5-sn-item-hidden\");\n\t\t}\n\t}\n\n\tget _overflowDom() {\n\t\treturn this.shadowRoot!.querySelector<SideNavigationItem>(\".ui5-sn-item-overflow\");\n\t}\n\n\tget isOverflow() {\n\t\treturn this._isOverflow;\n\t}\n\n\t_onkeydownOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\t_onkeyupOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\tstatic async onDefine() {\n\t\t[SideNavigation.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents-fiori\"),\n\t\t\tsuper.onDefine(),\n\t\t]);\n\t}\n}\n\nSideNavigation.define();\n\nexport default SideNavigation;\n\nexport type {\n\tSideNavigationSelectionChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport NavigationMenu from \"@ui5/webcomponents/dist/NavigationMenu.js\";\nimport type { MenuItemClickEventDetail } from \"@ui5/webcomponents/dist/Menu.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport SideNavigationItem from \"./SideNavigationItem.js\";\nimport SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport SideNavigationGroup from \"./SideNavigationGroup.js\";\nimport SideNavigationTemplate from \"./generated/templates/SideNavigationTemplate.lit.js\";\nimport SideNavigationPopoverTemplate from \"./generated/templates/SideNavigationPopoverTemplate.lit.js\";\n\nimport {\n\tSIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,\n\tSIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\nimport SideNavigationPopoverCss from \"./generated/themes/SideNavigationPopover.css.js\";\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\ntype SideNavigationPopoverContents = {\n\titem: SideNavigationItem,\n\tsubItems: Array<SideNavigationSubItem>,\n};\n\ntype SideNavigationSelectionChangeEventDetail = {\n\titem: SideNavigationItemBase,\n};\n\ntype PopupSideNavigationItem = SideNavigationItem & { associatedItem: SideNavigationSelectableItemBase };\n\n// used for the inner side navigation used in the SideNavigationPopoverTemplate\ntype NavigationMenuClickEventDetail = MenuItemClickEventDetail & {\n\titem: Pick<MenuItemClickEventDetail, \"item\"> & {\n\t\tassociatedItem: SideNavigationSelectableItemBase,\n\t}\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `SideNavigation` is used as a standard menu in applications.\n * It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).\n *\n * - The header is meant for displaying user related information - profile data, avatar, etc.\n * - The main navigation section is related to the user’s current work context\n * - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).\n *\n * ### Usage\n *\n * Use the available `ui5-side-navigation-group`, `ui5-side-navigation-item`\n * and `ui5-side-navigation-sub-item` components to build your menu.\n * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.\n * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.\n *\n * ### Keyboard Handling\n *\n * ### Fast Navigation\n * This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigation.js\"`\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";` (for `ui5-side-navigation-group`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";` (for `ui5-side-navigation-item`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationSubItem.js\";` (for `ui5-side-navigation-sub-item`)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.8\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-side-navigation\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: SideNavigationTemplate,\n\tstaticAreaTemplate: SideNavigationPopoverTemplate,\n\tstyles: SideNavigationCss,\n\tstaticAreaStyles: SideNavigationPopoverCss,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tSideNavigationGroup,\n\t\tSideNavigationItem,\n\t\tSideNavigationSubItem,\n\t\tNavigationMenu,\n\t],\n})\n/**\n * Fired when the selection has changed via user interaction\n *\n * @param {SideNavigationSelectableItemBase} item the clicked item.\n * @allowPreventDefault\n * @public\n */\n@event<SideNavigationSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\nclass SideNavigation extends UI5Element {\n\t/**\n\t * Defines whether the `ui5-side-navigation` is expanded or collapsed.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tcollapsed!: boolean;\n\n\t/**\n\t * Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n\t * for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested\n\t * inside the items.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItem | SideNavigationGroup>;\n\n\t/**\n\t * Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n\t * for the fixed items, and optionally the `ui5-side-navigation-sub-item` component to provide second-level items inside them.\n\t *\n\t * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tfixedItems!: Array<SideNavigationItem | SideNavigationGroup>;\n\n\t/**\n\t * Defines the header of the `ui5-side-navigation`.\n\t *\n\t * **Note:** The header is displayed when the component is expanded - the property `collapsed` is false;\n\t *\n\t * @public\n\t * @since 1.0.0-rc.11\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_popoverContents!: SideNavigationPopoverContents;\n\n\t@property({ type: Boolean })\n\tinPopover!: boolean;\n\t_isOverflow!: boolean;\n\t_flexibleItemNavigation: ItemNavigation;\n\t_fixedItemNavigation: ItemNavigation;\n\n\t@property({ type: Object, multiple: true })\n\t_menuPopoverItems!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tisTouchDevice!: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._flexibleItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFlexibleItems(),\n\t\t});\n\n\t\tthis._fixedItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFixedItems(),\n\t\t});\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._isOverflow = false;\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._getAllItems(this.items).concat(this._getAllItems(this.fixedItems)).forEach(item => {\n\t\t\titem.sideNavCollapsed = this.collapsed;\n\t\t\titem.inPopover = this.inPopover;\n\t\t\titem.sideNavigation = this;\n\t\t});\n\t}\n\n\tasync _onAfterPopoverOpen() {\n\t\t// as the tree/list inside the popover is never destroyed,\n\t\t// item navigation index should be managed, because items are\n\t\t// dynamically recreated and tabIndexes are not updated\n\t\tconst tree = await this.getPickerTree();\n\t\tconst selectedItem = tree._findSelectedItem(tree.items);\n\t\tif (selectedItem) {\n\t\t\tselectedItem.focus();\n\t\t} else {\n\t\t\ttree.items[0]?.focus();\n\t\t}\n\t}\n\n\tasync _onBeforePopoverOpen() {\n\t\tconst popover = await this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\tasync _onBeforePopoverClose() {\n\t\tconst popover = await this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tasync _onBeforeMenuOpen() {\n\t\tconst popover = await this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\tasync _onBeforeMenuClose() {\n\t\tconst popover = await this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT);\n\t}\n\n\tget ariaRoleDescNavigationList() {\n\t\tlet key = SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC;\n\t\tif (this.collapsed) {\n\t\t\tkey = SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC;\n\t\t}\n\n\t\treturn SideNavigation.i18nBundle.getText(key);\n\t}\n\n\tget overflowAccessibleName() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME);\n\t}\n\n\tasync handlePopupItemClick(e: KeyboardEvent | PointerEvent) {\n\t\tconst associatedItem = (e.target as PopupSideNavigationItem).associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closePicker();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\t\tthis.closePicker();\n\n\t\tawait renderFinished();\n\t\tthis._popoverContents.item.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\tasync handleOverflowItemClick(e: CustomEvent<NavigationMenuClickEventDetail>) {\n\t\tconst associatedItem = e.detail?.item.associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closeMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\n\t\tthis.closeMenu();\n\t\tawait renderFinished();\n\n\t\t// When subitem is selected in collapsed mode parent element should be focused\n\t\tif (associatedItem.nodeName.toLowerCase() === \"ui5-side-navigation-sub-item\") {\n\t\t\tconst parent = associatedItem.parentElement as SideNavigationItem;\n\t\t\tthis.focusItem(parent);\n\t\t\tparent?.focus();\n\t\t} else {\n\t\t\tthis.focusItem(associatedItem);\n\t\t\tassociatedItem?.focus();\n\t\t}\n\t}\n\n\tasync getOverflowPopover() {\n\t\treturn (await this.getStaticAreaItemDomRef())!.querySelector<NavigationMenu>(\".ui5-side-navigation-overflow-menu\")!;\n\t}\n\n\tasync getPicker() {\n\t\treturn (await this.getStaticAreaItemDomRef())!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tasync openPicker(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst responsivePopover = await this.getPicker();\n\t\tresponsivePopover.opener = opener;\n\t\tresponsivePopover.showAt(opener);\n\t}\n\n\tasync openOverflowMenu(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst menu = await this.getOverflowPopover();\n\t\tmenu.opener = opener;\n\t\tmenu.showAt(opener);\n\t}\n\n\tasync closePicker() {\n\t\tconst responsivePopover = await this.getPicker();\n\t\tresponsivePopover.close();\n\t}\n\n\tasync closeMenu() {\n\t\tconst menu = await this.getOverflowPopover();\n\t\tmenu.close();\n\t}\n\n\tasync getPickerTree() {\n\t\tconst picker = await this.getPicker();\n\t\treturn picker.querySelector<SideNavigation>(\"[ui5-side-navigation]\")!;\n\t}\n\n\tget hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget showHeader() {\n\t\treturn this.hasHeader && !this.collapsed;\n\t}\n\n\tget hasFixedItems() {\n\t\treturn !!this.fixedItems.length;\n\t}\n\n\tget _rootRole() {\n\t\treturn this.inPopover ? \"none\" : undefined;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-sn-collapsed\": this.collapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tgetEnabledFixedItems() : Array<ITabbable> {\n\t\treturn this.getEnabledItems(this.fixedItems);\n\t}\n\n\tgetEnabledFlexibleItems() : Array<ITabbable> {\n\t\tconst items = this.getEnabledItems(this.items);\n\n\t\tif (this._overflowItem) {\n\t\t\titems.push(this._overflowItem);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetEnabledItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<ITabbable> {\n\t\tconst result = new Array<ITabbable>();\n\n\t\tthis._getFocusableItems(items).forEach(item => {\n\t\t\tif (item.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!item.disabled) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tfocusItem(item: SideNavigationItemBase) {\n\t\tif (item.isFixedItem) {\n\t\t\tthis._fixedItemNavigation.setCurrentItem(item);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(item);\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.getDomRef()?.matches(\":focus-within\")) {\n\t\t\tlet selectedItem = this._findSelectedItem(this.items);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\n\t\t\tselectedItem = this._findSelectedItem(this.fixedItems);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._fixedItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\t\t}\n\n\t\tif (this.collapsed) {\n\t\t\tthis.handleResize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.isTouchDevice = isPhone() || (isTablet() && !isCombi());\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tthis._updateOverflowItems();\n\t}\n\n\t_updateOverflowItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!this.collapsed || !domRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst overflowItem = this._overflowItem!;\n\t\tconst flexibleContentDomRef : HTMLElement = domRef.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!overflowItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\toverflowItem.classList.add(\"ui5-sn-item-hidden\");\n\n\t\tconst overflowItems = this.overflowItems;\n\n\t\tlet itemsHeight = overflowItems.reduce<number>((sum, itemRef) => {\n\t\t\titemRef.classList.remove(\"ui5-sn-item-hidden\");\n\t\t\treturn sum + itemRef.offsetHeight;\n\t\t}, 0);\n\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);\n\t\tconst listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);\n\n\t\tif (itemsHeight <= listHeight) {\n\t\t\treturn;\n\t\t}\n\n\t\toverflowItem.classList.remove(\"ui5-sn-item-hidden\");\n\n\t\titemsHeight = overflowItem.offsetHeight;\n\n\t\tconst selectedItem = overflowItems.find(item => {\n\t\t\treturn item instanceof SideNavigationSelectableItemBase && item._selected;\n\t\t});\n\n\t\tif (selectedItem && selectedItem instanceof SideNavigationItemBase) {\n\t\t\tconst selectedItemDomRef = selectedItem.getDomRef();\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef!);\n\n\t\t\titemsHeight += selectedItemDomRef!.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\t\t}\n\n\t\toverflowItems.forEach(item => {\n\t\t\tif (item === selectedItem) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet itemDomRef;\n\n\t\t\tif (item instanceof SideNavigationItemBase) {\n\t\t\t\titemDomRef = item.getDomRef()!;\n\t\t\t} else {\n\t\t\t\titemDomRef = item;\n\t\t\t}\n\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(itemDomRef);\n\t\t\titemsHeight += itemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\n\t\t\tif (itemsHeight > listHeight) {\n\t\t\t\titem.classList.add(\"ui5-sn-item-hidden\");\n\t\t\t}\n\t\t});\n\n\t\tthis._flexibleItemNavigation._init();\n\t}\n\n\t_findFocusedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationItemBase | undefined {\n\t\treturn this._getFocusableItems(items).find(item => item.forcedTabIndex === \"0\");\n\t}\n\n\t_getSelectableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationSelectableItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\t_getFocusableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.focusableItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_getAllItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_findSelectedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationSelectableItemBase | undefined {\n\t\treturn this._getSelectableItems(items).find(item => item._selected);\n\t}\n\n\tget overflowItems() : Array<HTMLElement> {\n\t\treturn this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<HTMLElement>());\n\t}\n\n\t_handleItemClick(e: KeyboardEvent | PointerEvent, item: SideNavigationSelectableItemBase) {\n\t\tif (item.selected && !this.collapsed) {\n\t\t\titem.fireEvent(\"click\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.collapsed && item instanceof SideNavigationItem && item.items.length) {\n\t\t\te.preventDefault();\n\t\t\tthis._isOverflow = false;\n\n\t\t\tthis._popoverContents = {\n\t\t\t\titem,\n\t\t\t\tsubItems: item.items,\n\t\t\t};\n\n\t\t\tthis.openPicker(item.getFocusDomRef() as HTMLElement);\n\t\t} else {\n\t\t\titem.fireEvent(\"click\");\n\n\t\t\tif (!item.selected) {\n\t\t\t\tthis._selectItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleOverflowClick() {\n\t\tthis._isOverflow = true;\n\t\tthis._menuPopoverItems = this._getOverflowItems();\n\n\t\tthis.openOverflowMenu(this._overflowItem!.getFocusDomRef() as HTMLElement);\n\t}\n\n\t_getOverflowItems(): Array<SideNavigationSelectableItemBase> {\n\t\tconst overflowClass = \"ui5-sn-item-hidden\";\n\t\tconst result: Array<SideNavigationSelectableItemBase> = [];\n\n\t\tthis.overflowItems.forEach(item => {\n\t\t\tif (item instanceof SideNavigationSelectableItemBase\n\t\t\t\t&& item.classList.contains(overflowClass)) {\n\t\t\t\t result.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_selectItem(item: SideNavigationSelectableItemBase) {\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.fireEvent<SideNavigationSelectionChangeEventDetail>(\"selection-change\", { item }, true)) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet items = this._getSelectableItems(this.items);\n\t\titems = items.concat(this._getSelectableItems(this.fixedItems));\n\n\t\titems.forEach(current => {\n\t\t\tcurrent.selected = false;\n\t\t});\n\n\t\titem.selected = true;\n\t}\n\n\tget _overflowItem() {\n\t\tconst overflowItem = this.shadowRoot!.querySelector<SideNavigationItem>(\".ui5-sn-item-overflow\");\n\t\tif (overflowItem) {\n\t\t\toverflowItem.sideNavigation = this;\n\t\t}\n\n\t\treturn overflowItem;\n\t}\n\n\tget isOverflow() {\n\t\treturn this._isOverflow;\n\t}\n\n\t_onkeydownOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\t_onkeyupOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\tstatic async onDefine() {\n\t\t[SideNavigation.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents-fiori\"),\n\t\t\tsuper.onDefine(),\n\t\t]);\n\t}\n}\n\nSideNavigation.define();\n\nexport default SideNavigation;\n\nexport type {\n\tSideNavigationSelectionChangeEventDetail,\n};\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
2
|
+
import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
|
|
3
|
+
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
4
|
+
import SideNavigationItemBase from "./SideNavigationItemBase.js";
|
|
5
|
+
import type SideNavigationSelectableItemBase from "./SideNavigationSelectableItemBase.js";
|
|
6
|
+
import type SideNavigationItem from "./SideNavigationItem.js";
|
|
7
|
+
/**
|
|
8
|
+
* @class
|
|
9
|
+
*
|
|
10
|
+
* ### Overview
|
|
11
|
+
*
|
|
12
|
+
* Represents a group of navigation actions within `ui5-side-navigation`.
|
|
13
|
+
* The `ui5-side-navigation-group` can only be used inside a `ui5-side-navigation`.
|
|
14
|
+
*
|
|
15
|
+
* ### ES6 Module Import
|
|
16
|
+
*
|
|
17
|
+
* `import "@ui5/webcomponents-fiori/dist/SideNavigationGroup.js";`
|
|
18
|
+
*
|
|
19
|
+
* @constructor
|
|
20
|
+
* @extends SideNavigationItemBase
|
|
21
|
+
* @public
|
|
22
|
+
* @abstract
|
|
23
|
+
* @since 1.24.0
|
|
24
|
+
*/
|
|
25
|
+
declare class SideNavigationGroup extends SideNavigationItemBase {
|
|
26
|
+
/**
|
|
27
|
+
* Defines if the item is expanded
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
expanded: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Defines nested items by passing `ui5-side-navigation-item` to the default slot.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
items: Array<SideNavigationItem>;
|
|
39
|
+
static i18nBundle: I18nBundle;
|
|
40
|
+
get overflowItems(): Array<HTMLElement>;
|
|
41
|
+
get selectableItems(): Array<SideNavigationSelectableItemBase>;
|
|
42
|
+
get focusableItems(): Array<SideNavigationItemBase>;
|
|
43
|
+
get allItems(): Array<SideNavigationItemBase>;
|
|
44
|
+
get _groupId(): string | undefined;
|
|
45
|
+
get _expanded(): boolean | undefined;
|
|
46
|
+
get _toggleIconName(): "navigation-right-arrow" | "navigation-down-arrow";
|
|
47
|
+
get belowGroupClassName(): "" | "ui5-sn-item-group-below-group";
|
|
48
|
+
get accDescription(): string;
|
|
49
|
+
_onkeydown: (e: KeyboardEvent) => void;
|
|
50
|
+
_onclick: () => void;
|
|
51
|
+
_onfocusin: (e: FocusEvent) => void;
|
|
52
|
+
_toggle(): void;
|
|
53
|
+
static onDefine(): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
export default SideNavigationGroup;
|