@sapudex/web-components 0.127.6 → 0.138.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/bundle.esm.js +2 -0
- package/dist/Accordion.d.ts +1 -1
- package/dist/Accordion.js +1 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +1 -1
- package/dist/AccordionItem.js +2 -2
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Checkbox.d.ts +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/CountrySelector.d.ts +24 -6
- package/dist/CountrySelector.js +25 -7
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +1 -0
- package/dist/DatePicker.js +4 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.d.ts +1 -1
- package/dist/Dropdown.js +3 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +19 -5
- package/dist/FilterMenu.js +57 -20
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +9 -1
- package/dist/Footer.js +8 -1
- package/dist/Footer.js.map +1 -1
- package/dist/Link.d.ts +1 -1
- package/dist/Link.js +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +1 -1
- package/dist/List.js +17 -1
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.d.ts +2 -2
- package/dist/ListGroupHeader.js +2 -2
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListItem.d.ts +3 -3
- package/dist/ListItem.js +6 -7
- package/dist/ListItem.js.map +1 -1
- package/dist/ListSelectAll.d.ts +1 -1
- package/dist/ListSelectAll.js +1 -1
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadItem.d.ts +9 -1
- package/dist/MastheadItem.js +26 -9
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +5 -0
- package/dist/MastheadMenu.js +24 -0
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +2 -3
- package/dist/MastheadMenuItem.js +2 -17
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +25 -5
- package/dist/MastheadMobileMenu.js +135 -21
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.d.ts +13 -4
- package/dist/MastheadProfileMenu.js +40 -9
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +3 -0
- package/dist/MastheadShell.js +42 -8
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.d.ts +3 -3
- package/dist/MediaPlayer.js +115 -25
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +26 -0
- package/dist/PhoneNumberField.js +46 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/ReviewItem.d.ts +105 -0
- package/dist/ReviewItem.js +157 -0
- package/dist/ReviewItem.js.map +1 -0
- package/dist/Search.d.ts +15 -1
- package/dist/Search.js +30 -5
- package/dist/Search.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -0
- package/dist/SecondaryNavigation.js +11 -10
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.js +1 -1
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.js +1 -1
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SelectBox.d.ts +33 -9
- package/dist/SelectBox.js +119 -60
- package/dist/SelectBox.js.map +1 -1
- package/dist/Switch.d.ts +19 -0
- package/dist/Switch.js +19 -0
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +1 -1
- package/dist/TabNavigation.js +1 -1
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +9 -1
- package/dist/Tag.js +20 -3
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.d.ts +94 -0
- package/dist/TagGroup.js +174 -0
- package/dist/TagGroup.js.map +1 -0
- package/dist/TextArea.d.ts +13 -0
- package/dist/TextArea.js +15 -0
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +23 -13
- package/dist/TextField.js +16 -2
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-bb1c7413.js} +190 -188
- package/dist/assets/messagebundle_en-c677773a.js +1 -0
- package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
- package/dist/assets/video.es-60bfb78c.js +228 -0
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ReviewItem.css +1 -0
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -1
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/TagGroup.css +1 -0
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +783 -362
- package/dist/custom-elements.json +751 -369
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
- package/dist/generated/i18n/i18n-defaults.js +6 -4
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
- package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
- package/dist/generated/templates/DropdownTemplate.lit.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/FooterTemplate.lit.js +9 -9
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +7 -7
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
- package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
- package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/TagTemplate.lit.js +11 -7
- package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
- package/dist/generated/templates/TextAreaTemplate.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/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.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/MastheadMobileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js +1 -1
- package/dist/generated/themes/PhoneNumberField.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/ReviewItem.css.d.ts +3 -0
- package/dist/generated/themes/ReviewItem.css.js +9 -0
- package/dist/generated/themes/ReviewItem.css.js.map +1 -0
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/SelectBox.css.js +1 -1
- package/dist/generated/themes/SelectBox.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/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TagGroup.css.d.ts +3 -0
- package/dist/generated/themes/TagGroup.css.js +9 -0
- package/dist/generated/themes/TagGroup.css.js.map +1 -0
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +7 -3
- package/dist/i18n/messagebundle_en.properties +5 -3
- package/dist/vscode.html-custom-data.json +148 -78
- package/dist/web-types.json +382 -142
- package/package.json +8 -8
- package/src/Accordion.ts +1 -1
- package/src/AccordionItem.ts +2 -2
- package/src/Checkbox.ts +1 -1
- package/src/CountrySelector.hbs +19 -15
- package/src/CountrySelector.ts +42 -9
- package/src/DatePicker.hbs +7 -8
- package/src/DatePicker.ts +14 -10
- package/src/Dropdown.hbs +3 -0
- package/src/Dropdown.ts +3 -3
- package/src/FilterMenu.hbs +58 -59
- package/src/FilterMenu.ts +91 -37
- package/src/Footer.hbs +9 -0
- package/src/Footer.ts +10 -1
- package/src/HeroBanner.hbs +4 -1
- package/src/Link.ts +1 -1
- package/src/List.ts +43 -23
- package/src/ListGroupHeader.ts +2 -2
- package/src/ListItem.hbs +4 -2
- package/src/ListItem.ts +8 -10
- package/src/ListSelectAll.hbs +1 -1
- package/src/ListSelectAll.ts +1 -1
- package/src/MastheadItem.hbs +5 -3
- package/src/MastheadItem.ts +35 -8
- package/src/MastheadMenu.hbs +4 -2
- package/src/MastheadMenu.ts +30 -0
- package/src/MastheadMenuItem.hbs +0 -2
- package/src/MastheadMenuItem.ts +2 -16
- package/src/MastheadMobileMenu.hbs +36 -10
- package/src/MastheadMobileMenu.ts +162 -22
- package/src/MastheadProfileMenu.hbs +6 -2
- package/src/MastheadProfileMenu.ts +66 -20
- package/src/MastheadShell.hbs +10 -4
- package/src/MastheadShell.ts +49 -8
- package/src/MediaPlayer.hbs +1 -3
- package/src/MediaPlayer.ts +122 -26
- package/src/PhoneNumberField.hbs +18 -3
- package/src/PhoneNumberField.ts +67 -2
- package/src/ReviewItem.hbs +20 -0
- package/src/ReviewItem.ts +227 -0
- package/src/Search.ts +41 -4
- package/src/SecondaryNavigation.hbs +9 -7
- package/src/SecondaryNavigation.ts +13 -11
- package/src/SecondaryNavigationItem.ts +1 -1
- package/src/SecondaryNavigationItemBase.ts +1 -1
- package/src/SelectBox.hbs +9 -7
- package/src/SelectBox.ts +153 -72
- package/src/Switch.ts +21 -0
- package/src/Tab.ts +1 -1
- package/src/TabHeader.hbs +3 -1
- package/src/TabInOverflow.hbs +16 -4
- package/src/TabNavigation.hbs +15 -7
- package/src/TabNavigation.ts +1 -1
- package/src/Tag.hbs +28 -12
- package/src/Tag.ts +25 -4
- package/src/TagGroup.hbs +48 -0
- package/src/TagGroup.ts +222 -0
- package/src/TextArea.hbs +36 -33
- package/src/TextArea.ts +25 -0
- package/src/TextField.hbs +8 -6
- package/src/TextField.ts +50 -18
- package/src/Tooltip.ts +1 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
- package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
- package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
- package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/FooterTemplate.lit.ts +9 -9
- package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
- package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadShellTemplate.lit.ts +7 -7
- package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
- package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
- package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
- package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
- package/src/generated/templates/TagTemplate.lit.ts +11 -7
- package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/ReviewItem.css.ts +13 -0
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/TagGroup.css.ts +13 -0
- package/src/generated/themes/TextArea.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/generated/themes/Toast.css.ts +1 -1
- package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/i18n/messagebundle.properties +7 -3
- package/src/i18n/messagebundle_en.properties +5 -3
- package/src/themes/CountrySelector.css +49 -26
- package/src/themes/FilterMenu.css +52 -15
- package/src/themes/ListItem.css +4 -0
- package/src/themes/MastheadItem.css +12 -2
- package/src/themes/MastheadMobileMenu.css +4 -0
- package/src/themes/PhoneNumberField.css +14 -1
- package/src/themes/ReviewItem.css +121 -0
- package/src/themes/Search.css +9 -0
- package/src/themes/SecondaryNavigation.css +13 -14
- package/src/themes/SecondaryNavigationItem.css +3 -2
- package/src/themes/SecondaryNavigationSubItem.css +5 -5
- package/src/themes/SelectBox.css +34 -0
- package/src/themes/Tag.css +20 -0
- package/src/themes/TagGroup.css +90 -0
- package/src/themes/TextArea.css +13 -0
- package/src/themes/TextField.css +25 -8
- package/src/themes/Toast.css +4 -0
- package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
- package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
- package/dist/assets/video.es-17aecf95.js +0 -219
|
@@ -3,6 +3,7 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
|
|
|
3
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
4
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
5
5
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
6
|
+
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
6
7
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
7
8
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
8
9
|
import {
|
|
@@ -13,9 +14,15 @@ import UDExMastheadMenuItem from "./MastheadMenuItem.js";
|
|
|
13
14
|
import { OVERVIEW } from "./generated/i18n/i18n-defaults.js";
|
|
14
15
|
|
|
15
16
|
import MastheadMobileMenuTemplate from "./generated/templates/MastheadMobileMenuTemplate.lit.js";
|
|
17
|
+
|
|
16
18
|
// Styles
|
|
17
19
|
import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js";
|
|
18
20
|
|
|
21
|
+
export type MobileItemClickEventDetail = {
|
|
22
|
+
originalEvent: Event,
|
|
23
|
+
item: UDExMastheadMenuItem,
|
|
24
|
+
}
|
|
25
|
+
|
|
19
26
|
/**
|
|
20
27
|
* @class
|
|
21
28
|
*
|
|
@@ -41,6 +48,31 @@ import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js"
|
|
|
41
48
|
dependencies: [UDExMastheadMenuItem],
|
|
42
49
|
})
|
|
43
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Fires when item is clicked
|
|
53
|
+
*
|
|
54
|
+
* @allowPreventDefault
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
@event("item-click", {
|
|
58
|
+
detail: {
|
|
59
|
+
item: {
|
|
60
|
+
type: HTMLElement,
|
|
61
|
+
},
|
|
62
|
+
originalEvent: {
|
|
63
|
+
type: PointerEvent,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Fires when explorer menu button is clicked
|
|
70
|
+
*
|
|
71
|
+
* @allowPreventDefault
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
@event("explorer-menu-click")
|
|
75
|
+
|
|
44
76
|
class UDExMastheadMobileMenu extends UI5Element {
|
|
45
77
|
/**
|
|
46
78
|
* Slot for search
|
|
@@ -83,6 +115,9 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
83
115
|
_clickedItem!: UDExMastheadItem;
|
|
84
116
|
_categories!: Array<SubMenuLinkItem>;
|
|
85
117
|
_category!: SubMenuLinkItem;
|
|
118
|
+
_shouldFocusItemByIndex!: boolean;
|
|
119
|
+
_shouldFocusExploreBtn!: boolean;
|
|
120
|
+
_focusedItemIndex!: number;
|
|
86
121
|
|
|
87
122
|
static i18nBundle: I18nBundle;
|
|
88
123
|
|
|
@@ -91,34 +126,53 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
91
126
|
}
|
|
92
127
|
|
|
93
128
|
onAfterRendering() {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
129
|
+
this.handleMenuMode();
|
|
130
|
+
this.handleFocusItem();
|
|
97
131
|
}
|
|
98
132
|
|
|
99
133
|
handleMenuItemClick(e: Event) {
|
|
100
134
|
e.preventDefault();
|
|
101
|
-
|
|
135
|
+
e.stopPropagation();
|
|
136
|
+
const item = this.getItemByList(e.target as UDExMastheadItem);
|
|
137
|
+
this.openCategories(item);
|
|
138
|
+
this.setFocusItemByIndex(0);
|
|
139
|
+
this.fireMobileItemEvent(e);
|
|
102
140
|
}
|
|
103
141
|
|
|
104
142
|
handleMenuCategoryClick(e: Event) {
|
|
105
143
|
e.preventDefault();
|
|
144
|
+
e.stopPropagation();
|
|
106
145
|
this.openCategoryItems(e);
|
|
146
|
+
this.setFocusItemByIndex(0);
|
|
147
|
+
this.fireMobileItemEvent(e);
|
|
107
148
|
}
|
|
108
149
|
|
|
109
150
|
handleExploreSapClick(e: Event) {
|
|
110
151
|
e.preventDefault();
|
|
111
|
-
this.
|
|
112
|
-
this.
|
|
113
|
-
this.
|
|
152
|
+
this.openExploreSapMenu(e);
|
|
153
|
+
this.setFocusItemByIndex(0);
|
|
154
|
+
this.fireEvent("explorer-menu-click");
|
|
114
155
|
}
|
|
115
156
|
|
|
116
|
-
handleBackToMenuItems() {
|
|
157
|
+
handleBackToMenuItems(e: Event) {
|
|
158
|
+
e.stopPropagation();
|
|
117
159
|
this.showFirstLevelMenu();
|
|
160
|
+
this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));
|
|
161
|
+
this.fireMobileItemEvent(e);
|
|
118
162
|
}
|
|
119
163
|
|
|
120
|
-
handleBackToCategories() {
|
|
164
|
+
handleBackToCategories(e: Event) {
|
|
165
|
+
e.stopPropagation();
|
|
121
166
|
this.showCategories();
|
|
167
|
+
this.setFocusItemByIndex(this._category.index + 1);
|
|
168
|
+
this.fireMobileItemEvent(e);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
handleExploreBackToMenuItems(e: Event) {
|
|
172
|
+
e.stopPropagation();
|
|
173
|
+
this.showFirstLevelMenu();
|
|
174
|
+
this.setFocusExploreBtn();
|
|
175
|
+
this.fireMobileItemEvent(e);
|
|
122
176
|
}
|
|
123
177
|
|
|
124
178
|
handleKeyDown(e: KeyboardEvent) {
|
|
@@ -175,36 +229,85 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
175
229
|
}
|
|
176
230
|
}
|
|
177
231
|
|
|
232
|
+
handleMobileItemEvent(e: Event) {
|
|
233
|
+
e.stopPropagation();
|
|
234
|
+
this.fireMobileItemEvent(e);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
handleMenuMode() {
|
|
238
|
+
if (this.isCategoriesOpen) {
|
|
239
|
+
if (this.isNoMenuItemsMode) {
|
|
240
|
+
this.openCategories(this.exploreItem);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (this.isSingleMenuMode) {
|
|
244
|
+
this.openCategories(this.items[0]);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
handleFocusItem() {
|
|
250
|
+
if (this._shouldFocusItemByIndex) {
|
|
251
|
+
this.focusItemByIndex(this._focusedItemIndex);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (this._shouldFocusExploreBtn) {
|
|
255
|
+
this.focusExploreBtn();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
178
259
|
moveToBackWithKeyboard(e: KeyboardEvent) {
|
|
179
|
-
const target = e.target as
|
|
180
|
-
if (target.hasAttribute("back-to-nav")) {
|
|
260
|
+
const target = e.target as UDExMastheadMenuItem;
|
|
261
|
+
if (target.hasAttribute("is-back-to-nav")) {
|
|
181
262
|
this.showFirstLevelMenu();
|
|
263
|
+
this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));
|
|
264
|
+
this.fireMobileItemEvent(e);
|
|
182
265
|
}
|
|
183
266
|
|
|
184
|
-
if (target.hasAttribute("back-to-categories")) {
|
|
267
|
+
if (target.hasAttribute("is-back-to-categories")) {
|
|
185
268
|
this.showCategories();
|
|
269
|
+
this.setFocusItemByIndex(this._category.index + 1);
|
|
270
|
+
this.fireMobileItemEvent(e);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (target.hasAttribute("is-explore-back")) {
|
|
274
|
+
this.showFirstLevelMenu();
|
|
275
|
+
this.setFocusExploreBtn();
|
|
276
|
+
this.fireMobileItemEvent(e);
|
|
186
277
|
}
|
|
187
278
|
}
|
|
188
279
|
|
|
189
280
|
moveToNextLevelWithKeyboard(e: KeyboardEvent) {
|
|
190
281
|
const target = e.target as UDExMastheadItem;
|
|
282
|
+
const item = this.getItemByList(e.target as UDExMastheadItem);
|
|
191
283
|
|
|
192
284
|
if (target.hasAttribute("is-explore")) {
|
|
193
285
|
this._hideExploreSapBtn = true;
|
|
194
286
|
this._showCategoryItems = false;
|
|
287
|
+
this.fireMobileItemEvent(e);
|
|
195
288
|
}
|
|
196
289
|
|
|
197
290
|
if (target.hasAttribute("first-level")) {
|
|
198
|
-
this.openCategories(
|
|
291
|
+
this.openCategories(item);
|
|
292
|
+
this.fireMobileItemEvent(e);
|
|
199
293
|
}
|
|
200
294
|
|
|
201
295
|
if (target.hasAttribute("second-level")) {
|
|
202
296
|
this.openCategoryItems(e);
|
|
297
|
+
this.fireMobileItemEvent(e);
|
|
203
298
|
}
|
|
299
|
+
|
|
300
|
+
this.setFocusItemByIndex(0);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
focusItemByIndex(index: number): void {
|
|
304
|
+
this.getListItemByIndex(index)?.focus();
|
|
305
|
+
this._shouldFocusItemByIndex = false;
|
|
204
306
|
}
|
|
205
307
|
|
|
206
|
-
|
|
207
|
-
this.
|
|
308
|
+
focusExploreBtn(): void {
|
|
309
|
+
this.exploreBtnMenu.focus();
|
|
310
|
+
this._shouldFocusExploreBtn = false;
|
|
208
311
|
}
|
|
209
312
|
|
|
210
313
|
focusPreviousItem(e: KeyboardEvent): void {
|
|
@@ -226,17 +329,23 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
226
329
|
listItem?.focus();
|
|
227
330
|
}
|
|
228
331
|
|
|
229
|
-
|
|
332
|
+
openExploreSapMenu(e: Event) {
|
|
230
333
|
const item = this.getItemByList(e.target as UDExMastheadItem);
|
|
334
|
+
this._hideExploreSapBtn = true;
|
|
335
|
+
this._showCategoryItems = false;
|
|
336
|
+
this.openCategories(item);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
openCategories(item: UDExMastheadItem) {
|
|
231
340
|
this._clickedItem = item;
|
|
232
341
|
this._categories = this.getCategories(item.getSubItems());
|
|
233
|
-
this.setCategoryByItem(item);
|
|
234
342
|
this._showCategories = true;
|
|
235
343
|
}
|
|
236
344
|
|
|
237
345
|
openCategoryItems(e: Event) {
|
|
238
346
|
const item = e.target as UDExMastheadMenuItem;
|
|
239
|
-
|
|
347
|
+
const index = Number(item.getAttribute("id"));
|
|
348
|
+
this._category = { ...this._categories[index], index };
|
|
240
349
|
this._showCategories = false;
|
|
241
350
|
this._showCategoryItems = true;
|
|
242
351
|
}
|
|
@@ -252,9 +361,20 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
252
361
|
this._showCategoryItems = false;
|
|
253
362
|
}
|
|
254
363
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
364
|
+
fireMobileItemEvent(e: Event) {
|
|
365
|
+
this.fireEvent<MobileItemClickEventDetail>("item-click", {
|
|
366
|
+
item: e.target as UDExMastheadMenuItem,
|
|
367
|
+
originalEvent: e,
|
|
368
|
+
}, true, false);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
setFocusItemByIndex(index: number) {
|
|
372
|
+
this._shouldFocusItemByIndex = true;
|
|
373
|
+
this._focusedItemIndex = index;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
setFocusExploreBtn(): void {
|
|
377
|
+
this._shouldFocusExploreBtn = true;
|
|
258
378
|
}
|
|
259
379
|
|
|
260
380
|
getItemByList(el: UDExMastheadItem): UDExMastheadItem {
|
|
@@ -284,6 +404,10 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
284
404
|
return this.navigationItems[index]?.querySelector("udex-masthead-menu-item");
|
|
285
405
|
}
|
|
286
406
|
|
|
407
|
+
get exploreBtnMenu(): UDExMastheadMenuItem {
|
|
408
|
+
return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(".udex-masthead-mobile-menu__explore-btn")!;
|
|
409
|
+
}
|
|
410
|
+
|
|
287
411
|
get isRtlDirection(): boolean {
|
|
288
412
|
return this._direction === "rtl";
|
|
289
413
|
}
|
|
@@ -305,7 +429,7 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
305
429
|
}
|
|
306
430
|
|
|
307
431
|
get showExploreBtn(): boolean {
|
|
308
|
-
return this.hasExploreBtnSlot && !this._hideExploreSapBtn;
|
|
432
|
+
return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;
|
|
309
433
|
}
|
|
310
434
|
|
|
311
435
|
get hasExploreBtnSlot(): boolean {
|
|
@@ -315,6 +439,22 @@ class UDExMastheadMobileMenu extends UI5Element {
|
|
|
315
439
|
get hasSearchSlot(): boolean {
|
|
316
440
|
return !!this.search.length;
|
|
317
441
|
}
|
|
442
|
+
|
|
443
|
+
get isCategoriesOpen(): boolean {
|
|
444
|
+
return !this._showCategoryItems;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
get isSingleMenuMode(): boolean {
|
|
448
|
+
return this.items.length === 1 && this.isCategoriesOpen;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
get isNoMenuItemsMode(): boolean {
|
|
452
|
+
return this.items.length === 0 && this.isCategoriesOpen;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
get isNotMultipleMode(): boolean {
|
|
456
|
+
return this.isSingleMenuMode || this.isNoMenuItemsMode;
|
|
457
|
+
}
|
|
318
458
|
}
|
|
319
459
|
|
|
320
460
|
UDExMastheadMobileMenu.define();
|
|
@@ -20,10 +20,14 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
{{/if}}
|
|
22
22
|
<div class="udex-masthead-profile-menu__links">
|
|
23
|
-
<udex-masthead-menu
|
|
23
|
+
<udex-masthead-menu
|
|
24
|
+
sub-items='{{linksList}}'
|
|
25
|
+
@ui5-menu-item-click={{handleProfileMenuItemClick}}>
|
|
26
|
+
</udex-masthead-menu>
|
|
24
27
|
{{#if logoutLink}}
|
|
25
|
-
<div class="udex-masthead-profile-menu__actions"
|
|
28
|
+
<div class="udex-masthead-profile-menu__actions">
|
|
26
29
|
<udex-masthead-menu-item
|
|
30
|
+
@click={{handleUserLogoutItemClick}}
|
|
27
31
|
url="{{logoutUrl}}"
|
|
28
32
|
label="{{logoutText}}">
|
|
29
33
|
</udex-masthead-menu-item>
|
|
@@ -9,16 +9,26 @@ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
|
9
9
|
import { LOGOUT } from "./generated/i18n/i18n-defaults.js";
|
|
10
10
|
import UDExMastheadMenu from "./MastheadMenu.js";
|
|
11
11
|
import MastheadProfileMenuTemplate from "./generated/templates/MastheadProfileMenuTemplate.lit.js";
|
|
12
|
+
import UDExMastheadMenuItem from "./MastheadMenuItem.js";
|
|
12
13
|
|
|
13
14
|
// Styles
|
|
14
15
|
import MastheadProfileMenuCss from "./generated/themes/MastheadProfileMenu.css.js";
|
|
15
16
|
|
|
16
17
|
interface UserData {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
name?: string,
|
|
19
|
+
username?: string,
|
|
20
|
+
email?: string,
|
|
21
|
+
avatarUrl?: string,
|
|
22
|
+
avatarInitials?: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type LogoutClickEventDetail = {
|
|
26
|
+
originalEvent: Event,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type ProfileMenuItemClickEventDetail = {
|
|
30
|
+
item: UDExMastheadMenuItem,
|
|
31
|
+
originalEvent: Event,
|
|
22
32
|
}
|
|
23
33
|
|
|
24
34
|
/**
|
|
@@ -50,7 +60,30 @@ interface UserData {
|
|
|
50
60
|
* Fired when use click Logout link
|
|
51
61
|
* @public
|
|
52
62
|
*/
|
|
53
|
-
@event("logout"
|
|
63
|
+
@event("logout", {
|
|
64
|
+
detail: {
|
|
65
|
+
originalEvent: {
|
|
66
|
+
type: PointerEvent,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Fires when profile ment item is clicked
|
|
73
|
+
*
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
@event("profile-item-click", {
|
|
77
|
+
detail: {
|
|
78
|
+
item: {
|
|
79
|
+
type: HTMLElement,
|
|
80
|
+
},
|
|
81
|
+
originalEvent: {
|
|
82
|
+
type: PointerEvent,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
})
|
|
86
|
+
|
|
54
87
|
class UDExMastheadProfileMenu extends UI5Element {
|
|
55
88
|
/**
|
|
56
89
|
* Defines the object of link values
|
|
@@ -60,6 +93,7 @@ class UDExMastheadProfileMenu extends UI5Element {
|
|
|
60
93
|
*/
|
|
61
94
|
@property()
|
|
62
95
|
links!: string;
|
|
96
|
+
|
|
63
97
|
/**
|
|
64
98
|
* Defines the object of user profile data
|
|
65
99
|
*
|
|
@@ -68,6 +102,7 @@ class UDExMastheadProfileMenu extends UI5Element {
|
|
|
68
102
|
*/
|
|
69
103
|
@property()
|
|
70
104
|
loggedInUser!: string;
|
|
105
|
+
|
|
71
106
|
/**
|
|
72
107
|
* Defines the link for logout
|
|
73
108
|
*
|
|
@@ -86,10 +121,29 @@ class UDExMastheadProfileMenu extends UI5Element {
|
|
|
86
121
|
message!: Array<Node>;
|
|
87
122
|
static i18nBundle: I18nBundle;
|
|
88
123
|
|
|
89
|
-
static async onDefine() {
|
|
124
|
+
static async onDefine(): Promise<void> {
|
|
90
125
|
UDExMastheadProfileMenu.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
|
|
91
126
|
}
|
|
92
127
|
|
|
128
|
+
handleUserLogoutItemClick(e: Event): void {
|
|
129
|
+
this.fireEvent<LogoutClickEventDetail>("logout", {
|
|
130
|
+
originalEvent: e,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
handleProfileMenuItemClick(e: CustomEvent): void {
|
|
135
|
+
const { item, originalEvent } = e.detail;
|
|
136
|
+
|
|
137
|
+
this.fireEvent<ProfileMenuItemClickEventDetail>("profile-item-click", {
|
|
138
|
+
item,
|
|
139
|
+
originalEvent,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
parseArrayFromString<T>(string: string): T[] {
|
|
144
|
+
return string ? JSON.parse(string) as T[] : [];
|
|
145
|
+
}
|
|
146
|
+
|
|
93
147
|
get linksList(): string {
|
|
94
148
|
return this.links ? JSON.stringify([{
|
|
95
149
|
subMenuLinkItems: JSON.parse(this.links),
|
|
@@ -100,25 +154,17 @@ class UDExMastheadProfileMenu extends UI5Element {
|
|
|
100
154
|
return this.parseArrayFromString(this.loggedInUser) as UserData;
|
|
101
155
|
}
|
|
102
156
|
|
|
103
|
-
|
|
104
|
-
return
|
|
157
|
+
get messageAvailable(): boolean {
|
|
158
|
+
return !!this.message.length;
|
|
105
159
|
}
|
|
106
160
|
|
|
107
|
-
get
|
|
108
|
-
return this.
|
|
161
|
+
get logoutLink(): boolean {
|
|
162
|
+
return !!this.logoutUrl.length;
|
|
109
163
|
}
|
|
110
164
|
|
|
111
|
-
get
|
|
112
|
-
return this.logoutUrl.length;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
get logoutText() {
|
|
165
|
+
get logoutText(): string {
|
|
116
166
|
return UDExMastheadProfileMenu.i18nBundle.getText(LOGOUT);
|
|
117
167
|
}
|
|
118
|
-
|
|
119
|
-
userLogout() {
|
|
120
|
-
this.fireEvent("logout");
|
|
121
|
-
}
|
|
122
168
|
}
|
|
123
169
|
|
|
124
170
|
UDExMastheadProfileMenu.define();
|
package/src/MastheadShell.hbs
CHANGED
|
@@ -35,7 +35,9 @@
|
|
|
35
35
|
</div>
|
|
36
36
|
{{else}}
|
|
37
37
|
<div class="udex-masthead-shell__right-menu">
|
|
38
|
-
<div
|
|
38
|
+
<div
|
|
39
|
+
class="udex-masthead-shell__explore"
|
|
40
|
+
@ui5-item-click="{{setSelectedItem}}">
|
|
39
41
|
<slot name="exploreSAP"></slot>
|
|
40
42
|
</div>
|
|
41
43
|
{{#if hasSearch}}
|
|
@@ -51,6 +53,7 @@
|
|
|
51
53
|
{{#if hasCart}}
|
|
52
54
|
<div
|
|
53
55
|
class="udex-masthead-shell__cart"
|
|
56
|
+
@ui5-item-click="{{setSelectedItem}}"
|
|
54
57
|
@click="{{handleCartClick}}">
|
|
55
58
|
<slot name="cart"></slot>
|
|
56
59
|
</div>
|
|
@@ -58,13 +61,14 @@
|
|
|
58
61
|
{{#if hasProfile}}
|
|
59
62
|
<div
|
|
60
63
|
class="udex-masthead-shell__profile"
|
|
64
|
+
@ui5-item-click="{{setSelectedItem}}"
|
|
61
65
|
@click="{{handleProfileClick}}">
|
|
62
66
|
<slot name="profile"></slot>
|
|
63
67
|
</div>
|
|
64
68
|
{{/if}}
|
|
65
69
|
{{#if hasMobileMenuButtons}}
|
|
66
70
|
<udex-masthead-item
|
|
67
|
-
@click="{{handleMobileMenuClick}}"
|
|
71
|
+
@ui5-item-click="{{handleMobileMenuClick}}"
|
|
68
72
|
class="udex-masthead-shell__menu-btn"
|
|
69
73
|
accessible-role="button"
|
|
70
74
|
icon="menu2"
|
|
@@ -73,7 +77,7 @@
|
|
|
73
77
|
<slot slot="dropdown" name="mobileMenu"></slot>
|
|
74
78
|
</udex-masthead-item>
|
|
75
79
|
<udex-masthead-item
|
|
76
|
-
@click="{{handleMobileCloseClick}}"
|
|
80
|
+
@ui5-item-click="{{handleMobileCloseClick}}"
|
|
77
81
|
class="udex-masthead-shell__close-btn"
|
|
78
82
|
accessible-role="button"
|
|
79
83
|
icon="decline"
|
|
@@ -87,7 +91,7 @@
|
|
|
87
91
|
</div>
|
|
88
92
|
|
|
89
93
|
{{#*inline "item"}}
|
|
90
|
-
<div @click="{{../setSelectedItem}}" class="udex-masthead-shell__item" role="menuitem">
|
|
94
|
+
<div @ui5-item-click="{{../setSelectedItem}}" class="udex-masthead-shell__item" role="menuitem">
|
|
91
95
|
<slot name="{{_individualSlot}}"></slot>
|
|
92
96
|
</div>
|
|
93
97
|
{{/inline}}
|
|
@@ -95,6 +99,7 @@
|
|
|
95
99
|
{{#*inline "logo"}}
|
|
96
100
|
{{#if homeUrl}}
|
|
97
101
|
<a
|
|
102
|
+
@click="{{handleLogoClick}}"
|
|
98
103
|
role="link"
|
|
99
104
|
href="{{homeUrl}}"
|
|
100
105
|
title="{{logoTitle}}"
|
|
@@ -121,6 +126,7 @@
|
|
|
121
126
|
{{#*inline "siteLabel"}}
|
|
122
127
|
{{#if homeUrl}}
|
|
123
128
|
<a
|
|
129
|
+
@click="{{handleSiteLabelClick}}"
|
|
124
130
|
role="link"
|
|
125
131
|
href="{{siteLabelUrl}}"
|
|
126
132
|
target="_self"
|
package/src/MastheadShell.ts
CHANGED
|
@@ -24,6 +24,7 @@ import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
|
|
|
24
24
|
|
|
25
25
|
const mobileMenuActiveClass: string = "udex-masthead-shell_mobile-menu-open";
|
|
26
26
|
const breakpointSizeM: number = 1279;
|
|
27
|
+
|
|
27
28
|
/**
|
|
28
29
|
* @class
|
|
29
30
|
*
|
|
@@ -58,7 +59,6 @@ const breakpointSizeM: number = 1279;
|
|
|
58
59
|
/**
|
|
59
60
|
* Fired event when the user clicks the search button trigger.
|
|
60
61
|
*
|
|
61
|
-
* @event sap.ui.webc.web-components.UDExMastheadShell#searchClick
|
|
62
62
|
* @public
|
|
63
63
|
*/
|
|
64
64
|
@event("search-click")
|
|
@@ -66,7 +66,6 @@ const breakpointSizeM: number = 1279;
|
|
|
66
66
|
/**
|
|
67
67
|
* Fired event when the user clicks the cart button trigger.
|
|
68
68
|
*
|
|
69
|
-
* @event sap.ui.webc.web-components.UDExMastheadShell#cartClick
|
|
70
69
|
* @public
|
|
71
70
|
*/
|
|
72
71
|
@event("cart-click")
|
|
@@ -74,10 +73,36 @@ const breakpointSizeM: number = 1279;
|
|
|
74
73
|
/**
|
|
75
74
|
* Fired event when the user clicks the profile button trigger.
|
|
76
75
|
*
|
|
77
|
-
* @event sap.ui.webc.web-components.UDExMastheadShell#profileClick
|
|
78
76
|
* @public
|
|
79
77
|
*/
|
|
80
78
|
@event("profile-click")
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Fired event when the user clicks the logo.
|
|
82
|
+
*
|
|
83
|
+
* @public
|
|
84
|
+
*/
|
|
85
|
+
@event("logo-click", {
|
|
86
|
+
detail: {
|
|
87
|
+
originalEvent: {
|
|
88
|
+
type: PointerEvent,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Fired event when the user clicks the site label.
|
|
95
|
+
*
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
@event("site-label-click", {
|
|
99
|
+
detail: {
|
|
100
|
+
originalEvent: {
|
|
101
|
+
type: PointerEvent,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
})
|
|
105
|
+
|
|
81
106
|
class UDExMastheadShell extends UI5Element {
|
|
82
107
|
/**
|
|
83
108
|
* Slot for mobile menu
|
|
@@ -281,11 +306,11 @@ class UDExMastheadShell extends UI5Element {
|
|
|
281
306
|
this._isSearchVisible = false;
|
|
282
307
|
}
|
|
283
308
|
|
|
284
|
-
if (this._shouldHandleResize) {
|
|
285
|
-
this.
|
|
286
|
-
this.removeOverflowBody();
|
|
309
|
+
if (this._shouldHandleResize && this.isMobileView) {
|
|
310
|
+
this.resetMobileMenuOpenState();
|
|
287
311
|
return;
|
|
288
312
|
}
|
|
313
|
+
|
|
289
314
|
this._shouldHandleResize = true;
|
|
290
315
|
}
|
|
291
316
|
|
|
@@ -313,6 +338,14 @@ class UDExMastheadShell extends UI5Element {
|
|
|
313
338
|
}
|
|
314
339
|
}
|
|
315
340
|
|
|
341
|
+
handleLogoClick(e: CustomEvent): void {
|
|
342
|
+
this.fireEvent("logo-click", { originalEvent: e });
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
handleSiteLabelClick(e: CustomEvent): void {
|
|
346
|
+
this.fireEvent("site-label-click", { originalEvent: e });
|
|
347
|
+
}
|
|
348
|
+
|
|
316
349
|
handleSearchClick(e: CustomEvent): void {
|
|
317
350
|
e.stopPropagation();
|
|
318
351
|
this._isSearchVisible = true;
|
|
@@ -325,13 +358,11 @@ class UDExMastheadShell extends UI5Element {
|
|
|
325
358
|
|
|
326
359
|
handleCartClick(e: CustomEvent) {
|
|
327
360
|
e.stopPropagation();
|
|
328
|
-
this.setSelectedItem(e);
|
|
329
361
|
this.fireEvent("cart-click");
|
|
330
362
|
}
|
|
331
363
|
|
|
332
364
|
handleProfileClick(e: CustomEvent): void {
|
|
333
365
|
e.stopPropagation();
|
|
334
|
-
this.setSelectedItem(e);
|
|
335
366
|
this.fireEvent("profile-click");
|
|
336
367
|
}
|
|
337
368
|
|
|
@@ -457,6 +488,16 @@ class UDExMastheadShell extends UI5Element {
|
|
|
457
488
|
style.removeProperty("overflow");
|
|
458
489
|
}
|
|
459
490
|
|
|
491
|
+
resetMobileMenuOpenState(): void {
|
|
492
|
+
this.removeActiveMobileClass();
|
|
493
|
+
this.resetSelectedItems();
|
|
494
|
+
this._mobileMenu?.showFirstLevelMenu();
|
|
495
|
+
|
|
496
|
+
if (this.bodyOverflow) {
|
|
497
|
+
this.removeOverflowBody();
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
|
|
460
501
|
get searchOpener(): UDExMastheadItem | null | undefined {
|
|
461
502
|
return this.shadowRoot?.querySelector(".udex-masthead-shell__search-btn");
|
|
462
503
|
}
|
package/src/MediaPlayer.hbs
CHANGED
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
<audio
|
|
11
11
|
id="{{playerElementId}}"
|
|
12
12
|
class="udex-media-player__video video-js {{aspectRatioClass}}"
|
|
13
|
-
preload="auto"
|
|
14
|
-
data-setup="{{dataSetup}}"
|
|
13
|
+
preload="auto"
|
|
15
14
|
>
|
|
16
15
|
<source src="{{source}}" type="{{type}}" />
|
|
17
16
|
</audio>
|
|
@@ -21,7 +20,6 @@
|
|
|
21
20
|
<video
|
|
22
21
|
id="{{playerElementId}}"
|
|
23
22
|
class="udex-media-player__video video-js {{aspectRatioClass}}"
|
|
24
|
-
data-setup="{{dataSetup}}"
|
|
25
23
|
>
|
|
26
24
|
<source src="{{source}}" type="{{type}}">
|
|
27
25
|
{{#each _tracks}}
|