@sapudex/web-components 2.50.0 → 2.52.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.
Files changed (380) hide show
  1. package/cypress/specs/CountrySelector.cy.tsx +21 -0
  2. package/cypress/specs/List.cy.tsx +119 -10
  3. package/cypress/specs/SelectBox.cy.tsx +414 -70
  4. package/dist/CountrySelector.js +1 -0
  5. package/dist/CountrySelector.js.map +1 -1
  6. package/dist/List.d.ts +10 -0
  7. package/dist/List.js +35 -0
  8. package/dist/List.js.map +1 -1
  9. package/dist/ListGroupHeaderBase.js +3 -0
  10. package/dist/ListGroupHeaderBase.js.map +1 -1
  11. package/dist/ListItem.d.ts +1 -0
  12. package/dist/ListItem.js +11 -3
  13. package/dist/ListItem.js.map +1 -1
  14. package/dist/ListItemBase.d.ts +9 -0
  15. package/dist/ListItemBase.js +12 -0
  16. package/dist/ListItemBase.js.map +1 -1
  17. package/dist/ListSelectAll.js +1 -1
  18. package/dist/ListSelectAll.js.map +1 -1
  19. package/dist/MessageStrip.d.ts +3 -0
  20. package/dist/MessageStrip.js +40 -8
  21. package/dist/MessageStrip.js.map +1 -1
  22. package/dist/Modal.d.ts +1 -0
  23. package/dist/Modal.js +7 -0
  24. package/dist/Modal.js.map +1 -1
  25. package/dist/SearchableListBase.d.ts +10 -0
  26. package/dist/SearchableListBase.js +29 -6
  27. package/dist/SearchableListBase.js.map +1 -1
  28. package/dist/SearchableListBaseTemplate.js +32 -5
  29. package/dist/SearchableListBaseTemplate.js.map +1 -1
  30. package/dist/SelectBase.d.ts +65 -1
  31. package/dist/SelectBase.js +446 -59
  32. package/dist/SelectBase.js.map +1 -1
  33. package/dist/SelectBox.js +24 -2
  34. package/dist/SelectBox.js.map +1 -1
  35. package/dist/SelectBoxTemplate.js +2 -2
  36. package/dist/SelectBoxTemplate.js.map +1 -1
  37. package/dist/assets/{InputSuggestions-DZR626c7.js → InputSuggestions-0wafO-g3.js} +1 -1
  38. package/dist/assets/{ListItemStandardExpandableTextTemplate-D_5VXMzU.js → ListItemStandardExpandableTextTemplate-DoOYtqI8.js} +1 -1
  39. package/dist/assets/{bundle.esm-DuQLY8Jz.js → bundle.esm-DwHZ3nCW.js} +316 -318
  40. package/dist/assets/messagebundle_ar-BRkfjlVF.js +1 -0
  41. package/dist/assets/messagebundle_ar-D5A573iZ.js +1 -0
  42. package/dist/assets/messagebundle_bg-ByA8yRlQ.js +1 -0
  43. package/dist/assets/messagebundle_bg-CIVFOczQ.js +1 -0
  44. package/dist/assets/messagebundle_ca-BR3XuU9o.js +1 -0
  45. package/dist/assets/messagebundle_ca-CnMQ87v0.js +1 -0
  46. package/dist/assets/messagebundle_cnr-C6YhRiS7.js +1 -0
  47. package/dist/assets/messagebundle_cnr-CKZii51E.js +1 -0
  48. package/dist/assets/messagebundle_cs-DcOu8IOK.js +1 -0
  49. package/dist/assets/messagebundle_cs-I7yYpbsI.js +1 -0
  50. package/dist/assets/messagebundle_cy-BxrFUGJ9.js +1 -0
  51. package/dist/assets/messagebundle_cy-iXD_sJ-H.js +1 -0
  52. package/dist/assets/messagebundle_da-BVQHPgwf.js +1 -0
  53. package/dist/assets/messagebundle_da-CMGObFa5.js +1 -0
  54. package/dist/assets/messagebundle_de-Ca8NttFO.js +1 -0
  55. package/dist/assets/messagebundle_el-Cqfj_U5v.js +1 -0
  56. package/dist/assets/messagebundle_el-D9Zgq5tn.js +1 -0
  57. package/dist/assets/messagebundle_en-D0JTZvAf.js +1 -0
  58. package/dist/assets/messagebundle_en-DWqF0cay.js +1 -0
  59. package/dist/assets/messagebundle_en_GB-CGB_FKp4.js +1 -0
  60. package/dist/assets/messagebundle_en_GB-Cl7ekzz2.js +1 -0
  61. package/dist/assets/messagebundle_en_US_sappsd-7UdOh8vN.js +1 -0
  62. package/dist/assets/messagebundle_en_US_sappsd-B8rqsyFQ.js +1 -0
  63. package/dist/assets/messagebundle_en_US_saprigi-9VCo5QY0.js +1 -0
  64. package/dist/assets/messagebundle_en_US_saprigi-DfLzOCPY.js +1 -0
  65. package/dist/assets/messagebundle_en_US_saptrc-DZqYka05.js +1 -0
  66. package/dist/assets/messagebundle_en_US_saptrc-Wh_IysAB.js +1 -0
  67. package/dist/assets/messagebundle_es-DKn8EzzP.js +1 -0
  68. package/dist/assets/messagebundle_es-lf5AJZNW.js +1 -0
  69. package/dist/assets/messagebundle_es_MX-DyYZGjON.js +1 -0
  70. package/dist/assets/messagebundle_es_MX-yBTcvu7u.js +1 -0
  71. package/dist/assets/messagebundle_et-Dz8Ohhcp.js +1 -0
  72. package/dist/assets/messagebundle_et-rMWbS-Nu.js +1 -0
  73. package/dist/assets/messagebundle_fi-Bfbyhuuz.js +1 -0
  74. package/dist/assets/messagebundle_fi-DnXm7LPH.js +1 -0
  75. package/dist/assets/messagebundle_fr-BvbeCfZ-.js +1 -0
  76. package/dist/assets/messagebundle_fr-KQhoZEew.js +1 -0
  77. package/dist/assets/messagebundle_fr_CA-CE2lzYx5.js +1 -0
  78. package/dist/assets/messagebundle_fr_CA-CIhDzHAJ.js +1 -0
  79. package/dist/assets/messagebundle_hi-BRQ9tZ6F.js +1 -0
  80. package/dist/assets/messagebundle_hi-DPwH9vag.js +1 -0
  81. package/dist/assets/messagebundle_hr-BSKQ6zHT.js +1 -0
  82. package/dist/assets/messagebundle_hr-D3gQg5JN.js +1 -0
  83. package/dist/assets/messagebundle_hu-CAA4oM1C.js +1 -0
  84. package/dist/assets/messagebundle_hu-CZNs1K9T.js +1 -0
  85. package/dist/assets/messagebundle_id-9H0uJyXB.js +1 -0
  86. package/dist/assets/messagebundle_id-m6iosVVP.js +1 -0
  87. package/dist/assets/messagebundle_it-BWzxa-Mi.js +1 -0
  88. package/dist/assets/messagebundle_it-Cm_0HF21.js +1 -0
  89. package/dist/assets/messagebundle_iw-DpB2YXTa.js +1 -0
  90. package/dist/assets/messagebundle_iw-NfqePNtD.js +1 -0
  91. package/dist/assets/messagebundle_ja-BCSZcI8t.js +1 -0
  92. package/dist/assets/messagebundle_ja-C-qqwzFf.js +1 -0
  93. package/dist/assets/messagebundle_kk--PGqyTVS.js +1 -0
  94. package/dist/assets/messagebundle_kk-DAlCQkFU.js +1 -0
  95. package/dist/assets/messagebundle_ko-D8mIkPe1.js +1 -0
  96. package/dist/assets/messagebundle_ko-qoWc4ZGG.js +1 -0
  97. package/dist/assets/messagebundle_lt-BIEH02V4.js +1 -0
  98. package/dist/assets/messagebundle_lt-ruMxSuY-.js +1 -0
  99. package/dist/assets/messagebundle_lv-C2om7wu0.js +1 -0
  100. package/dist/assets/messagebundle_lv-Dfrbh1ci.js +1 -0
  101. package/dist/assets/messagebundle_mk-DHvZle6t.js +1 -0
  102. package/dist/assets/messagebundle_mk-l_Kubx1p.js +1 -0
  103. package/dist/assets/messagebundle_ms-CKCmj1p_.js +1 -0
  104. package/dist/assets/messagebundle_ms-IhSEK5ij.js +1 -0
  105. package/dist/assets/messagebundle_nl-BKUpVV-D.js +1 -0
  106. package/dist/assets/messagebundle_nl-BiIb6e5c.js +1 -0
  107. package/dist/assets/messagebundle_nl-DquG38Cj.js +1 -0
  108. package/dist/assets/messagebundle_no-CX23v_jg.js +1 -0
  109. package/dist/assets/messagebundle_no-DFdvykvP.js +1 -0
  110. package/dist/assets/messagebundle_pl-BAeue3mo.js +1 -0
  111. package/dist/assets/messagebundle_pl-iHE_prgN.js +1 -0
  112. package/dist/assets/messagebundle_pt-BpQnTLvl.js +1 -0
  113. package/dist/assets/messagebundle_pt-C_bG3Erm.js +1 -0
  114. package/dist/assets/messagebundle_pt_PT-CR7qXFK-.js +1 -0
  115. package/dist/assets/messagebundle_pt_PT-DyseXKQQ.js +1 -0
  116. package/dist/assets/messagebundle_ro-CHU1E6hv.js +1 -0
  117. package/dist/assets/messagebundle_ro-C_amsd63.js +1 -0
  118. package/dist/assets/messagebundle_ru-Cab4H6Ud.js +1 -0
  119. package/dist/assets/messagebundle_ru-D6JMraBp.js +1 -0
  120. package/dist/assets/messagebundle_sh-DusYn00L.js +1 -0
  121. package/dist/assets/messagebundle_sh-hThvw_lF.js +1 -0
  122. package/dist/assets/messagebundle_sk-BqiUMEcX.js +1 -0
  123. package/dist/assets/messagebundle_sk-CZHfFNQ_.js +1 -0
  124. package/dist/assets/{messagebundle_sl-Bn5tocYe.js → messagebundle_sl-B79d3kfY.js} +1 -1
  125. package/dist/assets/messagebundle_sl-SfAn6n6j.js +1 -0
  126. package/dist/assets/messagebundle_sr-4iz7n4Te.js +1 -0
  127. package/dist/assets/messagebundle_sr-DxELdG62.js +1 -0
  128. package/dist/assets/messagebundle_sv-CPOHCrxs.js +1 -0
  129. package/dist/assets/messagebundle_sv-i6GuWK0l.js +1 -0
  130. package/dist/assets/messagebundle_th-D-kPI3tt.js +1 -0
  131. package/dist/assets/messagebundle_th-D64J-JvN.js +1 -0
  132. package/dist/assets/messagebundle_tr-CuE9DqZT.js +1 -0
  133. package/dist/assets/messagebundle_tr-gTuGftNt.js +1 -0
  134. package/dist/assets/messagebundle_uk-C6JSX-jF.js +1 -0
  135. package/dist/assets/messagebundle_uk-IKxyo-LT.js +1 -0
  136. package/dist/assets/messagebundle_vi-BRdRT5L6.js +1 -0
  137. package/dist/assets/messagebundle_vi-rZGL12-x.js +1 -0
  138. package/dist/assets/messagebundle_zh_CN-L55Y4Dfs.js +1 -0
  139. package/dist/assets/messagebundle_zh_CN-ZalS15WG.js +1 -0
  140. package/dist/assets/messagebundle_zh_TW-BcMzZCW2.js +1 -0
  141. package/dist/assets/messagebundle_zh_TW-sRVDBYOx.js +1 -0
  142. package/dist/assets/parameters-bundle.css-8pAQYERs.js +3 -0
  143. package/dist/assets/{parameters-bundle.css-Dd5ajhZR.js → parameters-bundle.css-BXQ-0CBp.js} +1 -12
  144. package/dist/assets/parameters-bundle.css-B_KvbSAR.js +2 -0
  145. package/dist/assets/{parameters-bundle.css-BVXLOlqR.js → parameters-bundle.css-Bleiw2gk.js} +1 -1
  146. package/dist/assets/{parameters-bundle.css-DH_wndOj.js → parameters-bundle.css-C3eDVARm.js} +1 -1
  147. package/dist/assets/parameters-bundle.css-C7KCPeJ8.js +3 -0
  148. package/dist/assets/{parameters-bundle.css-CWfGvXBZ.js → parameters-bundle.css-CCL9q8h_.js} +1 -1
  149. package/dist/assets/{parameters-bundle.css-BCB-2TTY.js → parameters-bundle.css-CDc9A-MF.js} +1 -1
  150. package/dist/assets/parameters-bundle.css-CLLnzh9T.js +3 -0
  151. package/dist/assets/parameters-bundle.css-CQFZmxYm.js +3 -0
  152. package/dist/assets/parameters-bundle.css-CSUOmZKr.js +3 -0
  153. package/dist/assets/{parameters-bundle.css-CKNWL0nG.js → parameters-bundle.css-CT-eTeTy.js} +1 -12
  154. package/dist/assets/parameters-bundle.css-Ciey0vhA.js +2 -0
  155. package/dist/assets/{parameters-bundle.css-DuHP0Q5Y.js → parameters-bundle.css-Cmk27zY9.js} +6 -9
  156. package/dist/assets/{parameters-bundle.css-yvuwi247.js → parameters-bundle.css-Cv89y49I.js} +1 -1
  157. package/dist/assets/{parameters-bundle.css-BQB0pxRT.js → parameters-bundle.css-Cx9nDxJ1.js} +1 -1
  158. package/dist/assets/{parameters-bundle.css-BBdTemt8.js → parameters-bundle.css-CxjtOlRD.js} +7 -10
  159. package/dist/assets/{parameters-bundle.css-DXuX1n-u.js → parameters-bundle.css-D6dc2la8.js} +1 -1
  160. package/dist/assets/parameters-bundle.css-D7Hj83QD.js +2 -0
  161. package/dist/assets/{parameters-bundle.css-BiSP-Gf0.js → parameters-bundle.css-D7WciSOr.js} +1 -12
  162. package/dist/assets/{parameters-bundle.css-tevTlrPX.js → parameters-bundle.css-D9YZOKyE.js} +1 -1
  163. package/dist/assets/{parameters-bundle.css-CTIq7sCI.js → parameters-bundle.css-DE8FUbIS.js} +1 -1
  164. package/dist/assets/parameters-bundle.css-DJgsxqD8.js +2 -0
  165. package/dist/assets/parameters-bundle.css-DMVuljH3.js +3 -0
  166. package/dist/assets/{parameters-bundle.css-1rRun2sT.js → parameters-bundle.css-DPz62M1p.js} +3 -14
  167. package/dist/assets/parameters-bundle.css-DkHyiuRq.js +3 -0
  168. package/dist/assets/parameters-bundle.css-Dvgwa73x.js +3 -0
  169. package/dist/assets/parameters-bundle.css-V2I5eOdH.js +3 -0
  170. package/dist/assets/{parameters-bundle.css-DUGC7SPT.js → parameters-bundle.css-XYDTPt-n.js} +1 -12
  171. package/dist/assets/{parameters-bundle.css-C90ijvPq.js → parameters-bundle.css-tmGa6wuH.js} +1 -1
  172. package/dist/css/themes/AccordionItem.css +1 -1
  173. package/dist/css/themes/Divider.css +1 -1
  174. package/dist/css/themes/Link.css +1 -1
  175. package/dist/css/themes/ListGroupHeader.css +1 -1
  176. package/dist/css/themes/ListItem.css +1 -1
  177. package/dist/css/themes/MastheadProfileMenu.css +1 -1
  178. package/dist/css/themes/MessageStrip.css +1 -1
  179. package/dist/css/themes/Modal.css +1 -1
  180. package/dist/css/themes/Search.css +1 -1
  181. package/dist/css/themes/SelectBase.css +1 -1
  182. package/dist/css/themes/SelectBox.css +1 -1
  183. package/dist/custom-elements-internal.json +9 -9
  184. package/dist/custom-elements.json +28 -9
  185. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  186. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  187. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  188. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  189. package/dist/generated/themes/AccordionItem.css.js +1 -1
  190. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  191. package/dist/generated/themes/Divider.css.d.ts +1 -1
  192. package/dist/generated/themes/Divider.css.js +1 -1
  193. package/dist/generated/themes/Divider.css.js.map +1 -1
  194. package/dist/generated/themes/Link.css.d.ts +1 -1
  195. package/dist/generated/themes/Link.css.js +1 -1
  196. package/dist/generated/themes/Link.css.js.map +1 -1
  197. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  198. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  199. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  200. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  201. package/dist/generated/themes/ListItem.css.js +1 -1
  202. package/dist/generated/themes/ListItem.css.js.map +1 -1
  203. package/dist/generated/themes/MastheadProfileMenu.css.d.ts +1 -1
  204. package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
  205. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  206. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  207. package/dist/generated/themes/MessageStrip.css.js +1 -1
  208. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  209. package/dist/generated/themes/Modal.css.d.ts +1 -1
  210. package/dist/generated/themes/Modal.css.js +1 -1
  211. package/dist/generated/themes/Modal.css.js.map +1 -1
  212. package/dist/generated/themes/Search.css.d.ts +1 -1
  213. package/dist/generated/themes/Search.css.js +1 -1
  214. package/dist/generated/themes/Search.css.js.map +1 -1
  215. package/dist/generated/themes/SelectBase.css.d.ts +1 -1
  216. package/dist/generated/themes/SelectBase.css.js +1 -1
  217. package/dist/generated/themes/SelectBase.css.js.map +1 -1
  218. package/dist/generated/themes/SelectBox.css.d.ts +1 -1
  219. package/dist/generated/themes/SelectBox.css.js +1 -1
  220. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  221. package/dist/messagebundle_nl.properties +126 -0
  222. package/dist/types/MessageStrip.d.ts +22 -1
  223. package/dist/types/MessageStrip.js +21 -0
  224. package/dist/types/MessageStrip.js.map +1 -1
  225. package/dist/vscode.html-custom-data.json +13 -2
  226. package/dist/web-types.json +5 -5
  227. package/package.json +8 -8
  228. package/src/CountrySelector.ts +1 -0
  229. package/src/List.hbs +2 -1
  230. package/src/List.ts +36 -0
  231. package/src/ListGroupHeaderBase.ts +3 -0
  232. package/src/ListItem.ts +12 -3
  233. package/src/ListItemBase.ts +11 -0
  234. package/src/ListSelectAll.ts +1 -1
  235. package/src/MessageStrip.ts +41 -9
  236. package/src/Modal.ts +8 -0
  237. package/src/SearchableListBase.ts +31 -8
  238. package/src/SearchableListBaseTemplate.tsx +38 -6
  239. package/src/SelectBase.ts +466 -69
  240. package/src/SelectBox.ts +27 -2
  241. package/src/SelectBoxTemplate.tsx +4 -3
  242. package/src/generated/templates/ListTemplate.lit.ts +1 -1
  243. package/src/generated/themes/AccordionItem.css.ts +1 -1
  244. package/src/generated/themes/Divider.css.ts +1 -1
  245. package/src/generated/themes/Link.css.ts +1 -1
  246. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  247. package/src/generated/themes/ListItem.css.ts +1 -1
  248. package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
  249. package/src/generated/themes/MessageStrip.css.ts +1 -1
  250. package/src/generated/themes/Modal.css.ts +1 -1
  251. package/src/generated/themes/Search.css.ts +1 -1
  252. package/src/generated/themes/SelectBase.css.ts +1 -1
  253. package/src/generated/themes/SelectBox.css.ts +1 -1
  254. package/src/i18n/messagebundle_nl.properties +126 -0
  255. package/src/themes/AccordionItem.css +8 -3
  256. package/src/themes/Divider.css +2 -0
  257. package/src/themes/Link.css +20 -2
  258. package/src/themes/ListGroupHeader.css +18 -1
  259. package/src/themes/ListItem.css +2 -1
  260. package/src/themes/MastheadProfileMenu.css +0 -4
  261. package/src/themes/MessageStrip.css +384 -10
  262. package/src/themes/Modal.css +2 -2
  263. package/src/themes/Search.css +6 -4
  264. package/src/themes/SelectBase.css +2 -1
  265. package/src/themes/SelectBox.css +10 -0
  266. package/src/types/MessageStrip.ts +21 -0
  267. package/dist/assets/messagebundle_ar-DcH18L3h.js +0 -1
  268. package/dist/assets/messagebundle_ar-Ic4ckTUt.js +0 -1
  269. package/dist/assets/messagebundle_bg-BOgOglXh.js +0 -1
  270. package/dist/assets/messagebundle_bg-dZrlFeKZ.js +0 -1
  271. package/dist/assets/messagebundle_ca-2bFyG5Ty.js +0 -1
  272. package/dist/assets/messagebundle_ca-B2inwHsb.js +0 -1
  273. package/dist/assets/messagebundle_cnr-CSmWG9_V.js +0 -1
  274. package/dist/assets/messagebundle_cnr-DZsc1R1r.js +0 -1
  275. package/dist/assets/messagebundle_cs-BZXuIszN.js +0 -1
  276. package/dist/assets/messagebundle_cs-Dso9kSig.js +0 -1
  277. package/dist/assets/messagebundle_cy-B66O9oBx.js +0 -1
  278. package/dist/assets/messagebundle_cy-BSiMgZtA.js +0 -1
  279. package/dist/assets/messagebundle_da-CAPY9nnT.js +0 -1
  280. package/dist/assets/messagebundle_da-DTOADw3Y.js +0 -1
  281. package/dist/assets/messagebundle_de-DWsuh-jj.js +0 -1
  282. package/dist/assets/messagebundle_el-ByL7ikpl.js +0 -1
  283. package/dist/assets/messagebundle_el-CwjQKEGb.js +0 -1
  284. package/dist/assets/messagebundle_en-4Wpx2jqf.js +0 -1
  285. package/dist/assets/messagebundle_en-Bi068VCa.js +0 -1
  286. package/dist/assets/messagebundle_en_GB-BEZ3LbT5.js +0 -1
  287. package/dist/assets/messagebundle_en_GB-DKEddq_J.js +0 -1
  288. package/dist/assets/messagebundle_en_US_sappsd-Bc-vQnEr.js +0 -1
  289. package/dist/assets/messagebundle_en_US_sappsd-CEGC_XRQ.js +0 -1
  290. package/dist/assets/messagebundle_en_US_saprigi--hAUIdWq.js +0 -1
  291. package/dist/assets/messagebundle_en_US_saprigi-C_gnMw05.js +0 -1
  292. package/dist/assets/messagebundle_en_US_saptrc-CIbQNg_d.js +0 -1
  293. package/dist/assets/messagebundle_en_US_saptrc-DY0WM5Yp.js +0 -1
  294. package/dist/assets/messagebundle_es-BHY_U2xi.js +0 -1
  295. package/dist/assets/messagebundle_es-vhzI0nML.js +0 -1
  296. package/dist/assets/messagebundle_es_MX-DjJ15Ns4.js +0 -1
  297. package/dist/assets/messagebundle_es_MX-DmINMi1e.js +0 -1
  298. package/dist/assets/messagebundle_et-CpVk1Xin.js +0 -1
  299. package/dist/assets/messagebundle_et-DLssZHh4.js +0 -1
  300. package/dist/assets/messagebundle_fi-DmGIB0sc.js +0 -1
  301. package/dist/assets/messagebundle_fi-YfxQ0aOR.js +0 -1
  302. package/dist/assets/messagebundle_fr-BFMaF4AX.js +0 -1
  303. package/dist/assets/messagebundle_fr-BZ-VJ002.js +0 -1
  304. package/dist/assets/messagebundle_fr_CA-B5jFryz1.js +0 -1
  305. package/dist/assets/messagebundle_fr_CA-hZ2LGeU2.js +0 -1
  306. package/dist/assets/messagebundle_hi-92qX3F1U.js +0 -1
  307. package/dist/assets/messagebundle_hi-DFXk6QGw.js +0 -1
  308. package/dist/assets/messagebundle_hr-CUaLQBjG.js +0 -1
  309. package/dist/assets/messagebundle_hr-selqadPV.js +0 -1
  310. package/dist/assets/messagebundle_hu-BtupF5BC.js +0 -1
  311. package/dist/assets/messagebundle_hu-D_rF_cCp.js +0 -1
  312. package/dist/assets/messagebundle_id-Bvmpblmf.js +0 -1
  313. package/dist/assets/messagebundle_id-P3JSHcmu.js +0 -1
  314. package/dist/assets/messagebundle_it-BINon06x.js +0 -1
  315. package/dist/assets/messagebundle_it-CXnIcrL4.js +0 -1
  316. package/dist/assets/messagebundle_iw-BzixLMjm.js +0 -1
  317. package/dist/assets/messagebundle_iw-Cb6M5XGj.js +0 -1
  318. package/dist/assets/messagebundle_ja-DQ5MCYLw.js +0 -1
  319. package/dist/assets/messagebundle_ja-J8eqPj7N.js +0 -1
  320. package/dist/assets/messagebundle_kk-BIeQLfxu.js +0 -1
  321. package/dist/assets/messagebundle_kk-DIOzUeHN.js +0 -1
  322. package/dist/assets/messagebundle_ko-B9_Ss1b5.js +0 -1
  323. package/dist/assets/messagebundle_ko-BLMVyKh5.js +0 -1
  324. package/dist/assets/messagebundle_lt-CbB2wq2X.js +0 -1
  325. package/dist/assets/messagebundle_lt-RzsUvi_1.js +0 -1
  326. package/dist/assets/messagebundle_lv-6quK3a4e.js +0 -1
  327. package/dist/assets/messagebundle_lv-BQO-79MM.js +0 -1
  328. package/dist/assets/messagebundle_mk-2lJhEAgI.js +0 -1
  329. package/dist/assets/messagebundle_mk-o-SATTof.js +0 -1
  330. package/dist/assets/messagebundle_ms-3Zupz0mA.js +0 -1
  331. package/dist/assets/messagebundle_ms-DnacCQys.js +0 -1
  332. package/dist/assets/messagebundle_nl-BVNQuB_K.js +0 -1
  333. package/dist/assets/messagebundle_nl-DTnHMKsv.js +0 -1
  334. package/dist/assets/messagebundle_nl-etaldyfo.js +0 -1
  335. package/dist/assets/messagebundle_no-BQMw-opH.js +0 -1
  336. package/dist/assets/messagebundle_no-OUP0Fraw.js +0 -1
  337. package/dist/assets/messagebundle_pl-BQW6qi8p.js +0 -1
  338. package/dist/assets/messagebundle_pl-PZiQh0Xy.js +0 -1
  339. package/dist/assets/messagebundle_pt-BlqCbnEN.js +0 -1
  340. package/dist/assets/messagebundle_pt-DEVzhHU_.js +0 -1
  341. package/dist/assets/messagebundle_pt_PT-BV1ec-3v.js +0 -1
  342. package/dist/assets/messagebundle_pt_PT-CL5hgi4Q.js +0 -1
  343. package/dist/assets/messagebundle_ro-D3lrScIy.js +0 -1
  344. package/dist/assets/messagebundle_ro-mHJ-r7ez.js +0 -1
  345. package/dist/assets/messagebundle_ru-BD3A7Zsx.js +0 -1
  346. package/dist/assets/messagebundle_ru-D7z2G7DP.js +0 -1
  347. package/dist/assets/messagebundle_sh-BoaW1EWP.js +0 -1
  348. package/dist/assets/messagebundle_sh-DXM15u1O.js +0 -1
  349. package/dist/assets/messagebundle_sk-Bjnhb-_D.js +0 -1
  350. package/dist/assets/messagebundle_sk-Clc7AaEc.js +0 -1
  351. package/dist/assets/messagebundle_sl-DJj-8V96.js +0 -1
  352. package/dist/assets/messagebundle_sr-Dsio4Srd.js +0 -1
  353. package/dist/assets/messagebundle_sr-w0tnyPzk.js +0 -1
  354. package/dist/assets/messagebundle_sv-B-KDauoz.js +0 -1
  355. package/dist/assets/messagebundle_sv-DCsGSCfn.js +0 -1
  356. package/dist/assets/messagebundle_th-D8qcTN_b.js +0 -1
  357. package/dist/assets/messagebundle_th-rPoqCsGu.js +0 -1
  358. package/dist/assets/messagebundle_tr-DIqpdL9d.js +0 -1
  359. package/dist/assets/messagebundle_tr-Dw7toCgs.js +0 -1
  360. package/dist/assets/messagebundle_uk-CycQpntH.js +0 -1
  361. package/dist/assets/messagebundle_uk-L4kmWPZY.js +0 -1
  362. package/dist/assets/messagebundle_vi-D1-iiI56.js +0 -1
  363. package/dist/assets/messagebundle_vi-wJJaYHj7.js +0 -1
  364. package/dist/assets/messagebundle_zh_CN-CIR_auXr.js +0 -1
  365. package/dist/assets/messagebundle_zh_CN-D3UfRQq7.js +0 -1
  366. package/dist/assets/messagebundle_zh_TW-CG9O1F7p.js +0 -1
  367. package/dist/assets/messagebundle_zh_TW-qc8ADbuf.js +0 -1
  368. package/dist/assets/parameters-bundle.css-BA_cQYjH.js +0 -2
  369. package/dist/assets/parameters-bundle.css-BBLk8nbD.js +0 -3
  370. package/dist/assets/parameters-bundle.css-B_rCq3Nc.js +0 -3
  371. package/dist/assets/parameters-bundle.css-CTw0R0y7.js +0 -2
  372. package/dist/assets/parameters-bundle.css-CV2FCAf_.js +0 -3
  373. package/dist/assets/parameters-bundle.css-CX7V5RGm.js +0 -3
  374. package/dist/assets/parameters-bundle.css-D9AHurfl.js +0 -2
  375. package/dist/assets/parameters-bundle.css-DENVM9pb.js +0 -3
  376. package/dist/assets/parameters-bundle.css-DHLZEUsz.js +0 -3
  377. package/dist/assets/parameters-bundle.css-DUAp19rB.js +0 -3
  378. package/dist/assets/parameters-bundle.css-Dp55UvXM.js +0 -3
  379. package/dist/assets/parameters-bundle.css-DpJfefgg.js +0 -3
  380. package/dist/assets/parameters-bundle.css-YNYQDxyY.js +0 -2
@@ -6,10 +6,11 @@ import UDExList from "./List.js";
6
6
  import UDExListItem from "./ListItem.js";
7
7
  import UDExListGroupHeader from "./ListGroupHeader.js";
8
8
  import UDExListSelectAll from "./ListSelectAll.js";
9
+ import { cleanLabel } from "./utils/listItemLabelUtils.js";
9
10
  export default function SearchableListBaseTemplate() {
10
11
  return (_jsxs(_Fragment, { children: [this.showSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { slot: "header", mode: UDExSearchMode.Standard, class: "udex-filter-menu__search", label: this.searchPlaceholder, "label-animation-disabled": true, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), this.isListEmpty ? (_jsxs("div", { class: "udex-no-result", children: [_jsx(IllustratedMessage, { name: "NoSearchResults", design: "Dot", "title-text": " ", "subtitle-text": " " }), _jsx("span", { children: this.getNoResultText })] })) : this.busy ? (_jsx(UDExBusyIndicator, { class: "udex-busy-indicator", size: "M", delay: this.busyDelay, active: true })) : (_jsx(UDExList, { id: "udex-list", role: this.roleForGroupList, "accessible-role": this.accessibleRoleForList, ...(this.isTreeStructure && this.modeMultiSelect ? { "aria-multiselectable": "true" } : {}), class: "udex-filter-menu__list", controlled: this.isControlled, mode: this.mode, type: this.type, "item-icon": this.itemIcon, children: this._filteredItems.map((processedItem, index) => (processedItem.isGroup
11
12
  ? renderGroup.call(this, processedItem, index)
12
- : renderListItem(processedItem.item, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent))) }))] }));
13
+ : renderListItem(processedItem.item, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect))) }))] }));
13
14
  }
14
15
  function renderGroup(processedItem, index) {
15
16
  return processedItem.item.isSelectAllHeader
@@ -19,15 +20,41 @@ function renderGroup(processedItem, index) {
19
20
  function renderSelectAll(processedItem, index) {
20
21
  const { item, groupItems } = processedItem;
21
22
  const header = item;
22
- return (_jsx(UDExListSelectAll, { "_additional-class-name": this.additionalClassName, "data-token-id": item._id, label: item.label, controlled: header.controlled, "supporting-text": item.supportingText, disabled: item.disabled, selected: item.selected, indeterminate: header.indeterminate, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, children: groupItems.map((child, i) => renderListItem(child, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
23
+ return (_jsx(UDExListSelectAll, { "_additional-class-name": this.additionalClassName, "data-token-id": item._id, label: item.label, controlled: header.controlled, "supporting-text": item.supportingText, disabled: item.disabled, selected: item.selected, indeterminate: header.indeterminate, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, children: groupItems.map((child, i) => renderListItem(child, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)) }, index));
23
24
  }
24
25
  function renderGroupHeader(processedItem, index) {
25
26
  const { item, groupItems } = processedItem;
26
27
  const header = item;
27
28
  const childAccessibleRole = this.isTreeStructure ? "treeitem" : undefined;
28
- return (_jsx(UDExListGroupHeader, { role: this.isTreeStructure ? "none" : "group", "_tree-mode": this.isTreeStructure || undefined, ...(index === 0 ? { "_no-border": "" } : {}), "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
29
+ // In aria-activedescendant mode (SelectBox), each group header host element
30
+ // must carry role + ARIA state so screen readers can reach them via the pointer.
31
+ const hostAriaAttrs = this._activeDescendantMode ? {
32
+ role: (this.isTreeStructure ? "treeitem" : "option"),
33
+ "aria-label": cleanLabel(item.label ?? ""),
34
+ "aria-selected": (this.modeMultiSelect ? undefined : (item.selected ? "true" : "false")),
35
+ "aria-checked": (this.modeMultiSelect ? (header.indeterminate ? "mixed" : (item.selected ? "true" : "false")) : undefined),
36
+ "aria-disabled": item.disabled ? "true" : undefined,
37
+ "aria-expanded": header.collapsible ? (header.expanded ? "true" : "false") : undefined,
38
+ "_use-host-aria-role": true,
39
+ } : { role: (this.isTreeStructure ? "none" : "group") };
40
+ return (_jsx(UDExListGroupHeader, { id: item._id, ...hostAriaAttrs, "_tree-mode": this.isTreeStructure || undefined, ...(index === 0 ? { "_no-border": "" } : {}), "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)) }, index));
29
41
  }
30
- function renderListItem(item, index, role, accessibleRole, onFirstIconClick, onSecondIconClick) {
31
- return (_jsx(UDExListItem, { role: role, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, image: item.image, "image-alt": item.imageAlt, "image-badge-state": item.imageBadgeState, "image-shape": item.imageShape, "image-size": item.imageSize, flag: item.flag, "flag-position": item.flagPosition, size: item.size, type: item.type, ...(accessibleRole ? { "accessible-role": accessibleRole } : {}), ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
42
+ function renderListItem(item, index, role, accessibleRole, onFirstIconClick, onSecondIconClick, activeDescendantMode, isTreeStructure, modeMultiSelect) {
43
+ // In aria-activedescendant mode (SelectBox), role + ARIA state must be on the
44
+ // host element so screen readers can reach them via the aria-activedescendant pointer.
45
+ const effectiveRole = accessibleRole ?? (role !== "none" ? role : undefined) ?? "option";
46
+ const hostRole = activeDescendantMode ? effectiveRole : role;
47
+ const hostAriaAttrs = activeDescendantMode ? {
48
+ "aria-label": "test",
49
+ // option role (listbox): always aria-selected; treeitem + MultiSelect: aria-checked only
50
+ "aria-selected": (effectiveRole !== "treeitem" || !modeMultiSelect) ? (item.selected ? "true" : "false") : undefined,
51
+ "aria-checked": (effectiveRole === "treeitem" && !!modeMultiSelect) ? (item.indeterminate ? "mixed" : (item.selected ? "true" : "false")) : undefined,
52
+ "aria-disabled": item.disabled ? "true" : undefined,
53
+ "_use-host-aria-role": true,
54
+ ...(accessibleRole ? { "accessible-role": accessibleRole } : {}),
55
+ } : {
56
+ ...(accessibleRole ? { "accessible-role": accessibleRole } : {}),
57
+ };
58
+ return (_jsx(UDExListItem, { id: item._id, role: hostRole, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, image: item.image, "image-alt": item.imageAlt, "image-badge-state": item.imageBadgeState, "image-shape": item.imageShape, "image-size": item.imageSize, flag: item.flag, "flag-position": item.flagPosition, size: item.size, type: item.type, ...hostAriaAttrs, ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
32
59
  }
33
60
  //# sourceMappingURL=SearchableListBaseTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n {...(this.isTreeStructure && this.modeMultiSelect ? { \"aria-multiselectable\": \"true\" } : {})}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}\n type={this.type}\n item-icon={this.itemIcon}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n const childAccessibleRole = this.isTreeStructure ? \"treeitem\" : undefined;\n return (\n <UDExListGroupHeader\n key={index}\n role={this.isTreeStructure ? \"none\" : \"group\"}\n _tree-mode={this.isTreeStructure || undefined}\n {...(index === 0 ? { \"_no-border\": \"\" } : {})}\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n) {\n return (\n <UDExListItem\n key={index}\n role={role as AriaRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n image={item.image}\n image-alt={item.imageAlt}\n image-badge-state={item.imageBadgeState}\n image-shape={item.imageShape}\n image-size={item.imageSize}\n flag={item.flag}\n flag-position={item.flagPosition}\n size={item.size}\n type={item.type}\n {...(accessibleRole ? { \"accessible-role\": accessibleRole } : {})}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
1
+ {"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":";AAGA,OAAO,UAAU,EAAE,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,kBAAkB,MAAM,qDAAqD,CAAC;AACrF,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,0BAA0B;IAChD,OAAO,CACL,8BACG,IAAI,CAAC,UAAU,IAAI,CAClB,8BACE,KAAC,UAAU,IACT,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,KAAK,EAAC,0BAA0B,EAChC,KAAK,EAAE,IAAI,CAAC,iBAAiB,wGAIlB,EACb,4BAAgB,QAAQ,iBAAa,MAAM,EAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,CAAC,oBAAoB,GAAQ,IAC5F,CACJ,EACA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,eAAK,KAAK,EAAC,gBAAgB,aACzB,KAAC,kBAAkB,IACjB,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAC,KAAK,gBACD,GAAG,mBACA,GAAG,GACE,EACrB,yBAAO,IAAI,CAAC,eAAe,GAAQ,IAC/B,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,KAAC,iBAAiB,IAChB,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,SACY,CACrB,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IACP,EAAE,EAAC,WAAW,EACd,IAAI,EAAE,IAAI,CAAC,gBAA4B,qBACtB,IAAI,CAAC,qBAAqB,KACvC,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5F,KAAK,EAAC,wBAAwB,EAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,eACJ,IAAI,CAAC,QAAQ,YACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CACjD,aAAa,CAAC,OAAO;oBACnB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC;oBAC9C,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC9N,CAAC,GACO,CACZ,IACA,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAA+B,aAAgC,EAAE,KAAa;IAChG,OAAQ,aAAa,CAAC,IAAgC,CAAC,iBAAiB;QACtE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC;QAClD,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAA+B,aAAgC,EAAE,KAAa;IACpG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAC3C,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,OAAO,CACL,KAAC,iBAAiB,8BAEQ,IAAI,CAAC,mBAAmB,mBACjC,IAAI,CAAC,GAAG,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,MAAM,CAAC,UAAU,qBACZ,IAAI,CAAC,cAAc,EACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,EAC9C,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,YAC/C,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,cAAc,CAAC,KAAqB,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC5M,IAbI,KAAK,CAcQ,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAA+B,aAAgC,EAAE,KAAa;IACtG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAC3C,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,4EAA4E;IAC5E,iFAAiF;IACjF,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAa;QAChE,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAuB;QAC9G,cAAc,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAuB;QAChJ,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAgB,CAAC,CAAC,CAAC,SAAS;QAC7D,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAgB,CAAC,CAAC,CAAC,OAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1G,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAa,EAAE,CAAC;IACpE,OAAO,CACL,KAAC,mBAAmB,IAElB,EAAE,EAAE,IAAI,CAAC,GAAG,KACR,aAAa,gBACL,IAAI,CAAC,eAAe,IAAI,SAAS,KACzC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,4BACtB,8BAA8B,EACrD,KAAK,EAAE,IAAI,CAAC,cAAc,qBACT,MAAM,CAAC,cAAc,mBACvB,IAAI,CAAC,GAAG,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,qBACA,IAAI,CAAC,cAAc,EACpC,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,EAC9C,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,EAChD,aAAa,EAAE,MAAM,CAAC,aAAa,YAClC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,cAAc,CAAC,KAAqB,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC3M,IAtBI,KAAK,CAuBU,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAAkB,EAClB,KAAa,EACb,IAAY,EACZ,cAAkC,EAClC,gBAA0C,EAC1C,iBAA2C,EAC3C,oBAA8B,EAC9B,eAAyB,EACzB,eAAyB;IAEzB,8EAA8E;IAC9E,uFAAuF;IACvF,MAAM,aAAa,GAAG,cAAc,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;IACzF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAE,aAA0B,CAAC,CAAC,CAAE,IAAiB,CAAC;IACzF,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,CAAC;QAC3C,YAAY,EAAE,MAAM;QACpB,yFAAyF;QACzF,eAAe,EAAE,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAW,CAAC,CAAC,CAAC,SAAS;QAC9H,cAAc,EAAE,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAW,CAAC,CAAC,CAAC,SAAS;QAC/J,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAgB,CAAC,CAAC,CAAC,SAAS;QAC7D,qBAAqB,EAAE,IAAI;QAC3B,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC,CAAC;QACF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;IACF,OAAO,CACL,KAAC,YAAY,IAEX,EAAE,EAAE,IAAI,CAAC,GAAG,EACZ,IAAI,EAAE,QAAQ,mBACC,IAAI,CAAC,GAAG,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,qBACnB,IAAI,CAAC,cAAc,qBACnB,IAAI,CAAC,cAAc,2BACb,IAAI,CAAC,mBAAmB,EAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,iBACN,IAAI,CAAC,UAAU,kBACd,IAAI,CAAC,WAAW,gBAClB,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,eACN,IAAI,CAAC,QAAQ,uBACL,IAAI,CAAC,eAAe,iBAC1B,IAAI,CAAC,UAAU,gBAChB,IAAI,CAAC,SAAS,EAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,mBACA,IAAI,CAAC,YAAY,EAChC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,KACX,aAAa,KACb,CAAE,IAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAG,IAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IA7BhG,KAAK,CA8BG,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n {...(this.isTreeStructure && this.modeMultiSelect ? { \"aria-multiselectable\": \"true\" } : {})}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}\n type={this.type}\n item-icon={this.itemIcon}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n const childAccessibleRole = this.isTreeStructure ? \"treeitem\" : undefined;\n // In aria-activedescendant mode (SelectBox), each group header host element\n // must carry role + ARIA state so screen readers can reach them via the pointer.\n const hostAriaAttrs = this._activeDescendantMode ? {\n role: (this.isTreeStructure ? \"treeitem\" : \"option\") as AriaRole,\n \"aria-label\": cleanLabel(item.label ?? \"\"),\n \"aria-selected\": (this.modeMultiSelect ? undefined : (item.selected ? \"true\" : \"false\")) as string | undefined,\n \"aria-checked\": (this.modeMultiSelect ? (header.indeterminate ? \"mixed\" : (item.selected ? \"true\" : \"false\")) : undefined) as string | undefined,\n \"aria-disabled\": item.disabled ? \"true\" as string : undefined,\n \"aria-expanded\": header.collapsible ? (header.expanded ? \"true\" as string : \"false\" as string) : undefined,\n \"_use-host-aria-role\": true,\n } : { role: (this.isTreeStructure ? \"none\" : \"group\") as AriaRole };\n return (\n <UDExListGroupHeader\n key={index}\n id={item._id}\n {...hostAriaAttrs}\n _tree-mode={this.isTreeStructure || undefined}\n {...(index === 0 ? { \"_no-border\": \"\" } : {})}\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n activeDescendantMode?: boolean,\n isTreeStructure?: boolean,\n modeMultiSelect?: boolean,\n) {\n // In aria-activedescendant mode (SelectBox), role + ARIA state must be on the\n // host element so screen readers can reach them via the aria-activedescendant pointer.\n const effectiveRole = accessibleRole ?? (role !== \"none\" ? role : undefined) ?? \"option\";\n const hostRole = activeDescendantMode ? (effectiveRole as AriaRole) : (role as AriaRole);\n const hostAriaAttrs = activeDescendantMode ? {\n \"aria-label\": \"test\",\n // option role (listbox): always aria-selected; treeitem + MultiSelect: aria-checked only\n \"aria-selected\": (effectiveRole !== \"treeitem\" || !modeMultiSelect) ? (item.selected ? \"true\" : \"false\") as string : undefined,\n \"aria-checked\": (effectiveRole === \"treeitem\" && !!modeMultiSelect) ? (item.indeterminate ? \"mixed\" : (item.selected ? \"true\" : \"false\")) as string : undefined,\n \"aria-disabled\": item.disabled ? \"true\" as string : undefined,\n \"_use-host-aria-role\": true,\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n } : {\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n };\n return (\n <UDExListItem\n key={index}\n id={item._id}\n role={hostRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n image={item.image}\n image-alt={item.imageAlt}\n image-badge-state={item.imageBadgeState}\n image-shape={item.imageShape}\n image-size={item.imageSize}\n flag={item.flag}\n flag-position={item.flagPosition}\n size={item.size}\n type={item.type}\n {...hostAriaAttrs}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
@@ -120,6 +120,22 @@ declare class UDExSelectBase extends UDExSearchableListBase {
120
120
  * @private
121
121
  */
122
122
  _requestRender: boolean;
123
+ /**
124
+ * True while keyboard list navigation is active (aria-activedescendant set).
125
+ * Used in CSS to suppress the input focus ring and show the active item ring.
126
+ *
127
+ * @private
128
+ */
129
+ _navigating: boolean;
130
+ /**
131
+ * Text read by screen readers when the active item changes.
132
+ * Announced via an aria-live="assertive" region in the template.
133
+ * This works regardless of shadow DOM / popover teleportation because
134
+ * the live region lives inside SelectBox's own shadow root.
135
+ *
136
+ * @private
137
+ */
138
+ _liveRegionText: string;
123
139
  /**
124
140
  * Defines the footer content for the component dropdown.
125
141
  * Place any content (e.g. an action button) here. Clicking footer content does not close the dropdown —
@@ -144,14 +160,35 @@ declare class UDExSelectBase extends UDExSearchableListBase {
144
160
  _handleResizeBound: ResizeObserverCallback;
145
161
  _handleListKeyDownBound: (e: KeyboardEvent) => void;
146
162
  _listKeyDownListenerAdded: boolean;
163
+ _activeDescendantItem: UDExListItemBase | null;
147
164
  constructor();
148
165
  onEnterDOM(): void;
149
166
  onExitDOM(): void;
150
167
  onInvalidation({ name }: ChangeInfo): void;
151
168
  onAfterRendering(): void;
152
169
  _handleResize(): void;
170
+ /**
171
+ * Given a candidate index, skips over a non-interactive non-collapsible header if needed.
172
+ * Returns the effective target index.
173
+ */
174
+ _skipNonInteractive(items: UDExListItemBase[], raw: number, lastIndex: number, direction: "down" | "up"): number;
175
+ /**
176
+ * Sets or clears the aria-activedescendant on the combobox input and updates
177
+ * the aria-live region so JAWS/VoiceOver announce the item name and position.
178
+ * The live region is the primary announcement mechanism because aria-activedescendant
179
+ * across a UI5 Popover (which teleports content to document.body) is unreliable —
180
+ * screen readers cannot follow the ID reference across shadow root boundaries.
181
+ */
182
+ _setActiveDescendant(item: UDExListItemBase | null, scroll?: boolean): void;
183
+ /**
184
+ * Activates the first navigable item as the aria-activedescendant without moving DOM focus.
185
+ */
186
+ _activateFirstItem(): void;
187
+ /**
188
+ * Navigates to the item at the given index, updating aria-activedescendant and _selectedOption.
189
+ */
190
+ _navigateToIndex(items: UDExListItemBase[], nextIndex: number): void;
153
191
  handleKeyDownDropdown(e: KeyboardEvent): void;
154
- handleListNavigationKeys(e: KeyboardEvent, items: UDExListItemBase[], effectiveTarget?: UDExListItemBase): void;
155
192
  handleEndKeyPress(items: UDExListItemBase[], lastItemIndex: number): void;
156
193
  handleHomeKeyPress(items: UDExListItemBase[]): void;
157
194
  handleDownKeyPress(items: UDExListItemBase[], currentSelectedIndex: number, lastItemIndex: number): void;
@@ -161,10 +198,24 @@ declare class UDExSelectBase extends UDExSearchableListBase {
161
198
  handleItemSelection(e: CustomEvent): void;
162
199
  onKeyDownSearch(e: KeyboardEvent): void;
163
200
  handleSearchChange(e: InputEvent): void;
201
+ onSearch(value: string): void;
164
202
  handleDirection(): void;
165
203
  handleDropdownBeforeClose(): void;
166
204
  dropdownBeforeOpen(): void;
167
205
  handleDropdownOpen(): void;
206
+ /**
207
+ * Announces the currently active descendant item (if set), or the first
208
+ * navigable item as a fallback. Used on open and after state changes.
209
+ */
210
+ _announceCurrentOrFirst(): void;
211
+ /**
212
+ * Returns the positional announcement text for an item, tree-aware when the
213
+ * list has groups. Matches the JAWS reading pattern of FilterMenu:
214
+ * group header → "level 0, X of Y" (Y = total navigable groups)
215
+ * group child → "level 1, X of Y" (Y = siblings in that group)
216
+ * flat item → "X of Y" (Y = total items, no level prefix)
217
+ */
218
+ _treePositionText(item: UDExListItemBase): string;
168
219
  fireEventDropdownBeforeOClose(): void;
169
220
  fireEventDropdownBeforeOpen(): void;
170
221
  fireEventDropdownOpen(): void;
@@ -200,6 +251,16 @@ declare class UDExSelectBase extends UDExSearchableListBase {
200
251
  _focusLastListItem(): void;
201
252
  _firstFocusableIn(el: Element | undefined): HTMLElement | null;
202
253
  _moveFocusAfterComponent(): void;
254
+ /**
255
+ * Builds the state portion of the live region announcement for a navigation item.
256
+ * Returns an array of state strings (e.g. ["collapsed", "Checked"]) to be joined
257
+ * with the label and position. Handles:
258
+ * - collapsible group headers: expanded / collapsed
259
+ * - MultiSelect: Checked / Unchecked / Indeterminate
260
+ * - SingleSelect (tree): Selected / Unselected
261
+ * - disabled: Disabled
262
+ */
263
+ _itemStateLabels(item: UDExListItemBase): string[];
203
264
  get ariaDescribedbyText(): string;
204
265
  get trigger(): HTMLElement;
205
266
  get isDisabled(): boolean;
@@ -212,6 +273,9 @@ declare class UDExSelectBase extends UDExSearchableListBase {
212
273
  };
213
274
  get popoverId(): string;
214
275
  get listboxRole(): AriaHasPopup;
276
+ get listAriaControlsId(): string;
277
+ get _activeDescendantMode(): boolean;
278
+ get isTreeStructure(): boolean;
215
279
  get hideDropdownSearch(): boolean;
216
280
  get showImageFlags(): boolean;
217
281
  get searchableList(): object;