@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
package/src/List.ts
CHANGED
|
@@ -40,7 +40,7 @@ export type UDExListItemBase = UDExListItem & UDExListGroupHeader;
|
|
|
40
40
|
* For the <code>udex-list</code>
|
|
41
41
|
* <h3>ES6 Module Import</h3>
|
|
42
42
|
*
|
|
43
|
-
* <code>import @udex/web-components/dist/List.js";</code>
|
|
43
|
+
* <code>import "@udex/web-components/dist/List.js";</code>
|
|
44
44
|
*
|
|
45
45
|
* @constructor
|
|
46
46
|
* @author SAP SE
|
|
@@ -150,16 +150,16 @@ class UDExList extends UI5Element {
|
|
|
150
150
|
UDExList.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
onBeforeRendering() {
|
|
153
|
+
onBeforeRendering(): void {
|
|
154
154
|
this.prepareListItemsMode();
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
handleItemPress(e: CustomEvent) {
|
|
157
|
+
handleItemPress(e: CustomEvent): void {
|
|
158
158
|
const clickedItem: UDExListItemBase = e.detail.item;
|
|
159
159
|
this.onItemPress(clickedItem);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
handleKeyDown(e: KeyboardEvent) {
|
|
162
|
+
handleKeyDown(e: KeyboardEvent): void {
|
|
163
163
|
this.handleUpArrow(e);
|
|
164
164
|
this.handleDownArrow(e);
|
|
165
165
|
this.handleHomeKey(e);
|
|
@@ -167,7 +167,7 @@ class UDExList extends UI5Element {
|
|
|
167
167
|
this.handleEnterOrSpace(e);
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
handleEnterOrSpace(e: KeyboardEvent) {
|
|
170
|
+
handleEnterOrSpace(e: KeyboardEvent): void {
|
|
171
171
|
if (isEnter(e) || isSpace(e)) {
|
|
172
172
|
e.preventDefault();
|
|
173
173
|
const clickedItem = e.target as UDExListItemBase;
|
|
@@ -175,7 +175,7 @@ class UDExList extends UI5Element {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
handleUpArrow(e: KeyboardEvent) {
|
|
178
|
+
handleUpArrow(e: KeyboardEvent): void {
|
|
179
179
|
if (isUp(e)) {
|
|
180
180
|
e.preventDefault();
|
|
181
181
|
const items = this.getKeyboardNavigationItems();
|
|
@@ -206,13 +206,18 @@ class UDExList extends UI5Element {
|
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
+
if (this.modeRadioGroup) {
|
|
210
|
+
items[currentSelectedIndex].selected = false;
|
|
211
|
+
items[previousSelectIndex].selected = true;
|
|
212
|
+
}
|
|
213
|
+
|
|
209
214
|
this.unsetTabIndexByIndex(items, currentSelectedIndex);
|
|
210
215
|
this.setTabIndexByIndex(items, previousSelectIndex);
|
|
211
216
|
items[previousSelectIndex].focus();
|
|
212
217
|
}
|
|
213
218
|
}
|
|
214
219
|
|
|
215
|
-
handleDownArrow(e: KeyboardEvent) {
|
|
220
|
+
handleDownArrow(e: KeyboardEvent): void {
|
|
216
221
|
if (isDown(e)) {
|
|
217
222
|
e.preventDefault();
|
|
218
223
|
const items = this.getKeyboardNavigationItems();
|
|
@@ -235,13 +240,18 @@ class UDExList extends UI5Element {
|
|
|
235
240
|
return;
|
|
236
241
|
}
|
|
237
242
|
|
|
243
|
+
if (this.modeRadioGroup) {
|
|
244
|
+
items[currentSelectedIndex].selected = false;
|
|
245
|
+
items[nextSelectIndex].selected = true;
|
|
246
|
+
}
|
|
247
|
+
|
|
238
248
|
this.unsetTabIndexByIndex(items, currentSelectedIndex);
|
|
239
249
|
this.setTabIndexByIndex(items, nextSelectIndex);
|
|
240
250
|
items[nextSelectIndex].focus();
|
|
241
251
|
}
|
|
242
252
|
}
|
|
243
253
|
|
|
244
|
-
handleHomeKey(e: KeyboardEvent) {
|
|
254
|
+
handleHomeKey(e: KeyboardEvent): void {
|
|
245
255
|
if (isHome(e)) {
|
|
246
256
|
e.preventDefault();
|
|
247
257
|
const items = this.getKeyboardNavigationItems();
|
|
@@ -264,25 +274,35 @@ class UDExList extends UI5Element {
|
|
|
264
274
|
return;
|
|
265
275
|
}
|
|
266
276
|
|
|
277
|
+
if (this.modeRadioGroup) {
|
|
278
|
+
items[currentSelectedIndex].selected = false;
|
|
279
|
+
items[0].selected = true;
|
|
280
|
+
}
|
|
281
|
+
|
|
267
282
|
this.unsetTabIndexByIndex(items, currentSelectedIndex);
|
|
268
283
|
this.setTabIndexByIndex(items, 0);
|
|
269
284
|
items[0].focus();
|
|
270
285
|
}
|
|
271
286
|
}
|
|
272
287
|
|
|
273
|
-
handleEndKey(e: KeyboardEvent) {
|
|
288
|
+
handleEndKey(e: KeyboardEvent): void {
|
|
274
289
|
if (isEnd(e)) {
|
|
275
290
|
e.preventDefault();
|
|
276
291
|
const items = this.getKeyboardNavigationItems();
|
|
277
292
|
const currentSelectedIndex = this.getCurrentIndex(items, e.target as UDExListItemBase);
|
|
278
293
|
|
|
294
|
+
if (this.modeRadioGroup) {
|
|
295
|
+
items[currentSelectedIndex].selected = false;
|
|
296
|
+
items[items.length - 1].selected = true;
|
|
297
|
+
}
|
|
298
|
+
|
|
279
299
|
this.unsetTabIndexByIndex(items, currentSelectedIndex);
|
|
280
300
|
this.setTabIndexByIndex(items, items.length - 1);
|
|
281
301
|
items[items.length - 1].focus();
|
|
282
302
|
}
|
|
283
303
|
}
|
|
284
304
|
|
|
285
|
-
onItemPress(clickedItem :UDExListItemBase) {
|
|
305
|
+
onItemPress(clickedItem :UDExListItemBase): void {
|
|
286
306
|
if (this.modeSingleSelect && !this.controlled) {
|
|
287
307
|
this.revertSelectedItems(this.getSelectedItems());
|
|
288
308
|
clickedItem.selected = true;
|
|
@@ -305,7 +325,7 @@ class UDExList extends UI5Element {
|
|
|
305
325
|
});
|
|
306
326
|
}
|
|
307
327
|
|
|
308
|
-
revertSelectedItems(items: Array<UDExListItemBase>) {
|
|
328
|
+
revertSelectedItems(items: Array<UDExListItemBase>): void {
|
|
309
329
|
items.forEach((item: UDExListItemBase) => {
|
|
310
330
|
if (!item.disabled) {
|
|
311
331
|
item.selected = false;
|
|
@@ -313,16 +333,16 @@ class UDExList extends UI5Element {
|
|
|
313
333
|
});
|
|
314
334
|
}
|
|
315
335
|
|
|
316
|
-
focusHeader(item: UDExListItemBase) {
|
|
336
|
+
focusHeader(item: UDExListItemBase): void {
|
|
317
337
|
const header = item.shadowRoot?.querySelector(".udex-list__group-header") as HTMLElement;
|
|
318
338
|
header.focus();
|
|
319
339
|
}
|
|
320
340
|
|
|
321
|
-
unsetTabIndexByIndex(items: UDExListItemBase[], index: number) {
|
|
341
|
+
unsetTabIndexByIndex(items: UDExListItemBase[], index: number): void {
|
|
322
342
|
items[index]._tabIndex = "-1";
|
|
323
343
|
}
|
|
324
344
|
|
|
325
|
-
setTabIndexByIndex(items: UDExListItemBase[], index: number) {
|
|
345
|
+
setTabIndexByIndex(items: UDExListItemBase[], index: number): void {
|
|
326
346
|
items[index]._tabIndex = "0";
|
|
327
347
|
}
|
|
328
348
|
|
|
@@ -359,7 +379,7 @@ class UDExList extends UI5Element {
|
|
|
359
379
|
return items;
|
|
360
380
|
}
|
|
361
381
|
|
|
362
|
-
prepareListItemsMode() {
|
|
382
|
+
prepareListItemsMode(): void {
|
|
363
383
|
this.getItemsFromList().forEach((item, index) => {
|
|
364
384
|
item.mode = this.mode;
|
|
365
385
|
item.controlled = this.controlled;
|
|
@@ -381,7 +401,7 @@ class UDExList extends UI5Element {
|
|
|
381
401
|
return "-1";
|
|
382
402
|
}
|
|
383
403
|
|
|
384
|
-
resetTabIndexes() {
|
|
404
|
+
resetTabIndexes(): void {
|
|
385
405
|
this.getItemsFromList().forEach(item => {
|
|
386
406
|
item._tabIndex = "-1";
|
|
387
407
|
});
|
|
@@ -398,31 +418,31 @@ class UDExList extends UI5Element {
|
|
|
398
418
|
return UDExList.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);
|
|
399
419
|
}
|
|
400
420
|
|
|
401
|
-
get ariaLabelledBy() {
|
|
421
|
+
get ariaLabelledBy(): string {
|
|
402
422
|
return `${this._id}-mode-label`;
|
|
403
423
|
}
|
|
404
424
|
|
|
405
|
-
get modeRadioGroup() {
|
|
425
|
+
get modeRadioGroup(): boolean {
|
|
406
426
|
return this.mode === ListMode.RadioGroup;
|
|
407
427
|
}
|
|
408
428
|
|
|
409
|
-
get modeMultiSelect() {
|
|
429
|
+
get modeMultiSelect(): boolean {
|
|
410
430
|
return this.mode === ListMode.MultiSelect;
|
|
411
431
|
}
|
|
412
432
|
|
|
413
|
-
get modeSingleSelect() {
|
|
433
|
+
get modeSingleSelect(): boolean {
|
|
414
434
|
return this.mode === ListMode.SingleSelect;
|
|
415
435
|
}
|
|
416
436
|
|
|
417
|
-
get modeSingleContent() {
|
|
437
|
+
get modeSingleContent(): boolean {
|
|
418
438
|
return this.mode === ListMode.SingleContent;
|
|
419
439
|
}
|
|
420
440
|
|
|
421
|
-
get modeSelected() {
|
|
441
|
+
get modeSelected(): boolean {
|
|
422
442
|
return [ListMode.SingleSelect, ListMode.MultiSelect, ListMode.RadioGroup].includes(this.mode as ListMode);
|
|
423
443
|
}
|
|
424
444
|
|
|
425
|
-
get holderHeight() {
|
|
445
|
+
get holderHeight(): string {
|
|
426
446
|
return this.height ? this.height : "auto";
|
|
427
447
|
}
|
|
428
448
|
}
|
package/src/ListGroupHeader.ts
CHANGED
|
@@ -17,10 +17,10 @@ import ListGroupHeaderCss from "./generated/themes/ListGroupHeader.css.js";
|
|
|
17
17
|
*
|
|
18
18
|
* <h3>Usage</h3>
|
|
19
19
|
*
|
|
20
|
-
* For the <code>udex
|
|
20
|
+
* For the <code>udex-list-group-header</code>
|
|
21
21
|
* <h3>ES6 Module Import</h3>
|
|
22
22
|
*
|
|
23
|
-
* <code>import @udex/web-components/dist/ListGroupHeader.js";</code>
|
|
23
|
+
* <code>import "@udex/web-components/dist/ListGroupHeader.js";</code>
|
|
24
24
|
*
|
|
25
25
|
* @constructor
|
|
26
26
|
* @author SAP SE
|
package/src/ListItem.hbs
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
role="{{roleItem}}"
|
|
5
5
|
tabindex="{{_effectiveTabIndex}}"
|
|
6
6
|
aria-disabled="{{_ariaDisabled}}"
|
|
7
|
-
aria-labelledby="{{_accessibleNameRef}}"
|
|
8
7
|
class="{{className}}"
|
|
9
8
|
@click="{{handleItemClick}}"
|
|
10
9
|
@mousedown="{{handleMouseDown}}"
|
|
@@ -52,7 +51,7 @@
|
|
|
52
51
|
</li>
|
|
53
52
|
{{/if}}
|
|
54
53
|
{{#*inline "contentList"}}
|
|
55
|
-
<div
|
|
54
|
+
<div class="udex-list__content-wrap" _id="{{this._id}}" aria-labelledby="{{this._id}}-invisibleText">
|
|
56
55
|
{{#if flag}}
|
|
57
56
|
<div class="udex-list__flag-wrap">
|
|
58
57
|
<span class="udex-list__flag" style="background-position: {{flagPosition}}"></span>
|
|
@@ -102,6 +101,7 @@
|
|
|
102
101
|
design="Tertiary"
|
|
103
102
|
icon="{{editIcon}}"
|
|
104
103
|
accessible-name="{{editButtonAccessibleName}}"
|
|
104
|
+
toolTip="{{editButtonAccessibleName}}"
|
|
105
105
|
size="Small">
|
|
106
106
|
</udex-button>
|
|
107
107
|
{{/if}}
|
|
@@ -114,10 +114,12 @@
|
|
|
114
114
|
design="Tertiary"
|
|
115
115
|
size="Small"
|
|
116
116
|
accessible-name="{{deleteButtonAccessibleName}}"
|
|
117
|
+
toolTip="{{deleteButtonAccessibleName}}"
|
|
117
118
|
icon="{{deleteIcon}}">
|
|
118
119
|
</udex-button>
|
|
119
120
|
{{/if}}
|
|
120
121
|
{{/if}}
|
|
121
122
|
</div>
|
|
123
|
+
<div class="hidden" id="{{this._id}}-invisibleText">{{accessibleName}}</div>
|
|
122
124
|
</div>
|
|
123
125
|
{{/inline}}
|
package/src/ListItem.ts
CHANGED
|
@@ -36,7 +36,7 @@ import ListItemCss from "./generated/themes/ListItem.css.js";
|
|
|
36
36
|
* For the <code>udex-list-item</code>
|
|
37
37
|
* <h3>ES6 Module Import</h3>
|
|
38
38
|
*
|
|
39
|
-
* <code>import @udex/web-components/dist/ListItem.js";</code>
|
|
39
|
+
* <code>import "@udex/web-components/dist/ListItem.js";</code>
|
|
40
40
|
*
|
|
41
41
|
* @constructor
|
|
42
42
|
* @author SAP SE
|
|
@@ -109,7 +109,7 @@ class UDExListItem extends UDExListItemBase {
|
|
|
109
109
|
/**
|
|
110
110
|
* Defines the accessible name of the item.
|
|
111
111
|
*
|
|
112
|
-
* @
|
|
112
|
+
* @default ""
|
|
113
113
|
* @public
|
|
114
114
|
*/
|
|
115
115
|
@property()
|
|
@@ -261,6 +261,12 @@ class UDExListItem extends UDExListItemBase {
|
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
+
onAfterRendering() {
|
|
265
|
+
if (!this.accessibleRole || this.accessibleRole === "listitem") {
|
|
266
|
+
this.shadowRoot?.querySelector("li")?.removeAttribute("aria-selected");
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
264
270
|
onExitDOM() {
|
|
265
271
|
document.removeEventListener("mouseup", this.deactivate);
|
|
266
272
|
}
|
|
@@ -387,14 +393,6 @@ class UDExListItem extends UDExListItemBase {
|
|
|
387
393
|
return this.size === ListItemSize.Large;
|
|
388
394
|
}
|
|
389
395
|
|
|
390
|
-
get _accessibleNameRef(): string {
|
|
391
|
-
if (this.accessibleName) {
|
|
392
|
-
return `${this._id}-invisibleText`;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
return `${this._id}-content`;
|
|
396
|
-
}
|
|
397
|
-
|
|
398
396
|
get stateAccessibleName(): string {
|
|
399
397
|
if (this.indeterminate) { return UDExListItem.i18nBundle.getText(INDETERMINATE); }
|
|
400
398
|
return `${this.selected ? UDExListItem.i18nBundle.getText(SELECTED) : UDExListItem.i18nBundle.getText(UNSELECTED)} `;
|
package/src/ListSelectAll.hbs
CHANGED
package/src/ListSelectAll.ts
CHANGED
|
@@ -20,7 +20,7 @@ import ListGroupHeaderCss from "./generated/themes/ListGroupHeader.css";
|
|
|
20
20
|
*
|
|
21
21
|
* <h3>Usage</h3>
|
|
22
22
|
*
|
|
23
|
-
* For the <code>udex
|
|
23
|
+
* For the <code>udex-list-select-all</code>
|
|
24
24
|
* <h3>ES6 Module Import</h3>
|
|
25
25
|
*
|
|
26
26
|
* <code>import "@udex/web-components/dist/ListSelectAll.js";</code>
|
package/src/MastheadItem.hbs
CHANGED
|
@@ -7,19 +7,21 @@
|
|
|
7
7
|
target="{{target}}"
|
|
8
8
|
href="{{href}}"
|
|
9
9
|
aria-labelledby="{{ariaLabelledBy}}"
|
|
10
|
-
aria-label="{{
|
|
10
|
+
aria-label="{{accessibleLabel}}"
|
|
11
|
+
@click="{{handleNavigationItemClick}}">
|
|
11
12
|
{{> content}}
|
|
12
13
|
</a>
|
|
13
14
|
{{else if isProfileBtn}}
|
|
14
15
|
<span
|
|
15
16
|
id="{{this._id}}"
|
|
17
|
+
role="combobox"
|
|
16
18
|
class="udex-masthead-item__btn {{additionalClass}}"
|
|
17
19
|
aria-expanded="{{selected}}"
|
|
18
20
|
aria-labelledby="{{ariaLabelledBy}}"
|
|
19
21
|
aria-haspopup="{{hasDropdownSlot}}"
|
|
20
|
-
aria-label="{{
|
|
22
|
+
aria-label="{{accessibleLabel}}"
|
|
21
23
|
@keydown="{{handleKeyDown}}"
|
|
22
|
-
@click="{{
|
|
24
|
+
@click="{{handleNavigationItemClick}}">
|
|
23
25
|
{{> content}}
|
|
24
26
|
</span>
|
|
25
27
|
{{#if showDropdown}}
|
|
@@ -33,9 +35,9 @@
|
|
|
33
35
|
aria-expanded="{{selected}}"
|
|
34
36
|
aria-labelledby="{{ariaLabelledBy}}"
|
|
35
37
|
aria-haspopup="{{hasDropdownSlot}}"
|
|
36
|
-
aria-label="{{
|
|
38
|
+
aria-label="{{accessibleLabel}}"
|
|
37
39
|
@keydown="{{handleKeyDown}}"
|
|
38
|
-
@click="{{
|
|
40
|
+
@click="{{handleNavigationItemClick}}">
|
|
39
41
|
{{> content}}
|
|
40
42
|
</button>
|
|
41
43
|
{{#if showDropdown}}
|
package/src/MastheadItem.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
3
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
|
+
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
5
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
6
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
5
7
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
6
8
|
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
@@ -8,6 +10,7 @@ import "@ui5/webcomponents-icons/dist/search.js";
|
|
|
8
10
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
9
11
|
import { isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
10
12
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
|
+
import { PROFILE } from "./generated/i18n/i18n-defaults.js";
|
|
11
14
|
import UDExMastheadMenu from "./MastheadMenu.js";
|
|
12
15
|
import UDExAvatar from "./Avatar.js";
|
|
13
16
|
import MastheadShell from "./MastheadShell.js";
|
|
@@ -18,6 +21,8 @@ import MastheadItemTemplate from "./generated/templates/MastheadItemTemplate.lit
|
|
|
18
21
|
// Styles
|
|
19
22
|
import MastheadItemCss from "./generated/themes/MastheadItem.css.js";
|
|
20
23
|
|
|
24
|
+
const breakpointSizeM: number = 1279;
|
|
25
|
+
|
|
21
26
|
export interface IMastheadItem {
|
|
22
27
|
text?: string;
|
|
23
28
|
selected?: boolean;
|
|
@@ -36,12 +41,18 @@ export type SubMenuLinkItem = {
|
|
|
36
41
|
category: string;
|
|
37
42
|
url?: string;
|
|
38
43
|
items: CategoryItem[];
|
|
44
|
+
index: number;
|
|
39
45
|
};
|
|
40
46
|
|
|
41
47
|
export type MenuItem = {
|
|
42
48
|
subMenuLinkItems: SubMenuLinkItem[];
|
|
43
49
|
};
|
|
44
50
|
|
|
51
|
+
export type ItemClickEventDetail = {
|
|
52
|
+
originalEvent: Event,
|
|
53
|
+
item: UDExMastheadItem,
|
|
54
|
+
}
|
|
55
|
+
|
|
45
56
|
/**
|
|
46
57
|
* @class
|
|
47
58
|
*
|
|
@@ -76,7 +87,17 @@ export type MenuItem = {
|
|
|
76
87
|
* @allowPreventDefault
|
|
77
88
|
* @public
|
|
78
89
|
*/
|
|
79
|
-
@event("click"
|
|
90
|
+
@event("item-click", {
|
|
91
|
+
detail: {
|
|
92
|
+
item: {
|
|
93
|
+
type: HTMLElement,
|
|
94
|
+
},
|
|
95
|
+
originalEvent: {
|
|
96
|
+
type: PointerEvent,
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
})
|
|
100
|
+
|
|
80
101
|
class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
81
102
|
/**
|
|
82
103
|
* Defines sub items for item
|
|
@@ -164,7 +185,7 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
164
185
|
* @public
|
|
165
186
|
*/
|
|
166
187
|
@property({ type: String, defaultValue: "" })
|
|
167
|
-
iconAlt?: string
|
|
188
|
+
iconAlt?: string;
|
|
168
189
|
|
|
169
190
|
/**
|
|
170
191
|
* Hide active border for item
|
|
@@ -202,6 +223,11 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
202
223
|
content?: Array<HTMLElement>;
|
|
203
224
|
|
|
204
225
|
_profileAvatar!: UDExAvatar;
|
|
226
|
+
static i18nBundle: I18nBundle;
|
|
227
|
+
|
|
228
|
+
static async onDefine(): Promise<void> {
|
|
229
|
+
UDExMastheadItem.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
|
|
230
|
+
}
|
|
205
231
|
|
|
206
232
|
onEnterDOM() {
|
|
207
233
|
if (isDesktop()) {
|
|
@@ -217,12 +243,6 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
217
243
|
}
|
|
218
244
|
}
|
|
219
245
|
|
|
220
|
-
onClick(e: Event): void {
|
|
221
|
-
e.stopPropagation();
|
|
222
|
-
this.fireEvent("click", { item: this });
|
|
223
|
-
this.selected = this.isMobile ? true : !this.selected;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
246
|
handleKeyDown(e: KeyboardEvent): void {
|
|
227
247
|
if (isEscape(e) && this.hasDropdownSlot) {
|
|
228
248
|
if (this.isMobile) {
|
|
@@ -254,6 +274,15 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
254
274
|
}
|
|
255
275
|
}
|
|
256
276
|
|
|
277
|
+
handleNavigationItemClick(e: Event): void {
|
|
278
|
+
this.selected = this.isMobile ? true : !this.selected;
|
|
279
|
+
|
|
280
|
+
this.fireEvent<ItemClickEventDetail>("item-click", {
|
|
281
|
+
item: this,
|
|
282
|
+
originalEvent: e,
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
257
286
|
setDropdownInsetStart(): void {
|
|
258
287
|
const dropdown = this.getDomElement(".udex-masthead-item__dropdown");
|
|
259
288
|
if (dropdown) {
|
|
@@ -369,20 +398,24 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
369
398
|
return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length;
|
|
370
399
|
}
|
|
371
400
|
|
|
372
|
-
get isProfileBtn():boolean {
|
|
401
|
+
get isProfileBtn(): boolean {
|
|
373
402
|
return this.getAttribute("slot") === "profile";
|
|
374
403
|
}
|
|
375
404
|
|
|
376
|
-
get isExploreBtn():boolean {
|
|
405
|
+
get isExploreBtn(): boolean {
|
|
377
406
|
return this.getAttribute("slot") === "exploreSAP";
|
|
378
407
|
}
|
|
379
408
|
|
|
409
|
+
get accessibleLabel(): string {
|
|
410
|
+
return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : "");
|
|
411
|
+
}
|
|
412
|
+
|
|
380
413
|
get isMenuItem(): boolean {
|
|
381
414
|
return true;
|
|
382
415
|
}
|
|
383
416
|
|
|
384
417
|
get isMobile(): boolean {
|
|
385
|
-
return window.innerWidth <
|
|
418
|
+
return window.innerWidth < breakpointSizeM;
|
|
386
419
|
}
|
|
387
420
|
}
|
|
388
421
|
|
package/src/MastheadMenu.hbs
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
{{#*inline "header"}}
|
|
23
23
|
<div class="udex-masthead-menu__header">
|
|
24
24
|
<udex-masthead-menu-item
|
|
25
|
+
@click="{{../../handleMenuItemClick}}"
|
|
25
26
|
url="{{this.url}}"
|
|
26
27
|
label="{{this.category}}"
|
|
27
28
|
?icon-end="{{this.url}}"
|
|
@@ -36,11 +37,12 @@
|
|
|
36
37
|
{{#each this.items}}
|
|
37
38
|
<li role="none">
|
|
38
39
|
<udex-masthead-menu-item
|
|
39
|
-
|
|
40
|
+
@click="{{../../../handleMenuItemClick}}"
|
|
40
41
|
badge="{{this.badge}}"
|
|
41
42
|
?external-link="{{this.externalLink}}"
|
|
42
43
|
url="{{this.url}}"
|
|
43
|
-
label="{{this.title}}"
|
|
44
|
+
label="{{this.title}}"
|
|
45
|
+
role="menuitem" >
|
|
44
46
|
</udex-masthead-menu-item>
|
|
45
47
|
</li>
|
|
46
48
|
{{/each}}
|
package/src/MastheadMenu.ts
CHANGED
|
@@ -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 Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
6
|
+
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
6
7
|
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
7
8
|
import "@ui5/webcomponents-icons/dist/action.js";
|
|
8
9
|
import { isUp, isDown } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
@@ -29,6 +30,11 @@ export type MenuItem = {
|
|
|
29
30
|
subMenuLinkItems: SubMenuLinkItem[];
|
|
30
31
|
};
|
|
31
32
|
|
|
33
|
+
export type MenuItemClickEventDetail = {
|
|
34
|
+
originalEvent: Event,
|
|
35
|
+
item: UDExMastheadMenuItem,
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
/**
|
|
33
39
|
* @class
|
|
34
40
|
*
|
|
@@ -54,6 +60,23 @@ export type MenuItem = {
|
|
|
54
60
|
dependencies: [Icon, UDExBadge, UDExMastheadMenuItem],
|
|
55
61
|
})
|
|
56
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Fires when menu item is clicked
|
|
65
|
+
*
|
|
66
|
+
* @allowPreventDefault
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
69
|
+
@event("menu-item-click", {
|
|
70
|
+
detail: {
|
|
71
|
+
item: {
|
|
72
|
+
type: HTMLElement,
|
|
73
|
+
},
|
|
74
|
+
originalEvent: {
|
|
75
|
+
type: PointerEvent,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
})
|
|
79
|
+
|
|
57
80
|
class UDExMastheadMenu extends UI5Element {
|
|
58
81
|
/**
|
|
59
82
|
* Defines a menu heading
|
|
@@ -94,6 +117,13 @@ class UDExMastheadMenu extends UI5Element {
|
|
|
94
117
|
}
|
|
95
118
|
}
|
|
96
119
|
|
|
120
|
+
handleMenuItemClick(e: Event) {
|
|
121
|
+
this.fireEvent<MenuItemClickEventDetail>("menu-item-click", {
|
|
122
|
+
item: e.target as UDExMastheadMenuItem,
|
|
123
|
+
originalEvent: e,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
97
127
|
focusPreviousItem(item: UDExMastheadMenuItem): void {
|
|
98
128
|
const currentSelectedIndex = this.getCurrentIndex(item);
|
|
99
129
|
const lastItemIndex = this.links.length - 1;
|
package/src/MastheadMenuItem.hbs
CHANGED
package/src/MastheadMenuItem.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
3
|
-
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
4
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
5
4
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
6
5
|
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
@@ -26,14 +25,14 @@ export enum ItemType {
|
|
|
26
25
|
*
|
|
27
26
|
* <h3>Usage</h3>
|
|
28
27
|
*
|
|
29
|
-
* For the <code>masthead-menu-item</code>
|
|
28
|
+
* For the <code>udex-masthead-menu-item</code>
|
|
30
29
|
* <h3>ES6 Module Import</h3>
|
|
31
30
|
*
|
|
32
31
|
* <code>import "@udex/web-components/dist/MastheadMenuItem.js";</code>
|
|
33
32
|
*
|
|
34
33
|
* @constructor
|
|
35
34
|
* @extends UI5Element
|
|
36
|
-
* @
|
|
35
|
+
* @private
|
|
37
36
|
*/
|
|
38
37
|
@customElement({
|
|
39
38
|
tag: "udex-masthead-menu-item",
|
|
@@ -43,16 +42,6 @@ export enum ItemType {
|
|
|
43
42
|
dependencies: [Icon],
|
|
44
43
|
})
|
|
45
44
|
|
|
46
|
-
/**
|
|
47
|
-
* Fires when item button is clicked
|
|
48
|
-
*
|
|
49
|
-
* @public
|
|
50
|
-
*/
|
|
51
|
-
@event("click", {
|
|
52
|
-
detail: {
|
|
53
|
-
item: { type: HTMLElement },
|
|
54
|
-
},
|
|
55
|
-
})
|
|
56
45
|
class UDExMastheadMenuItem extends UI5Element {
|
|
57
46
|
/**
|
|
58
47
|
* Defines the type of the item.
|
|
@@ -144,9 +133,6 @@ class UDExMastheadMenuItem extends UI5Element {
|
|
|
144
133
|
this.setAttribute("desktop", "");
|
|
145
134
|
}
|
|
146
135
|
}
|
|
147
|
-
handleClick() {
|
|
148
|
-
this.fireEvent("click", { item: this });
|
|
149
|
-
}
|
|
150
136
|
|
|
151
137
|
get rootClass(): string {
|
|
152
138
|
const badgeClass = this.badge ? "udex-masthead-menu-item_badge" : "";
|