@sapudex/web-components 0.127.6 → 0.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.esm.js +2 -0
- package/dist/Accordion.d.ts +1 -1
- package/dist/Accordion.js +1 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +1 -1
- package/dist/AccordionItem.js +2 -2
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Checkbox.d.ts +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/CountrySelector.d.ts +24 -6
- package/dist/CountrySelector.js +25 -7
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +1 -0
- package/dist/DatePicker.js +4 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.d.ts +1 -1
- package/dist/Dropdown.js +3 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +19 -5
- package/dist/FilterMenu.js +57 -20
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +9 -1
- package/dist/Footer.js +8 -1
- package/dist/Footer.js.map +1 -1
- package/dist/Link.d.ts +1 -1
- package/dist/Link.js +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +1 -1
- package/dist/List.js +17 -1
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.d.ts +2 -2
- package/dist/ListGroupHeader.js +2 -2
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListItem.d.ts +3 -3
- package/dist/ListItem.js +6 -7
- package/dist/ListItem.js.map +1 -1
- package/dist/ListSelectAll.d.ts +1 -1
- package/dist/ListSelectAll.js +1 -1
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadItem.d.ts +9 -1
- package/dist/MastheadItem.js +26 -9
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +5 -0
- package/dist/MastheadMenu.js +24 -0
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +2 -3
- package/dist/MastheadMenuItem.js +2 -17
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +25 -5
- package/dist/MastheadMobileMenu.js +135 -21
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.d.ts +13 -4
- package/dist/MastheadProfileMenu.js +40 -9
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +3 -0
- package/dist/MastheadShell.js +42 -8
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.d.ts +3 -3
- package/dist/MediaPlayer.js +115 -25
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +26 -0
- package/dist/PhoneNumberField.js +46 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/ReviewItem.d.ts +105 -0
- package/dist/ReviewItem.js +157 -0
- package/dist/ReviewItem.js.map +1 -0
- package/dist/Search.d.ts +15 -1
- package/dist/Search.js +30 -5
- package/dist/Search.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -0
- package/dist/SecondaryNavigation.js +11 -10
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.js +1 -1
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.js +1 -1
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SelectBox.d.ts +33 -9
- package/dist/SelectBox.js +119 -60
- package/dist/SelectBox.js.map +1 -1
- package/dist/Switch.d.ts +19 -0
- package/dist/Switch.js +19 -0
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +1 -1
- package/dist/TabNavigation.js +1 -1
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +9 -1
- package/dist/Tag.js +20 -3
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.d.ts +94 -0
- package/dist/TagGroup.js +174 -0
- package/dist/TagGroup.js.map +1 -0
- package/dist/TextArea.d.ts +13 -0
- package/dist/TextArea.js +15 -0
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +23 -13
- package/dist/TextField.js +16 -2
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-bb1c7413.js} +190 -188
- package/dist/assets/messagebundle_en-c677773a.js +1 -0
- package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
- package/dist/assets/video.es-60bfb78c.js +228 -0
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ReviewItem.css +1 -0
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -1
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/TagGroup.css +1 -0
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +783 -362
- package/dist/custom-elements.json +751 -369
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
- package/dist/generated/i18n/i18n-defaults.js +6 -4
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
- package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
- package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FooterTemplate.lit.js +9 -9
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +7 -7
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
- package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
- package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/TagTemplate.lit.js +11 -7
- package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
- package/dist/generated/themes/ReviewItem.css.js +9 -0
- package/dist/generated/themes/ReviewItem.css.js.map +1 -0
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/SelectBox.css.js +1 -1
- package/dist/generated/themes/SelectBox.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TagGroup.css.d.ts +3 -0
- package/dist/generated/themes/TagGroup.css.js +9 -0
- package/dist/generated/themes/TagGroup.css.js.map +1 -0
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +7 -3
- package/dist/i18n/messagebundle_en.properties +5 -3
- package/dist/vscode.html-custom-data.json +148 -78
- package/dist/web-types.json +382 -142
- package/package.json +8 -8
- package/src/Accordion.ts +1 -1
- package/src/AccordionItem.ts +2 -2
- package/src/Checkbox.ts +1 -1
- package/src/CountrySelector.hbs +19 -15
- package/src/CountrySelector.ts +42 -9
- package/src/DatePicker.hbs +7 -8
- package/src/DatePicker.ts +14 -10
- package/src/Dropdown.hbs +3 -0
- package/src/Dropdown.ts +3 -3
- package/src/FilterMenu.hbs +58 -59
- package/src/FilterMenu.ts +91 -37
- package/src/Footer.hbs +9 -0
- package/src/Footer.ts +10 -1
- package/src/HeroBanner.hbs +4 -1
- package/src/Link.ts +1 -1
- package/src/List.ts +43 -23
- package/src/ListGroupHeader.ts +2 -2
- package/src/ListItem.hbs +4 -2
- package/src/ListItem.ts +8 -10
- package/src/ListSelectAll.hbs +1 -1
- package/src/ListSelectAll.ts +1 -1
- package/src/MastheadItem.hbs +5 -3
- package/src/MastheadItem.ts +35 -8
- package/src/MastheadMenu.hbs +4 -2
- package/src/MastheadMenu.ts +30 -0
- package/src/MastheadMenuItem.hbs +0 -2
- package/src/MastheadMenuItem.ts +2 -16
- package/src/MastheadMobileMenu.hbs +36 -10
- package/src/MastheadMobileMenu.ts +162 -22
- package/src/MastheadProfileMenu.hbs +6 -2
- package/src/MastheadProfileMenu.ts +66 -20
- package/src/MastheadShell.hbs +10 -4
- package/src/MastheadShell.ts +49 -8
- package/src/MediaPlayer.hbs +1 -3
- package/src/MediaPlayer.ts +122 -26
- package/src/PhoneNumberField.hbs +18 -3
- package/src/PhoneNumberField.ts +67 -2
- package/src/ReviewItem.hbs +20 -0
- package/src/ReviewItem.ts +227 -0
- package/src/Search.ts +41 -4
- package/src/SecondaryNavigation.hbs +9 -7
- package/src/SecondaryNavigation.ts +13 -11
- package/src/SecondaryNavigationItem.ts +1 -1
- package/src/SecondaryNavigationItemBase.ts +1 -1
- package/src/SelectBox.hbs +9 -7
- package/src/SelectBox.ts +153 -72
- package/src/Switch.ts +21 -0
- package/src/Tab.ts +1 -1
- package/src/TabHeader.hbs +3 -1
- package/src/TabInOverflow.hbs +16 -4
- package/src/TabNavigation.hbs +15 -7
- package/src/TabNavigation.ts +1 -1
- package/src/Tag.hbs +28 -12
- package/src/Tag.ts +25 -4
- package/src/TagGroup.hbs +48 -0
- package/src/TagGroup.ts +222 -0
- package/src/TextArea.hbs +36 -33
- package/src/TextArea.ts +25 -0
- package/src/TextField.hbs +8 -6
- package/src/TextField.ts +50 -18
- package/src/Tooltip.ts +1 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
- package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
- package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
- package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/FooterTemplate.lit.ts +9 -9
- package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
- package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadShellTemplate.lit.ts +7 -7
- package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
- package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
- package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
- package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
- package/src/generated/templates/TagTemplate.lit.ts +11 -7
- package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/ReviewItem.css.ts +13 -0
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/TagGroup.css.ts +13 -0
- package/src/generated/themes/TextArea.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/generated/themes/Toast.css.ts +1 -1
- package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/i18n/messagebundle.properties +7 -3
- package/src/i18n/messagebundle_en.properties +5 -3
- package/src/themes/CountrySelector.css +49 -26
- package/src/themes/FilterMenu.css +52 -15
- package/src/themes/ListItem.css +4 -0
- package/src/themes/MastheadItem.css +12 -2
- package/src/themes/MastheadMobileMenu.css +4 -0
- package/src/themes/PhoneNumberField.css +14 -1
- package/src/themes/ReviewItem.css +121 -0
- package/src/themes/Search.css +9 -0
- package/src/themes/SecondaryNavigation.css +13 -14
- package/src/themes/SecondaryNavigationItem.css +3 -2
- package/src/themes/SecondaryNavigationSubItem.css +5 -5
- package/src/themes/SelectBox.css +34 -0
- package/src/themes/Tag.css +20 -0
- package/src/themes/TagGroup.css +90 -0
- package/src/themes/TextArea.css +13 -0
- package/src/themes/TextField.css +25 -8
- package/src/themes/Toast.css +4 -0
- package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
- package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
- package/dist/assets/video.es-17aecf95.js +0 -219
package/src/FilterMenu.ts
CHANGED
|
@@ -7,16 +7,18 @@ import "@ui5/webcomponents/dist/Icon.js";
|
|
|
7
7
|
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
8
8
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
9
9
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
isTabPrevious, isTabNext, isEscape, isSpace, isEnter,
|
|
12
|
+
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
11
13
|
import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
|
|
12
|
-
import
|
|
14
|
+
import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
|
|
13
15
|
import UDExList from "./List.js";
|
|
14
16
|
import UDExListItem from "./ListItem.js";
|
|
15
17
|
import UDExListGroupHeader from "./ListGroupHeader.js";
|
|
16
18
|
import UDExFilterMenuItem from "./FilterMenuItem.js";
|
|
17
19
|
import UDExFilterMenuGroupHeader from "./FilterMenuGroupHeader.js";
|
|
18
20
|
import UDExSearch from "./Search.js";
|
|
19
|
-
import
|
|
21
|
+
import UDExButton from "./Button.js";
|
|
20
22
|
import UDExSearchableListBase from "./SearchableListBase.js";
|
|
21
23
|
import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
|
|
22
24
|
import { ListMode } from "./types/List.js";
|
|
@@ -57,17 +59,17 @@ import SearchableListCss from "./generated/themes/SearchableList.css.js";
|
|
|
57
59
|
styles: [FilterMenuCss, SearchableListCss],
|
|
58
60
|
template: FilterMenuTemplate,
|
|
59
61
|
dependencies: [
|
|
62
|
+
ResponsivePopover,
|
|
60
63
|
UDExFilterMenuItem,
|
|
61
64
|
UDExFilterMenuGroupHeader,
|
|
62
65
|
UDExFilterMenuSelectAll,
|
|
63
|
-
UDExDropdown,
|
|
64
66
|
UDExList,
|
|
65
67
|
UDExListSelectAll,
|
|
66
68
|
UDExListItem,
|
|
67
69
|
UDExListGroupHeader,
|
|
68
70
|
UDExBadge,
|
|
69
71
|
UDExSearch,
|
|
70
|
-
|
|
72
|
+
UDExButton,
|
|
71
73
|
],
|
|
72
74
|
})
|
|
73
75
|
|
|
@@ -233,8 +235,14 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
233
235
|
@property({ type: Boolean })
|
|
234
236
|
disabled!: boolean;
|
|
235
237
|
|
|
238
|
+
/**
|
|
239
|
+
* Defines whether the dropdown is open or not.
|
|
240
|
+
*
|
|
241
|
+
* @default false
|
|
242
|
+
* @private
|
|
243
|
+
*/
|
|
236
244
|
@property({ type: Boolean })
|
|
237
|
-
_open
|
|
245
|
+
_open!: boolean;
|
|
238
246
|
|
|
239
247
|
/**
|
|
240
248
|
* Hides the result button in the footer.
|
|
@@ -283,13 +291,15 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
283
291
|
@property({ type: String, defaultValue: "combobox" })
|
|
284
292
|
triggerAccessibleRole!: string;
|
|
285
293
|
|
|
286
|
-
|
|
294
|
+
_trigger!: UDExButton;
|
|
287
295
|
_search!: UDExSearch;
|
|
288
296
|
_hasFooterButtons!: boolean;
|
|
297
|
+
_popover!: ResponsivePopover;
|
|
289
298
|
|
|
290
299
|
onAfterRendering() {
|
|
291
|
-
this._dropdown = this.getDropdown();
|
|
292
300
|
this._search = this.getSearch();
|
|
301
|
+
this._popover = this.getPopover();
|
|
302
|
+
this._trigger = this.getTriggerButton();
|
|
293
303
|
this._hasFooterButtons = this.hasFooterButtons;
|
|
294
304
|
}
|
|
295
305
|
|
|
@@ -303,12 +313,12 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
303
313
|
super.onBeforeRendering();
|
|
304
314
|
}
|
|
305
315
|
|
|
306
|
-
handleSelectAll(e:CustomEvent) {
|
|
316
|
+
handleSelectAll(e:CustomEvent): void {
|
|
307
317
|
this.onFilterSelectAllHeaderPress(e);
|
|
308
318
|
this.fireEvent("select-all");
|
|
309
319
|
}
|
|
310
320
|
|
|
311
|
-
handleItemPress(e:CustomEvent) {
|
|
321
|
+
handleItemPress(e:CustomEvent): void {
|
|
312
322
|
this.onItemPress(e);
|
|
313
323
|
|
|
314
324
|
if (this.modeSingleSelect) {
|
|
@@ -316,101 +326,133 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
316
326
|
}
|
|
317
327
|
}
|
|
318
328
|
|
|
319
|
-
handleHeaderPress(e:CustomEvent) {
|
|
329
|
+
handleHeaderPress(e:CustomEvent): void {
|
|
320
330
|
this.onHeaderPress(e);
|
|
321
331
|
}
|
|
322
332
|
|
|
323
|
-
handleValueSearch(e:CustomEvent) {
|
|
333
|
+
handleValueSearch(e:CustomEvent): void {
|
|
324
334
|
this.onSearch(e);
|
|
325
335
|
}
|
|
326
336
|
|
|
327
|
-
handleSubmitSearch() {
|
|
337
|
+
handleSubmitSearch(): void {
|
|
328
338
|
this.onDropdownClose();
|
|
329
339
|
this.onSubmitSearch();
|
|
330
340
|
}
|
|
331
341
|
|
|
332
|
-
handleResetSearch() {
|
|
342
|
+
handleResetSearch(): void {
|
|
333
343
|
this.onResetSearch();
|
|
334
344
|
}
|
|
335
345
|
|
|
336
|
-
handleReset() {
|
|
346
|
+
handleReset(): void {
|
|
337
347
|
this.fireEvent("reset-click", {
|
|
338
348
|
restoredItems: this.selectedItems,
|
|
339
349
|
});
|
|
340
350
|
this.onReset();
|
|
341
351
|
}
|
|
342
352
|
|
|
343
|
-
handleResult() {
|
|
353
|
+
handleResult(): void {
|
|
344
354
|
if (!this.disabledResultBtn) {
|
|
345
|
-
this.
|
|
355
|
+
this._popover.close();
|
|
346
356
|
this.fireEvent("result-click", {
|
|
347
357
|
selectedItems: this.selectedItems,
|
|
348
358
|
});
|
|
349
359
|
}
|
|
350
360
|
}
|
|
351
361
|
|
|
352
|
-
handleKeyDownList(e: KeyboardEvent) {
|
|
362
|
+
handleKeyDownList(e: KeyboardEvent): void {
|
|
353
363
|
const isTabNextPress = isTabNext(e) && !this._hasFooterButtons;
|
|
354
364
|
const isTabPrevPress = isTabPrevious(e) && !this._search;
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
365
|
+
const target = e.target as HTMLElement;
|
|
366
|
+
const isSearchResetTrigger = target === this._search;
|
|
367
|
+
if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress) {
|
|
368
|
+
this.onDropdownClose(e);
|
|
358
369
|
}
|
|
359
370
|
}
|
|
360
371
|
|
|
361
|
-
handleKeyDownSearch(e: CustomEvent) {
|
|
372
|
+
handleKeyDownSearch(e: CustomEvent): void {
|
|
362
373
|
const keyEvent = e.detail as KeyboardEvent;
|
|
363
374
|
if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {
|
|
364
|
-
this.onDropdownClose();
|
|
375
|
+
this.onDropdownClose(keyEvent);
|
|
365
376
|
}
|
|
366
377
|
}
|
|
367
378
|
|
|
368
|
-
handleKeyDownResultBtn(e: KeyboardEvent) {
|
|
379
|
+
handleKeyDownResultBtn(e: KeyboardEvent): void {
|
|
369
380
|
e.stopPropagation();
|
|
370
381
|
if (isTabNext(e) && !this.hasResetBtn) {
|
|
371
382
|
this.onDropdownClose();
|
|
372
383
|
}
|
|
373
384
|
}
|
|
374
385
|
|
|
375
|
-
handleKeyDownResetBtn(e: KeyboardEvent) {
|
|
386
|
+
handleKeyDownResetBtn(e: KeyboardEvent): void {
|
|
376
387
|
e.stopPropagation();
|
|
377
388
|
if (isTabNext(e)) {
|
|
378
389
|
this.onDropdownClose();
|
|
379
390
|
}
|
|
380
391
|
}
|
|
381
392
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
393
|
+
handleTriggerClick(): void {
|
|
394
|
+
this.toggleDropdown();
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
handleTriggerKeydown(e: KeyboardEvent): void {
|
|
398
|
+
if (isSpace(e) || isEnter(e)) {
|
|
399
|
+
e.preventDefault();
|
|
400
|
+
this.toggleDropdown();
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
toggleDropdown(): void {
|
|
405
|
+
this._open = !this._open;
|
|
406
|
+
|
|
407
|
+
if (this._open) {
|
|
408
|
+
this._trigger.classList.add("udex-filter-menu__trigger-active");
|
|
409
|
+
this._popover.showAt(this._trigger);
|
|
410
|
+
} else {
|
|
411
|
+
this.onDropdownClose();
|
|
385
412
|
}
|
|
386
413
|
}
|
|
387
414
|
|
|
388
|
-
|
|
389
|
-
|
|
415
|
+
onDropdownClose(e?: KeyboardEvent): void {
|
|
416
|
+
if (this._popover.open) {
|
|
417
|
+
if (e && (isTabPrevious(e) || isEscape(e))) {
|
|
418
|
+
e.preventDefault();
|
|
419
|
+
this._popover.close(true);
|
|
420
|
+
} else {
|
|
421
|
+
this._popover.close();
|
|
422
|
+
}
|
|
423
|
+
}
|
|
390
424
|
}
|
|
391
425
|
|
|
392
426
|
getSearch(): UDExSearch {
|
|
393
427
|
return this.shadowRoot!.querySelector<UDExSearch>("udex-search")!;
|
|
394
428
|
}
|
|
395
429
|
|
|
396
|
-
_dropdownBeforeOpen() {
|
|
397
|
-
this.
|
|
430
|
+
_dropdownBeforeOpen(): void {
|
|
431
|
+
if (this.height) {
|
|
432
|
+
const content = this._popover.shadowRoot!.querySelector("[part=content]") as HTMLElement;
|
|
433
|
+
content.style.maxHeight = this.height;
|
|
434
|
+
}
|
|
398
435
|
this.fireEvent("before-open");
|
|
399
436
|
}
|
|
400
437
|
|
|
401
|
-
_dropdownAfterOpen() {
|
|
438
|
+
_dropdownAfterOpen(): void {
|
|
402
439
|
this.fireEvent("after-open");
|
|
403
440
|
}
|
|
404
441
|
|
|
405
|
-
_dropdownBeforeClose() {
|
|
442
|
+
_dropdownBeforeClose(): void {
|
|
406
443
|
this.fireEvent("before-close");
|
|
407
444
|
}
|
|
408
445
|
|
|
409
|
-
_dropdownAfterClose() {
|
|
446
|
+
_dropdownAfterClose(): void {
|
|
410
447
|
this._open = false;
|
|
448
|
+
this._trigger.classList.remove("udex-filter-menu__trigger-active");
|
|
411
449
|
this.fireEvent("after-close");
|
|
412
450
|
}
|
|
413
451
|
|
|
452
|
+
get disableAllowTargetOverlap(): boolean {
|
|
453
|
+
return !this.disableTargetOverlap;
|
|
454
|
+
}
|
|
455
|
+
|
|
414
456
|
get hasFilterNamePrefix(): boolean {
|
|
415
457
|
return !!this.filterNamePrefix?.length;
|
|
416
458
|
}
|
|
@@ -425,14 +467,18 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
425
467
|
return hasLabel ? this.resetBtnLabel : UDExFilterMenu.i18nBundle.getText(RESET);
|
|
426
468
|
}
|
|
427
469
|
|
|
428
|
-
get disabledResultBtn() {
|
|
470
|
+
get disabledResultBtn(): boolean {
|
|
429
471
|
return !this.selectedItems.length && !this.selectAll;
|
|
430
472
|
}
|
|
431
473
|
|
|
432
|
-
get _iconAccessibleNameText() {
|
|
474
|
+
get _iconAccessibleNameText(): string {
|
|
433
475
|
return UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);
|
|
434
476
|
}
|
|
435
477
|
|
|
478
|
+
get triggerButtonAccessibleName(): string {
|
|
479
|
+
return this.accessibleName || UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);
|
|
480
|
+
}
|
|
481
|
+
|
|
436
482
|
get searchableList() {
|
|
437
483
|
return executeTemplate(UDExFilterMenu.searchableListBaseTemplate, this);
|
|
438
484
|
}
|
|
@@ -453,6 +499,14 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
453
499
|
return !this.hideResetBtn;
|
|
454
500
|
}
|
|
455
501
|
|
|
502
|
+
getTriggerButton(): UDExButton {
|
|
503
|
+
return this.shadowRoot!.querySelector<UDExButton>("#filterMenuTrigger")!;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
getPopover(): ResponsivePopover {
|
|
507
|
+
return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
|
|
508
|
+
}
|
|
509
|
+
|
|
456
510
|
getItems(): Array<UDExListItemBase> {
|
|
457
511
|
return this.getSlottedNodes<UDExListItemBase>("items");
|
|
458
512
|
}
|
package/src/Footer.hbs
CHANGED
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
<div class="udex-footer__social-container">
|
|
85
85
|
{{#each socialLinksArray}}
|
|
86
86
|
<a
|
|
87
|
+
target="{{target}}"
|
|
87
88
|
href="{{this.url}}"
|
|
88
89
|
class="udex-footer__social-icon"
|
|
89
90
|
data-name="{{this.name}}"
|
|
@@ -121,6 +122,7 @@
|
|
|
121
122
|
{{#each ../quickLinksArray}}
|
|
122
123
|
<li>
|
|
123
124
|
<a
|
|
125
|
+
target="{{target}}"
|
|
124
126
|
aria-describedby="udex-footer__quick-links"
|
|
125
127
|
href="{{this.url}}"
|
|
126
128
|
data-id="{{this.id}}"
|
|
@@ -139,6 +141,7 @@
|
|
|
139
141
|
{{#each trendingLinksArray}}
|
|
140
142
|
<li>
|
|
141
143
|
<a
|
|
144
|
+
target="{{target}}"
|
|
142
145
|
aria-describedby="udex-footer__footer__trending"
|
|
143
146
|
href="{{this.url}}"
|
|
144
147
|
@click="{{../_onTrendingClick}}"
|
|
@@ -157,6 +160,7 @@
|
|
|
157
160
|
{{#each aboutLinksArray}}
|
|
158
161
|
<li>
|
|
159
162
|
<a
|
|
163
|
+
target="{{target}}"
|
|
160
164
|
aria-describedby="udex-footer__about"
|
|
161
165
|
href="{{this.url}}"
|
|
162
166
|
data-id="{{this.id}}"
|
|
@@ -175,6 +179,7 @@
|
|
|
175
179
|
{{#each siteInformationLinksArray}}
|
|
176
180
|
<li>
|
|
177
181
|
<a
|
|
182
|
+
target="{{target}}"
|
|
178
183
|
aria-describedby="udex-footer__site-information"
|
|
179
184
|
href="{{this.url}}"
|
|
180
185
|
data-id="{{this.id}}"
|
|
@@ -198,6 +203,7 @@
|
|
|
198
203
|
{{#each quickLinksArray}}
|
|
199
204
|
<li>
|
|
200
205
|
<a
|
|
206
|
+
target="{{target}}"
|
|
201
207
|
aria-describedby="udex-footer__quick-links"
|
|
202
208
|
data-id="{{this.id}}"
|
|
203
209
|
href="{{this.url}}"
|
|
@@ -215,6 +221,7 @@
|
|
|
215
221
|
{{#each trendingLinksArray}}
|
|
216
222
|
<li>
|
|
217
223
|
<a
|
|
224
|
+
target="{{target}}"
|
|
218
225
|
aria-describedby="udex-footer__footer__trending"
|
|
219
226
|
data-id="{{this.id}}"
|
|
220
227
|
href="{{this.url}}"
|
|
@@ -232,6 +239,7 @@
|
|
|
232
239
|
{{#each aboutLinksArray}}
|
|
233
240
|
<li>
|
|
234
241
|
<a
|
|
242
|
+
target="{{target}}"
|
|
235
243
|
aria-describedby="udex-footer__about"
|
|
236
244
|
data-id="{{this.id}}"
|
|
237
245
|
href="{{this.url}}"
|
|
@@ -249,6 +257,7 @@
|
|
|
249
257
|
{{#each siteInformationLinksArray}}
|
|
250
258
|
<li>
|
|
251
259
|
<a
|
|
260
|
+
target="{{target}}"
|
|
252
261
|
aria-describedby="udex-footer__site-information"
|
|
253
262
|
data-id="{{this.id}}"
|
|
254
263
|
href="{{this.url}}"
|
package/src/Footer.ts
CHANGED
|
@@ -36,14 +36,23 @@ import {
|
|
|
36
36
|
|
|
37
37
|
const BreakpointSizeS: number = 979;
|
|
38
38
|
|
|
39
|
+
export enum Target {
|
|
40
|
+
_blank = "_blank",
|
|
41
|
+
_parent = "_parent",
|
|
42
|
+
_self = "_self",
|
|
43
|
+
_top = "_top",
|
|
44
|
+
}
|
|
45
|
+
|
|
39
46
|
export type FooterLink = {
|
|
40
47
|
title: string;
|
|
41
48
|
url: string;
|
|
49
|
+
target: Target;
|
|
42
50
|
};
|
|
43
51
|
|
|
44
52
|
export type FooterSocialLink = {
|
|
45
53
|
url: string;
|
|
46
54
|
iconUrl: string;
|
|
55
|
+
target: Target;
|
|
47
56
|
};
|
|
48
57
|
|
|
49
58
|
export type FooterContactNumber = {
|
|
@@ -88,7 +97,7 @@ export const FooterDetailedEvent = {
|
|
|
88
97
|
* For the <code>udex-footer</code>
|
|
89
98
|
* <h3>ES6 Module Import</h3>
|
|
90
99
|
*
|
|
91
|
-
* <code>import @udex/web-components/dist/Footer.js";</code>
|
|
100
|
+
* <code>import "@udex/web-components/dist/Footer.js";</code>
|
|
92
101
|
*
|
|
93
102
|
* @constructor
|
|
94
103
|
* @author SAP SE
|
package/src/HeroBanner.hbs
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
<img loading="{{backgroundImageLoadingStrategy}}" src="{{backgroundImage}}" part="background-image" class="udex-hero-banner__background-image" alt="{{backgroundImageLabel}}" />
|
|
11
11
|
</picture>
|
|
12
12
|
{{/if}}
|
|
13
|
-
|
|
13
|
+
<div class="udex-hero-banner__content-container">
|
|
14
|
+
<slot id="udex-hero-banner__content" name="content" part="content"></slot>
|
|
15
|
+
<slot id="udex-hero-banner__additionalContent" name="additionalContent" part="additionalContent"></slot>
|
|
16
|
+
</div>
|
|
14
17
|
<button class="udex-hero-banner__media-button" aria-label="Play / Pause button" role="button" @click={{_toggleMediaButton}}>
|
|
15
18
|
<ui5-icon name={{mediaButtonIconName}}></ui5-icon>
|
|
16
19
|
</button>
|
package/src/Link.ts
CHANGED
|
@@ -25,7 +25,7 @@ export enum IconPlacement {
|
|
|
25
25
|
* For the <code>udex-link</code>
|
|
26
26
|
* <h3>ES6 Module Import</h3>
|
|
27
27
|
*
|
|
28
|
-
* <code>import @udex/web-components/dist/Link.js";</code>
|
|
28
|
+
* <code>import "@udex/web-components/dist/Link.js";</code>
|
|
29
29
|
*
|
|
30
30
|
* @constructor
|
|
31
31
|
* @author SAP SE
|
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}}
|