@sapudex/web-components 2.61.0 → 2.63.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/cypress/specs/AccordionSpotlight.cy.tsx +43 -2
- package/cypress/specs/Carousel.cy.tsx +88 -0
- package/cypress/specs/CountrySelector.cy.tsx +233 -6
- package/cypress/specs/FilterMenu.cy.tsx +39 -45
- package/cypress/specs/List.cy.tsx +624 -10
- package/cypress/specs/ListItem.cy.tsx +50 -0
- package/cypress/specs/MastheadCountrySelector.cy.tsx +177 -0
- package/cypress/specs/SelectBox.cy.tsx +239 -131
- package/cypress/specs/SelectBoxAccessibility.cy.tsx +3109 -0
- package/cypress/specs/SideNavigation.cy.tsx +49 -0
- package/cypress/specs/SideNavigationMobile.cy.tsx +69 -0
- package/cypress/specs/TagGroup.cy.tsx +168 -0
- package/cypress/support/component-imports.instrumented.ts +4 -0
- package/cypress/support/component-imports.src.ts +4 -0
- package/dist/AccordionItemTemplate.js +1 -1
- package/dist/AccordionItemTemplate.js.map +1 -1
- package/dist/AccordionSpotlight.d.ts +7 -2
- package/dist/AccordionSpotlight.js +31 -6
- package/dist/AccordionSpotlight.js.map +1 -1
- package/dist/AccordionSpotlightItem.d.ts +3 -1
- package/dist/AccordionSpotlightItem.js +3 -1
- package/dist/AccordionSpotlightItem.js.map +1 -1
- package/dist/Carousel.d.ts +1 -0
- package/dist/Carousel.js +19 -3
- package/dist/Carousel.js.map +1 -1
- package/dist/CountrySelector.js +1 -3
- package/dist/CountrySelector.js.map +1 -1
- package/dist/List.d.ts +2 -0
- package/dist/List.js +22 -4
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.js +5 -1
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +2 -0
- package/dist/ListGroupHeaderBase.js +15 -2
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListGroupHeaderTemplate.js +14 -22
- package/dist/ListGroupHeaderTemplate.js.map +1 -1
- package/dist/ListItem.d.ts +1 -2
- package/dist/ListItem.js +14 -12
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +5 -0
- package/dist/ListItemBase.js +11 -1
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemTemplate.js +1 -1
- package/dist/ListItemTemplate.js.map +1 -1
- package/dist/ListSelectAllTemplate.js +1 -1
- package/dist/ListSelectAllTemplate.js.map +1 -1
- package/dist/ListTemplate.js +2 -1
- package/dist/ListTemplate.js.map +1 -1
- package/dist/MastheadCountrySelector.d.ts +14 -0
- package/dist/MastheadCountrySelector.js +6 -0
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadCountrySelectorTemplate.js +1 -1
- package/dist/MastheadCountrySelectorTemplate.js.map +1 -1
- package/dist/MessageStrip.d.ts +1 -0
- package/dist/MessageStrip.js +6 -0
- package/dist/MessageStrip.js.map +1 -1
- package/dist/Search.d.ts +13 -3
- package/dist/Search.js +36 -11
- package/dist/Search.js.map +1 -1
- package/dist/SearchTemplate.js +1 -1
- package/dist/SearchTemplate.js.map +1 -1
- package/dist/SearchableListBase.d.ts +2 -0
- package/dist/SearchableListBase.js +13 -3
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +42 -33
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SelectBase.d.ts +18 -33
- package/dist/SelectBase.js +124 -139
- package/dist/SelectBase.js.map +1 -1
- package/dist/SelectBox.d.ts +3 -0
- package/dist/SelectBox.js +19 -7
- package/dist/SelectBox.js.map +1 -1
- package/dist/SelectBoxTemplate.js +3 -3
- package/dist/SelectBoxTemplate.js.map +1 -1
- package/dist/SideNavigation.d.ts +9 -0
- package/dist/SideNavigation.js +9 -0
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationItem.js +2 -0
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationItemTemplate.d.ts +2 -0
- package/dist/SideNavigationItemTemplate.js +15 -0
- package/dist/SideNavigationItemTemplate.js.map +1 -0
- package/dist/SideNavigationMobile.d.ts +19 -0
- package/dist/SideNavigationMobile.js +33 -3
- package/dist/SideNavigationMobile.js.map +1 -1
- package/dist/SideNavigationMobileTemplate.js +1 -2
- package/dist/SideNavigationMobileTemplate.js.map +1 -1
- package/dist/SideNavigationSubItem.d.ts +4 -1
- package/dist/SideNavigationSubItem.js +22 -10
- package/dist/SideNavigationSubItem.js.map +1 -1
- package/dist/SideNavigationSubItemTemplate.js +1 -2
- package/dist/SideNavigationSubItemTemplate.js.map +1 -1
- package/dist/SideNavigationTemplate.d.ts +2 -0
- package/dist/SideNavigationTemplate.js +6 -0
- package/dist/SideNavigationTemplate.js.map +1 -0
- package/dist/TagGroup.d.ts +3 -0
- package/dist/TagGroup.js +31 -0
- package/dist/TagGroup.js.map +1 -1
- package/dist/TagGroupTemplate.js +1 -1
- package/dist/TagGroupTemplate.js.map +1 -1
- package/dist/assets/{InputSuggestions-1OnUn6pM.js → InputSuggestions-6S5UueXO.js} +2 -2
- package/dist/assets/{ListItemStandardExpandableTextTemplate-CoBAMp_v.js → ListItemStandardExpandableTextTemplate-OidrwM_d.js} +2 -2
- package/dist/assets/{bundle.esm-BqaVWFKf.js → bundle.esm-DaFsZANO.js} +237 -239
- package/dist/assets/messagebundle_ar-22dGHdkl.js +1 -0
- package/dist/assets/messagebundle_ar-DbxuUDUB.js +1 -0
- package/dist/assets/messagebundle_bg-CaaOz5e4.js +1 -0
- package/dist/assets/messagebundle_bg-QOUvq6-8.js +1 -0
- package/dist/assets/messagebundle_ca-D-8eSg1w.js +1 -0
- package/dist/assets/messagebundle_ca-jsUpFfNJ.js +1 -0
- package/dist/assets/messagebundle_cnr-BdSolJRo.js +1 -0
- package/dist/assets/messagebundle_cnr-rtr9Ox4O.js +1 -0
- package/dist/assets/messagebundle_cs-CbM7zJ23.js +1 -0
- package/dist/assets/messagebundle_cy-D5E7e9o1.js +1 -0
- package/dist/assets/messagebundle_cy-hajQLyoj.js +1 -0
- package/dist/assets/messagebundle_da-C3PD-hWQ.js +1 -0
- package/dist/assets/messagebundle_da-DFzvQYW2.js +1 -0
- package/dist/assets/messagebundle_de-C106E9io.js +1 -0
- package/dist/assets/messagebundle_de-C36z5lgV.js +1 -0
- package/dist/assets/messagebundle_el-BLHqa1_J.js +1 -0
- package/dist/assets/messagebundle_el-k8W9FVQI.js +1 -0
- package/dist/assets/messagebundle_en-ClXds397.js +1 -0
- package/dist/assets/messagebundle_en-DgPtAFO8.js +1 -0
- package/dist/assets/messagebundle_en_GB-DxulA9qE.js +1 -0
- package/dist/assets/messagebundle_en_GB-LxAIZigF.js +1 -0
- package/dist/assets/{messagebundle_en_US_sappsd-Se8GgI58.js → messagebundle_en_US_sappsd-TZz2y4pV.js} +1 -1
- package/dist/assets/messagebundle_en_US_sappsd-oE0A2op2.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-C6FsbpF8.js +1 -0
- package/dist/assets/{messagebundle_en_US_saprigi-CbfvaHUL.js → messagebundle_en_US_saprigi-CkPhuOLS.js} +1 -1
- package/dist/assets/messagebundle_en_US_saptrc-CFSYKuS7.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-CNZe1wPP.js +1 -0
- package/dist/assets/messagebundle_es-C3ijAvKG.js +1 -0
- package/dist/assets/messagebundle_es-wi4P-8Bo.js +1 -0
- package/dist/assets/messagebundle_es_MX-JEoOD2AD.js +1 -0
- package/dist/assets/messagebundle_es_MX-qDQ65ei9.js +1 -0
- package/dist/assets/messagebundle_et-C3wgDmm9.js +1 -0
- package/dist/assets/messagebundle_et-D4r4iubd.js +1 -0
- package/dist/assets/messagebundle_fi-BjyQcbRb.js +1 -0
- package/dist/assets/messagebundle_fi-CivJKH9k.js +1 -0
- package/dist/assets/messagebundle_fr-BxDSBfD5.js +1 -0
- package/dist/assets/messagebundle_fr-JN2VAe-b.js +1 -0
- package/dist/assets/messagebundle_fr_CA-FkrcsWH5.js +1 -0
- package/dist/assets/messagebundle_fr_CA-phd0XOeR.js +1 -0
- package/dist/assets/messagebundle_hi-B_pehoTp.js +1 -0
- package/dist/assets/messagebundle_hi-CVOoC3dA.js +1 -0
- package/dist/assets/messagebundle_hr-BYS-ya62.js +1 -0
- package/dist/assets/messagebundle_hr-DHuCJjK8.js +1 -0
- package/dist/assets/messagebundle_hu-Crn0Y1hl.js +1 -0
- package/dist/assets/messagebundle_hu-DJL3QHT4.js +1 -0
- package/dist/assets/messagebundle_id-BJEG-7Up.js +1 -0
- package/dist/assets/messagebundle_id-CgbG2IVb.js +1 -0
- package/dist/assets/messagebundle_it-B-E3gO1k.js +1 -0
- package/dist/assets/messagebundle_it-DHwy0JuE.js +1 -0
- package/dist/assets/messagebundle_iw-BFfL9nZy.js +1 -0
- package/dist/assets/messagebundle_iw-BgyHu_0a.js +1 -0
- package/dist/assets/messagebundle_ja-BDNEwBMO.js +1 -0
- package/dist/assets/messagebundle_ja-eyoqeb4r.js +1 -0
- package/dist/assets/messagebundle_kk-BA_1qhYv.js +1 -0
- package/dist/assets/messagebundle_kk-CTAXqbPN.js +1 -0
- package/dist/assets/messagebundle_ko-C1tsjQMn.js +1 -0
- package/dist/assets/messagebundle_ko-CkiNi7iV.js +1 -0
- package/dist/assets/messagebundle_lt-Dp0c8r7p.js +1 -0
- package/dist/assets/{messagebundle_lt-BGK5mpcm.js → messagebundle_lt-bNum-ekg.js} +1 -1
- package/dist/assets/messagebundle_lv-B9UWTGX9.js +1 -0
- package/dist/assets/messagebundle_lv-D02PBhtR.js +1 -0
- package/dist/assets/messagebundle_mk--Xt_Ciey.js +1 -0
- package/dist/assets/messagebundle_mk-D6s2Tr95.js +1 -0
- package/dist/assets/messagebundle_ms-BAqsvtp5.js +1 -0
- package/dist/assets/messagebundle_ms-BobJaFPp.js +1 -0
- package/dist/assets/messagebundle_nl-BJCykHj1.js +1 -0
- package/dist/assets/messagebundle_nl-Dj7LaMyb.js +1 -0
- package/dist/assets/messagebundle_no-CR_uQXUz.js +1 -0
- package/dist/assets/messagebundle_no-CnwJbEW8.js +1 -0
- package/dist/assets/messagebundle_pl-D6FQ-6EC.js +1 -0
- package/dist/assets/messagebundle_pl-eJC2NE6N.js +1 -0
- package/dist/assets/messagebundle_pt-CbdPbTKR.js +1 -0
- package/dist/assets/messagebundle_pt-n8LcOyWG.js +1 -0
- package/dist/assets/messagebundle_pt_PT-B17ziKL9.js +1 -0
- package/dist/assets/messagebundle_pt_PT-BVpS4lrC.js +1 -0
- package/dist/assets/messagebundle_ro-C0jrNva4.js +1 -0
- package/dist/assets/messagebundle_ro-ixITTbJt.js +1 -0
- package/dist/assets/messagebundle_ru-Bh6RMNe2.js +1 -0
- package/dist/assets/messagebundle_ru-Dbxms1Xm.js +1 -0
- package/dist/assets/messagebundle_sh-CMDXUWge.js +1 -0
- package/dist/assets/messagebundle_sh-Cb-sVI_0.js +1 -0
- package/dist/assets/messagebundle_sk-DZkkgRSd.js +1 -0
- package/dist/assets/{messagebundle_sk-CXOF1RuF.js → messagebundle_sk-Dqb_XwMg.js} +1 -1
- package/dist/assets/messagebundle_sl-DIl-2Lb1.js +1 -0
- package/dist/assets/messagebundle_sl-Dx6UWXni.js +1 -0
- package/dist/assets/messagebundle_sr-DstlyDjZ.js +1 -0
- package/dist/assets/messagebundle_sr-yQWBd9jR.js +1 -0
- package/dist/assets/messagebundle_sv-Dr2hDyEO.js +1 -0
- package/dist/assets/messagebundle_sv-iHKWgaRg.js +1 -0
- package/dist/assets/messagebundle_th-DbWfCb5y.js +1 -0
- package/dist/assets/messagebundle_th-yLU2SE6L.js +1 -0
- package/dist/assets/messagebundle_tr-CIoGg6uY.js +1 -0
- package/dist/assets/messagebundle_tr-lAQvvdUi.js +1 -0
- package/dist/assets/messagebundle_uk-DIBItAKu.js +1 -0
- package/dist/assets/messagebundle_uk-j_sqGY4D.js +1 -0
- package/dist/assets/messagebundle_vi-C40OW2eC.js +1 -0
- package/dist/assets/messagebundle_vi-xWTpoKPI.js +1 -0
- package/dist/assets/messagebundle_zh_CN-CmeOlVfl.js +1 -0
- package/dist/assets/messagebundle_zh_CN-U8Z0kuQb.js +1 -0
- package/dist/assets/messagebundle_zh_TW-B_1_vc8O.js +1 -0
- package/dist/assets/messagebundle_zh_TW-hwHN6ElU.js +1 -0
- package/dist/assets/{parameters-bundle.css-Cv89y49I.js → parameters-bundle.css-2ZsUlBNO.js} +299 -151
- package/dist/assets/parameters-bundle.css-31Bw5XOG.js +2 -0
- package/dist/assets/parameters-bundle.css-BJp4ZvSQ.js +2 -0
- package/dist/assets/{parameters-bundle.css-vNsSPPU5.js → parameters-bundle.css-BKlkVfkE.js} +742 -494
- package/dist/assets/parameters-bundle.css-BMOU75LU.js +2 -0
- package/dist/assets/parameters-bundle.css-BZF5sWSb.js +1 -0
- package/dist/assets/{parameters-bundle.css-DmEWEk0u.js → parameters-bundle.css-Bf1GOISM.js} +786 -513
- package/dist/assets/parameters-bundle.css-BpWLGMCI.js +2 -0
- package/dist/assets/parameters-bundle.css-BsoxE2UF.js +2 -0
- package/dist/assets/parameters-bundle.css-CAhrGUcA.js +2 -0
- package/dist/assets/{parameters-bundle.css-C3eDVARm.js → parameters-bundle.css-CDJt5bvS.js} +176 -89
- package/dist/assets/parameters-bundle.css-CIr3BQBD.js +2 -0
- package/dist/assets/parameters-bundle.css-CVUmNgQM.js +2 -0
- package/dist/assets/parameters-bundle.css-C_pu3Dce.js +2 -0
- package/dist/assets/parameters-bundle.css-ChtqHIDX.js +2 -0
- package/dist/assets/parameters-bundle.css-CvaMQVtq.js +1 -0
- package/dist/assets/parameters-bundle.css-Cwz89dEH.js +2 -0
- package/dist/assets/parameters-bundle.css-CyCovTbK.js +2 -0
- package/dist/assets/parameters-bundle.css-Cyf5K2-Q.js +2 -0
- package/dist/assets/parameters-bundle.css-DdDLbfHl.js +2 -0
- package/dist/assets/{parameters-bundle.css-C5V2Zp_F.js → parameters-bundle.css-Dfz9lgd6.js} +131 -95
- package/dist/assets/{parameters-bundle.css-K-MvKimD.js → parameters-bundle.css-DjW0INFD.js} +139 -88
- package/dist/assets/parameters-bundle.css-JyFiyY-_.js +2 -0
- package/dist/assets/parameters-bundle.css-tf-z7jv9.js +2 -0
- package/dist/css/themes/AccordionSpotlight.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationMobile.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_glow/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +0 -1
- package/dist/custom-elements-internal.json +1443 -7
- package/dist/custom-elements.json +1497 -28
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_glow/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/AccordionSpotlight.css.d.ts +1 -1
- package/dist/generated/themes/AccordionSpotlight.css.js +1 -1
- package/dist/generated/themes/AccordionSpotlight.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/MastheadShell.css.d.ts +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/SideNavigation.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.js +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +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/Table.css.d.ts +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_glow/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_glow/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_glow/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/messagebundle.properties +3 -0
- package/dist/vscode.html-custom-data.json +16 -6
- package/dist/web-types.json +41 -11
- package/package.json +8 -8
- package/src/AccordionItemTemplate.tsx +1 -0
- package/src/AccordionSpotlight.ts +35 -6
- package/src/AccordionSpotlightItem.ts +3 -1
- package/src/Carousel.ts +22 -3
- package/src/CountrySelector.ts +1 -3
- package/src/List.ts +21 -4
- package/src/ListGroupHeader.ts +5 -1
- package/src/ListGroupHeaderBase.ts +16 -2
- package/src/ListGroupHeaderTemplate.tsx +29 -47
- package/src/ListItem.ts +14 -13
- package/src/ListItemBase.ts +14 -1
- package/src/ListItemTemplate.tsx +4 -4
- package/src/ListSelectAllTemplate.tsx +10 -8
- package/src/ListTemplate.tsx +14 -10
- package/src/MastheadCountrySelector.ts +18 -0
- package/src/MastheadCountrySelectorTemplate.tsx +2 -0
- package/src/MessageStrip.ts +7 -0
- package/src/Search.ts +48 -13
- package/src/SearchTemplate.tsx +3 -1
- package/src/SearchableListBase.ts +15 -3
- package/src/SearchableListBaseTemplate.tsx +54 -39
- package/src/SelectBase.ts +130 -144
- package/src/SelectBox.ts +21 -7
- package/src/SelectBoxTemplate.tsx +10 -9
- package/src/SideNavigation.ts +17 -0
- package/src/SideNavigationItem.ts +2 -0
- package/src/SideNavigationItemTemplate.tsx +97 -0
- package/src/SideNavigationMobile.ts +53 -2
- package/src/SideNavigationMobileTemplate.tsx +3 -5
- package/src/SideNavigationSubItem.ts +19 -6
- package/src/SideNavigationSubItemTemplate.tsx +10 -7
- package/src/SideNavigationTemplate.tsx +17 -0
- package/src/TagGroup.ts +32 -0
- package/src/TagGroupTemplate.tsx +1 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/themes/AccordionSpotlight.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/SideNavigation.css.ts +1 -1
- package/src/generated/themes/SideNavigationItem.css.ts +1 -1
- package/src/generated/themes/SideNavigationMobile.css.ts +1 -1
- package/src/generated/themes/SideNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Table.css.ts +1 -1
- package/src/generated/themes/sap_fiori_3/parameters-bundle.css.ts +1 -1
- package/src/generated/themes/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/generated/themes/sap_horizon/parameters-bundle.css.ts +1 -1
- package/src/i18n/messagebundle.properties +3 -0
- package/src/themes/AccordionSpotlight.css +9 -9
- package/src/themes/ListGroupHeader.css +2 -43
- package/src/themes/MastheadShell.css +13 -1
- package/src/themes/SideNavigation.css +43 -8
- package/src/themes/SideNavigationItem.css +56 -6
- package/src/themes/SideNavigationMobile.css +62 -15
- package/src/themes/SideNavigationSubItem.css +14 -109
- package/src/themes/Slider.css +25 -11
- package/src/themes/Table.css +6 -1
- package/dist/assets/messagebundle_ar-C3EXytoC.js +0 -1
- package/dist/assets/messagebundle_ar-DmZrrjEF.js +0 -1
- package/dist/assets/messagebundle_bg-BaZ97Q_b.js +0 -1
- package/dist/assets/messagebundle_bg-CgU7GPvK.js +0 -1
- package/dist/assets/messagebundle_ca-BwjVUbUA.js +0 -1
- package/dist/assets/messagebundle_ca-YiUGbO_8.js +0 -1
- package/dist/assets/messagebundle_cnr-CN2hPZIN.js +0 -1
- package/dist/assets/messagebundle_cnr-zdEdPJvc.js +0 -1
- package/dist/assets/messagebundle_cs-CGbnEjza.js +0 -1
- package/dist/assets/messagebundle_cy-BF0YH9Iz.js +0 -1
- package/dist/assets/messagebundle_cy-CUiGsjO6.js +0 -1
- package/dist/assets/messagebundle_da-CWKLQJiq.js +0 -1
- package/dist/assets/messagebundle_da-bTkr4pUc.js +0 -1
- package/dist/assets/messagebundle_de-BmnClk4G.js +0 -1
- package/dist/assets/messagebundle_de-vB6qhgvG.js +0 -1
- package/dist/assets/messagebundle_el-DKdItEgW.js +0 -1
- package/dist/assets/messagebundle_el-Gv1Ly8aj.js +0 -1
- package/dist/assets/messagebundle_en-DbKo-Dkl.js +0 -1
- package/dist/assets/messagebundle_en-DcV886MF.js +0 -1
- package/dist/assets/messagebundle_en_GB-Be93_Z4H.js +0 -1
- package/dist/assets/messagebundle_en_GB-CFh7e8hQ.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd-HCarC-Yr.js +0 -1
- package/dist/assets/messagebundle_en_US_saprigi-CCHFk7YZ.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-B8AIRzlo.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-yJ3PcdEm.js +0 -1
- package/dist/assets/messagebundle_es-BH-a8BxO.js +0 -1
- package/dist/assets/messagebundle_es-Dt93wbGV.js +0 -1
- package/dist/assets/messagebundle_es_MX-BedlYlF3.js +0 -1
- package/dist/assets/messagebundle_es_MX-COPqooo9.js +0 -1
- package/dist/assets/messagebundle_et-BsYgDw46.js +0 -1
- package/dist/assets/messagebundle_et-UwpqUE-p.js +0 -1
- package/dist/assets/messagebundle_fi-BN3UWEz0.js +0 -1
- package/dist/assets/messagebundle_fi-Cwf7Puui.js +0 -1
- package/dist/assets/messagebundle_fr-43w09LAE.js +0 -1
- package/dist/assets/messagebundle_fr-CVRaf9_H.js +0 -1
- package/dist/assets/messagebundle_fr_CA-BM04X6xU.js +0 -1
- package/dist/assets/messagebundle_fr_CA-CdnVYumi.js +0 -1
- package/dist/assets/messagebundle_hi-DfeonbAH.js +0 -1
- package/dist/assets/messagebundle_hi-JRJlP9Uh.js +0 -1
- package/dist/assets/messagebundle_hr-CKOnn34q.js +0 -1
- package/dist/assets/messagebundle_hr-CbyIBlH3.js +0 -1
- package/dist/assets/messagebundle_hu-DF1gQudE.js +0 -1
- package/dist/assets/messagebundle_hu-D_IQ9kTy.js +0 -1
- package/dist/assets/messagebundle_id-B0K1usj4.js +0 -1
- package/dist/assets/messagebundle_id-gDJYoaGq.js +0 -1
- package/dist/assets/messagebundle_it-B80_R2Ih.js +0 -1
- package/dist/assets/messagebundle_it-CVqU4g6t.js +0 -1
- package/dist/assets/messagebundle_iw-BoelOIS4.js +0 -1
- package/dist/assets/messagebundle_iw-iMDtLxaa.js +0 -1
- package/dist/assets/messagebundle_ja-BlRbv4vb.js +0 -1
- package/dist/assets/messagebundle_ja-BrDH-19-.js +0 -1
- package/dist/assets/messagebundle_kk-C7VPek1-.js +0 -1
- package/dist/assets/messagebundle_kk-DhAT_bim.js +0 -1
- package/dist/assets/messagebundle_ko-CIqP8x6n.js +0 -1
- package/dist/assets/messagebundle_ko-DgD6uyZ5.js +0 -1
- package/dist/assets/messagebundle_lt-BV0kKrY0.js +0 -1
- package/dist/assets/messagebundle_lv-5IcjoxWD.js +0 -1
- package/dist/assets/messagebundle_lv-DDBi7iKe.js +0 -1
- package/dist/assets/messagebundle_mk-BUrn04sZ.js +0 -1
- package/dist/assets/messagebundle_mk-P5veRdg2.js +0 -1
- package/dist/assets/messagebundle_ms-9VDLR5en.js +0 -1
- package/dist/assets/messagebundle_ms-CB8sQUg2.js +0 -1
- package/dist/assets/messagebundle_nl-BaAgPO7h.js +0 -1
- package/dist/assets/messagebundle_nl-f1Up3dB9.js +0 -1
- package/dist/assets/messagebundle_no-C-_ldp7o.js +0 -1
- package/dist/assets/messagebundle_no-DRSqWQ-C.js +0 -1
- package/dist/assets/messagebundle_pl-BQoPaokq.js +0 -1
- package/dist/assets/messagebundle_pl-DBO1atMe.js +0 -1
- package/dist/assets/messagebundle_pt-BNEglYxa.js +0 -1
- package/dist/assets/messagebundle_pt-DgAMHmW-.js +0 -1
- package/dist/assets/messagebundle_pt_PT-BtYzp9KB.js +0 -1
- package/dist/assets/messagebundle_pt_PT-D1Ef8kUU.js +0 -1
- package/dist/assets/messagebundle_ro-CuDPp2fe.js +0 -1
- package/dist/assets/messagebundle_ro-D591wJ6f.js +0 -1
- package/dist/assets/messagebundle_ru-D0NridWi.js +0 -1
- package/dist/assets/messagebundle_ru-I8YLCfrn.js +0 -1
- package/dist/assets/messagebundle_sh-BswdbSRi.js +0 -1
- package/dist/assets/messagebundle_sh-Dw2y_oct.js +0 -1
- package/dist/assets/messagebundle_sk-BG4S4ZVk.js +0 -1
- package/dist/assets/messagebundle_sl-CAnJO_8X.js +0 -1
- package/dist/assets/messagebundle_sl-kpVWxIp_.js +0 -1
- package/dist/assets/messagebundle_sr-BTWvO8VQ.js +0 -1
- package/dist/assets/messagebundle_sr-VJmRSdj4.js +0 -1
- package/dist/assets/messagebundle_sv-B-RCgnW_.js +0 -1
- package/dist/assets/messagebundle_sv-Bd4wCcDb.js +0 -1
- package/dist/assets/messagebundle_th-CMHmLdI3.js +0 -1
- package/dist/assets/messagebundle_th-CZ1imsCy.js +0 -1
- package/dist/assets/messagebundle_tr-BfWAYIdW.js +0 -1
- package/dist/assets/messagebundle_tr-D-BnBirv.js +0 -1
- package/dist/assets/messagebundle_uk-DhxIThVl.js +0 -1
- package/dist/assets/messagebundle_uk-HU8hI0yj.js +0 -1
- package/dist/assets/messagebundle_vi-BUTqUKd4.js +0 -1
- package/dist/assets/messagebundle_vi-D1El4_Wj.js +0 -1
- package/dist/assets/messagebundle_zh_CN-Dt0azUea.js +0 -1
- package/dist/assets/messagebundle_zh_CN-Ofgx2uXY.js +0 -1
- package/dist/assets/messagebundle_zh_TW-5lv7yYS1.js +0 -1
- package/dist/assets/messagebundle_zh_TW-LSErOAsd.js +0 -1
- package/dist/assets/parameters-bundle.css-B68EyCuR.js +0 -278
- package/dist/assets/parameters-bundle.css-BkJSEiFx.js +0 -278
- package/dist/assets/parameters-bundle.css-CI4HNvFw.js +0 -1
- package/dist/assets/parameters-bundle.css-COeynv6D.js +0 -277
- package/dist/assets/parameters-bundle.css-CRa5DITh.js +0 -1
- package/dist/assets/parameters-bundle.css-CnIzAMdG.js +0 -3
- package/dist/assets/parameters-bundle.css-CsV5qbZp.js +0 -3
- package/dist/assets/parameters-bundle.css-DCvHNL3s.js +0 -3
- package/dist/assets/parameters-bundle.css-DK40uKOQ.js +0 -3
- package/dist/assets/parameters-bundle.css-DMfTAqMv.js +0 -2
- package/dist/assets/parameters-bundle.css-DO35k9r0.js +0 -2
- package/dist/assets/parameters-bundle.css-Df7wtRW4.js +0 -2
- package/dist/assets/parameters-bundle.css-DvAfqdlT.js +0 -3
- package/dist/assets/parameters-bundle.css-KoXGNyLG.js +0 -3
- package/dist/assets/parameters-bundle.css-P_M_rm9z.js +0 -3
- package/dist/assets/parameters-bundle.css-UJIxXHL5.js +0 -2
- package/dist/assets/parameters-bundle.css-co26r5Nz.js +0 -3
- package/dist/assets/parameters-bundle.css-uT62L0va.js +0 -3
- package/dist/css/themes/SideNavigationMobileDropdown.css +0 -1
- package/dist/generated/themes/SideNavigationMobileDropdown.css.d.ts +0 -2
- package/dist/generated/themes/SideNavigationMobileDropdown.css.js +0 -8
- package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +0 -1
- package/src/generated/themes/SideNavigationMobileDropdown.css.ts +0 -9
- package/src/themes/SideNavigationMobileDropdown.css +0 -36
|
@@ -851,15 +851,23 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
851
851
|
}
|
|
852
852
|
|
|
853
853
|
get roleForGroupList(): string {
|
|
854
|
-
//
|
|
855
|
-
//
|
|
856
|
-
return "none";
|
|
854
|
+
// Active-descendant items carry their roles on their hosts; their owning
|
|
855
|
+
// container must do the same, regardless of the selection mode.
|
|
856
|
+
return this._activeDescendantMode ? this.accessibleRoleForList : "none";
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
/** @private Accessible name for a host-owned popup list. */
|
|
860
|
+
get listAccessibleName(): string {
|
|
861
|
+
return "";
|
|
857
862
|
}
|
|
858
863
|
|
|
859
864
|
get accessibleRoleForList(): string {
|
|
860
865
|
if (this.isTreeStructure) {
|
|
861
866
|
return "tree";
|
|
862
867
|
}
|
|
868
|
+
if (this.mode === UDExListMode.SingleContent) {
|
|
869
|
+
return "list";
|
|
870
|
+
}
|
|
863
871
|
if (this.isPerGroupListbox) {
|
|
864
872
|
// Each group is its own role="listbox" (see ListGroupHeaderTemplate); the outer
|
|
865
873
|
// container must be transparent, otherwise the per-group listboxes would be nested
|
|
@@ -891,6 +899,10 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
891
899
|
return "treeitem";
|
|
892
900
|
}
|
|
893
901
|
|
|
902
|
+
if (this.mode === UDExListMode.SingleContent) {
|
|
903
|
+
return "listitem";
|
|
904
|
+
}
|
|
905
|
+
|
|
894
906
|
if (this.accessibleRoleForList === "listbox") {
|
|
895
907
|
return "option";
|
|
896
908
|
}
|
|
@@ -8,8 +8,11 @@ import UDExList from "./List.js";
|
|
|
8
8
|
import UDExListItem from "./ListItem.js";
|
|
9
9
|
import UDExListGroupHeader from "./ListGroupHeader.js";
|
|
10
10
|
import UDExListSelectAll from "./ListSelectAll.js";
|
|
11
|
+
import { UDExListMode } from "./types/List.js";
|
|
11
12
|
import type { AriaRole } from "@ui5/webcomponents-base/dist/types.js";
|
|
12
13
|
import { cleanLabel } from "./utils/listItemLabelUtils.js";
|
|
14
|
+
import { INDETERMINATE, SELECT_ALL } from "./generated/i18n/i18n-defaults.js";
|
|
15
|
+
import translate from "./utils/translate.js";
|
|
13
16
|
|
|
14
17
|
export default function SearchableListBaseTemplate(this: UDExSearchableListBase) {
|
|
15
18
|
return (
|
|
@@ -32,9 +35,9 @@ export default function SearchableListBaseTemplate(this: UDExSearchableListBase)
|
|
|
32
35
|
<div class="udex-no-result">
|
|
33
36
|
<IllustratedMessage
|
|
34
37
|
name="NoSearchResults"
|
|
35
|
-
design="Dot"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
design="Dot">
|
|
39
|
+
<div slot="title"></div>
|
|
40
|
+
<div slot="subtitle"></div>
|
|
38
41
|
</IllustratedMessage>
|
|
39
42
|
<span>{this.getNoResultText}</span>
|
|
40
43
|
</div>
|
|
@@ -49,8 +52,12 @@ export default function SearchableListBaseTemplate(this: UDExSearchableListBase)
|
|
|
49
52
|
<UDExList
|
|
50
53
|
id="udex-list"
|
|
51
54
|
role={this.roleForGroupList as AriaRole}
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
{...(this._activeDescendantMode ? {
|
|
56
|
+
"aria-label": this.listAccessibleName,
|
|
57
|
+
accessibleName: this.listAccessibleName,
|
|
58
|
+
} : {})}
|
|
59
|
+
accessibleRole={this._activeDescendantMode ? "" : this.accessibleRoleForList}
|
|
60
|
+
{...((this.isTreeStructure || this._activeDescendantMode) && this.modeMultiSelect ? { "aria-multiselectable": "true" } : {})}
|
|
54
61
|
class="udex-filter-menu__list"
|
|
55
62
|
controlled={this.isControlled}
|
|
56
63
|
mode={this.mode}
|
|
@@ -59,7 +66,7 @@ export default function SearchableListBaseTemplate(this: UDExSearchableListBase)
|
|
|
59
66
|
{this._filteredItems.map((processedItem, index) => (
|
|
60
67
|
processedItem.isGroup
|
|
61
68
|
? renderGroup.call(this, processedItem, index)
|
|
62
|
-
: renderListItem(processedItem.item as UDExListItem, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.
|
|
69
|
+
: renderListItem(processedItem.item as UDExListItem, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this._activeDescendantMode ? index + 1 : undefined, this._activeDescendantMode ? this._filteredItems.length : undefined)
|
|
63
70
|
))}
|
|
64
71
|
</UDExList>
|
|
65
72
|
)}
|
|
@@ -76,9 +83,14 @@ function renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedI
|
|
|
76
83
|
function renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {
|
|
77
84
|
const { item, groupItems } = processedItem;
|
|
78
85
|
const header = item as UDExListGroupHeaderBase;
|
|
86
|
+
const label = item.label && item.label !== "undefined" ? item.label : translate(UDExListSelectAll, SELECT_ALL);
|
|
79
87
|
return (
|
|
80
88
|
<UDExListSelectAll
|
|
81
89
|
key={index}
|
|
90
|
+
id={item._id}
|
|
91
|
+
{...UDExGroupHostAria.call(this, header, index, label)}
|
|
92
|
+
mode={this.mode}
|
|
93
|
+
_treeMode={this.isTreeStructure}
|
|
82
94
|
_additional-class-name={this.additionalClassName}
|
|
83
95
|
data-token-id={item._id}
|
|
84
96
|
label={item.label}
|
|
@@ -90,26 +102,38 @@ function renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProces
|
|
|
90
102
|
onFirstIconClick={this.fireFirstIconClickEvent}
|
|
91
103
|
onSecondIconClick={this.fireSecondIconClickEvent}>
|
|
92
104
|
{groupItems.map((child, i) =>
|
|
93
|
-
renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.
|
|
105
|
+
renderListItem(child as UDExListItem, i, this.listItemRole, this._activeDescendantMode && this.isTreeStructure ? "treeitem" : undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this._activeDescendantMode ? i + 1 : undefined, this._activeDescendantMode ? groupItems.length : undefined)
|
|
94
106
|
)}
|
|
95
107
|
</UDExListSelectAll>
|
|
96
108
|
);
|
|
97
109
|
}
|
|
98
110
|
|
|
111
|
+
function UDExGroupHostAria(this: UDExSearchableListBase, header: UDExListGroupHeaderBase, index: number, label = header.label) {
|
|
112
|
+
return this._activeDescendantMode ? {
|
|
113
|
+
role: (this.isTreeStructure ? "treeitem" : "option") as AriaRole,
|
|
114
|
+
"aria-label": [label, header.supportingText].filter(Boolean).map(UDExText => cleanLabel(UDExText)).join(" "),
|
|
115
|
+
"aria-level": this.isTreeStructure ? 1 : undefined,
|
|
116
|
+
"aria-posinset": index + 1,
|
|
117
|
+
"aria-setsize": this._filteredItems.length,
|
|
118
|
+
"aria-selected": this.modeSingleSelect || this.modeMultiSelect ? String(header.selected && !header.indeterminate) : undefined,
|
|
119
|
+
// aria-selected is Boolean, not tri-state. Describe partial group selection
|
|
120
|
+
// separately rather than exposing the same selection as both checked and selected.
|
|
121
|
+
"aria-description": this.modeMultiSelect && header.indeterminate ? translate(UDExListSelectAll, INDETERMINATE) : undefined,
|
|
122
|
+
"aria-disabled": header.disabled ? "true" : undefined,
|
|
123
|
+
"aria-expanded": header.collapsible ? String(header.expanded) : undefined,
|
|
124
|
+
"_use-host-aria-role": true,
|
|
125
|
+
} : { role: "none" as AriaRole };
|
|
126
|
+
}
|
|
127
|
+
|
|
99
128
|
function renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {
|
|
100
129
|
const { item, groupItems } = processedItem;
|
|
101
130
|
const header = item as UDExListGroupHeaderBase;
|
|
102
131
|
const childAccessibleRole = this.isTreeStructure ? "treeitem" : undefined;
|
|
103
|
-
//
|
|
132
|
+
// Explicit positions for real-focus MultiSelect group headers.
|
|
104
133
|
const treeGroups = this.isTreeStructure ? this._filteredItems.filter(p => p.isGroup) : [];
|
|
105
134
|
const groupPosInSet = treeGroups.indexOf(processedItem) + 1;
|
|
106
135
|
const groupSetSize = treeGroups.length;
|
|
107
|
-
//
|
|
108
|
-
// MultiSelect only: the SingleSelect tree is now conformantly nested (role="group" inside
|
|
109
|
-
// the parent treeitem) so JAWS/NVDA count children natively — explicit values there just
|
|
110
|
-
// confuse JAWS. MultiSelect still uses the malformed sibling structure until Phase 2, so it
|
|
111
|
-
// keeps the explicit override. Not applied in aria-activedescendant mode (SelectBox announces
|
|
112
|
-
// position via its own live region — see [[project_selectbox_aria_live_region]]).
|
|
136
|
+
// Keep the existing real-focus position overrides separate from host-owned ARIA.
|
|
113
137
|
const treePositionAttrs = (!this._activeDescendantMode && this.isTreeStructure && this.modeMultiSelect) ? {
|
|
114
138
|
"_aria-pos-in-set": groupPosInSet,
|
|
115
139
|
"_aria-set-size": groupSetSize,
|
|
@@ -120,23 +144,16 @@ function renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProc
|
|
|
120
144
|
// the shadow DOM's div.udex-list__group provides the single role="group" with
|
|
121
145
|
// aria-labelledby="group-heading" in non-tree mode; in tree mode the treeitem is
|
|
122
146
|
// on the focusable div inside the shadow.
|
|
123
|
-
const hostAriaAttrs = this
|
|
124
|
-
role: (this.isTreeStructure ? "treeitem" : "option") as AriaRole,
|
|
125
|
-
"aria-label": cleanLabel(item.label ?? ""),
|
|
126
|
-
"aria-selected": (this.modeMultiSelect ? undefined : (item.selected ? "true" : "false")) as string | undefined,
|
|
127
|
-
"aria-checked": (this.modeMultiSelect ? (header.indeterminate ? "mixed" : (item.selected ? "true" : "false")) : undefined) as string | undefined,
|
|
128
|
-
"aria-disabled": item.disabled ? "true" as string : undefined,
|
|
129
|
-
"aria-expanded": header.collapsible ? (header.expanded ? "true" as string : "false" as string) : undefined,
|
|
130
|
-
"_use-host-aria-role": true,
|
|
131
|
-
} : { role: "none" as AriaRole };
|
|
147
|
+
const hostAriaAttrs = UDExGroupHostAria.call(this, header, index);
|
|
132
148
|
return (
|
|
133
149
|
<UDExListGroupHeader
|
|
134
150
|
key={index}
|
|
135
151
|
id={item._id}
|
|
136
152
|
{...hostAriaAttrs}
|
|
137
153
|
{...treePositionAttrs}
|
|
138
|
-
|
|
139
|
-
|
|
154
|
+
_treeMode={this.isTreeStructure}
|
|
155
|
+
_groupAsListbox={this.isPerGroupListbox}
|
|
156
|
+
mode={this.mode}
|
|
140
157
|
{...(index === 0 ? { "_no-border": "" } : {})}
|
|
141
158
|
_additional-class-name="udex-searchable-list__header"
|
|
142
159
|
class={this.groupClassName}
|
|
@@ -155,7 +172,7 @@ function renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProc
|
|
|
155
172
|
onAccordionIconClick={this.handleAccordionIconClick}
|
|
156
173
|
indeterminate={header.indeterminate}>
|
|
157
174
|
{groupItems.map((child, i) =>
|
|
158
|
-
renderListItem(child as UDExListItem, i, "none", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure,
|
|
175
|
+
renderListItem(child as UDExListItem, i, "none", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, i + 1, groupItems.length)
|
|
159
176
|
)}
|
|
160
177
|
</UDExListGroupHeader>
|
|
161
178
|
);
|
|
@@ -170,33 +187,31 @@ function renderListItem(
|
|
|
170
187
|
onSecondIconClick: (e: CustomEvent) => void,
|
|
171
188
|
activeDescendantMode?: boolean,
|
|
172
189
|
isTreeStructure?: boolean,
|
|
173
|
-
modeMultiSelect?: boolean,
|
|
174
190
|
posInSet?: number,
|
|
175
191
|
setSize?: number,
|
|
176
192
|
) {
|
|
177
193
|
// In aria-activedescendant mode (SelectBox), role + ARIA state must be on the
|
|
178
194
|
// host element so screen readers can reach them via the aria-activedescendant pointer.
|
|
179
195
|
const effectiveRole = accessibleRole ?? (role !== "none" ? role : undefined) ?? "option";
|
|
196
|
+
const selectable = item.mode !== UDExListMode.SingleContent;
|
|
180
197
|
const hostRole = activeDescendantMode ? (effectiveRole as AriaRole) : (role as AriaRole);
|
|
181
198
|
const hostAriaAttrs = activeDescendantMode ? {
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
"aria-
|
|
199
|
+
// Rating-only options need a host name too, rather than a name derived from
|
|
200
|
+
// descendants that can include the decorative checkbox's selection label.
|
|
201
|
+
"aria-label": [item.label, item.supportingText, item.additionalText, item.hasRating ? item.ratingAriaLabel : undefined]
|
|
202
|
+
.filter(Boolean).map(UDExText => cleanLabel(UDExText!)).join(" ") || undefined,
|
|
203
|
+
// Native position metadata replaces the duplicate spoken live-region summary.
|
|
204
|
+
"aria-level": isTreeStructure ? ((item.parentElement as UDExListGroupHeaderBase | null)?.isGroup ? 2 : 1) : undefined,
|
|
205
|
+
"aria-posinset": posInSet,
|
|
206
|
+
"aria-setsize": setSize,
|
|
207
|
+
"aria-selected": selectable && (effectiveRole === "option" || effectiveRole === "treeitem") ? String(item.selected) : undefined,
|
|
185
208
|
"aria-disabled": item.disabled ? "true" as string : undefined,
|
|
186
209
|
"_use-host-aria-role": true,
|
|
187
210
|
...(accessibleRole ? { "accessible-role": accessibleRole } : {}),
|
|
188
211
|
} : {
|
|
189
212
|
...(accessibleRole ? { "accessible-role": accessibleRole } : {}),
|
|
190
213
|
};
|
|
191
|
-
//
|
|
192
|
-
// posInSet/setSize are provided (i.e. items inside a group header), across all
|
|
193
|
-
// modes except aria-activedescendant (SelectBox uses its own live region):
|
|
194
|
-
// • Non-tree grouped listbox (SingleSelect non-collapsible): options get per-group
|
|
195
|
-
// counts since native shadow-DOM counting is unreliable for nested custom elements.
|
|
196
|
-
// • SingleSelect conformant-nested tree: explicit values match the native structural
|
|
197
|
-
// count, so JAWS trusts and re-announces on every arrow step (not just group entry).
|
|
198
|
-
// • MultiSelect sibling tree (Phase 2 pending): keeps the fix-20 override.
|
|
199
|
-
// Not applied in aria-activedescendant mode (SelectBox — see [[project_selectbox_aria_live_region]]).
|
|
214
|
+
// Real-focus grouped children keep their position on the inner focusable row.
|
|
200
215
|
const treePositionAttrs = (!activeDescendantMode && posInSet != null && setSize != null) ? {
|
|
201
216
|
"_aria-pos-in-set": posInSet,
|
|
202
217
|
"_aria-set-size": setSize,
|