@sapudex/web-components 0.114.2 → 0.127.6
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 +6 -0
- package/config/wdio.conf.js +19 -8
- package/dist/AccordionItem.d.ts +2 -1
- package/dist/AccordionItem.js +3 -3
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Avatar.d.ts +20 -1
- package/dist/Avatar.js +26 -2
- 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/CountrySelector.d.ts +1 -0
- package/dist/CountrySelector.js +3 -0
- package/dist/CountrySelector.js.map +1 -1
- package/dist/Dropdown.d.ts +11 -1
- package/dist/Dropdown.js +15 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +21 -5
- package/dist/FilterMenu.js +50 -8
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +27 -0
- package/dist/Footer.js +27 -36
- package/dist/Footer.js.map +1 -1
- package/dist/HeroBanner.js +3 -0
- package/dist/HeroBanner.js.map +1 -1
- package/dist/InputGroup.js.map +1 -1
- package/dist/List.d.ts +7 -0
- package/dist/List.js +78 -18
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +0 -1
- package/dist/ListItem.js +0 -6
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +3 -0
- package/dist/ListItemBase.js +12 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/MastheadItem.d.ts +1 -0
- package/dist/MastheadItem.js +5 -11
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadShell.d.ts +8 -0
- package/dist/MastheadShell.js +10 -0
- package/dist/MastheadShell.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 +6 -0
- package/dist/PhoneNumberField.js +6 -1
- 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/Search.d.ts +51 -0
- package/dist/Search.js +65 -11
- 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 +35 -47
- package/dist/SecondaryNavigation.js +158 -167
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +101 -0
- package/dist/SecondaryNavigationItem.js +297 -0
- package/dist/SecondaryNavigationItem.js.map +1 -0
- package/dist/SecondaryNavigationItemBase.d.ts +82 -0
- package/dist/SecondaryNavigationItemBase.js +104 -0
- package/dist/SecondaryNavigationItemBase.js.map +1 -0
- package/dist/SecondaryNavigationSubItem.d.ts +53 -0
- package/dist/SecondaryNavigationSubItem.js +105 -0
- package/dist/SecondaryNavigationSubItem.js.map +1 -0
- package/dist/SelectBox.d.ts +1 -0
- package/dist/SelectBox.js +15 -1
- package/dist/SelectBox.js.map +1 -1
- package/dist/StatusBadge.d.ts +67 -0
- package/dist/StatusBadge.js +104 -0
- package/dist/StatusBadge.js.map +1 -0
- package/dist/Switch.d.ts +1 -0
- package/dist/Switch.js +3 -0
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +8 -0
- package/dist/Tab.js +4 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +20 -20
- package/dist/TabNavigation.js +82 -101
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +13 -6
- package/dist/Tag.js +34 -20
- package/dist/Tag.js.map +1 -1
- package/dist/TextArea.d.ts +1 -1
- package/dist/TextArea.js +3 -0
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +9 -0
- package/dist/TextField.js +16 -0
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +2 -2
- package/dist/Tooltip.js +3 -3
- package/dist/Tooltip.js.map +1 -1
- package/dist/assets/bundle.esm-7d53f4f2.js +314 -0
- package/dist/assets/messagebundle_en-6dcc9ab4.js +1 -0
- package/dist/assets/parameters-bundle.css-de55cf62.js +2 -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/Checkbox.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/Divider.css +1 -1
- package/dist/css/themes/Dropdown.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/MastheadShell.css +1 -1
- package/dist/css/themes/MediaPlayer.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/Search.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -0
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -0
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/StatusBadge.css +1 -0
- 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/TextField.css +1 -1
- package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +1291 -119
- package/dist/custom-elements.json +1298 -199
- 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 +16 -1
- package/dist/generated/i18n/i18n-defaults.js +20 -5
- 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 +1 -1
- 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 +3 -3
- 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 +9 -8
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +4 -4
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- 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/MastheadShellTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadShellTemplate.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 +3 -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/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/SearchableListBaseTemplate.lit.js +2 -2
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +11 -0
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +10 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -10
- 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/StatusBadgeTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/StatusBadgeTemplate.lit.js +5 -0
- package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SwitchTemplate.lit.js +2 -2
- package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +2 -2
- 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 +2 -2
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagTemplate.lit.js +9 -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/Checkbox.css.js +1 -1
- package/dist/generated/themes/Checkbox.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/Dropdown.css.js +1 -1
- package/dist/generated/themes/Dropdown.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/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +1 -1
- package/dist/generated/themes/MediaPlayer.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/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.d.ts +3 -0
- package/dist/generated/themes/SecondaryNavigationItem.css.js +9 -0
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +3 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +9 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -0
- 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/StatusBadge.css.d.ts +3 -0
- package/dist/generated/themes/StatusBadge.css.js +9 -0
- package/dist/generated/themes/StatusBadge.css.js.map +1 -0
- 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/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.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 +40 -5
- package/dist/i18n/messagebundle_en.properties +20 -5
- package/dist/vscode.html-custom-data.json +239 -16
- package/dist/web-types.json +405 -25
- package/package.json +8 -8
- package/src/AccordionItem.hbs +1 -4
- package/src/AccordionItem.ts +5 -4
- package/src/Avatar.ts +35 -3
- package/src/AvatarGroup.ts +135 -0
- package/src/CountrySelector.hbs +2 -1
- package/src/CountrySelector.ts +4 -1
- package/src/DatePicker.hbs +0 -1
- package/src/Dropdown.hbs +5 -3
- package/src/Dropdown.ts +24 -3
- package/src/FilterMenu.hbs +8 -1
- package/src/FilterMenu.ts +70 -12
- package/src/Footer.hbs +12 -37
- package/src/Footer.ts +64 -51
- package/src/HeroBanner.hbs +28 -21
- package/src/HeroBanner.ts +3 -0
- package/src/InputGroup.ts +6 -5
- package/src/List.ts +92 -21
- package/src/ListGroupHeader.hbs +9 -5
- package/src/ListItem.hbs +2 -1
- package/src/ListItem.ts +0 -7
- package/src/ListItemBase.ts +14 -0
- package/src/ListSelectAll.hbs +1 -0
- package/src/MastheadItem.hbs +3 -3
- package/src/MastheadItem.ts +10 -4
- package/src/MastheadShell.hbs +4 -0
- package/src/MastheadShell.ts +18 -0
- 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 +8 -3
- package/src/PhoneNumberField.ts +12 -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/Search.hbs +20 -14
- package/src/Search.ts +107 -10
- package/src/SearchSuggestions.hbs +2 -1
- package/src/SearchableListBase.hbs +2 -0
- package/src/SearchableListBase.ts +1 -1
- package/src/SecondaryNavigation.hbs +53 -71
- package/src/SecondaryNavigation.ts +192 -198
- package/src/SecondaryNavigationItem.hbs +64 -0
- package/src/SecondaryNavigationItem.ts +368 -0
- package/src/SecondaryNavigationItemBase.ts +153 -0
- package/src/SecondaryNavigationSubItem.hbs +44 -0
- package/src/SecondaryNavigationSubItem.ts +127 -0
- package/src/SelectBox.hbs +76 -76
- package/src/SelectBox.ts +18 -1
- package/src/StatusBadge.hbs +9 -0
- package/src/StatusBadge.ts +129 -0
- package/src/Switch.hbs +3 -3
- package/src/Switch.ts +4 -0
- package/src/Tab.ts +11 -1
- package/src/TabInOverflow.hbs +3 -2
- package/src/TabNavigation.hbs +12 -10
- package/src/TabNavigation.ts +92 -116
- package/src/TabNavigationPopover.hbs +1 -0
- package/src/Tag.hbs +60 -26
- package/src/Tag.ts +54 -34
- package/src/TextArea.hbs +3 -4
- package/src/TextArea.ts +3 -0
- package/src/TextField.hbs +40 -36
- package/src/TextField.ts +24 -0
- package/src/Tooltip.hbs +2 -2
- package/src/Tooltip.ts +4 -4
- 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 +1 -1
- 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 +3 -3
- package/src/generated/templates/FooterTemplate.lit.ts +26 -28
- package/src/generated/templates/HeroBannerTemplate.lit.ts +9 -8
- package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
- package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadShellTemplate.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 +3 -3
- package/src/generated/templates/RatingBarTemplate.lit.ts +11 -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/SearchableListBaseTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +16 -0
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +15 -0
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -10
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/StatusBadgeTemplate.lit.ts +10 -0
- package/src/generated/templates/SwitchTemplate.lit.ts +2 -2
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +2 -2
- package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/TabNavigationTemplate.lit.ts +2 -2
- package/src/generated/templates/TagTemplate.lit.ts +9 -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/Checkbox.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/Dropdown.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/MastheadShell.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.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/Search.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +13 -0
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +13 -0
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/StatusBadge.css.ts +13 -0
- 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/TextField.css.ts +1 -1
- package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/i18n/messagebundle.properties +40 -5
- package/src/i18n/messagebundle_en.properties +20 -5
- package/src/themes/AccordionItem.css +6 -4
- package/src/themes/Avatar.css +43 -6
- package/src/themes/Badge.css +1 -1
- package/src/themes/Checkbox.css +12 -0
- package/src/themes/CountrySelector.css +4 -0
- package/src/themes/Divider.css +6 -2
- package/src/themes/Dropdown.css +2 -0
- package/src/themes/FilterMenu.css +10 -0
- package/src/themes/Footer.css +93 -168
- package/src/themes/HeroBanner.css +84 -20
- package/src/themes/MastheadShell.css +25 -29
- package/src/themes/MediaPlayer.css +3 -2
- package/src/themes/Modal.css +6 -0
- package/src/themes/Pagination.css +7 -0
- package/src/themes/PhoneNumberField.css +5 -0
- package/src/themes/RatingBar.css +52 -0
- package/src/themes/Review.css +196 -0
- package/src/themes/Search.css +37 -21
- package/src/themes/SecondaryNavigation.css +64 -293
- package/src/themes/SecondaryNavigationItem.css +221 -0
- package/src/themes/SecondaryNavigationSubItem.css +118 -0
- package/src/themes/SelectBox.css +17 -24
- package/src/themes/StatusBadge.css +135 -0
- package/src/themes/StepInput.css +5 -2
- package/src/themes/TabNavigation.css +7 -1
- package/src/themes/Tag.css +180 -148
- package/src/themes/TextField.css +75 -55
- package/dist/assets/bundle.esm-ab45813e.js +0 -312
- package/dist/assets/messagebundle_en-26cd7a92.js +0 -1
- package/dist/assets/parameters-bundle.css-76ef62fa.js +0 -2
- 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
|
|
|
@@ -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,60 @@
|
|
|
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 nonSelectable}}
|
|
6
|
+
<div class="{{tagClasses}}">
|
|
7
|
+
{{#if startIcon}}
|
|
8
|
+
<button
|
|
9
|
+
class="udex-tag__btn-icon"
|
|
10
|
+
@click="{{iconClickHandler}}"
|
|
11
|
+
role="{{accessibleRole}}"
|
|
12
|
+
aria-label="{{iconAccessibleName}}">
|
|
13
|
+
<ui5-icon
|
|
14
|
+
class="udex-tag__icon udex-tag__icon--start"
|
|
15
|
+
name="{{icon}}">
|
|
16
|
+
</ui5-icon>
|
|
17
|
+
</button>
|
|
18
|
+
{{/if}}
|
|
19
|
+
<span class="udex-tag__text">{{{text}}}</span>
|
|
20
|
+
{{#if endIcon}}
|
|
21
|
+
<button
|
|
22
|
+
class="udex-tag__btn-icon"
|
|
23
|
+
@click="{{iconClickHandler}}"
|
|
24
|
+
role="{{accessibleRole}}"
|
|
25
|
+
aria-label="{{iconAccessibleName}}">
|
|
26
|
+
<ui5-icon
|
|
27
|
+
class="udex-tag__icon udex-tag__icon--end"
|
|
28
|
+
name="{{icon}}">
|
|
29
|
+
</ui5-icon>
|
|
30
|
+
</button>
|
|
31
|
+
{{/if}}
|
|
32
|
+
</div>
|
|
33
|
+
{{else}}
|
|
34
|
+
<div
|
|
35
|
+
tabindex="{{_tabIndex}}"
|
|
36
|
+
class="{{tagClasses}}"
|
|
37
|
+
@click="{{tagClickHandler}}"
|
|
38
|
+
@focusin="{{_focusin}}"
|
|
39
|
+
@focusout="{{_focusout}}"
|
|
40
|
+
@keydown="{{tagKeyDown}}"
|
|
41
|
+
role="{{accessibleRole}}"
|
|
42
|
+
aria-label="{{accessibleName}}"
|
|
43
|
+
aria-pressed="{{selected}}">
|
|
44
|
+
{{#if startIcon}}
|
|
45
|
+
<ui5-icon
|
|
46
|
+
class="udex-tag__icon udex-tag__icon--start"
|
|
47
|
+
name="{{icon}}"
|
|
48
|
+
@click="{{iconClickHandler}}">
|
|
49
|
+
</ui5-icon>
|
|
50
|
+
{{/if}}
|
|
51
|
+
<span class="udex-tag__text">{{{text}}}</span>
|
|
52
|
+
{{#if endIcon}}
|
|
53
|
+
<ui5-icon
|
|
54
|
+
class="udex-tag__icon udex-tag__icon--end"
|
|
55
|
+
name="{{icon}}"
|
|
56
|
+
@click="{{iconClickHandler}}">
|
|
57
|
+
</ui5-icon>
|
|
58
|
+
{{/if}}
|
|
59
|
+
</div>
|
|
60
|
+
{{/if}}
|
package/src/Tag.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
|
10
10
|
import TagTemplate from "./generated/templates/TagTemplate.lit.js";
|
|
11
11
|
|
|
12
12
|
// Styles
|
|
13
|
-
import TagCss from "./generated/themes/Tag.css
|
|
13
|
+
import TagCss from "./generated/themes/Tag.css";
|
|
14
14
|
|
|
15
15
|
export enum TagType {
|
|
16
16
|
Text = "Text",
|
|
@@ -24,6 +24,11 @@ export enum IconPlacement {
|
|
|
24
24
|
End = "End"
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
export enum TagSize {
|
|
28
|
+
Small = "Small",
|
|
29
|
+
Medium = "Medium"
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
/**
|
|
28
33
|
* @class
|
|
29
34
|
*
|
|
@@ -58,6 +63,7 @@ export enum IconPlacement {
|
|
|
58
63
|
* @public
|
|
59
64
|
*/
|
|
60
65
|
@event("selectionChange")
|
|
66
|
+
|
|
61
67
|
/**
|
|
62
68
|
* Emitted when icon in tag was clicked
|
|
63
69
|
*
|
|
@@ -83,14 +89,16 @@ class UDExTag extends UI5Element {
|
|
|
83
89
|
*/
|
|
84
90
|
@property({ type: TagType, defaultValue: TagType.Grey })
|
|
85
91
|
design?: `${TagType}`;
|
|
92
|
+
|
|
86
93
|
/**
|
|
87
94
|
* Defines the size of the component.
|
|
88
95
|
*
|
|
89
96
|
* @default "Small"
|
|
90
97
|
* @public
|
|
91
98
|
*/
|
|
92
|
-
@property({ type:
|
|
93
|
-
size!:
|
|
99
|
+
@property({ type: TagSize, defaultValue: TagSize.Small })
|
|
100
|
+
size!: `${TagSize}`;
|
|
101
|
+
|
|
94
102
|
/**
|
|
95
103
|
* Defines icon name
|
|
96
104
|
*
|
|
@@ -183,7 +191,7 @@ class UDExTag extends UI5Element {
|
|
|
183
191
|
@property({ type: Boolean })
|
|
184
192
|
nonSelectable!: boolean;
|
|
185
193
|
|
|
186
|
-
onBeforeRendering() {
|
|
194
|
+
onBeforeRendering(): void {
|
|
187
195
|
this.toBeDeleted = false;
|
|
188
196
|
}
|
|
189
197
|
|
|
@@ -193,71 +201,83 @@ class UDExTag extends UI5Element {
|
|
|
193
201
|
}
|
|
194
202
|
}
|
|
195
203
|
|
|
196
|
-
|
|
197
|
-
return `udex-tag udex-tag--${this.size.toLocaleLowerCase()} udex-tag-${this.design?.toLowerCase()}
|
|
198
|
-
${this.readOnly ? "udex-tag--readonly" : ""}
|
|
199
|
-
${this.nonSelectable ? "udex-tag--nonselectable" : ""}
|
|
200
|
-
${this.selected ? "udex-tag--selected" : ""}`;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
get startIcon() {
|
|
204
|
-
return this.icon && !this.readOnly && this.iconPlacement === IconPlacement.Start;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
get endIcon() {
|
|
208
|
-
return this.icon && !this.readOnly && this.iconPlacement === IconPlacement.End;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
setSelected() {
|
|
204
|
+
setSelected(): void {
|
|
212
205
|
this.selected = !this.selected;
|
|
213
206
|
}
|
|
214
207
|
|
|
215
|
-
iconClickHandler(e: Event) {
|
|
208
|
+
iconClickHandler(e: Event): void {
|
|
216
209
|
e.stopPropagation();
|
|
217
|
-
|
|
218
|
-
this.fireEvent("iconClick");
|
|
219
|
-
}
|
|
210
|
+
this.fireEvent("iconClick");
|
|
220
211
|
}
|
|
221
212
|
|
|
222
|
-
tagClickHandler() {
|
|
223
|
-
if (
|
|
213
|
+
tagClickHandler(): void {
|
|
214
|
+
if (this.isInteractiveTag) {
|
|
224
215
|
this.setSelected();
|
|
225
216
|
this.fireEvent("selectionChange");
|
|
226
217
|
}
|
|
227
218
|
}
|
|
228
219
|
|
|
229
|
-
tagKeyDown(e: KeyboardEvent) {
|
|
220
|
+
tagKeyDown(e: KeyboardEvent): void {
|
|
230
221
|
if (isEnter(e)) {
|
|
231
222
|
this.tagClickHandler();
|
|
232
223
|
}
|
|
233
224
|
}
|
|
234
225
|
|
|
235
|
-
_focusin() {
|
|
226
|
+
_focusin(): void {
|
|
236
227
|
this.focused = true;
|
|
237
228
|
}
|
|
238
229
|
|
|
239
|
-
_focusout() {
|
|
230
|
+
_focusout(): void {
|
|
240
231
|
this.focused = !this.focused;
|
|
241
232
|
}
|
|
242
233
|
|
|
243
|
-
get
|
|
244
|
-
|
|
234
|
+
get tagClasses(): string {
|
|
235
|
+
const hasIconClass = this.hasIcon ? "udex-tag--has-icon" : "";
|
|
236
|
+
const readOnlyClass = this.readOnly ? "udex-tag--readonly" : "";
|
|
237
|
+
const nonSelectableClass = this.nonSelectable ? "udex-tag--nonselectable" : "";
|
|
238
|
+
const selectableClass = this.selected ? "udex-tag--selected" : "";
|
|
239
|
+
const designClass = `udex-tag-${this.design?.toLowerCase()}`;
|
|
240
|
+
return `udex-tag udex-tag--${this.size.toLocaleLowerCase()} ${designClass} ${hasIconClass} ${readOnlyClass} ${nonSelectableClass} ${selectableClass}`.trim();
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
get startIcon(): boolean {
|
|
244
|
+
return this.hasIcon && this.iconPlacement === IconPlacement.Start;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
get endIcon(): boolean {
|
|
248
|
+
return this.hasIcon && this.iconPlacement === IconPlacement.End;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
get _tabIndex(): number {
|
|
252
|
+
if (this.overflows || this.nonSelectable) {
|
|
245
253
|
return -1;
|
|
246
254
|
}
|
|
247
255
|
return 0;
|
|
248
256
|
}
|
|
249
257
|
|
|
250
|
-
get textDom() {
|
|
251
|
-
return this.getDomRef()
|
|
258
|
+
get textDom(): HTMLElement {
|
|
259
|
+
return this.getDomRef()!.querySelector(".udex-tag__text")!;
|
|
252
260
|
}
|
|
253
261
|
|
|
254
|
-
get isTruncatable() {
|
|
262
|
+
get isTruncatable(): boolean {
|
|
255
263
|
if (!this.textDom) {
|
|
256
264
|
return false;
|
|
257
265
|
}
|
|
258
266
|
|
|
259
267
|
return Math.ceil(this.textDom.getBoundingClientRect().width) < Math.ceil(this.textDom.scrollWidth);
|
|
260
268
|
}
|
|
269
|
+
|
|
270
|
+
get isInteractiveTag(): boolean {
|
|
271
|
+
return !this.readOnly && !this.toBeDeleted && !this.nonSelectable;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
get hasIcon(): boolean {
|
|
275
|
+
return !!this.icon && !this.readOnly;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
get iconAccessibleName(): string {
|
|
279
|
+
return this.accessibleName || this.text;
|
|
280
|
+
}
|
|
261
281
|
}
|
|
262
282
|
|
|
263
283
|
UDExTag.define();
|
package/src/TextArea.hbs
CHANGED
|
@@ -21,12 +21,11 @@
|
|
|
21
21
|
?disabled="{{disabled}}"
|
|
22
22
|
?readonly="{{isInputReadonly}}"
|
|
23
23
|
?required="{{required}}"
|
|
24
|
-
aria-label="{{accessibleName}}"
|
|
25
|
-
aria-describedby="{{ariaDescribedBy}}"
|
|
26
|
-
aria-labelledby="{{accessibleNameRef}}"
|
|
24
|
+
?aria-label="{{accessibleName}}"
|
|
25
|
+
?aria-describedby="{{ariaDescribedBy}}"
|
|
26
|
+
?aria-labelledby="{{accessibleNameRef}}"
|
|
27
27
|
aria-required="{{required}}"
|
|
28
28
|
aria-readonly="{{isInputReadonly}}"
|
|
29
|
-
aria-disabled="{{disabled}}"
|
|
30
29
|
aria-invalid="{{ariaInvalid}}"
|
|
31
30
|
@input="{{handleInput}}"
|
|
32
31
|
@focus="{{handleFocus}}"
|
package/src/TextArea.ts
CHANGED
|
@@ -257,6 +257,9 @@ class UDExTextArea extends UI5Element {
|
|
|
257
257
|
const valueStateTextDescId = this.hasValueState ? `${this._id}-valueStateDesc` : "";
|
|
258
258
|
const readonlyTextDescId = this.readonly ? `${this._id}-readonlyDesc` : "";
|
|
259
259
|
const supportingTextDescId = this._supportingText ? `${this._id}-supportingTextDesc` : "";
|
|
260
|
+
if (!valueStateTextDescId && !supportingTextDescId && !readonlyTextDescId) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
260
263
|
return `${valueStateTextDescId} ${supportingTextDescId} ${readonlyTextDescId}`;
|
|
261
264
|
}
|
|
262
265
|
|