@sapudex/web-components 2.58.0 → 2.60.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 (471) hide show
  1. package/cypress/specs/SelectBox.cy.tsx +355 -249
  2. package/cypress/specs/TabNavigation.cy.tsx +54 -0
  3. package/cypress/specs/TagGroup.cy.tsx +1 -1
  4. package/dist/ListGroupHeaderBase.js +9 -0
  5. package/dist/ListGroupHeaderBase.js.map +1 -1
  6. package/dist/ListGroupHeaderTemplate.js +15 -1
  7. package/dist/ListGroupHeaderTemplate.js.map +1 -1
  8. package/dist/MastheadCountrySelectorTemplate.js +1 -1
  9. package/dist/MastheadCountrySelectorTemplate.js.map +1 -1
  10. package/dist/RatingIndicatorTemplate.js +1 -1
  11. package/dist/RatingIndicatorTemplate.js.map +1 -1
  12. package/dist/SecondaryNavigation.js +3 -3
  13. package/dist/SecondaryNavigation.js.map +1 -1
  14. package/dist/SecondaryNavigationItem.d.ts +0 -1
  15. package/dist/SecondaryNavigationItem.js +4 -6
  16. package/dist/SecondaryNavigationItem.js.map +1 -1
  17. package/dist/SecondaryNavigationItemBase.js +2 -2
  18. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  19. package/dist/SecondaryNavigationItemTemplate.d.ts +2 -0
  20. package/dist/SecondaryNavigationItemTemplate.js +12 -0
  21. package/dist/SecondaryNavigationItemTemplate.js.map +1 -0
  22. package/dist/SecondaryNavigationSubItem.d.ts +0 -2
  23. package/dist/SecondaryNavigationSubItem.js +3 -7
  24. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  25. package/dist/SecondaryNavigationSubItemTemplate.d.ts +2 -0
  26. package/dist/SecondaryNavigationSubItemTemplate.js +16 -0
  27. package/dist/SecondaryNavigationSubItemTemplate.js.map +1 -0
  28. package/dist/SecondaryNavigationTemplate.d.ts +2 -0
  29. package/dist/SecondaryNavigationTemplate.js +7 -0
  30. package/dist/SecondaryNavigationTemplate.js.map +1 -0
  31. package/dist/SelectBase.d.ts +7 -2
  32. package/dist/SelectBase.js +26 -38
  33. package/dist/SelectBase.js.map +1 -1
  34. package/dist/SideNavigationMobile.d.ts +2 -3
  35. package/dist/SideNavigationMobile.js +22 -16
  36. package/dist/SideNavigationMobile.js.map +1 -1
  37. package/dist/SideNavigationMobileTemplate.d.ts +2 -0
  38. package/dist/SideNavigationMobileTemplate.js +11 -0
  39. package/dist/SideNavigationMobileTemplate.js.map +1 -0
  40. package/dist/TabNavigation.d.ts +12 -0
  41. package/dist/TabNavigation.js +17 -0
  42. package/dist/TabNavigation.js.map +1 -1
  43. package/dist/TabNavigationTemplate.js +1 -1
  44. package/dist/TabNavigationTemplate.js.map +1 -1
  45. package/dist/TagGroup.d.ts +2 -2
  46. package/dist/TagGroup.js +14 -3
  47. package/dist/TagGroup.js.map +1 -1
  48. package/dist/assets/InputSuggestions-DyNcKgip.js +2 -0
  49. package/dist/assets/{ListItemStandardExpandableTextTemplate-D2i8wWuR.js → ListItemStandardExpandableTextTemplate-qdKPzaOQ.js} +1 -1
  50. package/dist/assets/{ar-6UKwJun6.js → ar-CMU2PGtw.js} +1 -1
  51. package/dist/assets/{ar_EG-BTSal4jr.js → ar_EG-Bi2CIb24.js} +1 -1
  52. package/dist/assets/{ar_SA-Ck13AOrQ.js → ar_SA-BXTzBfWR.js} +1 -1
  53. package/dist/assets/{bg-fF9FXKHH.js → bg-B6_PMtzW.js} +1 -1
  54. package/dist/assets/{bundle.esm-BjN47C_y.js → bundle.esm-sUYwSJOp.js} +244 -262
  55. package/dist/assets/{ca-ZuvXTynI.js → ca-DFP6ILMq.js} +1 -1
  56. package/dist/assets/{cnr-CiidS6E_.js → cnr-Grlu3JuX.js} +1 -1
  57. package/dist/assets/{cs-CKH0PBiM.js → cs-lgNqqL4u.js} +1 -1
  58. package/dist/assets/{da-DLJy-V4w.js → da-ZKggtzGq.js} +1 -1
  59. package/dist/assets/{de-0N92OkSB.js → de-DL1zgfsi.js} +1 -1
  60. package/dist/assets/{de_AT-D8g7Tth2.js → de_AT-CmarUHhe.js} +1 -1
  61. package/dist/assets/{de_CH-DYTcKEqU.js → de_CH-CFp86jVo.js} +1 -1
  62. package/dist/assets/{el-OYZuNIHv.js → el-FdvefiDT.js} +1 -1
  63. package/dist/assets/{el_CY-D79vuMAa.js → el_CY-BJPkkKi8.js} +1 -1
  64. package/dist/assets/{en-CllNN7YY.js → en-B1Q_JFFb.js} +1 -1
  65. package/dist/assets/{en_AU-Ddrviu44.js → en_AU-Bm6lcfFm.js} +1 -1
  66. package/dist/assets/{en_GB-B9eSErHy.js → en_GB-CCipb5dG.js} +1 -1
  67. package/dist/assets/{en_HK-FdAjB4tQ.js → en_HK-Bu8Js72H.js} +1 -1
  68. package/dist/assets/{en_IE-zdmtzUDu.js → en_IE-BZXJHeYM.js} +1 -1
  69. package/dist/assets/{en_IN-DJJRjMIF.js → en_IN-Dh3537uv.js} +1 -1
  70. package/dist/assets/{en_NZ-BY--qj4s.js → en_NZ-Bx3mG4fb.js} +1 -1
  71. package/dist/assets/{en_PG-RcJi2hvJ.js → en_PG-CyRO9VGd.js} +1 -1
  72. package/dist/assets/{en_SG-BUtJMBS2.js → en_SG-BEsuw651.js} +1 -1
  73. package/dist/assets/{en_ZA-D-uqJ4Za.js → en_ZA-i0tdkruX.js} +1 -1
  74. package/dist/assets/{es-DgitLRHt.js → es-BKtAFDBk.js} +1 -1
  75. package/dist/assets/{es_AR-7a81KXAl.js → es_AR-Cgh6Q2W_.js} +1 -1
  76. package/dist/assets/{es_BO-CdNGyTgv.js → es_BO-CaK9OOQC.js} +1 -1
  77. package/dist/assets/{es_CL-DuHBIVFo.js → es_CL-u6fJ6PPk.js} +1 -1
  78. package/dist/assets/{es_CO-C0CJWwB-.js → es_CO-DAO-13dw.js} +1 -1
  79. package/dist/assets/{es_MX-DtPgyxGD.js → es_MX-D1KhXUy4.js} +1 -1
  80. package/dist/assets/{es_PE-DGF7Yjrt.js → es_PE-DEUen4VG.js} +1 -1
  81. package/dist/assets/{es_UY-fD9lVhfR.js → es_UY-CPBMwHSz.js} +1 -1
  82. package/dist/assets/{es_VE-BX3pigg8.js → es_VE-CNZouG2K.js} +1 -1
  83. package/dist/assets/{et-BMj4rjsT.js → et-DNQPssPo.js} +1 -1
  84. package/dist/assets/{fa-CQhbGi8S.js → fa-4zj1zCg1.js} +1 -1
  85. package/dist/assets/{fi-DBKA9_K5.js → fi-C6HFNTL6.js} +1 -1
  86. package/dist/assets/{fr-CMQtkd4R.js → fr-BydrHZkq.js} +1 -1
  87. package/dist/assets/{fr_BE-Bl0FruWm.js → fr_BE-C8hcZNOL.js} +1 -1
  88. package/dist/assets/{fr_CA-DFlIL_d4.js → fr_CA-Cw2zy44G.js} +1 -1
  89. package/dist/assets/{fr_CH-C8lyCDBe.js → fr_CH-BbCQFx3s.js} +1 -1
  90. package/dist/assets/{fr_LU-CG5r3b1-.js → fr_LU-BpH6nMiI.js} +1 -1
  91. package/dist/assets/{he-D3P1Q9GQ.js → he-CfKmVVrF.js} +1 -1
  92. package/dist/assets/{hi-B3yky8gy.js → hi-D1WBUmI6.js} +1 -1
  93. package/dist/assets/{hr-cQ9G2h7E.js → hr-pnk2hlkB.js} +1 -1
  94. package/dist/assets/{hu-D0ywysYs.js → hu-CCzBj3iT.js} +1 -1
  95. package/dist/assets/{id-B-yAWgiT.js → id-BeGrqJpK.js} +1 -1
  96. package/dist/assets/{it-DLzjbv-9.js → it-B6Mz1czr.js} +1 -1
  97. package/dist/assets/{it_CH-DKz1oDNC.js → it_CH-CwPXoj3N.js} +1 -1
  98. package/dist/assets/{ja-C8zg_Zor.js → ja-BILluLT2.js} +1 -1
  99. package/dist/assets/{kk-DZZOQ4wh.js → kk-YSUtf5Jy.js} +1 -1
  100. package/dist/assets/{ko-BEJWYeL9.js → ko-DUlXl0QQ.js} +1 -1
  101. package/dist/assets/{lt-Cji-Zk_r.js → lt-Dn5sAAtt.js} +1 -1
  102. package/dist/assets/{lv-rjxWTRTn.js → lv-D_k8IElJ.js} +1 -1
  103. package/dist/assets/messagebundle_ar-C3EXytoC.js +1 -0
  104. package/dist/assets/messagebundle_ar-DmZrrjEF.js +1 -0
  105. package/dist/assets/messagebundle_bg-BaZ97Q_b.js +1 -0
  106. package/dist/assets/messagebundle_bg-CgU7GPvK.js +1 -0
  107. package/dist/assets/messagebundle_ca-BwjVUbUA.js +1 -0
  108. package/dist/assets/messagebundle_ca-YiUGbO_8.js +1 -0
  109. package/dist/assets/messagebundle_cnr-CN2hPZIN.js +1 -0
  110. package/dist/assets/messagebundle_cnr-zdEdPJvc.js +1 -0
  111. package/dist/assets/messagebundle_cs-CGbnEjza.js +1 -0
  112. package/dist/assets/messagebundle_cs-DmRWH--o.js +1 -0
  113. package/dist/assets/messagebundle_cy-BF0YH9Iz.js +1 -0
  114. package/dist/assets/messagebundle_cy-CUiGsjO6.js +1 -0
  115. package/dist/assets/messagebundle_da-CWKLQJiq.js +1 -0
  116. package/dist/assets/messagebundle_da-bTkr4pUc.js +1 -0
  117. package/dist/assets/messagebundle_de-BmnClk4G.js +1 -0
  118. package/dist/assets/messagebundle_de-vB6qhgvG.js +1 -0
  119. package/dist/assets/messagebundle_el-DKdItEgW.js +1 -0
  120. package/dist/assets/messagebundle_el-Gv1Ly8aj.js +1 -0
  121. package/dist/assets/messagebundle_en-DbKo-Dkl.js +1 -0
  122. package/dist/assets/messagebundle_en-DcV886MF.js +1 -0
  123. package/dist/assets/messagebundle_en_GB-Be93_Z4H.js +1 -0
  124. package/dist/assets/messagebundle_en_GB-CFh7e8hQ.js +1 -0
  125. package/dist/assets/messagebundle_en_US_sappsd-HCarC-Yr.js +1 -0
  126. package/dist/assets/messagebundle_en_US_sappsd-Se8GgI58.js +1 -0
  127. package/dist/assets/messagebundle_en_US_saprigi-CCHFk7YZ.js +1 -0
  128. package/dist/assets/messagebundle_en_US_saprigi-CbfvaHUL.js +1 -0
  129. package/dist/assets/messagebundle_en_US_saptrc-B8AIRzlo.js +1 -0
  130. package/dist/assets/messagebundle_en_US_saptrc-yJ3PcdEm.js +1 -0
  131. package/dist/assets/messagebundle_es-BH-a8BxO.js +1 -0
  132. package/dist/assets/messagebundle_es-Dt93wbGV.js +1 -0
  133. package/dist/assets/messagebundle_es_MX-BedlYlF3.js +1 -0
  134. package/dist/assets/messagebundle_es_MX-COPqooo9.js +1 -0
  135. package/dist/assets/messagebundle_et-BsYgDw46.js +1 -0
  136. package/dist/assets/messagebundle_et-UwpqUE-p.js +1 -0
  137. package/dist/assets/messagebundle_fi-BN3UWEz0.js +1 -0
  138. package/dist/assets/messagebundle_fi-Cwf7Puui.js +1 -0
  139. package/dist/assets/messagebundle_fr-43w09LAE.js +1 -0
  140. package/dist/assets/messagebundle_fr-CVRaf9_H.js +1 -0
  141. package/dist/assets/messagebundle_fr_CA-BM04X6xU.js +1 -0
  142. package/dist/assets/messagebundle_fr_CA-CdnVYumi.js +1 -0
  143. package/dist/assets/messagebundle_hi-DfeonbAH.js +1 -0
  144. package/dist/assets/messagebundle_hi-JRJlP9Uh.js +1 -0
  145. package/dist/assets/messagebundle_hr-CKOnn34q.js +1 -0
  146. package/dist/assets/messagebundle_hr-CbyIBlH3.js +1 -0
  147. package/dist/assets/messagebundle_hu-DF1gQudE.js +1 -0
  148. package/dist/assets/messagebundle_hu-D_IQ9kTy.js +1 -0
  149. package/dist/assets/messagebundle_id-B0K1usj4.js +1 -0
  150. package/dist/assets/messagebundle_id-gDJYoaGq.js +1 -0
  151. package/dist/assets/messagebundle_it-B80_R2Ih.js +1 -0
  152. package/dist/assets/messagebundle_it-CVqU4g6t.js +1 -0
  153. package/dist/assets/messagebundle_iw-BoelOIS4.js +1 -0
  154. package/dist/assets/messagebundle_iw-iMDtLxaa.js +1 -0
  155. package/dist/assets/messagebundle_ja-BlRbv4vb.js +1 -0
  156. package/dist/assets/messagebundle_ja-BrDH-19-.js +1 -0
  157. package/dist/assets/messagebundle_kk-C7VPek1-.js +1 -0
  158. package/dist/assets/messagebundle_kk-DhAT_bim.js +1 -0
  159. package/dist/assets/messagebundle_ko-CIqP8x6n.js +1 -0
  160. package/dist/assets/messagebundle_ko-DgD6uyZ5.js +1 -0
  161. package/dist/assets/messagebundle_lt-BGK5mpcm.js +1 -0
  162. package/dist/assets/messagebundle_lt-BV0kKrY0.js +1 -0
  163. package/dist/assets/messagebundle_lv-5IcjoxWD.js +1 -0
  164. package/dist/assets/messagebundle_lv-DDBi7iKe.js +1 -0
  165. package/dist/assets/messagebundle_mk-BUrn04sZ.js +1 -0
  166. package/dist/assets/messagebundle_mk-P5veRdg2.js +1 -0
  167. package/dist/assets/messagebundle_ms-9VDLR5en.js +1 -0
  168. package/dist/assets/messagebundle_ms-CB8sQUg2.js +1 -0
  169. package/dist/assets/messagebundle_nl-BaAgPO7h.js +1 -0
  170. package/dist/assets/messagebundle_nl-f1Up3dB9.js +1 -0
  171. package/dist/assets/messagebundle_no-C-_ldp7o.js +1 -0
  172. package/dist/assets/messagebundle_no-DRSqWQ-C.js +1 -0
  173. package/dist/assets/messagebundle_pl-BQoPaokq.js +1 -0
  174. package/dist/assets/messagebundle_pl-DBO1atMe.js +1 -0
  175. package/dist/assets/messagebundle_pt-BNEglYxa.js +1 -0
  176. package/dist/assets/messagebundle_pt-DgAMHmW-.js +1 -0
  177. package/dist/assets/messagebundle_pt_PT-BtYzp9KB.js +1 -0
  178. package/dist/assets/messagebundle_pt_PT-D1Ef8kUU.js +1 -0
  179. package/dist/assets/messagebundle_ro-CuDPp2fe.js +1 -0
  180. package/dist/assets/messagebundle_ro-D591wJ6f.js +1 -0
  181. package/dist/assets/messagebundle_ru-D0NridWi.js +1 -0
  182. package/dist/assets/messagebundle_ru-I8YLCfrn.js +1 -0
  183. package/dist/assets/messagebundle_sh-BswdbSRi.js +1 -0
  184. package/dist/assets/messagebundle_sh-Dw2y_oct.js +1 -0
  185. package/dist/assets/messagebundle_sk-BG4S4ZVk.js +1 -0
  186. package/dist/assets/messagebundle_sk-CXOF1RuF.js +1 -0
  187. package/dist/assets/messagebundle_sl-CAnJO_8X.js +1 -0
  188. package/dist/assets/messagebundle_sl-kpVWxIp_.js +1 -0
  189. package/dist/assets/messagebundle_sr-BTWvO8VQ.js +1 -0
  190. package/dist/assets/messagebundle_sr-VJmRSdj4.js +1 -0
  191. package/dist/assets/messagebundle_sv-B-RCgnW_.js +1 -0
  192. package/dist/assets/messagebundle_sv-Bd4wCcDb.js +1 -0
  193. package/dist/assets/messagebundle_th-CMHmLdI3.js +1 -0
  194. package/dist/assets/messagebundle_th-CZ1imsCy.js +1 -0
  195. package/dist/assets/messagebundle_tr-BfWAYIdW.js +1 -0
  196. package/dist/assets/messagebundle_tr-D-BnBirv.js +1 -0
  197. package/dist/assets/messagebundle_uk-DhxIThVl.js +1 -0
  198. package/dist/assets/messagebundle_uk-HU8hI0yj.js +1 -0
  199. package/dist/assets/messagebundle_vi-BUTqUKd4.js +1 -0
  200. package/dist/assets/messagebundle_vi-D1El4_Wj.js +1 -0
  201. package/dist/assets/messagebundle_zh_CN-Dt0azUea.js +1 -0
  202. package/dist/assets/messagebundle_zh_CN-Ofgx2uXY.js +1 -0
  203. package/dist/assets/messagebundle_zh_TW-5lv7yYS1.js +1 -0
  204. package/dist/assets/messagebundle_zh_TW-LSErOAsd.js +1 -0
  205. package/dist/assets/{mk-9_dtu4u_.js → mk-DTLhuyCG.js} +1 -1
  206. package/dist/assets/{ms-9b0nct8m.js → ms-BrLiVOVI.js} +1 -1
  207. package/dist/assets/{nb-CbGeVRux.js → nb-BeQEL0TR.js} +1 -1
  208. package/dist/assets/{nl-C0vlsmuT.js → nl-CGAh49hZ.js} +1 -1
  209. package/dist/assets/{nl_BE-Cteh34au.js → nl_BE-CxJbQu5q.js} +1 -1
  210. package/dist/assets/{parameters-bundle.css-D7WciSOr.js → parameters-bundle.css-B68EyCuR.js} +2 -0
  211. package/dist/assets/{parameters-bundle.css-CT-eTeTy.js → parameters-bundle.css-BkJSEiFx.js} +2 -0
  212. package/dist/assets/{parameters-bundle.css-BXQ-0CBp.js → parameters-bundle.css-C5V2Zp_F.js} +2 -0
  213. package/dist/assets/{parameters-bundle.css-XYDTPt-n.js → parameters-bundle.css-COeynv6D.js} +3 -1
  214. package/dist/assets/parameters-bundle.css-CnIzAMdG.js +3 -0
  215. package/dist/assets/parameters-bundle.css-CsV5qbZp.js +3 -0
  216. package/dist/assets/{parameters-bundle.css-C7KCPeJ8.js → parameters-bundle.css-DCvHNL3s.js} +1 -1
  217. package/dist/assets/{parameters-bundle.css-CQFZmxYm.js → parameters-bundle.css-DK40uKOQ.js} +1 -1
  218. package/dist/assets/parameters-bundle.css-DMfTAqMv.js +2 -0
  219. package/dist/assets/parameters-bundle.css-DO35k9r0.js +2 -0
  220. package/dist/assets/parameters-bundle.css-Df7wtRW4.js +2 -0
  221. package/dist/assets/{parameters-bundle.css-CxjtOlRD.js → parameters-bundle.css-DmEWEk0u.js} +36 -28
  222. package/dist/assets/{parameters-bundle.css-CSUOmZKr.js → parameters-bundle.css-DvAfqdlT.js} +1 -1
  223. package/dist/assets/{parameters-bundle.css-DPz62M1p.js → parameters-bundle.css-K-MvKimD.js} +3 -1
  224. package/dist/assets/parameters-bundle.css-KoXGNyLG.js +3 -0
  225. package/dist/assets/{parameters-bundle.css-CLLnzh9T.js → parameters-bundle.css-P_M_rm9z.js} +1 -1
  226. package/dist/assets/parameters-bundle.css-UJIxXHL5.js +2 -0
  227. package/dist/assets/{parameters-bundle.css-V2I5eOdH.js → parameters-bundle.css-co26r5Nz.js} +1 -1
  228. package/dist/assets/parameters-bundle.css-uT62L0va.js +3 -0
  229. package/dist/assets/{parameters-bundle.css-Cmk27zY9.js → parameters-bundle.css-vNsSPPU5.js} +38 -31
  230. package/dist/assets/{pl-CDjXMBDR.js → pl-DaZJCEN3.js} +1 -1
  231. package/dist/assets/{pt-BXklB5_T.js → pt-RxoGfR56.js} +1 -1
  232. package/dist/assets/{pt_PT-DEzSdlMb.js → pt_PT-CuC22O4H.js} +1 -1
  233. package/dist/assets/{ro-bFLE5ZuX.js → ro-kcCACdbI.js} +1 -1
  234. package/dist/assets/{ru-DuGdFJZn.js → ru-BQzoU2Gq.js} +1 -1
  235. package/dist/assets/{ru_UA-DujiLlPN.js → ru_UA-BtdbuqWW.js} +1 -1
  236. package/dist/assets/{sk-GkzEgQor.js → sk-D4C2H17S.js} +1 -1
  237. package/dist/assets/{sl-BhuoMxwQ.js → sl-7ESgddjQ.js} +1 -1
  238. package/dist/assets/{sr-Bb668mIq.js → sr-m2FCxV00.js} +1 -1
  239. package/dist/assets/{sr_Latn-C61cXg9o.js → sr_Latn-Dh8ru1_a.js} +1 -1
  240. package/dist/assets/{sv-yft9g0aL.js → sv-DkcDHqsr.js} +1 -1
  241. package/dist/assets/{th-BiAki51N.js → th-sJeg9F0h.js} +1 -1
  242. package/dist/assets/{tr-DDt0vBOs.js → tr-C2e7ABy0.js} +1 -1
  243. package/dist/assets/{uk-A-zqF2vZ.js → uk-Cdp63d6T.js} +1 -1
  244. package/dist/assets/{vi-Bleu1lwm.js → vi-DuFuMCO2.js} +1 -1
  245. package/dist/assets/{zh_CN-kJCGkFOs.js → zh_CN-BOAGYFIg.js} +1 -1
  246. package/dist/assets/{zh_HK-BJMkT2Ze.js → zh_HK-Bmft66uR.js} +1 -1
  247. package/dist/assets/{zh_SG-Lz9Li7LQ.js → zh_SG-ChcB0A9F.js} +1 -1
  248. package/dist/assets/{zh_TW-P8-QBSyv.js → zh_TW-C8FI5AC8.js} +1 -1
  249. package/dist/css/themes/AccordionSpotlight.css +1 -1
  250. package/dist/css/themes/Checkbox.css +1 -1
  251. package/dist/css/themes/FeedItem.css +1 -1
  252. package/dist/css/themes/Footer.css +1 -1
  253. package/dist/css/themes/ListGroupHeader.css +1 -1
  254. package/dist/css/themes/Pagination.css +1 -1
  255. package/dist/css/themes/RatingIndicator.css +1 -1
  256. package/dist/css/themes/SecondaryNavigation.css +1 -1
  257. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  258. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  259. package/dist/css/themes/WizardTab.css +1 -1
  260. package/dist/custom-elements-internal.json +19 -0
  261. package/dist/custom-elements.json +52 -0
  262. package/dist/generated/themes/AccordionSpotlight.css.d.ts +1 -1
  263. package/dist/generated/themes/AccordionSpotlight.css.js +1 -1
  264. package/dist/generated/themes/AccordionSpotlight.css.js.map +1 -1
  265. package/dist/generated/themes/Checkbox.css.d.ts +1 -1
  266. package/dist/generated/themes/Checkbox.css.js +1 -1
  267. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  268. package/dist/generated/themes/FeedItem.css.d.ts +1 -1
  269. package/dist/generated/themes/FeedItem.css.js +1 -1
  270. package/dist/generated/themes/FeedItem.css.js.map +1 -1
  271. package/dist/generated/themes/Footer.css.d.ts +1 -1
  272. package/dist/generated/themes/Footer.css.js +1 -1
  273. package/dist/generated/themes/Footer.css.js.map +1 -1
  274. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  275. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  276. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  277. package/dist/generated/themes/Pagination.css.d.ts +1 -1
  278. package/dist/generated/themes/Pagination.css.js +1 -1
  279. package/dist/generated/themes/Pagination.css.js.map +1 -1
  280. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  281. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  282. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  283. package/dist/generated/themes/SecondaryNavigation.css.d.ts +1 -1
  284. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  285. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  286. package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +1 -1
  287. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  288. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  289. package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +1 -1
  290. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  291. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  292. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  293. package/dist/generated/themes/WizardTab.css.js +1 -1
  294. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  295. package/dist/utils/Breakpoints.d.ts +20 -1
  296. package/dist/utils/Breakpoints.js +38 -8
  297. package/dist/utils/Breakpoints.js.map +1 -1
  298. package/dist/vscode.html-custom-data.json +115 -456
  299. package/dist/web-types.json +11 -1
  300. package/package.json +8 -8
  301. package/src/ListGroupHeaderBase.ts +9 -0
  302. package/src/ListGroupHeaderTemplate.tsx +15 -3
  303. package/src/MastheadCountrySelectorTemplate.tsx +3 -2
  304. package/src/RatingIndicatorTemplate.tsx +0 -1
  305. package/src/SecondaryNavigation.ts +3 -3
  306. package/src/SecondaryNavigationItem.ts +4 -6
  307. package/src/SecondaryNavigationItemBase.ts +2 -2
  308. package/src/SecondaryNavigationItemTemplate.tsx +80 -0
  309. package/src/SecondaryNavigationSubItem.ts +3 -7
  310. package/src/SecondaryNavigationSubItemTemplate.tsx +63 -0
  311. package/src/SecondaryNavigationTemplate.tsx +90 -0
  312. package/src/SelectBase.ts +29 -46
  313. package/src/SideNavigationMobile.ts +24 -17
  314. package/src/SideNavigationMobileTemplate.tsx +59 -0
  315. package/src/TabNavigation.ts +17 -0
  316. package/src/TabNavigationTemplate.tsx +1 -1
  317. package/src/TagGroup.ts +16 -5
  318. package/src/generated/themes/AccordionSpotlight.css.ts +1 -1
  319. package/src/generated/themes/Checkbox.css.ts +1 -1
  320. package/src/generated/themes/FeedItem.css.ts +1 -1
  321. package/src/generated/themes/Footer.css.ts +1 -1
  322. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  323. package/src/generated/themes/Pagination.css.ts +1 -1
  324. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  325. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  326. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  327. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  328. package/src/generated/themes/WizardTab.css.ts +1 -1
  329. package/src/themes/AccordionSpotlight.css +1 -1
  330. package/src/themes/Checkbox.css +5 -1
  331. package/src/themes/FeedItem.css +2 -1
  332. package/src/themes/Footer.css +4 -4
  333. package/src/themes/ListGroupHeader.css +6 -4
  334. package/src/themes/Pagination.css +14 -5
  335. package/src/themes/RatingIndicator.css +6 -1
  336. package/src/themes/SecondaryNavigation.css +3 -3
  337. package/src/themes/SecondaryNavigationItem.css +2 -2
  338. package/src/themes/SecondaryNavigationSubItem.css +2 -2
  339. package/src/themes/WizardTab.css +6 -1
  340. package/src/utils/Breakpoints.ts +39 -8
  341. package/dist/assets/InputSuggestions-CMYjJsHw.js +0 -2
  342. package/dist/assets/messagebundle_ar-BRkfjlVF.js +0 -1
  343. package/dist/assets/messagebundle_ar-D5A573iZ.js +0 -1
  344. package/dist/assets/messagebundle_bg-ByA8yRlQ.js +0 -1
  345. package/dist/assets/messagebundle_bg-CIVFOczQ.js +0 -1
  346. package/dist/assets/messagebundle_ca-BR3XuU9o.js +0 -1
  347. package/dist/assets/messagebundle_ca-CnMQ87v0.js +0 -1
  348. package/dist/assets/messagebundle_cnr-C6YhRiS7.js +0 -1
  349. package/dist/assets/messagebundle_cnr-CKZii51E.js +0 -1
  350. package/dist/assets/messagebundle_cs-DcOu8IOK.js +0 -1
  351. package/dist/assets/messagebundle_cs-I7yYpbsI.js +0 -1
  352. package/dist/assets/messagebundle_cy-BxrFUGJ9.js +0 -1
  353. package/dist/assets/messagebundle_cy-iXD_sJ-H.js +0 -1
  354. package/dist/assets/messagebundle_da-BVQHPgwf.js +0 -1
  355. package/dist/assets/messagebundle_da-CMGObFa5.js +0 -1
  356. package/dist/assets/messagebundle_de-CSl05u5u.js +0 -1
  357. package/dist/assets/messagebundle_de-Ca8NttFO.js +0 -1
  358. package/dist/assets/messagebundle_el-Cqfj_U5v.js +0 -1
  359. package/dist/assets/messagebundle_el-D9Zgq5tn.js +0 -1
  360. package/dist/assets/messagebundle_en-D0JTZvAf.js +0 -1
  361. package/dist/assets/messagebundle_en-DWqF0cay.js +0 -1
  362. package/dist/assets/messagebundle_en_GB-CGB_FKp4.js +0 -1
  363. package/dist/assets/messagebundle_en_GB-Cl7ekzz2.js +0 -1
  364. package/dist/assets/messagebundle_en_US_sappsd-7UdOh8vN.js +0 -1
  365. package/dist/assets/messagebundle_en_US_sappsd-B8rqsyFQ.js +0 -1
  366. package/dist/assets/messagebundle_en_US_saprigi-9VCo5QY0.js +0 -1
  367. package/dist/assets/messagebundle_en_US_saprigi-DfLzOCPY.js +0 -1
  368. package/dist/assets/messagebundle_en_US_saptrc-DZqYka05.js +0 -1
  369. package/dist/assets/messagebundle_en_US_saptrc-Wh_IysAB.js +0 -1
  370. package/dist/assets/messagebundle_es-DKn8EzzP.js +0 -1
  371. package/dist/assets/messagebundle_es-lf5AJZNW.js +0 -1
  372. package/dist/assets/messagebundle_es_MX-DyYZGjON.js +0 -1
  373. package/dist/assets/messagebundle_es_MX-yBTcvu7u.js +0 -1
  374. package/dist/assets/messagebundle_et-Dz8Ohhcp.js +0 -1
  375. package/dist/assets/messagebundle_et-rMWbS-Nu.js +0 -1
  376. package/dist/assets/messagebundle_fi-Bfbyhuuz.js +0 -1
  377. package/dist/assets/messagebundle_fi-DnXm7LPH.js +0 -1
  378. package/dist/assets/messagebundle_fr-BvbeCfZ-.js +0 -1
  379. package/dist/assets/messagebundle_fr-KQhoZEew.js +0 -1
  380. package/dist/assets/messagebundle_fr_CA-CE2lzYx5.js +0 -1
  381. package/dist/assets/messagebundle_fr_CA-CIhDzHAJ.js +0 -1
  382. package/dist/assets/messagebundle_hi-BRQ9tZ6F.js +0 -1
  383. package/dist/assets/messagebundle_hi-DPwH9vag.js +0 -1
  384. package/dist/assets/messagebundle_hr-BSKQ6zHT.js +0 -1
  385. package/dist/assets/messagebundle_hr-D3gQg5JN.js +0 -1
  386. package/dist/assets/messagebundle_hu-CAA4oM1C.js +0 -1
  387. package/dist/assets/messagebundle_hu-CZNs1K9T.js +0 -1
  388. package/dist/assets/messagebundle_id-9H0uJyXB.js +0 -1
  389. package/dist/assets/messagebundle_id-m6iosVVP.js +0 -1
  390. package/dist/assets/messagebundle_it-BWzxa-Mi.js +0 -1
  391. package/dist/assets/messagebundle_it-Cm_0HF21.js +0 -1
  392. package/dist/assets/messagebundle_iw-DpB2YXTa.js +0 -1
  393. package/dist/assets/messagebundle_iw-NfqePNtD.js +0 -1
  394. package/dist/assets/messagebundle_ja-BCSZcI8t.js +0 -1
  395. package/dist/assets/messagebundle_ja-C-qqwzFf.js +0 -1
  396. package/dist/assets/messagebundle_kk--PGqyTVS.js +0 -1
  397. package/dist/assets/messagebundle_kk-DAlCQkFU.js +0 -1
  398. package/dist/assets/messagebundle_ko-D8mIkPe1.js +0 -1
  399. package/dist/assets/messagebundle_ko-qoWc4ZGG.js +0 -1
  400. package/dist/assets/messagebundle_lt-BIEH02V4.js +0 -1
  401. package/dist/assets/messagebundle_lt-ruMxSuY-.js +0 -1
  402. package/dist/assets/messagebundle_lv-C2om7wu0.js +0 -1
  403. package/dist/assets/messagebundle_lv-Dfrbh1ci.js +0 -1
  404. package/dist/assets/messagebundle_mk-DHvZle6t.js +0 -1
  405. package/dist/assets/messagebundle_mk-l_Kubx1p.js +0 -1
  406. package/dist/assets/messagebundle_ms-CKCmj1p_.js +0 -1
  407. package/dist/assets/messagebundle_ms-IhSEK5ij.js +0 -1
  408. package/dist/assets/messagebundle_nl-BiIb6e5c.js +0 -1
  409. package/dist/assets/messagebundle_nl-DquG38Cj.js +0 -1
  410. package/dist/assets/messagebundle_no-CX23v_jg.js +0 -1
  411. package/dist/assets/messagebundle_no-DFdvykvP.js +0 -1
  412. package/dist/assets/messagebundle_pl-BAeue3mo.js +0 -1
  413. package/dist/assets/messagebundle_pl-iHE_prgN.js +0 -1
  414. package/dist/assets/messagebundle_pt-BpQnTLvl.js +0 -1
  415. package/dist/assets/messagebundle_pt-C_bG3Erm.js +0 -1
  416. package/dist/assets/messagebundle_pt_PT-CR7qXFK-.js +0 -1
  417. package/dist/assets/messagebundle_pt_PT-DyseXKQQ.js +0 -1
  418. package/dist/assets/messagebundle_ro-CHU1E6hv.js +0 -1
  419. package/dist/assets/messagebundle_ro-C_amsd63.js +0 -1
  420. package/dist/assets/messagebundle_ru-Cab4H6Ud.js +0 -1
  421. package/dist/assets/messagebundle_ru-D6JMraBp.js +0 -1
  422. package/dist/assets/messagebundle_sh-DusYn00L.js +0 -1
  423. package/dist/assets/messagebundle_sh-hThvw_lF.js +0 -1
  424. package/dist/assets/messagebundle_sk-BqiUMEcX.js +0 -1
  425. package/dist/assets/messagebundle_sk-CZHfFNQ_.js +0 -1
  426. package/dist/assets/messagebundle_sl-B79d3kfY.js +0 -1
  427. package/dist/assets/messagebundle_sl-SfAn6n6j.js +0 -1
  428. package/dist/assets/messagebundle_sr-4iz7n4Te.js +0 -1
  429. package/dist/assets/messagebundle_sr-DxELdG62.js +0 -1
  430. package/dist/assets/messagebundle_sv-CPOHCrxs.js +0 -1
  431. package/dist/assets/messagebundle_sv-i6GuWK0l.js +0 -1
  432. package/dist/assets/messagebundle_th-D-kPI3tt.js +0 -1
  433. package/dist/assets/messagebundle_th-D64J-JvN.js +0 -1
  434. package/dist/assets/messagebundle_tr-CuE9DqZT.js +0 -1
  435. package/dist/assets/messagebundle_tr-gTuGftNt.js +0 -1
  436. package/dist/assets/messagebundle_uk-C6JSX-jF.js +0 -1
  437. package/dist/assets/messagebundle_uk-IKxyo-LT.js +0 -1
  438. package/dist/assets/messagebundle_vi-BRdRT5L6.js +0 -1
  439. package/dist/assets/messagebundle_vi-rZGL12-x.js +0 -1
  440. package/dist/assets/messagebundle_zh_CN-L55Y4Dfs.js +0 -1
  441. package/dist/assets/messagebundle_zh_CN-ZalS15WG.js +0 -1
  442. package/dist/assets/messagebundle_zh_TW-BcMzZCW2.js +0 -1
  443. package/dist/assets/messagebundle_zh_TW-sRVDBYOx.js +0 -1
  444. package/dist/assets/parameters-bundle.css-8pAQYERs.js +0 -3
  445. package/dist/assets/parameters-bundle.css-B_KvbSAR.js +0 -2
  446. package/dist/assets/parameters-bundle.css-Ciey0vhA.js +0 -2
  447. package/dist/assets/parameters-bundle.css-D7Hj83QD.js +0 -2
  448. package/dist/assets/parameters-bundle.css-DJgsxqD8.js +0 -2
  449. package/dist/assets/parameters-bundle.css-DMVuljH3.js +0 -3
  450. package/dist/assets/parameters-bundle.css-DkHyiuRq.js +0 -3
  451. package/dist/assets/parameters-bundle.css-Dvgwa73x.js +0 -3
  452. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +0 -3
  453. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +0 -13
  454. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +0 -1
  455. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +0 -3
  456. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +0 -12
  457. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +0 -1
  458. package/dist/generated/templates/SecondaryNavigationTemplate.lit.d.ts +0 -3
  459. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +0 -15
  460. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +0 -1
  461. package/dist/generated/templates/SideNavigationMobileTemplate.lit.d.ts +0 -3
  462. package/dist/generated/templates/SideNavigationMobileTemplate.lit.js +0 -10
  463. package/dist/generated/templates/SideNavigationMobileTemplate.lit.js.map +0 -1
  464. package/src/SecondaryNavigation.hbs +0 -87
  465. package/src/SecondaryNavigationItem.hbs +0 -68
  466. package/src/SecondaryNavigationSubItem.hbs +0 -47
  467. package/src/SideNavigationMobile.hbs +0 -41
  468. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +0 -17
  469. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +0 -16
  470. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +0 -19
  471. package/src/generated/templates/SideNavigationMobileTemplate.lit.ts +0 -14
@@ -128,6 +128,16 @@ const shortComponent = <div style="width: 350px; position:relative;"><UDExSelect
128
128
  <UDExSelectBoxItem label="Perl"></UDExSelectBoxItem>
129
129
  </UDExSelectBox></div>
130
130
 
131
+ const singleSelectPreselected = <div style="width: 350px; position:relative;"><UDExSelectBox
132
+ id="select-box"
133
+ label="Programming languages">
134
+ <UDExSelectBoxItem label="JavaScript"></UDExSelectBoxItem>
135
+ <UDExSelectBoxItem label="Python"></UDExSelectBoxItem>
136
+ <UDExSelectBoxItem label="Java" selected></UDExSelectBoxItem>
137
+ <UDExSelectBoxItem label="Swift"></UDExSelectBoxItem>
138
+ <UDExSelectBoxItem label="C#"></UDExSelectBoxItem>
139
+ </UDExSelectBox></div>
140
+
131
141
  const singleSelectWithRating = <div style="width: 350px; position:relative;"><UDExSelectBox
132
142
  id="select-box"
133
143
  label="Rating">
@@ -157,7 +167,7 @@ const selectAll = <div style="width: 350px; position:relative;">
157
167
  <UDExSelectBoxItem label="Python" supportingText="Used in data analysis"></UDExSelectBoxItem>
158
168
  </UDExSelectBoxSelectAll>
159
169
  </UDExSelectBox>
160
- <a id="next-focus" href="#">Next focusable element</a>
170
+ <a id="next-focus" href="#">Next focusable element</a>
161
171
  </div>
162
172
 
163
173
  const selectBoxInsideModal = <div style="width: 500px; position:relative;">
@@ -183,15 +193,15 @@ describe("SelectBox", () => {
183
193
  it("correct height style is applied", () => {
184
194
  cy.mount(fullComponent);
185
195
  cy.get("#select-box").shadow()
186
- .find(".udex-text-field__trigger")
187
- .click();
196
+ .find(".udex-text-field__trigger")
197
+ .click();
188
198
 
189
199
  cy.get("#select-box")
190
- .shadow()
191
- .find("ui5-popover")
192
- .shadow()
193
- .find(".ui5-popup-content")
194
- .should("have.css", 'max-height', '400px')
200
+ .shadow()
201
+ .find("ui5-popover")
202
+ .shadow()
203
+ .find(".ui5-popup-content")
204
+ .should("have.css", 'max-height', '400px')
195
205
  });
196
206
 
197
207
  it("correct label is applied", () => {
@@ -205,7 +215,7 @@ describe("SelectBox", () => {
205
215
  it("correct supporting text is applied", () => {
206
216
  cy.mount(fullComponent);
207
217
  cy.get("#select-box").shadow().find("udex-status-message").shadow().find(".udex-status-message")
208
- .should("have.text", "category lists");
218
+ .should("have.text", "category lists");
209
219
  });
210
220
 
211
221
  it("render the right amount items", () => {
@@ -228,31 +238,31 @@ describe("SelectBox", () => {
228
238
  it("checking label and supporting text for the item", () => {
229
239
  cy.mount(fullComponent);
230
240
  cy.get("#select-box").shadow()
231
- .find(".udex-text-field__trigger")
232
- .click();
241
+ .find(".udex-text-field__trigger")
242
+ .click();
233
243
 
234
244
  cy.get("#select-box").shadow().find('udex-list-item').eq(0).as("firstItem");
235
245
  cy.get("@firstItem")
236
- .shadow()
237
- .find(".udex-list__item")
238
- .should("include.text", "JavaScript");
246
+ .shadow()
247
+ .find(".udex-list__item")
248
+ .should("include.text", "JavaScript");
239
249
 
240
250
  cy.get("@firstItem")
241
- .shadow().find('.udex-list__supporting-text')
242
- .should("have.text", "Frontend web development");
251
+ .shadow().find('.udex-list__supporting-text')
252
+ .should("have.text", "Frontend web development");
243
253
  });
244
254
 
245
255
  it("checking the custom content for the item", () => {
246
256
  cy.mount(fullComponent);
247
257
  cy.get("#select-box").shadow()
248
- .find(".udex-text-field__trigger")
249
- .click();
258
+ .find(".udex-text-field__trigger")
259
+ .click();
250
260
 
251
261
  cy.get("#select-box")
252
- .shadow()
253
- .find('udex-list-item').eq(0)
254
- .find(".custom-content")
255
- .should("have.text", "Lorem ipsum");
262
+ .shadow()
263
+ .find('udex-list-item').eq(0)
264
+ .find(".custom-content")
265
+ .should("have.text", "Lorem ipsum");
256
266
  });
257
267
 
258
268
  it("render the additional text in the item", () => {
@@ -281,27 +291,27 @@ describe("SelectBox", () => {
281
291
  cy.mount(fullComponent);
282
292
 
283
293
  cy.get("#select-box").shadow()
284
- .find(".udex-text-field__search").as("searchField");
294
+ .find(".udex-text-field__search").as("searchField");
285
295
 
286
296
  cy.get("@searchField").click();
287
297
  cy.realType("java");
288
298
 
289
299
  cy.get("#select-box").shadow().find("udex-list-item")
290
- .should("have.length", 2);
300
+ .should("have.length", 2);
291
301
 
292
302
  cy.get("#select-box").shadow().find("udex-list-item").eq(0)
293
- .shadow().find(".udex-list__item")
294
- .should("include.text", "Java");
303
+ .shadow().find(".udex-list__item")
304
+ .should("include.text", "Java");
295
305
  });
296
306
 
297
307
  it("test if reset searching value using resetSearch method", () => {
298
308
  cy.mount(fullComponent);
299
309
 
300
310
  cy.get("#select-box").shadow()
301
- .find(".udex-text-field__search").as("searchField");
311
+ .find(".udex-text-field__search").as("searchField");
302
312
 
303
313
  cy.get("@searchField")
304
- .click();
314
+ .click();
305
315
  cy.realType("java");
306
316
 
307
317
  cy.get("#select-box")
@@ -311,14 +321,14 @@ describe("SelectBox", () => {
311
321
  })
312
322
 
313
323
  cy.get("@searchField")
314
- .should("have.value", "");
324
+ .should("have.value", "");
315
325
  });
316
326
 
317
327
  it("test if close dropdown using close method", () => {
318
328
  cy.mount(fullComponent);
319
329
  cy.get("#select-box").shadow()
320
- .find(".udex-text-field__trigger")
321
- .click();
330
+ .find(".udex-text-field__trigger")
331
+ .click();
322
332
 
323
333
  cy.get("#select-box")
324
334
  .then($el => {
@@ -327,123 +337,119 @@ describe("SelectBox", () => {
327
337
  })
328
338
 
329
339
  cy.get("#select-box").shadow()
330
- .find(".udex-select-box__dropdown")
331
- .should("not.have.attr","open");
340
+ .find(".udex-select-box__dropdown")
341
+ .should("not.have.attr","open");
332
342
  });
333
343
 
334
344
  it("should show empty msg if the search does not produce results", () => {
335
345
  cy.mount(fullComponent);
336
346
 
337
347
  cy.get("#select-box").shadow()
338
- .find(".udex-text-field__search")
339
- .click();
348
+ .find(".udex-text-field__search")
349
+ .click();
340
350
  cy.realType("x");
341
351
 
342
352
  cy.get("#select-box").shadow()
343
- .find(".udex-no-result")
344
- .should("include.text", "No matches found.");
353
+ .find(".udex-no-result")
354
+ .should("include.text", "No matches found.");
345
355
  });
346
356
 
347
357
  it("show tooltip in display only mode", () => {
348
358
  cy.mount(displayOnly);
349
359
 
350
360
  cy.get("#select-box").shadow()
351
- .find(".udex-tag-group").shadow().as("tagGroup");
361
+ .find(".udex-tag-group").shadow().as("tagGroup");
352
362
 
353
363
  // Wait for the resize handler to fire and render the tooltip before clicking.
354
364
  cy.get("@tagGroup").find("udex-tooltip").should("exist");
355
365
 
356
366
  cy.get("@tagGroup")
357
- .find(".udex-tag-group__tokenizer").shadow()
358
- .find(".ui5-tokenizer-more-text")
359
- .click();
367
+ .find(".udex-tag-group__tokenizer").shadow()
368
+ .find(".ui5-tokenizer-more-text")
369
+ .click();
360
370
 
361
371
  cy.get("@tagGroup")
362
- .find("udex-tooltip")
363
- .should("have.attr", "open");
372
+ .find("udex-tooltip")
373
+ .should("have.attr", "open");
364
374
  });
365
375
 
366
376
  it("dropdown opens on pressing the `ArrowDown` key on the search", () => {
367
377
  cy.mount(fullComponent);
368
378
  cy.get("#select-box").shadow()
369
- .find(".udex-text-field__search")
370
- .click()
371
- .realPress("ArrowDown");
379
+ .find(".udex-text-field__search")
380
+ .click()
381
+ .realPress("ArrowDown");
372
382
 
373
383
  cy.get("#select-box").shadow()
374
- .find(".udex-select-box__dropdown")
375
- .should("have.attr","open");
384
+ .find(".udex-select-box__dropdown")
385
+ .should("have.attr","open");
376
386
  });
377
387
 
378
388
  it("dropdown closes on pressing the `Escape`", () => {
379
389
  cy.mount(fullComponent);
380
390
  cy.get("#select-box").shadow()
381
- .find(".udex-text-field__search")
382
- .click()
383
- .realPress("ArrowDown");
391
+ .find(".udex-text-field__search")
392
+ .click()
393
+ .realPress("ArrowDown");
384
394
 
385
395
  cy.get("#select-box").shadow()
386
- .find(".udex-text-field__search")
387
- .realPress("Escape");
396
+ .find(".udex-text-field__search")
397
+ .realPress("Escape");
388
398
 
389
399
  cy.get("#select-box").shadow()
390
- .find(".udex-select-box__dropdown")
391
- .should("not.have.attr","open");
400
+ .find(".udex-select-box__dropdown")
401
+ .should("not.have.attr","open");
392
402
  });
393
403
 
394
404
  it("sets option label when Arrow Down key press on the list items", () => {
395
405
  cy.mount(shortComponent);
396
- cy.get("#select-box").shadow()
397
- .find(".udex-text-field__search")
398
- .click()
399
- .realPress("ArrowDown")
400
- .realPress("ArrowDown");
406
+ cy.get("#select-box").shadow().find(".udex-text-field__search").click();
407
+ // Opening focuses the first item (JavaScript); wait for it before navigating.
408
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
409
+ .should("have.attr", "_active-descendant");
410
+ cy.realPress("ArrowDown");
401
411
 
402
412
  cy.get("#select-box").shadow()
403
- .find(".udex-text-field__single-label")
404
- .should("have.text", "Python");
413
+ .find(".udex-text-field__single-label")
414
+ .should("have.text", "Python");
405
415
  });
406
416
 
407
417
  it("sets option label when Arrow Up key press on the list items", () => {
408
418
  cy.mount(shortComponent);
409
- cy.get("#select-box").shadow()
410
- .find(".udex-text-field__search")
411
- .click()
412
- .realPress("ArrowDown")
413
- .realPress("ArrowDown")
414
- .realPress("ArrowUp");
419
+ cy.get("#select-box").shadow().find(".udex-text-field__search").click();
420
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
421
+ .should("have.attr", "_active-descendant");
422
+ cy.realPress("ArrowDown");
423
+ cy.realPress("ArrowUp");
415
424
 
416
425
  cy.get("#select-box").shadow()
417
- .find(".udex-text-field__single-label")
418
- .should("have.text", "JavaScript");
426
+ .find(".udex-text-field__single-label")
427
+ .should("have.text", "JavaScript");
419
428
  });
420
429
 
421
430
  it("sets option label when End key press on the list items", () => {
422
431
  cy.mount(shortComponent);
423
- cy.get("#select-box").shadow()
424
- .find(".udex-text-field__search")
425
- .click()
426
- .realPress("ArrowDown")
427
- .realPress("ArrowDown")
428
- .realPress("End");
432
+ cy.get("#select-box").shadow().find(".udex-text-field__search").click();
433
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
434
+ .should("have.attr", "_active-descendant");
435
+ cy.realPress("End");
429
436
 
430
437
  cy.get("#select-box").shadow()
431
- .find(".udex-text-field__single-label")
432
- .should("have.text", "Perl");
438
+ .find(".udex-text-field__single-label")
439
+ .should("have.text", "Perl");
433
440
  });
434
441
 
435
442
  it("sets option label when Home key press on the list items", () => {
436
443
  cy.mount(shortComponent);
437
- cy.get("#select-box").shadow()
438
- .find(".udex-text-field__search")
439
- .click()
440
- .realPress("ArrowDown")
441
- .realPress("ArrowDown")
442
- .realPress("Home");
444
+ cy.get("#select-box").shadow().find(".udex-text-field__search").click();
445
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
446
+ .should("have.attr", "_active-descendant");
447
+ cy.realPress("ArrowDown");
448
+ cy.realPress("Home");
443
449
 
444
450
  cy.get("#select-box").shadow()
445
- .find(".udex-text-field__single-label")
446
- .should("have.text", "JavaScript");
451
+ .find(".udex-text-field__single-label")
452
+ .should("have.text", "JavaScript");
447
453
  });
448
454
 
449
455
  it("SingleSelect mode - after clicking on the item dropdown is closed", () => {
@@ -454,8 +460,8 @@ describe("SelectBox", () => {
454
460
  dropdown.should("have.attr","open");
455
461
 
456
462
  cy.get("#select-box").shadow()
457
- .find("udex-list-item").eq(1)
458
- .click();
463
+ .find("udex-list-item").eq(1)
464
+ .click();
459
465
 
460
466
  dropdown.should("not.have.attr","open");
461
467
  });
@@ -465,12 +471,12 @@ describe("SelectBox", () => {
465
471
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
466
472
 
467
473
  cy.get("#select-box").shadow()
468
- .find("udex-list-item").eq(1).as('currentItem')
474
+ .find("udex-list-item").eq(1).as('currentItem')
469
475
 
470
476
  cy.get("@currentItem").click();
471
477
  cy.get("@currentItem").shadow()
472
- .find(".udex-list__item")
473
- .should("have.attr", "data-selected","true")
478
+ .find(".udex-list__item")
479
+ .should("have.attr", "data-selected","true")
474
480
  });
475
481
 
476
482
  it("SingleSelect mode - value sets on the field after clicking on the item", () => {
@@ -478,12 +484,12 @@ describe("SelectBox", () => {
478
484
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
479
485
 
480
486
  cy.get("#select-box").shadow()
481
- .find("udex-list-item").eq(0)
482
- .click();
487
+ .find("udex-list-item").eq(0)
488
+ .click();
483
489
 
484
490
  cy.get("#select-box").shadow()
485
- .find(".udex-text-field__single-label")
486
- .should("have.text", "JavaScript");
491
+ .find(".udex-text-field__single-label")
492
+ .should("have.text", "JavaScript");
487
493
  });
488
494
 
489
495
  it("SingleSelect mode - typing after selecting an item shows typed character in the search field", () => {
@@ -521,6 +527,48 @@ describe("SelectBox", () => {
521
527
  .should("have.text", "Python");
522
528
  });
523
529
 
530
+ it("SingleSelect mode - opening the dropdown focuses the selected item", () => {
531
+ cy.mount(singleSelectPreselected);
532
+ cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
533
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
534
+
535
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(2)
536
+ .should("have.attr", "_active-descendant");
537
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
538
+ .should("not.have.attr", "_active-descendant");
539
+ });
540
+
541
+ it("SingleSelect mode - opening the dropdown focuses the first item when nothing is selected", () => {
542
+ cy.mount(shortComponent);
543
+ cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
544
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
545
+
546
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
547
+ .should("have.attr", "_active-descendant");
548
+ });
549
+
550
+ it("SingleSelect mode - opening the dropdown with ArrowDown focuses the selected item", () => {
551
+ cy.mount(singleSelectPreselected);
552
+ cy.get("#select-box").shadow().find(".udex-text-field__search").focus();
553
+ cy.realPress("ArrowDown");
554
+
555
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
556
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(2)
557
+ .should("have.attr", "_active-descendant");
558
+ });
559
+
560
+ it("SingleSelect mode - reopening restores focus to the previously selected item", () => {
561
+ cy.mount(shortComponent);
562
+ cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
563
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(2).click();
564
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("not.have.attr", "open");
565
+
566
+ cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
567
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
568
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(2)
569
+ .should("have.attr", "_active-descendant");
570
+ });
571
+
524
572
  it("MultiSelect mode - navigation label is cleared from input after Tab closes the dropdown", () => {
525
573
  cy.mount(multiSelect);
526
574
  cy.get("#select-box").shadow()
@@ -528,9 +576,10 @@ describe("SelectBox", () => {
528
576
  .click()
529
577
  .realPress("ArrowDown");
530
578
 
579
+ // Opening focuses the first item (JavaScript), so the first ArrowDown advances to Python.
531
580
  cy.get("#select-box").shadow()
532
581
  .find(".udex-text-field__single-label")
533
- .should("have.text", "JavaScript");
582
+ .should("have.text", "Python");
534
583
 
535
584
  cy.realPress("Tab");
536
585
 
@@ -539,17 +588,53 @@ describe("SelectBox", () => {
539
588
  .should("not.exist");
540
589
  });
541
590
 
591
+ it("MultiSelect mode - opening the dropdown with a mouse click focuses the first item", () => {
592
+ cy.mount(multiSelect);
593
+ cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
594
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
595
+
596
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
597
+ .should("have.attr", "_active-descendant");
598
+ });
599
+
600
+ it("MultiSelect mode - opening the dropdown with ArrowDown focuses the first item", () => {
601
+ cy.mount(multiSelect);
602
+ cy.get("#select-box").shadow().find(".udex-text-field__search").focus();
603
+ cy.realPress("ArrowDown");
604
+
605
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
606
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
607
+ .should("have.attr", "_active-descendant");
608
+ });
609
+
610
+ it("MultiSelect mode - selected items do not steal focus from the first item on open", () => {
611
+ cy.mount(multiSelect);
612
+ // Pre-select the third item programmatically.
613
+ cy.get("#select-box").find("udex-select-box-item").eq(2)
614
+ .then($el => {
615
+ ($el[0] as any).selected = true;
616
+ });
617
+
618
+ cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
619
+ cy.get("#select-box").shadow().find(".udex-select-box__dropdown").should("have.attr", "open");
620
+
621
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(0)
622
+ .should("have.attr", "_active-descendant");
623
+ cy.get("#select-box").shadow().find("[udex-list-item]").eq(2)
624
+ .should("not.have.attr", "_active-descendant");
625
+ });
626
+
542
627
  it("MultiSelect mode - after clicking on the item dropdown is opened", () => {
543
628
  cy.mount(multiSelect);
544
629
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
545
630
 
546
631
  cy.get("#select-box").shadow()
547
- .find("udex-list-item").eq(1)
548
- .click();
632
+ .find("udex-list-item").eq(1)
633
+ .click();
549
634
 
550
635
  cy.get("#select-box").shadow()
551
- .find(".udex-select-box__dropdown")
552
- .should("have.attr","open");
636
+ .find(".udex-select-box__dropdown")
637
+ .should("have.attr","open");
553
638
  });
554
639
 
555
640
  it("MultiSelect mode - rendering tags after clicking on the items", () => {
@@ -557,16 +642,16 @@ describe("SelectBox", () => {
557
642
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
558
643
 
559
644
  cy.get("#select-box").shadow()
560
- .find("udex-list-item").as("items")
645
+ .find("udex-list-item").as("items")
561
646
 
562
647
  cy.get("@items").eq(0).click();
563
648
  cy.get("@items").eq(1).click();
564
649
  cy.get("@items").eq(2).click();
565
650
 
566
651
  cy.get("#select-box").shadow()
567
- .find("udex-tag-group").shadow()
568
- .find(".udex-tag-group__tag")
569
- .should("have.length", 3);
652
+ .find("udex-tag-group").shadow()
653
+ .find(".udex-tag-group__tag")
654
+ .should("have.length", 3);
570
655
  });
571
656
 
572
657
  it("MultiSelect mode - after clicking the delete icon of a tag removes it from the selection", () => {
@@ -574,22 +659,22 @@ describe("SelectBox", () => {
574
659
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
575
660
 
576
661
  cy.get("#select-box").shadow()
577
- .find("udex-list-item").eq(0).click();
662
+ .find("udex-list-item").eq(0).click();
578
663
 
579
664
  cy.get("#select-box").shadow()
580
- .find("udex-tag-group").as("group")
665
+ .find("udex-tag-group").as("group")
581
666
 
582
667
  cy.get("@group")
583
- .should("exist")
668
+ .should("exist")
584
669
 
585
670
  cy.get("#select-box").shadow()
586
- .find("udex-tag-group").shadow()
587
- .find("udex-tag").shadow()
588
- .find(".udex-tag__icon")
589
- .click();
671
+ .find("udex-tag-group").shadow()
672
+ .find("udex-tag").shadow()
673
+ .find(".udex-tag__icon")
674
+ .click();
590
675
 
591
676
  cy.get("@group")
592
- .should("not.exist")
677
+ .should("not.exist")
593
678
  });
594
679
 
595
680
  it("MultiSelect mode - n more is applied after clicking on the items", () => {
@@ -597,7 +682,7 @@ describe("SelectBox", () => {
597
682
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
598
683
 
599
684
  cy.get("#select-box").shadow()
600
- .find("udex-list-item").as("items")
685
+ .find("udex-list-item").as("items")
601
686
 
602
687
  cy.get("@items").eq(0).click();
603
688
  cy.get("@items").eq(1).click();
@@ -606,10 +691,10 @@ describe("SelectBox", () => {
606
691
  cy.get("body").realClick();
607
692
 
608
693
  cy.get("#select-box").shadow()
609
- .find("udex-tag-group").shadow()
610
- .find(".udex-tag-group__tokenizer").shadow()
611
- .find(".ui5-tokenizer-more-text")
612
- .should("have.text", "2 more");
694
+ .find("udex-tag-group").shadow()
695
+ .find(".udex-tag-group__tokenizer").shadow()
696
+ .find(".ui5-tokenizer-more-text")
697
+ .should("have.text", "3 more");
613
698
  });
614
699
 
615
700
  it("MultiSelect mode - open dropdown after clicking on the more button", () => {
@@ -617,7 +702,7 @@ describe("SelectBox", () => {
617
702
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
618
703
 
619
704
  cy.get("#select-box").shadow()
620
- .find("udex-list-item").as("items")
705
+ .find("udex-list-item").as("items")
621
706
 
622
707
  cy.get("@items").eq(0).click();
623
708
  cy.get("@items").eq(1).click();
@@ -626,14 +711,14 @@ describe("SelectBox", () => {
626
711
  cy.get("body").realClick();
627
712
 
628
713
  cy.get("#select-box").shadow()
629
- .find("udex-tag-group").shadow()
630
- .find(".udex-tag-group__tokenizer").shadow()
631
- .find(".ui5-tokenizer-more-text")
632
- .click();
714
+ .find("udex-tag-group").shadow()
715
+ .find(".udex-tag-group__tokenizer").shadow()
716
+ .find(".ui5-tokenizer-more-text")
717
+ .click();
633
718
 
634
719
  cy.get("#select-box").shadow()
635
- .find(".udex-select-box__dropdown")
636
- .should("have.attr","open");
720
+ .find(".udex-select-box__dropdown")
721
+ .should("have.attr","open");
637
722
  });
638
723
 
639
724
  it("MultiSelect mode - should truncate the tag when it is long and open the dropdown on click", () => {
@@ -641,17 +726,17 @@ describe("SelectBox", () => {
641
726
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
642
727
 
643
728
  cy.get("#select-box").shadow()
644
- .find("udex-list-item").eq(4).click();
729
+ .find("udex-list-item").eq(4).click();
645
730
 
646
731
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").realClick();
647
732
 
648
733
  cy.get("#select-box").shadow()
649
- .find("udex-tag-group").shadow()
650
- .find("udex-tag").realClick();
734
+ .find("udex-tag-group").shadow()
735
+ .find("udex-tag").realClick();
651
736
 
652
737
  cy.get("#select-box").shadow()
653
- .find(".udex-truncatable-tag-content")
654
- .should("have.text", "C# - is a general-purpose high-level programming language supporting multiple paradigms")
738
+ .find(".udex-truncatable-tag-content")
739
+ .should("have.text", "C# - is a general-purpose high-level programming language supporting multiple paradigms")
655
740
  });
656
741
 
657
742
  it("MultiSelect mode - the truncated tag is selected when clicking on", () => {
@@ -659,11 +744,11 @@ describe("SelectBox", () => {
659
744
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
660
745
 
661
746
  cy.get("#select-box").shadow()
662
- .find("udex-list-item").eq(4).click();
747
+ .find("udex-list-item").eq(4).click();
663
748
 
664
749
  cy.get("#select-box").shadow()
665
- .find("udex-tag-group").shadow()
666
- .find("udex-tag").as("tag")
750
+ .find("udex-tag-group").shadow()
751
+ .find("udex-tag").as("tag")
667
752
 
668
753
  cy.get("@tag").click();
669
754
 
@@ -676,30 +761,30 @@ describe("SelectBox", () => {
676
761
  cy.get("#select-box").shadow().as("select")
677
762
 
678
763
  cy.get("@select")
679
- .find("udex-list-group-header").shadow()
680
- .find("udex-list-item").shadow()
681
- .find(".udex-list__text-holder > span").eq(0)
682
- .should("have.text", "Programming Languages");
764
+ .find("udex-list-group-header").shadow()
765
+ .find("udex-list-item").shadow()
766
+ .find(".udex-list__text-holder > span").eq(0)
767
+ .should("have.text", "Programming Languages");
683
768
 
684
769
  cy.get("@select")
685
- .find("udex-list-group-header").shadow()
686
- .find("udex-list-item").shadow()
687
- .find(".udex-list__supporting-text")
688
- .should("have.text", "Digital Builders");
770
+ .find("udex-list-group-header").shadow()
771
+ .find("udex-list-item").shadow()
772
+ .find(".udex-list__supporting-text")
773
+ .should("have.text", "Digital Builders");
689
774
  });
690
775
 
691
776
  it("MultiSelect mode - checks nonInteractive state for the group item header", () => {
692
777
  cy.mount(groupHeader);
693
778
  cy.get("udex-select-box-group-header")
694
- .then($el => {
695
- const select = $el as any;
696
- select[0].nonInteractive = true;
697
- })
779
+ .then($el => {
780
+ const select = $el as any;
781
+ select[0].nonInteractive = true;
782
+ })
698
783
 
699
784
  cy.get("#select-box").shadow()
700
- .find("udex-list-group-header").shadow()
701
- .find(".udex-list__inactive-header")
702
- .should("exist")
785
+ .find("udex-list-group-header").shadow()
786
+ .find(".udex-list__inactive-header")
787
+ .should("exist")
703
788
  });
704
789
 
705
790
  it("MultiSelect mode - arrow keys navigate items when group header is nonInteractive", () => {
@@ -711,9 +796,8 @@ describe("SelectBox", () => {
711
796
  });
712
797
 
713
798
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
714
- cy.realPress("ArrowDown");
715
799
 
716
- // Updated: DOM focus stays on the input; the active item is marked via _active-descendant.
800
+ // Opening focuses the first navigable item (the nonInteractive header is skipped).
717
801
  cy.get("#select-box").shadow()
718
802
  .find("udex-list-item").eq(0)
719
803
  .should("have.attr", "_active-descendant");
@@ -735,10 +819,9 @@ describe("SelectBox", () => {
735
819
  cy.mount(groupHeaderCollapsible);
736
820
 
737
821
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
738
- cy.realPress("ArrowDown");
739
822
 
740
- // Updated: DOM focus stays on the input; the active group header is marked
741
- // via the _active-descendant attribute rather than receiving DOM focus.
823
+ // Opening focuses the first navigable item — the collapsible group header —
824
+ // marked via the _active-descendant attribute (DOM focus stays on the input).
742
825
  cy.get("#select-box").shadow()
743
826
  .find("udex-list-group-header")
744
827
  .should("have.attr", "_active-descendant");
@@ -791,10 +874,9 @@ describe("SelectBox", () => {
791
874
  cy.mount(groupHeaderCollapsible);
792
875
 
793
876
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
794
- cy.realPress("ArrowDown");
795
877
 
796
- // Updated: the collapsible group header is the active descendant (DOM focus
797
- // stays on the input), marked via the _active-descendant attribute.
878
+ // Opening focuses the collapsible group header (the first navigable item),
879
+ // marked via the _active-descendant attribute (DOM focus stays on the input).
798
880
  cy.get("#select-box").shadow()
799
881
  .find("udex-list-group-header")
800
882
  .should("have.attr", "_active-descendant");
@@ -834,6 +916,30 @@ describe("SelectBox", () => {
834
916
  cy.wrap($item).should("not.have.attr", "collapsed");
835
917
  });
836
918
  });
919
+
920
+ // Regression (issue #3576): SiteImprove/axe "Role not inside the required context".
921
+ // In aria-activedescendant mode the group-header HOST is the treeitem; the inner
922
+ // focusable div must NOT also be a treeitem, otherwise it is a second, parent-less
923
+ // treeitem nested inside the host treeitem (aria-required-parent violation).
924
+ it("SingleSelect collapsible group header: treeitem lives on the host, inner div is presentational", () => {
925
+ cy.mount(groupHeaderCollapsibleSingleSelect);
926
+
927
+ cy.get("#select-box").shadow().find(".udex-text-field__search").click();
928
+
929
+ // The host carries the treeitem role + expanded state.
930
+ cy.get("#select-box").shadow()
931
+ .find("[udex-list-group-header]")
932
+ .should("have.attr", "role", "treeitem")
933
+ .and("have.attr", "aria-expanded");
934
+
935
+ // The inner focusable div is presentational and does not duplicate the treeitem
936
+ // role or its aria-expanded state.
937
+ cy.get("#select-box").shadow()
938
+ .find("[udex-list-group-header]").shadow()
939
+ .find(".udex-list__group-content")
940
+ .should("have.attr", "role", "presentation")
941
+ .and("not.have.attr", "aria-expanded");
942
+ });
837
943
  });
838
944
 
839
945
  // Added: covers the listboxRole getter change in SelectBase — aria-haspopup on the
@@ -885,21 +991,21 @@ describe("SelectBox", () => {
885
991
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
886
992
 
887
993
  cy.get("#select-box").shadow()
888
- .find("udex-list-item").as("items")
994
+ .find("udex-list-item").as("items")
889
995
 
890
996
  cy.get("@items").eq(0).click();
891
997
  cy.get("@items").eq(1).click();
892
998
  cy.get("@items").eq(2).click();
893
999
 
894
1000
  cy.get("#select-box").shadow()
895
- .find("udex-tag-group").shadow()
896
- .find(".udex-tag-group__tag").eq(1)
897
- .click();
1001
+ .find("udex-tag-group").shadow()
1002
+ .find(".udex-tag-group__tag").eq(1)
1003
+ .click();
898
1004
 
899
1005
  cy.realPress(["Shift", "Tab"]);
900
1006
 
901
1007
  cy.get("#previous-focus")
902
- .should("be.focused");
1008
+ .should("be.focused");
903
1009
  });
904
1010
 
905
1011
  it("focus moves to input search when press Tab on a tag", () => {
@@ -910,17 +1016,17 @@ describe("SelectBox", () => {
910
1016
  cy.get("@trigger").click();
911
1017
 
912
1018
  cy.get("@select")
913
- .find("udex-list")
914
- .find("udex-list-select-all").shadow()
915
- .find(".udex-list__group-header")
916
- .click()
1019
+ .find("udex-list")
1020
+ .find("udex-list-select-all").shadow()
1021
+ .find(".udex-list__group-header")
1022
+ .click()
917
1023
 
918
1024
  cy.get("@trigger").click();
919
1025
 
920
1026
  cy.get("@select")
921
- .find("udex-tag-group").shadow()
922
- .find("udex-tag").eq(0)
923
- .click()
1027
+ .find("udex-tag-group").shadow()
1028
+ .find("udex-tag").eq(0)
1029
+ .click()
924
1030
 
925
1031
  cy.realPress("Tab");
926
1032
 
@@ -947,22 +1053,22 @@ describe("SelectBox", () => {
947
1053
  cy.get("@trigger").click();
948
1054
 
949
1055
  cy.get("@select")
950
- .find("udex-list")
951
- .find("udex-list-select-all").shadow()
952
- .find(".udex-list__group-header")
953
- .click()
1056
+ .find("udex-list")
1057
+ .find("udex-list-select-all").shadow()
1058
+ .find(".udex-list__group-header")
1059
+ .click()
954
1060
 
955
1061
  cy.get("@trigger").click();
956
1062
 
957
1063
  cy.get("@select")
958
- .find("udex-tag-group").shadow()
959
- .find("udex-tag").eq(0)
960
- .click()
1064
+ .find("udex-tag-group").shadow()
1065
+ .find("udex-tag").eq(0)
1066
+ .click()
961
1067
 
962
1068
  cy.realPress(["Shift", "Tab"]);
963
1069
 
964
1070
  cy.get("#previous-focus")
965
- .should("be.focused");
1071
+ .should("be.focused");
966
1072
  });
967
1073
 
968
1074
  it("focus moves to next interactive element on the page when press Tab on a trigger", () => {
@@ -985,13 +1091,13 @@ describe("SelectBox", () => {
985
1091
  cy.get("@trigger").click();
986
1092
 
987
1093
  cy.get("#select-box").shadow()
988
- .find("udex-list-item").eq(1)
989
- .click();
1094
+ .find("udex-list-item").eq(1)
1095
+ .click();
990
1096
 
991
1097
  cy.realPress(["Tab"]);
992
1098
 
993
1099
  cy.get("#next-focus")
994
- .should("be.focused");
1100
+ .should("be.focused");
995
1101
  });
996
1102
 
997
1103
  it("focus moves to input when press Prev Tab on a list item", () => {
@@ -1019,16 +1125,16 @@ describe("SelectBox", () => {
1019
1125
  cy.get("@trigger").click();
1020
1126
 
1021
1127
  cy.get("#select-box").shadow()
1022
- .find("udex-list-item").eq(1)
1023
- .click();
1128
+ .find("udex-list-item").eq(1)
1129
+ .click();
1024
1130
 
1025
1131
  cy.realPress("Escape");
1026
1132
 
1027
1133
  cy.get("@select").find(".udex-text-field__search").should("be.focused");
1028
1134
 
1029
1135
  cy.get("@select")
1030
- .find(".udex-select-box__dropdown")
1031
- .should("not.have.attr","open");
1136
+ .find(".udex-select-box__dropdown")
1137
+ .should("not.have.attr","open");
1032
1138
  });
1033
1139
 
1034
1140
  it("focus() method moves focus to the inner search input", () => {
@@ -1052,10 +1158,10 @@ describe("SelectBox", () => {
1052
1158
  cy.get("@select").shadow().find(".udex-text-field__trigger").as("trigger")
1053
1159
 
1054
1160
  cy.get("@select").shadow()
1055
- .find("udex-list")
1056
- .find("udex-list-select-all").shadow()
1057
- .find(".udex-list__group-header")
1058
- .should("have.text", "Select All");
1161
+ .find("udex-list")
1162
+ .find("udex-list-select-all").shadow()
1163
+ .find(".udex-list__group-header")
1164
+ .should("have.text", "Select All");
1059
1165
  });
1060
1166
 
1061
1167
  it("emit select-all when Select All header clicked", () => {
@@ -1063,22 +1169,22 @@ describe("SelectBox", () => {
1063
1169
  cy.get("#select-box").as("select")
1064
1170
 
1065
1171
  cy.get("@select")
1066
- .then(select => {
1067
- select.get(0).addEventListener("select-all", cy.stub().as("selectall"));
1068
- });
1172
+ .then(select => {
1173
+ select.get(0).addEventListener("select-all", cy.stub().as("selectall"));
1174
+ });
1069
1175
 
1070
1176
  cy.get("@select").shadow().find(".udex-text-field__trigger").as("trigger")
1071
1177
 
1072
1178
  cy.get("@trigger").click();
1073
1179
 
1074
1180
  cy.get("@select").shadow()
1075
- .find("udex-list")
1076
- .find("udex-list-select-all").shadow()
1077
- .find(".udex-list__group-header")
1078
- .click()
1181
+ .find("udex-list")
1182
+ .find("udex-list-select-all").shadow()
1183
+ .find(".udex-list__group-header")
1184
+ .click()
1079
1185
 
1080
1186
  cy.get("@selectall")
1081
- .should("have.been.called");
1187
+ .should("have.been.called");
1082
1188
  });
1083
1189
 
1084
1190
  // Bug fix: groupListClassName no longer appends _additionalClassName, so the
@@ -1091,10 +1197,10 @@ describe("SelectBox", () => {
1091
1197
  cy.get("@select").find(".udex-text-field__trigger").click();
1092
1198
 
1093
1199
  cy.get("@select")
1094
- .find("udex-list")
1095
- .find("udex-list-select-all").shadow()
1096
- .find(".udex-list__group-list")
1097
- .should("not.have.class", "udex-list__sticky");
1200
+ .find("udex-list")
1201
+ .find("udex-list-select-all").shadow()
1202
+ .find(".udex-list__group-list")
1203
+ .should("not.have.class", "udex-list__sticky");
1098
1204
  });
1099
1205
  });
1100
1206
 
@@ -1105,15 +1211,15 @@ describe("SelectBox", () => {
1105
1211
  select.get(0).addEventListener("selection-change", cy.stub().as("selectionchange"));
1106
1212
  });
1107
1213
  cy.get("#select-box").shadow()
1108
- .find(".udex-text-field__trigger")
1109
- .click();
1214
+ .find(".udex-text-field__trigger")
1215
+ .click();
1110
1216
 
1111
1217
  cy.get("#select-box").shadow()
1112
- .find("udex-list-item").eq(1)
1113
- .click();
1218
+ .find("udex-list-item").eq(1)
1219
+ .click();
1114
1220
 
1115
1221
  cy.get("@selectionchange")
1116
- .should("have.been.called");
1222
+ .should("have.been.called");
1117
1223
  });
1118
1224
 
1119
1225
  it("emit open when dropdown list opened", () => {
@@ -1122,8 +1228,8 @@ describe("SelectBox", () => {
1122
1228
  select.get(0).addEventListener("open", cy.stub().as("open"));
1123
1229
  });
1124
1230
  cy.get("#select-box").shadow()
1125
- .find(".udex-text-field__trigger")
1126
- .click();
1231
+ .find(".udex-text-field__trigger")
1232
+ .click();
1127
1233
 
1128
1234
  cy.get("@open").should("have.been.called");
1129
1235
  });
@@ -1134,11 +1240,11 @@ describe("SelectBox", () => {
1134
1240
  select.get(0).addEventListener("close", cy.stub().as("close"));
1135
1241
  });
1136
1242
  cy.get("#select-box").shadow()
1137
- .find(".udex-text-field__trigger")
1138
- .click();
1243
+ .find(".udex-text-field__trigger")
1244
+ .click();
1139
1245
  cy.get("#select-box").shadow()
1140
- .find(".udex-text-field__trigger")
1141
- .click();
1246
+ .find(".udex-text-field__trigger")
1247
+ .click();
1142
1248
 
1143
1249
  cy.get("@close").should("have.been.called");
1144
1250
  });
@@ -1149,8 +1255,8 @@ describe("SelectBox", () => {
1149
1255
  select.get(0).addEventListener("before-open", cy.stub().as("beforeopen"));
1150
1256
  });
1151
1257
  cy.get("#select-box").shadow()
1152
- .find(".udex-text-field__trigger")
1153
- .click();
1258
+ .find(".udex-text-field__trigger")
1259
+ .click();
1154
1260
 
1155
1261
  cy.get("@beforeopen").should("have.been.called");
1156
1262
  });
@@ -1161,11 +1267,11 @@ describe("SelectBox", () => {
1161
1267
  select.get(0).addEventListener("before-close", cy.stub().as("beforeclose"));
1162
1268
  });
1163
1269
  cy.get("#select-box").shadow()
1164
- .find(".udex-text-field__trigger")
1165
- .click();
1270
+ .find(".udex-text-field__trigger")
1271
+ .click();
1166
1272
  cy.get("#select-box").shadow()
1167
- .find(".udex-text-field__trigger")
1168
- .click();
1273
+ .find(".udex-text-field__trigger")
1274
+ .click();
1169
1275
 
1170
1276
  cy.get("@beforeclose").should("have.been.called");
1171
1277
  });
@@ -1176,8 +1282,8 @@ describe("SelectBox", () => {
1176
1282
  select.get(0).addEventListener("change-search", cy.stub().as("changesearch"));
1177
1283
  });
1178
1284
  cy.get("#select-box").shadow()
1179
- .find(".udex-text-field__search")
1180
- .click();
1285
+ .find(".udex-text-field__search")
1286
+ .click();
1181
1287
  cy.realType("java");
1182
1288
 
1183
1289
  cy.get("@changesearch").should("have.been.called");
@@ -1191,22 +1297,22 @@ describe("SelectBox", () => {
1191
1297
  cy.get("#select-box").shadow().as("select");
1192
1298
 
1193
1299
  cy.get("@select").find(".udex-text-field__trigger")
1194
- .click();
1300
+ .click();
1195
1301
 
1196
1302
  cy.get("@select")
1197
- .find("udex-list-item").as("items")
1303
+ .find("udex-list-item").as("items")
1198
1304
 
1199
1305
  cy.get("@items").eq(0).click();
1200
1306
  cy.get("@items").eq(1).click();
1201
1307
 
1202
1308
  cy.get("@select")
1203
- .find("udex-tag-group").shadow()
1204
- .find("udex-tag").eq(0).shadow()
1205
- .find(".udex-tag__icon")
1206
- .click();
1309
+ .find("udex-tag-group").shadow()
1310
+ .find("udex-tag").eq(0).shadow()
1311
+ .find(".udex-tag__icon")
1312
+ .click();
1207
1313
 
1208
1314
  cy.get("@remove")
1209
- .should("have.been.called");
1315
+ .should("have.been.called");
1210
1316
  });
1211
1317
 
1212
1318
  it("emit show-more when more button clicked", () => {
@@ -1218,7 +1324,7 @@ describe("SelectBox", () => {
1218
1324
  cy.get("#select-box").shadow().find(".udex-text-field__trigger").click();
1219
1325
 
1220
1326
  cy.get("#select-box").shadow()
1221
- .find("udex-list-item").as("items")
1327
+ .find("udex-list-item").as("items")
1222
1328
 
1223
1329
  cy.get("@items").eq(0).click();
1224
1330
  cy.get("@items").eq(1).click();
@@ -1227,13 +1333,13 @@ describe("SelectBox", () => {
1227
1333
  cy.get("body").realClick();
1228
1334
 
1229
1335
  cy.get("#select-box").shadow()
1230
- .find("udex-tag-group").shadow()
1231
- .find(".udex-tag-group__tokenizer").shadow()
1232
- .find(".ui5-tokenizer-more-text")
1233
- .click();
1336
+ .find("udex-tag-group").shadow()
1337
+ .find(".udex-tag-group__tokenizer").shadow()
1338
+ .find(".ui5-tokenizer-more-text")
1339
+ .click();
1234
1340
 
1235
1341
  cy.get("@showmore")
1236
- .should("have.been.called");
1342
+ .should("have.been.called");
1237
1343
  });
1238
1344
 
1239
1345
  it("emit first-icon-click when first icon clicked", () => {
@@ -1649,11 +1755,10 @@ describe("SelectBox", () => {
1649
1755
  it("pressing Tab while a list item is focused moves focus to the first footer element and keeps the dropdown open", () => {
1650
1756
  cy.mount(selectBoxWithFooter);
1651
1757
 
1652
- // Open the dropdown and move focus into the list via ArrowDown.
1758
+ // Open the dropdown; the first list item becomes the active descendant on open.
1653
1759
  cy.get("#select-box").shadow()
1654
1760
  .find(".udex-text-field__search")
1655
- .click()
1656
- .realPress("ArrowDown");
1761
+ .click();
1657
1762
 
1658
1763
  cy.get("#select-box").shadow()
1659
1764
  .find(".udex-select-box__dropdown")
@@ -1943,8 +2048,12 @@ describe("SelectBox", () => {
1943
2048
  const openDropdownOnFirstItem = () => {
1944
2049
  cy.get("#select-box").shadow()
1945
2050
  .find(".udex-text-field__search")
1946
- .click()
1947
- .realPress("ArrowDown");
2051
+ .click();
2052
+ // Opening focuses the first list item as the active descendant (DOM focus stays
2053
+ // on the input); wait for it so navigation starts deterministically from eq(0).
2054
+ cy.get("#select-box").shadow()
2055
+ .find("udex-list-item").eq(0)
2056
+ .should("have.attr", "_active-descendant");
1948
2057
  };
1949
2058
 
1950
2059
  it("Tab from list item closes dropdown and moves focus to next element outside component", () => {
@@ -2675,9 +2784,9 @@ describe("SelectBox", () => {
2675
2784
  it("Enter on a group header does not select its items", () => {
2676
2785
  cy.mount(groupHeaderCollapsibleSingleSelect);
2677
2786
  cy.get("#select-box").shadow().find(".udex-text-field__search").click();
2678
- cy.realPress("ArrowDown");
2679
2787
 
2680
- // The collapsible group header is the active descendant (DOM focus stays on input).
2788
+ // Opening focuses the first navigable item — the collapsible group header
2789
+ // (DOM focus stays on the input).
2681
2790
  cy.get("#select-box").shadow()
2682
2791
  .find("udex-list-group-header")
2683
2792
  .should("have.attr", "_active-descendant");
@@ -2769,10 +2878,9 @@ describe("SelectBox", () => {
2769
2878
  cy.mount(shortComponent);
2770
2879
  cy.get("#select-box").shadow()
2771
2880
  .find(".udex-text-field__search")
2772
- .click()
2773
- .realPress("ArrowDown");
2881
+ .click();
2774
2882
 
2775
- // shortComponent has 6 items; the first item "JavaScript" becomes active.
2883
+ // Opening activates the first item "JavaScript" (shortComponent has 6 items).
2776
2884
  cy.get("#select-box").shadow()
2777
2885
  .find('[aria-live="polite"]')
2778
2886
  .invoke("text")
@@ -2786,10 +2894,9 @@ describe("SelectBox", () => {
2786
2894
  cy.mount(groupHeaderCollapsible);
2787
2895
  cy.get("#select-box").shadow()
2788
2896
  .find(".udex-text-field__search")
2789
- .click()
2790
- .realPress("ArrowDown");
2897
+ .click();
2791
2898
 
2792
- // ArrowDown activates the group header -> tree text reports "level 0".
2899
+ // Opening activates the group header -> tree text reports "level 0".
2793
2900
  cy.get("#select-box").shadow()
2794
2901
  .find('[aria-live="polite"]')
2795
2902
  .invoke("text")
@@ -2863,10 +2970,10 @@ describe("SelectBox", () => {
2863
2970
  cy.mount(checkedMultiSelect);
2864
2971
  cy.get("#select-box").shadow()
2865
2972
  .find(".udex-text-field__search")
2866
- .click()
2867
- .realPress("ArrowDown");
2973
+ .click();
2868
2974
 
2869
- // First MultiSelect item is pre-selected -> state suffix is "Selected".
2975
+ // Opening activates the first MultiSelect item, which is pre-selected -> state
2976
+ // suffix is "Selected".
2870
2977
  cy.get("#select-box").shadow()
2871
2978
  .find('[aria-live="polite"]')
2872
2979
  .should("contain.text", "Selected");
@@ -2905,10 +3012,9 @@ describe("SelectBox", () => {
2905
3012
  cy.mount(groupHeaderCollapsible);
2906
3013
  cy.get("#select-box").shadow()
2907
3014
  .find(".udex-text-field__search")
2908
- .click()
2909
- .realPress("ArrowDown");
3015
+ .click();
2910
3016
 
2911
- // ArrowDown activates the expanded group header -> tree text reports
3017
+ // Opening activates the expanded group header -> tree text reports
2912
3018
  // "level 0" and the state suffix is "expanded".
2913
3019
  cy.get("#select-box").shadow()
2914
3020
  .find('[aria-live="polite"]')