@sapudex/web-components 2.42.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 (387) hide show
  1. package/cypress/specs/Checkbox.cy.tsx +1 -1
  2. package/cypress/specs/FilterMenu.cy.tsx +181 -0
  3. package/cypress/specs/Search.cy.tsx +20 -0
  4. package/cypress/specs/SelectBox.cy.tsx +449 -1
  5. package/cypress/specs/Toast.cy.tsx +6 -9
  6. package/dist/MastheadCountrySelector.d.ts +5 -7
  7. package/dist/MastheadCountrySelector.js +17 -64
  8. package/dist/MastheadCountrySelector.js.map +1 -1
  9. package/dist/Search.d.ts +6 -0
  10. package/dist/Search.js +3 -0
  11. package/dist/Search.js.map +1 -1
  12. package/dist/SearchTemplate.js +1 -1
  13. package/dist/SearchTemplate.js.map +1 -1
  14. package/dist/SearchableListBase.d.ts +15 -1
  15. package/dist/SearchableListBase.js +32 -4
  16. package/dist/SearchableListBase.js.map +1 -1
  17. package/dist/SearchableListBaseTemplate.js +3 -3
  18. package/dist/SearchableListBaseTemplate.js.map +1 -1
  19. package/dist/SelectBox.d.ts +1 -1
  20. package/dist/SelectBox.js +17 -13
  21. package/dist/SelectBox.js.map +1 -1
  22. package/dist/SelectBoxItem.d.ts +53 -0
  23. package/dist/SelectBoxItem.js +40 -1
  24. package/dist/SelectBoxItem.js.map +1 -1
  25. package/dist/Tag.d.ts +1 -0
  26. package/dist/Tag.js +6 -0
  27. package/dist/Tag.js.map +1 -1
  28. package/dist/TagTemplate.js +1 -1
  29. package/dist/TagTemplate.js.map +1 -1
  30. package/dist/assets/{InputSuggestions-DVRXb_CJ.js → InputSuggestions-DorMeMJC.js} +2 -2
  31. package/dist/assets/ListItemStandardExpandableTextTemplate-BoavHZKO.js +3 -0
  32. package/dist/assets/{bundle.esm-CjF11YUZ.js → bundle.esm-Bji3bkxT.js} +305 -304
  33. package/dist/assets/messagebundle_ar-BUmieu9B.js +1 -0
  34. package/dist/assets/messagebundle_ar-DcH18L3h.js +1 -0
  35. package/dist/assets/messagebundle_ar-Ic4ckTUt.js +1 -0
  36. package/dist/assets/messagebundle_bg-BOgOglXh.js +1 -0
  37. package/dist/assets/messagebundle_bg-CADHX0Gg.js +1 -0
  38. package/dist/assets/messagebundle_bg-dZrlFeKZ.js +1 -0
  39. package/dist/assets/messagebundle_ca-2bFyG5Ty.js +1 -0
  40. package/dist/assets/messagebundle_ca-B2inwHsb.js +1 -0
  41. package/dist/assets/messagebundle_ca-hDpK1GqB.js +1 -0
  42. package/dist/assets/messagebundle_cnr-CSmWG9_V.js +1 -0
  43. package/dist/assets/messagebundle_cnr-DZsc1R1r.js +1 -0
  44. package/dist/assets/messagebundle_cnr-luAWCJP0.js +1 -0
  45. package/dist/assets/messagebundle_cs-BL77wptv.js +1 -0
  46. package/dist/assets/messagebundle_cs-BZXuIszN.js +1 -0
  47. package/dist/assets/messagebundle_cs-Dso9kSig.js +1 -0
  48. package/dist/assets/messagebundle_cy-B66O9oBx.js +1 -0
  49. package/dist/assets/messagebundle_cy-BSiMgZtA.js +1 -0
  50. package/dist/assets/messagebundle_cy-ZlqQuGUz.js +1 -0
  51. package/dist/assets/messagebundle_da-C1CzvcXW.js +1 -0
  52. package/dist/assets/messagebundle_da-CAPY9nnT.js +1 -0
  53. package/dist/assets/messagebundle_da-DTOADw3Y.js +1 -0
  54. package/dist/assets/messagebundle_de-CSl05u5u.js +1 -0
  55. package/dist/assets/messagebundle_de-DHBsUEIt.js +1 -0
  56. package/dist/assets/messagebundle_de-DWsuh-jj.js +1 -0
  57. package/dist/assets/messagebundle_el-ByL7ikpl.js +1 -0
  58. package/dist/assets/messagebundle_el-CwjQKEGb.js +1 -0
  59. package/dist/assets/messagebundle_el-rU4RAHJr.js +1 -0
  60. package/dist/assets/messagebundle_en-4Wpx2jqf.js +1 -0
  61. package/dist/assets/messagebundle_en-Bi068VCa.js +1 -0
  62. package/dist/assets/messagebundle_en-C3jnlBnZ.js +1 -0
  63. package/dist/assets/messagebundle_en_GB-BEZ3LbT5.js +1 -0
  64. package/dist/assets/messagebundle_en_GB-DKEddq_J.js +1 -0
  65. package/dist/assets/messagebundle_en_GB-DgUUCHvU.js +1 -0
  66. package/dist/assets/messagebundle_en_US_sappsd-BN4GAQFk.js +1 -0
  67. package/dist/assets/messagebundle_en_US_sappsd-Bc-vQnEr.js +1 -0
  68. package/dist/assets/messagebundle_en_US_sappsd-CEGC_XRQ.js +1 -0
  69. package/dist/assets/messagebundle_en_US_saprigi--hAUIdWq.js +1 -0
  70. package/dist/assets/messagebundle_en_US_saprigi-C7t8yAP4.js +1 -0
  71. package/dist/assets/messagebundle_en_US_saprigi-C_gnMw05.js +1 -0
  72. package/dist/assets/messagebundle_en_US_saptrc-CIbQNg_d.js +1 -0
  73. package/dist/assets/messagebundle_en_US_saptrc-DY0WM5Yp.js +1 -0
  74. package/dist/assets/messagebundle_en_US_saptrc-aeJaPF-Z.js +1 -0
  75. package/dist/assets/messagebundle_es-BHY_U2xi.js +1 -0
  76. package/dist/assets/messagebundle_es-CjAQjgPh.js +1 -0
  77. package/dist/assets/messagebundle_es-vhzI0nML.js +1 -0
  78. package/dist/assets/messagebundle_es_MX-BsU5E2lt.js +1 -0
  79. package/dist/assets/messagebundle_es_MX-DjJ15Ns4.js +1 -0
  80. package/dist/assets/messagebundle_es_MX-DmINMi1e.js +1 -0
  81. package/dist/assets/messagebundle_et-CGVYNV2t.js +1 -0
  82. package/dist/assets/messagebundle_et-CpVk1Xin.js +1 -0
  83. package/dist/assets/messagebundle_et-DLssZHh4.js +1 -0
  84. package/dist/assets/messagebundle_fi-DTWy4DwI.js +1 -0
  85. package/dist/assets/messagebundle_fi-DmGIB0sc.js +1 -0
  86. package/dist/assets/messagebundle_fi-YfxQ0aOR.js +1 -0
  87. package/dist/assets/messagebundle_fr-BFMaF4AX.js +1 -0
  88. package/dist/assets/messagebundle_fr-BZ-VJ002.js +1 -0
  89. package/dist/assets/messagebundle_fr-CQZYkI8Y.js +1 -0
  90. package/dist/assets/messagebundle_fr_CA-B5jFryz1.js +1 -0
  91. package/dist/assets/messagebundle_fr_CA-BPZVCoKy.js +1 -0
  92. package/dist/assets/messagebundle_fr_CA-hZ2LGeU2.js +1 -0
  93. package/dist/assets/messagebundle_hi-92qX3F1U.js +1 -0
  94. package/dist/assets/messagebundle_hi-B-Bg9gCp.js +1 -0
  95. package/dist/assets/messagebundle_hi-DFXk6QGw.js +1 -0
  96. package/dist/assets/messagebundle_hr-CUaLQBjG.js +1 -0
  97. package/dist/assets/messagebundle_hr-DZwNzpwV.js +1 -0
  98. package/dist/assets/messagebundle_hr-selqadPV.js +1 -0
  99. package/dist/assets/messagebundle_hu-BtupF5BC.js +1 -0
  100. package/dist/assets/messagebundle_hu-CJuQbTfi.js +1 -0
  101. package/dist/assets/messagebundle_hu-D_rF_cCp.js +1 -0
  102. package/dist/assets/messagebundle_id-8SuSwuaC.js +1 -0
  103. package/dist/assets/messagebundle_id-Bvmpblmf.js +1 -0
  104. package/dist/assets/messagebundle_id-P3JSHcmu.js +1 -0
  105. package/dist/assets/messagebundle_it-BINon06x.js +1 -0
  106. package/dist/assets/messagebundle_it-CXnIcrL4.js +1 -0
  107. package/dist/assets/messagebundle_it-CkVp56-y.js +1 -0
  108. package/dist/assets/messagebundle_iw-BzixLMjm.js +1 -0
  109. package/dist/assets/messagebundle_iw-C2PtOYbW.js +1 -0
  110. package/dist/assets/messagebundle_iw-Cb6M5XGj.js +1 -0
  111. package/dist/assets/messagebundle_ja-DKtRR53-.js +1 -0
  112. package/dist/assets/messagebundle_ja-DQ5MCYLw.js +1 -0
  113. package/dist/assets/messagebundle_ja-J8eqPj7N.js +1 -0
  114. package/dist/assets/messagebundle_kk-B-ayCgR1.js +1 -0
  115. package/dist/assets/messagebundle_kk-BIeQLfxu.js +1 -0
  116. package/dist/assets/messagebundle_kk-DIOzUeHN.js +1 -0
  117. package/dist/assets/messagebundle_ko-B9_Ss1b5.js +1 -0
  118. package/dist/assets/messagebundle_ko-BLMVyKh5.js +1 -0
  119. package/dist/assets/messagebundle_ko-iA71apTw.js +1 -0
  120. package/dist/assets/messagebundle_lt-CbB2wq2X.js +1 -0
  121. package/dist/assets/messagebundle_lt-DFh-jl0O.js +1 -0
  122. package/dist/assets/messagebundle_lt-RzsUvi_1.js +1 -0
  123. package/dist/assets/messagebundle_lv-6quK3a4e.js +1 -0
  124. package/dist/assets/messagebundle_lv-BQO-79MM.js +1 -0
  125. package/dist/assets/messagebundle_lv-C3DWg_wu.js +1 -0
  126. package/dist/assets/messagebundle_mk-2lJhEAgI.js +1 -0
  127. package/dist/assets/messagebundle_mk-Cv-rDpUc.js +1 -0
  128. package/dist/assets/messagebundle_mk-o-SATTof.js +1 -0
  129. package/dist/assets/messagebundle_ms-3Zupz0mA.js +1 -0
  130. package/dist/assets/messagebundle_ms-BOQc8ZIR.js +1 -0
  131. package/dist/assets/messagebundle_ms-DnacCQys.js +1 -0
  132. package/dist/assets/messagebundle_nl-BVNQuB_K.js +1 -0
  133. package/dist/assets/messagebundle_nl-C2lsDY4p.js +1 -0
  134. package/dist/assets/messagebundle_nl-DTnHMKsv.js +1 -0
  135. package/dist/assets/messagebundle_no-BQMw-opH.js +1 -0
  136. package/dist/assets/messagebundle_no-CsErf2Px.js +1 -0
  137. package/dist/assets/messagebundle_no-OUP0Fraw.js +1 -0
  138. package/dist/assets/messagebundle_pl-BQW6qi8p.js +1 -0
  139. package/dist/assets/messagebundle_pl-Cc6OWGyn.js +1 -0
  140. package/dist/assets/messagebundle_pl-PZiQh0Xy.js +1 -0
  141. package/dist/assets/messagebundle_pt-BlqCbnEN.js +1 -0
  142. package/dist/assets/messagebundle_pt-DEVzhHU_.js +1 -0
  143. package/dist/assets/messagebundle_pt-DKJk4Ohl.js +1 -0
  144. package/dist/assets/messagebundle_pt_PT-BV1ec-3v.js +1 -0
  145. package/dist/assets/messagebundle_pt_PT-CL5hgi4Q.js +1 -0
  146. package/dist/assets/messagebundle_pt_PT-DekHH4S1.js +1 -0
  147. package/dist/assets/messagebundle_ro-D3lrScIy.js +1 -0
  148. package/dist/assets/messagebundle_ro-fp3znc96.js +1 -0
  149. package/dist/assets/messagebundle_ro-mHJ-r7ez.js +1 -0
  150. package/dist/assets/messagebundle_ru-BD3A7Zsx.js +1 -0
  151. package/dist/assets/messagebundle_ru-CJECAckd.js +1 -0
  152. package/dist/assets/messagebundle_ru-D7z2G7DP.js +1 -0
  153. package/dist/assets/messagebundle_sh-BoaW1EWP.js +1 -0
  154. package/dist/assets/messagebundle_sh-C4BjzhRr.js +1 -0
  155. package/dist/assets/messagebundle_sh-DXM15u1O.js +1 -0
  156. package/dist/assets/messagebundle_sk-Bjnhb-_D.js +1 -0
  157. package/dist/assets/messagebundle_sk-BxDvjXxb.js +1 -0
  158. package/dist/assets/messagebundle_sk-Clc7AaEc.js +1 -0
  159. package/dist/assets/messagebundle_sl-Bi9mgI6m.js +1 -0
  160. package/dist/assets/messagebundle_sl-Bn5tocYe.js +1 -0
  161. package/dist/assets/messagebundle_sl-DJj-8V96.js +1 -0
  162. package/dist/assets/messagebundle_sr-B9TYgxO1.js +1 -0
  163. package/dist/assets/messagebundle_sr-Dsio4Srd.js +1 -0
  164. package/dist/assets/messagebundle_sr-SCdbG5fp.js +1 -0
  165. package/dist/assets/messagebundle_sr-w0tnyPzk.js +1 -0
  166. package/dist/assets/messagebundle_sv-B-KDauoz.js +1 -0
  167. package/dist/assets/messagebundle_sv-DCsGSCfn.js +1 -0
  168. package/dist/assets/messagebundle_sv-DQ0kE9XJ.js +1 -0
  169. package/dist/assets/messagebundle_sv-DWlY9RTQ.js +1 -0
  170. package/dist/assets/messagebundle_th-BmHTcbhR.js +1 -0
  171. package/dist/assets/messagebundle_th-D8qcTN_b.js +1 -0
  172. package/dist/assets/messagebundle_th-rPoqCsGu.js +1 -0
  173. package/dist/assets/messagebundle_tr-CyN3jcUR.js +1 -0
  174. package/dist/assets/messagebundle_tr-DIqpdL9d.js +1 -0
  175. package/dist/assets/{messagebundle_tr-CKXLfeIL.js → messagebundle_tr-Dw7toCgs.js} +1 -1
  176. package/dist/assets/messagebundle_uk-C7_nVJ9T.js +1 -0
  177. package/dist/assets/messagebundle_uk-CycQpntH.js +1 -0
  178. package/dist/assets/messagebundle_uk-L4kmWPZY.js +1 -0
  179. package/dist/assets/messagebundle_vi-CKYiMebw.js +1 -0
  180. package/dist/assets/messagebundle_vi-D1-iiI56.js +1 -0
  181. package/dist/assets/messagebundle_vi-wJJaYHj7.js +1 -0
  182. package/dist/assets/messagebundle_zh_CN-CIR_auXr.js +1 -0
  183. package/dist/assets/messagebundle_zh_CN-D3UfRQq7.js +1 -0
  184. package/dist/assets/messagebundle_zh_CN-Dv1_J1hu.js +1 -0
  185. package/dist/assets/messagebundle_zh_TW-CG9O1F7p.js +1 -0
  186. package/dist/assets/messagebundle_zh_TW-CQChC5zV.js +1 -0
  187. package/dist/assets/{messagebundle_zh_TW-Bok4mzbM.js → messagebundle_zh_TW-qc8ADbuf.js} +1 -1
  188. package/dist/assets/{parameters-bundle.css-B89Fdm1T.js → parameters-bundle.css-1rRun2sT.js} +8 -0
  189. package/dist/assets/parameters-bundle.css-BA_cQYjH.js +2 -0
  190. package/dist/assets/parameters-bundle.css-BBLk8nbD.js +3 -0
  191. package/dist/assets/{parameters-bundle.css-BRUthQQI.js → parameters-bundle.css-BBdTemt8.js} +15 -15
  192. package/dist/assets/parameters-bundle.css-BCB-2TTY.js +2 -0
  193. package/dist/assets/parameters-bundle.css-BQB0pxRT.js +2 -0
  194. package/dist/assets/parameters-bundle.css-BVXLOlqR.js +2 -0
  195. package/dist/assets/parameters-bundle.css-B_rCq3Nc.js +3 -0
  196. package/dist/assets/{parameters-bundle.css-BWPCcnui.js → parameters-bundle.css-BiSP-Gf0.js} +10 -2
  197. package/dist/assets/parameters-bundle.css-C90ijvPq.js +2 -0
  198. package/dist/assets/{parameters-bundle.css-CXAGQb2_.js → parameters-bundle.css-CKNWL0nG.js} +10 -2
  199. package/dist/assets/parameters-bundle.css-CTIq7sCI.js +2 -0
  200. package/dist/assets/parameters-bundle.css-CTw0R0y7.js +2 -0
  201. package/dist/assets/parameters-bundle.css-CV2FCAf_.js +3 -0
  202. package/dist/assets/parameters-bundle.css-CWfGvXBZ.js +2 -0
  203. package/dist/assets/parameters-bundle.css-CX7V5RGm.js +3 -0
  204. package/dist/assets/parameters-bundle.css-D9AHurfl.js +2 -0
  205. package/dist/assets/parameters-bundle.css-DENVM9pb.js +3 -0
  206. package/dist/assets/parameters-bundle.css-DHLZEUsz.js +3 -0
  207. package/dist/assets/{parameters-bundle.css-CaKlToMx.js → parameters-bundle.css-DH_wndOj.js} +6 -6
  208. package/dist/assets/parameters-bundle.css-DUAp19rB.js +3 -0
  209. package/dist/assets/{parameters-bundle.css-Bbpzo3n0.js → parameters-bundle.css-DUGC7SPT.js} +8 -0
  210. package/dist/assets/parameters-bundle.css-DXuX1n-u.js +2 -0
  211. package/dist/assets/{parameters-bundle.css-DICk53PA.js → parameters-bundle.css-Dd5ajhZR.js} +10 -2
  212. package/dist/assets/parameters-bundle.css-Dp55UvXM.js +3 -0
  213. package/dist/assets/parameters-bundle.css-DpJfefgg.js +3 -0
  214. package/dist/assets/{parameters-bundle.css-DD29SCx8.js → parameters-bundle.css-DuHP0Q5Y.js} +13 -12
  215. package/dist/assets/parameters-bundle.css-YNYQDxyY.js +2 -0
  216. package/dist/assets/parameters-bundle.css-tevTlrPX.js +2 -0
  217. package/dist/assets/{parameters-bundle.css-DPvcwVIm.js → parameters-bundle.css-yvuwi247.js} +5 -5
  218. package/dist/css/themes/List.css +1 -1
  219. package/dist/css/themes/ListGroupHeader.css +1 -1
  220. package/dist/css/themes/SearchableList.css +1 -1
  221. package/dist/custom-elements-internal.json +469 -0
  222. package/dist/custom-elements.json +475 -4
  223. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  225. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +5 -5
  226. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  227. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +1 -1
  228. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  229. package/dist/generated/themes/List.css.d.ts +1 -1
  230. package/dist/generated/themes/List.css.js +1 -1
  231. package/dist/generated/themes/List.css.js.map +1 -1
  232. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  233. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  234. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  235. package/dist/generated/themes/SearchableList.css.d.ts +1 -1
  236. package/dist/generated/themes/SearchableList.css.js +1 -1
  237. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  238. package/dist/messagebundle_sr.properties +128 -0
  239. package/dist/messagebundle_sv.properties +126 -0
  240. package/dist/vscode.html-custom-data.json +117 -0
  241. package/dist/web-types.json +177 -1
  242. package/package.json +8 -8
  243. package/src/ListGroupHeader.hbs +4 -4
  244. package/src/MastheadCountrySelector.hbs +1 -1
  245. package/src/MastheadCountrySelector.ts +20 -80
  246. package/src/Search.ts +9 -0
  247. package/src/SearchTemplate.tsx +1 -0
  248. package/src/SearchableListBase.ts +31 -4
  249. package/src/SearchableListBaseTemplate.tsx +13 -1
  250. package/src/SelectBox.ts +19 -14
  251. package/src/SelectBoxItem.ts +70 -1
  252. package/src/Tag.ts +8 -0
  253. package/src/TagTemplate.tsx +1 -0
  254. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
  255. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +1 -1
  256. package/src/generated/themes/List.css.ts +1 -1
  257. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  258. package/src/generated/themes/SearchableList.css.ts +1 -1
  259. package/src/i18n/messagebundle_sr.properties +128 -0
  260. package/src/i18n/messagebundle_sv.properties +126 -0
  261. package/src/themes/List.css +1 -2
  262. package/src/themes/ListGroupHeader.css +10 -12
  263. package/src/themes/SearchableList.css +0 -1
  264. package/dist/assets/ListItemStandardExpandableTextTemplate-DhmGlKzk.js +0 -3
  265. package/dist/assets/messagebundle_ar-B_vGELqE.js +0 -1
  266. package/dist/assets/messagebundle_ar-ql9y8H7i.js +0 -1
  267. package/dist/assets/messagebundle_bg-DahjEq9-.js +0 -1
  268. package/dist/assets/messagebundle_bg-DirTSiBs.js +0 -1
  269. package/dist/assets/messagebundle_ca-CLoGjgOQ.js +0 -1
  270. package/dist/assets/messagebundle_ca-Dt0eXv4b.js +0 -1
  271. package/dist/assets/messagebundle_cnr-CIT4FdxK.js +0 -1
  272. package/dist/assets/messagebundle_cnr-DcKjQBC2.js +0 -1
  273. package/dist/assets/messagebundle_cs-D6Ept3aZ.js +0 -1
  274. package/dist/assets/messagebundle_cs-JybtcHQz.js +0 -1
  275. package/dist/assets/messagebundle_cy-CBJcBetc.js +0 -1
  276. package/dist/assets/messagebundle_cy-D6EaO2mc.js +0 -1
  277. package/dist/assets/messagebundle_da-DP_Ld_m4.js +0 -1
  278. package/dist/assets/messagebundle_da-DXFv9LbY.js +0 -1
  279. package/dist/assets/messagebundle_de-C6CVo61I.js +0 -1
  280. package/dist/assets/messagebundle_de-De1WNx1Z.js +0 -1
  281. package/dist/assets/messagebundle_el-DjFg6Pxj.js +0 -1
  282. package/dist/assets/messagebundle_el-x7EAub0z.js +0 -1
  283. package/dist/assets/messagebundle_en-52Fg7l8z.js +0 -1
  284. package/dist/assets/messagebundle_en-CAn74huH.js +0 -1
  285. package/dist/assets/messagebundle_en_GB-BNvEFdpW.js +0 -1
  286. package/dist/assets/messagebundle_en_GB-mPq0tjYl.js +0 -1
  287. package/dist/assets/messagebundle_en_US_sappsd-BJo2KiPa.js +0 -1
  288. package/dist/assets/messagebundle_en_US_sappsd-DynRbkUr.js +0 -1
  289. package/dist/assets/messagebundle_en_US_saprigi-BQWYyoHW.js +0 -1
  290. package/dist/assets/messagebundle_en_US_saprigi-D92s1ZRa.js +0 -1
  291. package/dist/assets/messagebundle_en_US_saptrc-B2DXKZNZ.js +0 -1
  292. package/dist/assets/messagebundle_en_US_saptrc-hfAEC4kd.js +0 -1
  293. package/dist/assets/messagebundle_es-BwPFGD9Z.js +0 -1
  294. package/dist/assets/messagebundle_es-jLk5s13n.js +0 -1
  295. package/dist/assets/messagebundle_es_MX-C4GAmGhU.js +0 -1
  296. package/dist/assets/messagebundle_es_MX-D8t2Deqr.js +0 -1
  297. package/dist/assets/messagebundle_et-BTaXAVVc.js +0 -1
  298. package/dist/assets/messagebundle_et-Bjo0Et5r.js +0 -1
  299. package/dist/assets/messagebundle_fi-ChYfzxXr.js +0 -1
  300. package/dist/assets/messagebundle_fi-CntiBCQA.js +0 -1
  301. package/dist/assets/messagebundle_fr-BdRWqZJC.js +0 -1
  302. package/dist/assets/messagebundle_fr-CaZExNBp.js +0 -1
  303. package/dist/assets/messagebundle_fr_CA-BKRP61J_.js +0 -1
  304. package/dist/assets/messagebundle_fr_CA-DAzfdGd5.js +0 -1
  305. package/dist/assets/messagebundle_hi-BcOtK4GQ.js +0 -1
  306. package/dist/assets/messagebundle_hi-C7UcqZdw.js +0 -1
  307. package/dist/assets/messagebundle_hr-BLF-FOD0.js +0 -1
  308. package/dist/assets/messagebundle_hr-Dk6M01RL.js +0 -1
  309. package/dist/assets/messagebundle_hu-DpIoRnup.js +0 -1
  310. package/dist/assets/messagebundle_hu-VbDHbZG7.js +0 -1
  311. package/dist/assets/messagebundle_id-DIBxH6fi.js +0 -1
  312. package/dist/assets/messagebundle_id-lZaxXrdJ.js +0 -1
  313. package/dist/assets/messagebundle_it-BhsMY7So.js +0 -1
  314. package/dist/assets/messagebundle_it-DG7xbfea.js +0 -1
  315. package/dist/assets/messagebundle_iw-Cc803Nmd.js +0 -1
  316. package/dist/assets/messagebundle_iw-O_evnbhY.js +0 -1
  317. package/dist/assets/messagebundle_ja-BQJaLzhD.js +0 -1
  318. package/dist/assets/messagebundle_ja-DA6u0p66.js +0 -1
  319. package/dist/assets/messagebundle_kk-D5CooIqJ.js +0 -1
  320. package/dist/assets/messagebundle_kk-DNvxdh_N.js +0 -1
  321. package/dist/assets/messagebundle_ko-D8xqECx2.js +0 -1
  322. package/dist/assets/messagebundle_ko-wbi_wfM_.js +0 -1
  323. package/dist/assets/messagebundle_lt-DpI4T_Fm.js +0 -1
  324. package/dist/assets/messagebundle_lt-ln5fzwxi.js +0 -1
  325. package/dist/assets/messagebundle_lv-CYWgsGbN.js +0 -1
  326. package/dist/assets/messagebundle_lv-l0vb-OwI.js +0 -1
  327. package/dist/assets/messagebundle_mk-DIl_j3HQ.js +0 -1
  328. package/dist/assets/messagebundle_mk-t_B9kLHP.js +0 -1
  329. package/dist/assets/messagebundle_ms-BFy7Zha3.js +0 -1
  330. package/dist/assets/messagebundle_ms-DZQm3zbR.js +0 -1
  331. package/dist/assets/messagebundle_nl-C1aSfvr4.js +0 -1
  332. package/dist/assets/messagebundle_nl-TRrPBmQF.js +0 -1
  333. package/dist/assets/messagebundle_no-CLhgj0EG.js +0 -1
  334. package/dist/assets/messagebundle_no-aR0S5fgl.js +0 -1
  335. package/dist/assets/messagebundle_pl-BSUgMNBu.js +0 -1
  336. package/dist/assets/messagebundle_pl-CET5Ib58.js +0 -1
  337. package/dist/assets/messagebundle_pt-BbXdBcA1.js +0 -1
  338. package/dist/assets/messagebundle_pt-DkZyB3LQ.js +0 -1
  339. package/dist/assets/messagebundle_pt_PT-C_oLd5Iw.js +0 -1
  340. package/dist/assets/messagebundle_pt_PT-DCKLQCBx.js +0 -1
  341. package/dist/assets/messagebundle_ro-CsDFuVns.js +0 -1
  342. package/dist/assets/messagebundle_ro-D2wg4wzH.js +0 -1
  343. package/dist/assets/messagebundle_ru-C2C4gC1g.js +0 -1
  344. package/dist/assets/messagebundle_ru-DE3o7RU0.js +0 -1
  345. package/dist/assets/messagebundle_sh-B7wYluE7.js +0 -1
  346. package/dist/assets/messagebundle_sh-DKD7IPLY.js +0 -1
  347. package/dist/assets/messagebundle_sk-BqNiKvir.js +0 -1
  348. package/dist/assets/messagebundle_sk-CQANpP_i.js +0 -1
  349. package/dist/assets/messagebundle_sl-D-C5Ql-U.js +0 -1
  350. package/dist/assets/messagebundle_sl-Dg8gsTrL.js +0 -1
  351. package/dist/assets/messagebundle_sr-BrfbPkvb.js +0 -1
  352. package/dist/assets/messagebundle_sr-CiPp4mnW.js +0 -1
  353. package/dist/assets/messagebundle_sr-D8Lxl5cz.js +0 -1
  354. package/dist/assets/messagebundle_sv-DCluCru8.js +0 -1
  355. package/dist/assets/messagebundle_sv-DZNyuq7Z.js +0 -1
  356. package/dist/assets/messagebundle_sv-Ip_fKK1p.js +0 -1
  357. package/dist/assets/messagebundle_th-DwzFsAOp.js +0 -1
  358. package/dist/assets/messagebundle_th-HY1lYjoi.js +0 -1
  359. package/dist/assets/messagebundle_tr-B-M7HjSs.js +0 -1
  360. package/dist/assets/messagebundle_uk-Bh3hLYnV.js +0 -1
  361. package/dist/assets/messagebundle_uk-gYNrr26j.js +0 -1
  362. package/dist/assets/messagebundle_vi-CmDSDhxv.js +0 -1
  363. package/dist/assets/messagebundle_vi-yAL9JrWb.js +0 -1
  364. package/dist/assets/messagebundle_zh_CN-DOWro3p4.js +0 -1
  365. package/dist/assets/messagebundle_zh_CN-DRPasXpL.js +0 -1
  366. package/dist/assets/messagebundle_zh_TW-DCsIDAoN.js +0 -1
  367. package/dist/assets/parameters-bundle.css-B-LoL5pn.js +0 -2
  368. package/dist/assets/parameters-bundle.css-B44zldkY.js +0 -2
  369. package/dist/assets/parameters-bundle.css-B9cNNkge.js +0 -2
  370. package/dist/assets/parameters-bundle.css-BM3cv0NX.js +0 -3
  371. package/dist/assets/parameters-bundle.css-BaYJ1Sh3.js +0 -3
  372. package/dist/assets/parameters-bundle.css-BnDd81m-.js +0 -2
  373. package/dist/assets/parameters-bundle.css-Bpp5SPIo.js +0 -2
  374. package/dist/assets/parameters-bundle.css-BxF9_xcQ.js +0 -3
  375. package/dist/assets/parameters-bundle.css-CIS8Sge3.js +0 -2
  376. package/dist/assets/parameters-bundle.css-CkZZXcub.js +0 -3
  377. package/dist/assets/parameters-bundle.css-CqlwqyiK.js +0 -3
  378. package/dist/assets/parameters-bundle.css-D5iBjAlb.js +0 -2
  379. package/dist/assets/parameters-bundle.css-DFLKYdpf.js +0 -3
  380. package/dist/assets/parameters-bundle.css-Df8B8yQY.js +0 -2
  381. package/dist/assets/parameters-bundle.css-DfFxBNVP.js +0 -3
  382. package/dist/assets/parameters-bundle.css-DgrQXZRd.js +0 -2
  383. package/dist/assets/parameters-bundle.css-Dt5cIEI8.js +0 -2
  384. package/dist/assets/parameters-bundle.css-Wj-Qo16j.js +0 -3
  385. package/dist/assets/parameters-bundle.css-X9m6S2In.js +0 -2
  386. package/dist/assets/parameters-bundle.css-defUEOJD.js +0 -2
  387. package/dist/assets/parameters-bundle.css-oytHmScC.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearch from \"./Search.js\";\nimport type { SuggestionList } from \"./Search.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport microphone from \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UI5PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport UI5PopoverHAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UI5Button from \"@ui5/webcomponents/dist/Button.js\";\nimport UI5ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchTemplate(this: UDExSearch) {\n return (\n <>\n <div class={`udex-search__root ${this.searchClasses}`}>\n { this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : \"\" }\n\n <form class={`udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`}>\n { this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this) }\n\n {\n this.open ? (\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id=\"search-description\"\n class=\"hidden\"\n aria-hidden=\"true\"\n >\n {this.suggestionsDescription}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search__icons\">\n {\n this.isShowHomeResetButton ? (\n <UDExButton\n id=\"reset-button\"\n class=\"udex-search__button udex-search__reset-button\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n >\n <UI5Icon\n class=\"udex-search__button-icon\"\n accessible-name={this.accInfo.accessibleNameResetIcon}\n accessible-role=\"presentation\"\n name={decline}\n ></UI5Icon>\n </UDExButton>\n ) : \"\"\n }\n\n {\n this.isShowResetButton ? (\n <UDExControlButton\n id=\"reset-button\"\n class=\"udex-search__reset-button\"\n design={UDExControlButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n icon={decline}\n size={UDExButtonSize.Large}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n ></UDExControlButton>\n ) : \"\"\n }\n\n {\n this.isVoiceButton ? (\n <UDExButton\n id=\"voice-button\"\n class={`udex-search__button udex-search__voice-button ${this.voiceActiveClass}`}\n design={UDExButtonDesign.Default}\n size={UDExButtonSize.Small}\n icon={microphone}\n tooltip={this.tooltipInfo.tooltipVoiceButton}\n onClick={this.onVoice as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showNonInteractiveButton ? (\n <UI5Icon\n class=\"udex-search__icon\"\n aria-hidden=\"true\"\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n name={search}\n ></UI5Icon>\n ) : \"\"\n }\n\n {\n this.showSubmitHomeButton ? (\n <UDExButton\n id=\"submit-button\"\n class={`udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`}\n design={UDExButtonDesign.Default}\n icon={search}\n size={UDExButtonSize.Small}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showSubmitStandardButton ? (\n <UDExControlButton\n id=\"submit-button\"\n class=\"udex-search__submit-button\"\n size={UDExButtonSize.Large}\n design={UDExControlButtonDesign.Default}\n icon={search}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExControlButton>\n ) : \"\"\n }\n </div>\n </form>\n </div>\n\n { renderSearchSuggestionPopover.call(this) }\n </>\n );\n}\n\nfunction renderSearchHomePrefix(this: UDExSearch) {\n return (\n <div class={`udex-search__prefix ${this.prefixWrapperClasses}`}>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={this._prefixDropdownExpanded}\n aria-label={this.labelPrefix}\n aria-haspopup=\"true\"\n aria-controls=\"udex-search-prefix\"\n class=\"udex-search__prefix-button\"\n onClick={this.handleDropdownClick}\n >\n <span class=\"udex-search__prefix-label\">{this.labelPrefix}</span>\n <UI5Icon\n class=\"udex-search__prefix-icon\"\n name={slimArrowDown}\n mode={UI5IconMode.Decorative}\n ></UI5Icon>\n </button>\n\n <UI5Popover\n id=\"udex-search-prefix\"\n class={this.prefixPopoverClasses}\n hide-arrow\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.Start}\n style={this.prefixPopoverStyles}\n onClose={this.handleAfterClosePrefixPopover}\n >\n <slot></slot>\n </UI5Popover>\n </div>\n );\n}\n\nfunction renderSearchInput(this: UDExSearch, placeholder: boolean = false) {\n return (\n <input\n role=\"searchbox\"\n id=\"search-input\"\n type=\"search\"\n name=\"search\"\n class=\"udex-search__field\"\n autocomplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup={this.getAriaHasPopup}\n aria-label={this.accInfo.ariaLabel}\n aria-describedby=\"search-description\"\n {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}\n value={this.value}\n onInput={this.handleSearchChange}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onFocusOut={this.handleFocusout}\n onBlur={this.handleBlur}\n onClick={this.handleInputClick}\n />\n );\n}\n\nfunction renderInputWithStaticLabel(this: UDExSearch) {\n return renderSearchInput.call(this, true);\n}\n\nfunction renderInputWithAnimatedLabel(this: UDExSearch) {\n return (\n <>\n {\n this.label ? (\n <label for=\"search-input\" class={this.labelClasses}>\n {this.label}\n </label>\n ) : \"\"\n }\n\n { renderSearchInput.call(this, false) }\n </>\n );\n}\n\nfunction renderSearchSuggestionPopover(this: UDExSearch) {\n return (\n <UI5Popover\n class={`udex-search-suggestions__root ${this.homeSearchPopoverClass}`}\n hide-arrow\n prevent-initial-focus\n prevent-focus-restore\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.End}\n style={this.popoverStyles}\n id={this.getSuggestionsPopoverId}\n aria-orientation=\"vertical\"\n onKeyDown={this.handleKeyPressSuggestionList}\n accessible-name={this.suggestionsAccessibleName}\n >\n {\n this.showNoResultMessage ? (\n <span class=\"udex-search-suggestions__message\">{this.noResultMessage}</span>\n ) : renderSearchSuggestionPopoverResults.call(this)\n }\n </UI5Popover>\n );\n}\n\nfunction renderSearchSuggestionPopoverResults(this: UDExSearch) {\n return (\n <div role=\"tree\">\n {\n this.isShowSuggestedList ? (\n renderSearchSuggestionPopoverResultsSuggestedList.call(this)\n ) : \"\"\n }\n\n {\n this.isShowRecommendedList ? (\n renderSearchSuggestionPopoverResultsRecommendedList.call(this)\n ) : \"\"\n }\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsSuggestedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.suggestedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"suggested-heading\">\n {this.suggestedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"suggested-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.suggestedList.map((item, i) => (\n <UI5Button\n key={i}\n id={item.id}\n icon={item.icon}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n accessible-name={item.suggestionDescription}\n class=\"udex-search-suggestions__item-button\"\n title={item.title}\n tabindex={-1}\n role=\"option\"\n onClick={item.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: item.text }}\n ></UI5Button>\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.recommendedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"recommended-heading\">\n {this.recommendedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"recommended-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.recommendedList.map((item, i) => (\n item.hasCustomIcon ? (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i, item.icon)\n ) : (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i)\n )\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedListButton(button: SuggestionList, key: number, icon: string | undefined = undefined) {\n return (\n <UI5Button\n key={key}\n id={button.id}\n {...(icon ? { \"icon\": icon } : {})}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n class=\"udex-search-suggestions__item-button\"\n accessible-name={button.suggestionDescription}\n title={button.title}\n tabindex={-1}\n role=\"option\"\n onClick={button.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: button.text }}\n ></UI5Button>\n );\n}\n"]}
1
+ {"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearch from \"./Search.js\";\nimport type { SuggestionList } from \"./Search.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport microphone from \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UI5PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport UI5PopoverHAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UI5Button from \"@ui5/webcomponents/dist/Button.js\";\nimport UI5ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchTemplate(this: UDExSearch) {\n return (\n <>\n <div class={`udex-search__root ${this.searchClasses}`}>\n { this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : \"\" }\n\n <form class={`udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`}>\n { this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this) }\n\n {\n this.open ? (\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id=\"search-description\"\n class=\"hidden\"\n aria-hidden=\"true\"\n >\n {this.suggestionsDescription}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search__icons\">\n {\n this.isShowHomeResetButton ? (\n <UDExButton\n id=\"reset-button\"\n class=\"udex-search__button udex-search__reset-button\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n >\n <UI5Icon\n class=\"udex-search__button-icon\"\n accessible-name={this.accInfo.accessibleNameResetIcon}\n accessible-role=\"presentation\"\n name={decline}\n ></UI5Icon>\n </UDExButton>\n ) : \"\"\n }\n\n {\n this.isShowResetButton ? (\n <UDExControlButton\n id=\"reset-button\"\n class=\"udex-search__reset-button\"\n design={UDExControlButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n icon={decline}\n size={UDExButtonSize.Large}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n ></UDExControlButton>\n ) : \"\"\n }\n\n {\n this.isVoiceButton ? (\n <UDExButton\n id=\"voice-button\"\n class={`udex-search__button udex-search__voice-button ${this.voiceActiveClass}`}\n design={UDExButtonDesign.Default}\n size={UDExButtonSize.Small}\n icon={microphone}\n tooltip={this.tooltipInfo.tooltipVoiceButton}\n onClick={this.onVoice as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showNonInteractiveButton ? (\n <UI5Icon\n class=\"udex-search__icon\"\n aria-hidden=\"true\"\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n name={search}\n ></UI5Icon>\n ) : \"\"\n }\n\n {\n this.showSubmitHomeButton ? (\n <UDExButton\n id=\"submit-button\"\n class={`udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`}\n design={UDExButtonDesign.Default}\n icon={search}\n size={UDExButtonSize.Small}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showSubmitStandardButton ? (\n <UDExControlButton\n id=\"submit-button\"\n class=\"udex-search__submit-button\"\n size={UDExButtonSize.Large}\n design={UDExControlButtonDesign.Default}\n icon={search}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExControlButton>\n ) : \"\"\n }\n </div>\n </form>\n </div>\n\n { renderSearchSuggestionPopover.call(this) }\n </>\n );\n}\n\nfunction renderSearchHomePrefix(this: UDExSearch) {\n return (\n <div class={`udex-search__prefix ${this.prefixWrapperClasses}`}>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={this._prefixDropdownExpanded}\n aria-label={this.labelPrefix}\n aria-haspopup=\"true\"\n aria-controls=\"udex-search-prefix\"\n class=\"udex-search__prefix-button\"\n onClick={this.handleDropdownClick}\n >\n <span class=\"udex-search__prefix-label\">{this.labelPrefix}</span>\n <UI5Icon\n class=\"udex-search__prefix-icon\"\n name={slimArrowDown}\n mode={UI5IconMode.Decorative}\n ></UI5Icon>\n </button>\n\n <UI5Popover\n id=\"udex-search-prefix\"\n class={this.prefixPopoverClasses}\n hide-arrow\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.Start}\n style={this.prefixPopoverStyles}\n onClose={this.handleAfterClosePrefixPopover}\n >\n <slot></slot>\n </UI5Popover>\n </div>\n );\n}\n\nfunction renderSearchInput(this: UDExSearch, placeholder: boolean = false) {\n return (\n <input\n role=\"searchbox\"\n id=\"search-input\"\n type=\"search\"\n name=\"search\"\n class=\"udex-search__field\"\n autocomplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup={this.getAriaHasPopup}\n aria-label={this.accInfo.ariaLabel}\n aria-describedby=\"search-description\"\n {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}\n maxlength={this.maxlength}\n value={this.value}\n onInput={this.handleSearchChange}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onFocusOut={this.handleFocusout}\n onBlur={this.handleBlur}\n onClick={this.handleInputClick}\n />\n );\n}\n\nfunction renderInputWithStaticLabel(this: UDExSearch) {\n return renderSearchInput.call(this, true);\n}\n\nfunction renderInputWithAnimatedLabel(this: UDExSearch) {\n return (\n <>\n {\n this.label ? (\n <label for=\"search-input\" class={this.labelClasses}>\n {this.label}\n </label>\n ) : \"\"\n }\n\n { renderSearchInput.call(this, false) }\n </>\n );\n}\n\nfunction renderSearchSuggestionPopover(this: UDExSearch) {\n return (\n <UI5Popover\n class={`udex-search-suggestions__root ${this.homeSearchPopoverClass}`}\n hide-arrow\n prevent-initial-focus\n prevent-focus-restore\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.End}\n style={this.popoverStyles}\n id={this.getSuggestionsPopoverId}\n aria-orientation=\"vertical\"\n onKeyDown={this.handleKeyPressSuggestionList}\n accessible-name={this.suggestionsAccessibleName}\n >\n {\n this.showNoResultMessage ? (\n <span class=\"udex-search-suggestions__message\">{this.noResultMessage}</span>\n ) : renderSearchSuggestionPopoverResults.call(this)\n }\n </UI5Popover>\n );\n}\n\nfunction renderSearchSuggestionPopoverResults(this: UDExSearch) {\n return (\n <div role=\"tree\">\n {\n this.isShowSuggestedList ? (\n renderSearchSuggestionPopoverResultsSuggestedList.call(this)\n ) : \"\"\n }\n\n {\n this.isShowRecommendedList ? (\n renderSearchSuggestionPopoverResultsRecommendedList.call(this)\n ) : \"\"\n }\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsSuggestedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.suggestedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"suggested-heading\">\n {this.suggestedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"suggested-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.suggestedList.map((item, i) => (\n <UI5Button\n key={i}\n id={item.id}\n icon={item.icon}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n accessible-name={item.suggestionDescription}\n class=\"udex-search-suggestions__item-button\"\n title={item.title}\n tabindex={-1}\n role=\"option\"\n onClick={item.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: item.text }}\n ></UI5Button>\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.recommendedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"recommended-heading\">\n {this.recommendedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"recommended-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.recommendedList.map((item, i) => (\n item.hasCustomIcon ? (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i, item.icon)\n ) : (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i)\n )\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedListButton(button: SuggestionList, key: number, icon: string | undefined = undefined) {\n return (\n <UI5Button\n key={key}\n id={button.id}\n {...(icon ? { \"icon\": icon } : {})}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n class=\"udex-search-suggestions__item-button\"\n accessible-name={button.suggestionDescription}\n title={button.title}\n tabindex={-1}\n role=\"option\"\n onClick={button.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: button.text }}\n ></UI5Button>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
3
- import { UDExListMode } from "./types/List.js";
3
+ import { UDExListMode, UDExListStyleType } from "./types/List.js";
4
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import type Popover from "@ui5/webcomponents/dist/Popover.js";
6
6
  import type { UDExProcessedItem } from "./types/SearchableListBase.js";
@@ -128,6 +128,20 @@ declare class UDExSearchableListBase extends UI5Element {
128
128
  * @public
129
129
  */
130
130
  mode: `${UDExListMode}`;
131
+ /**
132
+ * Defines the list style type of the dropdown items.
133
+ *
134
+ * @default "None"
135
+ * @public
136
+ */
137
+ type: `${UDExListStyleType}`;
138
+ /**
139
+ * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.
140
+ *
141
+ * @default ""
142
+ * @public
143
+ */
144
+ itemIcon: string;
131
145
  /**
132
146
  * Slot for items.
133
147
  *
@@ -11,7 +11,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
13
  import { cleanLabel } from "./utils/listItemLabelUtils.js";
14
- import { UDExListMode } from "./types/List.js";
14
+ import { UDExListMode, UDExListStyleType } from "./types/List.js";
15
15
  import { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from "./types/SearchableListBase.js";
16
16
  import { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from "./generated/i18n/i18n-defaults.js";
17
17
  import translate from "./utils/translate.js";
@@ -59,6 +59,20 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
59
59
  * @public
60
60
  */
61
61
  this.mode = UDExListMode.SingleSelect;
62
+ /**
63
+ * Defines the list style type of the dropdown items.
64
+ *
65
+ * @default "None"
66
+ * @public
67
+ */
68
+ this.type = UDExListStyleType.None;
69
+ /**
70
+ * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.
71
+ *
72
+ * @default ""
73
+ * @public
74
+ */
75
+ this.itemIcon = "";
62
76
  /**
63
77
  * Defines the default accessible role for the list component.
64
78
  *
@@ -174,11 +188,18 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
174
188
  return items.filter(preparedItem => {
175
189
  const { isGroup, item } = preparedItem;
176
190
  if (isGroup) {
177
- preparedItem.groupItems = this.filterItemsForLabel(preparedItem.groupItems, str);
178
- if (hasSearchQuery && preparedItem.groupItems.length > 0) {
191
+ const groupHeaderMatches = this.checkAndUpdateLabel(item, str);
192
+ const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);
193
+ if (groupHeaderMatches) {
194
+ preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));
195
+ }
196
+ else {
197
+ preparedItem.groupItems = filteredChildren;
198
+ }
199
+ if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {
179
200
  item.collapsed = false;
180
201
  }
181
- return preparedItem.groupItems.length > 0;
202
+ return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;
182
203
  }
183
204
  return this.checkAndUpdateLabel(item, str);
184
205
  });
@@ -199,6 +220,7 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
199
220
  item.label = this.addSearchTermTag(cleanedLabel, str);
200
221
  return true;
201
222
  }
223
+ item.label = cleanedLabel;
202
224
  return false;
203
225
  }
204
226
  addSearchTermTag(text, str) {
@@ -461,6 +483,12 @@ __decorate([
461
483
  __decorate([
462
484
  property()
463
485
  ], UDExSearchableListBase.prototype, "mode", void 0);
486
+ __decorate([
487
+ property()
488
+ ], UDExSearchableListBase.prototype, "type", void 0);
489
+ __decorate([
490
+ property({ type: String })
491
+ ], UDExSearchableListBase.prototype, "itemIcon", void 0);
464
492
  __decorate([
465
493
  slot({ type: HTMLElement, "default": true, invalidateOnChildChange: true })
466
494
  ], UDExSearchableListBase.prototype, "items", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { UDExListMode } from \"./types/List.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExSearch from \"./Search.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport type UDExList from \"./List.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport type UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nexport type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;\n\ntype UDExSearchableListBaseChangeSearchEventDetail = {\n value: string,\n}\n\ntype UDExSearchableListBaseSelectionChangeEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n item: UDExItemFromList,\n}\ntype UDExSearchableListBaseSubmitSearchEventDetail = {\n selectedItems: Array<UDExListItemBase>\n}\n\ntype UDExSelectBoxIconClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExItemFromList,\n}\n\nexport type UDExSearchableListBaseEvents = {\n \"select-all\": void,\n \"selection-change\": UDExSearchableListBaseSelectionChangeEventDetail,\n \"submit-search\": UDExSearchableListBaseSubmitSearchEventDetail,\n \"reset-search\": void,\n \"change-search\": UDExSearchableListBaseChangeSearchEventDetail,\n \"first-icon-click\": UDExSelectBoxIconClickEventDetail,\n \"second-icon-click\": UDExSelectBoxIconClickEventDetail,\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> ,<code>UDExSelectBox</code> and <code>UDExCountrySelector</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n *\n */\n@event(\"selection-change\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n *\n */\n@event(\"submit-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"reset-search\", { bubbles: true })\n\n/**\n * Fired event when the user submitted the value in the search.\n * @param {string} value The search value.\n * @public\n * @param {string} value The search value.\n */\n@event(\"change-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\nclass UDExSearchableListBase extends UI5Element {\n eventDetails!: UDExSearchableListBaseEvents;\n /** @deprecated Tab keyboard navigation is no longer allowed. */\n @property({ type: Boolean })\n tabNavigationEnabled?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines if page scrolling should be prevented within the list of items.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n preventPageScroll = false;\n\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines if the search input is visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchInput!: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number })\n busyDelay: number = 1000;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: DefaultSlot<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list component.\n *\n * @default \"list\"\n * @public\n */\n @property({ type: String })\n defaultAccessibleRole: string = \"list\";\n\n /**\n * Defines the filtered items for the component.\n *\n * @default []\n * @private\n */\n @property({ type: Object })\n _filteredItems!: Array<UDExProcessedItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _shouldFilterItems?: boolean;\n _accSearchResultInfo?: string;\n _groupCollapseStateBeforeSearch: Map<string, boolean>;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n this._groupCollapseStateBeforeSearch = new Map();\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = this.getDataTokenId(e.detail.item as UDExListItemBase);\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n groupHeader.handleHeaderState();\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireSelectionChange(id);\n }\n\n onSelectAllHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleGroupHeaderSelection(id: string): void {\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === id) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n }\n\n onSearch(value: string) {\n const searchValue: string = value;\n const hasSearchQuery = searchValue !== \"\";\n\n if (hasSearchQuery && !this._shouldFilterItems) {\n this.saveGroupCollapseState();\n }\n\n if (!hasSearchQuery && this._shouldFilterItems) {\n this.restoreGroupCollapseState();\n }\n\n this._shouldFilterItems = hasSearchQuery;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n const items = this.getFlattenItemsArray(this._filteredItems);\n this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;\n this.fireDecoratorEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireDecoratorEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireDecoratorEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._shouldFilterItems = false;\n this.restoreGroupCollapseState();\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<UDExProcessedItem>, str: string): Array<UDExProcessedItem> {\n const hasSearchQuery = str !== \"\";\n\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n\n if (isGroup) {\n preparedItem.groupItems = this.filterItemsForLabel(preparedItem.groupItems, str);\n\n if (hasSearchQuery && preparedItem.groupItems.length > 0) {\n item.collapsed = false;\n }\n\n return preparedItem.groupItems.length > 0;\n }\n\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n if (item.ratingCount) {\n return this.isIncludes(item.ratingCount, str);\n }\n\n if (!item.label) {\n console.warn(\"A label property is required for the item\");\n return false;\n }\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n if (!str.length) {\n return text;\n }\n\n const regex = new RegExp(`(${str})`, \"i\");\n return text.replace(regex, \"<b>$1</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n saveGroupCollapseState(): void {\n this._groupCollapseStateBeforeSearch.clear();\n\n this.items.forEach(item => {\n if (item.isGroup) {\n this._groupCollapseStateBeforeSearch.set(item._id, Boolean(item.collapsed));\n }\n });\n }\n\n restoreGroupCollapseState(): void {\n if (!this._groupCollapseStateBeforeSearch.size) {\n return;\n }\n\n this.items.forEach(item => {\n if (item.isGroup) {\n const collapsed = this._groupCollapseStateBeforeSearch.get(item._id);\n\n if (collapsed !== undefined) {\n item.collapsed = collapsed;\n }\n }\n });\n\n this._groupCollapseStateBeforeSearch.clear();\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string): UDExItemFromList {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireDecoratorEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n fireFirstIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"first-icon-click\", e);\n }\n\n fireSecondIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"second-icon-click\", e);\n }\n\n private _fireIconClickEvent(eventName: \"first-icon-click\" | \"second-icon-click\", e: CustomEvent): void {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.fireDecoratorEvent(eventName, {\n originalEvent: e.detail.originalEvent,\n item: this.getItemFromList(id),\n });\n }\n\n getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {\n return array.flatMap(item => {\n if (item.isGroup) {\n return [\n item,\n ...item.groupItems.filter(groupItem => !groupItem.disabled),\n ];\n }\n return item.item.disabled ? [] : [item.item];\n });\n }\n\n getCurrentIndex(item: UDExListItem): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\"[udex-list]\")!;\n }\n\n getSearch(): UDExSearch | HTMLInputElement {\n return this.shadowRoot!.querySelector<UDExSearch>(\"[udex-search]\")! || this.shadowRoot!.querySelector<HTMLInputElement>(\".udex-text-field__search\")!;\n }\n\n getPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getDomListItems(): UDExListItem[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n getDataTokenId(item: UDExListItemBase): string {\n return item.getAttribute(\"data-token-id\") as string;\n }\n\n get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n return this.items.filter(item => !(item instanceof HTMLElement) || \"isGroup\" in item);\n }\n\n getProcessedItems(): Array<UDExProcessedItem> {\n return this._validItems.map(item => {\n const isGroup = item.isGroup;\n const groupItems = isGroup ? (item as UDExListGroupHeaderBase).getItems() : [];\n\n if (isGroup) {\n this._setItemsModeAndControl(groupItems);\n }\n\n item.mode = this.mode;\n item.controlled = this.isControlled;\n\n return { item, groupItems, isGroup };\n });\n }\n\n getPopoverPart(part: UDExPopoverPart): HTMLElement {\n return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;\n }\n\n _managePopupListeners(part: UDExPopoverPart, action: \"addEventListener\" | \"removeEventListener\"): void {\n const element = this.getPopoverPart(part);\n element?.[action](\"wheel\", ((e: WheelEvent) => e.preventDefault()) as EventListener);\n }\n\n _setContentHeight(): void {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n content.style.maxHeight = this.height || \"\";\n }\n\n _setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : this.noMatchesFoundText;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExSearchableListBase, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExSearchableListBase, RESULT_RETURNED);\n }\n\n get startsText(): string {\n return translate(UDExSearchableListBase, STARS);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n const selectedItems: Array<UDExListItemBase> = this.getSlottedItems(this._validItems).filter(({ selected }) => selected);\n return selectedItems;\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === UDExListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === UDExListMode.SingleSelect;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.modeMultiSelect && isGrouping;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const isSearchVisible = this.showSearchInput || (this.isSearchActive && !this.modeRadioGroup);\n return !this.hideDropdownSearch && isSearchVisible;\n }\n\n get isSearchActive(): boolean {\n return this.nonGroupItems.length > SHOW_SEARCH_AFTER_COUNT;\n }\n\n get nonGroupItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this._validItems).filter(item => !item.isGroup);\n }\n\n get roleForGroupList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"none\";\n }\n\n get accessibleRoleForList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : this.defaultAccessibleRole;\n }\n\n get listItemRole(): string {\n if (this.accessibleRoleForList === \"list\") {\n return \"listitem\";\n }\n\n if (this.accessibleRoleForList === \"listbox\") {\n return \"option\";\n }\n\n return \"none\";\n }\n\n get hideDropdownSearch(): boolean {\n return false;\n }\n}\n\nexport default UDExSearchableListBase;\nexport type {\n UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { UDExListMode, UDExListStyleType } from \"./types/List.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExSearch from \"./Search.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport type UDExList from \"./List.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport type UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nexport type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;\n\ntype UDExSearchableListBaseChangeSearchEventDetail = {\n value: string,\n}\n\ntype UDExSearchableListBaseSelectionChangeEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n item: UDExItemFromList,\n}\ntype UDExSearchableListBaseSubmitSearchEventDetail = {\n selectedItems: Array<UDExListItemBase>\n}\n\ntype UDExSelectBoxIconClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExItemFromList,\n}\n\nexport type UDExSearchableListBaseEvents = {\n \"select-all\": void,\n \"selection-change\": UDExSearchableListBaseSelectionChangeEventDetail,\n \"submit-search\": UDExSearchableListBaseSubmitSearchEventDetail,\n \"reset-search\": void,\n \"change-search\": UDExSearchableListBaseChangeSearchEventDetail,\n \"first-icon-click\": UDExSelectBoxIconClickEventDetail,\n \"second-icon-click\": UDExSelectBoxIconClickEventDetail,\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> ,<code>UDExSelectBox</code> and <code>UDExCountrySelector</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n *\n */\n@event(\"selection-change\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n *\n */\n@event(\"submit-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"reset-search\", { bubbles: true })\n\n/**\n * Fired event when the user submitted the value in the search.\n * @param {string} value The search value.\n * @public\n * @param {string} value The search value.\n */\n@event(\"change-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\nclass UDExSearchableListBase extends UI5Element {\n eventDetails!: UDExSearchableListBaseEvents;\n /** @deprecated Tab keyboard navigation is no longer allowed. */\n @property({ type: Boolean })\n tabNavigationEnabled?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines if page scrolling should be prevented within the list of items.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n preventPageScroll = false;\n\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines if the search input is visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchInput!: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number })\n busyDelay: number = 1000;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the list style type of the dropdown items.\n *\n * @default \"None\"\n * @public\n */\n @property()\n type: `${UDExListStyleType}` = UDExListStyleType.None;\n\n /**\n * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n itemIcon: string = \"\";\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: DefaultSlot<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list component.\n *\n * @default \"list\"\n * @public\n */\n @property({ type: String })\n defaultAccessibleRole: string = \"list\";\n\n /**\n * Defines the filtered items for the component.\n *\n * @default []\n * @private\n */\n @property({ type: Object })\n _filteredItems!: Array<UDExProcessedItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _shouldFilterItems?: boolean;\n _accSearchResultInfo?: string;\n _groupCollapseStateBeforeSearch: Map<string, boolean>;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n this._groupCollapseStateBeforeSearch = new Map();\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = this.getDataTokenId(e.detail.item as UDExListItemBase);\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n groupHeader.handleHeaderState();\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireSelectionChange(id);\n }\n\n onSelectAllHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleGroupHeaderSelection(id: string): void {\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === id) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n }\n\n onSearch(value: string) {\n const searchValue: string = value;\n const hasSearchQuery = searchValue !== \"\";\n\n if (hasSearchQuery && !this._shouldFilterItems) {\n this.saveGroupCollapseState();\n }\n\n if (!hasSearchQuery && this._shouldFilterItems) {\n this.restoreGroupCollapseState();\n }\n\n this._shouldFilterItems = hasSearchQuery;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n const items = this.getFlattenItemsArray(this._filteredItems);\n this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;\n this.fireDecoratorEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireDecoratorEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireDecoratorEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._shouldFilterItems = false;\n this.restoreGroupCollapseState();\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<UDExProcessedItem>, str: string): Array<UDExProcessedItem> {\n const hasSearchQuery = str !== \"\";\n\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n\n if (isGroup) {\n const groupHeaderMatches = this.checkAndUpdateLabel(item, str);\n const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);\n\n if (groupHeaderMatches) {\n preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));\n } else {\n preparedItem.groupItems = filteredChildren;\n }\n\n if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {\n item.collapsed = false;\n }\n\n return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;\n }\n\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n if (item.ratingCount) {\n return this.isIncludes(item.ratingCount, str);\n }\n\n if (!item.label) {\n console.warn(\"A label property is required for the item\");\n return false;\n }\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n\n item.label = cleanedLabel;\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n if (!str.length) {\n return text;\n }\n\n const regex = new RegExp(`(${str})`, \"i\");\n return text.replace(regex, \"<b>$1</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n saveGroupCollapseState(): void {\n this._groupCollapseStateBeforeSearch.clear();\n\n this.items.forEach(item => {\n if (item.isGroup) {\n this._groupCollapseStateBeforeSearch.set(item._id, Boolean(item.collapsed));\n }\n });\n }\n\n restoreGroupCollapseState(): void {\n if (!this._groupCollapseStateBeforeSearch.size) {\n return;\n }\n\n this.items.forEach(item => {\n if (item.isGroup) {\n const collapsed = this._groupCollapseStateBeforeSearch.get(item._id);\n\n if (collapsed !== undefined) {\n item.collapsed = collapsed;\n }\n }\n });\n\n this._groupCollapseStateBeforeSearch.clear();\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string): UDExItemFromList {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireDecoratorEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n fireFirstIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"first-icon-click\", e);\n }\n\n fireSecondIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"second-icon-click\", e);\n }\n\n private _fireIconClickEvent(eventName: \"first-icon-click\" | \"second-icon-click\", e: CustomEvent): void {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.fireDecoratorEvent(eventName, {\n originalEvent: e.detail.originalEvent,\n item: this.getItemFromList(id),\n });\n }\n\n getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {\n return array.flatMap(item => {\n if (item.isGroup) {\n return [\n item,\n ...item.groupItems.filter(groupItem => !groupItem.disabled),\n ];\n }\n return item.item.disabled ? [] : [item.item];\n });\n }\n\n getCurrentIndex(item: UDExListItem): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\"[udex-list]\")!;\n }\n\n getSearch(): UDExSearch | HTMLInputElement {\n return this.shadowRoot!.querySelector<UDExSearch>(\"[udex-search]\")! || this.shadowRoot!.querySelector<HTMLInputElement>(\".udex-text-field__search\")!;\n }\n\n getPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getDomListItems(): UDExListItem[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n getDataTokenId(item: UDExListItemBase): string {\n return item.getAttribute(\"data-token-id\") as string;\n }\n\n get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n return this.items.filter(item => !(item instanceof HTMLElement) || \"isGroup\" in item);\n }\n\n getProcessedItems(): Array<UDExProcessedItem> {\n return this._validItems.map(item => {\n const isGroup = item.isGroup;\n const groupItems = isGroup ? (item as UDExListGroupHeaderBase).getItems() : [];\n\n if (isGroup) {\n this._setItemsModeAndControl(groupItems);\n }\n\n item.mode = this.mode;\n item.controlled = this.isControlled;\n\n return { item, groupItems, isGroup };\n });\n }\n\n getPopoverPart(part: UDExPopoverPart): HTMLElement {\n return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;\n }\n\n _managePopupListeners(part: UDExPopoverPart, action: \"addEventListener\" | \"removeEventListener\"): void {\n const element = this.getPopoverPart(part);\n element?.[action](\"wheel\", ((e: WheelEvent) => e.preventDefault()) as EventListener);\n }\n\n _setContentHeight(): void {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n content.style.maxHeight = this.height || \"\";\n }\n\n _setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : this.noMatchesFoundText;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExSearchableListBase, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExSearchableListBase, RESULT_RETURNED);\n }\n\n get startsText(): string {\n return translate(UDExSearchableListBase, STARS);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n const selectedItems: Array<UDExListItemBase> = this.getSlottedItems(this._validItems).filter(({ selected }) => selected);\n return selectedItems;\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === UDExListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === UDExListMode.SingleSelect;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.modeMultiSelect && isGrouping;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const isSearchVisible = this.showSearchInput || (this.isSearchActive && !this.modeRadioGroup);\n return !this.hideDropdownSearch && isSearchVisible;\n }\n\n get isSearchActive(): boolean {\n return this.nonGroupItems.length > SHOW_SEARCH_AFTER_COUNT;\n }\n\n get nonGroupItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this._validItems).filter(item => !item.isGroup);\n }\n\n get roleForGroupList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"none\";\n }\n\n get accessibleRoleForList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : this.defaultAccessibleRole;\n }\n\n get listItemRole(): string {\n if (this.accessibleRoleForList === \"list\") {\n return \"listitem\";\n }\n\n if (this.accessibleRoleForList === \"listbox\") {\n return \"option\";\n }\n\n return \"none\";\n }\n\n get hideDropdownSearch(): boolean {\n return false;\n }\n}\n\nexport default UDExSearchableListBase;\nexport type {\n UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,\n};\n"]}
@@ -7,7 +7,7 @@ import UDExListItem from "./ListItem.js";
7
7
  import UDExListGroupHeader from "./ListGroupHeader.js";
8
8
  import UDExListSelectAll from "./ListSelectAll.js";
9
9
  export default function SearchableListBaseTemplate() {
10
- return (_jsxs(_Fragment, { children: [this.showSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { slot: "header", mode: UDExSearchMode.Standard, class: "udex-filter-menu__search", label: this.searchPlaceholder, "label-animation-disabled": true, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), this.isListEmpty ? (_jsxs("div", { class: "udex-no-result", children: [_jsx(IllustratedMessage, { name: "NoSearchResults", design: "Dot", "title-text": " ", "subtitle-text": " " }), _jsx("span", { children: this.getNoResultText })] })) : this.busy ? (_jsx(UDExBusyIndicator, { class: "udex-busy-indicator", size: "M", delay: this.busyDelay, active: true })) : (_jsx(UDExList, { id: "udex-list", role: this.roleForGroupList, "accessible-role": this.accessibleRoleForList, class: "udex-filter-menu__list", controlled: this.isControlled, mode: this.mode, children: this._filteredItems.map((processedItem, index) => (processedItem.isGroup
10
+ return (_jsxs(_Fragment, { children: [this.showSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { slot: "header", mode: UDExSearchMode.Standard, class: "udex-filter-menu__search", label: this.searchPlaceholder, "label-animation-disabled": true, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), this.isListEmpty ? (_jsxs("div", { class: "udex-no-result", children: [_jsx(IllustratedMessage, { name: "NoSearchResults", design: "Dot", "title-text": " ", "subtitle-text": " " }), _jsx("span", { children: this.getNoResultText })] })) : this.busy ? (_jsx(UDExBusyIndicator, { class: "udex-busy-indicator", size: "M", delay: this.busyDelay, active: true })) : (_jsx(UDExList, { id: "udex-list", role: this.roleForGroupList, "accessible-role": this.accessibleRoleForList, class: "udex-filter-menu__list", controlled: this.isControlled, mode: this.mode, type: this.type, "item-icon": this.itemIcon, children: this._filteredItems.map((processedItem, index) => (processedItem.isGroup
11
11
  ? renderGroup.call(this, processedItem, index)
12
12
  : renderListItem(processedItem.item, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent))) }))] }));
13
13
  }
@@ -24,9 +24,9 @@ function renderSelectAll(processedItem, index) {
24
24
  function renderGroupHeader(processedItem, index) {
25
25
  const { item, groupItems } = processedItem;
26
26
  const header = item;
27
- return (_jsx(UDExListGroupHeader, { role: "group", "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
27
+ return (_jsx(UDExListGroupHeader, { role: "group", ...(index === 0 ? { "_no-border": "" } : {}), "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
28
28
  }
29
29
  function renderListItem(item, index, role, accessibleRole, onFirstIconClick, onSecondIconClick) {
30
- return (_jsx(UDExListItem, { role: role, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, ...(accessibleRole ? { "accessible-role": accessibleRole } : {}), ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
30
+ return (_jsx(UDExListItem, { role: role, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, image: item.image, "image-alt": item.imageAlt, "image-badge-state": item.imageBadgeState, "image-shape": item.imageShape, "image-size": item.imageSize, flag: item.flag, "flag-position": item.flagPosition, size: item.size, type: item.type, ...(accessibleRole ? { "accessible-role": accessibleRole } : {}), ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
31
31
  }
32
32
  //# sourceMappingURL=SearchableListBaseTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListGroupHeader\n key={index}\n role=\"group\"\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n) {\n return (\n <UDExListItem\n key={index}\n role={role as AriaRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n {...(accessibleRole ? { \"accessible-role\": accessibleRole } : {})}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
1
+ {"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":";AAGA,OAAO,UAAU,EAAE,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,kBAAkB,MAAM,qDAAqD,CAAC;AACrF,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,0BAA0B;IAChD,OAAO,CACL,8BACG,IAAI,CAAC,UAAU,IAAI,CAClB,8BACE,KAAC,UAAU,IACT,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,KAAK,EAAC,0BAA0B,EAChC,KAAK,EAAE,IAAI,CAAC,iBAAiB,wGAIlB,EACb,4BAAgB,QAAQ,iBAAa,MAAM,EAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,CAAC,oBAAoB,GAAQ,IAC5F,CACJ,EACA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,eAAK,KAAK,EAAC,gBAAgB,aACzB,KAAC,kBAAkB,IACjB,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAC,KAAK,gBACD,GAAG,mBACA,GAAG,GACE,EACrB,yBAAO,IAAI,CAAC,eAAe,GAAQ,IAC/B,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,KAAC,iBAAiB,IAChB,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,SACY,CACrB,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IACP,EAAE,EAAC,WAAW,EACd,IAAI,EAAE,IAAI,CAAC,gBAA4B,qBACtB,IAAI,CAAC,qBAAqB,EAC3C,KAAK,EAAC,wBAAwB,EAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,eACJ,IAAI,CAAC,QAAQ,YACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CACjD,aAAa,CAAC,OAAO;oBACnB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC;oBAC9C,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CACtJ,CAAC,GACO,CACZ,IACA,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAA+B,aAAgC,EAAE,KAAa;IAChG,OAAQ,aAAa,CAAC,IAAgC,CAAC,iBAAiB;QACtE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC;QAClD,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAA+B,aAAgC,EAAE,KAAa;IACpG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAC3C,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,OAAO,CACL,KAAC,iBAAiB,8BAEQ,IAAI,CAAC,mBAAmB,mBACjC,IAAI,CAAC,GAAG,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,MAAM,CAAC,UAAU,qBACZ,IAAI,CAAC,cAAc,EACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,EAC9C,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,YAC/C,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,cAAc,CAAC,KAAqB,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CACpI,IAbI,KAAK,CAcQ,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAA+B,aAAgC,EAAE,KAAa;IACtG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAC3C,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,OAAO,CACL,KAAC,mBAAmB,IAElB,IAAI,EAAC,OAAO,KACR,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,4BACtB,8BAA8B,EACrD,KAAK,EAAE,IAAI,CAAC,cAAc,qBACT,MAAM,CAAC,cAAc,mBACvB,IAAI,CAAC,GAAG,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,qBACA,IAAI,CAAC,cAAc,EACpC,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,EAC9C,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,EAChD,aAAa,EAAE,MAAM,CAAC,aAAa,YAClC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC3B,cAAc,CAAC,KAAqB,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CACzH,IApBI,KAAK,CAqBU,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAAkB,EAClB,KAAa,EACb,IAAY,EACZ,cAAkC,EAClC,gBAA0C,EAC1C,iBAA2C;IAE3C,OAAO,CACL,KAAC,YAAY,IAEX,IAAI,EAAE,IAAgB,mBACP,IAAI,CAAC,GAAG,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,qBACnB,IAAI,CAAC,cAAc,qBACnB,IAAI,CAAC,cAAc,2BACb,IAAI,CAAC,mBAAmB,EAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,iBACN,IAAI,CAAC,UAAU,kBACd,IAAI,CAAC,WAAW,gBAClB,IAAI,CAAC,SAAS,EAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,eACN,IAAI,CAAC,QAAQ,uBACL,IAAI,CAAC,eAAe,iBAC1B,IAAI,CAAC,UAAU,gBAChB,IAAI,CAAC,SAAS,EAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,mBACA,IAAI,CAAC,YAAY,EAChC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,KACX,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC7D,CAAE,IAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAG,IAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IA5BhG,KAAK,CA6BG,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}\n type={this.type}\n item-icon={this.itemIcon}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListGroupHeader\n key={index}\n role=\"group\"\n {...(index === 0 ? { \"_no-border\": \"\" } : {})}\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n) {\n return (\n <UDExListItem\n key={index}\n role={role as AriaRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n image={item.image}\n image-alt={item.imageAlt}\n image-badge-state={item.imageBadgeState}\n image-shape={item.imageShape}\n image-size={item.imageSize}\n flag={item.flag}\n flag-position={item.flagPosition}\n size={item.size}\n type={item.type}\n {...(accessibleRole ? { \"accessible-role\": accessibleRole } : {})}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
@@ -78,7 +78,7 @@ declare class UDExSelectBox extends UDExSelectBase {
78
78
  handleInputFocusOut(e: FocusEvent): void;
79
79
  handleDropdownBeforeOpen(): void;
80
80
  handleDropdownClose(): void;
81
- handleRemoveTag(e: CustomEvent | null, tag?: UI5Element): void;
81
+ handleRemoveTag(e: CustomEvent | null, tag?: UI5Element): Promise<void>;
82
82
  handleRemoveTruncatableTag(): void;
83
83
  handleTagClick(e: CustomEvent): void;
84
84
  handleUnselectTruncatableTag(): void;
package/dist/SelectBox.js CHANGED
@@ -34,6 +34,7 @@ import UDExSelectBase from "./SelectBase.js";
34
34
  import SelectBoxTemplate from "./SelectBoxTemplate.js";
35
35
  import SearchableListBaseTemplate from "./SearchableListBaseTemplate.js";
36
36
  import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
37
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
37
38
  // Styles
38
39
  import TextFieldCss from "./generated/themes/TextField.css.js";
39
40
  import SearchableListCss from "./generated/themes/SearchableList.css.js";
@@ -143,12 +144,15 @@ let UDExSelectBox = class UDExSelectBox extends UDExSelectBase {
143
144
  this._open = false;
144
145
  this.fireEventDropdownClose();
145
146
  }
146
- handleRemoveTag(e, tag) {
147
+ async handleRemoveTag(e, tag) {
147
148
  tag = tag ?? e?.detail.tag;
148
149
  const tagId = tag.getAttribute("data-id");
149
- this.tokenizer.deleteToken(tag, true);
150
+ this.tokenizer.deleteToken(tag);
150
151
  this.handleDropdownItemPress(tagId);
151
152
  this.fireDecoratorEventRemove(tagId);
153
+ await renderFinished();
154
+ this._focused = true;
155
+ this._search.focus();
152
156
  }
153
157
  handleRemoveTruncatableTag() {
154
158
  const tagId = this._truncatableTag.getAttribute("data-id");
@@ -158,7 +162,13 @@ let UDExSelectBox = class UDExSelectBox extends UDExSelectBase {
158
162
  }
159
163
  handleTagClick(e) {
160
164
  const tag = e.detail.tag;
161
- this.toggleTruncatedPopover(tag);
165
+ if (!tag.isTruncatable) {
166
+ this._showTagsDropdownContent = false;
167
+ tag.selected = false;
168
+ }
169
+ if (tag.isTruncatable && !this._open) {
170
+ this.toggleTruncatedPopover(tag);
171
+ }
162
172
  }
163
173
  handleUnselectTruncatableTag() {
164
174
  if (this._truncatableTag?.selected) {
@@ -262,16 +272,10 @@ let UDExSelectBox = class UDExSelectBox extends UDExSelectBase {
262
272
  this._showTagsDropdownContent = false;
263
273
  }
264
274
  toggleTruncatedPopover(tag) {
265
- if (!tag.isTruncatable) {
266
- this._showTagsDropdownContent = false;
267
- tag.selected = false;
268
- }
269
- if (tag.isTruncatable && !this._open) {
270
- this._truncatableTag = tag;
271
- this._truncatableTag.selected = true;
272
- this._showTagsDropdownContent = true;
273
- this.openDropdown();
274
- }
275
+ this._truncatableTag = tag;
276
+ this._truncatableTag.selected = true;
277
+ this._showTagsDropdownContent = true;
278
+ this.openDropdown();
275
279
  }
276
280
  configureTokenizer() {
277
281
  this.tagGroup._scrollToEnd = true;