@sapudex/web-components 0.147.0 → 0.173.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/.eslintignore +1 -0
- package/bundle.esm.js +9 -0
- package/dist/AvatarGroup.js +0 -6
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Badge.d.ts +21 -14
- package/dist/Badge.js +20 -26
- package/dist/Badge.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +23 -21
- package/dist/Breadcrumbs.js +58 -40
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.js +0 -1
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/Checkbox.js +0 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/CountrySelector.d.ts +2 -2
- package/dist/CountrySelector.js +20 -12
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +2 -2
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.js +0 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/Footer.d.ts +53 -10
- package/dist/Footer.js +41 -11
- package/dist/Footer.js.map +1 -1
- package/dist/Link.d.ts +2 -5
- package/dist/Link.js +4 -8
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +16 -1
- package/dist/List.js +154 -100
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +1 -0
- package/dist/ListItem.js +3 -0
- package/dist/ListItem.js.map +1 -1
- package/dist/MastheadItem.d.ts +12 -2
- package/dist/MastheadItem.js +34 -7
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +13 -4
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +10 -0
- package/dist/MastheadMenuItem.js +24 -3
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMobileMenu.js +2 -2
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.js +2 -2
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +4 -0
- package/dist/MastheadShell.js +21 -5
- package/dist/MastheadShell.js.map +1 -1
- package/dist/Pagination.d.ts +13 -3
- package/dist/Pagination.js +90 -57
- package/dist/Pagination.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +3 -0
- package/dist/PhoneNumberField.js +9 -4
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/RangeSlider.js +0 -1
- package/dist/RangeSlider.js.map +1 -1
- package/dist/Search.d.ts +5 -4
- package/dist/Search.js +12 -12
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +7 -1
- package/dist/SearchableListBase.js +47 -4
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +2 -2
- package/dist/SecondaryNavigation.js +20 -10
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +6 -3
- package/dist/SecondaryNavigationItem.js +50 -26
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +1 -0
- package/dist/SecondaryNavigationSubItem.js +3 -0
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SegmentedButton.d.ts +2 -2
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SelectBox.js.map +1 -1
- package/dist/SideNavigationGroup.js +0 -1
- package/dist/SideNavigationGroup.js.map +1 -1
- package/dist/SideNavigationItem.js +0 -1
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationSubItem.js +0 -1
- package/dist/SideNavigationSubItem.js.map +1 -1
- package/dist/Slider.js +0 -1
- package/dist/Slider.js.map +1 -1
- package/dist/TabNavigation.js +2 -2
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +1 -4
- package/dist/Tag.js +1 -5
- package/dist/Tag.js.map +1 -1
- package/dist/Tile.d.ts +1 -1
- package/dist/Tile.js +1 -1
- package/dist/Tile.js.map +1 -1
- package/dist/Toast.d.ts +0 -1
- package/dist/Toast.js +4 -3
- package/dist/Toast.js.map +1 -1
- package/dist/Wizard.js +1 -1
- package/dist/Wizard.js.map +1 -1
- package/dist/WizardTab.js +0 -1
- package/dist/WizardTab.js.map +1 -1
- package/dist/assets/{bundle.esm-6e8e301d.js → bundle.esm-c4ffd46a.js} +187 -189
- package/dist/assets/messagebundle_ar-bb470511.js +1 -0
- package/dist/assets/messagebundle_bg-a533dfab.js +1 -0
- package/dist/assets/messagebundle_cs-c70a7f36.js +1 -0
- package/dist/assets/messagebundle_da-e292cac5.js +1 -0
- package/dist/assets/messagebundle_de-5c108de6.js +1 -0
- package/dist/assets/messagebundle_el-44746e0b.js +1 -0
- package/dist/assets/messagebundle_en-4997b226.js +1 -0
- package/dist/assets/messagebundle_es-c0c1060f.js +1 -0
- package/dist/assets/messagebundle_et-a5f15d3b.js +1 -0
- package/dist/assets/messagebundle_fi-f4b8eb82.js +1 -0
- package/dist/assets/messagebundle_fr-af18ac46.js +1 -0
- package/dist/assets/messagebundle_hr-d893e46d.js +1 -0
- package/dist/assets/messagebundle_hu-230c58c9.js +1 -0
- package/dist/assets/messagebundle_it-5bf1436c.js +1 -0
- package/dist/assets/messagebundle_iw-dd60afc4.js +1 -0
- package/dist/assets/messagebundle_ko-c450bda3.js +1 -0
- package/dist/assets/messagebundle_lt-87ab0529.js +1 -0
- package/dist/assets/messagebundle_lv-fc413852.js +1 -0
- package/dist/assets/messagebundle_nl-34d7e236.js +1 -0
- package/dist/assets/messagebundle_no-f22648fb.js +1 -0
- package/dist/assets/messagebundle_pl-10303f09.js +1 -0
- package/dist/assets/messagebundle_pt-b7a40c67.js +1 -0
- package/dist/assets/messagebundle_ro-94628623.js +1 -0
- package/dist/assets/messagebundle_ru-1f6595ba.js +1 -0
- package/dist/assets/messagebundle_sk-89eabac1.js +1 -0
- package/dist/assets/messagebundle_sl-d56532f1.js +1 -0
- package/dist/assets/messagebundle_sr-cf7f3b32.js +1 -0
- package/dist/assets/messagebundle_sv-3a3b20d3.js +1 -0
- package/dist/assets/messagebundle_tr-33b16d09.js +1 -0
- package/dist/assets/messagebundle_uk-82e1f2c1.js +1 -0
- package/dist/assets/messagebundle_zh_CN-15ca05aa.js +1 -0
- package/dist/assets/messagebundle_zh_TW-ad6445e7.js +1 -0
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/BreadcrumbsPopover.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMenu.css +1 -1
- package/dist/css/themes/MastheadMenuItem.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/RatingIndicator.css +1 -1
- package/dist/css/themes/ReviewItem.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/custom-elements-internal.json +232 -31
- package/dist/custom-elements.json +224 -30
- package/dist/features/SearchSuggestionsPopover.d.ts +16 -0
- package/dist/features/SearchSuggestionsPopover.js +49 -0
- package/dist/features/SearchSuggestionsPopover.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
- package/dist/generated/i18n/i18n-defaults.d.ts +7 -1
- package/dist/generated/i18n/i18n-defaults.js +7 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/json-imports/i18n-static.js +86 -2
- package/dist/generated/json-imports/i18n-static.js.map +1 -1
- package/dist/generated/json-imports/i18n.js +58 -2
- package/dist/generated/json-imports/i18n.js.map +1 -1
- package/dist/generated/templates/BadgeTemplate.lit.js +4 -4
- package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +3 -3
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.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/FooterTemplate.lit.js +12 -11
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +3 -3
- package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +17 -16
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +15 -14
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +10 -9
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
- package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/RatingBarTemplate.lit.js +1 -1
- package/dist/generated/templates/RatingBarTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ReviewItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
- package/dist/generated/templates/SearchSuggestionsTemplate.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.js +3 -3
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +3 -3
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
- package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WizardTemplate.lit.js +1 -1
- package/dist/generated/templates/WizardTemplate.lit.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/BreadcrumbsPopover.css.js +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.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/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
- package/dist/generated/themes/MastheadMenuItem.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/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ReviewItem.css.js +1 -1
- package/dist/generated/themes/ReviewItem.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/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +10 -0
- package/dist/i18n/messagebundle_ar.properties +1 -0
- package/dist/i18n/messagebundle_bg.properties +1 -0
- package/dist/i18n/messagebundle_cs.properties +1 -0
- package/dist/i18n/messagebundle_da.properties +1 -0
- package/dist/i18n/messagebundle_de.properties +1 -0
- package/dist/i18n/messagebundle_el.properties +1 -0
- package/dist/i18n/messagebundle_en.properties +4 -0
- package/dist/i18n/messagebundle_es.properties +1 -0
- package/dist/i18n/messagebundle_et.properties +1 -0
- package/dist/i18n/messagebundle_fi.properties +1 -0
- package/dist/i18n/messagebundle_fr.properties +1 -0
- package/dist/i18n/messagebundle_hr.properties +1 -0
- package/dist/i18n/messagebundle_hu.properties +1 -0
- package/dist/i18n/messagebundle_it.properties +1 -0
- package/dist/i18n/messagebundle_iw.properties +2 -0
- package/dist/i18n/messagebundle_ko.properties +1 -0
- package/dist/i18n/messagebundle_lt.properties +1 -0
- package/dist/i18n/messagebundle_lv.properties +1 -0
- package/dist/i18n/messagebundle_nl.properties +1 -0
- package/dist/i18n/messagebundle_no.properties +1 -0
- package/dist/i18n/messagebundle_pl.properties +1 -0
- package/dist/i18n/messagebundle_pt.properties +1 -0
- package/dist/i18n/messagebundle_pt_BR.properties +1 -0
- package/dist/i18n/messagebundle_ro.properties +1 -0
- package/dist/i18n/messagebundle_ru.properties +1 -0
- package/dist/i18n/messagebundle_sk.properties +1 -0
- package/dist/i18n/messagebundle_sl.properties +1 -0
- package/dist/i18n/messagebundle_sr.properties +2 -0
- package/dist/i18n/messagebundle_sv.properties +1 -0
- package/dist/i18n/messagebundle_tr.properties +1 -0
- package/dist/i18n/messagebundle_uk.properties +1 -0
- package/dist/i18n/messagebundle_zh_CN.properties +4 -0
- package/dist/i18n/messagebundle_zh_TW.properties +1 -0
- package/dist/types/BadgeDesign.d.ts +15 -0
- package/dist/types/BadgeDesign.js +18 -0
- package/dist/types/BadgeDesign.js.map +1 -0
- package/dist/types/IconPlacement.d.ts +5 -0
- package/dist/types/IconPlacement.js +7 -0
- package/dist/types/IconPlacement.js.map +1 -0
- package/dist/types/List.d.ts +8 -0
- package/dist/types/List.js.map +1 -1
- package/dist/utils/isLetterKeyPressed.d.ts +2 -0
- package/dist/utils/isLetterKeyPressed.js +5 -0
- package/dist/utils/isLetterKeyPressed.js.map +1 -0
- package/dist/utils/listItemLabelStartsWithKeyFocus.d.ts +3 -0
- package/dist/utils/listItemLabelStartsWithKeyFocus.js +55 -0
- package/dist/utils/listItemLabelStartsWithKeyFocus.js.map +1 -0
- package/dist/utils/listItemLabelUtils.d.ts +7 -0
- package/dist/utils/listItemLabelUtils.js +36 -0
- package/dist/utils/listItemLabelUtils.js.map +1 -0
- package/dist/vscode.html-custom-data.json +63 -26
- package/dist/web-types.json +113 -38
- package/package.json +1 -1
- package/src/AvatarGroup.ts +0 -7
- package/src/Badge.hbs +16 -5
- package/src/Badge.ts +36 -19
- package/src/Breadcrumbs.ts +92 -66
- package/src/BreadcrumbsItem.ts +0 -1
- package/src/BreadcrumbsPopover.hbs +11 -9
- package/src/Checkbox.ts +0 -1
- package/src/CountrySelector.hbs +0 -1
- package/src/CountrySelector.ts +30 -16
- package/src/DatePicker.ts +2 -2
- package/src/Dropdown.ts +0 -2
- package/src/Footer.hbs +52 -28
- package/src/Footer.ts +81 -22
- package/src/Link.ts +5 -9
- package/src/List.hbs +2 -2
- package/src/List.ts +182 -112
- package/src/ListItem.hbs +2 -2
- package/src/ListItem.ts +4 -0
- package/src/MastheadItem.hbs +14 -4
- package/src/MastheadItem.ts +42 -9
- package/src/MastheadMenu.hbs +4 -4
- package/src/MastheadMenu.ts +20 -8
- package/src/MastheadMenuItem.hbs +10 -2
- package/src/MastheadMenuItem.ts +28 -1
- package/src/MastheadMobileMenu.ts +2 -2
- package/src/MastheadProfileMenu.hbs +1 -0
- package/src/MastheadProfileMenu.ts +3 -2
- package/src/MastheadShell.hbs +25 -19
- package/src/MastheadShell.ts +25 -5
- package/src/Pagination.hbs +3 -2
- package/src/Pagination.ts +110 -60
- package/src/PhoneNumberField.hbs +3 -3
- package/src/PhoneNumberField.ts +16 -8
- package/src/RangeSlider.ts +0 -1
- package/src/RatingBar.hbs +1 -1
- package/src/ReviewItem.hbs +1 -1
- package/src/Search.hbs +10 -10
- package/src/Search.ts +17 -17
- package/src/SearchSuggestions.hbs +1 -0
- package/src/SearchableListBase.hbs +3 -1
- package/src/SearchableListBase.ts +57 -6
- package/src/SecondaryNavigation.hbs +1 -0
- package/src/SecondaryNavigation.ts +23 -16
- package/src/SecondaryNavigationItem.hbs +10 -7
- package/src/SecondaryNavigationItem.ts +58 -28
- package/src/SecondaryNavigationSubItem.hbs +3 -0
- package/src/SecondaryNavigationSubItem.ts +3 -0
- package/src/SegmentedButton.ts +2 -2
- package/src/SelectBox.ts +1 -1
- package/src/SideNavigationGroup.ts +0 -1
- package/src/SideNavigationItem.ts +0 -1
- package/src/SideNavigationSubItem.ts +0 -1
- package/src/Slider.ts +0 -1
- package/src/StepInput.hbs +16 -16
- package/src/TabNavigation.ts +2 -2
- package/src/Tag.ts +1 -5
- package/src/Tile.ts +2 -2
- package/src/Toast.ts +4 -3
- package/src/Wizard.hbs +1 -0
- package/src/Wizard.ts +1 -1
- package/src/WizardTab.ts +0 -1
- package/src/features/SearchSuggestionsPopover.ts +67 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/json-imports/i18n-static.ts +86 -2
- package/src/generated/json-imports/i18n.ts +59 -3
- package/src/generated/templates/BadgeTemplate.lit.ts +3 -3
- package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +3 -3
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
- package/src/generated/templates/FooterTemplate.lit.ts +12 -11
- package/src/generated/templates/ListItemTemplate.lit.ts +2 -2
- package/src/generated/templates/ListTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadItemTemplate.lit.ts +17 -16
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +15 -14
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadShellTemplate.lit.ts +10 -9
- package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/RatingBarTemplate.lit.ts +1 -1
- package/src/generated/templates/ReviewItemTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
- package/src/generated/templates/StepInputTemplate.lit.ts +1 -1
- package/src/generated/templates/WizardTemplate.lit.ts +1 -1
- package/src/generated/themes/Badge.css.ts +1 -1
- package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/DatePickerPopover.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/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMenu.css.ts +1 -1
- package/src/generated/themes/MastheadMenuItem.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/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/ReviewItem.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/TableCell.css.ts +1 -1
- package/src/generated/themes/TableCellBase.css.ts +1 -1
- package/src/generated/themes/TextArea.css.ts +1 -1
- package/src/i18n/messagebundle.properties +10 -0
- package/src/i18n/messagebundle_ar.properties +1 -0
- package/src/i18n/messagebundle_bg.properties +1 -0
- package/src/i18n/messagebundle_cs.properties +1 -0
- package/src/i18n/messagebundle_da.properties +1 -0
- package/src/i18n/messagebundle_de.properties +1 -0
- package/src/i18n/messagebundle_el.properties +1 -0
- package/src/i18n/messagebundle_en.properties +4 -0
- package/src/i18n/messagebundle_es.properties +1 -0
- package/src/i18n/messagebundle_et.properties +1 -0
- package/src/i18n/messagebundle_fi.properties +1 -0
- package/src/i18n/messagebundle_fr.properties +1 -0
- package/src/i18n/messagebundle_hr.properties +1 -0
- package/src/i18n/messagebundle_hu.properties +1 -0
- package/src/i18n/messagebundle_it.properties +1 -0
- package/src/i18n/messagebundle_iw.properties +2 -0
- package/src/i18n/messagebundle_ko.properties +1 -0
- package/src/i18n/messagebundle_lt.properties +1 -0
- package/src/i18n/messagebundle_lv.properties +1 -0
- package/src/i18n/messagebundle_nl.properties +1 -0
- package/src/i18n/messagebundle_no.properties +1 -0
- package/src/i18n/messagebundle_pl.properties +1 -0
- package/src/i18n/messagebundle_pt.properties +1 -0
- package/src/i18n/messagebundle_pt_BR.properties +1 -0
- package/src/i18n/messagebundle_ro.properties +1 -0
- package/src/i18n/messagebundle_ru.properties +1 -0
- package/src/i18n/messagebundle_sk.properties +1 -0
- package/src/i18n/messagebundle_sl.properties +1 -0
- package/src/i18n/messagebundle_sr.properties +2 -0
- package/src/i18n/messagebundle_sv.properties +1 -0
- package/src/i18n/messagebundle_tr.properties +1 -0
- package/src/i18n/messagebundle_uk.properties +1 -0
- package/src/i18n/messagebundle_zh_CN.properties +4 -0
- package/src/i18n/messagebundle_zh_TW.properties +1 -0
- package/src/themes/Badge.css +48 -52
- package/src/themes/BreadcrumbsPopover.css +1 -0
- package/src/themes/Button.css +13 -0
- package/src/themes/DatePickerPopover.css +9 -0
- package/src/themes/FilterMenu.css +6 -6
- package/src/themes/Footer.css +22 -3
- package/src/themes/MastheadItem.css +4 -0
- package/src/themes/MastheadMenu.css +1 -1
- package/src/themes/MastheadMenuItem.css +4 -0
- package/src/themes/MastheadShell.css +5 -0
- package/src/themes/MediaPlayer.css +2 -1
- package/src/themes/Modal.css +1 -0
- package/src/themes/ReviewItem.css +0 -2
- package/src/themes/TableCell.css +0 -2
- package/src/themes/TableCellBase.css +1 -0
- package/src/themes/TextArea.css +1 -1
- package/src/types/BadgeDesign.ts +17 -0
- package/src/types/IconPlacement.ts +6 -0
- package/src/types/List.ts +9 -0
- package/src/utils/isLetterKeyPressed.ts +5 -0
- package/src/utils/listItemLabelStartsWithKeyFocus.ts +74 -0
- package/src/utils/listItemLabelUtils.ts +50 -0
- package/dist/assets/messagebundle_de-8158912e.js +0 -1
- package/dist/assets/messagebundle_en-c677773a.js +0 -1
- package/dist/assets/messagebundle_es-8dab6565.js +0 -1
- package/dist/assets/messagebundle_fr-669aca6d.js +0 -1
|
@@ -2,8 +2,12 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
2
2
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
3
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
4
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
5
|
-
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
6
5
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
6
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
7
|
+
import {
|
|
8
|
+
isDown, isUp,
|
|
9
|
+
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
10
|
+
import { cleanLabel } from "./utils/listItemLabelUtils.js";
|
|
7
11
|
import Search from "./Search.js";
|
|
8
12
|
import UDExListItemBase from "./ListItemBase.js";
|
|
9
13
|
import UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
|
|
@@ -277,7 +281,7 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
277
281
|
}
|
|
278
282
|
|
|
279
283
|
checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {
|
|
280
|
-
const cleanedLabel =
|
|
284
|
+
const cleanedLabel = cleanLabel(item.label);
|
|
281
285
|
if (this.isIncludes(cleanedLabel, str)) {
|
|
282
286
|
item.label = this.addSearchTermTag(cleanedLabel, str);
|
|
283
287
|
return true;
|
|
@@ -285,10 +289,6 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
285
289
|
return false;
|
|
286
290
|
}
|
|
287
291
|
|
|
288
|
-
cleanLabel(str: string): string {
|
|
289
|
-
return str.replace(/<\/?b[^>]*>/g, "");
|
|
290
|
-
}
|
|
291
|
-
|
|
292
292
|
addSearchTermTag(text: string, str: string): string {
|
|
293
293
|
return text.replace(new RegExp(`(${str})`, "i"), "<b>$&</b>");
|
|
294
294
|
}
|
|
@@ -314,6 +314,15 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
+
handleKeyDown(e: KeyboardEvent) {
|
|
318
|
+
if (isUp(e)) {
|
|
319
|
+
this.handlePreviousItemFocus(e);
|
|
320
|
+
}
|
|
321
|
+
if (isDown(e)) {
|
|
322
|
+
this.handleNextListItemFocus(e);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
317
326
|
getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {
|
|
318
327
|
const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];
|
|
319
328
|
items.forEach(item => {
|
|
@@ -354,10 +363,44 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
354
363
|
});
|
|
355
364
|
}
|
|
356
365
|
|
|
366
|
+
// moves focus to next list item
|
|
367
|
+
handlePreviousItemFocus(e: KeyboardEvent) {
|
|
368
|
+
const item = e.target as HTMLElement;
|
|
369
|
+
const listItems = this.getDomListItems();
|
|
370
|
+
const currentSelectIndex = this.getCurrentIndex(item);
|
|
371
|
+
const previousSelectIndex = currentSelectIndex - 1;
|
|
372
|
+
if (currentSelectIndex > 0) {
|
|
373
|
+
e.preventDefault();
|
|
374
|
+
(listItems[previousSelectIndex] as HTMLElement).focus();
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// moves focus to previous list item
|
|
379
|
+
handleNextListItemFocus(e: KeyboardEvent) {
|
|
380
|
+
const item = e.target as HTMLElement;
|
|
381
|
+
const listItems = this.getDomListItems();
|
|
382
|
+
const lastItemIndex = listItems.length - 1;
|
|
383
|
+
const currentSelectIndex = this.getCurrentIndex(item);
|
|
384
|
+
const nextSelectIndex = currentSelectIndex + 1;
|
|
385
|
+
if (nextSelectIndex <= lastItemIndex) {
|
|
386
|
+
e.preventDefault();
|
|
387
|
+
(listItems[nextSelectIndex] as HTMLElement).focus();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
getCurrentIndex(item: Element): number {
|
|
392
|
+
return this.getDomListItems().indexOf(item);
|
|
393
|
+
}
|
|
394
|
+
|
|
357
395
|
getSearch(): Search {
|
|
358
396
|
return this.shadowRoot!.querySelector<Search>("udex-search")!;
|
|
359
397
|
}
|
|
360
398
|
|
|
399
|
+
getDomListItems(): Element[] {
|
|
400
|
+
const elementList = this.shadowRoot!.querySelector("udex-list") as HTMLElement;
|
|
401
|
+
return elementList ? Array.from(elementList.querySelectorAll("udex-list-item")) : [];
|
|
402
|
+
}
|
|
403
|
+
|
|
361
404
|
setItemsModeAndControl(items: Array<UDExFilterMenuItem>) {
|
|
362
405
|
items.forEach(item => {
|
|
363
406
|
item.mode = this.mode;
|
|
@@ -429,6 +472,14 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
429
472
|
return items.length > SHOW_SEARCH_AFTER_COUNT && !this.modeRadioGroup;
|
|
430
473
|
}
|
|
431
474
|
|
|
475
|
+
get roleForGroupList(): string {
|
|
476
|
+
return this._filteredItems.some(element => element.isGroup) ? "group" : "none";
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
get accessibleRoleForList(): string {
|
|
480
|
+
return this._filteredItems.some(element => element.isGroup) ? "group" : "list";
|
|
481
|
+
}
|
|
482
|
+
|
|
432
483
|
static async onDefine(): Promise<void> {
|
|
433
484
|
UDExSearchableListBase.i18nBundle = await getI18nBundle("@udex/web-components");
|
|
434
485
|
}
|
|
@@ -8,18 +8,14 @@ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
|
8
8
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
9
9
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
10
10
|
import {
|
|
11
|
-
isLeft,
|
|
12
|
-
isRight,
|
|
13
|
-
isEscape,
|
|
11
|
+
isEscape, isLeft, isRight, isDown,
|
|
14
12
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
15
13
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
16
14
|
import UDExSecondaryNavigationItem from "./SecondaryNavigationItem.js";
|
|
17
15
|
import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
|
|
18
16
|
import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
|
|
19
17
|
import { MORE } from "./generated/i18n/i18n-defaults.js";
|
|
20
|
-
|
|
21
18
|
import SecondaryNavigationTemplate from "./generated/templates/SecondaryNavigationTemplate.lit.js";
|
|
22
|
-
|
|
23
19
|
// Styles
|
|
24
20
|
import SecondaryNavigationCss from "./generated/themes/SecondaryNavigation.css.js";
|
|
25
21
|
|
|
@@ -229,30 +225,41 @@ class UDExSecondaryNavigation extends UI5Element {
|
|
|
229
225
|
|
|
230
226
|
handleKeyDown(e: KeyboardEvent): void {
|
|
231
227
|
e.stopPropagation();
|
|
228
|
+
const item = e.target as UDExSecondaryNavigationItem;
|
|
229
|
+
|
|
232
230
|
if (isLeft(e)) {
|
|
233
|
-
this.focusPrevNavItem(e);
|
|
231
|
+
return this.focusPrevNavItem(e);
|
|
234
232
|
}
|
|
235
233
|
if (isRight(e)) {
|
|
236
|
-
this.focusNextNavItem(e);
|
|
234
|
+
return this.focusNextNavItem(e);
|
|
235
|
+
}
|
|
236
|
+
if (isEscape(e) && item.hasNestedItems) {
|
|
237
|
+
return item.closeDropdown();
|
|
237
238
|
}
|
|
238
|
-
if (
|
|
239
|
-
|
|
239
|
+
if (isDown(e) && item.hasNestedItems) {
|
|
240
|
+
item.openDropdown();
|
|
240
241
|
}
|
|
241
242
|
}
|
|
242
243
|
|
|
243
244
|
focusPrevNavItem(e: KeyboardEvent): void {
|
|
244
245
|
const item = e.target as UDExSecondaryNavigationItem;
|
|
245
246
|
const currentSelectedIndex = this.getCurrentIndex(item);
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
247
|
+
const previousSelectIndex = currentSelectedIndex - 1;
|
|
248
|
+
if (currentSelectedIndex > 0) {
|
|
249
|
+
e.preventDefault();
|
|
250
|
+
this.domNavItems[previousSelectIndex]?.focus();
|
|
251
|
+
}
|
|
249
252
|
}
|
|
250
253
|
|
|
251
254
|
focusNextNavItem(e: KeyboardEvent): void {
|
|
252
255
|
const item = e.target as UDExSecondaryNavigationItem;
|
|
253
256
|
const currentSelectedIndex = this.getCurrentIndex(item);
|
|
254
|
-
const
|
|
255
|
-
|
|
257
|
+
const lastItemIndex = this.domNavItems.length - 1;
|
|
258
|
+
const nextSelectIndex = currentSelectedIndex + 1;
|
|
259
|
+
if (nextSelectIndex < lastItemIndex) {
|
|
260
|
+
e.preventDefault();
|
|
261
|
+
this.domNavItems[nextSelectIndex].focus();
|
|
262
|
+
}
|
|
256
263
|
}
|
|
257
264
|
|
|
258
265
|
getItemWidth(item: NavItem): number {
|
|
@@ -369,7 +376,7 @@ class UDExSecondaryNavigation extends UI5Element {
|
|
|
369
376
|
document.addEventListener("mousedown", this.outsideClickListener);
|
|
370
377
|
}
|
|
371
378
|
|
|
372
|
-
outsideClickListener = (e:
|
|
379
|
+
outsideClickListener = (e: Event): void => {
|
|
373
380
|
if (this.isMobileScreen && e.target !== this) {
|
|
374
381
|
this.closeMobileDropdown();
|
|
375
382
|
return;
|
|
@@ -384,7 +391,7 @@ class UDExSecondaryNavigation extends UI5Element {
|
|
|
384
391
|
this.mobileNav?.closeDropdown();
|
|
385
392
|
}
|
|
386
393
|
|
|
387
|
-
handleDesktopDropdown(e:
|
|
394
|
+
handleDesktopDropdown(e: Event): void {
|
|
388
395
|
const isClickedNavItem = e.composedPath().includes(this._clickedNavItem);
|
|
389
396
|
if (!isClickedNavItem && this._clickedNavItem) {
|
|
390
397
|
this._clickedNavItem.closeDropdown();
|
|
@@ -6,19 +6,20 @@
|
|
|
6
6
|
href="{{path}}"
|
|
7
7
|
target="{{target}}"
|
|
8
8
|
@keydown="{{handleItemLinkKeyDown}}"
|
|
9
|
-
@click="{{
|
|
9
|
+
@click="{{fireNavItemClickEvent}}">
|
|
10
10
|
{{itemLabel}}
|
|
11
11
|
</a>
|
|
12
12
|
{{else}}
|
|
13
13
|
<button
|
|
14
14
|
class="udex-secondary-navigation__item"
|
|
15
15
|
role="{{itemRole}}"
|
|
16
|
+
tabindex="0"
|
|
16
17
|
?active="{{isActive}}"
|
|
17
18
|
aria-haspopup="{{hasNestedItems}}"
|
|
18
19
|
aria-expanded="{{isOpen}}"
|
|
19
20
|
aria-label="{{ariaLabel}}"
|
|
20
|
-
@keydown="{{
|
|
21
|
-
@click="{{
|
|
21
|
+
@keydown="{{handleItemEnterOrSpaceKeys}}"
|
|
22
|
+
@click="{{openDropdown}}">
|
|
22
23
|
<span class="udex-secondary-navigation__item-text-wrap">
|
|
23
24
|
{{itemLabel}}
|
|
24
25
|
{{#if _subTitle}}
|
|
@@ -37,10 +38,10 @@
|
|
|
37
38
|
</button>
|
|
38
39
|
{{#if isOpen}}
|
|
39
40
|
<div
|
|
40
|
-
class="udex-secondary-navigation__dropdown"
|
|
41
|
-
@keydown="{{handleSubItemKeyDown}}">
|
|
41
|
+
class="udex-secondary-navigation__dropdown">
|
|
42
42
|
<ul role="menu"
|
|
43
|
-
class="udex-secondary-navigation__dropdown-list"
|
|
43
|
+
class="udex-secondary-navigation__dropdown-list"
|
|
44
|
+
@keydown="{{handleSubItemKeyDown}}">
|
|
44
45
|
{{#each _processedItems}}
|
|
45
46
|
<li role="none">
|
|
46
47
|
<udex-secondary-navigation-sub-item
|
|
@@ -58,7 +59,9 @@
|
|
|
58
59
|
</li>
|
|
59
60
|
{{/each}}
|
|
60
61
|
</ul>
|
|
61
|
-
<
|
|
62
|
+
<div @keydown="{{handleButtonsEscKey}}">
|
|
63
|
+
<slot></slot>
|
|
64
|
+
</div>
|
|
62
65
|
</div>
|
|
63
66
|
{{/if}}
|
|
64
67
|
{{/if}}
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
isSpace,
|
|
15
15
|
isEnter,
|
|
16
16
|
isHome,
|
|
17
|
-
isEnd,
|
|
17
|
+
isEnd, isTabNext, isTabPrevious,
|
|
18
18
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
19
19
|
import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
|
|
20
20
|
import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
|
|
@@ -159,18 +159,6 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
159
159
|
this._subTitle = this.subActiveItemTitle || this._subTitle;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
onItemClick(): void {
|
|
163
|
-
if (this.hasNestedItems) {
|
|
164
|
-
this.setDropdownItems();
|
|
165
|
-
this.toggleDropdown();
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
this.fireEvent("nav-item-click", {
|
|
169
|
-
item: this,
|
|
170
|
-
index: this.index,
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
|
|
174
162
|
onSubItemClick(e: Event): void {
|
|
175
163
|
const { index } = e.target as UDExSecondaryNavigationSubItem;
|
|
176
164
|
const clickedItem = this._processedItems[index];
|
|
@@ -178,6 +166,7 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
178
166
|
if (clickedItem.items) {
|
|
179
167
|
this.setDropdownHistory();
|
|
180
168
|
this.setNestedItems(clickedItem);
|
|
169
|
+
this.onShouldFocusFirstSubItem();
|
|
181
170
|
}
|
|
182
171
|
|
|
183
172
|
this.fireEvent("sub-item-click", {
|
|
@@ -190,8 +179,14 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
190
179
|
this.setPrevNestedItems();
|
|
191
180
|
}
|
|
192
181
|
|
|
193
|
-
|
|
194
|
-
this.
|
|
182
|
+
openDropdown(): void {
|
|
183
|
+
if (this.hasNestedItems) {
|
|
184
|
+
this.setDropdownItems();
|
|
185
|
+
this.isOpen = !this.isOpen;
|
|
186
|
+
this.onShouldFocusFirstSubItem();
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
this.fireNavItemClickEvent();
|
|
195
190
|
}
|
|
196
191
|
|
|
197
192
|
closeDropdown(): void {
|
|
@@ -200,12 +195,11 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
200
195
|
|
|
201
196
|
handleItemLinkKeyDown(e: KeyboardEvent): void {
|
|
202
197
|
if (isEnter(e) || isSpace(e)) {
|
|
203
|
-
|
|
204
|
-
this.onItemClick();
|
|
198
|
+
this.openDropdown();
|
|
205
199
|
}
|
|
206
200
|
}
|
|
207
201
|
|
|
208
|
-
|
|
202
|
+
handleItemEnterOrSpaceKeys(e: KeyboardEvent): void {
|
|
209
203
|
if (isEnter(e) || isSpace(e)) {
|
|
210
204
|
this.onShouldFocusFirstSubItem();
|
|
211
205
|
}
|
|
@@ -242,23 +236,41 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
242
236
|
e.preventDefault();
|
|
243
237
|
this.handleEnterAndSpace(e);
|
|
244
238
|
}
|
|
239
|
+
if (isTabPrevious(e) && this._isMobileView) {
|
|
240
|
+
this.closeDropdown();
|
|
241
|
+
}
|
|
242
|
+
if ((isTabPrevious(e) || isTabNext(e)) && !this._isMobileView) {
|
|
243
|
+
this.closeDropdown();
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
handleButtonsEscKey(e: KeyboardEvent): void {
|
|
248
|
+
if (isEscape(e) && this._isMobileView) {
|
|
249
|
+
this.handleEscapeKey();
|
|
250
|
+
}
|
|
245
251
|
}
|
|
246
252
|
|
|
247
253
|
handleUpArrow(e: KeyboardEvent): void {
|
|
248
254
|
const { index } = e.target as UDExSecondaryNavigationSubItem;
|
|
249
255
|
const lastIndex = this.domNavItems.length - 1;
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
256
|
+
const previousSelectIndex = index - 1 < 0 ? lastIndex : index - 1;
|
|
257
|
+
const previousItem = this.domNavItems[previousSelectIndex];
|
|
258
|
+
const currentItem = this.domNavItems[index];
|
|
259
|
+
|
|
260
|
+
this.unsetTabIndex(currentItem);
|
|
261
|
+
this.setTabIndex(previousItem);
|
|
262
|
+
previousItem.focus();
|
|
254
263
|
}
|
|
255
264
|
|
|
256
265
|
handleDownArrow(e: KeyboardEvent): void {
|
|
257
266
|
const { index } = e.target as UDExSecondaryNavigationSubItem;
|
|
258
267
|
const nextIndex = index + 1 > this.domNavItems.length - 1 ? 0 : index + 1;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
268
|
+
const nextItem = this.domNavItems[nextIndex];
|
|
269
|
+
const currentItem = this.domNavItems[index];
|
|
270
|
+
|
|
271
|
+
this.unsetTabIndex(currentItem);
|
|
272
|
+
this.setTabIndex(nextItem);
|
|
273
|
+
nextItem.focus();
|
|
262
274
|
}
|
|
263
275
|
|
|
264
276
|
handleLeftArrow(e: KeyboardEvent): void {
|
|
@@ -270,10 +282,10 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
270
282
|
}
|
|
271
283
|
|
|
272
284
|
handleRightArrow(e: KeyboardEvent): void {
|
|
273
|
-
const { hasItems, isBack } = e.target as UDExSecondaryNavigationSubItem;
|
|
285
|
+
const { hasItems, isBack, index } = e.target as UDExSecondaryNavigationSubItem;
|
|
274
286
|
if (hasItems && !isBack) {
|
|
275
287
|
this.onSubItemClick(e);
|
|
276
|
-
this.
|
|
288
|
+
this.unsetTabIndex(this.domNavItems[index]);
|
|
277
289
|
}
|
|
278
290
|
}
|
|
279
291
|
|
|
@@ -300,6 +312,13 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
300
312
|
this.focus();
|
|
301
313
|
}
|
|
302
314
|
|
|
315
|
+
fireNavItemClickEvent(): void {
|
|
316
|
+
this.fireEvent("nav-item-click", {
|
|
317
|
+
item: this,
|
|
318
|
+
index: this.index,
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
303
322
|
setDropdownHistory(): void {
|
|
304
323
|
this._dropdownHistory.push(this._processedItems);
|
|
305
324
|
}
|
|
@@ -331,8 +350,19 @@ class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {
|
|
|
331
350
|
}
|
|
332
351
|
}
|
|
333
352
|
|
|
353
|
+
setTabIndex(item: UDExSecondaryNavigationSubItem): void {
|
|
354
|
+
item._tabIndex = "0";
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
unsetTabIndex(item: UDExSecondaryNavigationSubItem): void {
|
|
358
|
+
item._tabIndex = "-1";
|
|
359
|
+
}
|
|
360
|
+
|
|
334
361
|
onFirstSubItemFocus(): void {
|
|
335
|
-
this.domNavItems[0]
|
|
362
|
+
const firstSubItem = this.domNavItems[0];
|
|
363
|
+
|
|
364
|
+
firstSubItem.focus();
|
|
365
|
+
this.setTabIndex(firstSubItem);
|
|
336
366
|
}
|
|
337
367
|
|
|
338
368
|
onLastSubItemFocus(): void {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{{#if isBack}}
|
|
2
2
|
<button
|
|
3
|
+
tabindex="{{_tabIndex}}"
|
|
3
4
|
@click="{{onBackItemClick}}"
|
|
4
5
|
role="menuitem"
|
|
5
6
|
aria-label="{{backButtonAriaLabel}}"
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
{{else}}
|
|
16
17
|
{{#if isButton}}
|
|
17
18
|
<button
|
|
19
|
+
tabindex="{{_tabIndex}}"
|
|
18
20
|
@click="{{onItemClick}}"
|
|
19
21
|
role="menuitem"
|
|
20
22
|
aria-haspopup="{{hasItems}}"
|
|
@@ -32,6 +34,7 @@
|
|
|
32
34
|
</button>
|
|
33
35
|
{{else}}
|
|
34
36
|
<a
|
|
37
|
+
tabindex="{{_tabIndex}}"
|
|
35
38
|
@click="{{onItemClick}}"
|
|
36
39
|
role="menuitem"
|
|
37
40
|
href="{{path}}"
|
|
@@ -88,6 +88,9 @@ class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
|
|
|
88
88
|
@property({ type: Object, multiple: true })
|
|
89
89
|
nestedItems!: Array<NavItem>;
|
|
90
90
|
|
|
91
|
+
@property({ type: String, defaultValue: "-1" })
|
|
92
|
+
_tabIndex!: string;
|
|
93
|
+
|
|
91
94
|
static i18nBundle: any;
|
|
92
95
|
|
|
93
96
|
static async onDefine(): Promise<void> {
|
package/src/SegmentedButton.ts
CHANGED
|
@@ -72,7 +72,7 @@ class UDExSegmentedButton extends SegmentedButton {
|
|
|
72
72
|
this.style.setProperty(getScopedVarName("--udex-segmented-button-items-count"), `${items.length}`);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
_onmousedown(e:
|
|
75
|
+
_onmousedown(e: Event) {
|
|
76
76
|
const eventTarget = e.target as SegmentedButtonItem;
|
|
77
77
|
const isTargetSegmentedButtonItem = eventTarget.hasAttribute("udex-segmented-button-item");
|
|
78
78
|
|
|
@@ -83,7 +83,7 @@ class UDExSegmentedButton extends SegmentedButton {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
_selectItem(e:
|
|
86
|
+
_selectItem(e: Event | KeyboardEvent) {
|
|
87
87
|
// Method to be update with @ui5/webcomponents v.2.0 , due to ToggleButton dependency change (pressed -> selected)
|
|
88
88
|
const target = e.target as SegmentedButtonItem;
|
|
89
89
|
const isTargetSegmentedButtonItem = target.hasAttribute("udex-segmented-button-item");
|
package/src/SelectBox.ts
CHANGED
|
@@ -482,7 +482,7 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
482
482
|
}
|
|
483
483
|
|
|
484
484
|
handleOutsideClick(): void {
|
|
485
|
-
document.addEventListener("click", (e:
|
|
485
|
+
document.addEventListener("click", (e: Event) => {
|
|
486
486
|
if (this._tokenizer?.tokens.length > 0 && e.target !== this) {
|
|
487
487
|
this._tokenizer.expanded = false;
|
|
488
488
|
}
|
|
@@ -26,7 +26,6 @@ import SideNavigationGroupCss from "./generated/themes/SideNavigationGroup.css.j
|
|
|
26
26
|
tag: "udex-side-navigation-group",
|
|
27
27
|
renderer: litRender,
|
|
28
28
|
styles: [SideNavigationGroup.styles, SideNavigationGroupCss],
|
|
29
|
-
dependencies: [],
|
|
30
29
|
})
|
|
31
30
|
|
|
32
31
|
class UDExSideNavigationGroup extends SideNavigationGroup {}
|
|
@@ -26,7 +26,6 @@ import SideNavigationItemCss from "./generated/themes/SideNavigationItem.css.js"
|
|
|
26
26
|
tag: "udex-side-navigation-item",
|
|
27
27
|
renderer: litRender,
|
|
28
28
|
styles: [SideNavigationItem.styles, SideNavigationItemCss],
|
|
29
|
-
dependencies: [],
|
|
30
29
|
})
|
|
31
30
|
|
|
32
31
|
class UDExSideNavigationItem extends SideNavigationItem {
|
|
@@ -26,7 +26,6 @@ import SideNavigationSubItemCss from "./generated/themes/SideNavigationSubItem.c
|
|
|
26
26
|
tag: "udex-side-navigation-sub-item",
|
|
27
27
|
renderer: litRender,
|
|
28
28
|
styles: [SideNavigationSubItem.styles, SideNavigationSubItemCss],
|
|
29
|
-
dependencies: [],
|
|
30
29
|
})
|
|
31
30
|
|
|
32
31
|
class UDExSideNavigationSubItem extends SideNavigationSubItem {}
|
package/src/Slider.ts
CHANGED
package/src/StepInput.hbs
CHANGED
|
@@ -20,21 +20,6 @@
|
|
|
20
20
|
step="{{step}}"
|
|
21
21
|
></udex-text-field>
|
|
22
22
|
{{#unless displayonly}}
|
|
23
|
-
<udex-control-button
|
|
24
|
-
class="udex-step-input__button udex-step-input__button_inc"
|
|
25
|
-
title="{{incIconTitle}}"
|
|
26
|
-
accessible-name="{{incIconTitle}}"
|
|
27
|
-
icon="add"
|
|
28
|
-
size="Large"
|
|
29
|
-
design="{{valueState}}"
|
|
30
|
-
@click="{{_incValue}}"
|
|
31
|
-
@mousedown="{{_incSpin}}"
|
|
32
|
-
@mouseup="{{_resetSpin}}"
|
|
33
|
-
@mouseout="{{_resetSpinOut}}"
|
|
34
|
-
?disabled="{{_incIconInactive}}"
|
|
35
|
-
?active="{{incIconActive}}"
|
|
36
|
-
?readonly="{{readonly}}"
|
|
37
|
-
></udex-control-button>
|
|
38
23
|
<udex-control-button
|
|
39
24
|
class="udex-step-input__button udex-step-input__button_dec"
|
|
40
25
|
title="{{decIconTitle}}"
|
|
@@ -50,5 +35,20 @@
|
|
|
50
35
|
?active="{{decIconActive}}"
|
|
51
36
|
?readonly="{{readonly}}"
|
|
52
37
|
></udex-control-button>
|
|
38
|
+
<udex-control-button
|
|
39
|
+
class="udex-step-input__button udex-step-input__button_inc"
|
|
40
|
+
title="{{incIconTitle}}"
|
|
41
|
+
accessible-name="{{incIconTitle}}"
|
|
42
|
+
icon="add"
|
|
43
|
+
size="Large"
|
|
44
|
+
design="{{valueState}}"
|
|
45
|
+
@click="{{_incValue}}"
|
|
46
|
+
@mousedown="{{_incSpin}}"
|
|
47
|
+
@mouseup="{{_resetSpin}}"
|
|
48
|
+
@mouseout="{{_resetSpinOut}}"
|
|
49
|
+
?disabled="{{_incIconInactive}}"
|
|
50
|
+
?active="{{incIconActive}}"
|
|
51
|
+
?readonly="{{readonly}}"
|
|
52
|
+
></udex-control-button>
|
|
53
53
|
{{/unless}}
|
|
54
|
-
</div>
|
|
54
|
+
</div>
|
package/src/TabNavigation.ts
CHANGED
|
@@ -261,12 +261,12 @@ class UDExTabNavigation extends UI5Element {
|
|
|
261
261
|
onAfterRendering(): void {
|
|
262
262
|
if (this.items.length) {
|
|
263
263
|
this.setItemsInHeader();
|
|
264
|
-
this.initOutsideClick();
|
|
265
264
|
this.setVisibleTabs();
|
|
266
265
|
this.applyTabIndex();
|
|
267
266
|
} else {
|
|
268
|
-
|
|
267
|
+
console.warn("You have to add the 'udex-tab' as a default slot to the udex-tab-navigation.");
|
|
269
268
|
}
|
|
269
|
+
this.initOutsideClick();
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
initOutsideClick() {
|
package/src/Tag.ts
CHANGED
|
@@ -11,6 +11,7 @@ import TagTemplate from "./generated/templates/TagTemplate.lit.js";
|
|
|
11
11
|
|
|
12
12
|
// Styles
|
|
13
13
|
import TagCss from "./generated/themes/Tag.css";
|
|
14
|
+
import IconPlacement from "./types/IconPlacement.js";
|
|
14
15
|
|
|
15
16
|
export enum TagType {
|
|
16
17
|
Text = "Text",
|
|
@@ -19,11 +20,6 @@ export enum TagType {
|
|
|
19
20
|
Grey = "Grey"
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
export enum IconPlacement {
|
|
23
|
-
Start = "Start",
|
|
24
|
-
End = "End"
|
|
25
|
-
}
|
|
26
|
-
|
|
27
23
|
export enum TagSize {
|
|
28
24
|
Small = "Small",
|
|
29
25
|
Medium = "Medium"
|
package/src/Tile.ts
CHANGED
|
@@ -35,7 +35,7 @@ type AnchorNode = HTMLAnchorElement | undefined | null;
|
|
|
35
35
|
*/
|
|
36
36
|
@event("click", {
|
|
37
37
|
detail: {
|
|
38
|
-
originalEvent: { type:
|
|
38
|
+
originalEvent: { type: Event },
|
|
39
39
|
},
|
|
40
40
|
})
|
|
41
41
|
class UDExTile extends UI5Element {
|
|
@@ -126,7 +126,7 @@ class UDExTile extends UI5Element {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
_onclick(e:
|
|
129
|
+
_onclick(e: Event) {
|
|
130
130
|
e.stopImmediatePropagation();
|
|
131
131
|
|
|
132
132
|
if (this.interactive) {
|
package/src/Toast.ts
CHANGED
|
@@ -2,12 +2,13 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
|
|
|
2
2
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
3
3
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
4
4
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
5
|
+
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
5
6
|
import Toast from "@ui5/webcomponents/dist/Toast.js";
|
|
6
|
-
import "@ui5/webcomponents/dist/Icon.js";
|
|
7
|
+
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
7
8
|
import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
8
9
|
import "@ui5/webcomponents-icons/dist/error.js";
|
|
9
10
|
import "@ui5/webcomponents-icons/dist/alert.js";
|
|
10
|
-
import
|
|
11
|
+
import UDExButton from "./Button.js";
|
|
11
12
|
|
|
12
13
|
import ToastTemplate from "./generated/templates/ToastTemplate.lit.js";
|
|
13
14
|
|
|
@@ -43,7 +44,7 @@ export enum ToastValueState {
|
|
|
43
44
|
renderer: litRender,
|
|
44
45
|
styles: [Toast.styles, ToastCss],
|
|
45
46
|
template: ToastTemplate,
|
|
46
|
-
dependencies: [
|
|
47
|
+
dependencies: [Icon, UDExButton],
|
|
47
48
|
})
|
|
48
49
|
|
|
49
50
|
/**
|
package/src/Wizard.hbs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
aria-label="{{ariaLabelText}}"
|
|
4
4
|
role="region"
|
|
5
5
|
?indeterminate="{{indeterminate}}"
|
|
6
|
+
part="ui5-wiz-root"
|
|
6
7
|
>
|
|
7
8
|
<nav class="ui5-wiz-nav" part="navigator" aria-label="{{navAriaLabelText}}" tabindex="-1">
|
|
8
9
|
<div class="ui5-wiz-nav-list" role="list" aria-label="{{listAriaLabelText}}" aria-describedby="wiz-nav-descr" aria-controls="{{_id}}-wiz-content">
|
package/src/Wizard.ts
CHANGED
|
@@ -49,7 +49,7 @@ const RESPONSIVE_BREAKPOINTS: ResponsiveBreakpoints = {
|
|
|
49
49
|
renderer: litRender,
|
|
50
50
|
template: WizardTemplate,
|
|
51
51
|
styles: [wizardCss, WizardCss],
|
|
52
|
-
dependencies: [Wizard, UDExWizardTab, UDExWizardStep],
|
|
52
|
+
dependencies: [...Wizard.dependencies, UDExWizardTab, UDExWizardStep],
|
|
53
53
|
})
|
|
54
54
|
|
|
55
55
|
class UDExWizard extends Wizard {
|