@sapudex/web-components 2.41.0 → 2.43.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 (435) hide show
  1. package/config/wdio.conf.cjs +18 -2
  2. package/cypress/specs/Checkbox.cy.tsx +1 -1
  3. package/cypress/specs/FilterMenu.cy.tsx +181 -0
  4. package/cypress/specs/MessageStrip.cy.tsx +77 -0
  5. package/cypress/specs/Search.cy.tsx +20 -0
  6. package/cypress/specs/SelectBox.cy.tsx +449 -1
  7. package/cypress/specs/Toast.cy.tsx +6 -9
  8. package/cypress.config.ts +10 -0
  9. package/dist/MastheadCountrySelector.d.ts +5 -7
  10. package/dist/MastheadCountrySelector.js +17 -64
  11. package/dist/MastheadCountrySelector.js.map +1 -1
  12. package/dist/MessageStrip.d.ts +25 -0
  13. package/dist/MessageStrip.js +16 -4
  14. package/dist/MessageStrip.js.map +1 -1
  15. package/dist/Search.d.ts +6 -0
  16. package/dist/Search.js +3 -0
  17. package/dist/Search.js.map +1 -1
  18. package/dist/SearchTemplate.js +1 -1
  19. package/dist/SearchTemplate.js.map +1 -1
  20. package/dist/SearchableListBase.d.ts +15 -1
  21. package/dist/SearchableListBase.js +32 -4
  22. package/dist/SearchableListBase.js.map +1 -1
  23. package/dist/SearchableListBaseTemplate.js +3 -3
  24. package/dist/SearchableListBaseTemplate.js.map +1 -1
  25. package/dist/SelectBox.d.ts +1 -1
  26. package/dist/SelectBox.js +17 -13
  27. package/dist/SelectBox.js.map +1 -1
  28. package/dist/SelectBoxItem.d.ts +53 -0
  29. package/dist/SelectBoxItem.js +40 -1
  30. package/dist/SelectBoxItem.js.map +1 -1
  31. package/dist/Tag.d.ts +1 -0
  32. package/dist/Tag.js +6 -0
  33. package/dist/Tag.js.map +1 -1
  34. package/dist/TagTemplate.js +1 -1
  35. package/dist/TagTemplate.js.map +1 -1
  36. package/dist/assets/{InputSuggestions-BSg7bjcx.js → InputSuggestions-DorMeMJC.js} +2 -2
  37. package/dist/assets/ListItemStandardExpandableTextTemplate-BoavHZKO.js +3 -0
  38. package/dist/assets/{bundle.esm-I7iOjLgn.js → bundle.esm-Bji3bkxT.js} +305 -304
  39. package/dist/assets/messagebundle_ar-BUmieu9B.js +1 -0
  40. package/dist/assets/messagebundle_ar-DcH18L3h.js +1 -0
  41. package/dist/assets/messagebundle_ar-Ic4ckTUt.js +1 -0
  42. package/dist/assets/messagebundle_bg-BOgOglXh.js +1 -0
  43. package/dist/assets/messagebundle_bg-CADHX0Gg.js +1 -0
  44. package/dist/assets/messagebundle_bg-dZrlFeKZ.js +1 -0
  45. package/dist/assets/messagebundle_ca-2bFyG5Ty.js +1 -0
  46. package/dist/assets/messagebundle_ca-B2inwHsb.js +1 -0
  47. package/dist/assets/messagebundle_ca-hDpK1GqB.js +1 -0
  48. package/dist/assets/messagebundle_cnr-CSmWG9_V.js +1 -0
  49. package/dist/assets/messagebundle_cnr-DZsc1R1r.js +1 -0
  50. package/dist/assets/messagebundle_cnr-luAWCJP0.js +1 -0
  51. package/dist/assets/messagebundle_cs-BL77wptv.js +1 -0
  52. package/dist/assets/messagebundle_cs-BZXuIszN.js +1 -0
  53. package/dist/assets/messagebundle_cs-Dso9kSig.js +1 -0
  54. package/dist/assets/messagebundle_cy-B66O9oBx.js +1 -0
  55. package/dist/assets/messagebundle_cy-BSiMgZtA.js +1 -0
  56. package/dist/assets/messagebundle_cy-ZlqQuGUz.js +1 -0
  57. package/dist/assets/messagebundle_da-C1CzvcXW.js +1 -0
  58. package/dist/assets/messagebundle_da-CAPY9nnT.js +1 -0
  59. package/dist/assets/messagebundle_da-DTOADw3Y.js +1 -0
  60. package/dist/assets/messagebundle_de-CSl05u5u.js +1 -0
  61. package/dist/assets/messagebundle_de-DHBsUEIt.js +1 -0
  62. package/dist/assets/messagebundle_de-DWsuh-jj.js +1 -0
  63. package/dist/assets/messagebundle_el-ByL7ikpl.js +1 -0
  64. package/dist/assets/messagebundle_el-CwjQKEGb.js +1 -0
  65. package/dist/assets/messagebundle_el-rU4RAHJr.js +1 -0
  66. package/dist/assets/messagebundle_en-4Wpx2jqf.js +1 -0
  67. package/dist/assets/messagebundle_en-Bi068VCa.js +1 -0
  68. package/dist/assets/messagebundle_en-C3jnlBnZ.js +1 -0
  69. package/dist/assets/messagebundle_en_GB-BEZ3LbT5.js +1 -0
  70. package/dist/assets/messagebundle_en_GB-DKEddq_J.js +1 -0
  71. package/dist/assets/messagebundle_en_GB-DgUUCHvU.js +1 -0
  72. package/dist/assets/messagebundle_en_US_sappsd-BN4GAQFk.js +1 -0
  73. package/dist/assets/messagebundle_en_US_sappsd-Bc-vQnEr.js +1 -0
  74. package/dist/assets/messagebundle_en_US_sappsd-CEGC_XRQ.js +1 -0
  75. package/dist/assets/messagebundle_en_US_saprigi--hAUIdWq.js +1 -0
  76. package/dist/assets/messagebundle_en_US_saprigi-C7t8yAP4.js +1 -0
  77. package/dist/assets/messagebundle_en_US_saprigi-C_gnMw05.js +1 -0
  78. package/dist/assets/messagebundle_en_US_saptrc-CIbQNg_d.js +1 -0
  79. package/dist/assets/messagebundle_en_US_saptrc-DY0WM5Yp.js +1 -0
  80. package/dist/assets/messagebundle_en_US_saptrc-aeJaPF-Z.js +1 -0
  81. package/dist/assets/messagebundle_es-BHY_U2xi.js +1 -0
  82. package/dist/assets/messagebundle_es-CjAQjgPh.js +1 -0
  83. package/dist/assets/messagebundle_es-vhzI0nML.js +1 -0
  84. package/dist/assets/messagebundle_es_MX-BsU5E2lt.js +1 -0
  85. package/dist/assets/messagebundle_es_MX-DjJ15Ns4.js +1 -0
  86. package/dist/assets/messagebundle_es_MX-DmINMi1e.js +1 -0
  87. package/dist/assets/messagebundle_et-CGVYNV2t.js +1 -0
  88. package/dist/assets/messagebundle_et-CpVk1Xin.js +1 -0
  89. package/dist/assets/messagebundle_et-DLssZHh4.js +1 -0
  90. package/dist/assets/messagebundle_fi-DTWy4DwI.js +1 -0
  91. package/dist/assets/messagebundle_fi-DmGIB0sc.js +1 -0
  92. package/dist/assets/messagebundle_fi-YfxQ0aOR.js +1 -0
  93. package/dist/assets/messagebundle_fr-BFMaF4AX.js +1 -0
  94. package/dist/assets/messagebundle_fr-BZ-VJ002.js +1 -0
  95. package/dist/assets/messagebundle_fr-CQZYkI8Y.js +1 -0
  96. package/dist/assets/messagebundle_fr_CA-B5jFryz1.js +1 -0
  97. package/dist/assets/messagebundle_fr_CA-BPZVCoKy.js +1 -0
  98. package/dist/assets/messagebundle_fr_CA-hZ2LGeU2.js +1 -0
  99. package/dist/assets/messagebundle_hi-92qX3F1U.js +1 -0
  100. package/dist/assets/messagebundle_hi-B-Bg9gCp.js +1 -0
  101. package/dist/assets/messagebundle_hi-DFXk6QGw.js +1 -0
  102. package/dist/assets/messagebundle_hr-CUaLQBjG.js +1 -0
  103. package/dist/assets/messagebundle_hr-DZwNzpwV.js +1 -0
  104. package/dist/assets/messagebundle_hr-selqadPV.js +1 -0
  105. package/dist/assets/messagebundle_hu-BtupF5BC.js +1 -0
  106. package/dist/assets/messagebundle_hu-CJuQbTfi.js +1 -0
  107. package/dist/assets/messagebundle_hu-D_rF_cCp.js +1 -0
  108. package/dist/assets/messagebundle_id-8SuSwuaC.js +1 -0
  109. package/dist/assets/messagebundle_id-Bvmpblmf.js +1 -0
  110. package/dist/assets/messagebundle_id-P3JSHcmu.js +1 -0
  111. package/dist/assets/messagebundle_it-BINon06x.js +1 -0
  112. package/dist/assets/messagebundle_it-CXnIcrL4.js +1 -0
  113. package/dist/assets/messagebundle_it-CkVp56-y.js +1 -0
  114. package/dist/assets/messagebundle_iw-BzixLMjm.js +1 -0
  115. package/dist/assets/messagebundle_iw-C2PtOYbW.js +1 -0
  116. package/dist/assets/messagebundle_iw-Cb6M5XGj.js +1 -0
  117. package/dist/assets/messagebundle_ja-DKtRR53-.js +1 -0
  118. package/dist/assets/messagebundle_ja-DQ5MCYLw.js +1 -0
  119. package/dist/assets/messagebundle_ja-J8eqPj7N.js +1 -0
  120. package/dist/assets/messagebundle_kk-B-ayCgR1.js +1 -0
  121. package/dist/assets/messagebundle_kk-BIeQLfxu.js +1 -0
  122. package/dist/assets/messagebundle_kk-DIOzUeHN.js +1 -0
  123. package/dist/assets/messagebundle_ko-B9_Ss1b5.js +1 -0
  124. package/dist/assets/messagebundle_ko-BLMVyKh5.js +1 -0
  125. package/dist/assets/messagebundle_ko-iA71apTw.js +1 -0
  126. package/dist/assets/messagebundle_lt-CbB2wq2X.js +1 -0
  127. package/dist/assets/messagebundle_lt-DFh-jl0O.js +1 -0
  128. package/dist/assets/messagebundle_lt-RzsUvi_1.js +1 -0
  129. package/dist/assets/messagebundle_lv-6quK3a4e.js +1 -0
  130. package/dist/assets/messagebundle_lv-BQO-79MM.js +1 -0
  131. package/dist/assets/messagebundle_lv-C3DWg_wu.js +1 -0
  132. package/dist/assets/messagebundle_mk-2lJhEAgI.js +1 -0
  133. package/dist/assets/messagebundle_mk-Cv-rDpUc.js +1 -0
  134. package/dist/assets/messagebundle_mk-o-SATTof.js +1 -0
  135. package/dist/assets/messagebundle_ms-3Zupz0mA.js +1 -0
  136. package/dist/assets/messagebundle_ms-BOQc8ZIR.js +1 -0
  137. package/dist/assets/messagebundle_ms-DnacCQys.js +1 -0
  138. package/dist/assets/messagebundle_nl-BVNQuB_K.js +1 -0
  139. package/dist/assets/messagebundle_nl-C2lsDY4p.js +1 -0
  140. package/dist/assets/messagebundle_nl-DTnHMKsv.js +1 -0
  141. package/dist/assets/messagebundle_no-BQMw-opH.js +1 -0
  142. package/dist/assets/messagebundle_no-CsErf2Px.js +1 -0
  143. package/dist/assets/messagebundle_no-OUP0Fraw.js +1 -0
  144. package/dist/assets/messagebundle_pl-BQW6qi8p.js +1 -0
  145. package/dist/assets/messagebundle_pl-Cc6OWGyn.js +1 -0
  146. package/dist/assets/messagebundle_pl-PZiQh0Xy.js +1 -0
  147. package/dist/assets/messagebundle_pt-BlqCbnEN.js +1 -0
  148. package/dist/assets/messagebundle_pt-DEVzhHU_.js +1 -0
  149. package/dist/assets/messagebundle_pt-DKJk4Ohl.js +1 -0
  150. package/dist/assets/messagebundle_pt_PT-BV1ec-3v.js +1 -0
  151. package/dist/assets/messagebundle_pt_PT-CL5hgi4Q.js +1 -0
  152. package/dist/assets/messagebundle_pt_PT-DekHH4S1.js +1 -0
  153. package/dist/assets/messagebundle_ro-D3lrScIy.js +1 -0
  154. package/dist/assets/messagebundle_ro-fp3znc96.js +1 -0
  155. package/dist/assets/messagebundle_ro-mHJ-r7ez.js +1 -0
  156. package/dist/assets/messagebundle_ru-BD3A7Zsx.js +1 -0
  157. package/dist/assets/messagebundle_ru-CJECAckd.js +1 -0
  158. package/dist/assets/messagebundle_ru-D7z2G7DP.js +1 -0
  159. package/dist/assets/messagebundle_sh-BoaW1EWP.js +1 -0
  160. package/dist/assets/messagebundle_sh-C4BjzhRr.js +1 -0
  161. package/dist/assets/messagebundle_sh-DXM15u1O.js +1 -0
  162. package/dist/assets/messagebundle_sk-Bjnhb-_D.js +1 -0
  163. package/dist/assets/messagebundle_sk-BxDvjXxb.js +1 -0
  164. package/dist/assets/messagebundle_sk-Clc7AaEc.js +1 -0
  165. package/dist/assets/messagebundle_sl-Bi9mgI6m.js +1 -0
  166. package/dist/assets/messagebundle_sl-Bn5tocYe.js +1 -0
  167. package/dist/assets/messagebundle_sl-DJj-8V96.js +1 -0
  168. package/dist/assets/messagebundle_sr-B9TYgxO1.js +1 -0
  169. package/dist/assets/messagebundle_sr-Dsio4Srd.js +1 -0
  170. package/dist/assets/messagebundle_sr-SCdbG5fp.js +1 -0
  171. package/dist/assets/messagebundle_sr-w0tnyPzk.js +1 -0
  172. package/dist/assets/messagebundle_sv-B-KDauoz.js +1 -0
  173. package/dist/assets/messagebundle_sv-DCsGSCfn.js +1 -0
  174. package/dist/assets/messagebundle_sv-DQ0kE9XJ.js +1 -0
  175. package/dist/assets/messagebundle_sv-DWlY9RTQ.js +1 -0
  176. package/dist/assets/messagebundle_th-BmHTcbhR.js +1 -0
  177. package/dist/assets/messagebundle_th-D8qcTN_b.js +1 -0
  178. package/dist/assets/messagebundle_th-rPoqCsGu.js +1 -0
  179. package/dist/assets/messagebundle_tr-CyN3jcUR.js +1 -0
  180. package/dist/assets/messagebundle_tr-DIqpdL9d.js +1 -0
  181. package/dist/assets/messagebundle_tr-DOeCmUdx.js +1 -0
  182. package/dist/assets/{messagebundle_tr-CKXLfeIL.js → messagebundle_tr-Dw7toCgs.js} +1 -1
  183. package/dist/assets/messagebundle_uk-C7_nVJ9T.js +1 -0
  184. package/dist/assets/messagebundle_uk-CycQpntH.js +1 -0
  185. package/dist/assets/messagebundle_uk-GmdhsMsP.js +1 -0
  186. package/dist/assets/messagebundle_uk-L4kmWPZY.js +1 -0
  187. package/dist/assets/messagebundle_vi-CKYiMebw.js +1 -0
  188. package/dist/assets/messagebundle_vi-D1-iiI56.js +1 -0
  189. package/dist/assets/messagebundle_vi-wJJaYHj7.js +1 -0
  190. package/dist/assets/messagebundle_zh_CN-CHwH3F3-.js +1 -0
  191. package/dist/assets/messagebundle_zh_CN-CIR_auXr.js +1 -0
  192. package/dist/assets/messagebundle_zh_CN-D3UfRQq7.js +1 -0
  193. package/dist/assets/messagebundle_zh_CN-Dv1_J1hu.js +1 -0
  194. package/dist/assets/messagebundle_zh_TW-CG9O1F7p.js +1 -0
  195. package/dist/assets/messagebundle_zh_TW-CQChC5zV.js +1 -0
  196. package/dist/assets/messagebundle_zh_TW-FO0BCkub.js +1 -0
  197. package/dist/assets/{messagebundle_zh_TW-Bok4mzbM.js → messagebundle_zh_TW-qc8ADbuf.js} +1 -1
  198. package/dist/assets/{parameters-bundle.css-B89Fdm1T.js → parameters-bundle.css-1rRun2sT.js} +8 -0
  199. package/dist/assets/parameters-bundle.css-BA_cQYjH.js +2 -0
  200. package/dist/assets/parameters-bundle.css-BBLk8nbD.js +3 -0
  201. package/dist/assets/{parameters-bundle.css-BRUthQQI.js → parameters-bundle.css-BBdTemt8.js} +15 -15
  202. package/dist/assets/parameters-bundle.css-BCB-2TTY.js +2 -0
  203. package/dist/assets/parameters-bundle.css-BQB0pxRT.js +2 -0
  204. package/dist/assets/parameters-bundle.css-BVXLOlqR.js +2 -0
  205. package/dist/assets/parameters-bundle.css-B_rCq3Nc.js +3 -0
  206. package/dist/assets/{parameters-bundle.css-BWPCcnui.js → parameters-bundle.css-BiSP-Gf0.js} +10 -2
  207. package/dist/assets/parameters-bundle.css-C90ijvPq.js +2 -0
  208. package/dist/assets/{parameters-bundle.css-CXAGQb2_.js → parameters-bundle.css-CKNWL0nG.js} +10 -2
  209. package/dist/assets/parameters-bundle.css-CTIq7sCI.js +2 -0
  210. package/dist/assets/parameters-bundle.css-CTw0R0y7.js +2 -0
  211. package/dist/assets/parameters-bundle.css-CV2FCAf_.js +3 -0
  212. package/dist/assets/parameters-bundle.css-CWfGvXBZ.js +2 -0
  213. package/dist/assets/parameters-bundle.css-CX7V5RGm.js +3 -0
  214. package/dist/assets/parameters-bundle.css-D9AHurfl.js +2 -0
  215. package/dist/assets/parameters-bundle.css-DENVM9pb.js +3 -0
  216. package/dist/assets/parameters-bundle.css-DHLZEUsz.js +3 -0
  217. package/dist/assets/{parameters-bundle.css-CaKlToMx.js → parameters-bundle.css-DH_wndOj.js} +6 -6
  218. package/dist/assets/parameters-bundle.css-DUAp19rB.js +3 -0
  219. package/dist/assets/{parameters-bundle.css-Bbpzo3n0.js → parameters-bundle.css-DUGC7SPT.js} +8 -0
  220. package/dist/assets/parameters-bundle.css-DXuX1n-u.js +2 -0
  221. package/dist/assets/{parameters-bundle.css-DICk53PA.js → parameters-bundle.css-Dd5ajhZR.js} +10 -2
  222. package/dist/assets/parameters-bundle.css-Dp55UvXM.js +3 -0
  223. package/dist/assets/parameters-bundle.css-DpJfefgg.js +3 -0
  224. package/dist/assets/{parameters-bundle.css-DD29SCx8.js → parameters-bundle.css-DuHP0Q5Y.js} +13 -12
  225. package/dist/assets/parameters-bundle.css-YNYQDxyY.js +2 -0
  226. package/dist/assets/parameters-bundle.css-tevTlrPX.js +2 -0
  227. package/dist/assets/{parameters-bundle.css-DPvcwVIm.js → parameters-bundle.css-yvuwi247.js} +5 -5
  228. package/dist/css/themes/List.css +1 -1
  229. package/dist/css/themes/ListGroupHeader.css +1 -1
  230. package/dist/css/themes/MastheadMenuItem.css +1 -1
  231. package/dist/css/themes/SearchableList.css +1 -1
  232. package/dist/css/themes/Wizard.css +1 -1
  233. package/dist/css/themes/WizardTab.css +1 -1
  234. package/dist/custom-elements-internal.json +545 -0
  235. package/dist/custom-elements.json +551 -4
  236. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  242. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +5 -5
  243. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  244. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +1 -1
  245. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  246. package/dist/generated/themes/List.css.d.ts +1 -1
  247. package/dist/generated/themes/List.css.js +1 -1
  248. package/dist/generated/themes/List.css.js.map +1 -1
  249. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  250. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  251. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  252. package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
  253. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  254. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  255. package/dist/generated/themes/SearchableList.css.d.ts +1 -1
  256. package/dist/generated/themes/SearchableList.css.js +1 -1
  257. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  258. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  259. package/dist/generated/themes/Wizard.css.js +1 -1
  260. package/dist/generated/themes/Wizard.css.js.map +1 -1
  261. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  262. package/dist/generated/themes/WizardTab.css.js +1 -1
  263. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  264. package/dist/messagebundle_sr.properties +128 -0
  265. package/dist/messagebundle_sv.properties +126 -0
  266. package/dist/messagebundle_tr.properties +126 -0
  267. package/dist/messagebundle_uk.properties +128 -0
  268. package/dist/messagebundle_zh_CN.properties +126 -0
  269. package/dist/messagebundle_zh_TW.properties +126 -0
  270. package/dist/utils/sanitizeString.js +1 -4
  271. package/dist/utils/sanitizeString.js.map +1 -1
  272. package/dist/vscode.html-custom-data.json +137 -0
  273. package/dist/web-types.json +217 -1
  274. package/package.json +9 -9
  275. package/src/ListGroupHeader.hbs +4 -4
  276. package/src/MastheadCountrySelector.hbs +1 -1
  277. package/src/MastheadCountrySelector.ts +20 -80
  278. package/src/MessageStrip.ts +37 -4
  279. package/src/Search.ts +9 -0
  280. package/src/SearchTemplate.tsx +1 -0
  281. package/src/SearchableListBase.ts +31 -4
  282. package/src/SearchableListBaseTemplate.tsx +13 -1
  283. package/src/SelectBox.ts +19 -14
  284. package/src/SelectBoxItem.ts +70 -1
  285. package/src/Tag.ts +8 -0
  286. package/src/TagTemplate.tsx +1 -0
  287. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
  288. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +1 -1
  289. package/src/generated/themes/List.css.ts +1 -1
  290. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  291. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  292. package/src/generated/themes/SearchableList.css.ts +1 -1
  293. package/src/generated/themes/Wizard.css.ts +1 -1
  294. package/src/generated/themes/WizardTab.css.ts +1 -1
  295. package/src/i18n/messagebundle_sr.properties +128 -0
  296. package/src/i18n/messagebundle_sv.properties +126 -0
  297. package/src/i18n/messagebundle_tr.properties +126 -0
  298. package/src/i18n/messagebundle_uk.properties +128 -0
  299. package/src/i18n/messagebundle_zh_CN.properties +126 -0
  300. package/src/i18n/messagebundle_zh_TW.properties +126 -0
  301. package/src/themes/List.css +1 -2
  302. package/src/themes/ListGroupHeader.css +10 -12
  303. package/src/themes/MastheadMenuItem.css +12 -4
  304. package/src/themes/SearchableList.css +0 -1
  305. package/src/themes/Wizard.css +7 -0
  306. package/src/themes/WizardTab.css +23 -0
  307. package/src/utils/sanitizeString.ts +1 -4
  308. package/dist/assets/ListItemStandardExpandableTextTemplate-CCEQur_J.js +0 -3
  309. package/dist/assets/messagebundle_ar-B_vGELqE.js +0 -1
  310. package/dist/assets/messagebundle_ar-ql9y8H7i.js +0 -1
  311. package/dist/assets/messagebundle_bg-DahjEq9-.js +0 -1
  312. package/dist/assets/messagebundle_bg-DirTSiBs.js +0 -1
  313. package/dist/assets/messagebundle_ca-CLoGjgOQ.js +0 -1
  314. package/dist/assets/messagebundle_ca-Dt0eXv4b.js +0 -1
  315. package/dist/assets/messagebundle_cnr-CIT4FdxK.js +0 -1
  316. package/dist/assets/messagebundle_cnr-DcKjQBC2.js +0 -1
  317. package/dist/assets/messagebundle_cs-D6Ept3aZ.js +0 -1
  318. package/dist/assets/messagebundle_cs-JybtcHQz.js +0 -1
  319. package/dist/assets/messagebundle_cy-CBJcBetc.js +0 -1
  320. package/dist/assets/messagebundle_cy-D6EaO2mc.js +0 -1
  321. package/dist/assets/messagebundle_da-DP_Ld_m4.js +0 -1
  322. package/dist/assets/messagebundle_da-DXFv9LbY.js +0 -1
  323. package/dist/assets/messagebundle_de-C6CVo61I.js +0 -1
  324. package/dist/assets/messagebundle_de-De1WNx1Z.js +0 -1
  325. package/dist/assets/messagebundle_el-DjFg6Pxj.js +0 -1
  326. package/dist/assets/messagebundle_el-x7EAub0z.js +0 -1
  327. package/dist/assets/messagebundle_en-52Fg7l8z.js +0 -1
  328. package/dist/assets/messagebundle_en-CAn74huH.js +0 -1
  329. package/dist/assets/messagebundle_en_GB-BNvEFdpW.js +0 -1
  330. package/dist/assets/messagebundle_en_GB-mPq0tjYl.js +0 -1
  331. package/dist/assets/messagebundle_en_US_sappsd-BJo2KiPa.js +0 -1
  332. package/dist/assets/messagebundle_en_US_sappsd-DynRbkUr.js +0 -1
  333. package/dist/assets/messagebundle_en_US_saprigi-BQWYyoHW.js +0 -1
  334. package/dist/assets/messagebundle_en_US_saprigi-D92s1ZRa.js +0 -1
  335. package/dist/assets/messagebundle_en_US_saptrc-B2DXKZNZ.js +0 -1
  336. package/dist/assets/messagebundle_en_US_saptrc-hfAEC4kd.js +0 -1
  337. package/dist/assets/messagebundle_es-BwPFGD9Z.js +0 -1
  338. package/dist/assets/messagebundle_es-jLk5s13n.js +0 -1
  339. package/dist/assets/messagebundle_es_MX-C4GAmGhU.js +0 -1
  340. package/dist/assets/messagebundle_es_MX-D8t2Deqr.js +0 -1
  341. package/dist/assets/messagebundle_et-BTaXAVVc.js +0 -1
  342. package/dist/assets/messagebundle_et-Bjo0Et5r.js +0 -1
  343. package/dist/assets/messagebundle_fi-ChYfzxXr.js +0 -1
  344. package/dist/assets/messagebundle_fi-CntiBCQA.js +0 -1
  345. package/dist/assets/messagebundle_fr-BdRWqZJC.js +0 -1
  346. package/dist/assets/messagebundle_fr-CaZExNBp.js +0 -1
  347. package/dist/assets/messagebundle_fr_CA-BKRP61J_.js +0 -1
  348. package/dist/assets/messagebundle_fr_CA-DAzfdGd5.js +0 -1
  349. package/dist/assets/messagebundle_hi-BcOtK4GQ.js +0 -1
  350. package/dist/assets/messagebundle_hi-C7UcqZdw.js +0 -1
  351. package/dist/assets/messagebundle_hr-BLF-FOD0.js +0 -1
  352. package/dist/assets/messagebundle_hr-Dk6M01RL.js +0 -1
  353. package/dist/assets/messagebundle_hu-DpIoRnup.js +0 -1
  354. package/dist/assets/messagebundle_hu-VbDHbZG7.js +0 -1
  355. package/dist/assets/messagebundle_id-DIBxH6fi.js +0 -1
  356. package/dist/assets/messagebundle_id-lZaxXrdJ.js +0 -1
  357. package/dist/assets/messagebundle_it-BhsMY7So.js +0 -1
  358. package/dist/assets/messagebundle_it-DG7xbfea.js +0 -1
  359. package/dist/assets/messagebundle_iw-Cc803Nmd.js +0 -1
  360. package/dist/assets/messagebundle_iw-O_evnbhY.js +0 -1
  361. package/dist/assets/messagebundle_ja-BQJaLzhD.js +0 -1
  362. package/dist/assets/messagebundle_ja-DA6u0p66.js +0 -1
  363. package/dist/assets/messagebundle_kk-D5CooIqJ.js +0 -1
  364. package/dist/assets/messagebundle_kk-DNvxdh_N.js +0 -1
  365. package/dist/assets/messagebundle_ko-D8xqECx2.js +0 -1
  366. package/dist/assets/messagebundle_ko-wbi_wfM_.js +0 -1
  367. package/dist/assets/messagebundle_lt-DpI4T_Fm.js +0 -1
  368. package/dist/assets/messagebundle_lt-ln5fzwxi.js +0 -1
  369. package/dist/assets/messagebundle_lv-CYWgsGbN.js +0 -1
  370. package/dist/assets/messagebundle_lv-l0vb-OwI.js +0 -1
  371. package/dist/assets/messagebundle_mk-DIl_j3HQ.js +0 -1
  372. package/dist/assets/messagebundle_mk-t_B9kLHP.js +0 -1
  373. package/dist/assets/messagebundle_ms-BFy7Zha3.js +0 -1
  374. package/dist/assets/messagebundle_ms-DZQm3zbR.js +0 -1
  375. package/dist/assets/messagebundle_nl-C1aSfvr4.js +0 -1
  376. package/dist/assets/messagebundle_nl-TRrPBmQF.js +0 -1
  377. package/dist/assets/messagebundle_no-CLhgj0EG.js +0 -1
  378. package/dist/assets/messagebundle_no-aR0S5fgl.js +0 -1
  379. package/dist/assets/messagebundle_pl-BSUgMNBu.js +0 -1
  380. package/dist/assets/messagebundle_pl-CET5Ib58.js +0 -1
  381. package/dist/assets/messagebundle_pt-BbXdBcA1.js +0 -1
  382. package/dist/assets/messagebundle_pt-DkZyB3LQ.js +0 -1
  383. package/dist/assets/messagebundle_pt_PT-C_oLd5Iw.js +0 -1
  384. package/dist/assets/messagebundle_pt_PT-DCKLQCBx.js +0 -1
  385. package/dist/assets/messagebundle_ro-CsDFuVns.js +0 -1
  386. package/dist/assets/messagebundle_ro-D2wg4wzH.js +0 -1
  387. package/dist/assets/messagebundle_ru-C2C4gC1g.js +0 -1
  388. package/dist/assets/messagebundle_ru-DE3o7RU0.js +0 -1
  389. package/dist/assets/messagebundle_sh-B7wYluE7.js +0 -1
  390. package/dist/assets/messagebundle_sh-DKD7IPLY.js +0 -1
  391. package/dist/assets/messagebundle_sk-BqNiKvir.js +0 -1
  392. package/dist/assets/messagebundle_sk-CQANpP_i.js +0 -1
  393. package/dist/assets/messagebundle_sl-D-C5Ql-U.js +0 -1
  394. package/dist/assets/messagebundle_sl-Dg8gsTrL.js +0 -1
  395. package/dist/assets/messagebundle_sr-BrfbPkvb.js +0 -1
  396. package/dist/assets/messagebundle_sr-CiPp4mnW.js +0 -1
  397. package/dist/assets/messagebundle_sr-D8Lxl5cz.js +0 -1
  398. package/dist/assets/messagebundle_sv-DCluCru8.js +0 -1
  399. package/dist/assets/messagebundle_sv-DZNyuq7Z.js +0 -1
  400. package/dist/assets/messagebundle_sv-Ip_fKK1p.js +0 -1
  401. package/dist/assets/messagebundle_th-DwzFsAOp.js +0 -1
  402. package/dist/assets/messagebundle_th-HY1lYjoi.js +0 -1
  403. package/dist/assets/messagebundle_tr-9FvYSV7d.js +0 -1
  404. package/dist/assets/messagebundle_tr-B-M7HjSs.js +0 -1
  405. package/dist/assets/messagebundle_uk-BgTRxken.js +0 -1
  406. package/dist/assets/messagebundle_uk-Bh3hLYnV.js +0 -1
  407. package/dist/assets/messagebundle_uk-gYNrr26j.js +0 -1
  408. package/dist/assets/messagebundle_vi-CmDSDhxv.js +0 -1
  409. package/dist/assets/messagebundle_vi-yAL9JrWb.js +0 -1
  410. package/dist/assets/messagebundle_zh_CN-BsCxQ-NE.js +0 -1
  411. package/dist/assets/messagebundle_zh_CN-DOWro3p4.js +0 -1
  412. package/dist/assets/messagebundle_zh_CN-DRPasXpL.js +0 -1
  413. package/dist/assets/messagebundle_zh_TW-DCsIDAoN.js +0 -1
  414. package/dist/assets/messagebundle_zh_TW-Li9m-Dgo.js +0 -1
  415. package/dist/assets/parameters-bundle.css-B-LoL5pn.js +0 -2
  416. package/dist/assets/parameters-bundle.css-B44zldkY.js +0 -2
  417. package/dist/assets/parameters-bundle.css-B9cNNkge.js +0 -2
  418. package/dist/assets/parameters-bundle.css-BM3cv0NX.js +0 -3
  419. package/dist/assets/parameters-bundle.css-BaYJ1Sh3.js +0 -3
  420. package/dist/assets/parameters-bundle.css-BnDd81m-.js +0 -2
  421. package/dist/assets/parameters-bundle.css-Bpp5SPIo.js +0 -2
  422. package/dist/assets/parameters-bundle.css-BxF9_xcQ.js +0 -3
  423. package/dist/assets/parameters-bundle.css-CIS8Sge3.js +0 -2
  424. package/dist/assets/parameters-bundle.css-CkZZXcub.js +0 -3
  425. package/dist/assets/parameters-bundle.css-CqlwqyiK.js +0 -3
  426. package/dist/assets/parameters-bundle.css-D5iBjAlb.js +0 -2
  427. package/dist/assets/parameters-bundle.css-DFLKYdpf.js +0 -3
  428. package/dist/assets/parameters-bundle.css-Df8B8yQY.js +0 -2
  429. package/dist/assets/parameters-bundle.css-DfFxBNVP.js +0 -3
  430. package/dist/assets/parameters-bundle.css-DgrQXZRd.js +0 -2
  431. package/dist/assets/parameters-bundle.css-Dt5cIEI8.js +0 -2
  432. package/dist/assets/parameters-bundle.css-Wj-Qo16j.js +0 -3
  433. package/dist/assets/parameters-bundle.css-X9m6S2In.js +0 -2
  434. package/dist/assets/parameters-bundle.css-defUEOJD.js +0 -2
  435. package/dist/assets/parameters-bundle.css-oytHmScC.js +0 -3
@@ -8,9 +8,6 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
8
8
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
9
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
10
10
  import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
11
- import {
12
- isEnd, isHome, isTabNext, isTabPrevious,
13
- } from "@ui5/webcomponents-base/dist/Keys.js";
14
11
  import UDExMastheadMenuItem from "./MastheadMenuItem.js";
15
12
  import UDExSearch, { Mode as UDExSearchMode } from "./Search.js";
16
13
  import MastheadCountrySelectorTemplate from "./generated/templates/MastheadCountrySelectorTemplate.lit.js";
@@ -238,6 +235,7 @@ class UDExMastheadCountrySelector extends UI5Element {
238
235
  _mastheadShell!: UDExMastheadShell;
239
236
  _countriesListHolderClassName = "udex-masthead-country-selector__list-wrap";
240
237
  _itemClassName = "udex-masthead-country-selector__item";
238
+ _boundHandleActiveRegionClose!: () => void;
241
239
 
242
240
  @i18n("@sapudex/web-components")
243
241
  static i18nBundle: I18nBundle;
@@ -245,12 +243,23 @@ class UDExMastheadCountrySelector extends UI5Element {
245
243
  constructor() {
246
244
  super();
247
245
  this._activeCountries = [];
246
+ this._boundHandleActiveRegionClose = this.handleActiveRegionClose.bind(this);
247
+ }
248
+
249
+ onEnterDOM(): void {
250
+ if (isDesktop()) {
251
+ this.setAttribute("desktop", "");
252
+ }
253
+ this.closest("[udex-masthead-item]")?.addEventListener("dropdown-closed", this._boundHandleActiveRegionClose);
254
+ }
255
+
256
+ onExitDOM(): void {
257
+ this.closest("[udex-masthead-item]")?.removeEventListener("dropdown-closed", this._boundHandleActiveRegionClose);
248
258
  }
249
259
 
250
260
  onAfterRendering(): void {
251
261
  this._mastheadShell = this.mastheadShell;
252
262
  this.handleFocusItem();
253
- this.setTabIndexForItems();
254
263
  this.handleOutsideClick();
255
264
 
256
265
  if (this.isSingleMode) {
@@ -262,9 +271,11 @@ class UDExMastheadCountrySelector extends UI5Element {
262
271
  }
263
272
  }
264
273
 
265
- onEnterDOM(): void {
266
- if (isDesktop()) {
267
- this.setAttribute("desktop", "");
274
+ handleActiveRegionClose(): void {
275
+ if (!this.isSingleMode) {
276
+ this.handleSearchReset();
277
+ this._isActiveRegionOpen = false;
278
+ this.setActiveRegion(null);
268
279
  }
269
280
  }
270
281
 
@@ -280,26 +291,6 @@ class UDExMastheadCountrySelector extends UI5Element {
280
291
  }
281
292
  }
282
293
 
283
- handleKeyDown(e: KeyboardEvent): void {
284
- const item = e.target as UDExMastheadMenuItem;
285
-
286
- if (item.hasAttribute("is-nav-item")) {
287
- const isFirstItem = item === this.items[0];
288
- const isLastItem = item === this.items[this.items.length - 1];
289
-
290
- if (isTabNext(e) && !isLastItem) {
291
- e.preventDefault();
292
- this.focusNextItem(item);
293
- }
294
- if (isTabPrevious(e) && !isFirstItem) {
295
- e.preventDefault();
296
- this.focusPreviousItem(item);
297
- }
298
- this.handleHomeKey(e);
299
- this.handleEndKey(e);
300
- }
301
- }
302
-
303
294
  handleSearch(e: CustomEvent): void {
304
295
  const searchTerm = e.detail.value.toLowerCase().trim() as string;
305
296
 
@@ -348,9 +339,7 @@ class UDExMastheadCountrySelector extends UI5Element {
348
339
  handleOutsideClick(): void {
349
340
  document.addEventListener("mousedown", (e: Event): void => {
350
341
  if (e.target !== this && !this.isMobile) {
351
- this.handleSearchReset();
352
- this._isActiveRegionOpen = false;
353
- this.setActiveRegion(null);
342
+ this.handleActiveRegionClose();
354
343
  }
355
344
  });
356
345
  }
@@ -392,50 +381,12 @@ class UDExMastheadCountrySelector extends UI5Element {
392
381
  prevItem.focus({ preventScroll: true });
393
382
  }
394
383
 
395
- focusLastItem(e: KeyboardEvent): void {
396
- const currentIndex = (e.target as UDExMastheadMenuItem).index;
397
- const lastItemIndex = this.items.length - 1;
398
- const lastItem = this.items[lastItemIndex];
399
-
400
- this.items[currentIndex]._tabIndex = "-1";
401
- lastItem._tabIndex = "0";
402
- lastItem.scrollIntoView({ block: "end" });
403
- lastItem.focus({ preventScroll: true });
404
- }
405
-
406
- focusFirstItem(e: KeyboardEvent): void {
407
- const currentIndex = (e.target as UDExMastheadMenuItem).index;
384
+ focusFirstItem(): void {
408
385
  const firstItem = this.items[0];
409
-
410
- this.items[currentIndex]._tabIndex = "-1";
411
386
  firstItem._tabIndex = "0";
412
387
  firstItem.focus();
413
388
  }
414
389
 
415
- handleEndKey(e: KeyboardEvent): void {
416
- if (isEnd(e)) {
417
- e.preventDefault();
418
-
419
- if (this.isScrollableCountriesList) {
420
- this.removeScrollableClassInCountryList();
421
- }
422
-
423
- this.focusLastItem(e);
424
- }
425
- }
426
-
427
- handleHomeKey(e: KeyboardEvent): void {
428
- if (isHome(e)) {
429
- e.preventDefault();
430
-
431
- if (this.isScrollableCountriesList) {
432
- this.addScrollableClassToCountryList();
433
- }
434
-
435
- this.focusFirstItem(e);
436
- }
437
- }
438
-
439
390
  handleSingleRegionMode(): void {
440
391
  this.setActiveRegion(this.regionsData[0]);
441
392
  this.setActiveCountries([...this.regionsData[0].countries]);
@@ -490,17 +441,6 @@ class UDExMastheadCountrySelector extends UI5Element {
490
441
  this._activeCountries = countries;
491
442
  }
492
443
 
493
- setTabIndexForItems(): void {
494
- this.items.forEach((item, index) => {
495
- if (this._activeRegionIndex > 0 && this._shouldFocusRegionByIndex) {
496
- item._tabIndex = index === this._activeRegionIndex ? "0" : "-1";
497
- return;
498
- }
499
-
500
- item._tabIndex = index === 0 ? "0" : "-1";
501
- });
502
- }
503
-
504
444
  closeMenu():void {
505
445
  this._mastheadShell.closeMobileMenu();
506
446
  this._mastheadShell.mobileBtn?.focus();
@@ -64,6 +64,39 @@ class UDExMessageStrip extends MessageStrip {
64
64
  @property({ type: Boolean })
65
65
  hideCloseButton!: boolean;
66
66
 
67
+ /**
68
+ * Defines custom status text for information type
69
+ *
70
+ * @default ""
71
+ * @public
72
+ */
73
+ @property()
74
+ statusInformationText!: string;
75
+
76
+ /**
77
+ * Defines custom status text for success type
78
+ * @default ""
79
+ * @public
80
+ */
81
+ @property()
82
+ statusSuccessText!: string;
83
+
84
+ /**
85
+ * Defines custom status text for error type
86
+ * @default ""
87
+ * @public
88
+ */
89
+ @property()
90
+ statusErrorText!: string;
91
+
92
+ /**
93
+ * Defines custom status text for warning type
94
+ * @default ""
95
+ * @public
96
+ */
97
+ @property()
98
+ statusWarningText!: string;
99
+
67
100
  /**
68
101
  * Defines accessible name for close icon
69
102
  *
@@ -105,10 +138,10 @@ class UDExMessageStrip extends MessageStrip {
105
138
 
106
139
  textStatusTypeMapping(): Record<string, string> {
107
140
  return {
108
- [UDExMessageStripDesign.Information]: this.getTranslation(MESSAGE_STRIP_INFORMATION),
109
- [UDExMessageStripDesign.Positive]: this.getTranslation(MESSAGE_STRIP_SUCCESS),
110
- [UDExMessageStripDesign.Negative]: this.getTranslation(MESSAGE_STRIP_ERROR),
111
- [UDExMessageStripDesign.Warning]: this.getTranslation(MESSAGE_STRIP_WARNING),
141
+ [UDExMessageStripDesign.Information]: this.statusInformationText || this.getTranslation(MESSAGE_STRIP_INFORMATION),
142
+ [UDExMessageStripDesign.Positive]: this.statusSuccessText || this.getTranslation(MESSAGE_STRIP_SUCCESS),
143
+ [UDExMessageStripDesign.Negative]: this.statusErrorText || this.getTranslation(MESSAGE_STRIP_ERROR),
144
+ [UDExMessageStripDesign.Warning]: this.statusWarningText || this.getTranslation(MESSAGE_STRIP_WARNING),
112
145
  [UDExMessageStripDesign.Action]: this.getTranslation(MESSAGE_STRIP_ACTION),
113
146
  };
114
147
  }
package/src/Search.ts CHANGED
@@ -295,6 +295,15 @@ class UDExSearch extends UI5Element {
295
295
  */
296
296
  @property({ type: String })
297
297
  suggestionList!: string;
298
+
299
+ /**
300
+ * Sets the maximum number of characters available in the input field.
301
+ *
302
+ * @public
303
+ */
304
+ @property({ type: Number })
305
+ maxlength?: number;
306
+
298
307
  /**
299
308
  * Width of the search component
300
309
  * @private
@@ -189,6 +189,7 @@ function renderSearchInput(this: UDExSearch, placeholder: boolean = false) {
189
189
  aria-label={this.accInfo.ariaLabel}
190
190
  aria-describedby="search-description"
191
191
  {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}
192
+ maxlength={this.maxlength}
192
193
  value={this.value}
193
194
  onInput={this.handleSearchChange}
194
195
  onKeyDown={this.handleKeyDown}
@@ -5,7 +5,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
5
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
6
6
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
7
7
  import { cleanLabel } from "./utils/listItemLabelUtils.js";
8
- import { UDExListMode } from "./types/List.js";
8
+ import { UDExListMode, UDExListStyleType } from "./types/List.js";
9
9
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
10
  import type Popover from "@ui5/webcomponents/dist/Popover.js";
11
11
  import type { UDExProcessedItem } from "./types/SearchableListBase.js";
@@ -217,6 +217,24 @@ class UDExSearchableListBase extends UI5Element {
217
217
  @property()
218
218
  mode: `${UDExListMode}` = UDExListMode.SingleSelect;
219
219
 
220
+ /**
221
+ * Defines the list style type of the dropdown items.
222
+ *
223
+ * @default "None"
224
+ * @public
225
+ */
226
+ @property()
227
+ type: `${UDExListStyleType}` = UDExListStyleType.None;
228
+
229
+ /**
230
+ * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.
231
+ *
232
+ * @default ""
233
+ * @public
234
+ */
235
+ @property({ type: String })
236
+ itemIcon: string = "";
237
+
220
238
  /**
221
239
  * Slot for items.
222
240
  *
@@ -382,13 +400,20 @@ class UDExSearchableListBase extends UI5Element {
382
400
  const { isGroup, item } = preparedItem;
383
401
 
384
402
  if (isGroup) {
385
- preparedItem.groupItems = this.filterItemsForLabel(preparedItem.groupItems, str);
403
+ const groupHeaderMatches = this.checkAndUpdateLabel(item, str);
404
+ const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);
405
+
406
+ if (groupHeaderMatches) {
407
+ preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));
408
+ } else {
409
+ preparedItem.groupItems = filteredChildren;
410
+ }
386
411
 
387
- if (hasSearchQuery && preparedItem.groupItems.length > 0) {
412
+ if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {
388
413
  item.collapsed = false;
389
414
  }
390
415
 
391
- return preparedItem.groupItems.length > 0;
416
+ return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;
392
417
  }
393
418
 
394
419
  return this.checkAndUpdateLabel(item, str);
@@ -413,6 +438,8 @@ class UDExSearchableListBase extends UI5Element {
413
438
  item.label = this.addSearchTermTag(cleanedLabel, str);
414
439
  return true;
415
440
  }
441
+
442
+ item.label = cleanedLabel;
416
443
  return false;
417
444
  }
418
445
 
@@ -51,7 +51,9 @@ export default function SearchableListBaseTemplate(this: UDExSearchableListBase)
51
51
  accessible-role={this.accessibleRoleForList}
52
52
  class="udex-filter-menu__list"
53
53
  controlled={this.isControlled}
54
- mode={this.mode}>
54
+ mode={this.mode}
55
+ type={this.type}
56
+ item-icon={this.itemIcon}>
55
57
  {this._filteredItems.map((processedItem, index) => (
56
58
  processedItem.isGroup
57
59
  ? renderGroup.call(this, processedItem, index)
@@ -99,6 +101,7 @@ function renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProc
99
101
  <UDExListGroupHeader
100
102
  key={index}
101
103
  role="group"
104
+ {...(index === 0 ? { "_no-border": "" } : {})}
102
105
  _additional-class-name="udex-searchable-list__header"
103
106
  class={this.groupClassName}
104
107
  non-interactive={header.nonInteractive}
@@ -149,6 +152,15 @@ function renderListItem(
149
152
  rating-count={item.ratingCount}
150
153
  rating-max={item.ratingMax}
151
154
  label={item.label}
155
+ image={item.image}
156
+ image-alt={item.imageAlt}
157
+ image-badge-state={item.imageBadgeState}
158
+ image-shape={item.imageShape}
159
+ image-size={item.imageSize}
160
+ flag={item.flag}
161
+ flag-position={item.flagPosition}
162
+ size={item.size}
163
+ type={item.type}
152
164
  {...(accessibleRole ? { "accessible-role": accessibleRole } : {})}
153
165
  {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>
154
166
  </UDExListItem>
package/src/SelectBox.ts CHANGED
@@ -34,6 +34,7 @@ import SelectBoxTemplate from "./SelectBoxTemplate.js";
34
34
  import SearchableListBaseTemplate from "./SearchableListBaseTemplate.js";
35
35
  import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
36
36
  import type { UDExSelectBaseEvents } from "./SelectBase.js";
37
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
37
38
 
38
39
  // Styles
39
40
  import TextFieldCss from "./generated/themes/TextField.css.js";
@@ -248,12 +249,15 @@ class UDExSelectBox extends UDExSelectBase {
248
249
  this.fireEventDropdownClose();
249
250
  }
250
251
 
251
- handleRemoveTag(e: CustomEvent | null, tag?: UI5Element) {
252
+ async handleRemoveTag(e: CustomEvent | null, tag?: UI5Element) {
252
253
  tag = tag ?? (e?.detail.tag as UI5Element);
253
254
  const tagId: string = tag.getAttribute("data-id")!;
254
- this.tokenizer.deleteToken(tag as Token, true);
255
+ this.tokenizer.deleteToken(tag as Token);
255
256
  this.handleDropdownItemPress(tagId);
256
257
  this.fireDecoratorEventRemove(tagId);
258
+ await renderFinished();
259
+ this._focused = true;
260
+ this._search.focus();
257
261
  }
258
262
 
259
263
  handleRemoveTruncatableTag() {
@@ -265,7 +269,15 @@ class UDExSelectBox extends UDExSelectBase {
265
269
 
266
270
  handleTagClick(e: CustomEvent) {
267
271
  const tag = e.detail.tag as UDExTag;
268
- this.toggleTruncatedPopover(tag);
272
+
273
+ if (!tag.isTruncatable) {
274
+ this._showTagsDropdownContent = false;
275
+ tag.selected = false;
276
+ }
277
+
278
+ if (tag.isTruncatable && !this._open) {
279
+ this.toggleTruncatedPopover(tag);
280
+ }
269
281
  }
270
282
 
271
283
  handleUnselectTruncatableTag() {
@@ -384,17 +396,10 @@ class UDExSelectBox extends UDExSelectBase {
384
396
  }
385
397
 
386
398
  toggleTruncatedPopover(tag: UDExTag) {
387
- if (!tag.isTruncatable) {
388
- this._showTagsDropdownContent = false;
389
- tag.selected = false;
390
- }
391
-
392
- if (tag.isTruncatable && !this._open) {
393
- this._truncatableTag = tag;
394
- this._truncatableTag.selected = true;
395
- this._showTagsDropdownContent = true;
396
- this.openDropdown();
397
- }
399
+ this._truncatableTag = tag;
400
+ this._truncatableTag.selected = true;
401
+ this._showTagsDropdownContent = true;
402
+ this.openDropdown();
398
403
  }
399
404
 
400
405
  configureTokenizer() {
@@ -6,6 +6,8 @@ import property from "@ui5/webcomponents-base/decorators/property.js";
6
6
  import { UDExAdditionalTextState } from "./types/List.js";
7
7
  import UDExButton from "./Button.js";
8
8
  import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import type UDExStatusBadgeValueState from "./types/StatusBadgeValueState.js";
10
+ import UDExAvatar, { UDExAvatarShape, UDExAvatarSize } from "./Avatar.js";
9
11
 
10
12
  /**
11
13
  * @class
@@ -29,10 +31,18 @@ import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
29
31
  @customElement({
30
32
  tag: "udex-select-box-item",
31
33
  renderer: litRender,
32
- dependencies: [UDExButton],
34
+ dependencies: [UDExButton, UDExAvatar],
33
35
  })
34
36
 
35
37
  class UDExSelectBoxItem extends UDExListItemBase {
38
+ /**
39
+ * Defines the name of the UI5 Icon displayed for each item when type is Icon.
40
+ *
41
+ * @public
42
+ */
43
+ @property({ type: String })
44
+ itemIcon?: string;
45
+
36
46
  /**
37
47
  * Defines the additionalText, displayed at the end of the list item.
38
48
  *
@@ -50,6 +60,65 @@ class UDExSelectBoxItem extends UDExListItemBase {
50
60
  @property()
51
61
  additionalTextState: `${UDExAdditionalTextState}` = UDExAdditionalTextState.None;
52
62
 
63
+ /**
64
+ * Defines the image, displayed at the start of the item.
65
+ *
66
+ * @public
67
+ */
68
+ @property({ type: Boolean })
69
+ flag?: boolean;
70
+
71
+ /**
72
+ * Defines the position for flag image.
73
+ *
74
+ * @public
75
+ */
76
+ @property({ type: String })
77
+ flagPosition?: string;
78
+
79
+ /**
80
+ * Allows control over the image source.
81
+ *
82
+ * @public
83
+ */
84
+ @property({ type: String })
85
+ image?: string;
86
+
87
+ /**
88
+ * Allows control over the alternative text of the image.
89
+ *
90
+ * @public
91
+ */
92
+ @property({ type: String })
93
+ imageAlt?: string;
94
+
95
+ /**
96
+ * Defines the image badge state of the component.
97
+ *
98
+ * @default ""
99
+ * @public
100
+ */
101
+ @property()
102
+ imageBadgeState?: `${UDExStatusBadgeValueState}`;
103
+
104
+ /**
105
+ * Defines the shape of the image.
106
+ *
107
+ * @default "Circle"
108
+ * @public
109
+ */
110
+ @property()
111
+ imageShape: `${UDExAvatarShape}` = UDExAvatarShape.Circle;
112
+
113
+ /**
114
+ * Allows control over the size of the image.
115
+ *
116
+ * @default "S"
117
+ * @public
118
+ */
119
+ @property()
120
+ imageSize: `${UDExAvatarSize}` = UDExAvatarSize.S;
121
+
53
122
  /**
54
123
  * Slot for first icon.
55
124
  *
package/src/Tag.ts CHANGED
@@ -265,6 +265,14 @@ class UDExTag extends UI5Element {
265
265
  }
266
266
  }
267
267
 
268
+ _onIconMouseDown(e: MouseEvent): void {
269
+ const target = e.currentTarget as HTMLElement;
270
+
271
+ if (target === this.shadowRoot?.querySelector("[ui5-icon]")) {
272
+ this.toBeDeleted = true;
273
+ }
274
+ }
275
+
268
276
  _handleResize() {
269
277
  if (this.isTruncatable) {
270
278
  this.title = this.text;
@@ -76,6 +76,7 @@ function tagIcon(this: UDExTag, rootClass: string, iconType: string, isIconClick
76
76
  <UI5Icon
77
77
  class={`${rootClass}__icon ${rootClass}__icon--${iconType}`}
78
78
  name={this.icon}
79
+ onMouseDown={this._onIconMouseDown}
79
80
  {...(isIconClickable ? { onClick: this.iconClickHandler } : {})}>
80
81
  </UI5Icon>
81
82
  </>
@@ -8,20 +8,20 @@ import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
8
8
  function block0 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div part="item" class="udex-list__group" role="group" aria-labelledby="group-heading">${ this.collapsible ? block1.call(this, context, tags, suffix) : block11.call(this, context, tags, suffix) }</div> `;}
9
9
  function block1 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list__group-list" name="group" @ui5-item-press="${ifDefined(this.getHandleGroupItemsClick)}">${ this.modeMultiSelectOrRadioGroup ? block2.call(this, context, tags, suffix) : block6.call(this, context, tags, suffix) }<div id="${ifDefined(this.ariaControlsId)}" role="region" class="udex-list__group-list__content"><div role="listbox" aria-label="group"><slot></slot></div></div></div>`;}
10
10
  function block2 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.isNonActiveHeader ? block3.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }`;}
11
- function block3 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<header role="button" id="group-heading" class="udex-list__inactive-header udex-list__group-header-wrap " tabindex="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}"><div class="udex-list__inactive-header-content"><span class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block4.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><${scopeTag("udex-button", tags, suffix)} size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></${scopeTag("udex-button", tags, suffix)}></div></header>` : html`<header role="button" id="group-heading" class="udex-list__inactive-header udex-list__group-header-wrap " tabindex="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}"><div class="udex-list__inactive-header-content"><span class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block4.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><udex-button size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></udex-button></div></header>`;}
11
+ function block3 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<header role="button" id="group-heading" class="udex-list__inactive-header udex-list__group-header-wrap " tabindex="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}"><div class="udex-list__inactive-header-content"><span class="udex-list__header-title">${unsafeHTML(this.label)}</span>${ this.supportingText ? block4.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><${scopeTag("udex-button", tags, suffix)} size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></${scopeTag("udex-button", tags, suffix)}></div></header>` : html`<header role="button" id="group-heading" class="udex-list__inactive-header udex-list__group-header-wrap " tabindex="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}"><div class="udex-list__inactive-header-content"><span class="udex-list__header-title">${unsafeHTML(this.label)}</span>${ this.supportingText ? block4.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><udex-button size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></udex-button></div></header>`;}
12
12
  function block4 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__supporting-text ">${ifDefined(this.supportingText)}</span>`;}
13
13
  function block5 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-list-item", tags, suffix)} id="group-heading" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}" accessible-role="button" _additional-class-name="${ifDefined(this._additionalClassName)}" ?selected="${this.selected}" _tab-index="${ifDefined(this._effectiveTabIndex)}" ?indeterminate="${this.indeterminate}" collapsible=${ifDefined(this.collapsible)} ?collapsed=${this.collapsed} ?_filtered="${ifDefined(this._filtered)}" part="group-item" role="none" class="${ifDefined(this.className)}" mode="${ifDefined(this.mode)}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @click="${this.handleHeaderPress}" @keydown="${this.handleKeyDownPress}" @accordion-icon-click="${this.handleCollapseIconClick}" type="${ifDefined(this.type)}" label="${ifDefined(this.label)}" _icon="${ifDefined(this._icon)}" size="${ifDefined(this.size)}"></${scopeTag("udex-list-item", tags, suffix)}>` : html`<udex-list-item id="group-heading" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}" accessible-role="button" _additional-class-name="${ifDefined(this._additionalClassName)}" ?selected="${this.selected}" _tab-index="${ifDefined(this._effectiveTabIndex)}" ?indeterminate="${this.indeterminate}" collapsible=${ifDefined(this.collapsible)} ?collapsed=${this.collapsed} ?_filtered="${ifDefined(this._filtered)}" part="group-item" role="none" class="${ifDefined(this.className)}" mode="${ifDefined(this.mode)}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @click="${this.handleHeaderPress}" @keydown="${this.handleKeyDownPress}" @accordion-icon-click="${this.handleCollapseIconClick}" type="${ifDefined(this.type)}" label="${ifDefined(this.label)}" _icon="${ifDefined(this._icon)}" size="${ifDefined(this.size)}"></udex-list-item>`;}
14
- function block6 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-list__group-content udex-list__group-header-wrap ${ifDefined(this.sizeClass)}" part="group-item" id="${ifDefined(this._id)}_group-content__focusable" role="button" tabindex="0" @keydown="${this.handleKeyDown}" _tab-index="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}">${ this.typeNumber ? block7.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block8.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block9.call(this, context, tags, suffix) : undefined }<div class="udex-list__header"><span id="group-heading" class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block10.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><${scopeTag("udex-button", tags, suffix)} size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></${scopeTag("udex-button", tags, suffix)}></div></div>` : html`<div class="udex-list__group-content udex-list__group-header-wrap ${ifDefined(this.sizeClass)}" part="group-item" id="${ifDefined(this._id)}_group-content__focusable" role="button" tabindex="0" @keydown="${this.handleKeyDown}" _tab-index="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}">${ this.typeNumber ? block7.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block8.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block9.call(this, context, tags, suffix) : undefined }<div class="udex-list__header"><span id="group-heading" class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block10.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><udex-button size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></udex-button></div></div>`;}
14
+ function block6 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-list__group-content udex-list__group-header-wrap ${ifDefined(this.sizeClass)}" part="group-item" id="${ifDefined(this._id)}_group-content__focusable" role="button" tabindex="0" @keydown="${this.handleKeyDown}" _tab-index="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}">${ this.typeNumber ? block7.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block8.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block9.call(this, context, tags, suffix) : undefined }<div class="udex-list__header"><span id="group-heading" class="udex-list__header-title">${unsafeHTML(this.label)}</span>${ this.supportingText ? block10.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><${scopeTag("udex-button", tags, suffix)} size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></${scopeTag("udex-button", tags, suffix)}></div></div>` : html`<div class="udex-list__group-content udex-list__group-header-wrap ${ifDefined(this.sizeClass)}" part="group-item" id="${ifDefined(this._id)}_group-content__focusable" role="button" tabindex="0" @keydown="${this.handleKeyDown}" _tab-index="${ifDefined(this._effectiveTabIndex)}" aria-expanded="${ifDefined(this.expanded)}" aria-controls="${ifDefined(this.ariaControlsId)}">${ this.typeNumber ? block7.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block8.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block9.call(this, context, tags, suffix) : undefined }<div class="udex-list__header"><span id="group-heading" class="udex-list__header-title">${unsafeHTML(this.label)}</span>${ this.supportingText ? block10.call(this, context, tags, suffix) : undefined }</div><div class="udex-list__group-heading__icon-wrapper"><udex-button size="Small" design="Tertiary" class="udex-list__group-heading__icon" @click="${this.handleCollapseIconClick}" tabindex="-1" accessible-name="${ifDefined(this.expandButtonAccessibleName)}" mode="Interactive" icon="slim-arrow-right"></udex-button></div></div>`;}
15
15
  function block7 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__number">${ifDefined(this.numberOfItem)}.</span>`;}
16
16
  function block8 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__circle">&#x2022;</span>`;}
17
17
  function block9 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-icon", tags, suffix)} class="udex-list__icon" name="${ifDefined(this._icon)}" accessible-role="presentation" aria-hidden="true" part="icon"></${scopeTag("ui5-icon", tags, suffix)}>` : html`<ui5-icon class="udex-list__icon" name="${ifDefined(this._icon)}" accessible-role="presentation" aria-hidden="true" part="icon"></ui5-icon>`;}
18
18
  function block10 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__supporting-text ${ifDefined(this.sizeClass)}">${ifDefined(this.supportingText)}</span>`;}
19
19
  function block11 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div role="listbox" class="udex-list__group-list" name="group" aria-label="group" @ui5-item-press="${ifDefined(this.getHandleGroupItemsClick)}">${ this.modeMultiSelectOrRadioGroup ? block12.call(this, context, tags, suffix) : block16.call(this, context, tags, suffix) }<slot></slot></div>`;}
20
20
  function block12 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.isNonActiveHeader ? block13.call(this, context, tags, suffix) : block15.call(this, context, tags, suffix) }`;}
21
- function block13 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<header id="group-heading" class="udex-list__inactive-header udex-list__group-header-wrap"><div class="udex-list__inactive-header-content"><span class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block14.call(this, context, tags, suffix) : undefined }</div></header>`;}
21
+ function block13 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<header id="group-heading" class="udex-list__inactive-header udex-list__group-header-wrap"><div class="udex-list__inactive-header-content"><span class="udex-list__header-title">${unsafeHTML(this.label)}</span>${ this.supportingText ? block14.call(this, context, tags, suffix) : undefined }</div></header>`;}
22
22
  function block14 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__supporting-text">${ifDefined(this.supportingText)}</span>`;}
23
23
  function block15 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-list-item", tags, suffix)} id="group-heading" _additional-class-name="${ifDefined(this._additionalClassName)}" ?selected="${this.selected}" _tab-index="${ifDefined(this._effectiveTabIndex)}" ?indeterminate="${this.indeterminate}" ?_filtered="${ifDefined(this._filtered)}" part="group-item" role="none" class="${ifDefined(this.className)}" mode="${ifDefined(this.mode)}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @click="${this.handleHeaderPress}" @keydown="${this.handleKeyDownPress}" type="${ifDefined(this.type)}" label="${ifDefined(this.label)}" _icon="${ifDefined(this._icon)}" size="${ifDefined(this.size)}"></${scopeTag("udex-list-item", tags, suffix)}>` : html`<udex-list-item id="group-heading" _additional-class-name="${ifDefined(this._additionalClassName)}" ?selected="${this.selected}" _tab-index="${ifDefined(this._effectiveTabIndex)}" ?indeterminate="${this.indeterminate}" ?_filtered="${ifDefined(this._filtered)}" part="group-item" role="none" class="${ifDefined(this.className)}" mode="${ifDefined(this.mode)}" ?controlled="${this.controlled}" supporting-text="${ifDefined(this.supportingText)}" @click="${this.handleHeaderPress}" @keydown="${this.handleKeyDownPress}" type="${ifDefined(this.type)}" label="${ifDefined(this.label)}" _icon="${ifDefined(this._icon)}" size="${ifDefined(this.size)}"></udex-list-item>`;}
24
- function block16 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list__group-content udex-list__group-header-wrap ${ifDefined(this.sizeClass)}" part="group-item">${ this.typeNumber ? block17.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block18.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block19.call(this, context, tags, suffix) : undefined }<div class="udex-list__header"><span id="group-heading" class="udex-list__header-title">${ifDefined(this.label)}</span>${ this.supportingText ? block20.call(this, context, tags, suffix) : undefined }</div></div>`;}
24
+ function block16 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-list__group-content udex-list__group-header-wrap ${ifDefined(this.sizeClass)}" part="group-item">${ this.typeNumber ? block17.call(this, context, tags, suffix) : undefined }${ this.typeCircle ? block18.call(this, context, tags, suffix) : undefined }${ this.typeIcon ? block19.call(this, context, tags, suffix) : undefined }<div class="udex-list__header"><span id="group-heading" class="udex-list__header-title">${unsafeHTML(this.label)}</span>${ this.supportingText ? block20.call(this, context, tags, suffix) : undefined }</div></div>`;}
25
25
  function block17 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__number">${ifDefined(this.numberOfItem)}.</span>`;}
26
26
  function block18 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-list__circle">&#x2022;</span>`;}
27
27
  function block19 (this: ListGroupHeader, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-icon", tags, suffix)} class="udex-list__icon" name="${ifDefined(this._icon)}" accessible-role="presentation" aria-hidden="true" part="icon"></${scopeTag("ui5-icon", tags, suffix)}>` : html`<ui5-icon class="udex-list__icon" name="${ifDefined(this._icon)}" accessible-role="presentation" aria-hidden="true" part="icon"></ui5-icon>`;}
@@ -5,7 +5,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type MastheadCountrySelector from "../../MastheadCountrySelector.js";
6
6
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
7
7
 
8
- function block0 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-country-selector" @keydown="${this.handleKeyDown}">${ this._isActiveRegionOpen ? block1.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }</div>`;}
8
+ function block0 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-masthead-country-selector">${ this._isActiveRegionOpen ? block1.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }</div>`;}
9
9
  function block1 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="udex-masthead-country-selector__title">${ifDefined(this.countryTitle)}</span>${ !this.isSingleMode ? block2.call(this, context, tags, suffix) : undefined }${ !this.hideSearch ? block3.call(this, context, tags, suffix) : undefined }<div class="udex-masthead-country-selector__list-container"><div class="udex-masthead-country-selector__list-wrap" @scroll=${this.handleCountryListShadowVisible}><ul class="udex-masthead-country-selector__list udex-masthead-country-selector__list_countries" role="menu">${ repeat(this._activeCountries, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block4.call(this, context, tags, suffix, item, index)) }</ul></div></div>`;}
10
10
  function block2 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-masthead-menu-item", tags, suffix)} class="udex-masthead-country-selector__region-back-item" accessible-role="button" _accessible-Name="${ifDefined(this.backToRegionListAccessibleName)}" @click="${this.backToRegions}" label="${ifDefined(this._activeRegion?.title)}" type="Button" part="menu-item" is-back icon-start></${scopeTag("udex-masthead-menu-item", tags, suffix)}>` : html`<udex-masthead-menu-item class="udex-masthead-country-selector__region-back-item" accessible-role="button" _accessible-Name="${ifDefined(this.backToRegionListAccessibleName)}" @click="${this.backToRegions}" label="${ifDefined(this._activeRegion?.title)}" type="Button" part="menu-item" is-back icon-start></udex-masthead-menu-item>`;}
11
11
  function block3 (this: MastheadCountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-search", tags, suffix)} class="udex-masthead-country-selector__search" @ui5-handle-value-search="${ifDefined(this.handleSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleSearchReset)}" @ui5-submit-search-value="${ifDefined(this.handleSearch)}" language-voice="${ifDefined(this.languageVoice)}" label="${ifDefined(this.searchLabel)}" mode="${ifDefined(this.homeSearchMode)}" ?show-voice-button="${this.showSearchVoiceButton}" non-interactive-submit-button show-submit-button></${scopeTag("udex-search", tags, suffix)}><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span>` : html`<udex-search class="udex-masthead-country-selector__search" @ui5-handle-value-search="${ifDefined(this.handleSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleSearchReset)}" @ui5-submit-search-value="${ifDefined(this.handleSearch)}" language-voice="${ifDefined(this.languageVoice)}" label="${ifDefined(this.searchLabel)}" mode="${ifDefined(this.homeSearchMode)}" ?show-voice-button="${this.showSearchVoiceButton}" non-interactive-submit-button show-submit-button></udex-search><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span>`;}
@@ -5,5 +5,5 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
5
5
 
6
6
  registerThemePropertiesLoader("@" + "ui5" + "/" + "webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
7
7
  registerThemePropertiesLoader("@" + "s" + "a" + "p" + "u" + "d" + "e" + "x" + "/" + "w" + "e" + "b" + "-" + "c" + "o" + "m" + "p" + "o" + "n" + "e" + "n" + "t" + "s", "sap_horizon", async () => defaultTheme, "host");
8
- export default `.udex-list{font-family:var(--sapFontFamily, sans-serif);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);list-style-type:none;padding:0;margin:0}.udex-list__hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}.udex-list__scroll-container{overflow:auto;height:100%}.udex-list__header-text{font-family:var(--sapFontFamily, sans-serif);font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);font-weight:var(--udexTypographyFontWeightMedium, 500);padding:var(--udexSpacer8, 8px) var(--udexSpacer12, 12px);border-bottom:1px solid var(--sapList_BorderColor, #A9B4BE)}::slotted(udex-list-group-header:not(:last-child)){margin-bottom:var(--udexSpacer16, 16px);display:block}:host([mode="SingleContent"])::part(header){padding:var(--udexSpacer8, 8px) 0}:host([mode="RadioGroup"])::part(header),:host([mode="MultiSelect"])::part(header){padding:var(--udexSpacer8, 8px) var(--udexSpacer20, 20px)}
8
+ export default `.udex-list{font-family:var(--sapFontFamily, sans-serif);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);list-style-type:none;padding:0;margin:0}.udex-list__hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}.udex-list__scroll-container{overflow:auto;height:100%}.udex-list__header-text{font-family:var(--sapFontFamily, sans-serif);font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);font-weight:var(--udexTypographyFontWeightRegular, 400);padding:var(--udexSpacer8, 8px) var(--udexSpacer12, 12px);border-bottom:1px solid var(--sapList_BorderColor, #A9B4BE)}::slotted(udex-list-group-header:not(:last-child)){display:block}:host([mode="SingleContent"])::part(header){padding:var(--udexSpacer8, 8px) 0}:host([mode="RadioGroup"])::part(header),:host([mode="MultiSelect"])::part(header){padding:var(--udexSpacer8, 8px) var(--udexSpacer20, 20px)}
9
9
  `
@@ -5,5 +5,5 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
5
5
 
6
6
  registerThemePropertiesLoader("@" + "ui5" + "/" + "webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
7
7
  registerThemePropertiesLoader("@" + "s" + "a" + "p" + "u" + "d" + "e" + "x" + "/" + "w" + "e" + "b" + "-" + "c" + "o" + "m" + "p" + "o" + "n" + "e" + "n" + "t" + "s", "sap_horizon", async () => defaultTheme, "host");
8
- export default `:host{--udex-list-item-group-header-padding-vertical: var(--udexSpacer12, 12px);--udex-list-item-group-header-padding-horizontal: var(--udexSpacer16, 16px);--udex-list-item-group-header-supporting-text-color: var(--sapContent_LabelColor, #223548);--udex-list-item-group-header-border-color: var(--sapList_BorderColor, #A9B4BE);--udex-list-item-group-header-outline-border-color: var(--udexColorBlue10, #002A86)}.udex-list__header{font-weight:var(--udexTypographyFontWeightMedium, 500);display:flex;flex-direction:column}.udex-list__supporting-text{font-family:var(--sapFontFamily, sans-serif);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 21px);font-weight:var(--udexTypographyFontWeightRegular, 400);color:var(--udex-list-item-group-header-supporting-text-color);padding-top:var(--udexSpacer2, 2px)}.udex-list__group-list{list-style-type:none;padding:0;margin:0}.udex-list__group ::slotted([udex-list-item]){padding-inline-start:calc(var(--udexSpacer24) + var(--udexSpacer16));--udex-list-item-padding-inline-start: 0}.udex-list__header,.udex-list__group-header{font-weight:var(--udexTypographyFontWeightMedium, 500)}.udex-list__group-list.udex-list__sticky{padding-top:59px}.udex-list__group-content{display:flex;border-top:1px solid var(--udex-list-item-group-header-border-color);padding:var(--udex-list-item-group-header-padding-vertical) var(--udex-list-item-group-header-padding-horizontal);align-items:center;position:relative}.udex-list__group-content.udex-list_group-content__focusable:focus,.udex-list__group-content.udex-list_group-content__focusable:focus-visible{outline:none}.udex-list__group-content.udex-list_group-content__focusable:focus:before,.udex-list__group-content.udex-list_group-content__focusable:focus-visible:before{content:"";position:absolute;inset:0;outline:var(--udexRadiusXXS) solid var(--udex-list-item-group-header-outline-border-color);outline-offset:-4px;border-radius:var(--udexRadiusM, 8px);pointer-events:none}.udex-list__number{margin-inline-end:var(--udexSpacer8, 8px)}.udex-list__circle{display:block;min-width:20px;height:22px;position:relative}:host([mode="MultiSelect"]) .udex-list__group-header{border-bottom:1px solid var(--udex-list-item-group-header-border-color)}.udex-list__group_large{font-size:var(--udexTypographyBodyLFontSize, 20px);line-height:var(--udexTypographyHeadingLineHeight, 22px);font-weight:var(--udexTypographyFontWeightMedium, 500)}.udex-list__group_large.udex-list__supporting-text{font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);font-weight:var(--udexTypographyFontWeightRegular, 400)}.udex-list__icon{margin-inline-end:var(--udexSpacer8, 8px);padding-top:2px;min-width:18px;height:18px}.udex-list__inactive-header{font-family:var(--sapFontFamily, sans-serif);font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);font-weight:var(--udexTypographyFontWeightMedium, 500);padding:var(--udexSpacer12, 12px) var(--udexSpacer16, 16px);border-bottom:1px solid var(--sapList_BorderColor, #A9B4BE);display:flex;justify-content:space-between;align-items:center}.udex-list__inactive-header-content{display:flex;flex-direction:column}.udex-list__group-heading__icon{transform:rotate(-90deg);height:18px;width:18px;color:inherit;cursor:pointer;--udex-button-icon-s-size: 18px}.udex-list__group-heading__icon-wrapper{height:24px;width:24px;display:flex;justify-content:center;align-items:center;margin-inline-start:auto}:host(:dir(rtl)) .udex-list__group-heading__icon{transform:rotate(90deg)}:host([collapsed]) .udex-list__group-heading__icon{transform:rotate(90deg)}:host([collapsed]:dir(rtl)) .udex-list__group-heading__icon{transform:rotate(-90deg)}:host([collapsible]) .udex-list__group-list__content,:host([collapsible])+.udex-list__group-list__content{max-height:var(--udex-list-content-max-height);overflow:hidden;transition:max-height .2s ease-in}:host([collapsible]) [udex-list-item][collapsed]+.udex-list__group-list__content,:host([collapsible][collapsed]) .udex-list__inactive-header+.udex-list__group-list__content,:host([collapsible][collapsed]) .udex-list__group-content+.udex-list__group-list__content,:host([collapsible][collapsed])+.udex-list__group-list__content,.udex-list__group-header[collapsible][collapsed]+.udex-list__group-list__content{max-height:0}:host([collapsible][mode="MultiSelect"]) header,:host([collapsible][mode="RadioGroup"]) .udex-list__group-header-wrap,:host([collapsible][mode="SingleContent"]) .udex-list__group-header-wrap,:host([collapsible][mode="SingleSelect"]) .udex-list__group-header-wrap{position:relative}:host([collapsible][mode="MultiSelect"]) header:focus,:host([collapsible][mode="RadioGroup"]) .udex-list__group-header-wrap:focus,:host([collapsible][mode="SingleContent"]) .udex-list__group-header-wrap:focus,:host([collapsible][mode="SingleSelect"]) .udex-list__group-header-wrap:focus{outline:none}:host([collapsible][mode="MultiSelect"]) header:focus:before,:host([collapsible][mode="RadioGroup"]) .udex-list__group-header-wrap:focus:before,:host([collapsible][mode="SingleContent"]) .udex-list__group-header-wrap:focus:before,:host([collapsible][mode="SingleSelect"]) .udex-list__group-header-wrap:focus:before{content:"";position:absolute;inset:0;outline:var(--udexRadiusXXS) solid var(--udexColorBlue10, #002A86);outline-offset:-4px;border-radius:var(--udexRadiusM, 8px)}
8
+ export default `:host{--udex-list-item-group-header-padding-vertical: var(--udexSpacer12, 12px);--udex-list-item-group-header-padding-horizontal: var(--udexSpacer16, 16px);--udex-list-item-group-header-supporting-text-color: var(--sapContent_LabelColor, #223548);--udex-list-item-group-header-border-color: var(--sapList_BorderColor, #A9B4BE);--udex-list-item-group-header-outline-border-color: var(--udexColorBlue10, #002A86)}.udex-list__header{display:flex;flex-direction:column;width:100%}.udex-list__supporting-text{font-family:var(--sapFontFamily, sans-serif);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 21px);font-weight:var(--udexTypographyFontWeightRegular, 400);color:var(--udex-list-item-group-header-supporting-text-color);padding-top:var(--udexSpacer2, 2px)}.udex-list__group-list{list-style-type:none;padding:0;margin:0}.udex-list__group ::slotted([udex-list-item]){padding-inline-start:calc(var(--udexSpacer24) + var(--udexSpacer16));--udex-list-item-padding-inline-start: 0}.udex-list__header,.udex-list__group-header{font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyHeadingRegularXXXSFontSize, 18px);line-height:var(--udexTypographyHeadingLineHeight, 1.1)}.udex-list__group-list.udex-list__sticky{padding-top:59px}.udex-list__group-content{display:flex;border-top:1px solid var(--udex-list-item-group-header-border-color);padding:var(--udex-list-item-group-header-padding-vertical) var(--udex-list-item-group-header-padding-horizontal);align-items:center;position:relative}:host([mode="MultiSelect"][_no-border]) .udex-list__group-header,:host([_no-border]) .udex-list__group-content{border-top:none}.udex-list__group-content.udex-list_group-content__focusable:focus,.udex-list__group-content.udex-list_group-content__focusable:focus-visible{outline:none}.udex-list__group-content.udex-list_group-content__focusable:focus:before,.udex-list__group-content.udex-list_group-content__focusable:focus-visible:before{content:"";position:absolute;inset:0;outline:var(--udexRadiusXXS) solid var(--udex-list-item-group-header-outline-border-color);outline-offset:-4px;border-radius:var(--udexRadiusM, 8px);pointer-events:none}.udex-list__number{margin-inline-end:var(--udexSpacer8, 8px)}.udex-list__circle{display:block;min-width:20px;height:22px;position:relative}:host([mode="MultiSelect"]) .udex-list__group-header{border-top:1px solid var(--udex-list-item-group-header-border-color)}.udex-list__group_large{font-size:var(--udexTypographyBodyLFontSize, 20px);line-height:var(--udexTypographyHeadingLineHeight, 22px);font-weight:var(--udexTypographyFontWeightMedium, 500)}.udex-list__group_large.udex-list__supporting-text{font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);font-weight:var(--udexTypographyFontWeightRegular, 400)}.udex-list__icon{margin-inline-end:var(--udexSpacer8, 8px);padding-top:2px;min-width:18px;height:18px}.udex-list__inactive-header{font-family:var(--sapFontFamily, sans-serif);font-size:var(--udexTypographyBodySFontSize, 16px);line-height:var(--udexTypographyBodyLineHeight, 24px);font-weight:var(--udexTypographyFontWeightMedium, 500);padding:var(--udexSpacer12, 12px) var(--udexSpacer16, 16px);border-bottom:1px solid var(--sapList_BorderColor, #A9B4BE);display:flex;justify-content:space-between;align-items:center}.udex-list__inactive-header-content{display:flex;flex-direction:column}.udex-list__group-heading__icon{transform:rotate(-90deg);height:18px;width:18px;color:inherit;cursor:pointer;--udex-button-icon-s-size: 18px}:host(:dir(rtl)) .udex-list__group-heading__icon{transform:rotate(90deg)}:host([collapsed]) .udex-list__group-heading__icon{transform:rotate(90deg)}:host([collapsed]:dir(rtl)) .udex-list__group-heading__icon{transform:rotate(-90deg)}:host([collapsible]) .udex-list__group-list__content,:host([collapsible])+.udex-list__group-list__content{max-height:var(--udex-list-content-max-height);overflow:hidden;transition:max-height .2s ease-in}:host([collapsible]) [udex-list-item][collapsed]+.udex-list__group-list__content,:host([collapsible][collapsed]) .udex-list__inactive-header+.udex-list__group-list__content,:host([collapsible][collapsed]) .udex-list__group-content+.udex-list__group-list__content,:host([collapsible][collapsed])+.udex-list__group-list__content,.udex-list__group-header[collapsible][collapsed]+.udex-list__group-list__content{max-height:0}:host([collapsible][mode="MultiSelect"]) header,:host([collapsible][mode="RadioGroup"]) .udex-list__group-header-wrap,:host([collapsible][mode="SingleContent"]) .udex-list__group-header-wrap,:host([collapsible][mode="SingleSelect"]) .udex-list__group-header-wrap{position:relative}:host([collapsible][mode="MultiSelect"]) header:focus,:host([collapsible][mode="RadioGroup"]) .udex-list__group-header-wrap:focus,:host([collapsible][mode="SingleContent"]) .udex-list__group-header-wrap:focus,:host([collapsible][mode="SingleSelect"]) .udex-list__group-header-wrap:focus{outline:none}:host([collapsible][mode="MultiSelect"]) header:focus:before,:host([collapsible][mode="RadioGroup"]) .udex-list__group-header-wrap:focus:before,:host([collapsible][mode="SingleContent"]) .udex-list__group-header-wrap:focus:before,:host([collapsible][mode="SingleSelect"]) .udex-list__group-header-wrap:focus:before{content:"";position:absolute;inset:0;outline:var(--udexRadiusXXS) solid var(--udexColorBlue10, #002A86);outline-offset:-4px;border-radius:var(--udexRadiusM, 8px)}
9
9
  `