@sapudex/web-components 0.147.0 → 0.172.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/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-981c5cbb.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/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/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/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/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/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/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/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/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/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/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/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/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
|
@@ -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 {
|
package/src/WizardTab.ts
CHANGED
|
@@ -2,6 +2,9 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element";
|
|
|
2
2
|
import { registerFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
|
|
3
3
|
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
4
4
|
import Popover from "@ui5/webcomponents/dist/Popover.js";
|
|
5
|
+
import isLetterKey from "../utils/isLetterKeyPressed.js";
|
|
6
|
+
import listItemLabelStartsWithKeyFocus from "../utils/listItemLabelStartsWithKeyFocus.js";
|
|
7
|
+
import { LetterPressedHandlerObj } from "../types/List.js";
|
|
5
8
|
|
|
6
9
|
interface SuggestionComponent extends UI5Element {
|
|
7
10
|
open: boolean;
|
|
@@ -28,6 +31,12 @@ class Suggestion {
|
|
|
28
31
|
focusabledList?: HTMLDivElement;
|
|
29
32
|
lists?: Array<HTMLDivElement>;
|
|
30
33
|
|
|
34
|
+
_pressedKey!: string;
|
|
35
|
+
_pressedCount!: number;
|
|
36
|
+
_lastFoundPosition!: number;
|
|
37
|
+
_focusableListItems!: Array<Element>;
|
|
38
|
+
_letterKeyHandlerObj!: LetterPressedHandlerObj;
|
|
39
|
+
|
|
31
40
|
constructor(component: SuggestionComponent) {
|
|
32
41
|
this.component = component;
|
|
33
42
|
this._getSuggestionPopover();
|
|
@@ -56,6 +65,63 @@ class Suggestion {
|
|
|
56
65
|
this._getComponent().open = true;
|
|
57
66
|
this.popover!.showAt(this._getComponent());
|
|
58
67
|
this.initLists();
|
|
68
|
+
this._focusableListItems = this._getItems();
|
|
69
|
+
this._letterKeyHandlerObj = this.getLetterKeyObjHandler();
|
|
70
|
+
this.resetFocusLetterHandlers();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
setPressedKey(value:string): void {
|
|
74
|
+
this._pressedKey = value;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
getPressedKey(): string {
|
|
78
|
+
return this._pressedKey;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
setPressedCount(value:number): void {
|
|
82
|
+
this._pressedCount = value;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
getPressedCount() : number {
|
|
86
|
+
return this._pressedCount;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
setLastFoundPosition(value:number): void {
|
|
90
|
+
this._lastFoundPosition = value;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
getLastFoundPosition(): number {
|
|
94
|
+
return this._lastFoundPosition;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
resetFocusLetterHandlers(): void {
|
|
98
|
+
this.setPressedCount(0);
|
|
99
|
+
this.setPressedKey("");
|
|
100
|
+
this.setLastFoundPosition(0);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
handleKeyPress(e: KeyboardEvent): void {
|
|
104
|
+
const key = e.key;
|
|
105
|
+
if (isLetterKey(key)) {
|
|
106
|
+
e.preventDefault();
|
|
107
|
+
e.stopPropagation();
|
|
108
|
+
this.handleLetterKey(e);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
getLetterKeyObjHandler(): LetterPressedHandlerObj {
|
|
113
|
+
return {
|
|
114
|
+
getPressedKey: () => this.getPressedKey(),
|
|
115
|
+
setPressedKey: (arg: string) => this.setPressedKey(arg),
|
|
116
|
+
getPressedCount: () => this.getPressedCount(),
|
|
117
|
+
setPressedCount: (arg: number) => this.setPressedCount(arg),
|
|
118
|
+
getLastFoundPosition: () => this.getLastFoundPosition(),
|
|
119
|
+
setLastFoundPosition: (arg: number) => this.setLastFoundPosition(arg),
|
|
120
|
+
} as LetterPressedHandlerObj;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
handleLetterKey(event: KeyboardEvent): void {
|
|
124
|
+
listItemLabelStartsWithKeyFocus(event.key, this._focusableListItems, this._letterKeyHandlerObj);
|
|
59
125
|
}
|
|
60
126
|
|
|
61
127
|
initLists(): void {
|
|
@@ -106,7 +172,7 @@ class Suggestion {
|
|
|
106
172
|
}
|
|
107
173
|
}
|
|
108
174
|
|
|
109
|
-
getFocusableItems() {
|
|
175
|
+
getFocusableItems(): Element[] {
|
|
110
176
|
const items = this.focusabledList?.children ? this.focusabledList?.children : [];
|
|
111
177
|
return Array.from(items);
|
|
112
178
|
}
|