@sapudex/web-components 0.224.0 → 0.226.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/FilterMenu.d.ts +7 -0
- package/dist/FilterMenu.js +3 -0
- package/dist/FilterMenu.js.map +1 -1
- package/dist/HeroBanner.js.map +1 -1
- package/dist/MastheadItem.d.ts +49 -2
- package/dist/MastheadItem.js +112 -23
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +14 -5
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +4 -1
- package/dist/MastheadMobileMenu.js +15 -3
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +26 -4
- package/dist/MastheadShell.js +86 -43
- package/dist/MastheadShell.js.map +1 -1
- package/dist/PasswordField.d.ts +12 -0
- package/dist/PasswordField.js +13 -0
- package/dist/PasswordField.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -1
- package/dist/SecondaryNavigation.js +8 -6
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +4 -3
- package/dist/SecondaryNavigationItem.js +15 -9
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +2 -2
- package/dist/SecondaryNavigationSubItem.js +5 -4
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/Table.d.ts +5 -0
- package/dist/Table.js +4 -1
- package/dist/Table.js.map +1 -1
- package/dist/TextField.d.ts +8 -0
- package/dist/TextField.js +9 -0
- package/dist/TextField.js.map +1 -1
- package/dist/assets/{bundle.esm-fe0b0d94.js → bundle.esm-740278cc.js} +194 -193
- package/dist/assets/messagebundle_en-f0b5e0d9.js +1 -0
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/PasswordField.css +1 -0
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/custom-elements-internal.json +148 -0
- package/dist/custom-elements.json +125 -0
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
- package/dist/generated/i18n/i18n-defaults.js +4 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +6 -5
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/TextFieldTemplate.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/PasswordField.css.d.ts +3 -0
- package/dist/generated/themes/PasswordField.css.js +9 -0
- package/dist/generated/themes/PasswordField.css.js.map +1 -0
- 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.properties +10 -2
- package/dist/i18n/messagebundle_en.properties +4 -1
- package/dist/vscode.html-custom-data.json +22 -2
- package/dist/web-types.json +93 -4
- package/package.json +1 -1
- package/src/FilterMenu.hbs +1 -0
- package/src/FilterMenu.ts +9 -0
- package/src/HeroBanner.ts +1 -1
- package/src/MastheadItem.hbs +2 -2
- package/src/MastheadItem.ts +136 -25
- package/src/MastheadMenu.hbs +4 -1
- package/src/MastheadMenu.ts +16 -5
- package/src/MastheadMobileMenu.hbs +2 -2
- package/src/MastheadMobileMenu.ts +18 -3
- package/src/MastheadShell.hbs +14 -3
- package/src/MastheadShell.ts +98 -45
- package/src/PasswordField.hbs +1 -0
- package/src/PasswordField.ts +19 -1
- package/src/SecondaryNavigation.ts +9 -6
- package/src/SecondaryNavigationItem.ts +17 -10
- package/src/SecondaryNavigationSubItem.ts +5 -4
- package/src/Table.ts +8 -1
- package/src/TextField.hbs +2 -0
- package/src/TextField.ts +16 -0
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadShellTemplate.lit.ts +6 -5
- package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/PasswordField.css.ts +13 -0
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/i18n/messagebundle.properties +10 -2
- package/src/i18n/messagebundle_en.properties +4 -1
- package/src/themes/MastheadItem.css +9 -3
- package/src/themes/PasswordField.css +3 -0
- package/dist/assets/messagebundle_en-d1666c5e.js +0 -1
package/dist/MastheadShell.js
CHANGED
|
@@ -13,14 +13,13 @@ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
|
13
13
|
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
14
14
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
15
15
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
16
|
-
import { isLeft, isRight, isSpace, isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
16
|
+
import { isLeft, isRight, isSpace, isEnter, isEscape, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
17
17
|
import "@ui5/webcomponents-icons/dist/decline.js";
|
|
18
18
|
import "@ui5/webcomponents-icons/dist/menu2.js";
|
|
19
19
|
import "@ui5/webcomponents-icons/dist/search.js";
|
|
20
|
-
import "@ui5/webcomponents-icons/dist/cart.js";
|
|
21
20
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
22
21
|
import { MAIN_LINKS } from "./generated/i18n/i18n-defaults.js";
|
|
23
|
-
import UDExMastheadItem from "./MastheadItem.js";
|
|
22
|
+
import UDExMastheadItem, { DropdownItemAction } from "./MastheadItem.js";
|
|
24
23
|
import UDExMastheadMenu from "./MastheadMenu.js";
|
|
25
24
|
import UDExControlButton from "./ControlButton.js";
|
|
26
25
|
import UDExMastheadMobileMenu from "./MastheadMobileMenu.js";
|
|
@@ -29,6 +28,11 @@ import { BreakpointUtils } from "./utils/Breakpoints.js";
|
|
|
29
28
|
// Styles
|
|
30
29
|
import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
|
|
31
30
|
const canvasContentFont = "16px '72 Brand Variable'";
|
|
31
|
+
export const MastheadOriginalEvent = {
|
|
32
|
+
detail: {
|
|
33
|
+
originalEvent: { type: Event },
|
|
34
|
+
},
|
|
35
|
+
};
|
|
32
36
|
/**
|
|
33
37
|
* @class
|
|
34
38
|
*
|
|
@@ -58,7 +62,6 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
58
62
|
this._rootHolder = this.mastheadHolder;
|
|
59
63
|
this._searchOpener = this.searchOpener;
|
|
60
64
|
this._mobileMenu = this.mastheadMobileMenu;
|
|
61
|
-
this.handleOutsideClick();
|
|
62
65
|
if (this._isSearchOpened) {
|
|
63
66
|
this.focusSearchInput();
|
|
64
67
|
}
|
|
@@ -81,6 +84,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
81
84
|
}
|
|
82
85
|
if (this._shouldHandleResize && this._isMobileMenuOpen) {
|
|
83
86
|
this.closeMobileMenu();
|
|
87
|
+
this.resetSelectedItems();
|
|
84
88
|
return;
|
|
85
89
|
}
|
|
86
90
|
this._shouldHandleResize = true;
|
|
@@ -106,6 +110,17 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
106
110
|
this.handleLeftArrow(e);
|
|
107
111
|
this.handleRightArrow(e);
|
|
108
112
|
}
|
|
113
|
+
handleSearchKeyDown(e) {
|
|
114
|
+
e.stopPropagation();
|
|
115
|
+
const keyEvent = e.detail;
|
|
116
|
+
if (isEscape(keyEvent)) {
|
|
117
|
+
if (this.showSearchByDefault && this.isAtLeastBreakpointSizeM) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
this.closeSearch();
|
|
121
|
+
this.focusSearchBtn();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
109
124
|
handleLeftArrow(e) {
|
|
110
125
|
if (isLeft(e)) {
|
|
111
126
|
const currentItem = e.target;
|
|
@@ -136,20 +151,24 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
136
151
|
}
|
|
137
152
|
handleSearchClick(e) {
|
|
138
153
|
e.stopPropagation();
|
|
154
|
+
this.fireEvent("search-click", { originalEvent: e });
|
|
139
155
|
this.openSearch();
|
|
140
|
-
this.fireEvent("search-click");
|
|
141
156
|
}
|
|
142
157
|
handleCartClick(e) {
|
|
143
158
|
e.stopPropagation();
|
|
144
|
-
this.fireEvent("cart-click");
|
|
159
|
+
this.fireEvent("cart-click", { originalEvent: e });
|
|
160
|
+
}
|
|
161
|
+
handleSupportClick(e) {
|
|
162
|
+
e.stopPropagation();
|
|
163
|
+
this.fireEvent("support-click", { originalEvent: e });
|
|
145
164
|
}
|
|
146
165
|
handleProfileClick(e) {
|
|
147
166
|
e.stopPropagation();
|
|
148
|
-
this.fireEvent("profile-click");
|
|
167
|
+
this.fireEvent("profile-click", { originalEvent: e });
|
|
149
168
|
}
|
|
150
169
|
handleCountrySelectorClick(e) {
|
|
151
170
|
e.stopPropagation();
|
|
152
|
-
this.fireEvent("country-selector-click");
|
|
171
|
+
this.fireEvent("country-selector-click", { originalEvent: e });
|
|
153
172
|
}
|
|
154
173
|
handleOpenMobileMenu() {
|
|
155
174
|
const clickedItem = this.mobileBtn;
|
|
@@ -163,9 +182,10 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
163
182
|
}
|
|
164
183
|
this.fireEvent("mobile-menu-open");
|
|
165
184
|
}
|
|
166
|
-
handleCloseSearch() {
|
|
167
|
-
this.closeSearch();
|
|
185
|
+
handleCloseSearch(e) {
|
|
168
186
|
this._closeBtnClicked = true;
|
|
187
|
+
this.fireEvent("search-close-click", { originalEvent: e });
|
|
188
|
+
this.closeSearch();
|
|
169
189
|
}
|
|
170
190
|
handleEnterAndSpaceOnCloseBtn(e) {
|
|
171
191
|
if (isSpace(e) || isEnter(e)) {
|
|
@@ -174,16 +194,6 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
174
194
|
this.mobileBtn?.focus();
|
|
175
195
|
}
|
|
176
196
|
}
|
|
177
|
-
handleOutsideClick() {
|
|
178
|
-
document.addEventListener("click", (e) => {
|
|
179
|
-
const el = e.target;
|
|
180
|
-
const isMobile = window.innerWidth < 1280 || this._isMobileMode;
|
|
181
|
-
const isDropdownSlot = el.getAttribute("slot") === "dropdown";
|
|
182
|
-
if (!isDropdownSlot && !el.isMenuItem && !isMobile) {
|
|
183
|
-
this.resetSelectedItems();
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
197
|
focusSearchInput() {
|
|
188
198
|
const searchSlot = this.querySelector("[udex-search]");
|
|
189
199
|
if (searchSlot) {
|
|
@@ -206,7 +216,10 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
206
216
|
}
|
|
207
217
|
resetSelectedItems(clickedId) {
|
|
208
218
|
this.getSelectedItems().forEach(item => {
|
|
209
|
-
if (item._id !== clickedId) {
|
|
219
|
+
if (item._id !== clickedId && item.selected) {
|
|
220
|
+
if (item.hasDropdownSlot) {
|
|
221
|
+
item.fireDropdownCloseEvent(item.eventItemTitle, DropdownItemAction.ClickOutside);
|
|
222
|
+
}
|
|
210
223
|
item.selected = false;
|
|
211
224
|
}
|
|
212
225
|
});
|
|
@@ -231,6 +244,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
231
244
|
...this.menuItems,
|
|
232
245
|
...this.exploreSAP,
|
|
233
246
|
...this.cart,
|
|
247
|
+
...this.support,
|
|
234
248
|
...this.profile,
|
|
235
249
|
...this.countrySelector,
|
|
236
250
|
...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),
|
|
@@ -329,6 +343,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
329
343
|
*/
|
|
330
344
|
closeSearch() {
|
|
331
345
|
this._isSearchOpened = false;
|
|
346
|
+
this.fireEvent("search-closed");
|
|
332
347
|
}
|
|
333
348
|
/**
|
|
334
349
|
* Open the search panel.
|
|
@@ -338,7 +353,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
338
353
|
const shouldPreventOpeningSearch = this._isSearchOpened
|
|
339
354
|
|| (this.isBreakpointSizeM && !this.showSearchByDefault)
|
|
340
355
|
|| this._isMobileMode
|
|
341
|
-
|| (this.
|
|
356
|
+
|| (this.isAtLeastBreakpointSizeM && this.showSearchByDefault);
|
|
342
357
|
if (shouldPreventOpeningSearch) {
|
|
343
358
|
return;
|
|
344
359
|
}
|
|
@@ -347,6 +362,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
347
362
|
if (this._searchOpener) {
|
|
348
363
|
this._searchOpener.selected = false;
|
|
349
364
|
}
|
|
365
|
+
this.fireEvent("search-opened");
|
|
350
366
|
}
|
|
351
367
|
/**
|
|
352
368
|
* Open the mobile menu panel.
|
|
@@ -354,7 +370,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
354
370
|
*/
|
|
355
371
|
openMobileMenu() {
|
|
356
372
|
if (!this._isMobileMenuOpen && (this._isMobileMode || this.isBreakpointSizeM)) {
|
|
357
|
-
this.mobileBtn
|
|
373
|
+
this.mobileBtn?.handleSelectedChange();
|
|
358
374
|
this.handleOpenMobileMenu();
|
|
359
375
|
}
|
|
360
376
|
}
|
|
@@ -366,8 +382,8 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
366
382
|
if (!this._isMobileMenuOpen) {
|
|
367
383
|
return;
|
|
368
384
|
}
|
|
385
|
+
this.mobileBtn.selected = false;
|
|
369
386
|
this._isMobileMenuOpen = false;
|
|
370
|
-
this.resetSelectedItems();
|
|
371
387
|
this._mobileMenu?.showFirstLevelMenu();
|
|
372
388
|
if (this.bodyOverflow) {
|
|
373
389
|
this.removeOverflowBody();
|
|
@@ -379,6 +395,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
379
395
|
this.profileItem,
|
|
380
396
|
this.profileMenu,
|
|
381
397
|
this.cartItem,
|
|
398
|
+
this.supportItem,
|
|
382
399
|
this.profileMenu,
|
|
383
400
|
this.profileMenuLinks,
|
|
384
401
|
this.countrySelectorItem,
|
|
@@ -409,6 +426,9 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
409
426
|
get cartItem() {
|
|
410
427
|
return this.getSlottedNodes("cart")[0];
|
|
411
428
|
}
|
|
429
|
+
get supportItem() {
|
|
430
|
+
return this.getSlottedNodes("support")[0];
|
|
431
|
+
}
|
|
412
432
|
get profileMenu() {
|
|
413
433
|
return this.querySelector("[udex-masthead-profile-menu]");
|
|
414
434
|
}
|
|
@@ -433,13 +453,16 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
433
453
|
get hasCountrySelector() {
|
|
434
454
|
return !!this.countrySelector.length;
|
|
435
455
|
}
|
|
456
|
+
get hasSupport() {
|
|
457
|
+
return !!this.support.length;
|
|
458
|
+
}
|
|
436
459
|
get hasMobileMenuButtons() {
|
|
437
460
|
return !!this.mobileMenu.length;
|
|
438
461
|
}
|
|
439
462
|
get isBreakpointSizeM() {
|
|
440
463
|
return BreakpointUtils.isAtMost("M");
|
|
441
464
|
}
|
|
442
|
-
get
|
|
465
|
+
get isAtLeastBreakpointSizeM() {
|
|
443
466
|
return BreakpointUtils.isAtLeast("M");
|
|
444
467
|
}
|
|
445
468
|
get isMainMenuVisible() {
|
|
@@ -476,6 +499,9 @@ __decorate([
|
|
|
476
499
|
__decorate([
|
|
477
500
|
slot({ type: HTMLElement })
|
|
478
501
|
], UDExMastheadShell.prototype, "profile", void 0);
|
|
502
|
+
__decorate([
|
|
503
|
+
slot({ type: HTMLElement })
|
|
504
|
+
], UDExMastheadShell.prototype, "support", void 0);
|
|
479
505
|
__decorate([
|
|
480
506
|
property({ type: String })
|
|
481
507
|
], UDExMastheadShell.prototype, "homeUrl", void 0);
|
|
@@ -559,54 +585,71 @@ UDExMastheadShell = UDExMastheadShell_1 = __decorate([
|
|
|
559
585
|
* @public
|
|
560
586
|
*/
|
|
561
587
|
,
|
|
562
|
-
event("search-click")
|
|
588
|
+
event("search-click", MastheadOriginalEvent)
|
|
589
|
+
/**
|
|
590
|
+
* Fired event when the user clicks the search close button.
|
|
591
|
+
*
|
|
592
|
+
* @public
|
|
593
|
+
*/
|
|
594
|
+
,
|
|
595
|
+
event("search-close-click", MastheadOriginalEvent)
|
|
596
|
+
/**
|
|
597
|
+
* Fired event when the search panel is opened.
|
|
598
|
+
*
|
|
599
|
+
* @public
|
|
600
|
+
*/
|
|
601
|
+
,
|
|
602
|
+
event("search-opened")
|
|
603
|
+
/**
|
|
604
|
+
* Fired event when the search panel is closed.
|
|
605
|
+
*
|
|
606
|
+
* @public
|
|
607
|
+
*/
|
|
608
|
+
,
|
|
609
|
+
event("search-closed")
|
|
563
610
|
/**
|
|
564
611
|
* Fired event when the user clicks the cart button trigger.
|
|
565
612
|
*
|
|
566
613
|
* @public
|
|
567
614
|
*/
|
|
568
615
|
,
|
|
569
|
-
event("cart-click")
|
|
616
|
+
event("cart-click", MastheadOriginalEvent)
|
|
617
|
+
/**
|
|
618
|
+
* Fired event when the user clicks the support button trigger.
|
|
619
|
+
*
|
|
620
|
+
* @public
|
|
621
|
+
*/
|
|
622
|
+
,
|
|
623
|
+
event("support-click", MastheadOriginalEvent)
|
|
570
624
|
/**
|
|
571
625
|
* Fired event when the user clicks the profile button trigger.
|
|
572
626
|
*
|
|
573
627
|
* @public
|
|
574
628
|
*/
|
|
575
629
|
,
|
|
576
|
-
event("profile-click")
|
|
630
|
+
event("profile-click", MastheadOriginalEvent)
|
|
577
631
|
/**
|
|
578
632
|
* Fired event when the user clicks the country selector button trigger.
|
|
579
633
|
*
|
|
580
634
|
* @public
|
|
581
635
|
*/
|
|
582
636
|
,
|
|
583
|
-
event("country-selector-click")
|
|
637
|
+
event("country-selector-click", MastheadOriginalEvent)
|
|
584
638
|
/**
|
|
585
639
|
* Fired event when the user clicks the logo.
|
|
586
640
|
*
|
|
587
641
|
* @public
|
|
588
642
|
*/
|
|
589
643
|
,
|
|
590
|
-
event("logo-click",
|
|
591
|
-
detail: {
|
|
592
|
-
originalEvent: {
|
|
593
|
-
type: Event,
|
|
594
|
-
},
|
|
595
|
-
},
|
|
596
|
-
})
|
|
644
|
+
event("logo-click", MastheadOriginalEvent)
|
|
597
645
|
/**
|
|
598
646
|
* Fired event when the user clicks the site label.
|
|
599
647
|
*
|
|
600
648
|
* @public
|
|
649
|
+
* @public
|
|
601
650
|
*/
|
|
602
651
|
,
|
|
603
|
-
event("site-label-click",
|
|
604
|
-
detail: {
|
|
605
|
-
originalEvent: {
|
|
606
|
-
type: Event,
|
|
607
|
-
},
|
|
608
|
-
},
|
|
609
|
-
})
|
|
652
|
+
event("site-label-click", MastheadOriginalEvent)
|
|
610
653
|
], UDExMastheadShell);
|
|
611
654
|
UDExMastheadShell.define();
|
|
612
655
|
export default UDExMastheadShell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadShell.js","sourceRoot":"","sources":["../src/MastheadShell.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n isLeft, isRight, isSpace, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/menu2.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/cart.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { MAIN_LINKS } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport UDExMastheadCountrySelector from \"./MastheadCountrySelector.js\";\nimport MastheadShellTemplate from \"./generated/templates/MastheadShellTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\n// Styles\nimport MastheadShellCss from \"./generated/themes/MastheadShell.css.js\";\n\nconst canvasContentFont = \"16px '72 Brand Variable'\";\ntype MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;\ntype MastheadItemType = UDExMastheadItem | null | undefined;\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-shell</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadShell.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-shell\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadShellCss,\n template: MastheadShellTemplate,\n dependencies: [\n UDExMastheadMobileMenu,\n UDExControlButton,\n UDExMastheadItem,\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fired event when the user clicks the mobile menu button opener.\n *\n * @public\n */\n@event(\"mobile-menu-open\")\n\n/**\n * Fired event when the user clicks the mobile menu button closer.\n *\n * @public\n */\n@event(\"mobile-menu-close\")\n\n/**\n * Fired event when the user clicks the search button trigger.\n *\n * @public\n */\n@event(\"search-click\")\n\n/**\n * Fired event when the user clicks the cart button trigger.\n *\n * @public\n */\n@event(\"cart-click\")\n\n/**\n * Fired event when the user clicks the profile button trigger.\n *\n * @public\n */\n@event(\"profile-click\")\n\n/**\n * Fired event when the user clicks the country selector button trigger.\n *\n * @public\n */\n@event(\"country-selector-click\")\n\n/**\n * Fired event when the user clicks the logo.\n *\n * @public\n */\n@event(\"logo-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fired event when the user clicks the site label.\n *\n * @public\n */\n@event(\"site-label-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadShell extends UI5Element {\n /**\n * Slot for country selector item.\n *\n * @public\n */\n @slot({ type: Node })\n countrySelector!: Array<UDExMastheadItem>;\n\n /**\n * Slot for mobile menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n mobileMenu!: Array<Node>;\n\n /**\n * Slot for main menu items.\n *\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n menuItems!: Array<UDExMastheadItem>;\n\n /**\n * Slot for search component - will be visible on search icon click.\n * Note: search component should be hidden by default.\n * Note: search icon won't be visible if this slot would be empty\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * Slot for 'Explore SAP' menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSAP!: Array<UDExMastheadItem>;\n\n /**\n * Slot for cart menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n cart!: Array<UDExMastheadItem>;\n\n /**\n * Slot for avatar\n *\n * @public\n */\n @slot({ type: HTMLElement })\n profile!: Array<UDExMastheadItem>;\n\n /**\n * Defines URL to homepage. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n homeUrl!: string;\n\n /**\n * Defines URL for site label. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabelUrl!: string;\n\n /**\n * Defines overflow style for the body after clicking mobile menu opener button\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n bodyOverflow!: boolean;\n\n /**\n * Defines the visibility of the Search by default.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n showSearchByDefault!: boolean;\n\n /**\n * Defines sticky position for component\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n stickyPosition!: boolean;\n\n /**\n * Defines the Logo image URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl!: string;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle!: string;\n\n /**\n * Defines a site label. It will be displayed next to a logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabel!: string;\n\n /**\n * Defines an alt text for logo\n *\n * @public\n */\n @property({ type: String })\n logoAlt!: string;\n\n /**\n * Defines an accessible name for close icon for the search bar\n *\n * default: \"\"\n * @public\n */\n @property({ type: String })\n closeButtonAccessibleName!: string;\n\n /**\n * Defines an aria label for the homepage link\n *\n * @public\n */\n @property({ type: String })\n homepageAriaLabel!: string;\n\n /**\n * Defines an aria label for the site label\n *\n * @public\n */\n @property({ type: String })\n siteLabelAriaLabel!: string;\n\n /**\n * Defines if the search container is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isSearchOpened!: boolean;\n\n /**\n * Defines if the mobile menu is open\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMenuOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines if the close button was clicked\n *\n * @private\n */\n @property({ type: Boolean })\n _closeBtnClicked!: boolean;\n\n _searchOpener!: UDExMastheadItem | null | undefined;\n _mobileMenu!: UDExMastheadMobileMenu | null | undefined;\n _handleResizeBound: ResizeObserverCallback;\n _rootHolder!: HTMLElement | null | undefined;\n _shouldHandleResize!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadShell.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onAfterRendering() {\n this._rootHolder = this.mastheadHolder;\n this._searchOpener = this.searchOpener;\n this._mobileMenu = this.mastheadMobileMenu;\n\n this.handleOutsideClick();\n\n if (this._isSearchOpened) {\n this.focusSearchInput();\n }\n\n if (this._closeBtnClicked) {\n this.focusSearchBtn();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n if (this.shouldHandleMobileView) {\n this.handleMobileMode();\n }\n\n if (this.isBreakpointSizeM) {\n this._isSearchOpened = false;\n }\n\n if (this._shouldHandleResize && this._isMobileMenuOpen) {\n this.closeMobileMenu();\n return;\n }\n\n this._shouldHandleResize = true;\n }\n\n handleMobileMode(): void {\n const rootHolder = this.getDomRef();\n if (rootHolder) {\n const rootHolderWidth = this.getRootHolderWidth(rootHolder);\n const landingHolderWidth = this.getLandingHolderWidth();\n const rightMenuWidth = this.getRightMenuWidth();\n const mainMenuWidth = this.getMainMenuWidth();\n const availableWidth = rootHolderWidth - rightMenuWidth - landingHolderWidth;\n\n if (mainMenuWidth >= availableWidth) {\n this.setMobileMode();\n } else {\n this.removeMobileMode();\n }\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.handleLeftArrow(e);\n this.handleRightArrow(e);\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusPreviousMenuItem(currentItem);\n }\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusNextMenuItem(currentItem);\n }\n }\n }\n\n handleLogoClick(e: CustomEvent): void {\n this.fireEvent(\"logo-click\", { originalEvent: e });\n }\n\n handleSiteLabelClick(e: CustomEvent): void {\n this.fireEvent(\"site-label-click\", { originalEvent: e });\n }\n\n handleSearchClick(e: CustomEvent): void {\n e.stopPropagation();\n this.openSearch();\n this.fireEvent(\"search-click\");\n }\n\n handleCartClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"cart-click\");\n }\n\n handleProfileClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"profile-click\");\n }\n\n handleCountrySelectorClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"country-selector-click\");\n }\n\n handleOpenMobileMenu(): void {\n const clickedItem = this.mobileBtn as UDExMastheadItem;\n if (!clickedItem) {\n return;\n }\n\n this.resetSelectedItems(clickedItem._id);\n this._isMobileMenuOpen = true;\n\n if (this.bodyOverflow) {\n this.setOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-open\");\n }\n\n handleCloseSearch(): void {\n this.closeSearch();\n this._closeBtnClicked = true;\n }\n\n handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.closeMobileMenu();\n this.mobileBtn?.focus();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const el = e.target as UDExMastheadItem;\n const isMobile = window.innerWidth < 1280 || this._isMobileMode;\n const isDropdownSlot = el.getAttribute(\"slot\") === \"dropdown\";\n if (!isDropdownSlot && !el.isMenuItem && !isMobile) {\n this.resetSelectedItems();\n }\n });\n }\n\n focusSearchInput(): void {\n const searchSlot = this.querySelector<UDExSearch>(\"[udex-search]\");\n if (searchSlot) {\n const input = searchSlot.shadowRoot!.querySelector<HTMLElement>(\"input\");\n input?.focus();\n }\n }\n\n focusPreviousMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const lastItemIndex = menuItems.length - 1;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n menuItems[previousSelectIndex].focus();\n }\n\n focusNextMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > menuItems.length - 1 ? 0 : currentSelectedIndex + 1;\n menuItems[nextSelectIndex].focus();\n }\n\n resetSelectedItems(clickedId?: string): void {\n this.getSelectedItems().forEach(item => {\n if (item._id !== clickedId) {\n item.selected = false;\n }\n });\n }\n\n setSelectedItem(e: CustomEvent): void {\n const clickedItem: UDExMastheadItem = e.detail.item;\n if (clickedItem) {\n this.resetSelectedItems(clickedItem._id);\n }\n }\n\n focusSearchBtn(): void {\n if (this._searchOpener) {\n this._searchOpener.focus();\n this._closeBtnClicked = false;\n }\n }\n\n getCurrentIndex(item: UDExMastheadItem): number {\n return this.menuItems.indexOf(item);\n }\n\n getSelectedItems(): Array<UDExMastheadItem> {\n const buttonsArray: Array<UDExMastheadItem> = [\n ...this.menuItems,\n ...this.exploreSAP,\n ...this.cart,\n ...this.profile,\n ...this.countrySelector,\n ...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),\n ];\n\n return buttonsArray.filter(({ selected }) => selected);\n }\n\n getRootHolderWidth(root: HTMLElement): number {\n const rootPadding = parseInt(window.getComputedStyle(root).getPropertyValue(\"padding-left\")) * 2;\n const scrollWidth = window.innerWidth - document.documentElement.clientWidth;\n return this.getDomRef()!.clientWidth + scrollWidth - rootPadding;\n }\n\n getLandingHolderWidth(): number {\n const landingHolder = this.getDomElement(\".udex-masthead-shell__landing-wrap\");\n return landingHolder?.offsetWidth || 0;\n }\n\n getRightMenuWidth(): number {\n const itemsIcon = [...this.shadowRoot!.querySelectorAll<HTMLDivElement>(\".udex-masthead-shell__item_icon\")];\n const itemIconWidths = itemsIcon.length * this.getItemIconWidth();\n const itemIconGaps = itemsIcon.length * this.getItemIconGap();\n const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(this.exploreSAP[0]) : 0;\n const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;\n return exploreSAPWidth + itemIconWidths + rightMenuGaps;\n }\n\n getItemIconWidth(): number {\n const item = this.querySelector(\"[udex-masthead-item]\");\n\n if (!item) { return 0; }\n\n const style = window.getComputedStyle(item);\n const itemIconWidthVar = style.getPropertyValue(\"--udex-masthead-item-button-icon-size\");\n return parseInt(itemIconWidthVar);\n }\n\n getMainMenuWidth(): number {\n const mainItems = this.getSlottedNodes(\"menuItems\");\n const gapItemVar = this.getRootVar(\"--udex-masthead-shell-item-gap\");\n return mainItems.reduce((accumulatedWidth, item, index) => {\n return accumulatedWidth + this.getItemWidth(item as UDExMastheadItem) + (index && parseInt(gapItemVar));\n }, 0);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getItemWidth(item: UDExMastheadItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n return Math.ceil(context.measureText(item.innerText.trim()).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getItemIconGap(): number {\n const gapIconItemVar = this.getRootVar(\"--udex-masthead-shell-item-icon-gap\");\n return parseInt(gapIconItemVar);\n }\n\n getExploreSapBtnGap(): number {\n const exploreSapBtnGapVar = this.getRootVar(\"--udex-masthead-shell-explore-margin\");\n return this.hasExploreSAP ? parseInt(exploreSapBtnGapVar) : 0;\n }\n\n getRightMenuGap(): number {\n const rightMenuGapVar = this.getRootVar(\"--udex-masthead-right-menu-padding\");\n return parseInt(rightMenuGapVar);\n }\n\n getRootVar(variableName: string): string {\n return window.getComputedStyle(this.getDomRef()!).getPropertyValue(`${variableName}`);\n }\n\n isNavigationItem(item: UDExMastheadItem): boolean {\n return this.menuItems.some(menuItem => menuItem === item);\n }\n\n setOverflowBody() {\n const { body: { style } } = document;\n this._shouldHandleResize = false;\n style.overflow = \"hidden\";\n }\n\n removeOverflowBody() {\n const { body: { style } } = document;\n style.removeProperty(\"overflow\");\n }\n\n setMobileMode(): void {\n this._isMobileMode = true;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n if (item) {\n item._isMobileMode = true;\n }\n });\n }\n\n removeMobileMode(): void {\n this._isMobileMode = false;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n item?.removeAttribute(\"_is-mobile-mode\");\n });\n }\n\n /**\n * Close the search panel.\n * @public\n */\n closeSearch(): void {\n this._isSearchOpened = false;\n }\n\n /**\n * Open the search panel.\n * @public\n */\n openSearch(): void {\n const shouldPreventOpeningSearch = this._isSearchOpened\n || (this.isBreakpointSizeM && !this.showSearchByDefault)\n || this._isMobileMode\n || (this.IsAtLeastBreakpointSizeM && this.showSearchByDefault);\n\n if (shouldPreventOpeningSearch) {\n return;\n }\n\n this._isSearchOpened = true;\n this.resetSelectedItems();\n\n if (this._searchOpener) {\n this._searchOpener.selected = false;\n }\n }\n\n /**\n * Open the mobile menu panel.\n * @public\n */\n openMobileMenu(): void {\n if (!this._isMobileMenuOpen && (this._isMobileMode || this.isBreakpointSizeM)) {\n (this.mobileBtn as UDExMastheadItem).handleSelectedChange();\n this.handleOpenMobileMenu();\n }\n }\n\n /**\n * Close the mobile menu panel.\n * @public\n */\n closeMobileMenu(): void {\n if (!this._isMobileMenuOpen) {\n return;\n }\n\n this._isMobileMenuOpen = false;\n this.resetSelectedItems();\n this._mobileMenu?.showFirstLevelMenu();\n\n if (this.bodyOverflow) {\n this.removeOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-close\");\n }\n\n get slottedItems(): (MastheadSlottedItem)[] {\n return [\n this.profileItem,\n this.profileMenu,\n this.cartItem,\n this.profileMenu,\n this.profileMenuLinks,\n this.countrySelectorItem,\n this.countrySelectorMenu,\n ];\n }\n\n get searchOpener(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__search-btn\");\n }\n\n get mastheadHolder(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell\");\n }\n\n get mastheadMobileMenu(): UDExMastheadMobileMenu | null {\n return this.querySelector(\"[udex-masthead-mobile-menu]\");\n }\n\n get mobileBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__menu-btn\");\n }\n\n get closeBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__close-btn\");\n }\n\n get profileItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"profile\")[0];\n }\n\n get countrySelectorItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"countrySelector\")[0];\n }\n\n get cartItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"cart\")[0];\n }\n\n get profileMenu(): UDExMastheadProfileMenu {\n return this.querySelector(\"[udex-masthead-profile-menu]\")!;\n }\n\n get countrySelectorMenu(): UDExMastheadCountrySelector {\n return this.querySelector(\"[udex-masthead-country-selector]\")!;\n }\n\n get profileMenuLinks(): UDExMastheadMenu | undefined | null {\n return this.profileMenu?.shadowRoot?.querySelector(\"[udex-masthead-menu]\");\n }\n\n get hasProfile(): boolean {\n return !!this.profile.length;\n }\n\n get hasCart(): boolean {\n return !!this.cart.length;\n }\n\n get hasSearch(): boolean {\n return !!this.search.length;\n }\n\n get hasExploreSAP(): boolean {\n return !!this.exploreSAP.length;\n }\n\n get hasCountrySelector(): boolean {\n return !!this.countrySelector.length;\n }\n\n get hasMobileMenuButtons(): boolean {\n return !!this.mobileMenu.length;\n }\n\n get isBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtMost(\"M\");\n }\n\n get IsAtLeastBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMainMenuVisible(): boolean {\n return !this.showSearchByDefault && !this._isSearchOpened;\n }\n\n get isSearchVisible(): boolean {\n return this.showSearchByDefault || this._isSearchOpened;\n }\n\n get shouldHandleMobileView(): boolean {\n return !this.isBreakpointSizeM && !this.showSearchByDefault;\n }\n\n get mainNavigationAriaLabel(): string {\n return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);\n }\n}\n\nUDExMastheadShell.define();\n\nexport default UDExMastheadShell;\n"]}
|
|
1
|
+
{"version":3,"file":"MastheadShell.js","sourceRoot":"","sources":["../src/MastheadShell.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n isLeft, isRight, isSpace, isEnter, isEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/menu2.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { MAIN_LINKS } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadItem, { DropdownItemAction } from \"./MastheadItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport UDExMastheadCountrySelector from \"./MastheadCountrySelector.js\";\nimport MastheadShellTemplate from \"./generated/templates/MastheadShellTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\n// Styles\nimport MastheadShellCss from \"./generated/themes/MastheadShell.css.js\";\n\nconst canvasContentFont = \"16px '72 Brand Variable'\";\ntype MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;\ntype MastheadItemType = UDExMastheadItem | null | undefined;\nexport const MastheadOriginalEvent = {\n detail: {\n originalEvent: { type: Event },\n },\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-shell</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadShell.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-shell\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadShellCss,\n template: MastheadShellTemplate,\n dependencies: [\n UDExMastheadMobileMenu,\n UDExControlButton,\n UDExMastheadItem,\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fired event when the user clicks the mobile menu button opener.\n *\n * @public\n */\n@event(\"mobile-menu-open\")\n\n/**\n * Fired event when the user clicks the mobile menu button closer.\n *\n * @public\n */\n@event(\"mobile-menu-close\")\n\n/**\n * Fired event when the user clicks the search button trigger.\n *\n * @public\n */\n@event(\"search-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the search close button.\n *\n * @public\n */\n@event(\"search-close-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the search panel is opened.\n *\n * @public\n */\n@event(\"search-opened\")\n\n/**\n * Fired event when the search panel is closed.\n *\n * @public\n */\n@event(\"search-closed\")\n\n/**\n * Fired event when the user clicks the cart button trigger.\n *\n * @public\n */\n@event(\"cart-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the support button trigger.\n *\n * @public\n */\n@event(\"support-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the profile button trigger.\n *\n * @public\n */\n@event(\"profile-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the country selector button trigger.\n *\n * @public\n */\n@event(\"country-selector-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the logo.\n *\n * @public\n */\n@event(\"logo-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the site label.\n *\n * @public\n * @public\n */\n@event(\"site-label-click\", MastheadOriginalEvent)\n\nclass UDExMastheadShell extends UI5Element {\n /**\n * Slot for country selector item.\n *\n * @public\n */\n @slot({ type: Node })\n countrySelector!: Array<UDExMastheadItem>;\n\n /**\n * Slot for mobile menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n mobileMenu!: Array<Node>;\n\n /**\n * Slot for main menu items.\n *\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n menuItems!: Array<UDExMastheadItem>;\n\n /**\n * Slot for search component - will be visible on search icon click.\n * Note: search component should be hidden by default.\n * Note: search icon won't be visible if this slot would be empty\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * Slot for 'Explore SAP' menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSAP!: Array<UDExMastheadItem>;\n\n /**\n * Slot for cart menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n cart!: Array<UDExMastheadItem>;\n\n /**\n * Slot for avatar\n *\n * @public\n */\n @slot({ type: HTMLElement })\n profile!: Array<UDExMastheadItem>;\n\n /**\n * Slot for support\n *\n * @public\n */\n @slot({ type: HTMLElement })\n support!: Array<UDExMastheadItem>;\n\n /**\n * Defines URL to homepage. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n homeUrl!: string;\n\n /**\n * Defines URL for site label. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabelUrl!: string;\n\n /**\n * Defines overflow style for the body after clicking mobile menu opener button\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n bodyOverflow!: boolean;\n\n /**\n * Defines the visibility of the Search by default.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n showSearchByDefault!: boolean;\n\n /**\n * Defines sticky position for component\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n stickyPosition!: boolean;\n\n /**\n * Defines the Logo image URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl!: string;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle!: string;\n\n /**\n * Defines a site label. It will be displayed next to a logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabel!: string;\n\n /**\n * Defines an alt text for logo\n *\n * @public\n */\n @property({ type: String })\n logoAlt!: string;\n\n /**\n * Defines an accessible name for close icon for the search bar\n *\n * default: \"\"\n * @public\n */\n @property({ type: String })\n closeButtonAccessibleName!: string;\n\n /**\n * Defines an aria label for the homepage link\n *\n * @public\n */\n @property({ type: String })\n homepageAriaLabel!: string;\n\n /**\n * Defines an aria label for the site label\n *\n * @public\n */\n @property({ type: String })\n siteLabelAriaLabel!: string;\n\n /**\n * Defines if the search container is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isSearchOpened!: boolean;\n\n /**\n * Defines if the mobile menu is open\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMenuOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines if the close button was clicked\n *\n * @private\n */\n @property({ type: Boolean })\n _closeBtnClicked!: boolean;\n\n _searchOpener!: UDExMastheadItem | null | undefined;\n _mobileMenu!: UDExMastheadMobileMenu | null | undefined;\n _handleResizeBound: ResizeObserverCallback;\n _rootHolder!: HTMLElement | null | undefined;\n _shouldHandleResize!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadShell.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onAfterRendering() {\n this._rootHolder = this.mastheadHolder;\n this._searchOpener = this.searchOpener;\n this._mobileMenu = this.mastheadMobileMenu;\n\n if (this._isSearchOpened) {\n this.focusSearchInput();\n }\n\n if (this._closeBtnClicked) {\n this.focusSearchBtn();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n if (this.shouldHandleMobileView) {\n this.handleMobileMode();\n }\n\n if (this.isBreakpointSizeM) {\n this._isSearchOpened = false;\n }\n\n if (this._shouldHandleResize && this._isMobileMenuOpen) {\n this.closeMobileMenu();\n this.resetSelectedItems();\n return;\n }\n\n this._shouldHandleResize = true;\n }\n\n handleMobileMode(): void {\n const rootHolder = this.getDomRef();\n if (rootHolder) {\n const rootHolderWidth = this.getRootHolderWidth(rootHolder);\n const landingHolderWidth = this.getLandingHolderWidth();\n const rightMenuWidth = this.getRightMenuWidth();\n const mainMenuWidth = this.getMainMenuWidth();\n const availableWidth = rootHolderWidth - rightMenuWidth - landingHolderWidth;\n\n if (mainMenuWidth >= availableWidth) {\n this.setMobileMode();\n } else {\n this.removeMobileMode();\n }\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.handleLeftArrow(e);\n this.handleRightArrow(e);\n }\n\n handleSearchKeyDown(e: CustomEvent): void {\n e.stopPropagation();\n const keyEvent = e.detail as KeyboardEvent;\n\n if (isEscape(keyEvent)) {\n if (this.showSearchByDefault && this.isAtLeastBreakpointSizeM) {\n return;\n }\n this.closeSearch();\n this.focusSearchBtn();\n }\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusPreviousMenuItem(currentItem);\n }\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusNextMenuItem(currentItem);\n }\n }\n }\n\n handleLogoClick(e: CustomEvent): void {\n this.fireEvent(\"logo-click\", { originalEvent: e });\n }\n\n handleSiteLabelClick(e: CustomEvent): void {\n this.fireEvent(\"site-label-click\", { originalEvent: e });\n }\n\n handleSearchClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"search-click\", { originalEvent: e });\n this.openSearch();\n }\n\n handleCartClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"cart-click\", { originalEvent: e });\n }\n\n handleSupportClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"support-click\", { originalEvent: e });\n }\n\n handleProfileClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"profile-click\", { originalEvent: e });\n }\n\n handleCountrySelectorClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"country-selector-click\", { originalEvent: e });\n }\n\n handleOpenMobileMenu(): void {\n const clickedItem = this.mobileBtn as UDExMastheadItem;\n if (!clickedItem) {\n return;\n }\n\n this.resetSelectedItems(clickedItem._id);\n this._isMobileMenuOpen = true;\n\n if (this.bodyOverflow) {\n this.setOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-open\");\n }\n\n handleCloseSearch(e: CustomEvent): void {\n this._closeBtnClicked = true;\n this.fireEvent(\"search-close-click\", { originalEvent: e });\n this.closeSearch();\n }\n\n handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.closeMobileMenu();\n this.mobileBtn?.focus();\n }\n }\n\n focusSearchInput(): void {\n const searchSlot = this.querySelector<UDExSearch>(\"[udex-search]\");\n if (searchSlot) {\n const input = searchSlot.shadowRoot!.querySelector<HTMLElement>(\"input\");\n input?.focus();\n }\n }\n\n focusPreviousMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const lastItemIndex = menuItems.length - 1;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n menuItems[previousSelectIndex].focus();\n }\n\n focusNextMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > menuItems.length - 1 ? 0 : currentSelectedIndex + 1;\n menuItems[nextSelectIndex].focus();\n }\n\n resetSelectedItems(clickedId?: string): void {\n this.getSelectedItems().forEach(item => {\n if (item._id !== clickedId && item.selected) {\n if (item.hasDropdownSlot) {\n item.fireDropdownCloseEvent(item.eventItemTitle, DropdownItemAction.ClickOutside);\n }\n item.selected = false;\n }\n });\n }\n\n setSelectedItem(e: CustomEvent): void {\n const clickedItem: UDExMastheadItem = e.detail.item;\n if (clickedItem) {\n this.resetSelectedItems(clickedItem._id);\n }\n }\n\n focusSearchBtn(): void {\n if (this._searchOpener) {\n this._searchOpener.focus();\n this._closeBtnClicked = false;\n }\n }\n\n getCurrentIndex(item: UDExMastheadItem): number {\n return this.menuItems.indexOf(item);\n }\n\n getSelectedItems(): Array<UDExMastheadItem> {\n const buttonsArray: Array<UDExMastheadItem> = [\n ...this.menuItems,\n ...this.exploreSAP,\n ...this.cart,\n ...this.support,\n ...this.profile,\n ...this.countrySelector,\n ...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),\n ];\n\n return buttonsArray.filter(({ selected }) => selected);\n }\n\n getRootHolderWidth(root: HTMLElement): number {\n const rootPadding = parseInt(window.getComputedStyle(root).getPropertyValue(\"padding-left\")) * 2;\n const scrollWidth = window.innerWidth - document.documentElement.clientWidth;\n return this.getDomRef()!.clientWidth + scrollWidth - rootPadding;\n }\n\n getLandingHolderWidth(): number {\n const landingHolder = this.getDomElement(\".udex-masthead-shell__landing-wrap\");\n return landingHolder?.offsetWidth || 0;\n }\n\n getRightMenuWidth(): number {\n const itemsIcon = [...this.shadowRoot!.querySelectorAll<HTMLDivElement>(\".udex-masthead-shell__item_icon\")];\n const itemIconWidths = itemsIcon.length * this.getItemIconWidth();\n const itemIconGaps = itemsIcon.length * this.getItemIconGap();\n const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(this.exploreSAP[0]) : 0;\n const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;\n return exploreSAPWidth + itemIconWidths + rightMenuGaps;\n }\n\n getItemIconWidth(): number {\n const item = this.querySelector(\"[udex-masthead-item]\");\n\n if (!item) { return 0; }\n\n const style = window.getComputedStyle(item);\n const itemIconWidthVar = style.getPropertyValue(\"--udex-masthead-item-button-icon-size\");\n return parseInt(itemIconWidthVar);\n }\n\n getMainMenuWidth(): number {\n const mainItems = this.getSlottedNodes(\"menuItems\");\n const gapItemVar = this.getRootVar(\"--udex-masthead-shell-item-gap\");\n return mainItems.reduce((accumulatedWidth, item, index) => {\n return accumulatedWidth + this.getItemWidth(item as UDExMastheadItem) + (index && parseInt(gapItemVar));\n }, 0);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getItemWidth(item: UDExMastheadItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n return Math.ceil(context.measureText(item.innerText.trim()).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getItemIconGap(): number {\n const gapIconItemVar = this.getRootVar(\"--udex-masthead-shell-item-icon-gap\");\n return parseInt(gapIconItemVar);\n }\n\n getExploreSapBtnGap(): number {\n const exploreSapBtnGapVar = this.getRootVar(\"--udex-masthead-shell-explore-margin\");\n return this.hasExploreSAP ? parseInt(exploreSapBtnGapVar) : 0;\n }\n\n getRightMenuGap(): number {\n const rightMenuGapVar = this.getRootVar(\"--udex-masthead-right-menu-padding\");\n return parseInt(rightMenuGapVar);\n }\n\n getRootVar(variableName: string): string {\n return window.getComputedStyle(this.getDomRef()!).getPropertyValue(`${variableName}`);\n }\n\n isNavigationItem(item: UDExMastheadItem): boolean {\n return this.menuItems.some(menuItem => menuItem === item);\n }\n\n setOverflowBody() {\n const { body: { style } } = document;\n this._shouldHandleResize = false;\n style.overflow = \"hidden\";\n }\n\n removeOverflowBody() {\n const { body: { style } } = document;\n style.removeProperty(\"overflow\");\n }\n\n setMobileMode(): void {\n this._isMobileMode = true;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n if (item) {\n item._isMobileMode = true;\n }\n });\n }\n\n removeMobileMode(): void {\n this._isMobileMode = false;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n item?.removeAttribute(\"_is-mobile-mode\");\n });\n }\n\n /**\n * Close the search panel.\n * @public\n */\n closeSearch(): void {\n this._isSearchOpened = false;\n this.fireEvent(\"search-closed\");\n }\n\n /**\n * Open the search panel.\n * @public\n */\n openSearch(): void {\n const shouldPreventOpeningSearch = this._isSearchOpened\n || (this.isBreakpointSizeM && !this.showSearchByDefault)\n || this._isMobileMode\n || (this.isAtLeastBreakpointSizeM && this.showSearchByDefault);\n\n if (shouldPreventOpeningSearch) {\n return;\n }\n\n this._isSearchOpened = true;\n this.resetSelectedItems();\n\n if (this._searchOpener) {\n this._searchOpener.selected = false;\n }\n\n this.fireEvent(\"search-opened\");\n }\n\n /**\n * Open the mobile menu panel.\n * @public\n */\n openMobileMenu(): void {\n if (!this._isMobileMenuOpen && (this._isMobileMode || this.isBreakpointSizeM)) {\n this.mobileBtn?.handleSelectedChange();\n this.handleOpenMobileMenu();\n }\n }\n\n /**\n * Close the mobile menu panel.\n * @public\n */\n closeMobileMenu(): void {\n if (!this._isMobileMenuOpen) {\n return;\n }\n\n (this.mobileBtn as UDExMastheadItem).selected = false;\n this._isMobileMenuOpen = false;\n this._mobileMenu?.showFirstLevelMenu();\n\n if (this.bodyOverflow) {\n this.removeOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-close\");\n }\n\n get slottedItems(): (MastheadSlottedItem)[] {\n return [\n this.profileItem,\n this.profileMenu,\n this.cartItem,\n this.supportItem,\n this.profileMenu,\n this.profileMenuLinks,\n this.countrySelectorItem,\n this.countrySelectorMenu,\n ];\n }\n\n get searchOpener(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__search-btn\");\n }\n\n get mastheadHolder(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell\");\n }\n\n get mastheadMobileMenu(): UDExMastheadMobileMenu | null {\n return this.querySelector(\"[udex-masthead-mobile-menu]\");\n }\n\n get mobileBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__menu-btn\");\n }\n\n get closeBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__close-btn\");\n }\n\n get profileItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"profile\")[0];\n }\n\n get countrySelectorItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"countrySelector\")[0];\n }\n\n get cartItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"cart\")[0];\n }\n\n get supportItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"support\")[0];\n }\n\n get profileMenu(): UDExMastheadProfileMenu {\n return this.querySelector(\"[udex-masthead-profile-menu]\")!;\n }\n\n get countrySelectorMenu(): UDExMastheadCountrySelector {\n return this.querySelector(\"[udex-masthead-country-selector]\")!;\n }\n\n get profileMenuLinks(): UDExMastheadMenu | undefined | null {\n return this.profileMenu?.shadowRoot?.querySelector(\"[udex-masthead-menu]\");\n }\n\n get hasProfile(): boolean {\n return !!this.profile.length;\n }\n\n get hasCart(): boolean {\n return !!this.cart.length;\n }\n\n get hasSearch(): boolean {\n return !!this.search.length;\n }\n\n get hasExploreSAP(): boolean {\n return !!this.exploreSAP.length;\n }\n\n get hasCountrySelector(): boolean {\n return !!this.countrySelector.length;\n }\n\n get hasSupport(): boolean {\n return !!this.support.length;\n }\n\n get hasMobileMenuButtons(): boolean {\n return !!this.mobileMenu.length;\n }\n\n get isBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtMost(\"M\");\n }\n\n get isAtLeastBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMainMenuVisible(): boolean {\n return !this.showSearchByDefault && !this._isSearchOpened;\n }\n\n get isSearchVisible(): boolean {\n return this.showSearchByDefault || this._isSearchOpened;\n }\n\n get shouldHandleMobileView(): boolean {\n return !this.isBreakpointSizeM && !this.showSearchByDefault;\n }\n\n get mainNavigationAriaLabel(): string {\n return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);\n }\n}\n\nUDExMastheadShell.define();\n\nexport default UDExMastheadShell;\n"]}
|
package/dist/PasswordField.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
3
|
import ValueState from "./types/common.js";
|
|
4
|
+
import "@ui5/webcomponents-icons/dist/hide.js";
|
|
5
|
+
import "@ui5/webcomponents-icons/dist/show.js";
|
|
6
|
+
export declare enum PasswordFieldAutoComplete {
|
|
7
|
+
On = "on",
|
|
8
|
+
Off = "off"
|
|
9
|
+
}
|
|
4
10
|
export declare enum InputType {
|
|
5
11
|
Password = "password",
|
|
6
12
|
Text = "text"
|
|
@@ -35,6 +41,12 @@ declare class UDExPasswordField extends UI5Element {
|
|
|
35
41
|
* @private
|
|
36
42
|
*/
|
|
37
43
|
type: InputType;
|
|
44
|
+
/**
|
|
45
|
+
* Defines the behaviour of autocomplete.
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
autocomplete: `${PasswordFieldAutoComplete}`;
|
|
38
50
|
/**
|
|
39
51
|
* Defines whether the component is in disabled state.
|
|
40
52
|
* <br><br>
|
package/dist/PasswordField.js
CHANGED
|
@@ -13,7 +13,16 @@ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
|
13
13
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
14
14
|
import UDExTextField from "./TextField.js";
|
|
15
15
|
import ValueState from "./types/common.js";
|
|
16
|
+
import "@ui5/webcomponents-icons/dist/hide.js";
|
|
17
|
+
import "@ui5/webcomponents-icons/dist/show.js";
|
|
16
18
|
import PasswordFieldTemplate from "./generated/templates/PasswordFieldTemplate.lit.js";
|
|
19
|
+
// Styles
|
|
20
|
+
import PasswordFieldCss from "./generated/themes/PasswordField.css";
|
|
21
|
+
export var PasswordFieldAutoComplete;
|
|
22
|
+
(function (PasswordFieldAutoComplete) {
|
|
23
|
+
PasswordFieldAutoComplete["On"] = "on";
|
|
24
|
+
PasswordFieldAutoComplete["Off"] = "off";
|
|
25
|
+
})(PasswordFieldAutoComplete || (PasswordFieldAutoComplete = {}));
|
|
17
26
|
export var InputType;
|
|
18
27
|
(function (InputType) {
|
|
19
28
|
InputType["Password"] = "password";
|
|
@@ -64,6 +73,9 @@ let UDExPasswordField = UDExPasswordField_1 = class UDExPasswordField extends UI
|
|
|
64
73
|
__decorate([
|
|
65
74
|
property({ type: String, noAttribute: true, defaultValue: InputType.Password })
|
|
66
75
|
], UDExPasswordField.prototype, "type", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
property({ type: String, defaultValue: PasswordFieldAutoComplete.Off })
|
|
78
|
+
], UDExPasswordField.prototype, "autocomplete", void 0);
|
|
67
79
|
__decorate([
|
|
68
80
|
property({ type: Boolean })
|
|
69
81
|
], UDExPasswordField.prototype, "disabled", void 0);
|
|
@@ -110,6 +122,7 @@ UDExPasswordField = UDExPasswordField_1 = __decorate([
|
|
|
110
122
|
customElement({
|
|
111
123
|
tag: "udex-password-field",
|
|
112
124
|
renderer: litRender,
|
|
125
|
+
styles: PasswordFieldCss,
|
|
113
126
|
template: PasswordFieldTemplate,
|
|
114
127
|
dependencies: [UDExTextField],
|
|
115
128
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../src/PasswordField.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,UAAU,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../src/PasswordField.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExTextField from \"./TextField.js\";\nimport ValueState from \"./types/common.js\";\nimport \"@ui5/webcomponents-icons/dist/hide.js\";\nimport \"@ui5/webcomponents-icons/dist/show.js\";\nimport PasswordFieldTemplate from \"./generated/templates/PasswordFieldTemplate.lit.js\";\n\n// Styles\nimport PasswordFieldCss from \"./generated/themes/PasswordField.css\";\n\nexport enum PasswordFieldAutoComplete {\n On = \"on\",\n Off = \"off\",\n}\n\nexport enum InputType {\n Password = \"password\",\n Text = \"text\",\n}\n\nexport enum IconType {\n Hide = \"hide\",\n Show = \"show\",\n}\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-password-field</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/UDExPasswordField.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-password-field\n * @public\n */\n@customElement({\n tag: \"udex-password-field\",\n renderer: litRender,\n styles: PasswordFieldCss,\n template: PasswordFieldTemplate,\n dependencies: [UDExTextField],\n})\n\nclass UDExPasswordField extends UI5Element {\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: InputType.Password })\n type!: InputType;\n\n /**\n * Defines the behaviour of autocomplete.\n *\n * @public\n */\n @property({ type: String, defaultValue: PasswordFieldAutoComplete.Off })\n autocomplete!: `${PasswordFieldAutoComplete}`;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value!: string;\n\n /**\n * Sets the maximum number of characters available in the input field.\n * <br><br>\n * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n *\n * @public\n */\n @property({ validator: Integer })\n maxlength?: number;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines asterisk for the input field's label text.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showAsterisk!: boolean;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n\n @property({ type: ValueState, defaultValue: ValueState.Standard })\n valueState!: ValueState;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the inner stored show password button visibility state.\n *\n * @default false\n * @public\n */\n\n @property({ type: Boolean })\n showButtonEnabled!: boolean;\n\n /**\n * Defines the inner stored show password button icon.\n *\n * @default \"show\"\n * @private\n */\n\n @property({ type: String, noAttribute: true, defaultValue: IconType.Show })\n icon!: IconType;\n\n /**\n * Defines the inner stored show password button tooltip.\n *\n * @default \"\"\n * @public\n */\n\n @property({ type: String })\n showButtonTooltip!: string;\n\n /**\n * Defines the inner stored readonly state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines the inner stored displayonly state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleNameRef!: string;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n UDExPasswordField.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n handleShowPassword(): void {\n const isPassword = this.type === InputType.Password;\n\n this.icon = isPassword ? IconType.Hide : IconType.Show;\n this.type = isPassword ? InputType.Text : InputType.Password;\n }\n\n get passwordLabel(): string {\n return `${this.label} ${this.showAsterisk ? \"*\" : \"\"}`;\n }\n\n get renderShowButton(): boolean {\n return !this.disabled && !this.readonly && !this.displayonly && this.showButtonEnabled;\n }\n\n get iconButton(): IconType | null {\n return this.renderShowButton ? this.icon : null;\n }\n}\n\nUDExPasswordField.define();\n\nexport default UDExPasswordField;\n"]}
|
|
@@ -100,7 +100,7 @@ declare class UDExSecondaryNavigation extends UI5Element {
|
|
|
100
100
|
getCurrentIndex(item: UDExSecondaryNavigationItem): number;
|
|
101
101
|
handleItemClick(e: CustomEvent): void;
|
|
102
102
|
handleSubItemClick(e: CustomEvent): void;
|
|
103
|
-
fireEventItemClick(e:
|
|
103
|
+
fireEventItemClick(e: Event, clickedIndex: number, { items, target, path, title, active, mobileLinkTitle, }: NavItem): boolean;
|
|
104
104
|
setActiveItem(navItems: Array<NavItem>, clickedItem: UDExSecondaryNavigationItemBase): void;
|
|
105
105
|
handleOutsideClick(): void;
|
|
106
106
|
outsideClickListener: (e: Event) => void;
|