@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
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=Ročica drsnika
169
169
 
170
170
  LOAD_MORE_TEXT=Več
171
171
 
172
- TABLE_HEADER_ROW_TEXT=Vrstica glave
172
+ TABLE_HEADER_ROW_INFORMATION=Vrstica glave 1 od {0}
173
173
 
174
174
  TABLE_ROW_POSITION={0} od {1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=Minute
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=Sekunde
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=AM/PM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=V redu
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=Prekliči
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=Skjutreglagehandtag
169
169
 
170
170
  LOAD_MORE_TEXT=Mer
171
171
 
172
- TABLE_HEADER_ROW_TEXT=Huvud
172
+ TABLE_HEADER_ROW_INFORMATION=Huvudrad 1 av {0}
173
173
 
174
174
  TABLE_ROW_POSITION={0} av {1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=Minuter
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=Sekunder
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=FM/EM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=OK
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=Avbryt
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=ตัวจัดการแถบเลื่อน
169
169
 
170
170
  LOAD_MORE_TEXT=เพิ่มเติม
171
171
 
172
- TABLE_HEADER_ROW_TEXT=แถวส่วนหัว
172
+ TABLE_HEADER_ROW_INFORMATION=แถวส่วนหัว 1 จาก {0}
173
173
 
174
174
  TABLE_ROW_POSITION={0} จาก {1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=นาที
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=วินาที
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=AM/PM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=ตกลง
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=ยกเลิก
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=Kaydırıcı tutamacı
169
169
 
170
170
  LOAD_MORE_TEXT=Daha fazla
171
171
 
172
- TABLE_HEADER_ROW_TEXT=Başlık
172
+ TABLE_HEADER_ROW_INFORMATION={0} başlık satırı 1
173
173
 
174
174
  TABLE_ROW_POSITION={0}/{1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=Dakika
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=Saniye
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=AM/PM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=Tamam
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=İptal et
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=Маркер повзунка
169
169
 
170
170
  LOAD_MORE_TEXT=Більше
171
171
 
172
- TABLE_HEADER_ROW_TEXT=Рядок заголовка
172
+ TABLE_HEADER_ROW_INFORMATION=Рядок заголовка 1 з {0}
173
173
 
174
174
  TABLE_ROW_POSITION={0} з {1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=Хвилини
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=Секунди
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=AM/PM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=OK
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=Скасувати
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=Điều khiển thanh trượt
169
169
 
170
170
  LOAD_MORE_TEXT=Thêm
171
171
 
172
- TABLE_HEADER_ROW_TEXT=Hàng tiêu đề
172
+ TABLE_HEADER_ROW_INFORMATION=Hàng tiêu đề 1 trong {0}
173
173
 
174
174
  TABLE_ROW_POSITION={0} của {1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=Phút
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=Giây
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=AM/PM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=OK
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=Hủy
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=滑块手柄
169
169
 
170
170
  LOAD_MORE_TEXT=更多
171
171
 
172
- TABLE_HEADER_ROW_TEXT=抬头行
172
+ TABLE_HEADER_ROW_INFORMATION=抬头行 1 / {0}
173
173
 
174
174
  TABLE_ROW_POSITION={0} / {1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=分钟
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=秒
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=AM/PM
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=确定
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=取消
@@ -169,7 +169,7 @@ SLIDER_ARIA_DESCRIPTION=滑桿控點
169
169
 
170
170
  LOAD_MORE_TEXT=較多
171
171
 
172
- TABLE_HEADER_ROW_TEXT=表頭列
172
+ TABLE_HEADER_ROW_INFORMATION=表頭列 1/{0}
173
173
 
174
174
  TABLE_ROW_POSITION={0}/{1}
175
175
 
@@ -199,8 +199,6 @@ TIMEPICKER_MINUTES_LABEL=分
199
199
 
200
200
  TIMEPICKER_SECONDS_LABEL=秒
201
201
 
202
- TIMEPICKER_PERIODS_LABEL=早上/下午
203
-
204
202
  TIMEPICKER_SUBMIT_BUTTON=成功
205
203
 
206
204
  TIMEPICKER_CANCEL_BUTTON=取消
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "UI5 Web Components: webcomponents.main",
5
5
  "ui5": {
6
6
  "webComponentsPackage": true
@@ -41,13 +41,13 @@
41
41
  "directory": "packages/main"
42
42
  },
43
43
  "dependencies": {
44
- "@ui5/webcomponents-base": "1.7.0",
45
- "@ui5/webcomponents-icons": "1.7.0",
46
- "@ui5/webcomponents-localization": "1.7.0",
47
- "@ui5/webcomponents-theming": "1.7.0"
44
+ "@ui5/webcomponents-base": "1.8.0",
45
+ "@ui5/webcomponents-icons": "1.8.0",
46
+ "@ui5/webcomponents-localization": "1.8.0",
47
+ "@ui5/webcomponents-theming": "1.8.0"
48
48
  },
49
49
  "devDependencies": {
50
- "@ui5/webcomponents-tools": "1.7.0",
51
- "chromedriver": "104.0.0"
50
+ "@ui5/webcomponents-tools": "1.8.0",
51
+ "chromedriver": "105.0.1"
52
52
  }
53
53
  }
package/src/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/src/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/src/Icon.hbs CHANGED
@@ -2,7 +2,7 @@
2
2
  class="ui5-icon-root"
3
3
  tabindex="{{tabIndex}}"
4
4
  dir="{{_dir}}"
5
- viewBox="0 0 512 512"
5
+ viewBox="{{viewBox}}"
6
6
  role="{{effectiveAccessibleRole}}"
7
7
  focusable="false"
8
8
  preserveAspectRatio="xMidYMid meet"
@@ -20,6 +20,10 @@
20
20
  {{/if}}
21
21
 
22
22
  <g role="presentation">
23
+ {{#if customSvg}}
24
+ {{customSvg}}
25
+ {{/if}}
26
+
23
27
  {{#each pathData}}
24
28
  <path d="{{this}}"></path>
25
29
  {{/each}}
package/src/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/src/Input.hbs CHANGED
@@ -14,7 +14,7 @@
14
14
  ?inner-input-with-icon="{{icon.length}}"
15
15
  ?disabled="{{disabled}}"
16
16
  ?readonly="{{_readonly}}"
17
- .value="{{value}}"
17
+ .value="{{_innerValue}}"
18
18
  placeholder="{{_placeholder}}"
19
19
  maxlength="{{maxlength}}"
20
20
  role="{{accInfo.input.role}}"
package/src/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/src/Menu.hbs CHANGED
@@ -56,9 +56,10 @@
56
56
  .associatedItem="{{this.item}}"
57
57
  class="ui5-menu-item"
58
58
  id="{{../_id}}-menu-item-{{@index}}"
59
- icon="{{this.item.icon}}"
59
+ .icon="{{this.item.icon}}"
60
60
  accessible-name={{this.item.ariaLabelledByText}}
61
61
  accessible-role="menuitem"
62
+ .additionalText="{{this.item._additionalText}}"
62
63
  ._ariaHasPopup={{this.ariaHasPopup}}
63
64
  ?disabled={{this.item.disabled}}
64
65
  ?starts-section={{this.item.startsSection}}
package/src/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
  }
@@ -53,6 +53,7 @@
53
53
  aria-describedby="{{ariaDescribedByText}}"
54
54
  aria-required="{{required}}"
55
55
  aria-label="{{ariaLabelText}}"
56
+ data-sap-focus-ref
56
57
  />
57
58
 
58
59
  {{#if icon}}
@@ -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();
package/src/MultiInput.js CHANGED
@@ -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/src/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