@ui5/webcomponents 1.7.1 → 1.9.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 (555) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/Avatar.js +40 -9
  3. package/dist/AvatarGroup.js +5 -5
  4. package/dist/Breadcrumbs.js +4 -4
  5. package/dist/BusyIndicator.js +3 -3
  6. package/dist/Button.js +2 -2
  7. package/dist/Calendar.js +2 -2
  8. package/dist/CalendarHeader.js +4 -4
  9. package/dist/CalendarPart.js +2 -2
  10. package/dist/CardHeader.js +1 -1
  11. package/dist/Carousel.js +6 -6
  12. package/dist/CheckBox.js +4 -2
  13. package/dist/ColorPalette.js +4 -4
  14. package/dist/ColorPaletteItem.js +1 -1
  15. package/dist/ColorPalettePopover.js +2 -2
  16. package/dist/ColorPicker.js +2 -2
  17. package/dist/ComboBox.js +6 -5
  18. package/dist/ComboBoxGroupItem.js +1 -1
  19. package/dist/ComboBoxItem.js +1 -1
  20. package/dist/CustomListItem.js +1 -1
  21. package/dist/DateComponentBase.js +2 -2
  22. package/dist/DatePicker.js +5 -3
  23. package/dist/DateRangePicker.js +5 -5
  24. package/dist/DateTimePicker.js +1 -1
  25. package/dist/DayPicker.js +4 -4
  26. package/dist/Dialog.js +18 -2
  27. package/dist/DurationPicker.js +3 -3
  28. package/dist/FileUploader.js +5 -3
  29. package/dist/GroupHeaderListItem.js +1 -1
  30. package/dist/Icon.js +8 -1
  31. package/dist/Input.js +81 -65
  32. package/dist/Label.js +4 -2
  33. package/dist/Link.js +12 -7
  34. package/dist/List.js +5 -5
  35. package/dist/ListItem.js +24 -2
  36. package/dist/ListItemBase.js +1 -1
  37. package/dist/Menu.js +1 -1
  38. package/dist/MenuItem.js +18 -2
  39. package/dist/MessageStrip.js +2 -2
  40. package/dist/MonthPicker.js +2 -2
  41. package/dist/MultiComboBox.js +5 -3
  42. package/dist/MultiComboBoxGroupItem.js +1 -1
  43. package/dist/MultiComboBoxItem.js +1 -1
  44. package/dist/MultiInput.js +7 -1
  45. package/dist/Panel.js +2 -2
  46. package/dist/Popover.js +5 -5
  47. package/dist/ProgressIndicator.js +3 -3
  48. package/dist/RadioButton.js +28 -9
  49. package/dist/RangeSlider.js +7 -3
  50. package/dist/RatingIndicator.js +3 -3
  51. package/dist/ResponsivePopover.js +1 -1
  52. package/dist/SegmentedButton.js +1 -1
  53. package/dist/SegmentedButtonItem.js +2 -2
  54. package/dist/Select.js +3 -3
  55. package/dist/Slider.js +4 -2
  56. package/dist/SliderBase.js +4 -4
  57. package/dist/SplitButton.js +3 -3
  58. package/dist/StandardListItem.js +3 -3
  59. package/dist/StepInput.js +7 -7
  60. package/dist/SuggestionGroupItem.js +1 -1
  61. package/dist/SuggestionItem.js +3 -3
  62. package/dist/SuggestionListItem.js +1 -1
  63. package/dist/Switch.js +16 -1
  64. package/dist/Tab.js +33 -2
  65. package/dist/TabContainer.js +9 -3
  66. package/dist/TabSeparator.js +1 -1
  67. package/dist/Table.js +8 -7
  68. package/dist/TableColumn.js +1 -1
  69. package/dist/TableGroupRow.js +1 -1
  70. package/dist/TableRow.js +33 -5
  71. package/dist/TextArea.js +26 -15
  72. package/dist/TimePicker.js +2 -2
  73. package/dist/TimePickerBase.js +4 -2
  74. package/dist/TimeSelection.js +1 -1
  75. package/dist/Title.js +2 -2
  76. package/dist/Toast.js +3 -3
  77. package/dist/ToggleButton.js +1 -1
  78. package/dist/Tokenizer.js +32 -12
  79. package/dist/Tree.js +32 -2
  80. package/dist/TreeItem.js +14 -2
  81. package/dist/TreeListItem.js +20 -4
  82. package/dist/WheelSlider.js +1 -1
  83. package/dist/YearPicker.js +2 -2
  84. package/dist/api.json +1 -1
  85. package/dist/assets/messagebundle_ar.dec7510d.js +1 -0
  86. package/dist/assets/messagebundle_bg.39183011.js +1 -0
  87. package/dist/assets/messagebundle_ca.0d94d392.js +1 -0
  88. package/dist/assets/messagebundle_cs.fd5eaccc.js +1 -0
  89. package/dist/assets/messagebundle_cy.ff1e6c97.js +1 -0
  90. package/dist/assets/messagebundle_da.5ff8a1f1.js +1 -0
  91. package/dist/assets/messagebundle_de.bff2fc47.js +1 -0
  92. package/dist/assets/{messagebundle_el.54337d1a.js → messagebundle_el.d41a6312.js} +1 -1
  93. package/dist/assets/messagebundle_en.fdb7abce.js +1 -0
  94. package/dist/assets/messagebundle_en_GB.4a95abfb.js +1 -0
  95. package/dist/assets/messagebundle_en_US_sappsd.86cc73b7.js +1 -0
  96. package/dist/assets/messagebundle_en_US_saprigi.a7b06ef5.js +1 -0
  97. package/dist/assets/messagebundle_en_US_saptrc.71435964.js +1 -0
  98. package/dist/assets/messagebundle_es.04498029.js +1 -0
  99. package/dist/assets/messagebundle_es_MX.a39214a3.js +1 -0
  100. package/dist/assets/messagebundle_et.d2e7cd16.js +1 -0
  101. package/dist/assets/messagebundle_fi.1aa86ded.js +1 -0
  102. package/dist/assets/messagebundle_fr.d651062e.js +1 -0
  103. package/dist/assets/messagebundle_fr_CA.5a066480.js +1 -0
  104. package/dist/assets/messagebundle_hi.b968aad6.js +1 -0
  105. package/dist/assets/messagebundle_hr.51d15b46.js +1 -0
  106. package/dist/assets/messagebundle_hu.f66f6bd4.js +1 -0
  107. package/dist/assets/messagebundle_it.fc18db7c.js +1 -0
  108. package/dist/assets/messagebundle_iw.61cc9591.js +1 -0
  109. package/dist/assets/messagebundle_ja.9d222bf0.js +1 -0
  110. package/dist/assets/messagebundle_kk.24effffd.js +1 -0
  111. package/dist/assets/messagebundle_ko.c1f9bbe4.js +1 -0
  112. package/dist/assets/messagebundle_lt.68cc1270.js +1 -0
  113. package/dist/assets/messagebundle_lv.45ee5e9b.js +1 -0
  114. package/dist/assets/messagebundle_ms.5c238d83.js +1 -0
  115. package/dist/assets/messagebundle_nl.42d4c6f9.js +1 -0
  116. package/dist/assets/messagebundle_no.040efcc2.js +1 -0
  117. package/dist/assets/messagebundle_pl.180e5190.js +1 -0
  118. package/dist/assets/messagebundle_pt.8c0b8aa8.js +1 -0
  119. package/dist/assets/messagebundle_pt_PT.08badb3a.js +1 -0
  120. package/dist/assets/messagebundle_ro.dc736139.js +1 -0
  121. package/dist/assets/messagebundle_ru.e7ffdb7d.js +1 -0
  122. package/dist/assets/messagebundle_sh.06513aad.js +1 -0
  123. package/dist/assets/messagebundle_sk.f8c93117.js +1 -0
  124. package/dist/assets/messagebundle_sl.e321cf3f.js +1 -0
  125. package/dist/assets/messagebundle_sv.7c70049d.js +1 -0
  126. package/dist/assets/messagebundle_th.4f145df6.js +1 -0
  127. package/dist/assets/messagebundle_tr.b1de509f.js +1 -0
  128. package/dist/assets/messagebundle_uk.fc20aaae.js +1 -0
  129. package/dist/assets/messagebundle_vi.39c09ada.js +1 -0
  130. package/dist/assets/messagebundle_zh_CN.cb6c2fc4.js +1 -0
  131. package/dist/assets/messagebundle_zh_TW.38b9d6a7.js +1 -0
  132. package/dist/assets/parameters-bundle.css.04aa71c9.js +1 -0
  133. package/dist/assets/parameters-bundle.css.0e0c347c.js +1 -0
  134. package/dist/assets/parameters-bundle.css.19703c05.js +1 -0
  135. package/dist/assets/parameters-bundle.css.39c4c6e3.js +1 -0
  136. package/dist/assets/parameters-bundle.css.5abf669c.js +1 -0
  137. package/dist/assets/parameters-bundle.css.a0a54b12.js +1 -0
  138. package/dist/assets/parameters-bundle.css.a9e84ff6.js +1 -0
  139. package/dist/assets/parameters-bundle.css.b0b8ad26.js +1 -0
  140. package/dist/assets/parameters-bundle.css.b6916ba6.js +1 -0
  141. package/dist/assets/parameters-bundle.css.b9f623cd.js +1 -0
  142. package/dist/assets/parameters-bundle.css.ec7f0d6e.js +1 -0
  143. package/dist/assets/parameters-bundle.css.f280686f.js +1 -0
  144. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  145. package/dist/css/themes/Dialog.css +1 -1
  146. package/dist/css/themes/Icon.css +1 -1
  147. package/dist/css/themes/ListItem.css +1 -1
  148. package/dist/css/themes/Menu.css +1 -1
  149. package/dist/css/themes/Panel.css +1 -1
  150. package/dist/css/themes/StepInput.css +1 -1
  151. package/dist/css/themes/TabInOverflow.css +1 -1
  152. package/dist/css/themes/TabInStrip.css +1 -1
  153. package/dist/css/themes/Table.css +1 -1
  154. package/dist/css/themes/TableColumn.css +1 -1
  155. package/dist/css/themes/TableRow.css +1 -1
  156. package/dist/css/themes/TimePicker.css +1 -1
  157. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  161. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  162. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  163. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  164. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  165. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  166. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  167. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  168. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  169. package/dist/features/InputElementsFormSupport.js +1 -0
  170. package/dist/features/InputSuggestions.js +4 -6
  171. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  218. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  219. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  220. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  221. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  222. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  223. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  224. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  225. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  226. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  227. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  228. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  229. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  230. package/dist/generated/i18n/i18n-defaults.js +2 -2
  231. package/dist/generated/js-imports/Illustrations.js +103 -0
  232. package/dist/generated/templates/CustomListItemTemplate.lit.js +11 -7
  233. package/dist/generated/templates/IconTemplate.lit.js +4 -3
  234. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  235. package/dist/generated/templates/LabelTemplate.lit.js +1 -1
  236. package/dist/generated/templates/ListItemTemplate.lit.js +11 -7
  237. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  238. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  239. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  240. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  241. package/dist/generated/templates/StandardListItemTemplate.lit.js +19 -15
  242. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +22 -18
  243. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  244. package/dist/generated/templates/TabInOverflowTemplate.lit.js +3 -2
  245. package/dist/generated/templates/TabInStripTemplate.lit.js +9 -8
  246. package/dist/generated/templates/TableGroupRowTemplate.lit.js +1 -1
  247. package/dist/generated/templates/TableRowTemplate.lit.js +2 -2
  248. package/dist/generated/templates/TableTemplate.lit.js +2 -2
  249. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  250. package/dist/generated/templates/TreeListItemTemplate.lit.js +15 -11
  251. package/dist/generated/templates/TreeTemplate.lit.js +2 -2
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  253. package/dist/generated/themes/Dialog.css.js +1 -1
  254. package/dist/generated/themes/Icon.css.js +1 -1
  255. package/dist/generated/themes/ListItem.css.js +1 -1
  256. package/dist/generated/themes/Menu.css.js +1 -1
  257. package/dist/generated/themes/Panel.css.js +1 -1
  258. package/dist/generated/themes/StepInput.css.js +1 -1
  259. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  260. package/dist/generated/themes/TabInStrip.css.js +1 -1
  261. package/dist/generated/themes/Table.css.js +1 -1
  262. package/dist/generated/themes/TableColumn.css.js +1 -1
  263. package/dist/generated/themes/TableRow.css.js +1 -1
  264. package/dist/generated/themes/TimePicker.css.js +1 -1
  265. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  266. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  267. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  268. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  269. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  270. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  271. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  272. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  273. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  274. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  275. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  276. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  277. package/dist/i18n/messagebundle.properties +14 -2
  278. package/dist/i18n/messagebundle_ar.properties +9 -3
  279. package/dist/i18n/messagebundle_bg.properties +11 -5
  280. package/dist/i18n/messagebundle_ca.properties +9 -3
  281. package/dist/i18n/messagebundle_cs.properties +9 -3
  282. package/dist/i18n/messagebundle_cy.properties +9 -3
  283. package/dist/i18n/messagebundle_da.properties +9 -3
  284. package/dist/i18n/messagebundle_de.properties +9 -3
  285. package/dist/i18n/messagebundle_el.properties +9 -3
  286. package/dist/i18n/messagebundle_en.properties +9 -3
  287. package/dist/i18n/messagebundle_en_GB.properties +9 -3
  288. package/dist/i18n/messagebundle_en_US_sappsd.properties +10 -4
  289. package/dist/i18n/messagebundle_en_US_saprigi.properties +10 -2
  290. package/dist/i18n/messagebundle_en_US_saptrc.properties +10 -4
  291. package/dist/i18n/messagebundle_es.properties +9 -3
  292. package/dist/i18n/messagebundle_es_MX.properties +9 -3
  293. package/dist/i18n/messagebundle_et.properties +9 -3
  294. package/dist/i18n/messagebundle_fi.properties +9 -3
  295. package/dist/i18n/messagebundle_fr.properties +9 -3
  296. package/dist/i18n/messagebundle_fr_CA.properties +10 -4
  297. package/dist/i18n/messagebundle_hi.properties +9 -3
  298. package/dist/i18n/messagebundle_hr.properties +9 -3
  299. package/dist/i18n/messagebundle_hu.properties +9 -3
  300. package/dist/i18n/messagebundle_id.properties +9 -3
  301. package/dist/i18n/messagebundle_it.properties +9 -3
  302. package/dist/i18n/messagebundle_iw.properties +9 -3
  303. package/dist/i18n/messagebundle_ja.properties +9 -3
  304. package/dist/i18n/messagebundle_kk.properties +9 -3
  305. package/dist/i18n/messagebundle_ko.properties +9 -3
  306. package/dist/i18n/messagebundle_lt.properties +9 -3
  307. package/dist/i18n/messagebundle_lv.properties +9 -3
  308. package/dist/i18n/messagebundle_ms.properties +9 -3
  309. package/dist/i18n/messagebundle_nl.properties +11 -5
  310. package/dist/i18n/messagebundle_no.properties +9 -3
  311. package/dist/i18n/messagebundle_pl.properties +9 -3
  312. package/dist/i18n/messagebundle_pt.properties +9 -3
  313. package/dist/i18n/messagebundle_pt_PT.properties +9 -3
  314. package/dist/i18n/messagebundle_ro.properties +9 -3
  315. package/dist/i18n/messagebundle_ru.properties +9 -3
  316. package/dist/i18n/messagebundle_sh.properties +9 -3
  317. package/dist/i18n/messagebundle_sk.properties +9 -3
  318. package/dist/i18n/messagebundle_sl.properties +9 -3
  319. package/dist/i18n/messagebundle_sv.properties +9 -3
  320. package/dist/i18n/messagebundle_th.properties +9 -3
  321. package/dist/i18n/messagebundle_tr.properties +9 -3
  322. package/dist/i18n/messagebundle_uk.properties +9 -3
  323. package/dist/i18n/messagebundle_vi.properties +9 -3
  324. package/dist/i18n/messagebundle_zh_CN.properties +11 -5
  325. package/dist/i18n/messagebundle_zh_TW.properties +9 -3
  326. package/package.json +8 -7
  327. package/src/Avatar.js +40 -9
  328. package/src/AvatarGroup.js +5 -5
  329. package/src/Breadcrumbs.js +4 -4
  330. package/src/BusyIndicator.js +3 -3
  331. package/src/Button.js +2 -2
  332. package/src/Calendar.js +2 -2
  333. package/src/CalendarHeader.js +4 -4
  334. package/src/CalendarPart.js +2 -2
  335. package/src/CardHeader.js +1 -1
  336. package/src/Carousel.js +6 -6
  337. package/src/CheckBox.js +4 -2
  338. package/src/ColorPalette.js +4 -4
  339. package/src/ColorPaletteItem.js +1 -1
  340. package/src/ColorPalettePopover.js +2 -2
  341. package/src/ColorPicker.js +2 -2
  342. package/src/ComboBox.js +6 -5
  343. package/src/ComboBoxGroupItem.js +1 -1
  344. package/src/ComboBoxItem.js +1 -1
  345. package/src/CustomListItem.js +1 -1
  346. package/src/DateComponentBase.js +2 -2
  347. package/src/DatePicker.js +5 -3
  348. package/src/DateRangePicker.js +5 -5
  349. package/src/DateTimePicker.js +1 -1
  350. package/src/DayPicker.js +4 -4
  351. package/src/Dialog.js +18 -2
  352. package/src/DurationPicker.js +3 -3
  353. package/src/FileUploader.js +5 -3
  354. package/src/GroupHeaderListItem.js +1 -1
  355. package/src/Icon.hbs +5 -1
  356. package/src/Icon.js +8 -1
  357. package/src/Input.hbs +1 -1
  358. package/src/Input.js +81 -65
  359. package/src/Label.hbs +0 -1
  360. package/src/Label.js +4 -2
  361. package/src/Link.js +12 -7
  362. package/src/List.js +5 -5
  363. package/src/ListItem.hbs +4 -0
  364. package/src/ListItem.js +24 -2
  365. package/src/ListItemBase.js +1 -1
  366. package/src/Menu.hbs +2 -1
  367. package/src/Menu.js +1 -1
  368. package/src/MenuItem.js +18 -2
  369. package/src/MessageStrip.js +2 -2
  370. package/src/MonthPicker.js +2 -2
  371. package/src/MultiComboBox.hbs +1 -0
  372. package/src/MultiComboBox.js +5 -3
  373. package/src/MultiComboBoxGroupItem.js +1 -1
  374. package/src/MultiComboBoxItem.js +1 -1
  375. package/src/MultiInput.js +7 -1
  376. package/src/Panel.js +2 -2
  377. package/src/Popover.js +5 -5
  378. package/src/ProgressIndicator.js +3 -3
  379. package/src/RadioButton.hbs +3 -3
  380. package/src/RadioButton.js +28 -9
  381. package/src/RangeSlider.js +7 -3
  382. package/src/RatingIndicator.js +3 -3
  383. package/src/ResponsivePopover.js +1 -1
  384. package/src/SegmentedButton.js +1 -1
  385. package/src/SegmentedButtonItem.js +2 -2
  386. package/src/Select.js +3 -3
  387. package/src/Slider.js +4 -2
  388. package/src/SliderBase.js +4 -4
  389. package/src/SplitButton.js +3 -3
  390. package/src/StandardListItem.js +3 -3
  391. package/src/StepInput.js +7 -7
  392. package/src/SuggestionGroupItem.js +1 -1
  393. package/src/SuggestionItem.js +3 -3
  394. package/src/SuggestionListItem.js +1 -1
  395. package/src/Switch.hbs +1 -0
  396. package/src/Switch.js +16 -1
  397. package/src/Tab.js +33 -2
  398. package/src/TabContainer.js +9 -3
  399. package/src/TabInOverflow.hbs +5 -3
  400. package/src/TabInStrip.hbs +7 -1
  401. package/src/TabSeparator.js +1 -1
  402. package/src/Table.hbs +2 -2
  403. package/src/Table.js +8 -7
  404. package/src/TableColumn.js +1 -1
  405. package/src/TableGroupRow.hbs +0 -1
  406. package/src/TableGroupRow.js +1 -1
  407. package/src/TableRow.hbs +16 -5
  408. package/src/TableRow.js +33 -5
  409. package/src/TextArea.js +26 -15
  410. package/src/TextAreaPopover.hbs +1 -1
  411. package/src/TimePicker.js +2 -2
  412. package/src/TimePickerBase.js +4 -2
  413. package/src/TimeSelection.js +1 -1
  414. package/src/Title.js +2 -2
  415. package/src/Toast.js +3 -3
  416. package/src/ToggleButton.js +1 -1
  417. package/src/Tokenizer.js +32 -12
  418. package/src/Tree.hbs +2 -0
  419. package/src/Tree.js +32 -2
  420. package/src/TreeItem.js +14 -2
  421. package/src/TreeListItem.js +20 -4
  422. package/src/WheelSlider.js +1 -1
  423. package/src/YearPicker.js +2 -2
  424. package/src/features/InputElementsFormSupport.js +1 -0
  425. package/src/features/InputSuggestions.js +4 -6
  426. package/src/i18n/messagebundle.properties +14 -2
  427. package/src/i18n/messagebundle_ar.properties +9 -3
  428. package/src/i18n/messagebundle_bg.properties +11 -5
  429. package/src/i18n/messagebundle_ca.properties +9 -3
  430. package/src/i18n/messagebundle_cs.properties +9 -3
  431. package/src/i18n/messagebundle_cy.properties +9 -3
  432. package/src/i18n/messagebundle_da.properties +9 -3
  433. package/src/i18n/messagebundle_de.properties +9 -3
  434. package/src/i18n/messagebundle_el.properties +9 -3
  435. package/src/i18n/messagebundle_en.properties +9 -3
  436. package/src/i18n/messagebundle_en_GB.properties +9 -3
  437. package/src/i18n/messagebundle_en_US_sappsd.properties +10 -4
  438. package/src/i18n/messagebundle_en_US_saprigi.properties +10 -2
  439. package/src/i18n/messagebundle_en_US_saptrc.properties +10 -4
  440. package/src/i18n/messagebundle_es.properties +9 -3
  441. package/src/i18n/messagebundle_es_MX.properties +9 -3
  442. package/src/i18n/messagebundle_et.properties +9 -3
  443. package/src/i18n/messagebundle_fi.properties +9 -3
  444. package/src/i18n/messagebundle_fr.properties +9 -3
  445. package/src/i18n/messagebundle_fr_CA.properties +10 -4
  446. package/src/i18n/messagebundle_hi.properties +9 -3
  447. package/src/i18n/messagebundle_hr.properties +9 -3
  448. package/src/i18n/messagebundle_hu.properties +9 -3
  449. package/src/i18n/messagebundle_id.properties +9 -3
  450. package/src/i18n/messagebundle_it.properties +9 -3
  451. package/src/i18n/messagebundle_iw.properties +9 -3
  452. package/src/i18n/messagebundle_ja.properties +9 -3
  453. package/src/i18n/messagebundle_kk.properties +9 -3
  454. package/src/i18n/messagebundle_ko.properties +9 -3
  455. package/src/i18n/messagebundle_lt.properties +9 -3
  456. package/src/i18n/messagebundle_lv.properties +9 -3
  457. package/src/i18n/messagebundle_ms.properties +9 -3
  458. package/src/i18n/messagebundle_nl.properties +11 -5
  459. package/src/i18n/messagebundle_no.properties +9 -3
  460. package/src/i18n/messagebundle_pl.properties +9 -3
  461. package/src/i18n/messagebundle_pt.properties +9 -3
  462. package/src/i18n/messagebundle_pt_PT.properties +9 -3
  463. package/src/i18n/messagebundle_ro.properties +9 -3
  464. package/src/i18n/messagebundle_ru.properties +9 -3
  465. package/src/i18n/messagebundle_sh.properties +9 -3
  466. package/src/i18n/messagebundle_sk.properties +9 -3
  467. package/src/i18n/messagebundle_sl.properties +9 -3
  468. package/src/i18n/messagebundle_sv.properties +9 -3
  469. package/src/i18n/messagebundle_th.properties +9 -3
  470. package/src/i18n/messagebundle_tr.properties +9 -3
  471. package/src/i18n/messagebundle_uk.properties +9 -3
  472. package/src/i18n/messagebundle_vi.properties +9 -3
  473. package/src/i18n/messagebundle_zh_CN.properties +11 -5
  474. package/src/i18n/messagebundle_zh_TW.properties +9 -3
  475. package/src/themes/BreadcrumbsPopover.css +1 -0
  476. package/src/themes/Dialog.css +4 -0
  477. package/src/themes/Icon.css +2 -0
  478. package/src/themes/ListItem.css +1 -1
  479. package/src/themes/Menu.css +25 -2
  480. package/src/themes/Panel.css +12 -4
  481. package/src/themes/StepInput.css +9 -0
  482. package/src/themes/TabInOverflow.css +1 -0
  483. package/src/themes/TabInStrip.css +2 -1
  484. package/src/themes/Table.css +10 -0
  485. package/src/themes/TableColumn.css +1 -1
  486. package/src/themes/TableRow.css +25 -4
  487. package/src/themes/TimePicker.css +12 -0
  488. package/src/themes/base/Menu-parameters.css +2 -0
  489. package/src/themes/base/Panel-parameters.css +1 -0
  490. package/src/themes/base/Table-parameters.css +1 -0
  491. package/src/themes/base/sizes-parameters.css +1 -0
  492. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  493. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  494. package/src/themes/sap_horizon/Panel-parameters.css +1 -0
  495. package/src/themes/sap_horizon/Table-parameters.css +0 -1
  496. package/src/themes/sap_horizon_dark/Panel-parameters.css +1 -0
  497. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -1
  498. package/dist/assets/messagebundle_ar.f3e988df.js +0 -1
  499. package/dist/assets/messagebundle_bg.a3f6fdd8.js +0 -1
  500. package/dist/assets/messagebundle_ca.5e72bf09.js +0 -1
  501. package/dist/assets/messagebundle_cs.5720e069.js +0 -1
  502. package/dist/assets/messagebundle_cy.51ed6118.js +0 -1
  503. package/dist/assets/messagebundle_da.d83f1df6.js +0 -1
  504. package/dist/assets/messagebundle_de.00b8fac3.js +0 -1
  505. package/dist/assets/messagebundle_en.46c4c8b4.js +0 -1
  506. package/dist/assets/messagebundle_en_GB.d9037cba.js +0 -1
  507. package/dist/assets/messagebundle_en_US_sappsd.2f342e46.js +0 -1
  508. package/dist/assets/messagebundle_en_US_saprigi.9e3ec6ce.js +0 -1
  509. package/dist/assets/messagebundle_en_US_saptrc.a358bbc3.js +0 -1
  510. package/dist/assets/messagebundle_es.6edd9aac.js +0 -1
  511. package/dist/assets/messagebundle_es_MX.b9a235b1.js +0 -1
  512. package/dist/assets/messagebundle_et.2f95fbc0.js +0 -1
  513. package/dist/assets/messagebundle_fi.e408238f.js +0 -1
  514. package/dist/assets/messagebundle_fr.023ec658.js +0 -1
  515. package/dist/assets/messagebundle_fr_CA.700b3003.js +0 -1
  516. package/dist/assets/messagebundle_hi.e54398ec.js +0 -1
  517. package/dist/assets/messagebundle_hr.87a5cf12.js +0 -1
  518. package/dist/assets/messagebundle_hu.11f04021.js +0 -1
  519. package/dist/assets/messagebundle_it.aa33f57d.js +0 -1
  520. package/dist/assets/messagebundle_iw.876a2de2.js +0 -1
  521. package/dist/assets/messagebundle_ja.8e38b3b9.js +0 -1
  522. package/dist/assets/messagebundle_kk.16201d64.js +0 -1
  523. package/dist/assets/messagebundle_ko.efd3d190.js +0 -1
  524. package/dist/assets/messagebundle_lt.8df3235f.js +0 -1
  525. package/dist/assets/messagebundle_lv.1485b0dd.js +0 -1
  526. package/dist/assets/messagebundle_ms.2801cf14.js +0 -1
  527. package/dist/assets/messagebundle_nl.fbaa57e5.js +0 -1
  528. package/dist/assets/messagebundle_no.aed62d2d.js +0 -1
  529. package/dist/assets/messagebundle_pl.ec09771e.js +0 -1
  530. package/dist/assets/messagebundle_pt.2ba5f988.js +0 -1
  531. package/dist/assets/messagebundle_pt_PT.f26a67f1.js +0 -1
  532. package/dist/assets/messagebundle_ro.71197951.js +0 -1
  533. package/dist/assets/messagebundle_ru.0bc1939f.js +0 -1
  534. package/dist/assets/messagebundle_sh.097c2c2b.js +0 -1
  535. package/dist/assets/messagebundle_sk.79a87686.js +0 -1
  536. package/dist/assets/messagebundle_sl.9d602bfb.js +0 -1
  537. package/dist/assets/messagebundle_sv.efb6e0ef.js +0 -1
  538. package/dist/assets/messagebundle_th.94c0d1ab.js +0 -1
  539. package/dist/assets/messagebundle_tr.b3a571be.js +0 -1
  540. package/dist/assets/messagebundle_uk.8d0551a9.js +0 -1
  541. package/dist/assets/messagebundle_vi.6819ccf0.js +0 -1
  542. package/dist/assets/messagebundle_zh_CN.0c604a5d.js +0 -1
  543. package/dist/assets/messagebundle_zh_TW.4659173f.js +0 -1
  544. package/dist/assets/parameters-bundle.css.18cb3350.js +0 -1
  545. package/dist/assets/parameters-bundle.css.2be7f26d.js +0 -1
  546. package/dist/assets/parameters-bundle.css.31a66508.js +0 -1
  547. package/dist/assets/parameters-bundle.css.33915181.js +0 -1
  548. package/dist/assets/parameters-bundle.css.41e95390.js +0 -1
  549. package/dist/assets/parameters-bundle.css.4343d807.js +0 -1
  550. package/dist/assets/parameters-bundle.css.4438b4b3.js +0 -1
  551. package/dist/assets/parameters-bundle.css.54a888ff.js +0 -1
  552. package/dist/assets/parameters-bundle.css.6d229ca8.js +0 -1
  553. package/dist/assets/parameters-bundle.css.7c26b98b.js +0 -1
  554. package/dist/assets/parameters-bundle.css.cad0773b.js +0 -1
  555. package/dist/assets/parameters-bundle.css.d532d151.js +0 -1
package/src/Input.js CHANGED
@@ -3,7 +3,6 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
4
  import {
5
5
  isPhone,
6
- isSafari,
7
6
  isAndroid,
8
7
  } from "@ui5/webcomponents-base/dist/Device.js";
9
8
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
@@ -24,7 +23,7 @@ import {
24
23
  } from "@ui5/webcomponents-base/dist/Keys.js";
25
24
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
26
25
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
27
- import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
26
+ import { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
28
27
  import { getCaretPosition, setCaretPosition } from "@ui5/webcomponents-base/dist/util/Caret.js";
29
28
  import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
30
29
  import "@ui5/webcomponents-icons/dist/decline.js";
@@ -63,8 +62,6 @@ import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverComm
63
62
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
64
63
  import SuggestionsCss from "./generated/themes/Suggestions.css.js";
65
64
 
66
- const rgxFloat = new RegExp(/(\+|-)?\d+(\.|,)\d+/);
67
-
68
65
  /**
69
66
  * @public
70
67
  */
@@ -246,7 +243,7 @@ const metadata = {
246
243
  * that use different soft keyboard layouts depending on the given input type.</li>
247
244
  * </ul>
248
245
  *
249
- * @type {InputType}
246
+ * @type {sap.ui.webcomponents.main.types.InputType}
250
247
  * @defaultvalue "Text"
251
248
  * @public
252
249
  */
@@ -262,12 +259,28 @@ const metadata = {
262
259
  *
263
260
  * @type {string}
264
261
  * @defaultvalue ""
262
+ * @formEvents change input
263
+ * @formProperty
265
264
  * @public
266
265
  */
267
266
  value: {
268
267
  type: String,
269
268
  },
270
269
 
270
+ /**
271
+ * Defines the inner stored value of the component.
272
+ * <br><br>
273
+ * <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)
274
+ *
275
+ * @type {string}
276
+ * @defaultvalue ""
277
+ * @private
278
+ */
279
+ _innerValue: {
280
+ type: String,
281
+ noAttribute: true,
282
+ },
283
+
271
284
  /**
272
285
  * Defines the value state of the component.
273
286
  * <br><br>
@@ -280,7 +293,7 @@ const metadata = {
280
293
  * <li><code>Information</code></li>
281
294
  * </ul>
282
295
  *
283
- * @type {ValueState}
296
+ * @type {sap.ui.webcomponents.base.types.ValueState}
284
297
  * @defaultvalue "None"
285
298
  * @public
286
299
  */
@@ -326,7 +339,7 @@ const metadata = {
326
339
  * Sets the maximum number of characters available in the input field.
327
340
  * <br><br>
328
341
  * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.
329
- * @type {Integer}
342
+ * @type {sap.ui.webcomponents.base.types.Integer}
330
343
  * @since 1.0.0-rc.5
331
344
  * @public
332
345
  */
@@ -618,9 +631,6 @@ class Input extends UI5Element {
618
631
  // The value that the user is typed in the input
619
632
  this.valueBeforeAutoComplete = "";
620
633
 
621
- // Indicates, if the user pressed the BACKSPACE key.
622
- this._backspaceKeyDown = false;
623
-
624
634
  // Indicates, if the user is typing. Gets reset once popup is closed
625
635
  this.isTyping = false;
626
636
 
@@ -637,6 +647,8 @@ class Input extends UI5Element {
637
647
  this.suggestionsTexts = [];
638
648
 
639
649
  this._handleResizeBound = this._handleResize.bind(this);
650
+
651
+ this._keepInnerValue = false;
640
652
  }
641
653
 
642
654
  onEnterDOM() {
@@ -648,6 +660,10 @@ class Input extends UI5Element {
648
660
  }
649
661
 
650
662
  onBeforeRendering() {
663
+ if (!this._keepInnerValue) {
664
+ this._innerValue = this.value;
665
+ }
666
+
651
667
  if (this.showSuggestions) {
652
668
  this.enableSuggestions();
653
669
  this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
@@ -755,7 +771,6 @@ class Input extends UI5Element {
755
771
  }
756
772
 
757
773
  if (isBackSpace(event)) {
758
- this._backspaceKeyDown = true;
759
774
  this._selectedText = window.getSelection().toString();
760
775
  }
761
776
 
@@ -775,7 +790,6 @@ class Input extends UI5Element {
775
790
  }
776
791
 
777
792
  this._keyDown = false;
778
- this._backspaceKeyDown = false;
779
793
  }
780
794
 
781
795
  /* Event handling */
@@ -916,6 +930,8 @@ class Input extends UI5Element {
916
930
  const focusedOutToSuggestions = this.Suggestions && event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.contains(this.Suggestions.responsivePopover);
917
931
  const focusedOutToValueStateMessage = event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.querySelector(".ui5-valuestatemessage-root");
918
932
 
933
+ this._keepInnerValue = false;
934
+
919
935
  if (this.showClearIcon && !this.effectiveShowClearIcon) {
920
936
  this._clearIconClicked = false;
921
937
  this._handleChange();
@@ -999,47 +1015,59 @@ class Input extends UI5Element {
999
1015
  const inputDomRef = this.getInputDOMRefSync();
1000
1016
  const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef.value;
1001
1017
  const eventType = event.inputType || (event.detail && event.detail.inputType);
1002
-
1003
- this._shouldAutocomplete = eventType !== "deleteContentBackward" && !this.noTypeahead;
1018
+ this._keepInnerValue = false;
1019
+
1020
+ const allowedEventTypes = [
1021
+ "deleteWordBackward",
1022
+ "deleteWordForward",
1023
+ "deleteSoftLineBackward",
1024
+ "deleteSoftLineForward",
1025
+ "deleteEntireSoftLine",
1026
+ "deleteHardLineBackward",
1027
+ "deleteHardLineForward",
1028
+ "deleteByDrag",
1029
+ "deleteByCut",
1030
+ "deleteContent",
1031
+ "deleteContentBackward",
1032
+ "deleteContentForward",
1033
+ "historyUndo",
1034
+ ];
1035
+
1036
+ this._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;
1004
1037
  this.suggestionSelectionCanceled = false;
1005
1038
 
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
- }
1039
+ // ---- Special cases of numeric Input ----
1040
+ // ---------------- Start -----------------
1041
+
1042
+ // When the last character after the delimiter is removed.
1043
+ // In such cases, we want to skip the re-rendering of the
1044
+ // component as this leads to cursor repositioning and causes user experience issues.
1045
+
1046
+ // There are few scenarios:
1047
+ // Example: type "123.4" and press BACKSPACE - the native input is firing event with the whole part as value (123).
1048
+ // Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).
1049
+ // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with the whole part as value (123).
1050
+ // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value.
1051
+ const delimiterCase = this.isTypeNumber
1052
+ && (event.inputType === "deleteContentForward" || event.inputType === "deleteContentBackward")
1053
+ && !event.target.value.includes(".")
1054
+ && this.value.includes(".");
1055
+
1056
+ // Handle special numeric notation with "e", example "12.5e12"
1057
+ const eNotationCase = emptyValueFiredOnNumberInput && event.data === "e";
1058
+
1059
+ // Handle special numeric notation with "-", example "-3"
1060
+ // When pressing BACKSPACE, the native input fires event with empty value
1061
+ const minusRemovalCase = emptyValueFiredOnNumberInput
1062
+ && this.value.startsWith("-")
1063
+ && this.value.length === 2
1064
+ && (event.inputType === "deleteContentForward" || event.inputType === "deleteContentBackward");
1065
+
1066
+ if (delimiterCase || eNotationCase || minusRemovalCase) {
1067
+ this.value = event.target.value;
1068
+ this._keepInnerValue = true;
1042
1069
  }
1070
+ // ----------------- End ------------------
1043
1071
 
1044
1072
  if (event.target === inputDomRef) {
1045
1073
  this.focused = true;
@@ -1086,6 +1114,7 @@ class Input extends UI5Element {
1086
1114
  const innerInput = this.getInputDOMRefSync();
1087
1115
 
1088
1116
  filterValue = filterValue || "";
1117
+ this._innerValue = value;
1089
1118
  this.value = value;
1090
1119
 
1091
1120
  innerInput.value = value;
@@ -1236,7 +1265,7 @@ class Input extends UI5Element {
1236
1265
 
1237
1266
  /**
1238
1267
  * The suggestion item on preview.
1239
- * @type { sap.ui.webcomponents.main.IInputSuggestionItem }
1268
+ * @type {sap.ui.webcomponents.main.IInputSuggestionItem}
1240
1269
  * @readonly
1241
1270
  * @public
1242
1271
  */
@@ -1249,8 +1278,6 @@ class Input extends UI5Element {
1249
1278
  }
1250
1279
 
1251
1280
  async fireEventByAction(action, event) {
1252
- await this.getInputDOMRef();
1253
-
1254
1281
  if (this.disabled || this.readonly) {
1255
1282
  return;
1256
1283
  }
@@ -1258,21 +1285,10 @@ class Input extends UI5Element {
1258
1285
  const inputValue = await this.getInputValue();
1259
1286
  const isUserInput = action === this.ACTION_USER_INPUT;
1260
1287
 
1261
- const input = await this.getInputDOMRef();
1262
- const cursorPosition = input.selectionStart;
1263
-
1264
1288
  this.value = inputValue;
1265
1289
  this.highlightValue = inputValue;
1266
1290
  this.valueBeforeItemPreview = inputValue;
1267
1291
 
1268
- if (isSafari()) {
1269
- // When setting the value by hand, Safari moves the cursor when typing in the middle of the text (See #1761)
1270
- setTimeout(() => {
1271
- input.selectionStart = cursorPosition;
1272
- input.selectionEnd = cursorPosition;
1273
- }, 0);
1274
- }
1275
-
1276
1292
  if (isUserInput) { // input
1277
1293
  this.fireEvent(this.EVENT_INPUT, { inputType: event.inputType });
1278
1294
  // Angular two way data binding
@@ -1454,7 +1470,7 @@ class Input extends UI5Element {
1454
1470
  "ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
1455
1471
  "ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
1456
1472
  "ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
1457
- "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this),
1473
+ "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this),
1458
1474
  },
1459
1475
  };
1460
1476
  }
package/src/Label.hbs CHANGED
@@ -1,7 +1,6 @@
1
1
  <label
2
2
  class="ui5-label-root"
3
3
  @click={{_onclick}}
4
- for="{{for}}"
5
4
  >
6
5
  <span class="{{classes.textWrapper}}">
7
6
  <bdi id="{{_id}}-bdi">
package/src/Label.js CHANGED
@@ -19,7 +19,9 @@ const metadata = {
19
19
  /**
20
20
  * Defines whether an asterisk character is added to the component text.
21
21
  * <br><br>
22
- * <b>Note:</b> Usually indicates that user input is required.
22
+ * <b>Note:</b> Usually indicates that user input (bound with the <code>for</code> property) is required.
23
+ * In that case the <code>required</> property of
24
+ * the corresponding input should also be set.
23
25
  *
24
26
  * @type {boolean}
25
27
  * @defaultvalue false
@@ -37,7 +39,7 @@ const metadata = {
37
39
  * <li><code>Normal</code> - The text will wrap. The words will not be broken based on hyphenation.</li>
38
40
  * </ul>
39
41
  *
40
- * @type {WrappingType}
42
+ * @type {sap.ui.webcomponents.main.types.WrappingType}
41
43
  * @defaultvalue "None"
42
44
  * @public
43
45
  */
package/src/Link.js CHANGED
@@ -76,7 +76,7 @@ const metadata = {
76
76
  * <br><br>
77
77
  * <b>Note:</b> Avaialble options are <code>Default</code>, <code>Subtle</code>, and <code>Emphasized</code>.
78
78
  *
79
- * @type {LinkDesign}
79
+ * @type {sap.ui.webcomponents.main.types.LinkDesign}
80
80
  * @defaultvalue "Default"
81
81
  * @public
82
82
  */
@@ -93,7 +93,7 @@ const metadata = {
93
93
  * <li><code>Normal</code> - The text will wrap. The words will not be broken based on hyphenation.</li>
94
94
  * </ul>
95
95
  *
96
- * @type {WrappingType}
96
+ * @type {sap.ui.webcomponents.main.types.WrappingType}
97
97
  * @defaultvalue "None"
98
98
  * @public
99
99
  */
@@ -128,12 +128,17 @@ const metadata = {
128
128
 
129
129
  /**
130
130
  * Defines the ARIA role of the component.
131
- * @defaultvalue ""
132
- * @private
133
- * @since 1.0.0-rc.15
131
+ *
132
+ * <b>Note:</b> Use the "button" role in cases when navigation is not expected to occur and the href property is not defined.
133
+ *
134
+ * @type {string}
135
+ * @defaultvalue "link"
136
+ * @public
137
+ * @since 1.9.0
134
138
  */
135
- accessibleRole: {
139
+ accessibleRole: {
136
140
  type: String,
141
+ defaultValue: "link",
137
142
  },
138
143
 
139
144
  /**
@@ -334,7 +339,7 @@ class Link extends UI5Element {
334
339
  }
335
340
 
336
341
  get effectiveAccRole() {
337
- return this.accessibleRole || "link";
342
+ return this.accessibleRole.toLowerCase();
338
343
  }
339
344
 
340
345
  static async onDefine() {
package/src/List.js CHANGED
@@ -120,7 +120,7 @@ const metadata = {
120
120
  * <b>Note:</b> Available options are <code>None</code>, <code>SingleSelect</code>, <code>SingleSelectBegin</code>,
121
121
  * <code>SingleSelectEnd</code>, <code>MultiSelect</code>, and <code>Delete</code>.
122
122
  *
123
- * @type {ListMode}
123
+ * @type {sap.ui.webcomponents.main.types.ListMode}
124
124
  * @defaultvalue "None"
125
125
  * @public
126
126
  */
@@ -151,7 +151,7 @@ const metadata = {
151
151
  * item doesn't have a bottom separator.</li>
152
152
  * </ul>
153
153
  *
154
- * @type {ListSeparators}
154
+ * @type {sap.ui.webcomponents.main.types.ListSeparators}
155
155
  * @defaultvalue "All"
156
156
  * @public
157
157
  */
@@ -177,7 +177,7 @@ const metadata = {
177
177
  *
178
178
  * <b>Restrictions:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
179
179
  * on IE the component will fallback to <code>growing="Button"</code>.
180
- * @type {ListGrowingMode}
180
+ * @type {sap.ui.webcomponents.main.types.ListGrowingMode}
181
181
  * @defaultvalue "None"
182
182
  * @since 1.0.0-rc.13
183
183
  * @public
@@ -202,7 +202,7 @@ const metadata = {
202
202
  /**
203
203
  * Defines the delay in milliseconds, after which the busy indicator will show up for this component.
204
204
  *
205
- * @type {Integer}
205
+ * @type {sap.ui.webcomponents.base.types.Integer}
206
206
  * @defaultValue 1000
207
207
  * @public
208
208
  */
@@ -424,7 +424,7 @@ const metadata = {
424
424
  * @constructor
425
425
  * @author SAP SE
426
426
  * @alias sap.ui.webcomponents.main.List
427
- * @extends UI5Element
427
+ * @extends sap.ui.webcomponents.base.UI5Element
428
428
  * @tagname ui5-list
429
429
  * @appenddocs StandardListItem CustomListItem GroupHeaderListItem
430
430
  * @public
package/src/ListItem.hbs CHANGED
@@ -87,6 +87,9 @@
87
87
 
88
88
  {{#if renderDeleteButton}}
89
89
  <div class="ui5-li-deletebtn">
90
+ {{#if hasDeleteButtonSlot}}
91
+ <slot name="deleteButton"></slot>
92
+ {{else}}
90
93
  <ui5-button
91
94
  tabindex="-1"
92
95
  data-sap-no-tab-ref
@@ -97,6 +100,7 @@
97
100
  @click="{{onDelete}}"
98
101
  tooltip="{{deleteText}}"
99
102
  ></ui5-button>
103
+ {{/if}}
100
104
  </div>
101
105
  {{/if}}
102
106
 
package/src/ListItem.js CHANGED
@@ -33,7 +33,7 @@ const metadata = {
33
33
  * <b>Note:</b> When set to <code>Active</code>, the item will provide visual response upon press and hover,
34
34
  * while with type <code>Inactive</code> and <code>Detail</code> - will not.
35
35
  *
36
- * @type {ListItemType}
36
+ * @type {sap.ui.webcomponents.main.types.ListItemType}
37
37
  * @defaultvalue "Active"
38
38
  * @public
39
39
  */
@@ -123,6 +123,23 @@ const metadata = {
123
123
  _focused: {},
124
124
  "_selection-requested": {},
125
125
  },
126
+ managedSlots: true,
127
+ slots: /** @lends sap.ui.webcomponents.main.ListItem.prototype */ {
128
+
129
+ /**
130
+ * Defines the delete button, displayed in "Delete" mode.
131
+ * <b>Note:</b> While the slot allows custom buttons, to match
132
+ * design guidelines, please use the <code>ui5-button</code> component.
133
+ * <b>Note:</b> When the slot is not present, a built-in delete button will be displayed.
134
+ * @type {sap.ui.webcomponents.main.IButton}
135
+ * @since 1.9.0
136
+ * @slot
137
+ * @public
138
+ */
139
+ deleteButton: {
140
+ type: HTMLElement,
141
+ },
142
+ },
126
143
  };
127
144
 
128
145
  /**
@@ -133,7 +150,7 @@ const metadata = {
133
150
  * @constructor
134
151
  * @author SAP SE
135
152
  * @alias sap.ui.webcomponents.main.ListItem
136
- * @extends ListItemBase
153
+ * @extends sap.ui.webcomponents.main.ListItemBase
137
154
  * @public
138
155
  */
139
156
  class ListItem extends ListItemBase {
@@ -295,6 +312,7 @@ class ListItem extends ListItemBase {
295
312
  return;
296
313
  }
297
314
 
315
+ event.preventDefault();
298
316
  this.fireEvent("_press", { item: this, selected: this.selected, key: event.key });
299
317
  }
300
318
 
@@ -376,6 +394,10 @@ class ListItem extends ListItemBase {
376
394
  return ListItem.i18nBundle.getText(DELETE);
377
395
  }
378
396
 
397
+ get hasDeleteButtonSlot() {
398
+ return !!this.deleteButton.length;
399
+ }
400
+
379
401
  get _accessibleNameRef() {
380
402
  if (this.accessibleName) {
381
403
  // accessibleName is set - return labels excluding content
@@ -72,7 +72,7 @@ const metadata = {
72
72
  * @constructor
73
73
  * @author SAP SE
74
74
  * @alias sap.ui.webcomponents.main.ListItemBase
75
- * @extends UI5Element
75
+ * @extends sap.ui.webcomponents.base.UI5Element
76
76
  * @public
77
77
  */
78
78
  class ListItemBase extends UI5Element {
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/Menu.js CHANGED
@@ -185,7 +185,7 @@ const metadata = {
185
185
  * @constructor
186
186
  * @author SAP SE
187
187
  * @alias sap.ui.webcomponents.main.Menu
188
- * @extends UI5Element
188
+ * @extends sap.ui.webcomponents.base.UI5Element
189
189
  * @tagname ui5-menu
190
190
  * @appenddocs MenuItem
191
191
  * @since 1.3.0
package/src/MenuItem.js CHANGED
@@ -9,7 +9,7 @@ const metadata = {
9
9
  /**
10
10
  * Defines the text of the tree item.
11
11
  *
12
- * @type {String}
12
+ * @type {string}
13
13
  * @defaultValue ""
14
14
  * @public
15
15
  */
@@ -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.
@@ -144,7 +156,7 @@ const metadata = {
144
156
  * @constructor
145
157
  * @author SAP SE
146
158
  * @alias sap.ui.webcomponents.main.MenuItem
147
- * @extends UI5Element
159
+ * @extends sap.ui.webcomponents.base.UI5Element
148
160
  * @tagname ui5-menu-item
149
161
  * @implements sap.ui.webcomponents.main.IMenuItem
150
162
  * @since 1.3.0
@@ -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
  }
@@ -38,7 +38,7 @@ const metadata = {
38
38
  * <b>Note:</b> Available options are <code>"Information"</code>, <code>"Positive"</code>, <code>"Negative"</code>,
39
39
  * and <code>"Warning"</code>.
40
40
  *
41
- * @type {MessageStripDesign}
41
+ * @type {sap.ui.webcomponents.main.types.MessageStripDesign}
42
42
  * @defaultvalue "Information"
43
43
  * @public
44
44
  * @since 1.0.0-rc.15
@@ -147,7 +147,7 @@ const metadata = {
147
147
  * @constructor
148
148
  * @author SAP SE
149
149
  * @alias sap.ui.webcomponents.main.MessageStrip
150
- * @extends UI5Element
150
+ * @extends sap.ui.webcomponents.base.UI5Element
151
151
  * @tagname ui5-message-strip
152
152
  * @public
153
153
  * @since 0.9.0
@@ -30,7 +30,7 @@ const metadata = {
30
30
  properties: /** @lends sap.ui.webcomponents.main.MonthPicker.prototype */ {
31
31
  /**
32
32
  * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.
33
- * @type {Array}
33
+ * @type {array}
34
34
  * @public
35
35
  */
36
36
  selectedDates: {
@@ -79,7 +79,7 @@ const ROW_SIZE = 3; // Months per row (4 rows of 3 months each)
79
79
  * @constructor
80
80
  * @author SAP SE
81
81
  * @alias sap.ui.webcomponents.main.MonthPicker
82
- * @extends CalendarPart
82
+ * @extends sap.ui.webcomponents.main.CalendarPart
83
83
  * @tagname ui5-monthpicker
84
84
  * @public
85
85
  */
@@ -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}}
@@ -145,6 +145,8 @@ const metadata = {
145
145
  *
146
146
  * @type {string}
147
147
  * @defaultvalue ""
148
+ * @formEvents change input
149
+ * @formProperty
148
150
  * @public
149
151
  */
150
152
  value: {
@@ -212,7 +214,7 @@ const metadata = {
212
214
  * <li><code>Information</code></li>
213
215
  * </ul>
214
216
  *
215
- * @type {ValueState}
217
+ * @type {sap.ui.webcomponents.base.types.ValueState}
216
218
  * @defaultvalue "None"
217
219
  * @public
218
220
  */
@@ -429,7 +431,7 @@ const metadata = {
429
431
  * @constructor
430
432
  * @author SAP SE
431
433
  * @alias sap.ui.webcomponents.main.MultiComboBox
432
- * @extends UI5Element
434
+ * @extends sap.ui.webcomponents.base.UI5Element
433
435
  * @tagname ui5-multi-combobox
434
436
  * @public
435
437
  * @appenddocs MultiComboBoxItem MultiComboBoxGroupItem
@@ -1082,7 +1084,7 @@ class MultiComboBox extends UI5Element {
1082
1084
  if (isCut) {
1083
1085
  const cutResult = this._tokenizer._fillClipboard("cut", selectedTokens);
1084
1086
  selectedTokens.forEach(token => {
1085
- this._tokenizer._tokenDelete(event, token);
1087
+ this._tokenizer._tokenKeyboardDelete(event, token);
1086
1088
  });
1087
1089
 
1088
1090
  this.focus();
@@ -32,7 +32,7 @@ const metadata = {
32
32
  * @constructor
33
33
  * @author SAP SE
34
34
  * @alias sap.ui.webcomponents.main.MultiComboBoxGroupItem
35
- * @extends UI5Element
35
+ * @extends sap.ui.webcomponents.base.UI5Element
36
36
  * @tagname ui5-mcb-group-item
37
37
  * @public
38
38
  * @implements sap.ui.webcomponents.main.IMultiComboBoxItem
@@ -23,7 +23,7 @@ const metadata = {
23
23
  * @constructor
24
24
  * @author SAP SE
25
25
  * @alias sap.ui.webcomponents.main.MultiComboBoxItem
26
- * @extends ComboBoxItem
26
+ * @extends sap.ui.webcomponents.main.ComboBoxItem
27
27
  * @tagname ui5-mcb-item
28
28
  * @implements sap.ui.webcomponents.main.IMultiComboBoxItem
29
29
  * @public