@ui5/webcomponents 1.7.0 → 1.8.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 (390) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/ComboBox.js +1 -3
  3. package/dist/Dialog.js +16 -0
  4. package/dist/Icon.js +8 -1
  5. package/dist/Input.js +73 -47
  6. package/dist/MenuItem.js +16 -0
  7. package/dist/MultiComboBox.js +1 -1
  8. package/dist/MultiInput.js +5 -0
  9. package/dist/RadioButton.js +9 -1
  10. package/dist/Tab.js +12 -0
  11. package/dist/TabContainer.js +22 -9
  12. package/dist/Table.js +5 -4
  13. package/dist/TextArea.js +22 -11
  14. package/dist/Tokenizer.js +30 -10
  15. package/dist/Tree.js +30 -0
  16. package/dist/TreeItem.js +12 -0
  17. package/dist/TreeListItem.js +17 -1
  18. package/dist/api.json +1 -1
  19. package/dist/assets/messagebundle_ar.94544c04.js +1 -0
  20. package/dist/assets/messagebundle_bg.d3fdb5c4.js +1 -0
  21. package/dist/assets/messagebundle_ca.e72e74e7.js +1 -0
  22. package/dist/assets/messagebundle_cs.060698db.js +1 -0
  23. package/dist/assets/messagebundle_cy.1d51d5be.js +1 -0
  24. package/dist/assets/messagebundle_da.306f9f15.js +1 -0
  25. package/dist/assets/messagebundle_de.d337af5a.js +1 -0
  26. package/dist/assets/messagebundle_el.a40929c3.js +1 -0
  27. package/dist/assets/messagebundle_en.ebe87595.js +1 -0
  28. package/dist/assets/messagebundle_en_GB.5e2c553c.js +1 -0
  29. package/dist/assets/messagebundle_en_US_sappsd.9a5fb57b.js +1 -0
  30. package/dist/assets/{messagebundle_en_US_saprigi.9e3ec6ce.js → messagebundle_en_US_saprigi.193c7987.js} +1 -1
  31. package/dist/assets/messagebundle_en_US_saptrc.60500617.js +1 -0
  32. package/dist/assets/messagebundle_es.1c77c236.js +1 -0
  33. package/dist/assets/messagebundle_es_MX.6b931316.js +1 -0
  34. package/dist/assets/messagebundle_et.550b4490.js +1 -0
  35. package/dist/assets/messagebundle_fi.ee09d0f3.js +1 -0
  36. package/dist/assets/messagebundle_fr.fffa399c.js +1 -0
  37. package/dist/assets/messagebundle_fr_CA.176166d4.js +1 -0
  38. package/dist/assets/messagebundle_hi.91e71d60.js +1 -0
  39. package/dist/assets/messagebundle_hr.96ea01ed.js +1 -0
  40. package/dist/assets/messagebundle_hu.ea12794a.js +1 -0
  41. package/dist/assets/messagebundle_it.ca05ade7.js +1 -0
  42. package/dist/assets/messagebundle_iw.17ab0bf5.js +1 -0
  43. package/dist/assets/messagebundle_ja.bc69e945.js +1 -0
  44. package/dist/assets/messagebundle_kk.bf8e9110.js +1 -0
  45. package/dist/assets/messagebundle_ko.c37f9731.js +1 -0
  46. package/dist/assets/messagebundle_lt.b631495e.js +1 -0
  47. package/dist/assets/messagebundle_lv.73e3035a.js +1 -0
  48. package/dist/assets/messagebundle_ms.887339e8.js +1 -0
  49. package/dist/assets/messagebundle_nl.dc962822.js +1 -0
  50. package/dist/assets/messagebundle_no.98c454af.js +1 -0
  51. package/dist/assets/messagebundle_pl.844e414d.js +1 -0
  52. package/dist/assets/messagebundle_pt.a4c56a01.js +1 -0
  53. package/dist/assets/messagebundle_pt_PT.643aaf84.js +1 -0
  54. package/dist/assets/messagebundle_ro.c9e26d37.js +1 -0
  55. package/dist/assets/messagebundle_ru.c45897f7.js +1 -0
  56. package/dist/assets/messagebundle_sh.41706642.js +1 -0
  57. package/dist/assets/messagebundle_sk.2a796498.js +1 -0
  58. package/dist/assets/messagebundle_sl.7e89523e.js +1 -0
  59. package/dist/assets/messagebundle_sv.df45ebb2.js +1 -0
  60. package/dist/assets/messagebundle_th.240edafa.js +1 -0
  61. package/dist/assets/messagebundle_tr.f2c4b451.js +1 -0
  62. package/dist/assets/messagebundle_uk.4bf22f72.js +1 -0
  63. package/dist/assets/messagebundle_vi.1d34c5d4.js +1 -0
  64. package/dist/assets/messagebundle_zh_CN.85ea0b9f.js +1 -0
  65. package/dist/assets/messagebundle_zh_TW.5815223c.js +1 -0
  66. package/dist/assets/parameters-bundle.css.04aa71c9.js +1 -0
  67. package/dist/assets/parameters-bundle.css.0e0c347c.js +1 -0
  68. package/dist/assets/parameters-bundle.css.19703c05.js +1 -0
  69. package/dist/assets/parameters-bundle.css.39c4c6e3.js +1 -0
  70. package/dist/assets/parameters-bundle.css.5abf669c.js +1 -0
  71. package/dist/assets/parameters-bundle.css.a0a54b12.js +1 -0
  72. package/dist/assets/parameters-bundle.css.a9e84ff6.js +1 -0
  73. package/dist/assets/parameters-bundle.css.b0b8ad26.js +1 -0
  74. package/dist/assets/parameters-bundle.css.b6916ba6.js +1 -0
  75. package/dist/assets/parameters-bundle.css.b9f623cd.js +1 -0
  76. package/dist/assets/parameters-bundle.css.ec7f0d6e.js +1 -0
  77. package/dist/assets/parameters-bundle.css.f280686f.js +1 -0
  78. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  79. package/dist/css/themes/Dialog.css +1 -1
  80. package/dist/css/themes/Menu.css +1 -1
  81. package/dist/css/themes/Panel.css +1 -1
  82. package/dist/css/themes/TabInOverflow.css +1 -1
  83. package/dist/css/themes/TabInStrip.css +1 -1
  84. package/dist/css/themes/Table.css +1 -1
  85. package/dist/css/themes/TableColumn.css +1 -1
  86. package/dist/css/themes/TableRow.css +1 -1
  87. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  88. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  89. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  90. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  91. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  92. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  93. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  94. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  99. package/dist/features/InputSuggestions.js +4 -6
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  136. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  147. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  157. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  158. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  159. package/dist/generated/i18n/i18n-defaults.js +2 -2
  160. package/dist/generated/templates/IconTemplate.lit.js +4 -3
  161. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  162. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  163. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  164. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  165. package/dist/generated/templates/TabInOverflowTemplate.lit.js +3 -2
  166. package/dist/generated/templates/TabInStripTemplate.lit.js +9 -8
  167. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  168. package/dist/generated/templates/TreeTemplate.lit.js +2 -2
  169. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  170. package/dist/generated/themes/Dialog.css.js +1 -1
  171. package/dist/generated/themes/Menu.css.js +1 -1
  172. package/dist/generated/themes/Panel.css.js +1 -1
  173. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  174. package/dist/generated/themes/TabInStrip.css.js +1 -1
  175. package/dist/generated/themes/Table.css.js +1 -1
  176. package/dist/generated/themes/TableColumn.css.js +1 -1
  177. package/dist/generated/themes/TableRow.css.js +1 -1
  178. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  179. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  180. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  181. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  182. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  183. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  184. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  185. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  186. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  187. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  188. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  189. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  190. package/dist/i18n/messagebundle.properties +2 -2
  191. package/dist/i18n/messagebundle_ar.properties +1 -3
  192. package/dist/i18n/messagebundle_bg.properties +1 -3
  193. package/dist/i18n/messagebundle_ca.properties +1 -3
  194. package/dist/i18n/messagebundle_cs.properties +1 -3
  195. package/dist/i18n/messagebundle_cy.properties +1 -3
  196. package/dist/i18n/messagebundle_da.properties +1 -3
  197. package/dist/i18n/messagebundle_de.properties +1 -3
  198. package/dist/i18n/messagebundle_el.properties +1 -3
  199. package/dist/i18n/messagebundle_en.properties +1 -3
  200. package/dist/i18n/messagebundle_en_GB.properties +1 -3
  201. package/dist/i18n/messagebundle_en_US_sappsd.properties +1 -3
  202. package/dist/i18n/messagebundle_en_US_saprigi.properties +1 -1
  203. package/dist/i18n/messagebundle_en_US_saptrc.properties +1 -3
  204. package/dist/i18n/messagebundle_es.properties +1 -3
  205. package/dist/i18n/messagebundle_es_MX.properties +1 -3
  206. package/dist/i18n/messagebundle_et.properties +1 -3
  207. package/dist/i18n/messagebundle_fi.properties +1 -3
  208. package/dist/i18n/messagebundle_fr.properties +1 -3
  209. package/dist/i18n/messagebundle_fr_CA.properties +2 -4
  210. package/dist/i18n/messagebundle_hi.properties +1 -3
  211. package/dist/i18n/messagebundle_hr.properties +1 -3
  212. package/dist/i18n/messagebundle_hu.properties +1 -3
  213. package/dist/i18n/messagebundle_id.properties +1 -3
  214. package/dist/i18n/messagebundle_it.properties +1 -3
  215. package/dist/i18n/messagebundle_iw.properties +1 -3
  216. package/dist/i18n/messagebundle_ja.properties +1 -3
  217. package/dist/i18n/messagebundle_kk.properties +1 -3
  218. package/dist/i18n/messagebundle_ko.properties +1 -3
  219. package/dist/i18n/messagebundle_lt.properties +1 -3
  220. package/dist/i18n/messagebundle_lv.properties +1 -3
  221. package/dist/i18n/messagebundle_ms.properties +1 -3
  222. package/dist/i18n/messagebundle_nl.properties +3 -5
  223. package/dist/i18n/messagebundle_no.properties +1 -3
  224. package/dist/i18n/messagebundle_pl.properties +1 -3
  225. package/dist/i18n/messagebundle_pt.properties +1 -3
  226. package/dist/i18n/messagebundle_pt_PT.properties +1 -3
  227. package/dist/i18n/messagebundle_ro.properties +1 -3
  228. package/dist/i18n/messagebundle_ru.properties +1 -3
  229. package/dist/i18n/messagebundle_sh.properties +1 -3
  230. package/dist/i18n/messagebundle_sk.properties +1 -3
  231. package/dist/i18n/messagebundle_sl.properties +1 -3
  232. package/dist/i18n/messagebundle_sv.properties +1 -3
  233. package/dist/i18n/messagebundle_th.properties +1 -3
  234. package/dist/i18n/messagebundle_tr.properties +1 -3
  235. package/dist/i18n/messagebundle_uk.properties +1 -3
  236. package/dist/i18n/messagebundle_vi.properties +1 -3
  237. package/dist/i18n/messagebundle_zh_CN.properties +1 -3
  238. package/dist/i18n/messagebundle_zh_TW.properties +1 -3
  239. package/package.json +7 -7
  240. package/src/ComboBox.js +1 -3
  241. package/src/Dialog.js +16 -0
  242. package/src/Icon.hbs +5 -1
  243. package/src/Icon.js +8 -1
  244. package/src/Input.hbs +1 -1
  245. package/src/Input.js +73 -47
  246. package/src/Menu.hbs +2 -1
  247. package/src/MenuItem.js +16 -0
  248. package/src/MultiComboBox.hbs +1 -0
  249. package/src/MultiComboBox.js +1 -1
  250. package/src/MultiInput.js +5 -0
  251. package/src/RadioButton.js +9 -1
  252. package/src/Tab.js +12 -0
  253. package/src/TabContainer.js +22 -9
  254. package/src/TabInOverflow.hbs +5 -3
  255. package/src/TabInStrip.hbs +7 -1
  256. package/src/Table.js +5 -4
  257. package/src/TextArea.js +22 -11
  258. package/src/TextAreaPopover.hbs +1 -1
  259. package/src/Tokenizer.js +30 -10
  260. package/src/Tree.hbs +2 -0
  261. package/src/Tree.js +30 -0
  262. package/src/TreeItem.js +12 -0
  263. package/src/TreeListItem.js +17 -1
  264. package/src/features/InputSuggestions.js +4 -6
  265. package/src/i18n/messagebundle.properties +2 -2
  266. package/src/i18n/messagebundle_ar.properties +1 -3
  267. package/src/i18n/messagebundle_bg.properties +1 -3
  268. package/src/i18n/messagebundle_ca.properties +1 -3
  269. package/src/i18n/messagebundle_cs.properties +1 -3
  270. package/src/i18n/messagebundle_cy.properties +1 -3
  271. package/src/i18n/messagebundle_da.properties +1 -3
  272. package/src/i18n/messagebundle_de.properties +1 -3
  273. package/src/i18n/messagebundle_el.properties +1 -3
  274. package/src/i18n/messagebundle_en.properties +1 -3
  275. package/src/i18n/messagebundle_en_GB.properties +1 -3
  276. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -3
  277. package/src/i18n/messagebundle_en_US_saprigi.properties +1 -1
  278. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -3
  279. package/src/i18n/messagebundle_es.properties +1 -3
  280. package/src/i18n/messagebundle_es_MX.properties +1 -3
  281. package/src/i18n/messagebundle_et.properties +1 -3
  282. package/src/i18n/messagebundle_fi.properties +1 -3
  283. package/src/i18n/messagebundle_fr.properties +1 -3
  284. package/src/i18n/messagebundle_fr_CA.properties +2 -4
  285. package/src/i18n/messagebundle_hi.properties +1 -3
  286. package/src/i18n/messagebundle_hr.properties +1 -3
  287. package/src/i18n/messagebundle_hu.properties +1 -3
  288. package/src/i18n/messagebundle_id.properties +1 -3
  289. package/src/i18n/messagebundle_it.properties +1 -3
  290. package/src/i18n/messagebundle_iw.properties +1 -3
  291. package/src/i18n/messagebundle_ja.properties +1 -3
  292. package/src/i18n/messagebundle_kk.properties +1 -3
  293. package/src/i18n/messagebundle_ko.properties +1 -3
  294. package/src/i18n/messagebundle_lt.properties +1 -3
  295. package/src/i18n/messagebundle_lv.properties +1 -3
  296. package/src/i18n/messagebundle_ms.properties +1 -3
  297. package/src/i18n/messagebundle_nl.properties +3 -5
  298. package/src/i18n/messagebundle_no.properties +1 -3
  299. package/src/i18n/messagebundle_pl.properties +1 -3
  300. package/src/i18n/messagebundle_pt.properties +1 -3
  301. package/src/i18n/messagebundle_pt_PT.properties +1 -3
  302. package/src/i18n/messagebundle_ro.properties +1 -3
  303. package/src/i18n/messagebundle_ru.properties +1 -3
  304. package/src/i18n/messagebundle_sh.properties +1 -3
  305. package/src/i18n/messagebundle_sk.properties +1 -3
  306. package/src/i18n/messagebundle_sl.properties +1 -3
  307. package/src/i18n/messagebundle_sv.properties +1 -3
  308. package/src/i18n/messagebundle_th.properties +1 -3
  309. package/src/i18n/messagebundle_tr.properties +1 -3
  310. package/src/i18n/messagebundle_uk.properties +1 -3
  311. package/src/i18n/messagebundle_vi.properties +1 -3
  312. package/src/i18n/messagebundle_zh_CN.properties +1 -3
  313. package/src/i18n/messagebundle_zh_TW.properties +1 -3
  314. package/src/themes/BreadcrumbsPopover.css +1 -0
  315. package/src/themes/Dialog.css +4 -0
  316. package/src/themes/Menu.css +25 -2
  317. package/src/themes/Panel.css +12 -4
  318. package/src/themes/TabInOverflow.css +1 -0
  319. package/src/themes/TabInStrip.css +2 -1
  320. package/src/themes/Table.css +4 -0
  321. package/src/themes/TableColumn.css +1 -1
  322. package/src/themes/TableRow.css +2 -2
  323. package/src/themes/base/Menu-parameters.css +2 -0
  324. package/src/themes/base/Panel-parameters.css +1 -0
  325. package/src/themes/base/Table-parameters.css +1 -0
  326. package/src/themes/base/sizes-parameters.css +1 -0
  327. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  328. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  329. package/src/themes/sap_horizon/Panel-parameters.css +1 -0
  330. package/src/themes/sap_horizon/Table-parameters.css +0 -1
  331. package/src/themes/sap_horizon_dark/Panel-parameters.css +1 -0
  332. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -1
  333. package/dist/assets/messagebundle_ar.f3e988df.js +0 -1
  334. package/dist/assets/messagebundle_bg.a3f6fdd8.js +0 -1
  335. package/dist/assets/messagebundle_ca.5e72bf09.js +0 -1
  336. package/dist/assets/messagebundle_cs.5720e069.js +0 -1
  337. package/dist/assets/messagebundle_cy.51ed6118.js +0 -1
  338. package/dist/assets/messagebundle_da.d83f1df6.js +0 -1
  339. package/dist/assets/messagebundle_de.00b8fac3.js +0 -1
  340. package/dist/assets/messagebundle_el.54337d1a.js +0 -1
  341. package/dist/assets/messagebundle_en.46c4c8b4.js +0 -1
  342. package/dist/assets/messagebundle_en_GB.d9037cba.js +0 -1
  343. package/dist/assets/messagebundle_en_US_sappsd.2f342e46.js +0 -1
  344. package/dist/assets/messagebundle_en_US_saptrc.a358bbc3.js +0 -1
  345. package/dist/assets/messagebundle_es.6edd9aac.js +0 -1
  346. package/dist/assets/messagebundle_es_MX.b9a235b1.js +0 -1
  347. package/dist/assets/messagebundle_et.2f95fbc0.js +0 -1
  348. package/dist/assets/messagebundle_fi.e408238f.js +0 -1
  349. package/dist/assets/messagebundle_fr.023ec658.js +0 -1
  350. package/dist/assets/messagebundle_fr_CA.700b3003.js +0 -1
  351. package/dist/assets/messagebundle_hi.e54398ec.js +0 -1
  352. package/dist/assets/messagebundle_hr.87a5cf12.js +0 -1
  353. package/dist/assets/messagebundle_hu.11f04021.js +0 -1
  354. package/dist/assets/messagebundle_it.aa33f57d.js +0 -1
  355. package/dist/assets/messagebundle_iw.876a2de2.js +0 -1
  356. package/dist/assets/messagebundle_ja.8e38b3b9.js +0 -1
  357. package/dist/assets/messagebundle_kk.16201d64.js +0 -1
  358. package/dist/assets/messagebundle_ko.efd3d190.js +0 -1
  359. package/dist/assets/messagebundle_lt.8df3235f.js +0 -1
  360. package/dist/assets/messagebundle_lv.1485b0dd.js +0 -1
  361. package/dist/assets/messagebundle_ms.2801cf14.js +0 -1
  362. package/dist/assets/messagebundle_nl.fbaa57e5.js +0 -1
  363. package/dist/assets/messagebundle_no.aed62d2d.js +0 -1
  364. package/dist/assets/messagebundle_pl.ec09771e.js +0 -1
  365. package/dist/assets/messagebundle_pt.2ba5f988.js +0 -1
  366. package/dist/assets/messagebundle_pt_PT.f26a67f1.js +0 -1
  367. package/dist/assets/messagebundle_ro.71197951.js +0 -1
  368. package/dist/assets/messagebundle_ru.0bc1939f.js +0 -1
  369. package/dist/assets/messagebundle_sh.097c2c2b.js +0 -1
  370. package/dist/assets/messagebundle_sk.79a87686.js +0 -1
  371. package/dist/assets/messagebundle_sl.9d602bfb.js +0 -1
  372. package/dist/assets/messagebundle_sv.efb6e0ef.js +0 -1
  373. package/dist/assets/messagebundle_th.94c0d1ab.js +0 -1
  374. package/dist/assets/messagebundle_tr.b3a571be.js +0 -1
  375. package/dist/assets/messagebundle_uk.8d0551a9.js +0 -1
  376. package/dist/assets/messagebundle_vi.6819ccf0.js +0 -1
  377. package/dist/assets/messagebundle_zh_CN.0c604a5d.js +0 -1
  378. package/dist/assets/messagebundle_zh_TW.4659173f.js +0 -1
  379. package/dist/assets/parameters-bundle.css.18cb3350.js +0 -1
  380. package/dist/assets/parameters-bundle.css.2be7f26d.js +0 -1
  381. package/dist/assets/parameters-bundle.css.31a66508.js +0 -1
  382. package/dist/assets/parameters-bundle.css.33915181.js +0 -1
  383. package/dist/assets/parameters-bundle.css.41e95390.js +0 -1
  384. package/dist/assets/parameters-bundle.css.4343d807.js +0 -1
  385. package/dist/assets/parameters-bundle.css.4438b4b3.js +0 -1
  386. package/dist/assets/parameters-bundle.css.54a888ff.js +0 -1
  387. package/dist/assets/parameters-bundle.css.6d229ca8.js +0 -1
  388. package/dist/assets/parameters-bundle.css.7c26b98b.js +0 -1
  389. package/dist/assets/parameters-bundle.css.cad0773b.js +0 -1
  390. package/dist/assets/parameters-bundle.css.d532d151.js +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,53 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.8.0](https://github.com/SAP/ui5-webcomponents/compare/v1.7.1...v1.8.0) (2022-10-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui5-breadcrumbs-popover:** aligned footer items ([#5821](https://github.com/SAP/ui5-webcomponents/issues/5821)) ([b1aa6e7](https://github.com/SAP/ui5-webcomponents/commit/b1aa6e70086689678175506b230479c8dbff6f99)), closes [#5810](https://github.com/SAP/ui5-webcomponents/issues/5810)
12
+ * **ui5-dialog:** correct imports in HC theme bundles ([#5851](https://github.com/SAP/ui5-webcomponents/issues/5851)) ([3cef0d5](https://github.com/SAP/ui5-webcomponents/commit/3cef0d5a104a4acd8b790cfd7549c5b890bdc81f)), closes [#5832](https://github.com/SAP/ui5-webcomponents/issues/5832)
13
+ * **ui5-dialog:** fixed text selection when the dialog is draggable ([#5724](https://github.com/SAP/ui5-webcomponents/issues/5724)) ([9e0c79f](https://github.com/SAP/ui5-webcomponents/commit/9e0c79fe7bf623d9b113be5b6df4a569293babbc))
14
+ * **ui5-input,ui5-combobox:** remove 'selected' announcement ([#5864](https://github.com/SAP/ui5-webcomponents/issues/5864)) ([e04adde](https://github.com/SAP/ui5-webcomponents/commit/e04added4ff84ffca490e3ce03d4dd54cffb600c))
15
+ * **ui5-input:** announce suggestion text once ([#5817](https://github.com/SAP/ui5-webcomponents/issues/5817)) ([6225e10](https://github.com/SAP/ui5-webcomponents/commit/6225e10011b668da92584f434f33640000ed2310))
16
+ * **ui5-input:** enable autocomplete deletion by Meta/Alt + backspace ([#5729](https://github.com/SAP/ui5-webcomponents/issues/5729)) ([df0fff6](https://github.com/SAP/ui5-webcomponents/commit/df0fff656392664c6ea1d8e63538dd787a37d0cf))
17
+ * **ui5-input:** handle deletion in numeric input ([#5676](https://github.com/SAP/ui5-webcomponents/issues/5676)) ([3858adb](https://github.com/SAP/ui5-webcomponents/commit/3858adb1d2e88c1bd26b09f12a25a7dffc691ba2)), closes [#4932](https://github.com/SAP/ui5-webcomponents/issues/4932)
18
+ * **ui5-multi-combobox:** apply focus when invoked explicitly ([#5850](https://github.com/SAP/ui5-webcomponents/issues/5850)) ([212b2ef](https://github.com/SAP/ui5-webcomponents/commit/212b2ef49d54f6328220a6d713e3ce8be5f8ab36))
19
+ * **ui5-panel:** improve focus outline visualization ([#5811](https://github.com/SAP/ui5-webcomponents/issues/5811)) ([83b244c](https://github.com/SAP/ui5-webcomponents/commit/83b244c300cd179c0584d0bf6d302e3631fb3581))
20
+ * **ui5-radio-button:** correct syncing radio group when exiting DOM ([#5859](https://github.com/SAP/ui5-webcomponents/issues/5859)) ([0dca9b2](https://github.com/SAP/ui5-webcomponents/commit/0dca9b2c87509be9ec3725681d8aa2dd23e59219)), closes [#5803](https://github.com/SAP/ui5-webcomponents/issues/5803)
21
+ * **ui5-tabcontainer:** fix closing overflow on mobile ([#5855](https://github.com/SAP/ui5-webcomponents/issues/5855)) ([996714e](https://github.com/SAP/ui5-webcomponents/commit/996714eb9345e3efd796cf8b3c46c8e198fd18e2)), closes [#5854](https://github.com/SAP/ui5-webcomponents/issues/5854)
22
+ * **ui5-tabcontainer:** fixed error when no tabs ([#5793](https://github.com/SAP/ui5-webcomponents/issues/5793)) ([cfb8951](https://github.com/SAP/ui5-webcomponents/commit/cfb8951f0acb30e1ebf54a18c2e9a3f5cf88cba1))
23
+ * **ui5-tabcontainer:** fixed tabs accessibility issues ([#5846](https://github.com/SAP/ui5-webcomponents/issues/5846)) ([e633b8b](https://github.com/SAP/ui5-webcomponents/commit/e633b8b3003136f6ad7696a0d12af807e38c18dc))
24
+ * **ui5-table:** add bottom border in Horizon themes ([#5807](https://github.com/SAP/ui5-webcomponents/issues/5807)) ([63bbf89](https://github.com/SAP/ui5-webcomponents/commit/63bbf89556fc254b3b53f6954bf48be0ad69b1a5))
25
+ * **ui5-table:** adjust samples according to the guidelines ([#5828](https://github.com/SAP/ui5-webcomponents/issues/5828)) ([debf472](https://github.com/SAP/ui5-webcomponents/commit/debf472f18f6a91a5eadee6d7f64da8563d4d0f7))
26
+ * **ui5-table:** apply correct padding in RTL mode ([#5805](https://github.com/SAP/ui5-webcomponents/issues/5805)) ([301fc4e](https://github.com/SAP/ui5-webcomponents/commit/301fc4ede2c1ab899a6a9268ed9bf776112ff42f))
27
+ * **ui5-table:** count header row as first one ([#5800](https://github.com/SAP/ui5-webcomponents/issues/5800)) ([9bef86f](https://github.com/SAP/ui5-webcomponents/commit/9bef86fd7b780e8e4fe7ba6e2720ff0444e73847))
28
+ * **ui5-textarea:** announce value state type ([#5798](https://github.com/SAP/ui5-webcomponents/issues/5798)) ([a689502](https://github.com/SAP/ui5-webcomponents/commit/a6895025300e707d63c0ab4f413b07f6a6f96563)), closes [#5716](https://github.com/SAP/ui5-webcomponents/issues/5716)
29
+ * **ui5-tokenizer:** return correct token on delete event ([#5744](https://github.com/SAP/ui5-webcomponents/issues/5744)) ([d694a88](https://github.com/SAP/ui5-webcomponents/commit/d694a8884782c576bbef720068bbbd62db3602a3))
30
+
31
+
32
+ ### Features
33
+
34
+ * **main:** add support for custom SVG icons ([#5865](https://github.com/SAP/ui5-webcomponents/issues/5865)) ([d8b7200](https://github.com/SAP/ui5-webcomponents/commit/d8b7200f30c16d94b7f15ddbdf9808d8efbaa38c))
35
+ * **ui5-menu-item:** implement additional text ([#5867](https://github.com/SAP/ui5-webcomponents/issues/5867)) ([bf991b6](https://github.com/SAP/ui5-webcomponents/commit/bf991b6bb519e4cc849a542d67f4954efc4b55e3))
36
+ * **ui5-tree:** introduce `accessibleName` and `accessibleNameRef` properties ([#5804](https://github.com/SAP/ui5-webcomponents/issues/5804)) ([2e3452a](https://github.com/SAP/ui5-webcomponents/commit/2e3452a98463aa3b78231651ac63771d3cbc5c1a))
37
+
38
+
39
+
40
+
41
+
42
+ ## [1.7.1](https://github.com/SAP/ui5-webcomponents/compare/v1.7.0...v1.7.1) (2022-09-08)
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * **ui5-tabcontainer:** fixed error when no tabs ([#5793](https://github.com/SAP/ui5-webcomponents/issues/5793)) ([4aefe17](https://github.com/SAP/ui5-webcomponents/commit/4aefe176bfed5a6ba963418413aa167955b40418))
48
+
49
+
50
+
51
+
52
+
6
53
  # [1.7.0](https://github.com/SAP/ui5-webcomponents/compare/v1.6.0...v1.7.0) (2022-09-02)
7
54
 
8
55
 
package/dist/ComboBox.js CHANGED
@@ -43,7 +43,6 @@ import {
43
43
  INPUT_SUGGESTIONS_TITLE,
44
44
  SELECT_OPTIONS,
45
45
  LIST_ITEM_POSITION,
46
- LIST_ITEM_SELECTED,
47
46
  LIST_ITEM_GROUP_HEADER,
48
47
  } from "./generated/i18n/i18n-defaults.js";
49
48
 
@@ -986,13 +985,12 @@ class ComboBox extends UI5Element {
986
985
  const currentItem = this._filteredItems[indexOfItem];
987
986
  const isGroupItem = currentItem && currentItem.isGroupItem;
988
987
  const itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, indexOfItem + 1, this._filteredItems.length);
989
- const itemSelectionText = ComboBox.i18nBundle.getText(LIST_ITEM_SELECTED);
990
988
  const groupHeaderText = ComboBox.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);
991
989
 
992
990
  if (isGroupItem) {
993
991
  announce(`${groupHeaderText} ${currentItem.text} ${itemPositionText}`, "Polite");
994
992
  } else {
995
- announce(`${itemPositionText} ${itemSelectionText}`, "Polite");
993
+ announce(`${itemPositionText}`, "Polite");
996
994
  }
997
995
  }
998
996
 
package/dist/Dialog.js CHANGED
@@ -98,6 +98,10 @@ const metadata = {
98
98
  * If this property is set to true, the Dialog will be draggable by its header.
99
99
  * <br><br>
100
100
  * <b>Note:</b> The component can be draggable only in desktop mode.
101
+ * <br><br>
102
+ * <b>Note:</b> This property overrides the default HTML "draggable" attribute native behavior.
103
+ * When "draggable" is set to true, the native browser "draggable"
104
+ * behavior is prevented and only the Dialog custom logic ("draggable by its header") works.
101
105
  * @type {boolean}
102
106
  * @defaultvalue false
103
107
  * @since 1.0.0-rc.9
@@ -217,6 +221,8 @@ class Dialog extends Popup {
217
221
 
218
222
  this._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);
219
223
  this._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);
224
+
225
+ this._dragStartHandler = this._handleDragStart.bind(this);
220
226
  }
221
227
 
222
228
  static get metadata() {
@@ -348,11 +354,15 @@ class Dialog extends Popup {
348
354
  onEnterDOM() {
349
355
  super.onEnterDOM();
350
356
  this._attachScreenResizeHandler();
357
+
358
+ this.addEventListener("dragstart", this._dragStartHandler);
351
359
  }
352
360
 
353
361
  onExitDOM() {
354
362
  super.onExitDOM();
355
363
  this._detachScreenResizeHandler();
364
+
365
+ this.removeEventListener("dragstart", this._dragStartHandler);
356
366
  }
357
367
 
358
368
  /**
@@ -648,6 +658,12 @@ class Dialog extends Popup {
648
658
  this._detachMouseResizeHandlers();
649
659
  }
650
660
 
661
+ _handleDragStart(event) {
662
+ if (this.draggable) {
663
+ event.preventDefault();
664
+ }
665
+ }
666
+
651
667
  _attachMouseResizeHandlers() {
652
668
  this._detachScreenResizeHandler();
653
669
 
package/dist/Icon.js CHANGED
@@ -3,8 +3,8 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import { getIconData, getIconDataSync } from "@ui5/webcomponents-base/dist/asset-registries/Icons.js";
4
4
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
6
+ import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
6
7
  import IconTemplate from "./generated/templates/IconTemplate.lit.js";
7
-
8
8
  // Styles
9
9
  import iconCss from "./generated/themes/Icon.css.js";
10
10
 
@@ -354,11 +354,18 @@ class Icon extends UI5Element {
354
354
  /* eslint-disable-next-line */
355
355
  return console.warn("Icon name property is required", this);
356
356
  }
357
+
357
358
  let iconData = getIconDataSync(name);
358
359
  if (!iconData) {
359
360
  iconData = await getIconData(name);
360
361
  }
361
362
 
363
+ this.viewBox = iconData.viewBox || "0 0 512 512";
364
+ if (iconData.customTemplate) {
365
+ iconData.pathData = [];
366
+ this.customSvg = executeTemplate(iconData.customTemplate, this);
367
+ }
368
+
362
369
  if (iconData === ICON_NOT_FOUND) {
363
370
  this.invalid = true;
364
371
  /* eslint-disable-next-line */
package/dist/Input.js CHANGED
@@ -63,8 +63,6 @@ import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverComm
63
63
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
64
64
  import SuggestionsCss from "./generated/themes/Suggestions.css.js";
65
65
 
66
- const rgxFloat = new RegExp(/(\+|-)?\d+(\.|,)\d+/);
67
-
68
66
  /**
69
67
  * @public
70
68
  */
@@ -268,6 +266,20 @@ const metadata = {
268
266
  type: String,
269
267
  },
270
268
 
269
+ /**
270
+ * Defines the inner stored value of the component.
271
+ * <br><br>
272
+ * <b>Note:</b> The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)
273
+ *
274
+ * @type {string}
275
+ * @defaultvalue ""
276
+ * @private
277
+ */
278
+ _innerValue: {
279
+ type: String,
280
+ noAttribute: true,
281
+ },
282
+
271
283
  /**
272
284
  * Defines the value state of the component.
273
285
  * <br><br>
@@ -618,9 +630,6 @@ class Input extends UI5Element {
618
630
  // The value that the user is typed in the input
619
631
  this.valueBeforeAutoComplete = "";
620
632
 
621
- // Indicates, if the user pressed the BACKSPACE key.
622
- this._backspaceKeyDown = false;
623
-
624
633
  // Indicates, if the user is typing. Gets reset once popup is closed
625
634
  this.isTyping = false;
626
635
 
@@ -637,6 +646,8 @@ class Input extends UI5Element {
637
646
  this.suggestionsTexts = [];
638
647
 
639
648
  this._handleResizeBound = this._handleResize.bind(this);
649
+
650
+ this._keepInnerValue = false;
640
651
  }
641
652
 
642
653
  onEnterDOM() {
@@ -648,6 +659,10 @@ class Input extends UI5Element {
648
659
  }
649
660
 
650
661
  onBeforeRendering() {
662
+ if (!this._keepInnerValue) {
663
+ this._innerValue = this.value;
664
+ }
665
+
651
666
  if (this.showSuggestions) {
652
667
  this.enableSuggestions();
653
668
  this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
@@ -755,7 +770,6 @@ class Input extends UI5Element {
755
770
  }
756
771
 
757
772
  if (isBackSpace(event)) {
758
- this._backspaceKeyDown = true;
759
773
  this._selectedText = window.getSelection().toString();
760
774
  }
761
775
 
@@ -775,7 +789,6 @@ class Input extends UI5Element {
775
789
  }
776
790
 
777
791
  this._keyDown = false;
778
- this._backspaceKeyDown = false;
779
792
  }
780
793
 
781
794
  /* Event handling */
@@ -916,6 +929,8 @@ class Input extends UI5Element {
916
929
  const focusedOutToSuggestions = this.Suggestions && event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.contains(this.Suggestions.responsivePopover);
917
930
  const focusedOutToValueStateMessage = event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.querySelector(".ui5-valuestatemessage-root");
918
931
 
932
+ this._keepInnerValue = false;
933
+
919
934
  if (this.showClearIcon && !this.effectiveShowClearIcon) {
920
935
  this._clearIconClicked = false;
921
936
  this._handleChange();
@@ -999,47 +1014,59 @@ class Input extends UI5Element {
999
1014
  const inputDomRef = this.getInputDOMRefSync();
1000
1015
  const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef.value;
1001
1016
  const eventType = event.inputType || (event.detail && event.detail.inputType);
1002
-
1003
- this._shouldAutocomplete = eventType !== "deleteContentBackward" && !this.noTypeahead;
1017
+ this._keepInnerValue = false;
1018
+
1019
+ const allowedEventTypes = [
1020
+ "deleteWordBackward",
1021
+ "deleteWordForward",
1022
+ "deleteSoftLineBackward",
1023
+ "deleteSoftLineForward",
1024
+ "deleteEntireSoftLine",
1025
+ "deleteHardLineBackward",
1026
+ "deleteHardLineForward",
1027
+ "deleteByDrag",
1028
+ "deleteByCut",
1029
+ "deleteContent",
1030
+ "deleteContentBackward",
1031
+ "deleteContentForward",
1032
+ "historyUndo",
1033
+ ];
1034
+
1035
+ this._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;
1004
1036
  this.suggestionSelectionCanceled = false;
1005
1037
 
1006
- if (emptyValueFiredOnNumberInput && !this._backspaceKeyDown) {
1007
- // For input with type="Number", if the delimiter is entered second time,
1008
- // the inner input is firing event with empty value
1009
- return;
1010
- }
1011
-
1012
- if (emptyValueFiredOnNumberInput && this._backspaceKeyDown) {
1013
- // Issue: when the user removes the character(s) after the delimeter of numeric Input,
1014
- // the native input is firing event with an empty value and we have to manually handle this case,
1015
- // otherwise the entire input will be cleared as we sync the "value".
1016
-
1017
- // There are tree scenarios:
1018
- // Example: type "123.4" and press BACKSPACE - the native input is firing event with empty value.
1019
- // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with empty value.
1020
- // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value,
1021
- // but this time that's really the case.
1022
-
1023
- // Perform manual handling in case of floating number
1024
- // and if the user did not select the entire input value
1025
- if (this._selectedText.indexOf(",") > -1) {
1026
- this._selectedText = this._selectedText.replace(",", ".");
1027
- }
1028
-
1029
- if (rgxFloat.test(this.value) && this._selectedText !== this.value) {
1030
- const newValue = this.removeFractionalPart(this.value);
1031
-
1032
- // update state
1033
- this.value = newValue;
1034
- this.highlightValue = newValue;
1035
- this.valueBeforeItemPreview = newValue;
1036
-
1037
- // fire events
1038
- this.fireEvent(this.EVENT_INPUT, { inputType: event.inputType });
1039
- this.fireEvent("value-changed");
1040
- return;
1041
- }
1038
+ // ---- Special cases of numeric Input ----
1039
+ // ---------------- Start -----------------
1040
+
1041
+ // When the last character after the delimiter is removed.
1042
+ // In such cases, we want to skip the re-rendering of the
1043
+ // component as this leads to cursor repositioning and causes user experience issues.
1044
+
1045
+ // There are few scenarios:
1046
+ // Example: type "123.4" and press BACKSPACE - the native input is firing event with the whole part as value (123).
1047
+ // Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).
1048
+ // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with the whole part as value (123).
1049
+ // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value.
1050
+ const delimiterCase = this.isTypeNumber
1051
+ && (event.inputType === "deleteContentForward" || event.inputType === "deleteContentBackward")
1052
+ && !event.target.value.includes(".")
1053
+ && this.value.includes(".");
1054
+
1055
+ // Handle special numeric notation with "e", example "12.5e12"
1056
+ const eNotationCase = emptyValueFiredOnNumberInput && event.data === "e";
1057
+
1058
+ // Handle special numeric notation with "-", example "-3"
1059
+ // When pressing BACKSPACE, the native input fires event with empty value
1060
+ const minusRemovalCase = emptyValueFiredOnNumberInput
1061
+ && this.value.startsWith("-")
1062
+ && this.value.length === 2
1063
+ && (event.inputType === "deleteContentForward" || event.inputType === "deleteContentBackward");
1064
+
1065
+ if (delimiterCase || eNotationCase || minusRemovalCase) {
1066
+ this.value = event.target.value;
1067
+ this._keepInnerValue = true;
1042
1068
  }
1069
+ // ----------------- End ------------------
1043
1070
 
1044
1071
  if (event.target === inputDomRef) {
1045
1072
  this.focused = true;
@@ -1086,6 +1113,7 @@ class Input extends UI5Element {
1086
1113
  const innerInput = this.getInputDOMRefSync();
1087
1114
 
1088
1115
  filterValue = filterValue || "";
1116
+ this._innerValue = value;
1089
1117
  this.value = value;
1090
1118
 
1091
1119
  innerInput.value = value;
@@ -1249,8 +1277,6 @@ class Input extends UI5Element {
1249
1277
  }
1250
1278
 
1251
1279
  async fireEventByAction(action, event) {
1252
- await this.getInputDOMRef();
1253
-
1254
1280
  if (this.disabled || this.readonly) {
1255
1281
  return;
1256
1282
  }
package/dist/MenuItem.js CHANGED
@@ -17,6 +17,18 @@ const metadata = {
17
17
  type: String,
18
18
  },
19
19
 
20
+ /**
21
+ * Defines the <code>additionalText</code>, displayed in the end of the menu item.
22
+ * <b>Note:</b> The additional text would not be displayed if the item has a submenu.
23
+ *
24
+ * @type {string}
25
+ * @public
26
+ * @since 1.8.0
27
+ */
28
+ additionalText: {
29
+ type: String,
30
+ },
31
+
20
32
  /**
21
33
  * Defines the icon to be displayed as graphical element within the component.
22
34
  * The SAP-icons font provides numerous options.
@@ -167,6 +179,10 @@ class MenuItem extends UI5Element {
167
179
  return !!Object.keys(this._subMenu).length;
168
180
  }
169
181
 
182
+ get _additionalText() {
183
+ return this.hasChildren ? "" : this.additionalText;
184
+ }
185
+
170
186
  get ariaLabelledByText() {
171
187
  return `${this.text} ${this.accessibleName}`.trim();
172
188
  }
@@ -1082,7 +1082,7 @@ class MultiComboBox extends UI5Element {
1082
1082
  if (isCut) {
1083
1083
  const cutResult = this._tokenizer._fillClipboard("cut", selectedTokens);
1084
1084
  selectedTokens.forEach(token => {
1085
- this._tokenizer._tokenDelete(event, token);
1085
+ this._tokenizer._tokenKeyboardDelete(event, token);
1086
1086
  });
1087
1087
 
1088
1088
  this.focus();
@@ -146,6 +146,11 @@ class MultiInput extends Input {
146
146
  return;
147
147
  }
148
148
 
149
+ if (focusedToken) {
150
+ this.fireEvent("token-delete", { token: focusedToken });
151
+ return;
152
+ }
153
+
149
154
  if (selectedTokens.indexOf(focusedToken) === -1) {
150
155
  selectedTokens.push(focusedToken);
151
156
  }
@@ -323,12 +323,20 @@ class RadioButton extends UI5Element {
323
323
  this._enableFormSupport();
324
324
  }
325
325
 
326
- syncGroup() {
326
+ onExitDOM() {
327
+ this.syncGroup(true);
328
+ }
329
+
330
+ syncGroup(forceRemove) {
327
331
  const oldGroup = this._name;
328
332
  const currentGroup = this.name;
329
333
  const oldChecked = this._checked;
330
334
  const currentChecked = this.checked;
331
335
 
336
+ if (forceRemove) {
337
+ RadioButtonGroup.removeFromGroup(this, oldGroup);
338
+ }
339
+
332
340
  if (currentGroup !== oldGroup) {
333
341
  if (oldGroup) {
334
342
  // remove the control from the previous group
package/dist/Tab.js CHANGED
@@ -337,6 +337,10 @@ class Tab extends UI5Element {
337
337
  labels.push(`${this._id}-icon`);
338
338
  }
339
339
 
340
+ if (this._designDescription) {
341
+ labels.push(`${this._id}-designDescription`);
342
+ }
343
+
340
344
  return labels.join(" ");
341
345
  }
342
346
 
@@ -395,6 +399,14 @@ class Tab extends UI5Element {
395
399
  }
396
400
  }
397
401
 
402
+ get _designDescription() {
403
+ if (this.design === SemanticColor.Default) {
404
+ return null;
405
+ }
406
+
407
+ return this.design;
408
+ }
409
+
398
410
  get semanticIconClasses() {
399
411
  const classes = ["ui5-tab-semantic-icon"];
400
412
 
@@ -378,17 +378,20 @@ class TabContainer extends UI5Element {
378
378
  }
379
379
 
380
380
  onBeforeRendering() {
381
- // update selected tab
382
381
  this._allItemsAndSubItems = this._getAllSubItems(this.items);
383
- if (this._allItemsAndSubItems.length) {
384
- const selectedTabs = this._allItemsAndSubItems.filter(tab => tab.selected);
385
- if (selectedTabs.length) {
386
- this._selectedTab = selectedTabs[0];
387
- } else {
388
- this._selectedTab = this._allItemsAndSubItems[0];
389
- this._selectedTab._selected = true;
390
- }
382
+ if (!this._allItemsAndSubItems.length) {
383
+ return;
384
+ }
385
+
386
+ // update selected tab
387
+ const selectedTabs = this._allItemsAndSubItems.filter(tab => tab.selected);
388
+ if (selectedTabs.length) {
389
+ this._selectedTab = selectedTabs[0];
390
+ } else {
391
+ this._selectedTab = this._allItemsAndSubItems[0];
392
+ this._selectedTab._selected = true;
391
393
  }
394
+
392
395
  this._setItemsPrivateProperties(this.items);
393
396
 
394
397
  if (!this._animationRunning) {
@@ -401,6 +404,10 @@ class TabContainer extends UI5Element {
401
404
  }
402
405
 
403
406
  onAfterRendering() {
407
+ if (!this.items.length) {
408
+ return;
409
+ }
410
+
404
411
  this._setItemsForStrip();
405
412
 
406
413
  if (!this.shadowRoot.contains(document.activeElement)) {
@@ -619,6 +626,7 @@ class TabContainer extends UI5Element {
619
626
  * Calling <code>allItems</code> on this TabContainer will return the instances in the following order:
620
627
  * <code>[ ui5-tab#First, ui5-tab#Nested, ui5-tab#Second, ui5-tab-separator#sep, ui5-tab#Third ]</code>
621
628
  * @public
629
+ * @readonly
622
630
  *
623
631
  * @returns {sap.ui.webcomponents.main.ITab[]}
624
632
  */
@@ -1137,6 +1145,11 @@ class TabContainer extends UI5Element {
1137
1145
  return staticAreaItem.querySelector(`#${this._id}-overflowMenu`);
1138
1146
  }
1139
1147
 
1148
+ async _closeRespPopover() {
1149
+ this.responsivePopover = await this._respPopover();
1150
+ this.responsivePopover.close();
1151
+ }
1152
+
1140
1153
  get classes() {
1141
1154
  return {
1142
1155
  root: {
package/dist/Table.js CHANGED
@@ -35,7 +35,7 @@ import CheckBox from "./CheckBox.js"; // Ensure the dependency as it is being us
35
35
  import {
36
36
  LOAD_MORE_TEXT,
37
37
  ARIA_LABEL_SELECT_ALL_CHECKBOX,
38
- TABLE_HEADER_ROW_TEXT,
38
+ TABLE_HEADER_ROW_INFORMATION,
39
39
  TABLE_ROW_POSITION,
40
40
  } from "./generated/i18n/i18n-defaults.js";
41
41
 
@@ -516,7 +516,7 @@ class Table extends UI5Element {
516
516
  onBeforeRendering() {
517
517
  const columnSettings = this.getColumnPropagationSettings();
518
518
  const columnSettingsString = JSON.stringify(columnSettings);
519
- const rowsCount = this.rows.length;
519
+ const rowsCount = this.rows.length + 1;
520
520
  const selectedRows = this.selectedRows;
521
521
 
522
522
  this.rows.forEach((row, index) => {
@@ -525,7 +525,7 @@ class Table extends UI5Element {
525
525
  row._columnsInfoString = JSON.stringify(row._columnsInfo);
526
526
  }
527
527
 
528
- row._ariaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 1, rowsCount);
528
+ row._ariaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 2, rowsCount);
529
529
  row._busy = this.busy;
530
530
  row.removeEventListener("ui5-_focused", this.fnOnRowFocused);
531
531
  row.addEventListener("ui5-_focused", this.fnOnRowFocused);
@@ -1131,7 +1131,8 @@ class Table extends UI5Element {
1131
1131
  }
1132
1132
 
1133
1133
  get ariaLabelText() {
1134
- const headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_TEXT);
1134
+ const rowsCount = this.rows.length + 1;
1135
+ const headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_INFORMATION, rowsCount);
1135
1136
  const columnsTitle = this.columns.map(column => {
1136
1137
  return column.textContent.trim();
1137
1138
  }).join(" ");
package/dist/TextArea.js CHANGED
@@ -19,9 +19,14 @@ import TextAreaTemplate from "./generated/templates/TextAreaTemplate.lit.js";
19
19
  import TextAreaPopoverTemplate from "./generated/templates/TextAreaPopoverTemplate.lit.js";
20
20
 
21
21
  import {
22
+ VALUE_STATE_SUCCESS,
22
23
  VALUE_STATE_INFORMATION,
23
24
  VALUE_STATE_ERROR,
24
25
  VALUE_STATE_WARNING,
26
+ VALUE_STATE_TYPE_SUCCESS,
27
+ VALUE_STATE_TYPE_INFORMATION,
28
+ VALUE_STATE_TYPE_ERROR,
29
+ VALUE_STATE_TYPE_WARNING,
25
30
  TEXTAREA_CHARACTERS_LEFT,
26
31
  TEXTAREA_CHARACTERS_EXCEEDED,
27
32
  } from "./generated/i18n/i18n-defaults.js";
@@ -619,10 +624,14 @@ class TextArea extends UI5Element {
619
624
  }
620
625
 
621
626
  if (this.hasCustomValueState) {
622
- return this.valueStateMessageText.map(el => el.textContent).join(" ");
627
+ return `${this.valueStateTypeMappings[this.valueState]}`.concat(" ", this.valueStateMessageText.map(el => el.textContent).join(" "));
623
628
  }
624
629
 
625
- return this.valueStateText;
630
+ return `${this.valueStateTypeMappings[this.valueState]} ${this.valueStateDefaultText}`;
631
+ }
632
+
633
+ get valueStateDefaultText() {
634
+ return this.valueStateTextMappings[this.valueState];
626
635
  }
627
636
 
628
637
  get ariaInvalid() {
@@ -649,14 +658,6 @@ class TextArea extends UI5Element {
649
658
  return this.valueStateMessage.map(x => x.cloneNode(true));
650
659
  }
651
660
 
652
- get valueStateText() {
653
- if (this.valueState !== ValueState.Error) {
654
- return this.valueStateTextMappings()[ValueState.Warning];
655
- }
656
-
657
- return this.valueStateTextMappings()[this.valueState];
658
- }
659
-
660
661
  get _valueStatePopoverHorizontalAlign() {
661
662
  return this.effectiveDir !== "rtl" ? "Left" : "Right";
662
663
  }
@@ -675,14 +676,24 @@ class TextArea extends UI5Element {
675
676
  return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
676
677
  }
677
678
 
678
- valueStateTextMappings() {
679
+ get valueStateTextMappings() {
679
680
  return {
681
+ "Success": TextArea.i18nBundle.getText(VALUE_STATE_SUCCESS),
680
682
  "Information": TextArea.i18nBundle.getText(VALUE_STATE_INFORMATION),
681
683
  "Error": TextArea.i18nBundle.getText(VALUE_STATE_ERROR),
682
684
  "Warning": TextArea.i18nBundle.getText(VALUE_STATE_WARNING),
683
685
  };
684
686
  }
685
687
 
688
+ get valueStateTypeMappings() {
689
+ return {
690
+ "Success": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
691
+ "Information": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),
692
+ "Error": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
693
+ "Warning": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
694
+ };
695
+ }
696
+
686
697
  static get dependencies() {
687
698
  return [Popover, Icon];
688
699
  }