@sapudex/web-components 0.117.1 → 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 +5 -0
- package/config/wdio.conf.js +19 -8
- 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 +3 -2
- package/dist/AccordionItem.js +4 -4
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Avatar.d.ts +12 -0
- package/dist/Avatar.js +22 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +28 -0
- package/dist/AvatarGroup.js +126 -0
- package/dist/AvatarGroup.js.map +1 -0
- 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 +12 -2
- package/dist/Dropdown.js +18 -6
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +26 -6
- package/dist/FilterMenu.js +61 -21
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +36 -1
- package/dist/Footer.js +35 -37
- package/dist/Footer.js.map +1 -1
- package/dist/HeroBanner.js +3 -0
- package/dist/HeroBanner.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 +10 -1
- package/dist/MastheadItem.js +29 -18
- 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 +11 -0
- package/dist/MastheadShell.js +52 -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/MessageStrip.js +1 -1
- package/dist/MessageStrip.js.map +1 -1
- package/dist/Pagination.d.ts +3 -0
- package/dist/Pagination.js +16 -4
- package/dist/Pagination.js.map +1 -1
- package/dist/PasswordField.d.ts +14 -4
- package/dist/PasswordField.js +24 -15
- package/dist/PasswordField.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +32 -0
- package/dist/PhoneNumberField.js +51 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/RatingBar.d.ts +53 -0
- package/dist/RatingBar.js +96 -0
- package/dist/RatingBar.js.map +1 -0
- package/dist/Review.d.ts +71 -0
- package/dist/Review.js +108 -0
- package/dist/Review.js.map +1 -0
- 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 +64 -2
- package/dist/Search.js +62 -8
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +1 -1
- package/dist/SearchableListBase.js +1 -1
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +9 -8
- package/dist/SecondaryNavigation.js +59 -46
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +1 -1
- package/dist/SecondaryNavigationItem.js +15 -5
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.d.ts +16 -2
- package/dist/SecondaryNavigationItemBase.js +27 -1
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +2 -1
- package/dist/SecondaryNavigationSubItem.js +5 -2
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SelectBox.d.ts +33 -9
- package/dist/SelectBox.js +121 -60
- package/dist/SelectBox.js.map +1 -1
- package/dist/StatusBadge.d.ts +5 -5
- package/dist/StatusBadge.js.map +1 -1
- package/dist/Switch.d.ts +20 -0
- package/dist/Switch.js +22 -0
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +9 -1
- package/dist/Tab.js +4 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +21 -21
- package/dist/TabNavigation.js +83 -102
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +22 -7
- package/dist/Tag.js +52 -21
- 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 +14 -1
- package/dist/TextArea.js +18 -0
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +32 -13
- package/dist/TextField.js +32 -2
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +3 -3
- package/dist/Tooltip.js +4 -4
- package/dist/Tooltip.js.map +1 -1
- package/dist/assets/bundle.esm-bb1c7413.js +316 -0
- 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/AccordionItem.css +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/Divider.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/HeroBanner.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/MastheadShell.css +1 -1
- package/dist/css/themes/Modal.css +1 -1
- package/dist/css/themes/Pagination.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/RatingBar.css +1 -0
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Review.css +1 -0
- 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/StepInput.css +1 -1
- package/dist/css/themes/TabNavigation.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 +1435 -444
- package/dist/custom-elements.json +1267 -358
- package/dist/data/CountryListISO3166.js +162 -162
- package/dist/data/CountryListISO3166.js.map +1 -1
- 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 +11 -1
- package/dist/generated/i18n/i18n-defaults.js +18 -8
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/AccordionItemTemplate.lit.js +1 -1
- package/dist/generated/templates/AccordionItemTemplate.lit.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 +26 -28
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -7
- 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 +8 -8
- 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/PaginationTemplate.lit.js +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -2
- package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +6 -3
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/RatingBarTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/RatingBarTemplate.lit.js +6 -0
- package/dist/generated/templates/RatingBarTemplate.lit.js.map +1 -0
- 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/ReviewTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ReviewTemplate.lit.js +10 -0
- package/dist/generated/templates/ReviewTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchTemplate.lit.js +7 -7
- package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +3 -3
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +5 -4
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
- 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/SwitchTemplate.lit.js +2 -2
- package/dist/generated/templates/SwitchTemplate.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/TabNavigationPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js +4 -2
- 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 +13 -3
- 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 +2 -2
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
- package/dist/generated/templates/TooltipTemplate.lit.js.map +1 -1
- package/dist/generated/themes/AccordionItem.css.js +1 -1
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.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/Divider.css.js +1 -1
- package/dist/generated/themes/Divider.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/Footer.css.js +1 -1
- package/dist/generated/themes/Footer.css.js.map +1 -1
- package/dist/generated/themes/HeroBanner.css.js +1 -1
- package/dist/generated/themes/HeroBanner.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/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/Modal.css.js +1 -1
- package/dist/generated/themes/Modal.css.js.map +1 -1
- package/dist/generated/themes/Pagination.css.js +1 -1
- package/dist/generated/themes/Pagination.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/RatingBar.css.js +9 -0
- package/dist/generated/themes/RatingBar.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/Review.css.d.ts +3 -0
- package/dist/generated/themes/Review.css.js +9 -0
- package/dist/generated/themes/Review.css.js.map +1 -0
- 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/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/TabNavigation.css.js +1 -1
- package/dist/generated/themes/TabNavigation.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 +35 -7
- package/dist/i18n/messagebundle_en.properties +17 -7
- package/dist/vscode.html-custom-data.json +260 -95
- package/dist/web-types.json +605 -183
- package/package.json +9 -9
- package/src/Accordion.ts +1 -1
- package/src/AccordionItem.hbs +1 -4
- package/src/AccordionItem.ts +6 -5
- package/src/Avatar.ts +24 -1
- package/src/AvatarGroup.ts +135 -0
- package/src/Checkbox.ts +1 -1
- package/src/CountrySelector.hbs +19 -15
- package/src/CountrySelector.ts +42 -9
- package/src/DatePicker.hbs +7 -9
- package/src/DatePicker.ts +14 -10
- package/src/Dropdown.hbs +8 -2
- package/src/Dropdown.ts +27 -6
- package/src/FilterMenu.hbs +58 -56
- package/src/FilterMenu.ts +101 -39
- package/src/Footer.hbs +21 -37
- package/src/Footer.ts +74 -52
- package/src/HeroBanner.hbs +22 -15
- package/src/HeroBanner.ts +3 -0
- 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 +7 -5
- package/src/MastheadItem.ts +44 -11
- 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 +14 -4
- package/src/MastheadShell.ts +67 -8
- package/src/MediaPlayer.hbs +1 -3
- package/src/MediaPlayer.ts +122 -26
- package/src/MessageStrip.ts +1 -1
- package/src/Pagination.hbs +4 -2
- package/src/Pagination.ts +19 -4
- package/src/PasswordField.hbs +6 -17
- package/src/PasswordField.ts +31 -23
- package/src/PhoneNumberField.hbs +26 -6
- package/src/PhoneNumberField.ts +77 -2
- package/src/RatingBar.hbs +11 -0
- package/src/RatingBar.ts +113 -0
- package/src/Review.hbs +44 -0
- package/src/Review.ts +140 -0
- package/src/ReviewItem.hbs +20 -0
- package/src/ReviewItem.ts +227 -0
- package/src/Search.hbs +19 -14
- package/src/Search.ts +113 -6
- package/src/SearchSuggestions.hbs +1 -0
- package/src/SearchableListBase.ts +1 -1
- package/src/SecondaryNavigation.hbs +14 -8
- package/src/SecondaryNavigation.ts +76 -56
- package/src/SecondaryNavigationItem.hbs +3 -2
- package/src/SecondaryNavigationItem.ts +15 -5
- package/src/SecondaryNavigationItemBase.ts +41 -3
- package/src/SecondaryNavigationSubItem.hbs +13 -10
- package/src/SecondaryNavigationSubItem.ts +6 -2
- package/src/SelectBox.hbs +84 -83
- package/src/SelectBox.ts +155 -72
- package/src/StatusBadge.ts +2 -2
- package/src/Switch.hbs +3 -3
- package/src/Switch.ts +25 -0
- package/src/Tab.ts +11 -1
- package/src/TabHeader.hbs +3 -1
- package/src/TabInOverflow.hbs +19 -6
- package/src/TabNavigation.hbs +22 -12
- package/src/TabNavigation.ts +93 -117
- package/src/TabNavigationPopover.hbs +1 -0
- package/src/Tag.hbs +76 -26
- package/src/Tag.ts +77 -36
- package/src/TagGroup.hbs +48 -0
- package/src/TagGroup.ts +222 -0
- package/src/TextArea.hbs +36 -34
- package/src/TextArea.ts +28 -0
- package/src/TextField.hbs +45 -39
- package/src/TextField.ts +73 -17
- package/src/Tooltip.hbs +2 -2
- package/src/Tooltip.ts +5 -5
- package/src/data/CountryListISO3166.ts +162 -162
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/AccordionItemTemplate.lit.ts +1 -1
- 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 +26 -28
- package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -7
- 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 +8 -8
- package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
- package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
- package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -2
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +6 -3
- package/src/generated/templates/RatingBarTemplate.lit.ts +11 -0
- package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
- package/src/generated/templates/ReviewTemplate.lit.ts +15 -0
- package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchTemplate.lit.ts +7 -7
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +5 -4
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/SwitchTemplate.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/TabNavigationPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/TabNavigationTemplate.lit.ts +4 -2
- package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
- package/src/generated/templates/TagTemplate.lit.ts +13 -3
- package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
- package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/Avatar.css.ts +1 -1
- package/src/generated/themes/Badge.css.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/Divider.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/HeroBanner.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/MastheadShell.css.ts +1 -1
- package/src/generated/themes/Modal.css.ts +1 -1
- package/src/generated/themes/Pagination.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/RatingBar.css.ts +13 -0
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Review.css.ts +13 -0
- 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/StepInput.css.ts +1 -1
- package/src/generated/themes/TabNavigation.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 +35 -7
- package/src/i18n/messagebundle_en.properties +17 -7
- package/src/themes/AccordionItem.css +6 -4
- package/src/themes/Avatar.css +24 -7
- package/src/themes/Badge.css +1 -1
- package/src/themes/CountrySelector.css +49 -26
- package/src/themes/Divider.css +6 -2
- package/src/themes/FilterMenu.css +52 -15
- package/src/themes/Footer.css +93 -168
- package/src/themes/HeroBanner.css +52 -24
- package/src/themes/ListItem.css +4 -0
- package/src/themes/MastheadItem.css +12 -2
- package/src/themes/MastheadMobileMenu.css +4 -0
- package/src/themes/MastheadShell.css +25 -29
- package/src/themes/Modal.css +6 -0
- package/src/themes/Pagination.css +7 -0
- package/src/themes/PhoneNumberField.css +15 -1
- package/src/themes/RatingBar.css +52 -0
- package/src/themes/Review.css +196 -0
- package/src/themes/ReviewItem.css +121 -0
- package/src/themes/Search.css +46 -25
- package/src/themes/SecondaryNavigation.css +41 -13
- package/src/themes/SecondaryNavigationItem.css +6 -4
- package/src/themes/SecondaryNavigationSubItem.css +5 -5
- package/src/themes/SelectBox.css +51 -24
- package/src/themes/StepInput.css +5 -2
- package/src/themes/TabNavigation.css +7 -1
- package/src/themes/Tag.css +200 -148
- package/src/themes/TagGroup.css +90 -0
- package/src/themes/TextArea.css +13 -0
- package/src/themes/TextField.css +97 -60
- package/src/themes/Toast.css +4 -0
- package/dist/assets/bundle.esm-f65ae7da.js +0 -315
- package/dist/assets/messagebundle_en-7249941b.js +0 -1
- package/dist/assets/parameters-bundle.css-76ef62fa.js +0 -2
- package/dist/assets/video.es-17aecf95.js +0 -219
- package/dist/css/themes/PasswordField.css +0 -1
- package/dist/generated/themes/PasswordField.css.js +0 -9
- package/dist/generated/themes/PasswordField.css.js.map +0 -1
- package/src/generated/themes/PasswordField.css.ts +0 -13
- package/src/themes/PasswordField.css +0 -29
- /package/dist/generated/themes/{PasswordField.css.d.ts → RatingBar.css.d.ts} +0 -0
|
@@ -11,15 +11,36 @@
|
|
|
11
11
|
{{/if}}
|
|
12
12
|
{{#if _showCategories}}
|
|
13
13
|
<li class="udex-masthead-mobile-menu__list-item" role="menuitem">
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
{{#if _hideExploreSapBtn}}
|
|
15
|
+
<udex-masthead-menu-item
|
|
16
|
+
class="udex-masthead-mobile-menu__back-item"
|
|
17
|
+
@click="{{handleExploreBackToMenuItems}}"
|
|
18
|
+
label="{{_clickedItem.innerText}}"
|
|
19
|
+
type="Button"
|
|
20
|
+
has-border
|
|
21
|
+
icon-start
|
|
22
|
+
is-explore-back>
|
|
23
|
+
</udex-masthead-menu-item>
|
|
24
|
+
{{else}}
|
|
25
|
+
{{#if isNotMultipleMode}}
|
|
26
|
+
<udex-masthead-menu-item
|
|
27
|
+
class="udex-masthead-mobile-menu__heading"
|
|
28
|
+
label="{{_clickedItem.innerText}}"
|
|
29
|
+
type="Heading"
|
|
30
|
+
has-border>
|
|
31
|
+
</udex-masthead-menu-item>
|
|
32
|
+
{{else}}
|
|
33
|
+
<udex-masthead-menu-item
|
|
34
|
+
class="udex-masthead-mobile-menu__back-item"
|
|
35
|
+
@click="{{handleBackToMenuItems}}"
|
|
36
|
+
label="{{_clickedItem.innerText}}"
|
|
37
|
+
type="Button"
|
|
38
|
+
has-border
|
|
39
|
+
icon-start
|
|
40
|
+
is-back-to-nav>
|
|
41
|
+
</udex-masthead-menu-item>
|
|
42
|
+
{{/if}}
|
|
43
|
+
{{/if}}
|
|
23
44
|
</li>
|
|
24
45
|
{{>categories}}
|
|
25
46
|
{{/if}}
|
|
@@ -32,7 +53,7 @@
|
|
|
32
53
|
type="Button"
|
|
33
54
|
has-border
|
|
34
55
|
icon-start
|
|
35
|
-
back-to-categories>
|
|
56
|
+
is-back-to-categories>
|
|
36
57
|
</udex-masthead-menu-item>
|
|
37
58
|
</li>
|
|
38
59
|
{{>category-items}}
|
|
@@ -69,6 +90,7 @@
|
|
|
69
90
|
</udex-masthead-menu-item>
|
|
70
91
|
{{else}}
|
|
71
92
|
<udex-masthead-menu-item
|
|
93
|
+
@click="{{../handleMobileItemEvent}}"
|
|
72
94
|
url="{{this.href}}"
|
|
73
95
|
label="{{this.innerText}}"
|
|
74
96
|
has-border>
|
|
@@ -84,6 +106,7 @@
|
|
|
84
106
|
<udex-masthead-menu-item
|
|
85
107
|
url="{{_clickedItem.href}}"
|
|
86
108
|
label="{{overviewLinkText}}"
|
|
109
|
+
@click="{{handleMobileItemEvent}}"
|
|
87
110
|
has-border>
|
|
88
111
|
</udex-masthead-menu-item>
|
|
89
112
|
</li>
|
|
@@ -106,6 +129,7 @@
|
|
|
106
129
|
{{#each this.items}}
|
|
107
130
|
<li class="udex-masthead-mobile-menu__list-item" role="menuitem">
|
|
108
131
|
<udex-masthead-menu-item
|
|
132
|
+
@click="{{../handleMobileItemEvent}}"
|
|
109
133
|
url="{{this.url}}"
|
|
110
134
|
label="{{this.title}}"
|
|
111
135
|
has-border>
|
|
@@ -120,6 +144,7 @@
|
|
|
120
144
|
{{#if _category.url}}
|
|
121
145
|
<li class="udex-masthead-mobile-menu__list-item" role="menuitem">
|
|
122
146
|
<udex-masthead-menu-item
|
|
147
|
+
@click="{{../handleMobileItemEvent}}"
|
|
123
148
|
url="{{this._category.url}}"
|
|
124
149
|
label="{{overviewLinkText}}"
|
|
125
150
|
has-border>
|
|
@@ -129,6 +154,7 @@
|
|
|
129
154
|
{{#each _category.items}}
|
|
130
155
|
<li class="udex-masthead-mobile-menu__list-item" role="menuitem">
|
|
131
156
|
<udex-masthead-menu-item
|
|
157
|
+
@click="{{../handleMobileItemEvent}}"
|
|
132
158
|
label="{{this.title}}"
|
|
133
159
|
url="{{this.url}}"
|
|
134
160
|
has-border>
|
|
@@ -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
|
@@ -23,7 +23,10 @@
|
|
|
23
23
|
{{#if _isSearchVisible}}
|
|
24
24
|
<div class="udex-masthead-shell__search-container">
|
|
25
25
|
<slot name="search"></slot>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="udex-masthead-shell__btn-holder">
|
|
26
28
|
<udex-control-button
|
|
29
|
+
class="udex-masthead-shell__close-search-btn"
|
|
27
30
|
size="Small"
|
|
28
31
|
icon="decline"
|
|
29
32
|
accessible-name="{{closeButtonAccessibleName}}"
|
|
@@ -32,7 +35,9 @@
|
|
|
32
35
|
</div>
|
|
33
36
|
{{else}}
|
|
34
37
|
<div class="udex-masthead-shell__right-menu">
|
|
35
|
-
<div
|
|
38
|
+
<div
|
|
39
|
+
class="udex-masthead-shell__explore"
|
|
40
|
+
@ui5-item-click="{{setSelectedItem}}">
|
|
36
41
|
<slot name="exploreSAP"></slot>
|
|
37
42
|
</div>
|
|
38
43
|
{{#if hasSearch}}
|
|
@@ -48,6 +53,7 @@
|
|
|
48
53
|
{{#if hasCart}}
|
|
49
54
|
<div
|
|
50
55
|
class="udex-masthead-shell__cart"
|
|
56
|
+
@ui5-item-click="{{setSelectedItem}}"
|
|
51
57
|
@click="{{handleCartClick}}">
|
|
52
58
|
<slot name="cart"></slot>
|
|
53
59
|
</div>
|
|
@@ -55,13 +61,14 @@
|
|
|
55
61
|
{{#if hasProfile}}
|
|
56
62
|
<div
|
|
57
63
|
class="udex-masthead-shell__profile"
|
|
64
|
+
@ui5-item-click="{{setSelectedItem}}"
|
|
58
65
|
@click="{{handleProfileClick}}">
|
|
59
66
|
<slot name="profile"></slot>
|
|
60
67
|
</div>
|
|
61
68
|
{{/if}}
|
|
62
69
|
{{#if hasMobileMenuButtons}}
|
|
63
70
|
<udex-masthead-item
|
|
64
|
-
@click="{{handleMobileMenuClick}}"
|
|
71
|
+
@ui5-item-click="{{handleMobileMenuClick}}"
|
|
65
72
|
class="udex-masthead-shell__menu-btn"
|
|
66
73
|
accessible-role="button"
|
|
67
74
|
icon="menu2"
|
|
@@ -70,7 +77,7 @@
|
|
|
70
77
|
<slot slot="dropdown" name="mobileMenu"></slot>
|
|
71
78
|
</udex-masthead-item>
|
|
72
79
|
<udex-masthead-item
|
|
73
|
-
@click="{{handleMobileCloseClick}}"
|
|
80
|
+
@ui5-item-click="{{handleMobileCloseClick}}"
|
|
74
81
|
class="udex-masthead-shell__close-btn"
|
|
75
82
|
accessible-role="button"
|
|
76
83
|
icon="decline"
|
|
@@ -84,7 +91,7 @@
|
|
|
84
91
|
</div>
|
|
85
92
|
|
|
86
93
|
{{#*inline "item"}}
|
|
87
|
-
<div @click="{{../setSelectedItem}}" class="udex-masthead-shell__item" role="menuitem">
|
|
94
|
+
<div @ui5-item-click="{{../setSelectedItem}}" class="udex-masthead-shell__item" role="menuitem">
|
|
88
95
|
<slot name="{{_individualSlot}}"></slot>
|
|
89
96
|
</div>
|
|
90
97
|
{{/inline}}
|
|
@@ -92,8 +99,10 @@
|
|
|
92
99
|
{{#*inline "logo"}}
|
|
93
100
|
{{#if homeUrl}}
|
|
94
101
|
<a
|
|
102
|
+
@click="{{handleLogoClick}}"
|
|
95
103
|
role="link"
|
|
96
104
|
href="{{homeUrl}}"
|
|
105
|
+
title="{{logoTitle}}"
|
|
97
106
|
target="_self"
|
|
98
107
|
aria-label="{{homepageAriaLabel}}"
|
|
99
108
|
class="udex-masthead-shell__logo udex-masthead-shell__logo--link">
|
|
@@ -117,6 +126,7 @@
|
|
|
117
126
|
{{#*inline "siteLabel"}}
|
|
118
127
|
{{#if homeUrl}}
|
|
119
128
|
<a
|
|
129
|
+
@click="{{handleSiteLabelClick}}"
|
|
120
130
|
role="link"
|
|
121
131
|
href="{{siteLabelUrl}}"
|
|
122
132
|
target="_self"
|