@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/TabNavigation.ts
CHANGED
|
@@ -8,6 +8,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
|
8
8
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
9
9
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
10
10
|
import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
|
|
11
|
+
import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
|
|
11
12
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
12
13
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
14
|
import {
|
|
@@ -18,10 +19,10 @@ import {
|
|
|
18
19
|
isEnter,
|
|
19
20
|
isSpace,
|
|
20
21
|
isEscape,
|
|
21
|
-
isTabNext,
|
|
22
|
-
isTabPrevious,
|
|
23
22
|
isHome,
|
|
24
23
|
isEnd,
|
|
24
|
+
isTabNext,
|
|
25
|
+
isTabPrevious,
|
|
25
26
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
26
27
|
import Tab, { ITab } from "./Tab.js";
|
|
27
28
|
import "@ui5/webcomponents/dist/Icon.js";
|
|
@@ -30,10 +31,11 @@ import { MORE } from "./generated/i18n/i18n-defaults.js";
|
|
|
30
31
|
|
|
31
32
|
// Templates
|
|
32
33
|
import TabNavigationTemplate from "./generated/templates/TabNavigationTemplate.lit.js";
|
|
33
|
-
import
|
|
34
|
+
import TabNavigationPopoverTemplate from "./generated/templates/TabNavigationPopoverTemplate.lit.js";
|
|
34
35
|
|
|
35
36
|
// Styles
|
|
36
37
|
import TabNavigationCss from "./generated/themes/TabNavigation.css.js";
|
|
38
|
+
import TabInOverflowCss from "./generated/themes/TabInOverflow.css.js";
|
|
37
39
|
|
|
38
40
|
const staticAreaTabStyles: Array<StyleData> = [];
|
|
39
41
|
|
|
@@ -57,7 +59,7 @@ export enum Mode {
|
|
|
57
59
|
* For the <code>udex-tab-navigation</code>
|
|
58
60
|
* <h3>ES6 Module Import</h3>
|
|
59
61
|
*
|
|
60
|
-
* <code>import @udex/web-components/dist/TabNavigation.js";</code>
|
|
62
|
+
* <code>import "@udex/web-components/dist/TabNavigation.js";</code>
|
|
61
63
|
*
|
|
62
64
|
* @constructor
|
|
63
65
|
* @author SAP SE
|
|
@@ -68,10 +70,8 @@ export enum Mode {
|
|
|
68
70
|
@customElement({
|
|
69
71
|
tag: "udex-tab-navigation",
|
|
70
72
|
renderer: litRender,
|
|
71
|
-
styles: TabNavigationCss,
|
|
73
|
+
styles: [TabNavigationCss, TabInOverflowCss],
|
|
72
74
|
template: TabNavigationTemplate,
|
|
73
|
-
staticAreaTemplate: TabNavigationPopover,
|
|
74
|
-
staticAreaStyles: [staticAreaTabStyles],
|
|
75
75
|
dependencies: [ResponsivePopover],
|
|
76
76
|
})
|
|
77
77
|
/**
|
|
@@ -193,6 +193,7 @@ class UDExTabNavigation extends UI5Element {
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
onBeforeRendering(): void {
|
|
196
|
+
this.updateOverflowItems();
|
|
196
197
|
this.setSelectedTab();
|
|
197
198
|
}
|
|
198
199
|
|
|
@@ -220,18 +221,37 @@ class UDExTabNavigation extends UI5Element {
|
|
|
220
221
|
}
|
|
221
222
|
|
|
222
223
|
setRealTabToItems() {
|
|
223
|
-
const contentId = this.__id!;
|
|
224
|
-
|
|
225
224
|
this.items.forEach((tab, index, arr) => {
|
|
226
225
|
tab._iconWithoutBackground = this.iconWithoutBackground;
|
|
227
226
|
tab._posinset = index + 1;
|
|
228
227
|
tab._setsize = arr.length;
|
|
229
|
-
tab._contentId =
|
|
228
|
+
tab._contentId = this.getContentId(index);
|
|
230
229
|
tab._realTab = this._selectedTab;
|
|
231
230
|
tab._width = this.tabWidth;
|
|
231
|
+
tab._contentTabIndex = this.getContentTabIndex(tab);
|
|
232
232
|
});
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
+
getContentId(index: number): string {
|
|
236
|
+
return `udex-${index + 1}-content`;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
getContentTabIndex(tab: ITab): string {
|
|
240
|
+
if (tab.selected) {
|
|
241
|
+
const focusableSelectors = ["a[href]", "button", "textarea", "input", "select", "details", "[tabindex]:not([tabindex='-1']"];
|
|
242
|
+
const focusableElementsUDExTag = this.getAllCustomTags(tab, "udex");
|
|
243
|
+
const focusableElementsCustomTag = this.getAllCustomTags(tab, "ui5").concat(focusableElementsUDExTag);
|
|
244
|
+
const focusableElements = Array.from(tab.querySelectorAll(focusableSelectors.join(","))).concat(focusableElementsCustomTag);
|
|
245
|
+
return focusableElements.length ? "-1" : "0";
|
|
246
|
+
}
|
|
247
|
+
return "-1";
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
getAllCustomTags(tab: ITab, prefix: string) {
|
|
251
|
+
const allElements = tab.querySelectorAll("*");
|
|
252
|
+
return Array.from(allElements).filter(element => element.tagName.toLowerCase().startsWith(prefix.toLowerCase()));
|
|
253
|
+
}
|
|
254
|
+
|
|
235
255
|
setElementInHeader() {
|
|
236
256
|
this.items.forEach(item => {
|
|
237
257
|
item.getElementInHeader = () => this.getDomRef()!.querySelector(`[id="${item.__id!}"]`);
|
|
@@ -549,8 +569,8 @@ class UDExTabNavigation extends UI5Element {
|
|
|
549
569
|
return this.shadowRoot!.querySelector<HTMLElement>(`#${this.__id!}-header`)!;
|
|
550
570
|
}
|
|
551
571
|
|
|
552
|
-
|
|
553
|
-
this._responsivePopover =
|
|
572
|
+
handleMoreButton() {
|
|
573
|
+
this._responsivePopover = this.getResponsePopover();
|
|
554
574
|
this.updateOverflowItems();
|
|
555
575
|
this.handleTogglePopover();
|
|
556
576
|
}
|
|
@@ -578,9 +598,9 @@ class UDExTabNavigation extends UI5Element {
|
|
|
578
598
|
}
|
|
579
599
|
}
|
|
580
600
|
|
|
581
|
-
|
|
601
|
+
handleOpenPopover() {
|
|
582
602
|
if (!this._responsivePopover?.opened) {
|
|
583
|
-
|
|
603
|
+
this._responsivePopover!.showAt(this.getMoreButton());
|
|
584
604
|
this.getMoreButton().classList.add("udex-tab-navigation__button-more--toggled");
|
|
585
605
|
this._isExpanded = true;
|
|
586
606
|
}
|
|
@@ -589,8 +609,6 @@ class UDExTabNavigation extends UI5Element {
|
|
|
589
609
|
handleKeyDown(e: KeyboardEvent) {
|
|
590
610
|
this.handleRightArrow(e);
|
|
591
611
|
this.handleLeftArrow(e);
|
|
592
|
-
this.handleTabNext(e);
|
|
593
|
-
this.handleTabPrevious(e);
|
|
594
612
|
this.handleHomeKey(e);
|
|
595
613
|
this.handleEndKey(e);
|
|
596
614
|
}
|
|
@@ -632,47 +650,16 @@ class UDExTabNavigation extends UI5Element {
|
|
|
632
650
|
this._visibleTabs![previousSelectIndex].focus();
|
|
633
651
|
}
|
|
634
652
|
|
|
635
|
-
handleTabNext(e: KeyboardEvent) {
|
|
636
|
-
if (isTabNext(e)) {
|
|
637
|
-
const previousSelectedIndex = this.getTabIndexById((e.target as HTMLElement).id);
|
|
638
|
-
this.onTabNext(e, previousSelectedIndex);
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
onTabNext(e: KeyboardEvent, previousSelectedIndex: number) {
|
|
643
|
-
const isMoreButton = this._visibleTabs![this._visibleTabs!.length - 1] === this.getMoreButton();
|
|
644
|
-
const nextSelectIndex = previousSelectedIndex + 1;
|
|
645
|
-
|
|
646
|
-
if (nextSelectIndex < this._visibleTabs!.length || (isMoreButton && nextSelectIndex < this._visibleTabs!.length)) {
|
|
647
|
-
e.preventDefault();
|
|
648
|
-
this._visibleTabs![nextSelectIndex].focus();
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
handleTabPrevious(e: KeyboardEvent) {
|
|
653
|
-
if (isTabPrevious(e)) {
|
|
654
|
-
const previousSelectedIndex = this.getTabIndexById((e.target as HTMLElement).id);
|
|
655
|
-
this.onTabPrevious(e, previousSelectedIndex);
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
onTabPrevious(e: KeyboardEvent, previousSelectedIndex: number) {
|
|
660
|
-
const previousSelectIndex = previousSelectedIndex - 1;
|
|
661
|
-
|
|
662
|
-
if (previousSelectIndex >= 0) {
|
|
663
|
-
e.preventDefault();
|
|
664
|
-
this._visibleTabs![previousSelectIndex].focus();
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
|
|
668
653
|
handleHomeKey(e: KeyboardEvent) {
|
|
669
654
|
if (isHome(e)) {
|
|
655
|
+
e.preventDefault();
|
|
670
656
|
this._visibleTabs![0].focus();
|
|
671
657
|
}
|
|
672
658
|
}
|
|
673
659
|
|
|
674
660
|
handleEndKey(e: KeyboardEvent) {
|
|
675
661
|
if (isEnd(e)) {
|
|
662
|
+
e.preventDefault();
|
|
676
663
|
this.onEndKey();
|
|
677
664
|
}
|
|
678
665
|
}
|
|
@@ -686,43 +673,12 @@ class UDExTabNavigation extends UI5Element {
|
|
|
686
673
|
}
|
|
687
674
|
}
|
|
688
675
|
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
await this.handleDownMoreButton(e);
|
|
692
|
-
this.handleTabPreviouMoreButton(e);
|
|
676
|
+
handleFocusMoreButton(e: KeyboardEvent) {
|
|
677
|
+
this.handleDownMoreButton(e);
|
|
693
678
|
this.handleHomeKeyMoreButton(e);
|
|
694
679
|
this.handleEnterKeyMoreButton(e);
|
|
695
680
|
}
|
|
696
681
|
|
|
697
|
-
async handleUpMoreButton(e: KeyboardEvent) {
|
|
698
|
-
if (isUp(e)) {
|
|
699
|
-
e.preventDefault();
|
|
700
|
-
e.stopPropagation();
|
|
701
|
-
this._responsivePopover = await this.getResponsePopover();
|
|
702
|
-
await this.handleOpenPopover();
|
|
703
|
-
this.updateOverflowItems();
|
|
704
|
-
this.onFocusLastItemPopover();
|
|
705
|
-
}
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
async onFocusLastItemPopover() {
|
|
709
|
-
if (this._responsivePopover?.opened) {
|
|
710
|
-
const popoverItems = await this.getItemsFromPopover();
|
|
711
|
-
const lastOverflowTabIndex = popoverItems.length - 1;
|
|
712
|
-
popoverItems[lastOverflowTabIndex].focus();
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
|
|
716
|
-
handleTabPreviouMoreButton(e: KeyboardEvent) {
|
|
717
|
-
if (isTabPrevious(e)) {
|
|
718
|
-
e.preventDefault();
|
|
719
|
-
e.stopPropagation();
|
|
720
|
-
|
|
721
|
-
const lastVisibleTab = this._visibleTabs!.length - 2;
|
|
722
|
-
this._visibleTabs![lastVisibleTab].focus();
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
|
|
726
682
|
handleHomeKeyMoreButton(e: KeyboardEvent) {
|
|
727
683
|
if (isHome(e)) {
|
|
728
684
|
e.preventDefault();
|
|
@@ -731,34 +687,29 @@ class UDExTabNavigation extends UI5Element {
|
|
|
731
687
|
}
|
|
732
688
|
}
|
|
733
689
|
|
|
734
|
-
|
|
690
|
+
handleEnterKeyMoreButton(e: KeyboardEvent) {
|
|
735
691
|
if (isEnter(e)) {
|
|
736
692
|
e.preventDefault();
|
|
737
|
-
this._responsivePopover =
|
|
693
|
+
this._responsivePopover = this.getResponsePopover();
|
|
738
694
|
this.updateOverflowItems();
|
|
739
695
|
this.handleOpenPopover();
|
|
740
696
|
}
|
|
741
697
|
}
|
|
742
698
|
|
|
743
|
-
|
|
744
|
-
if (!this._responsivePopover?.opened) {
|
|
745
|
-
this.handleMoreButton();
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
async handleDownMoreButton(e: KeyboardEvent) {
|
|
699
|
+
handleDownMoreButton(e: KeyboardEvent) {
|
|
750
700
|
if (isDown(e) || isEnter(e)) {
|
|
751
|
-
this._responsivePopover =
|
|
752
|
-
|
|
701
|
+
this._responsivePopover = this.getResponsePopover();
|
|
702
|
+
this.handleOpenPopover();
|
|
753
703
|
this.updateOverflowItems();
|
|
754
|
-
this.onFocusFirstItemPopover();
|
|
755
704
|
}
|
|
756
705
|
}
|
|
757
706
|
|
|
758
|
-
|
|
707
|
+
onFocusFirstItemPopover() {
|
|
759
708
|
if (this._responsivePopover?.opened) {
|
|
760
|
-
const popoverItems =
|
|
761
|
-
popoverItems[0]
|
|
709
|
+
const popoverItems = this.getItemsFromPopover();
|
|
710
|
+
const firstPopoverItem = popoverItems[0];
|
|
711
|
+
firstPopoverItem.setAttribute("tabindex", "0");
|
|
712
|
+
firstPopoverItem.focus();
|
|
762
713
|
}
|
|
763
714
|
}
|
|
764
715
|
|
|
@@ -770,6 +721,13 @@ class UDExTabNavigation extends UI5Element {
|
|
|
770
721
|
this.handleEscape(e);
|
|
771
722
|
this.handleHome(e);
|
|
772
723
|
this.handleEnd(e);
|
|
724
|
+
this.handleTab(e);
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
handleTab(e: KeyboardEvent): void {
|
|
728
|
+
if (isTabNext(e) || isTabPrevious(e)) {
|
|
729
|
+
this.handleClosePopover();
|
|
730
|
+
}
|
|
773
731
|
}
|
|
774
732
|
|
|
775
733
|
handleUp(e: KeyboardEvent) {
|
|
@@ -778,16 +736,34 @@ class UDExTabNavigation extends UI5Element {
|
|
|
778
736
|
}
|
|
779
737
|
}
|
|
780
738
|
|
|
781
|
-
|
|
782
|
-
const popoverItems =
|
|
739
|
+
onPreviousItemInPopover(target: HTMLElement) {
|
|
740
|
+
const popoverItems = this.getItemsFromPopover();
|
|
783
741
|
const currentSelectedTabIndex = this.getPopoverTabIndexById(popoverItems, target.id);
|
|
784
742
|
const previousSelectIndex = currentSelectedTabIndex - 1 < 0 ? popoverItems.length - 1 : currentSelectedTabIndex - 1;
|
|
743
|
+
const prevItem = popoverItems[previousSelectIndex];
|
|
744
|
+
|
|
745
|
+
this.resetTabIndexItem(popoverItems[currentSelectedTabIndex]);
|
|
746
|
+
prevItem.setAttribute("tabIndex", "0");
|
|
747
|
+
prevItem.focus();
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
onNextItemInPopover(target: HTMLElement) {
|
|
751
|
+
const popoverItems = this.getItemsFromPopover();
|
|
752
|
+
const currentSelectedTabIndex = this.getPopoverTabIndexById(popoverItems, target.id);
|
|
753
|
+
const nextSelectIndex = currentSelectedTabIndex + 1 > popoverItems.length - 1 ? 0 : currentSelectedTabIndex + 1;
|
|
754
|
+
const nextItem = popoverItems[nextSelectIndex];
|
|
785
755
|
|
|
786
|
-
popoverItems[
|
|
756
|
+
this.resetTabIndexItem(popoverItems[currentSelectedTabIndex]);
|
|
757
|
+
nextItem.setAttribute("tabIndex", "0");
|
|
758
|
+
nextItem.focus();
|
|
787
759
|
}
|
|
788
760
|
|
|
789
|
-
|
|
790
|
-
|
|
761
|
+
resetTabIndexItem(item: HTMLElement): void {
|
|
762
|
+
item.setAttribute("tabIndex", "-1");
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
getItemsFromPopover(): Array<HTMLElement> {
|
|
766
|
+
const responsivePopover = this.getResponsePopover();
|
|
791
767
|
const [contentFromPopover] = responsivePopover.content;
|
|
792
768
|
return Array.from(contentFromPopover.children) as Array<HTMLElement>;
|
|
793
769
|
}
|
|
@@ -802,14 +778,6 @@ class UDExTabNavigation extends UI5Element {
|
|
|
802
778
|
}
|
|
803
779
|
}
|
|
804
780
|
|
|
805
|
-
async onNextItemInPopover(target: HTMLElement) {
|
|
806
|
-
const popoverItems = await this.getItemsFromPopover();
|
|
807
|
-
const currentSelectedTabIndex = this.getPopoverTabIndexById(popoverItems, target.id);
|
|
808
|
-
const nextSelectIndex = currentSelectedTabIndex + 1 > popoverItems.length - 1 ? 0 : currentSelectedTabIndex + 1;
|
|
809
|
-
|
|
810
|
-
popoverItems[nextSelectIndex].focus();
|
|
811
|
-
}
|
|
812
|
-
|
|
813
781
|
handleEnterOrSpace(e: KeyboardEvent) {
|
|
814
782
|
if (isEnter(e) || isSpace(e)) {
|
|
815
783
|
e.preventDefault();
|
|
@@ -826,25 +794,25 @@ class UDExTabNavigation extends UI5Element {
|
|
|
826
794
|
}
|
|
827
795
|
}
|
|
828
796
|
|
|
829
|
-
|
|
797
|
+
handleHome(e: KeyboardEvent) {
|
|
830
798
|
if (isHome(e)) {
|
|
831
799
|
e.preventDefault();
|
|
832
|
-
const popoverItems =
|
|
800
|
+
const popoverItems = this.getItemsFromPopover();
|
|
833
801
|
popoverItems[0].focus();
|
|
834
802
|
}
|
|
835
803
|
}
|
|
836
804
|
|
|
837
|
-
|
|
805
|
+
handleEnd(e: KeyboardEvent) {
|
|
838
806
|
if (isEnd(e)) {
|
|
839
807
|
e.preventDefault();
|
|
840
|
-
|
|
808
|
+
e.stopPropagation();
|
|
809
|
+
const popoverItems = this.getItemsFromPopover();
|
|
841
810
|
popoverItems[popoverItems.length - 1].focus();
|
|
842
811
|
}
|
|
843
812
|
}
|
|
844
813
|
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
return staticAreaItem!.querySelector<ResponsivePopover>(`#${this.__id!}-overflow-popover`)!;
|
|
814
|
+
getResponsePopover(): ResponsivePopover {
|
|
815
|
+
return this.shadowRoot!.querySelector<ResponsivePopover>("[ui5-popover]")!;
|
|
848
816
|
}
|
|
849
817
|
|
|
850
818
|
get moreButtonText(): string {
|
|
@@ -854,6 +822,14 @@ class UDExTabNavigation extends UI5Element {
|
|
|
854
822
|
static registerStaticAreaTabStyles(styles: StyleData) {
|
|
855
823
|
staticAreaTabStyles.push(styles);
|
|
856
824
|
}
|
|
825
|
+
|
|
826
|
+
static get tabNavigationPopoverTemplate() {
|
|
827
|
+
return TabNavigationPopoverTemplate;
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
get tabNavigationPopover() {
|
|
831
|
+
return executeTemplate(UDExTabNavigation.tabNavigationPopoverTemplate, this);
|
|
832
|
+
}
|
|
857
833
|
}
|
|
858
834
|
|
|
859
835
|
UDExTabNavigation.define();
|
package/src/Tag.hbs
CHANGED
|
@@ -1,26 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
{{#if readOnly}}
|
|
2
|
+
<div class="{{tagClasses}}">
|
|
3
|
+
<span class="udex-tag__text">{{{text}}}</span>
|
|
4
|
+
</div>
|
|
5
|
+
{{else if href}}
|
|
6
|
+
<a role="{{accessibleRole}}" class="{{tagClasses}}" @click="{{tagLinkClickHandler}}" href="{{href}}">
|
|
7
|
+
{{#if startIcon}}
|
|
8
|
+
<ui5-icon
|
|
9
|
+
class="udex-tag__icon udex-tag__icon--start"
|
|
10
|
+
name="{{icon}}">
|
|
11
|
+
</ui5-icon>
|
|
12
|
+
{{/if}}
|
|
13
|
+
<span class="udex-tag__text">{{{text}}}</span>
|
|
14
|
+
{{#if endIcon}}
|
|
15
|
+
<ui5-icon
|
|
16
|
+
class="udex-tag__icon udex-tag__icon--end"
|
|
17
|
+
name="{{icon}}">
|
|
18
|
+
</ui5-icon>
|
|
19
|
+
{{/if}}
|
|
20
|
+
</a>
|
|
21
|
+
{{else if nonSelectable}}
|
|
22
|
+
<div class="{{tagClasses}}">
|
|
23
|
+
{{#if startIcon}}
|
|
24
|
+
<button
|
|
25
|
+
class="udex-tag__btn-icon"
|
|
26
|
+
@click="{{iconClickHandler}}"
|
|
27
|
+
role="{{accessibleRole}}"
|
|
28
|
+
aria-label="{{iconAccessibleName}}">
|
|
29
|
+
<ui5-icon
|
|
30
|
+
class="udex-tag__icon udex-tag__icon--start"
|
|
31
|
+
name="{{icon}}">
|
|
32
|
+
</ui5-icon>
|
|
33
|
+
</button>
|
|
34
|
+
{{/if}}
|
|
35
|
+
<span class="udex-tag__text">{{{text}}}</span>
|
|
36
|
+
{{#if endIcon}}
|
|
37
|
+
<button
|
|
38
|
+
class="udex-tag__btn-icon"
|
|
39
|
+
@click="{{iconClickHandler}}"
|
|
40
|
+
role="{{accessibleRole}}"
|
|
41
|
+
aria-label="{{iconAccessibleName}}">
|
|
42
|
+
<ui5-icon
|
|
43
|
+
class="udex-tag__icon udex-tag__icon--end"
|
|
44
|
+
name="{{icon}}">
|
|
45
|
+
</ui5-icon>
|
|
46
|
+
</button>
|
|
47
|
+
{{/if}}
|
|
48
|
+
</div>
|
|
49
|
+
{{else}}
|
|
50
|
+
<div
|
|
51
|
+
tabindex="{{_tabIndex}}"
|
|
52
|
+
class="{{tagClasses}}"
|
|
53
|
+
@click="{{tagClickHandler}}"
|
|
54
|
+
@focusin="{{_focusin}}"
|
|
55
|
+
@focusout="{{_focusout}}"
|
|
56
|
+
@keydown="{{tagKeyDown}}"
|
|
57
|
+
role="{{accessibleRole}}"
|
|
58
|
+
aria-label="{{accessibleName}}"
|
|
59
|
+
aria-pressed="{{selected}}">
|
|
60
|
+
{{#if startIcon}}
|
|
61
|
+
<ui5-icon
|
|
62
|
+
class="udex-tag__icon udex-tag__icon--start"
|
|
63
|
+
name="{{icon}}"
|
|
64
|
+
@click="{{iconClickHandler}}">
|
|
65
|
+
</ui5-icon>
|
|
66
|
+
{{/if}}
|
|
67
|
+
<span class="udex-tag__text">{{{text}}}</span>
|
|
68
|
+
{{#if endIcon}}
|
|
69
|
+
<ui5-icon
|
|
70
|
+
class="udex-tag__icon udex-tag__icon--end"
|
|
71
|
+
name="{{icon}}"
|
|
72
|
+
@click="{{iconClickHandler}}">
|
|
73
|
+
</ui5-icon>
|
|
74
|
+
{{/if}}
|
|
75
|
+
</div>
|
|
76
|
+
{{/if}}
|