@sapudex/web-components 2.56.0 → 2.58.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/README.md +258 -0
- package/cypress/specs/FilterMenu.cy.tsx +209 -19
- package/cypress/specs/List.cy.tsx +67 -4
- package/cypress/specs/ListItem.cy.tsx +35 -9
- package/cypress/specs/SelectBox.cy.tsx +100 -0
- package/cypress/specs/TabNavigation.cy.tsx +297 -21
- package/cypress/specs/TagGroup.cy.tsx +35 -0
- package/dist/Carousel.d.ts +9 -3
- package/dist/Carousel.js +35 -6
- package/dist/Carousel.js.map +1 -1
- package/dist/CarouselTemplate.js +3 -3
- package/dist/CarouselTemplate.js.map +1 -1
- package/dist/List.d.ts +15 -1
- package/dist/List.js +23 -2
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +13 -0
- package/dist/ListGroupHeaderBase.js +43 -2
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListGroupHeaderTemplate.js +26 -7
- package/dist/ListGroupHeaderTemplate.js.map +1 -1
- package/dist/ListItem.d.ts +0 -3
- package/dist/ListItem.js +18 -12
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +17 -0
- package/dist/ListItemBase.js +15 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemTemplate.js +2 -2
- package/dist/ListItemTemplate.js.map +1 -1
- package/dist/MastheadCountrySelector.js +5 -5
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadCountrySelectorTemplate.d.ts +2 -0
- package/dist/MastheadCountrySelectorTemplate.js +15 -0
- package/dist/MastheadCountrySelectorTemplate.js.map +1 -0
- package/dist/MastheadItem.d.ts +0 -3
- package/dist/MastheadItem.js +3 -6
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadItemTemplate.d.ts +2 -0
- package/dist/MastheadItemTemplate.js +41 -0
- package/dist/MastheadItemTemplate.js.map +1 -0
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +4 -6
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +0 -3
- package/dist/MastheadMenuItem.js +3 -6
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMenuItemTemplate.d.ts +2 -0
- package/dist/MastheadMenuItemTemplate.js +36 -0
- package/dist/MastheadMenuItemTemplate.js.map +1 -0
- package/dist/MastheadMenuTemplate.d.ts +2 -0
- package/dist/MastheadMenuTemplate.js +13 -0
- package/dist/MastheadMenuTemplate.js.map +1 -0
- package/dist/MastheadMobileMenu.js +3 -3
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadMobileMenuTemplate.d.ts +2 -0
- package/dist/MastheadMobileMenuTemplate.js +33 -0
- package/dist/MastheadMobileMenuTemplate.js.map +1 -0
- package/dist/MastheadProfileMenu.d.ts +2 -4
- package/dist/MastheadProfileMenu.js +5 -20
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadProfileMenuTemplate.d.ts +2 -0
- package/dist/MastheadProfileMenuTemplate.js +24 -0
- package/dist/MastheadProfileMenuTemplate.js.map +1 -0
- package/dist/MastheadShell.js +3 -5
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MastheadShellTemplate.d.ts +2 -0
- package/dist/MastheadShellTemplate.js +20 -0
- package/dist/MastheadShellTemplate.js.map +1 -0
- package/dist/SearchableListBase.d.ts +10 -0
- package/dist/SearchableListBase.js +34 -1
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +35 -4
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -0
- package/dist/SecondaryNavigation.js +20 -6
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SelectBase.js +8 -3
- package/dist/SelectBase.js.map +1 -1
- package/dist/Tab.d.ts +0 -7
- package/dist/Tab.js +4 -19
- package/dist/Tab.js.map +1 -1
- package/dist/TabHeaderTemplate.d.ts +2 -0
- package/dist/TabHeaderTemplate.js +15 -0
- package/dist/TabHeaderTemplate.js.map +1 -0
- package/dist/TabInOverflowTemplate.d.ts +2 -0
- package/dist/TabInOverflowTemplate.js +7 -0
- package/dist/TabInOverflowTemplate.js.map +1 -0
- package/dist/TabNavigation.d.ts +6 -6
- package/dist/TabNavigation.js +56 -42
- package/dist/TabNavigation.js.map +1 -1
- package/dist/TabNavigationPopoverTemplate.d.ts +2 -0
- package/dist/TabNavigationPopoverTemplate.js +9 -0
- package/dist/TabNavigationPopoverTemplate.js.map +1 -0
- package/dist/TabNavigationTemplate.d.ts +2 -0
- package/dist/TabNavigationTemplate.js +10 -0
- package/dist/TabNavigationTemplate.js.map +1 -0
- package/dist/TabTemplate.d.ts +2 -0
- package/dist/TabTemplate.js +5 -0
- package/dist/TabTemplate.js.map +1 -0
- package/dist/Tag.d.ts +1 -0
- package/dist/Tag.js +6 -0
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.js +4 -2
- package/dist/TagGroup.js.map +1 -1
- package/dist/assets/{InputSuggestions-ChhTxYh4.js → InputSuggestions-CMYjJsHw.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-Bh1HxZfH.js → ListItemStandardExpandableTextTemplate-D2i8wWuR.js} +1 -1
- package/dist/assets/{bundle.esm-DCX_ohoZ.js → bundle.esm-BjN47C_y.js} +242 -242
- package/dist/assets/messagebundle_ar-BvIvqOKJ.js +1 -0
- package/dist/assets/messagebundle_bg-CbE9TJP3.js +1 -0
- package/dist/assets/messagebundle_cs-D7sDCnrw.js +1 -0
- package/dist/assets/messagebundle_da-BKcG2gb3.js +1 -0
- package/dist/assets/messagebundle_de-CqojOAqG.js +1 -0
- package/dist/assets/messagebundle_el-DLfp0_Vm.js +1 -0
- package/dist/assets/messagebundle_en-B7YJOdQz.js +1 -0
- package/dist/assets/messagebundle_es-dcaagZn0.js +1 -0
- package/dist/assets/messagebundle_et-XYXhCdvm.js +1 -0
- package/dist/assets/messagebundle_fi-Dffg0zEq.js +1 -0
- package/dist/assets/messagebundle_fr-CW8ENL86.js +1 -0
- package/dist/assets/messagebundle_hr-onMgZwRd.js +1 -0
- package/dist/assets/messagebundle_hu-BPDuHAe0.js +1 -0
- package/dist/assets/messagebundle_it-BcfXVW1A.js +1 -0
- package/dist/assets/messagebundle_ja-EWp-Nkd9.js +1 -0
- package/dist/assets/messagebundle_ko-BKQ27UJW.js +1 -0
- package/dist/assets/messagebundle_lt-A-f2EeMY.js +1 -0
- package/dist/assets/messagebundle_lv-CHVU_rnx.js +1 -0
- package/dist/assets/messagebundle_nl-gmf1np1i.js +1 -0
- package/dist/assets/messagebundle_no-CazfcIRA.js +1 -0
- package/dist/assets/messagebundle_pl-iv_zMkL4.js +1 -0
- package/dist/assets/messagebundle_pt-usY49ESJ.js +1 -0
- package/dist/assets/messagebundle_pt_PT-DTLEUiTC.js +1 -0
- package/dist/assets/messagebundle_ro-BHeGIHaV.js +1 -0
- package/dist/assets/messagebundle_ru-DJB1z_R0.js +1 -0
- package/dist/assets/messagebundle_sk-DlNIpzr3.js +1 -0
- package/dist/assets/messagebundle_sl-Day075Cf.js +1 -0
- package/dist/assets/messagebundle_sr-iI_TwIHf.js +1 -0
- package/dist/assets/messagebundle_sv-BPj73b5X.js +1 -0
- package/dist/assets/messagebundle_tr-DpdBqQtI.js +1 -0
- package/dist/assets/messagebundle_uk-CT4EqEBF.js +1 -0
- package/dist/assets/messagebundle_zh_CN-B_42cWcu.js +1 -0
- package/dist/assets/messagebundle_zh_TW-D25iNCcy.js +1 -0
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/css/themes/PromoTile.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabNavigation.css +1 -1
- package/dist/css/themes/Tooltip.css +1 -1
- package/dist/custom-elements-internal.json +12 -12
- package/dist/custom-elements.json +12 -12
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- 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 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -9
- package/dist/generated/i18n/i18n-defaults.js +3 -9
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +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/Carousel.css.d.ts +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/PromoTile.css.d.ts +1 -1
- package/dist/generated/themes/PromoTile.css.js +1 -1
- package/dist/generated/themes/PromoTile.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabNavigation.css.d.ts +1 -1
- package/dist/generated/themes/TabNavigation.css.js +1 -1
- package/dist/generated/themes/TabNavigation.css.js.map +1 -1
- package/dist/generated/themes/Tooltip.css.d.ts +1 -1
- package/dist/generated/themes/Tooltip.css.js +1 -1
- package/dist/generated/themes/Tooltip.css.js.map +1 -1
- package/dist/messagebundle.properties +4 -10
- package/dist/messagebundle_ar.properties +0 -6
- package/dist/messagebundle_bg.properties +0 -8
- package/dist/messagebundle_cs.properties +0 -8
- package/dist/messagebundle_da.properties +0 -8
- package/dist/messagebundle_de.properties +0 -8
- package/dist/messagebundle_el.properties +0 -8
- package/dist/messagebundle_en.properties +2 -8
- package/dist/messagebundle_es.properties +0 -8
- package/dist/messagebundle_et.properties +0 -8
- package/dist/messagebundle_fi.properties +0 -8
- package/dist/messagebundle_fr.properties +0 -8
- package/dist/messagebundle_hr.properties +0 -8
- package/dist/messagebundle_hu.properties +0 -8
- package/dist/messagebundle_it.properties +0 -8
- package/dist/messagebundle_ja.properties +0 -8
- package/dist/messagebundle_ko.properties +0 -8
- package/dist/messagebundle_lt.properties +0 -8
- package/dist/messagebundle_lv.properties +0 -8
- package/dist/messagebundle_nl.properties +0 -8
- package/dist/messagebundle_no.properties +0 -8
- package/dist/messagebundle_pl.properties +0 -8
- package/dist/messagebundle_pt.properties +0 -8
- package/dist/messagebundle_pt_PT.properties +0 -8
- package/dist/messagebundle_ro.properties +0 -8
- package/dist/messagebundle_ru.properties +0 -8
- package/dist/messagebundle_sk.properties +0 -8
- package/dist/messagebundle_sl.properties +0 -7
- package/dist/messagebundle_sr.properties +0 -8
- package/dist/messagebundle_sv.properties +0 -8
- package/dist/messagebundle_tr.properties +0 -8
- package/dist/messagebundle_uk.properties +0 -8
- package/dist/messagebundle_zh_CN.properties +0 -8
- package/dist/messagebundle_zh_TW.properties +0 -8
- package/dist/vscode.html-custom-data.json +10 -2
- package/dist/web-types.json +6 -6
- package/package.json +1 -1
- package/src/Carousel.ts +51 -8
- package/src/CarouselTemplate.tsx +7 -7
- package/src/List.ts +24 -2
- package/src/ListGroupHeaderBase.ts +44 -2
- package/src/ListGroupHeaderTemplate.tsx +74 -23
- package/src/ListItem.ts +18 -15
- package/src/ListItemBase.ts +30 -0
- package/src/ListItemTemplate.tsx +4 -4
- package/src/MastheadCountrySelector.ts +5 -5
- package/src/MastheadCountrySelectorTemplate.tsx +98 -0
- package/src/MastheadItem.ts +3 -6
- package/src/MastheadItemTemplate.tsx +178 -0
- package/src/MastheadMenu.ts +5 -6
- package/src/MastheadMenuItem.ts +3 -7
- package/src/MastheadMenuItemTemplate.tsx +123 -0
- package/src/MastheadMenuTemplate.tsx +142 -0
- package/src/MastheadMobileMenu.ts +3 -3
- package/src/MastheadMobileMenuTemplate.tsx +274 -0
- package/src/MastheadProfileMenu.ts +10 -23
- package/src/MastheadProfileMenuTemplate.tsx +143 -0
- package/src/MastheadShell.ts +3 -5
- package/src/MastheadShellTemplate.tsx +228 -0
- package/src/SearchableListBase.ts +37 -1
- package/src/SearchableListBaseTemplate.tsx +38 -2
- package/src/SecondaryNavigation.ts +21 -6
- package/src/SelectBase.ts +8 -3
- package/src/Tab.ts +4 -24
- package/src/TabHeaderTemplate.tsx +153 -0
- package/src/TabInOverflowTemplate.tsx +68 -0
- package/src/TabNavigation.ts +64 -46
- package/src/TabNavigationPopoverTemplate.tsx +27 -0
- package/src/TabNavigationTemplate.tsx +98 -0
- package/src/TabTemplate.tsx +7 -0
- package/src/Tag.ts +7 -0
- package/src/TagGroup.ts +4 -2
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/Carousel.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/generated/themes/PromoTile.css.ts +1 -1
- package/src/generated/themes/Switch.css.ts +1 -1
- package/src/generated/themes/TabInOverflow.css.ts +1 -1
- package/src/generated/themes/TabNavigation.css.ts +1 -1
- package/src/generated/themes/Tooltip.css.ts +1 -1
- package/src/i18n/messagebundle.properties +4 -10
- package/src/i18n/messagebundle_ar.properties +0 -6
- package/src/i18n/messagebundle_bg.properties +0 -8
- package/src/i18n/messagebundle_cs.properties +0 -8
- package/src/i18n/messagebundle_da.properties +0 -8
- package/src/i18n/messagebundle_de.properties +0 -8
- package/src/i18n/messagebundle_el.properties +0 -8
- package/src/i18n/messagebundle_en.properties +2 -8
- package/src/i18n/messagebundle_es.properties +0 -8
- package/src/i18n/messagebundle_et.properties +0 -8
- package/src/i18n/messagebundle_fi.properties +0 -8
- package/src/i18n/messagebundle_fr.properties +0 -8
- package/src/i18n/messagebundle_hr.properties +0 -8
- package/src/i18n/messagebundle_hu.properties +0 -8
- package/src/i18n/messagebundle_it.properties +0 -8
- package/src/i18n/messagebundle_ja.properties +0 -8
- package/src/i18n/messagebundle_ko.properties +0 -8
- package/src/i18n/messagebundle_lt.properties +0 -8
- package/src/i18n/messagebundle_lv.properties +0 -8
- package/src/i18n/messagebundle_nl.properties +0 -8
- package/src/i18n/messagebundle_no.properties +0 -8
- package/src/i18n/messagebundle_pl.properties +0 -8
- package/src/i18n/messagebundle_pt.properties +0 -8
- package/src/i18n/messagebundle_pt_PT.properties +0 -8
- package/src/i18n/messagebundle_ro.properties +0 -8
- package/src/i18n/messagebundle_ru.properties +0 -8
- package/src/i18n/messagebundle_sk.properties +0 -8
- package/src/i18n/messagebundle_sl.properties +0 -7
- package/src/i18n/messagebundle_sr.properties +0 -8
- package/src/i18n/messagebundle_sv.properties +0 -8
- package/src/i18n/messagebundle_tr.properties +0 -8
- package/src/i18n/messagebundle_uk.properties +0 -8
- package/src/i18n/messagebundle_zh_CN.properties +0 -8
- package/src/i18n/messagebundle_zh_TW.properties +0 -8
- package/src/themes/Button.css +2 -1
- package/src/themes/Carousel.css +17 -10
- package/src/themes/ListGroupHeader.css +50 -7
- package/src/themes/PromoTile.css +1 -0
- package/src/themes/Switch.css +2 -2
- package/src/themes/TabInOverflow.css +9 -4
- package/src/themes/TabNavigation.css +1 -0
- package/src/themes/Tooltip.css +5 -4
- package/dist/assets/messagebundle_ar-BUZ_gTvQ.js +0 -1
- package/dist/assets/messagebundle_bg-4ainC3nj.js +0 -1
- package/dist/assets/messagebundle_cs-CFtmLavu.js +0 -1
- package/dist/assets/messagebundle_da-BHL-qTPd.js +0 -1
- package/dist/assets/messagebundle_de-SMiMT-ST.js +0 -1
- package/dist/assets/messagebundle_el-ChAszJ4A.js +0 -1
- package/dist/assets/messagebundle_en-B0P3kkb6.js +0 -1
- package/dist/assets/messagebundle_es-LGmRBKqB.js +0 -1
- package/dist/assets/messagebundle_et-yYsmBPXN.js +0 -1
- package/dist/assets/messagebundle_fi-DeMNrHC9.js +0 -1
- package/dist/assets/messagebundle_fr-qEm5Eykz.js +0 -1
- package/dist/assets/messagebundle_hr-NBdiYo-T.js +0 -1
- package/dist/assets/messagebundle_hu-CBV3ISbF.js +0 -1
- package/dist/assets/messagebundle_it-BML2SC0W.js +0 -1
- package/dist/assets/messagebundle_ja-zyFfZHcj.js +0 -1
- package/dist/assets/messagebundle_ko-BCPaSqNp.js +0 -1
- package/dist/assets/messagebundle_lt-DB4b6FVx.js +0 -1
- package/dist/assets/messagebundle_lv-tAOia5tU.js +0 -1
- package/dist/assets/messagebundle_nl-BKUpVV-D.js +0 -1
- package/dist/assets/messagebundle_no-BZQfeWxT.js +0 -1
- package/dist/assets/messagebundle_pl-CsXeN1y6.js +0 -1
- package/dist/assets/messagebundle_pt-D9rap3lj.js +0 -1
- package/dist/assets/messagebundle_pt_PT-CQ5YAsmx.js +0 -1
- package/dist/assets/messagebundle_ro-BTNJ9YdP.js +0 -1
- package/dist/assets/messagebundle_ru-BTDmH8CB.js +0 -1
- package/dist/assets/messagebundle_sk-Lb4jvtpc.js +0 -1
- package/dist/assets/messagebundle_sl-BZi2bKSy.js +0 -1
- package/dist/assets/messagebundle_sr-B9TYgxO1.js +0 -1
- package/dist/assets/messagebundle_sv-DWlY9RTQ.js +0 -1
- package/dist/assets/messagebundle_tr-DOeCmUdx.js +0 -1
- package/dist/assets/messagebundle_uk-CCv57GhV.js +0 -1
- package/dist/assets/messagebundle_zh_CN-CHwH3F3-.js +0 -1
- package/dist/assets/messagebundle_zh_TW-FO0BCkub.js +0 -1
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +0 -13
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js +0 -43
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +0 -21
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +0 -25
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +0 -37
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +0 -18
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadShellTemplate.lit.js +0 -28
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabHeaderTemplate.lit.js +0 -52
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -15
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -8
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabNavigationTemplate.lit.js +0 -16
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabTemplate.lit.js +0 -7
- package/dist/generated/templates/TabTemplate.lit.js.map +0 -1
- package/src/MastheadCountrySelector.hbs +0 -76
- package/src/MastheadItem.hbs +0 -136
- package/src/MastheadMenu.hbs +0 -131
- package/src/MastheadMenuItem.hbs +0 -102
- package/src/MastheadMobileMenu.hbs +0 -253
- package/src/MastheadProfileMenu.hbs +0 -121
- package/src/MastheadShell.hbs +0 -223
- package/src/Tab.hbs +0 -1
- package/src/TabHeader.hbs +0 -141
- package/src/TabInOverflow.hbs +0 -59
- package/src/TabNavigation.hbs +0 -86
- package/src/TabNavigationPopover.hbs +0 -18
- package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +0 -17
- package/src/generated/templates/MastheadItemTemplate.lit.ts +0 -47
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +0 -25
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +0 -29
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +0 -41
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +0 -22
- package/src/generated/templates/MastheadShellTemplate.lit.ts +0 -32
- package/src/generated/templates/TabHeaderTemplate.lit.ts +0 -56
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +0 -19
- package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +0 -12
- package/src/generated/templates/TabNavigationTemplate.lit.ts +0 -20
- package/src/generated/templates/TabTemplate.lit.ts +0 -11
|
@@ -45,8 +45,10 @@ const collapsibleListRadioGroup = <UDExList id="list-group-header-collapsible" m
|
|
|
45
45
|
</UDExList>;
|
|
46
46
|
|
|
47
47
|
// Regression fixture: grouped MultiSelect list WITHOUT any collapsible group header.
|
|
48
|
-
// This
|
|
49
|
-
//
|
|
48
|
+
// This stays on the listbox pattern (role="listbox", items role="option") because
|
|
49
|
+
// _hasCollapsibleGroups is false — it does NOT enter the tree pattern. As a
|
|
50
|
+
// MultiSelect listbox it still exposes aria-multiselectable="true" so each option's
|
|
51
|
+
// aria-selected state is announced.
|
|
50
52
|
const nonCollapsibleList = <UDExList id="list-group-header-non-collapsible" mode="MultiSelect">
|
|
51
53
|
<UDExListGroupHeader id="group-header-non-collapsible" supporting-text="Supporting text" label="Group Header">
|
|
52
54
|
<UDExListItem>List Item1</UDExListItem>
|
|
@@ -344,6 +346,14 @@ describe("List - collapsible group header uses tree pattern", () => {
|
|
|
344
346
|
.and("have.attr", "aria-expanded", "true");
|
|
345
347
|
});
|
|
346
348
|
|
|
349
|
+
it("MultiSelect collapsible header: renders the role=\"group\" content region as a sibling of the header (not nested in the item)", () => {
|
|
350
|
+
cy.mount(collapsibleList);
|
|
351
|
+
cy.get("#group-header-collapsible").shadow()
|
|
352
|
+
.find("udex-list-item").should("not.have.attr", "_subtree");
|
|
353
|
+
cy.get("#group-header-collapsible").shadow()
|
|
354
|
+
.find(".udex-list__group-list > .udex-list__group-list__content[role='group']").should("exist");
|
|
355
|
+
});
|
|
356
|
+
|
|
347
357
|
it("SingleSelect collapsible header: plain div gets role=\"treeitem\"", () => {
|
|
348
358
|
cy.mount(collapsibleListSingleSelect);
|
|
349
359
|
// SingleSelect => useListItemHeader=false => plain .udex-list__group-content <div>,
|
|
@@ -352,6 +362,20 @@ describe("List - collapsible group header uses tree pattern", () => {
|
|
|
352
362
|
.find(".udex-list__group-content").should("have.attr", "role", "treeitem");
|
|
353
363
|
});
|
|
354
364
|
|
|
365
|
+
it("SingleSelect collapsible header: nests the role=\"group\" content region inside the treeitem (conformant tree)", () => {
|
|
366
|
+
cy.mount(collapsibleListSingleSelect);
|
|
367
|
+
cy.get("#group-header-collapsible").shadow()
|
|
368
|
+
.find(".udex-list__group-list > .udex-list__group-content--nested[role='treeitem']").should("exist");
|
|
369
|
+
// The content region is a descendant of the treeitem, not a sibling.
|
|
370
|
+
cy.get("#group-header-collapsible").shadow()
|
|
371
|
+
.find(".udex-list__group-content--nested[role='treeitem'] .udex-list__group-list__content[role='group']").should("exist");
|
|
372
|
+
cy.get("#group-header-collapsible").shadow()
|
|
373
|
+
.find(".udex-list__group-list > .udex-list__group-list__content[role='group']").should("not.exist");
|
|
374
|
+
// The visible header row wrapper now sits inside the treeitem.
|
|
375
|
+
cy.get("#group-header-collapsible").shadow()
|
|
376
|
+
.find(".udex-list__group-content--nested[role='treeitem'] > .udex-list__group-header-row").should("exist");
|
|
377
|
+
});
|
|
378
|
+
|
|
355
379
|
it("child items expose accessible-role=\"treeitem\" on the host", () => {
|
|
356
380
|
cy.mount(collapsibleList);
|
|
357
381
|
cy.get("#group-header-collapsible").find("udex-list-item")
|
|
@@ -372,9 +396,9 @@ describe("List - collapsible group header uses tree pattern", () => {
|
|
|
372
396
|
innerList().should("have.attr", "role", "listbox");
|
|
373
397
|
});
|
|
374
398
|
|
|
375
|
-
it("non-collapsible
|
|
399
|
+
it("non-collapsible MultiSelect list exposes aria-multiselectable=\"true\" but stays out of tree mode", () => {
|
|
376
400
|
cy.mount(nonCollapsibleList);
|
|
377
|
-
innerList().should("
|
|
401
|
+
innerList().should("have.attr", "aria-multiselectable", "true");
|
|
378
402
|
cy.get("#group-header-non-collapsible").should("not.have.attr", "_tree-mode");
|
|
379
403
|
});
|
|
380
404
|
|
|
@@ -385,6 +409,45 @@ describe("List - collapsible group header uses tree pattern", () => {
|
|
|
385
409
|
});
|
|
386
410
|
});
|
|
387
411
|
|
|
412
|
+
// Added: flat MultiSelect list follows the WAI-ARIA multi-select listbox pattern —
|
|
413
|
+
// the listbox is aria-multiselectable and each option carries aria-selected (instead
|
|
414
|
+
// of relying on the decorative checkbox for state). This makes the screen reader
|
|
415
|
+
// announce the selected/not-selected state ONCE (no duplicate from the checkbox) and,
|
|
416
|
+
// crucially, re-announce it when Enter/Space toggles the focused option.
|
|
417
|
+
describe("List - flat MultiSelect selection announcement", () => {
|
|
418
|
+
const flatMultiSelect = (
|
|
419
|
+
<UDExList id="flat-multi" mode="MultiSelect">
|
|
420
|
+
<UDExListItem id="flat-multi-item-1">List Item1</UDExListItem>
|
|
421
|
+
<UDExListItem id="flat-multi-item-2">List Item2</UDExListItem>
|
|
422
|
+
</UDExList>
|
|
423
|
+
);
|
|
424
|
+
|
|
425
|
+
it("options expose aria-selected and the checkbox is aria-hidden (no double state announcement)", () => {
|
|
426
|
+
cy.mount(flatMultiSelect);
|
|
427
|
+
|
|
428
|
+
cy.get("#flat-multi-item-1").shadow().find("[part=item]")
|
|
429
|
+
.should("have.attr", "role", "option")
|
|
430
|
+
.and("have.attr", "aria-selected", "false");
|
|
431
|
+
cy.get("#flat-multi-item-1").shadow().find("udex-checkbox")
|
|
432
|
+
.should("have.attr", "aria-hidden");
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
it("Enter on a focused option flips its aria-selected (state change is announced)", () => {
|
|
436
|
+
cy.mount(flatMultiSelect);
|
|
437
|
+
|
|
438
|
+
cy.get("#flat-multi-item-1").shadow().find("[part=item]").focus();
|
|
439
|
+
cy.realPress("Enter");
|
|
440
|
+
|
|
441
|
+
cy.get("#flat-multi-item-1").shadow().find("[part=item]")
|
|
442
|
+
.should("have.attr", "aria-selected", "true");
|
|
443
|
+
|
|
444
|
+
cy.realPress("Enter");
|
|
445
|
+
|
|
446
|
+
cy.get("#flat-multi-item-1").shadow().find("[part=item]")
|
|
447
|
+
.should("have.attr", "aria-selected", "false");
|
|
448
|
+
});
|
|
449
|
+
});
|
|
450
|
+
|
|
388
451
|
describe("List component - SingleContent accessible name", () => {
|
|
389
452
|
it("uses accessible-name as aria-label when only accessible-name is set", () => {
|
|
390
453
|
cy.mount(
|
|
@@ -222,9 +222,11 @@ describe("ListItem", () => {
|
|
|
222
222
|
});
|
|
223
223
|
});
|
|
224
224
|
|
|
225
|
-
// Added: unit-level coverage for the WCAG 4.1.2 Treeview Checkbox pattern
|
|
226
|
-
// (ariaCheckedValue
|
|
227
|
-
//
|
|
225
|
+
// Added: unit-level coverage for the WCAG 4.1.2 Treeview Checkbox pattern getter
|
|
226
|
+
// (ariaCheckedValue). It only activates when the item's accessible-role ===
|
|
227
|
+
// "treeitem" (set by SearchableListBase in the tree pattern). The inner checkbox
|
|
228
|
+
// is always aria-hidden in MultiSelect (a visual affordance only) — state is
|
|
229
|
+
// announced by the item's own aria-checked (tree) / aria-selected (flat option).
|
|
228
230
|
describe("Tree accessibility pattern (accessible-role=\"treeitem\")", () => {
|
|
229
231
|
it("[part=item] has role=\"treeitem\" and aria-checked=\"false\" when unselected", () => {
|
|
230
232
|
cy.mount(<UDExListItem
|
|
@@ -439,9 +441,11 @@ describe("ListItem", () => {
|
|
|
439
441
|
.find("[part=item]").should("have.attr", "aria-selected", "true");
|
|
440
442
|
});
|
|
441
443
|
|
|
442
|
-
//
|
|
443
|
-
//
|
|
444
|
-
|
|
444
|
+
// Updated: a SingleSelect option (default listbox role) now also exposes
|
|
445
|
+
// aria-selected so the screen reader announces its selected state natively.
|
|
446
|
+
// Previously options relied on a describedby state string, which made
|
|
447
|
+
// VoiceOver announce a phantom "selected" for every focused option.
|
|
448
|
+
it("SingleSelect default option exposes aria-selected", () => {
|
|
445
449
|
cy.mount(<UDExListItem
|
|
446
450
|
id="single-opt-item"
|
|
447
451
|
mode={UDExListMode.SingleSelect}
|
|
@@ -450,7 +454,9 @@ describe("ListItem", () => {
|
|
|
450
454
|
</UDExListItem>);
|
|
451
455
|
|
|
452
456
|
cy.get("#single-opt-item").shadow()
|
|
453
|
-
.find("[part=item]")
|
|
457
|
+
.find("[part=item]")
|
|
458
|
+
.should("have.attr", "role", "option")
|
|
459
|
+
.and("have.attr", "aria-selected", "true");
|
|
454
460
|
});
|
|
455
461
|
});
|
|
456
462
|
|
|
@@ -485,7 +491,7 @@ describe("ListItem", () => {
|
|
|
485
491
|
.find("[part=item]").should("not.have.attr", "aria-checked");
|
|
486
492
|
});
|
|
487
493
|
|
|
488
|
-
it("inner udex-checkbox is
|
|
494
|
+
it("inner udex-checkbox is aria-hidden in flat MultiSelect (state announced via the option's aria-selected)", () => {
|
|
489
495
|
cy.mount(<UDExListItem
|
|
490
496
|
id="opt-item-checkbox"
|
|
491
497
|
mode={UDExListMode.MultiSelect}
|
|
@@ -493,7 +499,27 @@ describe("ListItem", () => {
|
|
|
493
499
|
</UDExListItem>);
|
|
494
500
|
|
|
495
501
|
cy.get("#opt-item-checkbox").shadow()
|
|
496
|
-
.find("udex-checkbox").should("
|
|
502
|
+
.find("udex-checkbox").should("have.attr", "aria-hidden");
|
|
503
|
+
});
|
|
504
|
+
|
|
505
|
+
it("MultiSelect option exposes aria-selected reflecting selection (unselected -> selected)", () => {
|
|
506
|
+
cy.mount(<UDExListItem
|
|
507
|
+
id="opt-item-selected"
|
|
508
|
+
mode={UDExListMode.MultiSelect}
|
|
509
|
+
label="JavaScript">
|
|
510
|
+
</UDExListItem>);
|
|
511
|
+
|
|
512
|
+
cy.get("#opt-item-selected").shadow()
|
|
513
|
+
.find("[part=item]")
|
|
514
|
+
.should("have.attr", "role", "option")
|
|
515
|
+
.and("have.attr", "aria-selected", "false");
|
|
516
|
+
|
|
517
|
+
cy.get("#opt-item-selected").then($el => {
|
|
518
|
+
($el[0] as UDExListItem).selected = true;
|
|
519
|
+
});
|
|
520
|
+
|
|
521
|
+
cy.get("#opt-item-selected").shadow()
|
|
522
|
+
.find("[part=item]").should("have.attr", "aria-selected", "true");
|
|
497
523
|
});
|
|
498
524
|
|
|
499
525
|
it("explicit non-tree accessible-role (e.g. \"option\") still suppresses aria-checked", () => {
|
|
@@ -768,6 +768,25 @@ describe("SelectBox", () => {
|
|
|
768
768
|
.should("have.attr", "_active-descendant");
|
|
769
769
|
});
|
|
770
770
|
|
|
771
|
+
it("MultiSelect collapsible group keeps the host-aria sibling layout (no structural nesting)", () => {
|
|
772
|
+
cy.mount(groupHeaderCollapsible);
|
|
773
|
+
|
|
774
|
+
cy.get("#select-box").shadow().find(".udex-text-field__search").click();
|
|
775
|
+
|
|
776
|
+
// Fix 18 regression guard: SelectBox uses the aria-activedescendant model, so a
|
|
777
|
+
// collapsible group header must NOT structurally nest its items (fix 16 nesting is
|
|
778
|
+
// for the real-DOM-focus tree components only). Nesting would reflow the header
|
|
779
|
+
// container to wrap its items and spread the header focus ring over the whole group.
|
|
780
|
+
// The header's inner list-item must not own a subtree, and the items must remain in
|
|
781
|
+
// the sibling content region.
|
|
782
|
+
|
|
783
|
+
cy.get("#select-box").shadow()
|
|
784
|
+
.find("udex-list-group-header").first()
|
|
785
|
+
.shadow()
|
|
786
|
+
.find(".udex-list__group-list__content")
|
|
787
|
+
.should("exist");
|
|
788
|
+
});
|
|
789
|
+
|
|
771
790
|
it("MultiSelect mode - Left arrow collapses a collapsible group header, Right arrow expands it", () => {
|
|
772
791
|
cy.mount(groupHeaderCollapsible);
|
|
773
792
|
|
|
@@ -2530,6 +2549,23 @@ describe("SelectBox", () => {
|
|
|
2530
2549
|
.should("be.greaterThan", 0);
|
|
2531
2550
|
});
|
|
2532
2551
|
|
|
2552
|
+
it("SingleSelect collapsible group keeps the host-aria sibling layout (no structural nesting)", () => {
|
|
2553
|
+
cy.mount(groupHeaderCollapsibleSingleSelect);
|
|
2554
|
+
cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
|
|
2555
|
+
|
|
2556
|
+
cy.get("#select-box").shadow()
|
|
2557
|
+
.find("udex-list-group-header").first()
|
|
2558
|
+
.shadow()
|
|
2559
|
+
.find(".udex-list__group-list__content")
|
|
2560
|
+
.should("exist");
|
|
2561
|
+
|
|
2562
|
+
cy.get("#select-box").shadow()
|
|
2563
|
+
.find("udex-list-group-header").first()
|
|
2564
|
+
.shadow()
|
|
2565
|
+
.find(".udex-list__group-content")
|
|
2566
|
+
.should("not.have.class", "udex-list__group-content--nested");
|
|
2567
|
+
});
|
|
2568
|
+
|
|
2533
2569
|
const collapsedGroupWithSelectionFixture = <div style="width: 350px; position:relative;">
|
|
2534
2570
|
<UDExSelectBox id="select-box" height="200px" label="Languages">
|
|
2535
2571
|
<UDExSelectBoxGroupHeader label="Backend Languages" collapsible collapsed>
|
|
@@ -2595,6 +2631,70 @@ describe("SelectBox", () => {
|
|
|
2595
2631
|
});
|
|
2596
2632
|
});
|
|
2597
2633
|
|
|
2634
|
+
describe("SingleSelect collapsible group headers", () => {
|
|
2635
|
+
// Two collapsible groups; the second sits below the fold so its chevron is a
|
|
2636
|
+
// "lower" header (the failing case in the original bug). No pre-selection needed.
|
|
2637
|
+
const twoCollapsibleGroupsFixture = <div style="width: 350px; position:relative;">
|
|
2638
|
+
<UDExSelectBox id="select-box" height="200px" label="Languages">
|
|
2639
|
+
<UDExSelectBoxGroupHeader label="Backend Languages" collapsible>
|
|
2640
|
+
<UDExSelectBoxItem label="Java"></UDExSelectBoxItem>
|
|
2641
|
+
<UDExSelectBoxItem label="Python"></UDExSelectBoxItem>
|
|
2642
|
+
<UDExSelectBoxItem label="Go"></UDExSelectBoxItem>
|
|
2643
|
+
<UDExSelectBoxItem label="Ruby"></UDExSelectBoxItem>
|
|
2644
|
+
<UDExSelectBoxItem label="Rust"></UDExSelectBoxItem>
|
|
2645
|
+
</UDExSelectBoxGroupHeader>
|
|
2646
|
+
<UDExSelectBoxGroupHeader label="Frontend Languages" collapsible>
|
|
2647
|
+
<UDExSelectBoxItem label="JavaScript"></UDExSelectBoxItem>
|
|
2648
|
+
<UDExSelectBoxItem label="TypeScript"></UDExSelectBoxItem>
|
|
2649
|
+
</UDExSelectBoxGroupHeader>
|
|
2650
|
+
</UDExSelectBox>
|
|
2651
|
+
</div>;
|
|
2652
|
+
|
|
2653
|
+
it("collapses a lower group header on a single chevron click (no focus-steal double click)", () => {
|
|
2654
|
+
cy.mount(twoCollapsibleGroupsFixture);
|
|
2655
|
+
cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
|
|
2656
|
+
cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
|
|
2657
|
+
|
|
2658
|
+
// The second (lower) group starts expanded.
|
|
2659
|
+
cy.get("#select-box").shadow()
|
|
2660
|
+
.find("[udex-list-group-header]").eq(1)
|
|
2661
|
+
.should("not.have.attr", "collapsed");
|
|
2662
|
+
|
|
2663
|
+
// A single click on its chevron must collapse it. Previously DOM focus jumped to
|
|
2664
|
+
// the header body div, triggering a focusout→refocus + scroll-into-view that shifted
|
|
2665
|
+
// the chevron and ate the first click, so the group only collapsed on the second.
|
|
2666
|
+
cy.get("#select-box").shadow()
|
|
2667
|
+
.find("[udex-list-group-header]").eq(1).shadow()
|
|
2668
|
+
.find(".udex-list__group-heading__icon").click();
|
|
2669
|
+
|
|
2670
|
+
cy.get("#select-box").shadow()
|
|
2671
|
+
.find("[udex-list-group-header]").eq(1)
|
|
2672
|
+
.should("have.attr", "collapsed");
|
|
2673
|
+
});
|
|
2674
|
+
|
|
2675
|
+
it("Enter on a group header does not select its items", () => {
|
|
2676
|
+
cy.mount(groupHeaderCollapsibleSingleSelect);
|
|
2677
|
+
cy.get("#select-box").shadow().find(".udex-text-field__search").click();
|
|
2678
|
+
cy.realPress("ArrowDown");
|
|
2679
|
+
|
|
2680
|
+
// The collapsible group header is the active descendant (DOM focus stays on input).
|
|
2681
|
+
cy.get("#select-box").shadow()
|
|
2682
|
+
.find("udex-list-group-header")
|
|
2683
|
+
.should("have.attr", "_active-descendant");
|
|
2684
|
+
|
|
2685
|
+
cy.realPress("Enter");
|
|
2686
|
+
|
|
2687
|
+
// A SingleSelect group header is not a selectable option: Enter must select nothing.
|
|
2688
|
+
cy.get("[udex-select-box-item]").each($item => {
|
|
2689
|
+
cy.wrap($item).should("not.have.attr", "selected");
|
|
2690
|
+
});
|
|
2691
|
+
|
|
2692
|
+
// The dropdown stays open (Enter did not commit a selection or close it).
|
|
2693
|
+
cy.get("#select-box").shadow()
|
|
2694
|
+
.find(".udex-select-box__dropdown").should("have.attr", "open");
|
|
2695
|
+
});
|
|
2696
|
+
});
|
|
2697
|
+
|
|
2598
2698
|
// Tree accessibility pattern: SelectBox uses tree pattern when group headers are present.
|
|
2599
2699
|
describe("Tree accessibility pattern with group headers", () => {
|
|
2600
2700
|
const selectBoxMultiSelectGroup = <div style="width: 350px; position:relative;">
|