@sapudex/web-components 0.230.3 → 0.231.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MastheadItem.d.ts +3 -0
- package/dist/MastheadItem.js +25 -1
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +2 -1
- package/dist/MastheadMenu.js +19 -11
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +4 -0
- package/dist/MastheadMobileMenu.js +55 -5
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadShell.js +4 -0
- package/dist/MastheadShell.js.map +1 -1
- package/dist/assets/{bundle.esm-6dbe4d40.js → bundle.esm-47166f9b.js} +114 -114
- package/dist/assets/messagebundle_ar-4acbb276.js +1 -0
- package/dist/assets/messagebundle_bg-76df681f.js +1 -0
- package/dist/assets/messagebundle_cs-5488afab.js +1 -0
- package/dist/assets/messagebundle_da-7b8fee05.js +1 -0
- package/dist/assets/messagebundle_de-6c3b79cd.js +1 -0
- package/dist/assets/messagebundle_el-6f926401.js +1 -0
- package/dist/assets/messagebundle_es-b32ec403.js +1 -0
- package/dist/assets/messagebundle_et-bac74fdc.js +1 -0
- package/dist/assets/messagebundle_fi-3485fac7.js +1 -0
- package/dist/assets/messagebundle_fr-4fea234b.js +1 -0
- package/dist/assets/messagebundle_hr-455c228f.js +1 -0
- package/dist/assets/messagebundle_hu-a8d556d9.js +1 -0
- package/dist/assets/messagebundle_it-014d7d0c.js +1 -0
- package/dist/assets/messagebundle_iw-630f53fd.js +1 -0
- package/dist/assets/messagebundle_ko-fd7c94a4.js +1 -0
- package/dist/assets/messagebundle_lt-93f8402d.js +1 -0
- package/dist/assets/messagebundle_lv-db65919a.js +1 -0
- package/dist/assets/messagebundle_nl-08fb0493.js +1 -0
- package/dist/assets/messagebundle_no-af05c854.js +1 -0
- package/dist/assets/messagebundle_pl-f65552a3.js +1 -0
- package/dist/assets/messagebundle_pt-c00237ba.js +1 -0
- package/dist/assets/messagebundle_ro-8387820d.js +1 -0
- package/dist/assets/messagebundle_ru-8aaf2b34.js +1 -0
- package/dist/assets/messagebundle_sk-bccab7cc.js +1 -0
- package/dist/assets/messagebundle_sl-9f2d28b6.js +1 -0
- package/dist/assets/messagebundle_sr-58be5960.js +1 -0
- package/dist/assets/messagebundle_sv-a0fbe175.js +1 -0
- package/dist/assets/messagebundle_tr-64ad7959.js +1 -0
- package/dist/assets/messagebundle_uk-7c63d422.js +1 -0
- package/dist/assets/messagebundle_zh_CN-6234699a.js +1 -0
- package/dist/assets/messagebundle_zh_TW-62cc17d9.js +1 -0
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/custom-elements-internal.json +15 -15
- package/dist/custom-elements.json +15 -15
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +11 -11
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/i18n/messagebundle_ar.properties +3 -0
- package/dist/i18n/messagebundle_bg.properties +3 -0
- package/dist/i18n/messagebundle_cs.properties +3 -0
- package/dist/i18n/messagebundle_da.properties +3 -0
- package/dist/i18n/messagebundle_de.properties +3 -0
- package/dist/i18n/messagebundle_el.properties +3 -0
- package/dist/i18n/messagebundle_es.properties +3 -0
- package/dist/i18n/messagebundle_et.properties +3 -0
- package/dist/i18n/messagebundle_fi.properties +3 -0
- package/dist/i18n/messagebundle_fr.properties +3 -0
- package/dist/i18n/messagebundle_hr.properties +3 -0
- package/dist/i18n/messagebundle_hu.properties +3 -0
- package/dist/i18n/messagebundle_it.properties +3 -0
- package/dist/i18n/messagebundle_iw.properties +3 -1
- package/dist/i18n/messagebundle_ko.properties +3 -0
- package/dist/i18n/messagebundle_lt.properties +3 -0
- package/dist/i18n/messagebundle_lv.properties +3 -0
- package/dist/i18n/messagebundle_nl.properties +3 -0
- package/dist/i18n/messagebundle_no.properties +3 -0
- package/dist/i18n/messagebundle_pl.properties +3 -0
- package/dist/i18n/messagebundle_pt.properties +3 -0
- package/dist/i18n/messagebundle_pt_BR.properties +3 -0
- package/dist/i18n/messagebundle_ro.properties +3 -0
- package/dist/i18n/messagebundle_ru.properties +3 -0
- package/dist/i18n/messagebundle_sk.properties +3 -0
- package/dist/i18n/messagebundle_sl.properties +3 -0
- package/dist/i18n/messagebundle_sr.properties +3 -1
- package/dist/i18n/messagebundle_sv.properties +3 -0
- package/dist/i18n/messagebundle_tr.properties +3 -0
- package/dist/i18n/messagebundle_uk.properties +3 -0
- package/dist/i18n/messagebundle_zh_CN.properties +3 -1
- package/dist/i18n/messagebundle_zh_TW.properties +3 -0
- package/dist/web-types.json +1 -1
- package/package.json +1 -1
- package/src/MastheadItem.ts +32 -1
- package/src/MastheadMenu.ts +25 -12
- package/src/MastheadMobileMenu.hbs +12 -1
- package/src/MastheadMobileMenu.ts +61 -6
- package/src/MastheadShell.ts +4 -0
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +11 -11
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/i18n/messagebundle_ar.properties +3 -0
- package/src/i18n/messagebundle_bg.properties +3 -0
- package/src/i18n/messagebundle_cs.properties +3 -0
- package/src/i18n/messagebundle_da.properties +3 -0
- package/src/i18n/messagebundle_de.properties +3 -0
- package/src/i18n/messagebundle_el.properties +3 -0
- package/src/i18n/messagebundle_es.properties +3 -0
- package/src/i18n/messagebundle_et.properties +3 -0
- package/src/i18n/messagebundle_fi.properties +3 -0
- package/src/i18n/messagebundle_fr.properties +3 -0
- package/src/i18n/messagebundle_hr.properties +3 -0
- package/src/i18n/messagebundle_hu.properties +3 -0
- package/src/i18n/messagebundle_it.properties +3 -0
- package/src/i18n/messagebundle_iw.properties +3 -1
- package/src/i18n/messagebundle_ko.properties +3 -0
- package/src/i18n/messagebundle_lt.properties +3 -0
- package/src/i18n/messagebundle_lv.properties +3 -0
- package/src/i18n/messagebundle_nl.properties +3 -0
- package/src/i18n/messagebundle_no.properties +3 -0
- package/src/i18n/messagebundle_pl.properties +3 -0
- package/src/i18n/messagebundle_pt.properties +3 -0
- package/src/i18n/messagebundle_pt_BR.properties +3 -0
- package/src/i18n/messagebundle_ro.properties +3 -0
- package/src/i18n/messagebundle_ru.properties +3 -0
- package/src/i18n/messagebundle_sk.properties +3 -0
- package/src/i18n/messagebundle_sl.properties +3 -0
- package/src/i18n/messagebundle_sr.properties +3 -1
- package/src/i18n/messagebundle_sv.properties +3 -0
- package/src/i18n/messagebundle_tr.properties +3 -0
- package/src/i18n/messagebundle_uk.properties +3 -0
- package/src/i18n/messagebundle_zh_CN.properties +3 -1
- package/src/i18n/messagebundle_zh_TW.properties +3 -0
- package/src/themes/MastheadItem.css +1 -0
- package/src/themes/MastheadShell.css +6 -1
- package/dist/assets/messagebundle_ar-bb470511.js +0 -1
- package/dist/assets/messagebundle_bg-a533dfab.js +0 -1
- package/dist/assets/messagebundle_cs-c70a7f36.js +0 -1
- package/dist/assets/messagebundle_da-e292cac5.js +0 -1
- package/dist/assets/messagebundle_de-5c108de6.js +0 -1
- package/dist/assets/messagebundle_el-44746e0b.js +0 -1
- package/dist/assets/messagebundle_es-c0c1060f.js +0 -1
- package/dist/assets/messagebundle_et-a5f15d3b.js +0 -1
- package/dist/assets/messagebundle_fi-f4b8eb82.js +0 -1
- package/dist/assets/messagebundle_fr-af18ac46.js +0 -1
- package/dist/assets/messagebundle_hr-d893e46d.js +0 -1
- package/dist/assets/messagebundle_hu-230c58c9.js +0 -1
- package/dist/assets/messagebundle_it-5bf1436c.js +0 -1
- package/dist/assets/messagebundle_iw-dd60afc4.js +0 -1
- package/dist/assets/messagebundle_ko-c450bda3.js +0 -1
- package/dist/assets/messagebundle_lt-87ab0529.js +0 -1
- package/dist/assets/messagebundle_lv-fc413852.js +0 -1
- package/dist/assets/messagebundle_nl-34d7e236.js +0 -1
- package/dist/assets/messagebundle_no-f22648fb.js +0 -1
- package/dist/assets/messagebundle_pl-10303f09.js +0 -1
- package/dist/assets/messagebundle_pt-b7a40c67.js +0 -1
- package/dist/assets/messagebundle_ro-94628623.js +0 -1
- package/dist/assets/messagebundle_ru-1f6595ba.js +0 -1
- package/dist/assets/messagebundle_sk-89eabac1.js +0 -1
- package/dist/assets/messagebundle_sl-d56532f1.js +0 -1
- package/dist/assets/messagebundle_sr-cf7f3b32.js +0 -1
- package/dist/assets/messagebundle_sv-3a3b20d3.js +0 -1
- package/dist/assets/messagebundle_tr-33b16d09.js +0 -1
- package/dist/assets/messagebundle_uk-82e1f2c1.js +0 -1
- package/dist/assets/messagebundle_zh_CN-15ca05aa.js +0 -1
- package/dist/assets/messagebundle_zh_TW-ad6445e7.js +0 -1
package/dist/web-types.json
CHANGED
package/package.json
CHANGED
package/src/MastheadItem.ts
CHANGED
|
@@ -10,6 +10,7 @@ import "@ui5/webcomponents-icons/dist/search.js";
|
|
|
10
10
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
11
11
|
import { isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
12
12
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
|
+
import { getFirstFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
|
|
13
14
|
import {
|
|
14
15
|
OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,
|
|
15
16
|
} from "./generated/i18n/i18n-defaults.js";
|
|
@@ -17,6 +18,7 @@ import UDExMastheadMenu from "./MastheadMenu.js";
|
|
|
17
18
|
import UDExAvatar from "./Avatar.js";
|
|
18
19
|
import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
19
20
|
import UDExMastheadShell from "./MastheadShell.js";
|
|
21
|
+
import UDExMastheadMenuItem from "./MastheadMenuItem.js";
|
|
20
22
|
import { Target } from "./types/common.js";
|
|
21
23
|
import { BreakpointUtils } from "./utils/Breakpoints.js";
|
|
22
24
|
import AnalyticsName from "./types/AnalyticsName.js";
|
|
@@ -334,6 +336,10 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
334
336
|
this.setDropdownInsetStart();
|
|
335
337
|
}
|
|
336
338
|
|
|
339
|
+
if (this.shouldFocusFirstElement) {
|
|
340
|
+
this.applyFocusToFirstElement();
|
|
341
|
+
}
|
|
342
|
+
|
|
337
343
|
this.handleOutsideClick();
|
|
338
344
|
}
|
|
339
345
|
|
|
@@ -441,7 +447,7 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
441
447
|
}
|
|
442
448
|
|
|
443
449
|
setDropdownInsetStart(): void {
|
|
444
|
-
const dropdown = this.
|
|
450
|
+
const dropdown = this.dropdownHolder;
|
|
445
451
|
if (dropdown) {
|
|
446
452
|
const rect = dropdown.getBoundingClientRect();
|
|
447
453
|
const marginInlineStart = this.calculateMarginInlineStart(rect);
|
|
@@ -474,6 +480,23 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
474
480
|
return null;
|
|
475
481
|
}
|
|
476
482
|
|
|
483
|
+
async applyFocusToFirstElement(): Promise<void> {
|
|
484
|
+
const menu = this.querySelector("[udex-masthead-menu]");
|
|
485
|
+
|
|
486
|
+
if (menu) {
|
|
487
|
+
const menuItems = Array.from(menu.shadowRoot?.querySelectorAll<UDExMastheadMenuItem>("[udex-masthead-menu-item]") || []);
|
|
488
|
+
const itemWithUrl = menuItems.find(menuItem => menuItem.url);
|
|
489
|
+
const focusableElement = itemWithUrl?.shadowRoot?.querySelector<HTMLElement>(".udex-masthead-menu-item");
|
|
490
|
+
if (focusableElement) {
|
|
491
|
+
focusableElement.focus();
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
const focusedElement = await getFirstFocusableElement(this.dropdownHolder);
|
|
497
|
+
focusedElement?.focus();
|
|
498
|
+
}
|
|
499
|
+
|
|
477
500
|
handleDirection(): void {
|
|
478
501
|
const directionStyles = window
|
|
479
502
|
.getComputedStyle(this)
|
|
@@ -524,6 +547,10 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
524
547
|
|| this.isNavItemTarget(target);
|
|
525
548
|
}
|
|
526
549
|
|
|
550
|
+
get dropdownHolder(): HTMLElement {
|
|
551
|
+
return this.getDomElement(".udex-masthead-item__dropdown")!;
|
|
552
|
+
}
|
|
553
|
+
|
|
527
554
|
get mastheadShell(): UDExMastheadShell {
|
|
528
555
|
return document.querySelector<UDExMastheadShell>("[udex-masthead-shell]")!;
|
|
529
556
|
}
|
|
@@ -575,6 +602,10 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
575
602
|
return labels.length ? labels.join(" ").trim() : undefined;
|
|
576
603
|
}
|
|
577
604
|
|
|
605
|
+
get shouldFocusFirstElement(): boolean {
|
|
606
|
+
return this.isDropdownOpened && !this._preventFocusOut;
|
|
607
|
+
}
|
|
608
|
+
|
|
578
609
|
get isDropdownOpened(): boolean {
|
|
579
610
|
return this.hasDropdownSlot && this.selected;
|
|
580
611
|
}
|
package/src/MastheadMenu.ts
CHANGED
|
@@ -12,6 +12,7 @@ import UDExMastheadMenuItem, { ItemType } from "./MastheadMenuItem.js";
|
|
|
12
12
|
import UDExDivider from "./Divider.js";
|
|
13
13
|
import MastheadMenuTemplate from "./generated/templates/MastheadMenuTemplate.lit.js";
|
|
14
14
|
import AnalyticsName from "./types/AnalyticsName.js";
|
|
15
|
+
import UDExMastheadItem from "./MastheadItem.js";
|
|
15
16
|
|
|
16
17
|
// Styles
|
|
17
18
|
import MastheadMenuCss from "./generated/themes/MastheadMenu.css.js";
|
|
@@ -37,9 +38,10 @@ export type MenuItem = {
|
|
|
37
38
|
|
|
38
39
|
export type MenuItemClickEventDetail = {
|
|
39
40
|
category?: string,
|
|
41
|
+
analyticsPath: Array<string>,
|
|
42
|
+
analyticsName: AnalyticsName,
|
|
40
43
|
originalEvent: Event,
|
|
41
44
|
item: UDExMastheadMenuItem,
|
|
42
|
-
analyticsName: AnalyticsName,
|
|
43
45
|
sourceNode: HTMLElement,
|
|
44
46
|
}
|
|
45
47
|
|
|
@@ -79,6 +81,9 @@ export type MenuItemClickEventDetail = {
|
|
|
79
81
|
category: {
|
|
80
82
|
type: String,
|
|
81
83
|
},
|
|
84
|
+
analyticsPath: {
|
|
85
|
+
type: Array<string>,
|
|
86
|
+
},
|
|
82
87
|
item: {
|
|
83
88
|
type: HTMLElement,
|
|
84
89
|
},
|
|
@@ -143,18 +148,26 @@ class UDExMastheadMenu extends UI5Element {
|
|
|
143
148
|
}
|
|
144
149
|
|
|
145
150
|
handleMenuItemClick(e: Event): void {
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const list = item.closest(".udex-masthead-menu__list") as HTMLElement;
|
|
150
|
-
this.fireEvent<MenuItemClickEventDetail>("menu-item-click", {
|
|
151
|
-
sourceNode: item.shadowRoot?.querySelector(".udex-masthead-menu-item") as HTMLElement,
|
|
152
|
-
analyticsName: AnalyticsName.Header,
|
|
153
|
-
item,
|
|
154
|
-
originalEvent: e,
|
|
155
|
-
...(type !== ItemType.Heading && { category: list?.getAttribute("category") || "" }),
|
|
156
|
-
});
|
|
151
|
+
const menuItem = e.target as UDExMastheadMenuItem;
|
|
152
|
+
if (!menuItem.url?.length) {
|
|
153
|
+
return;
|
|
157
154
|
}
|
|
155
|
+
|
|
156
|
+
const mainItem = this.closest("[udex-masthead-item]") as UDExMastheadItem;
|
|
157
|
+
const menuList = menuItem.closest(".udex-masthead-menu__list") as HTMLElement;
|
|
158
|
+
const sourceNode = menuItem.shadowRoot?.querySelector(".udex-masthead-menu-item") as HTMLElement;
|
|
159
|
+
const category = menuList?.getAttribute("category") || "";
|
|
160
|
+
|
|
161
|
+
const eventDetail: MenuItemClickEventDetail = {
|
|
162
|
+
analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),
|
|
163
|
+
analyticsName: AnalyticsName.Header,
|
|
164
|
+
originalEvent: e,
|
|
165
|
+
item: menuItem,
|
|
166
|
+
sourceNode,
|
|
167
|
+
...(menuItem.type !== ItemType.Heading && { category }),
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
this.fireEvent<MenuItemClickEventDetail>("menu-item-click", eventDetail);
|
|
158
171
|
}
|
|
159
172
|
|
|
160
173
|
focusPreviousItem(item: UDExMastheadMenuItem): void {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
@click="{{handleExploreBackToMenuItems}}"
|
|
18
18
|
label="{{_clickedItem.innerText}}"
|
|
19
19
|
type="Button"
|
|
20
|
+
is-back
|
|
20
21
|
has-border
|
|
21
22
|
icon-start
|
|
22
23
|
is-explore-back>
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
@click="{{handleBackToMenuItems}}"
|
|
36
37
|
label="{{_clickedItem.innerText}}"
|
|
37
38
|
type="Button"
|
|
39
|
+
is-back
|
|
38
40
|
has-border
|
|
39
41
|
icon-start
|
|
40
42
|
is-back-to-nav>
|
|
@@ -51,6 +53,7 @@
|
|
|
51
53
|
@click="{{handleBackToCategories}}"
|
|
52
54
|
label="{{_category.category}}"
|
|
53
55
|
type="Button"
|
|
56
|
+
is-back
|
|
54
57
|
has-border
|
|
55
58
|
icon-start
|
|
56
59
|
is-back-to-categories>
|
|
@@ -68,6 +71,7 @@
|
|
|
68
71
|
@keydown="{{handleLeftRightKeys}}"
|
|
69
72
|
accessible-role="button"
|
|
70
73
|
type="Button"
|
|
74
|
+
first-level-btn
|
|
71
75
|
first-level
|
|
72
76
|
icon-end
|
|
73
77
|
is-explore
|
|
@@ -88,7 +92,8 @@
|
|
|
88
92
|
type="Button"
|
|
89
93
|
has-border
|
|
90
94
|
icon-end
|
|
91
|
-
first-level
|
|
95
|
+
first-level
|
|
96
|
+
first-level-btn>
|
|
92
97
|
</udex-masthead-menu-item>
|
|
93
98
|
{{else}}
|
|
94
99
|
<udex-masthead-menu-item
|
|
@@ -96,6 +101,7 @@
|
|
|
96
101
|
url="{{this.href}}"
|
|
97
102
|
label="{{this.innerText}}"
|
|
98
103
|
target="{{this.target}}"
|
|
104
|
+
first-level
|
|
99
105
|
has-border>
|
|
100
106
|
</udex-masthead-menu-item>
|
|
101
107
|
{{/if}}
|
|
@@ -110,6 +116,7 @@
|
|
|
110
116
|
url="{{_clickedItem.href}}"
|
|
111
117
|
label="{{overviewLinkText}}"
|
|
112
118
|
@click="{{handleMobileItemEvent}}"
|
|
119
|
+
second-level
|
|
113
120
|
has-border>
|
|
114
121
|
</udex-masthead-menu-item>
|
|
115
122
|
</li>
|
|
@@ -125,6 +132,7 @@
|
|
|
125
132
|
aria-has-popup="true"
|
|
126
133
|
type="Button"
|
|
127
134
|
second-level
|
|
135
|
+
second-level-btn
|
|
128
136
|
has-border
|
|
129
137
|
icon-end>
|
|
130
138
|
</udex-masthead-menu-item>
|
|
@@ -136,6 +144,7 @@
|
|
|
136
144
|
@click="{{../handleMobileItemEvent}}"
|
|
137
145
|
url="{{this.url}}"
|
|
138
146
|
label="{{this.title}}"
|
|
147
|
+
second-level
|
|
139
148
|
has-border>
|
|
140
149
|
</udex-masthead-menu-item>
|
|
141
150
|
</li>
|
|
@@ -151,6 +160,7 @@
|
|
|
151
160
|
@click="{{../handleMobileCategoryItemEvent}}"
|
|
152
161
|
url="{{this._category.url}}"
|
|
153
162
|
label="{{overviewLinkText}}"
|
|
163
|
+
third-level
|
|
154
164
|
has-border>
|
|
155
165
|
</udex-masthead-menu-item>
|
|
156
166
|
</li>
|
|
@@ -162,6 +172,7 @@
|
|
|
162
172
|
@click="{{../handleMobileCategoryItemEvent}}"
|
|
163
173
|
label="{{this.title}}"
|
|
164
174
|
url="{{this.url}}"
|
|
175
|
+
third-level
|
|
165
176
|
has-border>
|
|
166
177
|
</udex-masthead-menu-item>
|
|
167
178
|
</li>
|
|
@@ -20,10 +20,12 @@ import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js"
|
|
|
20
20
|
|
|
21
21
|
export type MobileItemClickEventDetail = {
|
|
22
22
|
category?: string,
|
|
23
|
+
isBack: boolean,
|
|
23
24
|
isMobile: boolean,
|
|
24
25
|
originalEvent: Event,
|
|
25
26
|
item: UDExMastheadMenuItem,
|
|
26
27
|
analyticsName: AnalyticsName,
|
|
28
|
+
analyticsPath: Array<string>,
|
|
27
29
|
sourceNode: HTMLElement,
|
|
28
30
|
}
|
|
29
31
|
|
|
@@ -60,6 +62,15 @@ export type MobileItemClickEventDetail = {
|
|
|
60
62
|
*/
|
|
61
63
|
@event("item-click", {
|
|
62
64
|
detail: {
|
|
65
|
+
isBack: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
},
|
|
68
|
+
isMobile: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
},
|
|
71
|
+
category: {
|
|
72
|
+
type: String,
|
|
73
|
+
},
|
|
63
74
|
item: {
|
|
64
75
|
type: HTMLElement,
|
|
65
76
|
},
|
|
@@ -69,6 +80,9 @@ export type MobileItemClickEventDetail = {
|
|
|
69
80
|
analyticsName: {
|
|
70
81
|
type: AnalyticsName,
|
|
71
82
|
},
|
|
83
|
+
analyticsPath: {
|
|
84
|
+
type: Array<string>,
|
|
85
|
+
},
|
|
72
86
|
sourceNode: {
|
|
73
87
|
type: HTMLElement,
|
|
74
88
|
},
|
|
@@ -140,6 +154,7 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
140
154
|
_shouldFocusItemByIndex!: boolean;
|
|
141
155
|
_shouldFocusExploreBtn!: boolean;
|
|
142
156
|
_focusedItemIndex!: number;
|
|
157
|
+
_navItem?: UDExMastheadMenuItem;
|
|
143
158
|
|
|
144
159
|
static i18nBundle: I18nBundle;
|
|
145
160
|
|
|
@@ -318,12 +333,12 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
318
333
|
this.fireMobileItemEvent(e);
|
|
319
334
|
}
|
|
320
335
|
|
|
321
|
-
if (target.hasAttribute("first-level")) {
|
|
336
|
+
if (target.hasAttribute("first-level-btn")) {
|
|
322
337
|
this.openCategories(item);
|
|
323
338
|
this.fireMobileItemEvent(e);
|
|
324
339
|
}
|
|
325
340
|
|
|
326
|
-
if (target.hasAttribute("second-level")) {
|
|
341
|
+
if (target.hasAttribute("second-level-btn")) {
|
|
327
342
|
this.openCategoryItems(e);
|
|
328
343
|
this.fireMobileItemEvent(e);
|
|
329
344
|
}
|
|
@@ -435,15 +450,19 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
435
450
|
|
|
436
451
|
fireMobileItemEvent(e: Event, category?: string) {
|
|
437
452
|
const item = e.target as UDExMastheadMenuItem;
|
|
438
|
-
|
|
439
|
-
|
|
453
|
+
const isBack = item.hasAttribute("is-back");
|
|
454
|
+
const eventDetail: MobileItemClickEventDetail = {
|
|
440
455
|
...(category && { category }),
|
|
441
|
-
isMobile: true,
|
|
442
456
|
item,
|
|
457
|
+
isMobile: true,
|
|
458
|
+
isBack,
|
|
459
|
+
analyticsPath: this.buildAnalyticsPath(item),
|
|
443
460
|
originalEvent: e,
|
|
444
461
|
analyticsName: AnalyticsName.Header,
|
|
445
462
|
sourceNode: item.shadowRoot?.querySelector(".udex-masthead-menu-item") as HTMLElement,
|
|
446
|
-
}
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
this.fireEvent<MobileItemClickEventDetail>("item-click", eventDetail, true, false);
|
|
447
466
|
}
|
|
448
467
|
|
|
449
468
|
fireExploreSapMobileButton(e: Event) {
|
|
@@ -502,6 +521,42 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
502
521
|
});
|
|
503
522
|
}
|
|
504
523
|
|
|
524
|
+
buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {
|
|
525
|
+
const category = this.getListItemByIndex(0).label.trim();
|
|
526
|
+
const isFirstLevel = item.hasAttribute("first-level");
|
|
527
|
+
const isSecondLevel = item.hasAttribute("second-level");
|
|
528
|
+
const isThirdLevel = item.hasAttribute("third-level");
|
|
529
|
+
const isBackToCategories = item.hasAttribute("is-back-to-categories");
|
|
530
|
+
const shouldResetPath = item.hasAttribute("is-back-to-nav") || this._hideExploreSapBtn;
|
|
531
|
+
const isExploreMode = !this.showExploreBtn && !!this.items.length;
|
|
532
|
+
const clickedLabel = item.label.trim();
|
|
533
|
+
const analyticsPath: Array<string> = [];
|
|
534
|
+
|
|
535
|
+
if (shouldResetPath) {
|
|
536
|
+
this._navItem = undefined;
|
|
537
|
+
analyticsPath.length = 0;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
if (isFirstLevel) {
|
|
541
|
+
this._navItem = item;
|
|
542
|
+
analyticsPath.push(clickedLabel);
|
|
543
|
+
} else if (isSecondLevel) {
|
|
544
|
+
analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));
|
|
545
|
+
} else if (isThirdLevel) {
|
|
546
|
+
analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));
|
|
547
|
+
} else if (isBackToCategories) {
|
|
548
|
+
if (this._navItem) {
|
|
549
|
+
analyticsPath.push(this._navItem.label.trim());
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
if (isExploreMode) {
|
|
554
|
+
analyticsPath.unshift(this.exploreItem.label);
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
return analyticsPath;
|
|
558
|
+
}
|
|
559
|
+
|
|
505
560
|
get exploreBtnMenu(): UDExMastheadMenuItem {
|
|
506
561
|
return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(".udex-masthead-mobile-menu__explore-btn")!;
|
|
507
562
|
}
|
package/src/MastheadShell.ts
CHANGED
|
@@ -13,6 +13,7 @@ import "@ui5/webcomponents-icons/dist/decline.js";
|
|
|
13
13
|
import "@ui5/webcomponents-icons/dist/menu2.js";
|
|
14
14
|
import "@ui5/webcomponents-icons/dist/search.js";
|
|
15
15
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
16
|
+
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
16
17
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
17
18
|
import { MAIN_LINKS } from "./generated/i18n/i18n-defaults.js";
|
|
18
19
|
import UDExMastheadItem, { DropdownItemAction } from "./MastheadItem.js";
|
|
@@ -405,6 +406,9 @@ class UDExMastheadShell extends UI5Element {
|
|
|
405
406
|
|
|
406
407
|
onEnterDOM(): void {
|
|
407
408
|
ResizeHandler.register(this, this._handleResizeBound);
|
|
409
|
+
if (isDesktop()) {
|
|
410
|
+
this.setAttribute("desktop", "");
|
|
411
|
+
}
|
|
408
412
|
}
|
|
409
413
|
|
|
410
414
|
onExitDOM(): void {
|
|
@@ -8,23 +8,23 @@ function block0 (this: MastheadMobileMenu, context: UI5Element, tags: string[],
|
|
|
8
8
|
function block1 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-mobile-menu__list-search"><slot name="search"></slot></div>`;}
|
|
9
9
|
function block2 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }`;}
|
|
10
10
|
function block3 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<li class="udex-masthead-mobile-menu__list-item" role="none">${ item.subItems ? block4.call(this, context, tags, suffix, item, index) : block5.call(this, context, tags, suffix, item, index) }</li>`;}
|
|
11
|
-
function block4 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMenuItemClick}" label="${ifDefined(item.innerText)}" aria-has-popup="true" id="${ifDefined(item._id)}" type="Button" has-border icon-end first-level></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item @click="${this.handleMenuItemClick}" label="${ifDefined(item.innerText)}" aria-has-popup="true" id="${ifDefined(item._id)}" type="Button" has-border icon-end first-level></udex-masthead-menu-item>`;}
|
|
12
|
-
function block5 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileItemEvent}" url="${ifDefined(item.href)}" label="${ifDefined(item.innerText)}" target="${ifDefined(item.target)}" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item @click="${this.handleMobileItemEvent}" url="${ifDefined(item.href)}" label="${ifDefined(item.innerText)}" target="${ifDefined(item.target)}" has-border></udex-masthead-menu-item>`;}
|
|
11
|
+
function block4 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMenuItemClick}" label="${ifDefined(item.innerText)}" aria-has-popup="true" id="${ifDefined(item._id)}" type="Button" has-border icon-end first-level first-level-btn></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item @click="${this.handleMenuItemClick}" label="${ifDefined(item.innerText)}" aria-has-popup="true" id="${ifDefined(item._id)}" type="Button" has-border icon-end first-level first-level-btn></udex-masthead-menu-item>`;}
|
|
12
|
+
function block5 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileItemEvent}" url="${ifDefined(item.href)}" label="${ifDefined(item.innerText)}" target="${ifDefined(item.target)}" first-level has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item @click="${this.handleMobileItemEvent}" url="${ifDefined(item.href)}" label="${ifDefined(item.innerText)}" target="${ifDefined(item.target)}" first-level has-border></udex-masthead-menu-item>`;}
|
|
13
13
|
function block6 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<li class="udex-masthead-mobile-menu__list-item" role="none">${ this._hideExploreSapBtn ? block7.call(this, context, tags, suffix) : block8.call(this, context, tags, suffix) }</li>${ this._clickedItem.href ? block11.call(this, context, tags, suffix) : undefined }${ repeat(this._categories, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block12.call(this, context, tags, suffix, item, index)) }`;}
|
|
14
|
-
function block7 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__back-item" @click="${this.handleExploreBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" has-border icon-start is-explore-back></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__back-item" @click="${this.handleExploreBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" has-border icon-start is-explore-back></udex-masthead-menu-item>`;}
|
|
14
|
+
function block7 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__back-item" @click="${this.handleExploreBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" is-back has-border icon-start is-explore-back></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__back-item" @click="${this.handleExploreBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" is-back has-border icon-start is-explore-back></udex-masthead-menu-item>`;}
|
|
15
15
|
function block8 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.isNotMultipleMode ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }`;}
|
|
16
16
|
function block9 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__heading" label="${ifDefined(this._clickedItem.innerText)}" type="Heading" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__heading" label="${ifDefined(this._clickedItem.innerText)}" type="Heading" has-border></udex-masthead-menu-item>`;}
|
|
17
|
-
function block10 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" has-border icon-start is-back-to-nav></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" has-border icon-start is-back-to-nav></udex-masthead-menu-item>`;}
|
|
18
|
-
function block11 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} url="${ifDefined(this._clickedItem.href)}" label="${ifDefined(this.overviewLinkText)}" @click="${this.handleMobileItemEvent}" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item url="${ifDefined(this._clickedItem.href)}" label="${ifDefined(this.overviewLinkText)}" @click="${this.handleMobileItemEvent}" has-border></udex-masthead-menu-item></li>`;}
|
|
17
|
+
function block10 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" is-back has-border icon-start is-back-to-nav></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToMenuItems}" label="${ifDefined(this._clickedItem.innerText)}" type="Button" is-back has-border icon-start is-back-to-nav></udex-masthead-menu-item>`;}
|
|
18
|
+
function block11 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} url="${ifDefined(this._clickedItem.href)}" label="${ifDefined(this.overviewLinkText)}" @click="${this.handleMobileItemEvent}" second-level has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item url="${ifDefined(this._clickedItem.href)}" label="${ifDefined(this.overviewLinkText)}" @click="${this.handleMobileItemEvent}" second-level has-border></udex-masthead-menu-item></li>`;}
|
|
19
19
|
function block12 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.category ? block13.call(this, context, tags, suffix, item, index) : block14.call(this, context, tags, suffix, item, index) }`;}
|
|
20
|
-
function block13 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMenuCategoryClick}" url="${ifDefined(item.url)}" id="${index}" label="${ifDefined(item.category)}" aria-has-popup="true" type="Button" second-level has-border icon-end></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMenuCategoryClick}" url="${ifDefined(item.url)}" id="${index}" label="${ifDefined(item.category)}" aria-has-popup="true" type="Button" second-level has-border icon-end></udex-masthead-menu-item></li>`;}
|
|
20
|
+
function block13 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMenuCategoryClick}" url="${ifDefined(item.url)}" id="${index}" label="${ifDefined(item.category)}" aria-has-popup="true" type="Button" second-level second-level-btn has-border icon-end></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMenuCategoryClick}" url="${ifDefined(item.url)}" id="${index}" label="${ifDefined(item.category)}" aria-has-popup="true" type="Button" second-level second-level-btn has-border icon-end></udex-masthead-menu-item></li>`;}
|
|
21
21
|
function block14 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ repeat(item.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block15.call(this, context, tags, suffix, item, index)) }`;}
|
|
22
|
-
function block15 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileItemEvent}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMobileItemEvent}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}" has-border></udex-masthead-menu-item></li>`;}
|
|
23
|
-
function block16 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToCategories}" label="${ifDefined(this._category.category)}" type="Button" has-border icon-start is-back-to-categories></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>${ this._category.url ? block17.call(this, context, tags, suffix) : undefined }${ repeat(this._category.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block18.call(this, context, tags, suffix, item, index)) }` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToCategories}" label="${ifDefined(this._category.category)}" type="Button" has-border icon-start is-back-to-categories></udex-masthead-menu-item></li>${ this._category.url ? block17.call(this, context, tags, suffix) : undefined }${ repeat(this._category.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block18.call(this, context, tags, suffix, item, index)) }`;}
|
|
24
|
-
function block17 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileCategoryItemEvent}" url="${ifDefined(this._category.url)}" label="${ifDefined(this.overviewLinkText)}" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMobileCategoryItemEvent}" url="${ifDefined(this._category.url)}" label="${ifDefined(this.overviewLinkText)}" has-border></udex-masthead-menu-item></li>`;}
|
|
22
|
+
function block15 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileItemEvent}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}" second-level has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMobileItemEvent}" url="${ifDefined(item.url)}" label="${ifDefined(item.title)}" second-level has-border></udex-masthead-menu-item></li>`;}
|
|
23
|
+
function block16 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToCategories}" label="${ifDefined(this._category.category)}" type="Button" is-back has-border icon-start is-back-to-categories></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>${ this._category.url ? block17.call(this, context, tags, suffix) : undefined }${ repeat(this._category.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block18.call(this, context, tags, suffix, item, index)) }` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item class="udex-masthead-mobile-menu__back-item" @click="${this.handleBackToCategories}" label="${ifDefined(this._category.category)}" type="Button" is-back has-border icon-start is-back-to-categories></udex-masthead-menu-item></li>${ this._category.url ? block17.call(this, context, tags, suffix) : undefined }${ repeat(this._category.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block18.call(this, context, tags, suffix, item, index)) }`;}
|
|
24
|
+
function block17 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileCategoryItemEvent}" url="${ifDefined(this._category.url)}" label="${ifDefined(this.overviewLinkText)}" third-level has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMobileCategoryItemEvent}" url="${ifDefined(this._category.url)}" label="${ifDefined(this.overviewLinkText)}" third-level has-border></udex-masthead-menu-item></li>`;}
|
|
25
25
|
function block18 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ item.url ? block19.call(this, context, tags, suffix, item, index) : undefined }`;}
|
|
26
|
-
function block19 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileCategoryItemEvent}" label="${ifDefined(item.title)}" url="${ifDefined(item.url)}" has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMobileCategoryItemEvent}" label="${ifDefined(item.title)}" url="${ifDefined(item.url)}" has-border></udex-masthead-menu-item></li>`;}
|
|
27
|
-
function block20 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__explore-btn" id="${ifDefined(this.exploreItem._id)}" @click="${this.handleExploreSapClick}" @keydown="${this.handleLeftRightKeys}" accessible-role="button" type="Button" first-level icon-end is-explore label="${ifDefined(this.exploreItem.innerText)}"></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__explore-btn" id="${ifDefined(this.exploreItem._id)}" @click="${this.handleExploreSapClick}" @keydown="${this.handleLeftRightKeys}" accessible-role="button" type="Button" first-level icon-end is-explore label="${ifDefined(this.exploreItem.innerText)}"></udex-masthead-menu-item>`;}
|
|
26
|
+
function block19 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<li class="udex-masthead-mobile-menu__list-item" role="none"><${scopeTag("udex-masthead-menu-item", tags, suffix)} @click="${this.handleMobileCategoryItemEvent}" label="${ifDefined(item.title)}" url="${ifDefined(item.url)}" third-level has-border></${scopeTag("udex-masthead-menu-item", tags, suffix)}></li>` : html`<li class="udex-masthead-mobile-menu__list-item" role="none"><udex-masthead-menu-item @click="${this.handleMobileCategoryItemEvent}" label="${ifDefined(item.title)}" url="${ifDefined(item.url)}" third-level has-border></udex-masthead-menu-item></li>`;}
|
|
27
|
+
function block20 (this: MastheadMobileMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-mobile-menu__explore-btn" id="${ifDefined(this.exploreItem._id)}" @click="${this.handleExploreSapClick}" @keydown="${this.handleLeftRightKeys}" accessible-role="button" type="Button" first-level-btn first-level icon-end is-explore label="${ifDefined(this.exploreItem.innerText)}"></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-mobile-menu__explore-btn" id="${ifDefined(this.exploreItem._id)}" @click="${this.handleExploreSapClick}" @keydown="${this.handleLeftRightKeys}" accessible-role="button" type="Button" first-level-btn first-level icon-end is-explore label="${ifDefined(this.exploreItem.innerText)}"></udex-masthead-menu-item>`;}
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
export default block0;
|
|
@@ -7,7 +7,7 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
|
|
|
7
7
|
registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
|
|
8
8
|
registerThemePropertiesLoader("@sapudex/web-components", "sap_horizon", async () => defaultTheme);
|
|
9
9
|
|
|
10
|
-
const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/MastheadItem.css.ts",content:`:host{--udex-masthead-item-background: none;--udex-masthead-item-border: none;--udex-masthead-item-padding: 1.35rem;--udex-masthead-item-font-size: var(--udexTypographyNavigationRegularMFontSize, 14px);--udex-masthead-item-line-height: var(--udexTypographyEyebrowLineHeight, 1.1);--udex-masthead-item-color: var(--udexColorGrey9, #223548);--udex-masthead-item-font-family: var(--sapFontFamily);--udex-masthead-item-color-hover: var(--udexColorBlue8, #0057D2);--udex-masthead-item-color-active: var(--udexColorBlue9, #0040B0);--udex-masthead-item-border-color: var(--udexColorBlue8, #0057D2);--udex-masthead-item-country-border-color-hover: var(--udexColorBlue8, #0057D2);--udex-masthead-item-border-radius: var(--udexRadiusXXS) var(--udexRadiusXXS) 0 0;--udex-masthead-item-border-width: .188rem;--udex-masthead-item-align-content: center;--udex-masthead-item-justify-content: center;--udex-masthead-item-display: inline-flex;--udex-masthead-item-icon-size: 1.125rem;--udex-masthead-item-icon-container-size: 2rem;--udex-masthead-item-outline-border-color: var(--udexColorBlue10, #002A86);--udex-masthead-item-dropdown-box-shadow: var(--sapContent_Shadow2, 0 10px 30px 0 #22364940);--udex-masthead-item-dropdown-position-left: -55px;--udex-masthead-item-dropdown-position-right: -55px;--udex-masthead-item-dropdown-mobile-min-width: 360px;--udex-masthead-item-dropdown-select-box-min-width: 397px;--udex-masthead-item-dropdown-position: absolute;--udex-masthead-item-dropdown-mobile-height: var(--udex-masthead-shell-mobile-menu-height, 100%);--udex-masthead-item-dropdown-box-shadow-mobile: none;--udex-masthead-item-dropdown-zindex: 100;--udex-masthead-item-button-icon-size: 32px;display:var(--udex-masthead-item-display);align-items:var(--udex-masthead-item-align-content);justify-content:var(--udex-masthead-item-justify-content);position:relative;font-family:var(--udex-masthead-item-font-family);font-size:var(--udex-masthead-item-font-size);line-height:var(--udex-masthead-item-line-height)}.udex-masthead-item__dropdown{position:absolute;top:100%;left:var(--udex-masthead-item-dropdown-position-left);z-index:var(--udex-masthead-item-dropdown-zindex);box-shadow:var(--udex-masthead-item-dropdown-box-shadow)}.udex-masthead-item__button--support+.udex-masthead-item__dropdown,.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,.udex-masthead-item__button--profile+.udex-masthead-item__dropdown{top:46px;left:auto;right:0}.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,.udex-masthead-item__button--profile+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-mobile-min-width)}.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-select-box-min-width)}.udex-masthead-item__image-wrap{position:relative;display:flex}:host([desktop]) .udex-masthead-item__button--country-selector:hover .udex-masthead-item__image-wrap:after{content:"";position:absolute;inset:0;border:1px solid var(--udex-masthead-item-country-border-color-hover);border-radius:50%;box-sizing:border-box}.udex-masthead-item__button--explore+.udex-masthead-item__dropdown{top:60px;inset-inline-start:0;box-sizing:border-box;inline-size:100%}:host([slot="exploreSAP"]){position:inherit}.udex-masthead-item__dropdown-holder{position:relative}.udex-masthead-item{font-size:inherit;line-height:inherit;font-family:inherit;color:var(--udex-masthead-item-color);background:var(--udex-masthead-item-background);border:var(--udex-masthead-item-border);padding:var(--udex-masthead-item-padding) 0;cursor:pointer;text-decoration:none;white-space:nowrap;position:relative}.udex-masthead-item__button--icon{display:flex;align-items:center;justify-content:center;width:var(--udex-masthead-item-button-icon-size);height:var(--udex-masthead-item-button-icon-size)}.udex-masthead-item.udex-masthead-item__button--profile,.udex-masthead-item.udex-masthead-item__button--icon{padding:0}.udex-masthead-item:focus{outline:none}.udex-masthead-item__text{display:flex;align-items:center}:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__text,:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__image,:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__icon,.udex-masthead-item:focus-visible .udex-masthead-item__text,.udex-masthead-item:focus-visible .udex-masthead-item__icon{outline:var(--udexRadiusXXS) solid var(--udex-masthead-item-outline-border-color);outline-offset:2px;border-radius:var(--udexRadiusXXS)}:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__image,:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__icon,.udex-masthead-item:focus .udex-masthead-item__image,.udex-masthead-item:focus .udex-masthead-item__icon{outline-offset:6px}.udex-masthead-item__button--profile .udex-masthead-item__text{display:inline-block}.udex-masthead-item.udex-masthead-item__button--profile:focus .udex-masthead-item__text{border-radius:50%}.udex-masthead-item__dropdown-icon{margin-inline-start:var(--udexSpacer4)}:host(:hover) .udex-masthead-item,:host(:hover) .udex-masthead-item__image,:host(:hover) .udex-masthead-item__icon,:host(:hover) .udex-masthead-item__dropdown-icon{color:var(--udex-masthead-item-color-hover)}:host(:active) .udex-masthead-item,:host([selected]) .udex-masthead-item,:host(:active) .udex-masthead-item-icon,:host([selected]) .udex-masthead-item-icon,:host(:active) .udex-masthead-item__dropdown-icon,:host([selected]) .udex-masthead-item__dropdown-icon{color:var(--udex-masthead-item-color-active)}:host(:active) .udex-masthead-item__dropdown-icon,:host([selected]) .udex-masthead-item__dropdown-icon{transform:rotate(180deg)}:host(:active):not([hide-active-border]) .udex-masthead-item:after,:host([selected]:not([hide-active-border])) .udex-masthead-item:after{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--udex-masthead-item-border-width);background-color:var(--udex-masthead-item-border-color);border-radius:var(--udex-masthead-item-border-radius)}:host(:active) .udex-masthead-item.udex-masthead-item__button--icon:after,:host([selected]) .udex-masthead-item.udex-masthead-item__button--icon:after,:host(:active) .udex-masthead-item.udex-masthead-item__button--profile:after,:host([selected]) .udex-masthead-item.udex-masthead-item__button--profile:after{bottom:-14px;left:0;right:0}:host([selected]) .udex-masthead-item__image,:host(:active) .udex-masthead-item__image,:host([selected]) .udex-masthead-item__icon,:host(:active) .udex-masthead-item__icon{color:var(--udex-masthead-item-color-active)}.udex-masthead-item__image,.udex-masthead-item__icon{width:var(--udex-masthead-item-icon-size);height:var(--udex-masthead-item-icon-size);color:var(--udex-masthead-item-color)}.udex-masthead-item__avatar-container{display:flex;align-items:center;justify-content:center;width:auto;height:auto}:host(:dir(rtl)) .udex-masthead-item__dropdown{right:var(--udex-masthead-item-dropdown-position-right);left:auto}:host(:dir(rtl)) .udex-masthead-item__button--support+.udex-masthead-item__dropdown,:host(:dir(rtl)) .udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,:host(:dir(rtl)) .udex-masthead-item__button--explore+.udex-masthead-item__dropdown,:host(:dir(rtl)) .udex-masthead-item__button--profile+.udex-masthead-item__dropdown{left:0;right:auto}:host([slot="exploreSAP"]) ::slotted([slot="dropdown"]){--udex-masthead-menu-padding-desktop: 32px var(--udexSpacer72);--udex-masthead-menu-column-width: auto;--udex-masthead-menu-grid-template-columns: repeat(4, calc(25% - var(--udex-masthead-menu-column_gap)*3/4))}:host([slot="countrySelector"]) ::slotted([slot="dropdown"]),:host([slot="profile"]) ::slotted([slot="dropdown"]){width:100%;display:flex;flex-direction:column}:host([slot="countrySelector"][_is-mobile-mode]) ::slotted([slot="dropdown"]),:host([slot="profile"][_is-mobile-mode]) ::slotted([slot="dropdown"]){display:initial}:host([_is-mobile-mode]) .udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,:host([part="menu-open-btn"]) .udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-mobile-min-width)}:host([_is-mobile-mode]) .udex-masthead-item__dropdown,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown{position:var(--udex-masthead-item-dropdown-position);height:var(--udex-masthead-item-dropdown-mobile-height);width:var(--udex-masthead-item-dropdown-mobile-min-width);top:60px;right:0;left:auto}:host([_is-mobile-mode]) .udex-masthead-item__dropdown-holder,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown-holder{height:100%;box-shadow:none;overflow:auto}:host([_is-mobile-mode]) .udex-masthead-item__dropdown:after,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown:after{box-shadow:var(--udex-masthead-shell-dropdown-shadow);pointer-events:none;content:"";position:absolute;inset:-60px 0 0}:host([_is-mobile-mode]),:host([part="menu-open-btn"]){position:initial}.udex-masthead-hidden-text{display:none}@media (max-width: 1279px){:host{position:initial}:host([slot="countrySelector"]) ::slotted([slot="dropdown"]),:host([slot="profile"]) ::slotted([slot="dropdown"]){display:initial}.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-mobile-min-width)}.udex-masthead-item__button--support+.udex-masthead-item__dropdown,.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,.udex-masthead-item__button--profile+.udex-masthead-item__dropdown,.udex-masthead-item__dropdown{top:60px}:host(:dir(rtl)) .udex-masthead-item__dropdown{left:0;right:auto}.udex-masthead-item__dropdown{position:var(--udex-masthead-item-dropdown-position);height:var(--udex-masthead-item-dropdown-mobile-height);width:var(--udex-masthead-item-dropdown-mobile-min-width);box-shadow:var(--udex-masthead-item-dropdown-box-shadow-mobile);top:60px}.udex-masthead-item__dropdown-holder{height:100%;overflow:auto}.udex-masthead-item__dropdown:after{box-shadow:var(--udex-masthead-shell-dropdown-shadow);pointer-events:none;content:"";position:absolute;inset:-60px 0 0}}@media (max-width: 979px){:host([_is-mobile-mode]) .udex-masthead-item__dropdown,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown,.udex-masthead-item__dropdown{width:100%}}
|
|
10
|
+
const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/MastheadItem.css.ts",content:`:host{--udex-masthead-item-background: none;--udex-masthead-item-border: none;--udex-masthead-item-padding: 1.35rem;--udex-masthead-item-font-size: var(--udexTypographyNavigationRegularMFontSize, 14px);--udex-masthead-item-line-height: var(--udexTypographyEyebrowLineHeight, 1.1);--udex-masthead-item-color: var(--udexColorGrey9, #223548);--udex-masthead-item-font-family: var(--sapFontFamily);--udex-masthead-item-color-hover: var(--udexColorBlue8, #0057D2);--udex-masthead-item-color-active: var(--udexColorBlue9, #0040B0);--udex-masthead-item-border-color: var(--udexColorBlue8, #0057D2);--udex-masthead-item-country-border-color-hover: var(--udexColorBlue8, #0057D2);--udex-masthead-item-border-radius: var(--udexRadiusXXS) var(--udexRadiusXXS) 0 0;--udex-masthead-item-border-width: .188rem;--udex-masthead-item-align-content: center;--udex-masthead-item-justify-content: center;--udex-masthead-item-display: inline-flex;--udex-masthead-item-icon-size: 1.125rem;--udex-masthead-item-icon-container-size: 2rem;--udex-masthead-item-outline-border-color: var(--udexColorBlue10, #002A86);--udex-masthead-item-dropdown-box-shadow: var(--sapContent_Shadow2, 0 10px 30px 0 #22364940);--udex-masthead-item-dropdown-position-left: -55px;--udex-masthead-item-dropdown-position-right: -55px;--udex-masthead-item-dropdown-mobile-min-width: 360px;--udex-masthead-item-dropdown-select-box-min-width: 397px;--udex-masthead-item-dropdown-position: absolute;--udex-masthead-item-dropdown-mobile-height: var(--udex-masthead-shell-mobile-menu-height, 100%);--udex-masthead-item-dropdown-box-shadow-mobile: none;--udex-masthead-item-dropdown-zindex: 100;--udex-masthead-item-button-icon-size: 32px;display:var(--udex-masthead-item-display);align-items:var(--udex-masthead-item-align-content);justify-content:var(--udex-masthead-item-justify-content);position:relative;font-family:var(--udex-masthead-item-font-family);font-size:var(--udex-masthead-item-font-size);line-height:var(--udex-masthead-item-line-height)}.udex-masthead-item__dropdown{position:absolute;top:100%;left:var(--udex-masthead-item-dropdown-position-left);z-index:var(--udex-masthead-item-dropdown-zindex);box-shadow:var(--udex-masthead-item-dropdown-box-shadow)}.udex-masthead-item__button--support+.udex-masthead-item__dropdown,.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,.udex-masthead-item__button--profile+.udex-masthead-item__dropdown{top:46px;left:auto;right:0}.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,.udex-masthead-item__button--profile+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-mobile-min-width)}.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-select-box-min-width)}.udex-masthead-item__image-wrap{position:relative;display:flex}:host([desktop]) .udex-masthead-item__button--country-selector:hover .udex-masthead-item__image-wrap:after{content:"";position:absolute;inset:0;border:1px solid var(--udex-masthead-item-country-border-color-hover);border-radius:50%;box-sizing:border-box}.udex-masthead-item__button--explore+.udex-masthead-item__dropdown{top:60px;inset-inline-start:0;box-sizing:border-box;inline-size:100%}:host([slot="exploreSAP"]){position:inherit}.udex-masthead-item__dropdown-holder{position:relative}.udex-masthead-item{font-size:inherit;line-height:inherit;font-family:inherit;color:var(--udex-masthead-item-color);background:var(--udex-masthead-item-background);border:var(--udex-masthead-item-border);padding:var(--udex-masthead-item-padding) 0;cursor:pointer;text-decoration:none;white-space:nowrap;position:relative}.udex-masthead-item__button--icon{display:flex;align-items:center;justify-content:center;width:var(--udex-masthead-item-button-icon-size);height:var(--udex-masthead-item-button-icon-size)}.udex-masthead-item.udex-masthead-item__button--profile,.udex-masthead-item.udex-masthead-item__button--icon{padding:0}.udex-masthead-item:focus{outline:none}.udex-masthead-item__text{display:flex;align-items:center}:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__text,:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__image,:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__icon,.udex-masthead-item:focus-visible .udex-masthead-item__text,.udex-masthead-item:focus-visible .udex-masthead-item__image,.udex-masthead-item:focus-visible .udex-masthead-item__icon{outline:var(--udexRadiusXXS) solid var(--udex-masthead-item-outline-border-color);outline-offset:2px;border-radius:var(--udexRadiusXXS)}:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__image,:host([desktop]) .udex-masthead-item:focus .udex-masthead-item__icon,.udex-masthead-item:focus .udex-masthead-item__image,.udex-masthead-item:focus .udex-masthead-item__icon{outline-offset:6px}.udex-masthead-item__button--profile .udex-masthead-item__text{display:inline-block}.udex-masthead-item.udex-masthead-item__button--profile:focus .udex-masthead-item__text{border-radius:50%}.udex-masthead-item__dropdown-icon{margin-inline-start:var(--udexSpacer4)}:host(:hover) .udex-masthead-item,:host(:hover) .udex-masthead-item__image,:host(:hover) .udex-masthead-item__icon,:host(:hover) .udex-masthead-item__dropdown-icon{color:var(--udex-masthead-item-color-hover)}:host(:active) .udex-masthead-item,:host([selected]) .udex-masthead-item,:host(:active) .udex-masthead-item-icon,:host([selected]) .udex-masthead-item-icon,:host(:active) .udex-masthead-item__dropdown-icon,:host([selected]) .udex-masthead-item__dropdown-icon{color:var(--udex-masthead-item-color-active)}:host(:active) .udex-masthead-item__dropdown-icon,:host([selected]) .udex-masthead-item__dropdown-icon{transform:rotate(180deg)}:host(:active):not([hide-active-border]) .udex-masthead-item:after,:host([selected]:not([hide-active-border])) .udex-masthead-item:after{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--udex-masthead-item-border-width);background-color:var(--udex-masthead-item-border-color);border-radius:var(--udex-masthead-item-border-radius)}:host(:active) .udex-masthead-item.udex-masthead-item__button--icon:after,:host([selected]) .udex-masthead-item.udex-masthead-item__button--icon:after,:host(:active) .udex-masthead-item.udex-masthead-item__button--profile:after,:host([selected]) .udex-masthead-item.udex-masthead-item__button--profile:after{bottom:-14px;left:0;right:0}:host([selected]) .udex-masthead-item__image,:host(:active) .udex-masthead-item__image,:host([selected]) .udex-masthead-item__icon,:host(:active) .udex-masthead-item__icon{color:var(--udex-masthead-item-color-active)}.udex-masthead-item__image,.udex-masthead-item__icon{width:var(--udex-masthead-item-icon-size);height:var(--udex-masthead-item-icon-size);color:var(--udex-masthead-item-color)}.udex-masthead-item__avatar-container{display:flex;align-items:center;justify-content:center;width:auto;height:auto}:host(:dir(rtl)) .udex-masthead-item__dropdown{right:var(--udex-masthead-item-dropdown-position-right);left:auto}:host(:dir(rtl)) .udex-masthead-item__button--support+.udex-masthead-item__dropdown,:host(:dir(rtl)) .udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,:host(:dir(rtl)) .udex-masthead-item__button--explore+.udex-masthead-item__dropdown,:host(:dir(rtl)) .udex-masthead-item__button--profile+.udex-masthead-item__dropdown{left:0;right:auto}:host([slot="exploreSAP"]) ::slotted([slot="dropdown"]){--udex-masthead-menu-padding-desktop: 32px var(--udexSpacer72);--udex-masthead-menu-column-width: auto;--udex-masthead-menu-grid-template-columns: repeat(4, calc(25% - var(--udex-masthead-menu-column_gap)*3/4))}:host([slot="countrySelector"]) ::slotted([slot="dropdown"]),:host([slot="profile"]) ::slotted([slot="dropdown"]){width:100%;display:flex;flex-direction:column}:host([slot="countrySelector"][_is-mobile-mode]) ::slotted([slot="dropdown"]),:host([slot="profile"][_is-mobile-mode]) ::slotted([slot="dropdown"]){display:initial}:host([_is-mobile-mode]) .udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,:host([part="menu-open-btn"]) .udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-mobile-min-width)}:host([_is-mobile-mode]) .udex-masthead-item__dropdown,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown{position:var(--udex-masthead-item-dropdown-position);height:var(--udex-masthead-item-dropdown-mobile-height);width:var(--udex-masthead-item-dropdown-mobile-min-width);top:60px;right:0;left:auto}:host([_is-mobile-mode]) .udex-masthead-item__dropdown-holder,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown-holder{height:100%;box-shadow:none;overflow:auto}:host([_is-mobile-mode]) .udex-masthead-item__dropdown:after,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown:after{box-shadow:var(--udex-masthead-shell-dropdown-shadow);pointer-events:none;content:"";position:absolute;inset:-60px 0 0}:host([_is-mobile-mode]),:host([part="menu-open-btn"]){position:initial}.udex-masthead-hidden-text{display:none}@media (max-width: 1279px){:host{position:initial}:host([slot="countrySelector"]) ::slotted([slot="dropdown"]),:host([slot="profile"]) ::slotted([slot="dropdown"]){display:initial}.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown{min-width:var(--udex-masthead-item-dropdown-mobile-min-width)}.udex-masthead-item__button--support+.udex-masthead-item__dropdown,.udex-masthead-item__button--country-selector+.udex-masthead-item__dropdown,.udex-masthead-item__button--profile+.udex-masthead-item__dropdown,.udex-masthead-item__dropdown{top:60px}:host(:dir(rtl)) .udex-masthead-item__dropdown{left:0;right:auto}.udex-masthead-item__dropdown{position:var(--udex-masthead-item-dropdown-position);height:var(--udex-masthead-item-dropdown-mobile-height);width:var(--udex-masthead-item-dropdown-mobile-min-width);box-shadow:var(--udex-masthead-item-dropdown-box-shadow-mobile);top:60px}.udex-masthead-item__dropdown-holder{height:100%;overflow:auto}.udex-masthead-item__dropdown:after{box-shadow:var(--udex-masthead-shell-dropdown-shadow);pointer-events:none;content:"";position:absolute;inset:-60px 0 0}}@media (max-width: 979px){:host([_is-mobile-mode]) .udex-masthead-item__dropdown,:host([part="menu-open-btn"]) .udex-masthead-item__dropdown,.udex-masthead-item__dropdown{width:100%}}
|
|
11
11
|
`};
|
|
12
12
|
export default styleData;
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
|
|
|
7
7
|
registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
|
|
8
8
|
registerThemePropertiesLoader("@sapudex/web-components", "sap_horizon", async () => defaultTheme);
|
|
9
9
|
|
|
10
|
-
const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/MastheadShell.css.ts",content:`:host{--udex-masthead-shell-height: 60px;--udex-masthead-shell-background: var(--udexColorGrey1, #F5F6F7);--udex-masthead-shell-dropdown-shadow: var(--sapContent_Shadow2, 0 10px 30px 0 #22364940);--udex-masthead-shell-site-label-font-size: var(--udexTypographyNavigationRegularXLFontSize, 16px);--udex-masthead-shell-site-label-line-height: 24px;--udex-masthead-shell-site-label-font-weight: var(--udexTypographyFontWeightBold, 700);--udex-masthead-shell-site-label-text-decoration: none;--udex-masthead-shell-site-label-color: var(--udexColorGrey8, #354A5F);--udex-masthead-shell-site-label-color-hover: var(--udexColorBlue7, #0070F2);--udex-masthead-shell-item-gap: var(--udexSpacer24);--udex-masthead-shell-item-icon-gap: var(--udexSpacer8);--udex-grid-gutter: 3rem;--udex-grid-margin-m: 4.5rem;--udex-grid-margin-l: 4.5rem;--udex-grid-margin-xl: 5.25rem;--udex-column-width-l: calc((100% - 2 * var(--udex-grid-margin-l) - 11 * var(--udex-grid-gutter)) / 12);--udex-column-width-xl: calc((100% - 2 * var(--udex-grid-margin-xl) - 11 * var(--udex-grid-gutter)) / 12);--udex-masthead-shell-search-container-width-xl: calc(8 * var(--udex-column-width-xl) + 7 * var(--udex-grid-gutter));--udex-masthead-shell-close-button-divider-color: var(--udexCoreDividerLight, #D5DADD);--udex-masthead-shell-z-index: 10;--udex-masthead-shell-container-xl-max-width: 1432px;--udex-masthead-shell-container-l-max-width: 1456px;--udex-masthead-mobile-menu-buttons-width: 360px;--udex-masthead-right-menu-padding: var(--udexSpacer64);--udex-masthead-shell-explore-margin: var(--udexSpacer12);--udex-masthead-shell-mobile-menu-height: 100%}:host{position:relative;display:block;width:100%;container-type:inline-size;background:var(--udex-masthead-shell-background);z-index:var(--udex-masthead-shell-z-index)}:host([sticky-position]){position:sticky;top:0}:host([show-search-by-default]) .udex-masthead-shell__right-menu,:host([show-search-by-default]) .udex-masthead-shell__main-content,:host([_is-search-opened]) .udex-masthead-shell__main-content{width:30%}:host([show-search-by-default]) .udex-masthead-shell__search-container,:host([_is-search-opened]) .udex-masthead-shell__search-container{width:40%}.udex-masthead-shell__search-container{background:var(--udex-masthead-shell-background)}.udex-masthead-shell__btn-holder{display:flex;justify-content:flex-end;width:30%}.udex-masthead-shell__close-search-btn{--udex-control-button-small-height: 32px;--udex-control-button-small-width: 32px;--udex-control-button-small-icon-size: 18px}.udex-masthead-shell{display:flex;justify-content:space-between;align-items:center;position:relative;padding:0 var(--udexSpacer84);max-width:var(--udex-masthead-shell-container-xl-max-width);margin:0 auto;height:var(--udex-masthead-shell-height)}.udex-masthead-shell__logo{margin-inline-end:var(--udexSpacer16);width:64px}.udex-masthead-shell__logo-image{width:100%}.udex-masthead-shell__logo--link{cursor:pointer;display:flex}.udex-masthead-shell__logo--link:focus,.udex-masthead-
|
|
10
|
+
const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/MastheadShell.css.ts",content:`:host{--udex-masthead-shell-height: 60px;--udex-masthead-shell-background: var(--udexColorGrey1, #F5F6F7);--udex-masthead-shell-dropdown-shadow: var(--sapContent_Shadow2, 0 10px 30px 0 #22364940);--udex-masthead-shell-site-label-font-size: var(--udexTypographyNavigationRegularXLFontSize, 16px);--udex-masthead-shell-site-label-line-height: 24px;--udex-masthead-shell-site-label-font-weight: var(--udexTypographyFontWeightBold, 700);--udex-masthead-shell-site-label-text-decoration: none;--udex-masthead-shell-site-label-color: var(--udexColorGrey8, #354A5F);--udex-masthead-shell-site-label-color-hover: var(--udexColorBlue7, #0070F2);--udex-masthead-shell-item-gap: var(--udexSpacer24);--udex-masthead-shell-item-icon-gap: var(--udexSpacer8);--udex-grid-gutter: 3rem;--udex-grid-margin-m: 4.5rem;--udex-grid-margin-l: 4.5rem;--udex-grid-margin-xl: 5.25rem;--udex-column-width-l: calc((100% - 2 * var(--udex-grid-margin-l) - 11 * var(--udex-grid-gutter)) / 12);--udex-column-width-xl: calc((100% - 2 * var(--udex-grid-margin-xl) - 11 * var(--udex-grid-gutter)) / 12);--udex-masthead-shell-search-container-width-xl: calc(8 * var(--udex-column-width-xl) + 7 * var(--udex-grid-gutter));--udex-masthead-shell-close-button-divider-color: var(--udexCoreDividerLight, #D5DADD);--udex-masthead-shell-z-index: 10;--udex-masthead-shell-container-xl-max-width: 1432px;--udex-masthead-shell-container-l-max-width: 1456px;--udex-masthead-mobile-menu-buttons-width: 360px;--udex-masthead-right-menu-padding: var(--udexSpacer64);--udex-masthead-shell-explore-margin: var(--udexSpacer12);--udex-masthead-shell-mobile-menu-height: 100%}:host{position:relative;display:block;width:100%;container-type:inline-size;background:var(--udex-masthead-shell-background);z-index:var(--udex-masthead-shell-z-index)}:host([sticky-position]){position:sticky;top:0}:host([show-search-by-default]) .udex-masthead-shell__right-menu,:host([show-search-by-default]) .udex-masthead-shell__main-content,:host([_is-search-opened]) .udex-masthead-shell__main-content{width:30%}:host([show-search-by-default]) .udex-masthead-shell__search-container,:host([_is-search-opened]) .udex-masthead-shell__search-container{width:40%}.udex-masthead-shell__search-container{background:var(--udex-masthead-shell-background)}.udex-masthead-shell__btn-holder{display:flex;justify-content:flex-end;width:30%}.udex-masthead-shell__close-search-btn{--udex-control-button-small-height: 32px;--udex-control-button-small-width: 32px;--udex-control-button-small-icon-size: 18px}.udex-masthead-shell{display:flex;justify-content:space-between;align-items:center;position:relative;padding:0 var(--udexSpacer84);max-width:var(--udex-masthead-shell-container-xl-max-width);margin:0 auto;height:var(--udex-masthead-shell-height)}.udex-masthead-shell__logo{margin-inline-end:var(--udexSpacer16);width:64px}.udex-masthead-shell__logo-image{width:100%}.udex-masthead-shell__logo--link{cursor:pointer;display:flex}.udex-masthead-shell__logo--link:focus,.udex-masthead-shell__site-label--link:focus{outline:none}:host([desktop]) .udex-masthead-shell__site-label--link:focus,:host([desktop]) .udex-masthead-shell__logo--link:focus,.udex-masthead-shell__logo--link:focus-visible,.udex-masthead-shell__site-label--link:focus-visible{outline:var(--udexRadiusXXS) solid var(--udexColorBlue10);outline-offset:var(--udexSpacer2);border-radius:var(--udexRadiusXXS)}.udex-masthead-shell__site-label{font-family:var(--sapFontFamily);font-size:var(--udex-masthead-shell-site-label-font-size);line-height:var(--udex-masthead-shell-site-label-line-height);color:var(--udex-masthead-shell-site-label-color);font-weight:var(--udex-masthead-shell-site-label-font-weight);text-decoration:var(--udex-masthead-shell-site-label-text-decoration);margin-inline-end:var(--udexSpacer24);white-space:nowrap}.udex-masthead-shell__site-label--link:hover{color:var(--udex-masthead-shell-site-label-color-hover)}.udex-masthead-shell__main-content{display:grid;grid:"logo siteLabel mainMenu " / auto auto 1fr;align-items:center;box-sizing:border-box}.udex-masthead-shell__main-menu{display:flex;align-items:center;gap:var(--udex-masthead-shell-item-gap);max-width:100%;margin:0;padding:0;list-style:none}.udex-masthead-shell__landing-wrap{display:flex;align-items:center}.udex-masthead-shell__right-menu{display:flex;align-items:center;justify-content:flex-end;gap:var(--udex-masthead-shell-item-icon-gap);padding-inline-start:var(--udex-masthead-right-menu-padding);box-sizing:border-box}.udex-masthead-shell__explore{white-space:nowrap;margin-inline-end:var(--udex-masthead-shell-explore-margin)}.udex-masthead-shell__item_icon{display:flex;align-items:center}.udex-masthead-shell__item{margin-inline-end:var(--udexSpacer4)}.udex-masthead-shell__menu-btn{height:18px;order:1}.udex-masthead-shell__close-btn{position:relative;margin-inline-start:var(--udexSpacer12);order:2}.udex-masthead-shell__close-btn:before{content:"";position:absolute;left:-12px;top:0;bottom:0;height:32px;border-radius:var(--udexRadiusXXS);width:1px;background:var(--udex-masthead-shell-close-button-divider-color)}:dir(rtl) .udex-masthead-shell__close-btn:before{left:auto;right:-12px}:dir(rtl) .udex-masthead-mobile-wrap{right:auto;left:0}.udex-masthead-shell__close-btn:hover{color:var(--udex-masthead-shell-site-label-color-hover)}:host([show-search-by-default]) .udex-masthead-shell__search-icon,:host([_is-search-opened]) .udex-masthead-shell__right-menu,:host([_is-mobile-mode]) .udex-masthead-shell__item_icon,:host([_is-mobile-mode]) .udex-masthead-shell__explore,:host([_is-mobile-mode]) .udex-masthead-shell__nav,.udex-masthead-shell__close-btn,.udex-masthead-shell__menu-btn{display:none}:host([_is-mobile-mode]) .udex-masthead-shell__menu-btn,:host([_is-mobile-menu-open]) .udex-masthead-shell__country-selector,:host([_is-mobile-menu-open]) .udex-masthead-shell__cart,:host([_is-mobile-menu-open]) .udex-masthead-shell__profile,:host([_is-mobile-mode][_is-mobile-menu-open]) .udex-masthead-shell__close-btn{display:flex}:host([_is-mobile-menu-open]) .udex-masthead-shell__right-menu{width:var(--udex-masthead-mobile-menu-buttons-width);background:var(--udex-masthead-shell-background);padding-inline-end:var(--udexSpacer84);padding-inline-start:var(--udexSpacer32);gap:var(--udexSpacer12);position:absolute;top:0;bottom:0;right:0;z-index:1}:host([_is-mobile-menu-open]) .udex-masthead-shell__right-menu:dir(rtl){right:auto;left:0}@media (max-width: 1599px){.udex-masthead-shell{padding-left:var(--udexSpacer72);padding-right:var(--udexSpacer72);max-width:var(--udex-masthead-shell-container-l-max-width)}.udex-masthead-shell__search-container{right:var(--udexSpacer72)}.udex-masthead-shell__search-container:dir(rtl){left:var(--udexSpacer72);right:auto}:host([_is-mobile-menu-open]) .udex-masthead-shell__right-menu{padding-inline-end:var(--udexSpacer72)}}@media (max-width: 1279px){:host([_is-mobile-menu-open][show-search-by-default]) .udex-masthead-shell__right-menu{width:var(--udex-masthead-mobile-menu-buttons-width)}:host([show-search-by-default]) .udex-masthead-shell__search-container,:host([show-search-by-default]) .udex-masthead-shell__main-content,:host([show-search-by-default]) .udex-masthead-shell__right-menu{width:auto}:host([show-search-by-default]) .udex-masthead-shell__search-container{flex:auto}:host([show-search-by-default]) .udex-masthead-shell__site-label{margin:0}:host([show-search-by-default]) .udex-masthead-shell__main-content{padding-inline-end:var(--udexSpacer32)}.udex-masthead-shell__item_icon,.udex-masthead-shell__explore,.udex-masthead-shell__nav{display:none}:host([_is-mobile-menu-open]) .udex-masthead-shell__close-btn,.udex-masthead-shell__menu-btn{display:flex}.udex-masthead-shell__right-menu{padding-inline-start:var(--udexSpacer32);gap:var(--udexSpacer12)}}@media (max-width: 979px){:host([_is-mobile-menu-open][show-search-by-default]) .udex-masthead-shell__right-menu{width:100%}:host([_is-search-opened][show-search-by-default]) .udex-masthead-shell__search-container,:host([show-search-by-default]) .udex-masthead-shell__search-icon{display:block}:host([_is-search-opened]) .udex-masthead-shell__right-menu,:host([show-search-by-default]) .udex-masthead-shell__search-container,:host([_is-mobile-menu-open][show-search-by-default]) .udex-masthead-shell__search-icon,:host([_is-mobile-menu-open]) .udex-masthead-shell__site-label,:host([_is-mobile-menu-open]) .udex-masthead-shell__logo{display:none}:host([_is-mobile-menu-open]) .udex-masthead-shell__right-menu{padding-inline-end:var(--udexSpacer48);width:auto;left:0}:host([_is-mobile-menu-open]) .udex-masthead-shell__right-menu:dir(rtl){right:0}.udex-masthead-shell{padding:0 var(--udexSpacer48)}.udex-masthead-shell__btn-holder{padding-inline-start:var(--udexSpacer32);width:auto}}@media (max-width: 639px){:host([_is-search-opened]) .udex-masthead-shell__main-content{display:none}:host([_is-mobile-menu-open]) .udex-masthead-shell__right-menu{padding-inline-end:var(--udexSpacer24)}.udex-masthead-shell{padding:0 var(--udexSpacer24)}.udex-masthead-shell__btn-holder{padding-inline-start:var(--udexSpacer8)}}
|
|
11
11
|
`};
|
|
12
12
|
export default styleData;
|
|
13
13
|
|