@ui5/webcomponents 1.4.0 → 1.7.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 (776) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/README.md +9 -7
  3. package/dist/Avatar.js +33 -5
  4. package/dist/AvatarGroup.js +20 -2
  5. package/dist/Badge.js +2 -1
  6. package/dist/Breadcrumbs.js +15 -5
  7. package/dist/BreadcrumbsItem.js +3 -3
  8. package/dist/BusyIndicator.js +1 -3
  9. package/dist/Button.js +16 -12
  10. package/dist/Calendar.js +36 -48
  11. package/dist/CalendarDate.js +1 -1
  12. package/dist/CalendarHeader.js +5 -1
  13. package/dist/CalendarPart.js +1 -1
  14. package/dist/CardHeader.js +22 -22
  15. package/dist/Carousel.js +19 -0
  16. package/dist/CheckBox.js +2 -2
  17. package/dist/ColorPalette.js +1 -1
  18. package/dist/ColorPaletteItem.js +1 -1
  19. package/dist/ColorPalettePopover.js +1 -1
  20. package/dist/ColorPicker.js +0 -9
  21. package/dist/ComboBox.js +60 -7
  22. package/dist/ComboBoxGroupItem.js +4 -4
  23. package/dist/ComboBoxItem.js +1 -1
  24. package/dist/DateComponentBase.js +1 -1
  25. package/dist/DatePicker.js +22 -10
  26. package/dist/DateRangePicker.js +8 -2
  27. package/dist/DateTimePicker.js +7 -11
  28. package/dist/DayPicker.js +2 -2
  29. package/dist/Dialog.js +85 -32
  30. package/dist/GroupHeaderListItem.js +2 -2
  31. package/dist/Icon.js +9 -39
  32. package/dist/Input.js +58 -50
  33. package/dist/Label.js +1 -3
  34. package/dist/Link.js +42 -15
  35. package/dist/List.js +21 -11
  36. package/dist/ListItem.js +11 -1
  37. package/dist/ListItemBase.js +2 -2
  38. package/dist/Menu.js +6 -4
  39. package/dist/MenuItem.js +20 -5
  40. package/dist/MessageStrip.js +1 -1
  41. package/dist/MonthPicker.js +11 -2
  42. package/dist/MultiComboBox.js +187 -40
  43. package/dist/MultiComboBoxGroupItem.js +67 -0
  44. package/dist/MultiComboBoxItem.js +1 -1
  45. package/dist/MultiInput.js +11 -4
  46. package/dist/Option.js +3 -3
  47. package/dist/Panel.js +25 -5
  48. package/dist/Popover.js +10 -5
  49. package/dist/Popup.js +17 -6
  50. package/dist/RadioButton.js +7 -5
  51. package/dist/RangeSlider.js +1 -1
  52. package/dist/RatingIndicator.js +6 -1
  53. package/dist/SegmentedButton.js +2 -11
  54. package/dist/SegmentedButtonItem.js +2 -2
  55. package/dist/Select.js +35 -8
  56. package/dist/Slider.js +1 -1
  57. package/dist/SliderBase.js +4 -4
  58. package/dist/SplitButton.js +2 -2
  59. package/dist/StandardListItem.js +18 -2
  60. package/dist/StepInput.js +1 -1
  61. package/dist/SuggestionGroupItem.js +3 -3
  62. package/dist/SuggestionItem.js +5 -5
  63. package/dist/Switch.js +1 -1
  64. package/dist/Tab.js +18 -11
  65. package/dist/TabContainer.js +157 -143
  66. package/dist/TabSeparator.js +8 -1
  67. package/dist/Table.js +6 -20
  68. package/dist/TextArea.js +8 -13
  69. package/dist/TimePickerBase.js +8 -0
  70. package/dist/TimeSelection.js +2 -7
  71. package/dist/ToggleButton.js +3 -5
  72. package/dist/Token.js +1 -1
  73. package/dist/Tokenizer.js +74 -8
  74. package/dist/Tree.js +4 -0
  75. package/dist/TreeItem.js +2 -2
  76. package/dist/TreeListItem.js +2 -3
  77. package/dist/YearPicker.js +52 -27
  78. package/dist/api.json +1 -7457
  79. package/dist/assets/John_Miller.fc9d0d73.png +0 -0
  80. package/dist/assets/Lamp_avatar_01.ab251b40.jpg +0 -0
  81. package/dist/assets/SAP-icons-TNT.fa06c05f.js +1 -0
  82. package/dist/assets/SAP-icons-business-suite.7cff1fd8.js +1 -0
  83. package/dist/assets/SAP-icons.7f154911.js +1 -0
  84. package/dist/assets/SAP-icons.e76c8241.js +1 -0
  85. package/dist/assets/ar.7fd1011b.js +1 -0
  86. package/dist/assets/ar_EG.4dd5f305.js +1 -0
  87. package/dist/assets/ar_SA.8c5a937a.js +1 -0
  88. package/dist/assets/bg.a4d82c03.js +1 -0
  89. package/dist/assets/ca.0021f734.js +1 -0
  90. package/dist/assets/cs.0e585b65.js +1 -0
  91. package/dist/assets/da.521611de.js +1 -0
  92. package/dist/assets/de.63fdffdf.js +1 -0
  93. package/dist/assets/de_AT.ea95f993.js +1 -0
  94. package/dist/assets/de_CH.90d5e701.js +1 -0
  95. package/dist/assets/el.3e1beb01.js +1 -0
  96. package/dist/assets/el_CY.209073e0.js +1 -0
  97. package/dist/assets/en.1af5f31c.js +1 -0
  98. package/dist/assets/en_AU.25e8cf38.js +1 -0
  99. package/dist/assets/en_GB.43297e37.js +1 -0
  100. package/dist/assets/en_HK.0da1e0b5.js +1 -0
  101. package/dist/assets/en_IE.c4988873.js +1 -0
  102. package/dist/assets/en_IN.96d721e2.js +1 -0
  103. package/dist/assets/en_NZ.1091e526.js +1 -0
  104. package/dist/assets/en_PG.f028e345.js +1 -0
  105. package/dist/assets/en_SG.8d370bdb.js +1 -0
  106. package/dist/assets/en_ZA.0cbf9d6e.js +1 -0
  107. package/dist/assets/es.37dda275.js +1 -0
  108. package/dist/assets/es_AR.da796f99.js +1 -0
  109. package/dist/assets/es_BO.2b15333c.js +1 -0
  110. package/dist/assets/es_CL.048ca1f2.js +1 -0
  111. package/dist/assets/es_CO.257ed3d6.js +1 -0
  112. package/dist/assets/es_MX.061e6bbb.js +1 -0
  113. package/dist/assets/es_PE.f7c17b7a.js +1 -0
  114. package/dist/assets/es_UY.73781c0c.js +1 -0
  115. package/dist/assets/es_VE.fe0f3310.js +1 -0
  116. package/dist/assets/et.fbe81c9d.js +1 -0
  117. package/dist/assets/fa.acfcfa4d.js +1 -0
  118. package/dist/assets/fi.0379b5fc.js +1 -0
  119. package/dist/assets/fr.f6c58c06.js +1 -0
  120. package/dist/assets/fr_BE.c6e52c3f.js +1 -0
  121. package/dist/assets/fr_CA.e3c92112.js +1 -0
  122. package/dist/assets/fr_CH.fc89bdfc.js +1 -0
  123. package/dist/assets/fr_LU.4fffec47.js +1 -0
  124. package/dist/assets/he.ca2cb3e0.js +1 -0
  125. package/dist/assets/hi.82a0ad5b.js +1 -0
  126. package/dist/assets/hr.ab15877f.js +1 -0
  127. package/dist/assets/hu.c3d72d24.js +1 -0
  128. package/dist/assets/id.163ccc8d.js +1 -0
  129. package/dist/assets/it.bcf089f4.js +1 -0
  130. package/dist/assets/it_CH.69227571.js +1 -0
  131. package/dist/assets/ja.18f39a5b.js +1 -0
  132. package/dist/assets/kitchen-scripts.489c25fb.css +1 -0
  133. package/dist/assets/kitchen-scripts.ec775613.js +1 -0
  134. package/dist/assets/kk.a697e741.js +1 -0
  135. package/dist/assets/ko.ebe1e5db.js +1 -0
  136. package/dist/assets/loading.b2cd685f.gif +0 -0
  137. package/dist/assets/lt.775927de.js +1 -0
  138. package/dist/assets/lv.d7e9d5e6.js +1 -0
  139. package/dist/assets/messagebundle_ar.3285e748.js +1 -0
  140. package/dist/assets/messagebundle_ar.f3e988df.js +1 -0
  141. package/dist/assets/messagebundle_bg.a3f6fdd8.js +1 -0
  142. package/dist/assets/messagebundle_bg.eba3e906.js +1 -0
  143. package/dist/assets/messagebundle_ca.47eb5246.js +1 -0
  144. package/dist/assets/messagebundle_ca.5e72bf09.js +1 -0
  145. package/dist/assets/messagebundle_cs.2c9254dc.js +1 -0
  146. package/dist/assets/messagebundle_cs.5720e069.js +1 -0
  147. package/dist/assets/messagebundle_cy.51ed6118.js +1 -0
  148. package/dist/assets/messagebundle_cy.b66ab3d7.js +1 -0
  149. package/dist/assets/messagebundle_da.7306ba78.js +1 -0
  150. package/dist/assets/messagebundle_da.d83f1df6.js +1 -0
  151. package/dist/assets/messagebundle_de.00b8fac3.js +1 -0
  152. package/dist/assets/messagebundle_de.11a43c3f.js +1 -0
  153. package/dist/assets/messagebundle_el.5313ff1a.js +1 -0
  154. package/dist/assets/messagebundle_el.54337d1a.js +1 -0
  155. package/dist/assets/messagebundle_en.46c4c8b4.js +1 -0
  156. package/dist/assets/messagebundle_en.4d827ce9.js +1 -0
  157. package/dist/assets/messagebundle_en_GB.b09b6a64.js +1 -0
  158. package/dist/assets/messagebundle_en_GB.d9037cba.js +1 -0
  159. package/dist/assets/messagebundle_en_US_sappsd.2f342e46.js +1 -0
  160. package/dist/assets/messagebundle_en_US_sappsd.7d173b62.js +1 -0
  161. package/dist/assets/messagebundle_en_US_saprigi.443cefd7.js +1 -0
  162. package/dist/assets/messagebundle_en_US_saprigi.9e3ec6ce.js +1 -0
  163. package/dist/assets/messagebundle_en_US_saptrc.a358bbc3.js +1 -0
  164. package/dist/assets/messagebundle_en_US_saptrc.ec370551.js +1 -0
  165. package/dist/assets/messagebundle_es.6edd9aac.js +1 -0
  166. package/dist/assets/messagebundle_es.881ff0f9.js +1 -0
  167. package/dist/assets/messagebundle_es_MX.3fc62f39.js +1 -0
  168. package/dist/assets/messagebundle_es_MX.b9a235b1.js +1 -0
  169. package/dist/assets/messagebundle_et.2f95fbc0.js +1 -0
  170. package/dist/assets/messagebundle_et.45f3eda8.js +1 -0
  171. package/dist/assets/messagebundle_fi.17dccdfe.js +1 -0
  172. package/dist/assets/messagebundle_fi.e408238f.js +1 -0
  173. package/dist/assets/messagebundle_fr.01378189.js +1 -0
  174. package/dist/assets/messagebundle_fr.023ec658.js +1 -0
  175. package/dist/assets/messagebundle_fr_CA.2594af28.js +1 -0
  176. package/dist/assets/messagebundle_fr_CA.700b3003.js +1 -0
  177. package/dist/assets/messagebundle_hi.0dd7cf25.js +1 -0
  178. package/dist/assets/messagebundle_hi.e54398ec.js +1 -0
  179. package/dist/assets/messagebundle_hr.22e41fe6.js +1 -0
  180. package/dist/assets/messagebundle_hr.87a5cf12.js +1 -0
  181. package/dist/assets/messagebundle_hu.11f04021.js +1 -0
  182. package/dist/assets/messagebundle_hu.31a245d6.js +1 -0
  183. package/dist/assets/messagebundle_in.52c1e21c.js +1 -0
  184. package/dist/assets/messagebundle_in.920ee55c.js +1 -0
  185. package/dist/assets/messagebundle_it.7c4db606.js +1 -0
  186. package/dist/assets/messagebundle_it.aa33f57d.js +1 -0
  187. package/dist/assets/messagebundle_iw.668edbae.js +1 -0
  188. package/dist/assets/messagebundle_iw.876a2de2.js +1 -0
  189. package/dist/assets/messagebundle_ja.4ca0da85.js +1 -0
  190. package/dist/assets/messagebundle_ja.8e38b3b9.js +1 -0
  191. package/dist/assets/messagebundle_kk.16201d64.js +1 -0
  192. package/dist/assets/messagebundle_kk.f1d95e67.js +1 -0
  193. package/dist/assets/messagebundle_ko.a9126af1.js +1 -0
  194. package/dist/assets/messagebundle_ko.efd3d190.js +1 -0
  195. package/dist/assets/messagebundle_lt.1c86044c.js +1 -0
  196. package/dist/assets/messagebundle_lt.8df3235f.js +1 -0
  197. package/dist/assets/messagebundle_lv.023b46ad.js +1 -0
  198. package/dist/assets/messagebundle_lv.1485b0dd.js +1 -0
  199. package/dist/assets/messagebundle_ms.12fa7211.js +1 -0
  200. package/dist/assets/messagebundle_ms.2801cf14.js +1 -0
  201. package/dist/assets/messagebundle_nl.3d8877e1.js +1 -0
  202. package/dist/assets/messagebundle_nl.fbaa57e5.js +1 -0
  203. package/dist/assets/messagebundle_no.416b83e7.js +1 -0
  204. package/dist/assets/messagebundle_no.aed62d2d.js +1 -0
  205. package/dist/assets/messagebundle_pl.942cdbbd.js +1 -0
  206. package/dist/assets/messagebundle_pl.ec09771e.js +1 -0
  207. package/dist/assets/messagebundle_pt.027e899b.js +1 -0
  208. package/dist/assets/messagebundle_pt.2ba5f988.js +1 -0
  209. package/dist/assets/messagebundle_pt_PT.9bca19db.js +1 -0
  210. package/dist/assets/messagebundle_pt_PT.f26a67f1.js +1 -0
  211. package/dist/assets/messagebundle_ro.71197951.js +1 -0
  212. package/dist/assets/messagebundle_ro.80e6cfad.js +1 -0
  213. package/dist/assets/messagebundle_ru.0bc1939f.js +1 -0
  214. package/dist/assets/messagebundle_ru.e5bfb3ae.js +1 -0
  215. package/dist/assets/messagebundle_sh.097c2c2b.js +1 -0
  216. package/dist/assets/messagebundle_sh.6d1a0a62.js +1 -0
  217. package/dist/assets/messagebundle_sk.1c800907.js +1 -0
  218. package/dist/assets/messagebundle_sk.79a87686.js +1 -0
  219. package/dist/assets/messagebundle_sl.9d602bfb.js +1 -0
  220. package/dist/assets/messagebundle_sl.af7daebc.js +1 -0
  221. package/dist/assets/messagebundle_sv.d8d543df.js +1 -0
  222. package/dist/assets/messagebundle_sv.efb6e0ef.js +1 -0
  223. package/dist/assets/messagebundle_th.94c0d1ab.js +1 -0
  224. package/dist/assets/messagebundle_th.f54d55d7.js +1 -0
  225. package/dist/assets/messagebundle_tr.971a97d0.js +1 -0
  226. package/dist/assets/messagebundle_tr.b3a571be.js +1 -0
  227. package/dist/assets/messagebundle_uk.8d0551a9.js +1 -0
  228. package/dist/assets/messagebundle_uk.e0830675.js +1 -0
  229. package/dist/assets/messagebundle_vi.57d3d183.js +1 -0
  230. package/dist/assets/messagebundle_vi.6819ccf0.js +1 -0
  231. package/dist/assets/messagebundle_zh_CN.0c604a5d.js +1 -0
  232. package/dist/assets/messagebundle_zh_CN.9669c0a2.js +1 -0
  233. package/dist/assets/messagebundle_zh_TW.4659173f.js +1 -0
  234. package/dist/assets/messagebundle_zh_TW.4841569f.js +1 -0
  235. package/dist/assets/ms.d6569411.js +1 -0
  236. package/dist/assets/nb.e08266d5.js +1 -0
  237. package/dist/assets/nl.9999541e.js +1 -0
  238. package/dist/assets/nl_BE.10b9e463.js +1 -0
  239. package/dist/assets/parameters-bundle.css.13aed676.js +1 -0
  240. package/dist/assets/parameters-bundle.css.157592af.js +1 -0
  241. package/dist/assets/parameters-bundle.css.18cb3350.js +1 -0
  242. package/dist/assets/parameters-bundle.css.25017933.js +1 -0
  243. package/dist/assets/parameters-bundle.css.2be7f26d.js +1 -0
  244. package/dist/assets/parameters-bundle.css.31a66508.js +1 -0
  245. package/dist/assets/parameters-bundle.css.33915181.js +1 -0
  246. package/dist/assets/parameters-bundle.css.41e95390.js +1 -0
  247. package/dist/assets/parameters-bundle.css.4343d807.js +1 -0
  248. package/dist/assets/parameters-bundle.css.4438b4b3.js +1 -0
  249. package/dist/assets/parameters-bundle.css.54a888ff.js +1 -0
  250. package/dist/assets/parameters-bundle.css.5550ceb2.js +1 -0
  251. package/dist/assets/parameters-bundle.css.60956972.js +1 -0
  252. package/dist/assets/parameters-bundle.css.61a5fde8.js +1 -0
  253. package/dist/assets/parameters-bundle.css.6d229ca8.js +1 -0
  254. package/dist/assets/parameters-bundle.css.7c26b98b.js +1 -0
  255. package/dist/assets/parameters-bundle.css.adc7c452.js +1 -0
  256. package/dist/assets/parameters-bundle.css.ba38c500.js +1 -0
  257. package/dist/assets/parameters-bundle.css.c64ba63b.js +1 -0
  258. package/dist/assets/parameters-bundle.css.cac9f3de.js +1 -0
  259. package/dist/assets/parameters-bundle.css.cad0773b.js +1 -0
  260. package/dist/assets/parameters-bundle.css.d532d151.js +1 -0
  261. package/dist/assets/parameters-bundle.css.d5d27adb.js +1 -0
  262. package/dist/assets/parameters-bundle.css.fbd8d2ab.js +1 -0
  263. package/dist/assets/pl.896f748a.js +1 -0
  264. package/dist/assets/pt.9282da43.js +1 -0
  265. package/dist/assets/pt_PT.8de6f4a2.js +1 -0
  266. package/dist/assets/ro.f27aab0d.js +1 -0
  267. package/dist/assets/ru.925a56df.js +1 -0
  268. package/dist/assets/ru_UA.066d9903.js +1 -0
  269. package/dist/assets/sk.cea36c4c.js +1 -0
  270. package/dist/assets/sl.00e904c8.js +1 -0
  271. package/dist/assets/sr.5ffa8a72.js +1 -0
  272. package/dist/assets/sr_Latn.37760dd7.js +1 -0
  273. package/dist/assets/sv.e8d71660.js +1 -0
  274. package/dist/assets/th.9c7b50b0.js +1 -0
  275. package/dist/assets/tr.0a0fb3ee.js +1 -0
  276. package/dist/assets/uk.7ee1da23.js +1 -0
  277. package/dist/assets/vi.b1f74e9c.js +1 -0
  278. package/dist/assets/woman_avatar_5.7316a316.png +0 -0
  279. package/dist/assets/zh_CN.a1d71c11.js +1 -0
  280. package/dist/assets/zh_HK.a47dd921.js +1 -0
  281. package/dist/assets/zh_SG.1cd17a31.js +1 -0
  282. package/dist/assets/zh_TW.b03069d7.js +1 -0
  283. package/dist/css/themes/Avatar.css +1 -1
  284. package/dist/css/themes/AvatarGroup.css +1 -1
  285. package/dist/css/themes/Badge.css +1 -1
  286. package/dist/css/themes/Breadcrumbs.css +1 -1
  287. package/dist/css/themes/BrowserScrollbar.css +1 -1
  288. package/dist/css/themes/BusyIndicator.css +1 -1
  289. package/dist/css/themes/Button.css +1 -1
  290. package/dist/css/themes/CalendarHeader.css +1 -1
  291. package/dist/css/themes/CardHeader.css +1 -1
  292. package/dist/css/themes/Carousel.css +1 -1
  293. package/dist/css/themes/CheckBox.css +1 -1
  294. package/dist/css/themes/ColorPicker.css +1 -1
  295. package/dist/css/themes/ComboBox.css +1 -1
  296. package/dist/css/themes/DatePicker.css +1 -1
  297. package/dist/css/themes/DayPicker.css +1 -1
  298. package/dist/css/themes/Dialog.css +1 -1
  299. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  300. package/dist/css/themes/Input.css +1 -1
  301. package/dist/css/themes/Link.css +1 -1
  302. package/dist/css/themes/ListItem.css +1 -1
  303. package/dist/css/themes/ListItemBase.css +1 -1
  304. package/dist/css/themes/Menu.css +1 -1
  305. package/dist/css/themes/MonthPicker.css +1 -1
  306. package/dist/css/themes/MultiComboBox.css +1 -1
  307. package/dist/css/themes/MultiInput.css +1 -1
  308. package/dist/css/themes/Panel.css +1 -1
  309. package/dist/css/themes/PopupsCommon.css +1 -1
  310. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  311. package/dist/css/themes/Select.css +1 -1
  312. package/dist/css/themes/SliderBase.css +1 -1
  313. package/dist/css/themes/Switch.css +1 -1
  314. package/dist/css/themes/TextArea.css +1 -1
  315. package/dist/css/themes/Title.css +1 -1
  316. package/dist/css/themes/Toast.css +1 -1
  317. package/dist/css/themes/ToggleButton.css +1 -1
  318. package/dist/css/themes/Tokenizer.css +1 -1
  319. package/dist/css/themes/YearPicker.css +1 -1
  320. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  321. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  322. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  323. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  324. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  325. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  326. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  327. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  328. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  329. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  330. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  331. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  332. package/dist/features/InputElementsFormSupport.js +21 -4
  333. package/dist/features/InputSuggestions.js +21 -2
  334. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  360. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  361. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  362. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  363. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  364. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  365. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  366. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  367. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  368. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  369. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  370. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  371. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  372. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  373. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  374. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  375. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  376. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  377. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  378. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  379. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  380. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  381. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  382. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  383. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  384. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  385. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  386. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  387. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  388. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  389. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  390. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  391. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  392. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  393. package/dist/generated/i18n/i18n-defaults.js +2 -2
  394. package/dist/generated/json-imports/Themes-static.js +1 -1
  395. package/dist/generated/json-imports/Themes.js +2 -2
  396. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  397. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +2 -2
  398. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  399. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +2 -2
  400. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  401. package/dist/generated/templates/CardHeaderTemplate.lit.js +3 -3
  402. package/dist/generated/templates/CarouselTemplate.lit.js +4 -4
  403. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +4 -4
  404. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  405. package/dist/generated/templates/CustomListItemTemplate.lit.js +3 -3
  406. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  407. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  408. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  409. package/dist/generated/templates/DialogTemplate.lit.js +7 -6
  410. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +1 -1
  411. package/dist/generated/templates/IconTemplate.lit.js +2 -1
  412. package/dist/generated/templates/InputPopoverTemplate.lit.js +1 -1
  413. package/dist/generated/templates/InputTemplate.lit.js +2 -2
  414. package/dist/generated/templates/ListItemTemplate.lit.js +3 -3
  415. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  416. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  417. package/dist/generated/templates/MonthPickerTemplate.lit.js +2 -1
  418. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +15 -11
  419. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  420. package/dist/generated/templates/MultiInputTemplate.lit.js +2 -2
  421. package/dist/generated/templates/PanelTemplate.lit.js +7 -6
  422. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  423. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  424. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  425. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  426. package/dist/generated/templates/SliderBaseTemplate.lit.js +1 -1
  427. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  428. package/dist/generated/templates/StandardListItemTemplate.lit.js +3 -3
  429. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +3 -3
  430. package/dist/generated/templates/TabContainerTemplate.lit.js +1 -1
  431. package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
  432. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  433. package/dist/generated/templates/TableTemplate.lit.js +9 -8
  434. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  435. package/dist/generated/templates/TimeSelectionTemplate.lit.js +3 -3
  436. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  437. package/dist/generated/templates/TreeListItemTemplate.lit.js +3 -3
  438. package/dist/generated/templates/YearPickerTemplate.lit.js +2 -1
  439. package/dist/generated/themes/Avatar.css.js +1 -1
  440. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  441. package/dist/generated/themes/Badge.css.js +1 -1
  442. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  443. package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
  444. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  445. package/dist/generated/themes/Button.css.js +1 -1
  446. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  447. package/dist/generated/themes/CardHeader.css.js +1 -1
  448. package/dist/generated/themes/Carousel.css.js +1 -1
  449. package/dist/generated/themes/CheckBox.css.js +1 -1
  450. package/dist/generated/themes/ColorPicker.css.js +1 -1
  451. package/dist/generated/themes/ComboBox.css.js +1 -1
  452. package/dist/generated/themes/DatePicker.css.js +1 -1
  453. package/dist/generated/themes/DayPicker.css.js +1 -1
  454. package/dist/generated/themes/Dialog.css.js +1 -1
  455. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  456. package/dist/generated/themes/Input.css.js +1 -1
  457. package/dist/generated/themes/Link.css.js +1 -1
  458. package/dist/generated/themes/ListItem.css.js +1 -1
  459. package/dist/generated/themes/ListItemBase.css.js +1 -1
  460. package/dist/generated/themes/Menu.css.js +1 -1
  461. package/dist/generated/themes/MonthPicker.css.js +1 -1
  462. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  463. package/dist/generated/themes/MultiInput.css.js +1 -1
  464. package/dist/generated/themes/Panel.css.js +1 -1
  465. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  466. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  467. package/dist/generated/themes/Select.css.js +1 -1
  468. package/dist/generated/themes/SliderBase.css.js +1 -1
  469. package/dist/generated/themes/Switch.css.js +1 -1
  470. package/dist/generated/themes/TextArea.css.js +1 -1
  471. package/dist/generated/themes/Title.css.js +1 -1
  472. package/dist/generated/themes/Toast.css.js +1 -1
  473. package/dist/generated/themes/ToggleButton.css.js +1 -1
  474. package/dist/generated/themes/Tokenizer.css.js +1 -1
  475. package/dist/generated/themes/YearPicker.css.js +1 -1
  476. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  477. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  478. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  479. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  480. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  481. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  482. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  483. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  484. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  485. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  486. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  487. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  488. package/dist/i18n/messagebundle.properties +16 -4
  489. package/dist/i18n/messagebundle_ar.properties +17 -7
  490. package/dist/i18n/messagebundle_bg.properties +17 -7
  491. package/dist/i18n/messagebundle_ca.properties +16 -6
  492. package/dist/i18n/messagebundle_cs.properties +17 -7
  493. package/dist/i18n/messagebundle_cy.properties +16 -6
  494. package/dist/i18n/messagebundle_da.properties +16 -6
  495. package/dist/i18n/messagebundle_de.properties +17 -7
  496. package/dist/i18n/messagebundle_el.properties +17 -7
  497. package/dist/i18n/messagebundle_en.properties +10 -0
  498. package/dist/i18n/messagebundle_en_GB.properties +10 -0
  499. package/dist/i18n/messagebundle_en_US_sappsd.properties +24 -0
  500. package/dist/i18n/messagebundle_en_US_saprigi.properties +10 -2
  501. package/dist/i18n/messagebundle_en_US_saptrc.properties +25 -1
  502. package/dist/i18n/messagebundle_es.properties +16 -6
  503. package/dist/i18n/messagebundle_es_MX.properties +16 -6
  504. package/dist/i18n/messagebundle_et.properties +17 -7
  505. package/dist/i18n/messagebundle_fi.properties +17 -7
  506. package/dist/i18n/messagebundle_fr.properties +16 -6
  507. package/dist/i18n/messagebundle_fr_CA.properties +16 -6
  508. package/dist/i18n/messagebundle_hi.properties +17 -7
  509. package/dist/i18n/messagebundle_hr.properties +17 -7
  510. package/dist/i18n/messagebundle_hu.properties +17 -7
  511. package/dist/i18n/messagebundle_id.properties +17 -7
  512. package/dist/i18n/messagebundle_it.properties +19 -9
  513. package/dist/i18n/messagebundle_iw.properties +17 -7
  514. package/dist/i18n/messagebundle_ja.properties +17 -7
  515. package/dist/i18n/messagebundle_kk.properties +17 -7
  516. package/dist/i18n/messagebundle_ko.properties +17 -7
  517. package/dist/i18n/messagebundle_lt.properties +17 -7
  518. package/dist/i18n/messagebundle_lv.properties +17 -7
  519. package/dist/i18n/messagebundle_ms.properties +17 -7
  520. package/dist/i18n/messagebundle_nl.properties +17 -7
  521. package/dist/i18n/messagebundle_no.properties +17 -7
  522. package/dist/i18n/messagebundle_pl.properties +17 -7
  523. package/dist/i18n/messagebundle_pt.properties +16 -6
  524. package/dist/i18n/messagebundle_pt_PT.properties +16 -6
  525. package/dist/i18n/messagebundle_ro.properties +17 -7
  526. package/dist/i18n/messagebundle_ru.properties +17 -7
  527. package/dist/i18n/messagebundle_sh.properties +17 -7
  528. package/dist/i18n/messagebundle_sk.properties +17 -7
  529. package/dist/i18n/messagebundle_sl.properties +17 -7
  530. package/dist/i18n/messagebundle_sv.properties +16 -6
  531. package/dist/i18n/messagebundle_th.properties +20 -10
  532. package/dist/i18n/messagebundle_tr.properties +17 -7
  533. package/dist/i18n/messagebundle_uk.properties +18 -8
  534. package/dist/i18n/messagebundle_vi.properties +16 -6
  535. package/dist/i18n/messagebundle_zh_CN.properties +16 -6
  536. package/dist/i18n/messagebundle_zh_TW.properties +16 -6
  537. package/package.json +9 -8
  538. package/src/Avatar.hbs +2 -0
  539. package/src/Avatar.js +33 -5
  540. package/src/AvatarGroup.js +20 -2
  541. package/src/Badge.js +2 -1
  542. package/src/Breadcrumbs.hbs +2 -2
  543. package/src/Breadcrumbs.js +15 -5
  544. package/src/BreadcrumbsItem.js +3 -3
  545. package/src/BusyIndicator.js +1 -3
  546. package/src/Button.hbs +1 -0
  547. package/src/Button.js +16 -12
  548. package/src/Calendar.hbs +3 -0
  549. package/src/Calendar.js +36 -48
  550. package/src/CalendarDate.js +1 -1
  551. package/src/CalendarHeader.hbs +5 -1
  552. package/src/CalendarHeader.js +5 -1
  553. package/src/CalendarPart.js +1 -1
  554. package/src/CardHeader.hbs +45 -29
  555. package/src/CardHeader.js +22 -22
  556. package/src/Carousel.hbs +3 -3
  557. package/src/Carousel.js +19 -0
  558. package/src/CheckBox.js +2 -2
  559. package/src/ColorPalette.js +1 -1
  560. package/src/ColorPaletteItem.js +1 -1
  561. package/src/ColorPalettePopover.js +1 -1
  562. package/src/ColorPicker.js +0 -9
  563. package/src/ComboBox.hbs +1 -1
  564. package/src/ComboBox.js +60 -7
  565. package/src/ComboBoxGroupItem.js +4 -4
  566. package/src/ComboBoxItem.js +1 -1
  567. package/src/ComboBoxPopover.hbs +3 -2
  568. package/src/DateComponentBase.js +1 -1
  569. package/src/DatePicker.hbs +2 -0
  570. package/src/DatePicker.js +22 -10
  571. package/src/DatePickerPopover.hbs +0 -1
  572. package/src/DateRangePicker.js +8 -2
  573. package/src/DateTimePicker.js +7 -11
  574. package/src/DayPicker.js +2 -2
  575. package/src/Dialog.hbs +5 -1
  576. package/src/Dialog.js +85 -32
  577. package/src/GroupHeaderListItem.hbs +2 -2
  578. package/src/GroupHeaderListItem.js +2 -2
  579. package/src/Icon.hbs +3 -1
  580. package/src/Icon.js +9 -39
  581. package/src/Input.hbs +2 -2
  582. package/src/Input.js +58 -50
  583. package/src/InputPopover.hbs +1 -1
  584. package/src/Label.js +1 -3
  585. package/src/Link.js +42 -15
  586. package/src/List.hbs +1 -1
  587. package/src/List.js +21 -11
  588. package/src/ListItem.hbs +2 -2
  589. package/src/ListItem.js +11 -1
  590. package/src/ListItemBase.js +2 -2
  591. package/src/Menu.hbs +1 -0
  592. package/src/Menu.js +6 -4
  593. package/src/MenuItem.js +20 -5
  594. package/src/MessageStrip.js +1 -1
  595. package/src/MonthPicker.hbs +8 -1
  596. package/src/MonthPicker.js +11 -2
  597. package/src/MultiComboBox.hbs +1 -1
  598. package/src/MultiComboBox.js +187 -40
  599. package/src/MultiComboBoxGroupItem.js +67 -0
  600. package/src/MultiComboBoxItem.js +1 -1
  601. package/src/MultiComboBoxPopover.hbs +14 -4
  602. package/src/MultiInput.js +11 -4
  603. package/src/Option.js +3 -3
  604. package/src/Panel.hbs +56 -46
  605. package/src/Panel.js +25 -5
  606. package/src/Popover.js +10 -5
  607. package/src/Popup.hbs +1 -1
  608. package/src/Popup.js +17 -6
  609. package/src/RadioButton.js +7 -5
  610. package/src/RangeSlider.hbs +2 -2
  611. package/src/RangeSlider.js +1 -1
  612. package/src/RatingIndicator.js +6 -1
  613. package/src/SegmentedButton.js +2 -11
  614. package/src/SegmentedButtonItem.js +2 -2
  615. package/src/Select.js +35 -8
  616. package/src/Slider.hbs +1 -1
  617. package/src/Slider.js +1 -1
  618. package/src/SliderBase.hbs +1 -0
  619. package/src/SliderBase.js +4 -4
  620. package/src/SplitButton.js +2 -2
  621. package/src/StandardListItem.js +18 -2
  622. package/src/StepInput.js +1 -1
  623. package/src/SuggestionGroupItem.js +3 -3
  624. package/src/SuggestionItem.js +5 -5
  625. package/src/Switch.js +1 -1
  626. package/src/Tab.js +18 -11
  627. package/src/TabContainer.hbs +5 -1
  628. package/src/TabContainer.js +157 -143
  629. package/src/TabInOverflow.hbs +1 -2
  630. package/src/TabInStrip.hbs +1 -1
  631. package/src/TabSeparator.js +8 -1
  632. package/src/Table.hbs +9 -7
  633. package/src/Table.js +6 -20
  634. package/src/TextArea.hbs +1 -1
  635. package/src/TextArea.js +8 -13
  636. package/src/TimePickerBase.js +8 -0
  637. package/src/TimeSelection.hbs +3 -3
  638. package/src/TimeSelection.js +2 -7
  639. package/src/ToggleButton.js +3 -5
  640. package/src/Token.js +1 -1
  641. package/src/Tokenizer.js +74 -8
  642. package/src/Tree.js +4 -0
  643. package/src/TreeItem.js +2 -2
  644. package/src/TreeListItem.js +2 -3
  645. package/src/YearPicker.hbs +7 -0
  646. package/src/YearPicker.js +52 -27
  647. package/src/features/InputElementsFormSupport.js +21 -4
  648. package/src/features/InputSuggestions.js +21 -2
  649. package/src/i18n/messagebundle.properties +16 -4
  650. package/src/i18n/messagebundle_ar.properties +17 -7
  651. package/src/i18n/messagebundle_bg.properties +17 -7
  652. package/src/i18n/messagebundle_ca.properties +16 -6
  653. package/src/i18n/messagebundle_cs.properties +17 -7
  654. package/src/i18n/messagebundle_cy.properties +16 -6
  655. package/src/i18n/messagebundle_da.properties +16 -6
  656. package/src/i18n/messagebundle_de.properties +17 -7
  657. package/src/i18n/messagebundle_el.properties +17 -7
  658. package/src/i18n/messagebundle_en.properties +10 -0
  659. package/src/i18n/messagebundle_en_GB.properties +10 -0
  660. package/src/i18n/messagebundle_en_US_sappsd.properties +24 -0
  661. package/src/i18n/messagebundle_en_US_saprigi.properties +10 -2
  662. package/src/i18n/messagebundle_en_US_saptrc.properties +25 -1
  663. package/src/i18n/messagebundle_es.properties +16 -6
  664. package/src/i18n/messagebundle_es_MX.properties +16 -6
  665. package/src/i18n/messagebundle_et.properties +17 -7
  666. package/src/i18n/messagebundle_fi.properties +17 -7
  667. package/src/i18n/messagebundle_fr.properties +16 -6
  668. package/src/i18n/messagebundle_fr_CA.properties +16 -6
  669. package/src/i18n/messagebundle_hi.properties +17 -7
  670. package/src/i18n/messagebundle_hr.properties +17 -7
  671. package/src/i18n/messagebundle_hu.properties +17 -7
  672. package/src/i18n/messagebundle_id.properties +17 -7
  673. package/src/i18n/messagebundle_it.properties +19 -9
  674. package/src/i18n/messagebundle_iw.properties +17 -7
  675. package/src/i18n/messagebundle_ja.properties +17 -7
  676. package/src/i18n/messagebundle_kk.properties +17 -7
  677. package/src/i18n/messagebundle_ko.properties +17 -7
  678. package/src/i18n/messagebundle_lt.properties +17 -7
  679. package/src/i18n/messagebundle_lv.properties +17 -7
  680. package/src/i18n/messagebundle_ms.properties +17 -7
  681. package/src/i18n/messagebundle_nl.properties +17 -7
  682. package/src/i18n/messagebundle_no.properties +17 -7
  683. package/src/i18n/messagebundle_pl.properties +17 -7
  684. package/src/i18n/messagebundle_pt.properties +16 -6
  685. package/src/i18n/messagebundle_pt_PT.properties +16 -6
  686. package/src/i18n/messagebundle_ro.properties +17 -7
  687. package/src/i18n/messagebundle_ru.properties +17 -7
  688. package/src/i18n/messagebundle_sh.properties +17 -7
  689. package/src/i18n/messagebundle_sk.properties +17 -7
  690. package/src/i18n/messagebundle_sl.properties +17 -7
  691. package/src/i18n/messagebundle_sv.properties +16 -6
  692. package/src/i18n/messagebundle_th.properties +20 -10
  693. package/src/i18n/messagebundle_tr.properties +17 -7
  694. package/src/i18n/messagebundle_uk.properties +18 -8
  695. package/src/i18n/messagebundle_vi.properties +16 -6
  696. package/src/i18n/messagebundle_zh_CN.properties +16 -6
  697. package/src/i18n/messagebundle_zh_TW.properties +16 -6
  698. package/src/themes/Avatar.css +51 -0
  699. package/src/themes/AvatarGroup.css +1 -0
  700. package/src/themes/Badge.css +12 -5
  701. package/src/themes/Breadcrumbs.css +3 -0
  702. package/src/themes/BrowserScrollbar.css +6 -6
  703. package/src/themes/BusyIndicator.css +0 -13
  704. package/src/themes/Button.css +5 -1
  705. package/src/themes/CalendarHeader.css +3 -4
  706. package/src/themes/CardHeader.css +13 -2
  707. package/src/themes/Carousel.css +2 -0
  708. package/src/themes/CheckBox.css +0 -10
  709. package/src/themes/ColorPicker.css +5 -5
  710. package/src/themes/DatePicker.css +13 -1
  711. package/src/themes/DayPicker.css +4 -5
  712. package/src/themes/Dialog.css +39 -0
  713. package/src/themes/GroupHeaderListItem.css +1 -0
  714. package/src/themes/Icon.css +1 -1
  715. package/src/themes/Input.css +34 -43
  716. package/src/themes/Link.css +6 -8
  717. package/src/themes/ListItem.css +10 -5
  718. package/src/themes/ListItemBase.css +0 -2
  719. package/src/themes/Menu.css +1 -0
  720. package/src/themes/MonthPicker.css +9 -3
  721. package/src/themes/MultiComboBox.css +1 -15
  722. package/src/themes/MultiInput.css +1 -6
  723. package/src/themes/Panel.css +1 -5
  724. package/src/themes/PopupsCommon.css +2 -8
  725. package/src/themes/ResponsivePopoverCommon.css +0 -11
  726. package/src/themes/SliderBase.css +3 -5
  727. package/src/themes/Switch.css +3 -4
  728. package/src/themes/TextArea.css +8 -22
  729. package/src/themes/Title.css +1 -1
  730. package/src/themes/Toast.css +0 -6
  731. package/src/themes/ToggleButton.css +1 -6
  732. package/src/themes/Tokenizer.css +1 -5
  733. package/src/themes/YearPicker.css +13 -3
  734. package/src/themes/base/DayPicker-parameters.css +3 -0
  735. package/src/themes/base/Dialog-parameters.css +8 -0
  736. package/src/themes/base/Input-parameters.css +2 -1
  737. package/src/themes/base/PopupsCommon-parameters.css +2 -1
  738. package/src/themes/base/SliderBase-parameters.css +2 -0
  739. package/src/themes/base/sizes-parameters.css +5 -1
  740. package/src/themes/sap_belize/DayPicker-parameters.css +1 -1
  741. package/src/themes/sap_belize_hcb/Button-parameters.css +1 -0
  742. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +7 -0
  743. package/src/themes/sap_belize_hcb/Input-parameters.css +3 -0
  744. package/src/themes/sap_belize_hcw/Button-parameters.css +1 -0
  745. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +7 -0
  746. package/src/themes/sap_belize_hcw/Input-parameters.css +3 -0
  747. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +1 -0
  748. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +8 -0
  749. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +2 -1
  750. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +1 -0
  751. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +8 -0
  752. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +2 -1
  753. package/src/themes/sap_horizon/CheckBox-parameters.css +1 -0
  754. package/src/themes/sap_horizon/PopupsCommon-parameters.css +3 -0
  755. package/src/themes/sap_horizon/parameters-bundle.css +1 -2
  756. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +1 -0
  757. package/src/themes/sap_horizon_dark/PopupsCommon-parameters.css +3 -0
  758. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -2
  759. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -0
  760. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +4 -0
  761. package/src/themes/sap_horizon_hcb/Input-parameters.css +1 -1
  762. package/src/themes/sap_horizon_hcb/PopupsCommon-parameters.css +3 -0
  763. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +1 -1
  764. package/src/themes/sap_horizon_hcb/parameters-bundle.css +0 -1
  765. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -0
  766. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +4 -0
  767. package/src/themes/sap_horizon_hcw/Input-parameters.css +1 -1
  768. package/src/themes/sap_horizon_hcw/PopupsCommon-parameters.css +3 -0
  769. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +1 -1
  770. package/src/themes/sap_horizon_hcw/parameters-bundle.css +0 -1
  771. package/dist/css/themes/Button.ie11.css +0 -1
  772. package/dist/css/themes/ToggleButton.ie11.css +0 -1
  773. package/dist/generated/themes/Button.ie11.css.js +0 -8
  774. package/dist/generated/themes/ToggleButton.ie11.css.js +0 -8
  775. package/src/themes/Button.ie11.css +0 -48
  776. package/src/themes/ToggleButton.ie11.css +0 -48
@@ -94,7 +94,7 @@ const metadata = {
94
94
  * The SAP-icons font provides numerous options.
95
95
  * <br><br>
96
96
  *
97
- * See all the available icons in the <ui5-link target="_blank" href="https://openui5.hana.ondemand.com/test-resources/sap/m/demokit/iconExplorer/webapp/index.html" class="api-table-content-cell-link">Icon Explorer</ui5-link>.
97
+ * See all the available icons in the <ui5-link target="_blank" href="https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html" class="api-table-content-cell-link">Icon Explorer</ui5-link>.
98
98
  *
99
99
  * @type {sap.ui.webcomponents.main.IIcon}
100
100
  * @slot
@@ -1,4 +1,6 @@
1
1
  import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
2
+ import convertMonthNumbersToMonthNames from "@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js";
3
+ import transformDateToSecondaryType from "@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js";
2
4
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
3
5
  import {
4
6
  isEnter,
@@ -19,12 +21,13 @@ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
19
21
  import CalendarPart from "./CalendarPart.js";
20
22
  import MonthPickerTemplate from "./generated/templates/MonthPickerTemplate.lit.js";
21
23
  import styles from "./generated/themes/MonthPicker.css.js";
24
+
22
25
  /**
23
26
  * @public
24
27
  */
25
28
  const metadata = {
26
29
  tag: "ui5-monthpicker",
27
- properties: /** @lends sap.ui.webcomponents.main.MonthPicker.prototype */ {
30
+ properties: /** @lends sap.ui.webcomponents.main.MonthPicker.prototype */ {
28
31
  /**
29
32
  * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.
30
33
  * @type {Array}
@@ -46,7 +49,7 @@ const metadata = {
46
49
  noAttribute: true,
47
50
  },
48
51
  },
49
- events: /** @lends sap.ui.webcomponents.main.MonthPicker.prototype */ {
52
+ events: /** @lends sap.ui.webcomponents.main.MonthPicker.prototype */ {
50
53
  /**
51
54
  * Fired when the user selects a month (space/enter/click).
52
55
  * @public
@@ -131,6 +134,7 @@ class MonthPicker extends CalendarPart {
131
134
  selected: isSelected,
132
135
  ariaSelected: isSelected ? "true" : "false",
133
136
  name: monthsNames[i],
137
+ nameInSecType: this.secondaryCalendarType && this._getDisplayedSecondaryMonthText(timestamp).text,
134
138
  disabled: isDisabled,
135
139
  classes: "ui5-mp-item",
136
140
  };
@@ -155,6 +159,11 @@ class MonthPicker extends CalendarPart {
155
159
  this._months = months;
156
160
  }
157
161
 
162
+ _getDisplayedSecondaryMonthText(timestamp) {
163
+ const monthsName = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp);
164
+ return convertMonthNumbersToMonthNames(monthsName.firstDate.getMonth(), monthsName.lastDate.getMonth(), this.secondaryCalendarType);
165
+ }
166
+
158
167
  onAfterRendering() {
159
168
  if (!this._hidden) {
160
169
  this.focus();
@@ -27,10 +27,17 @@ import {
27
27
  isDeleteShift,
28
28
  isInsertShift,
29
29
  isInsertCtrl,
30
+ isBackSpace,
31
+ isDelete,
32
+ isEscape,
33
+ isEnter,
30
34
  } from "@ui5/webcomponents-base/dist/Keys.js";
31
35
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
32
36
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
33
- import { isIE, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
37
+ import {
38
+ isPhone,
39
+ isAndroid,
40
+ } from "@ui5/webcomponents-base/dist/Device.js";
34
41
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
35
42
  import "@ui5/webcomponents-icons/dist/decline.js";
36
43
  import "@ui5/webcomponents-icons/dist/multiselect-all.js";
@@ -42,6 +49,8 @@ import "@ui5/webcomponents-icons/dist/information.js";
42
49
  import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
43
50
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
44
51
  import MultiComboBoxItem from "./MultiComboBoxItem.js";
52
+ import MultiComboBoxGroupItem from "./MultiComboBoxGroupItem.js";
53
+ import GroupHeaderListItem from "./GroupHeaderListItem.js";
45
54
  import Tokenizer from "./Tokenizer.js";
46
55
  import Token from "./Token.js";
47
56
  import Icon from "./Icon.js";
@@ -57,6 +66,10 @@ import {
57
66
  VALUE_STATE_ERROR,
58
67
  VALUE_STATE_WARNING,
59
68
  VALUE_STATE_INFORMATION,
69
+ VALUE_STATE_TYPE_SUCCESS,
70
+ VALUE_STATE_TYPE_INFORMATION,
71
+ VALUE_STATE_TYPE_ERROR,
72
+ VALUE_STATE_TYPE_WARNING,
60
73
  INPUT_SUGGESTIONS_TITLE,
61
74
  SELECT_OPTIONS,
62
75
  MULTICOMBOBOX_DIALOG_OK_BUTTON,
@@ -139,6 +152,18 @@ const metadata = {
139
152
  defaultValue: "",
140
153
  },
141
154
 
155
+ /**
156
+ * Defines whether the value will be autcompleted to match an item
157
+ *
158
+ * @type {boolean}
159
+ * @defaultvalue false
160
+ * @public
161
+ * @since 1.4.0
162
+ */
163
+ noTypeahead: {
164
+ type: Boolean,
165
+ },
166
+
142
167
  /**
143
168
  * Defines a short hint intended to aid the user with data entry when the
144
169
  * component has no value.
@@ -249,7 +274,7 @@ const metadata = {
249
274
  },
250
275
 
251
276
  /**
252
- * Defines the accessible aria name of the component.
277
+ * Defines the accessible ARIA name of the component.
253
278
  *
254
279
  * @type {string}
255
280
  * @defaultvalue: ""
@@ -407,7 +432,7 @@ const metadata = {
407
432
  * @extends UI5Element
408
433
  * @tagname ui5-multi-combobox
409
434
  * @public
410
- * @appenddocs MultiComboBoxItem
435
+ * @appenddocs MultiComboBoxItem MultiComboBoxGroupItem
411
436
  * @since 0.11.0
412
437
  */
413
438
  class MultiComboBox extends UI5Element {
@@ -438,6 +463,7 @@ class MultiComboBox extends UI5Element {
438
463
  static get dependencies() {
439
464
  return [
440
465
  MultiComboBoxItem,
466
+ MultiComboBoxGroupItem,
441
467
  Tokenizer,
442
468
  Token,
443
469
  Icon,
@@ -445,6 +471,7 @@ class MultiComboBox extends UI5Element {
445
471
  Popover,
446
472
  List,
447
473
  StandardListItem,
474
+ GroupHeaderListItem,
448
475
  ToggleButton,
449
476
  Button,
450
477
  ];
@@ -460,6 +487,7 @@ class MultiComboBox extends UI5Element {
460
487
  this._deleting = false;
461
488
  this._validationTimeout = null;
462
489
  this._handleResizeBound = this._handleResize.bind(this);
490
+ this.valueBeforeAutoComplete = "";
463
491
  this.currentItemIdx = -1;
464
492
  this.FormSupport = undefined;
465
493
  }
@@ -498,7 +526,8 @@ class MultiComboBox extends UI5Element {
498
526
 
499
527
  filterSelectedItems(event) {
500
528
  this.filterSelected = event.target.pressed;
501
- this.selectedItems = this._filteredItems.filter(item => item.selected);
529
+ const selectedItems = this._filteredItems.filter(item => item.selected);
530
+ this.selectedItems = this.items.filter((item, idx, allItems) => MultiComboBox._groupItemFilter(item, ++idx, allItems, selectedItems) || selectedItems.indexOf(item) !== -1);
502
531
  }
503
532
 
504
533
  get _showAllItemsButtonPressed() {
@@ -521,27 +550,16 @@ class MultiComboBox extends UI5Element {
521
550
  this.filterSelected = false;
522
551
  }
523
552
 
524
- /* skip calling change event when an input with a placeholder is focused on IE
525
- - value of the host and the internal input should be differnt in case of actual input
526
- - input is called when a key is pressed => keyup should not be called yet
527
- */
528
- const skipFiring = (this._inputDom.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
529
-
530
- if (skipFiring) {
531
- event.preventDefault();
532
-
533
- return;
534
- }
535
-
536
553
  if (this._validationTimeout) {
537
554
  input.value = this._inputLastValue;
538
555
  return;
539
556
  }
540
557
 
541
558
  if (!filteredItems.length && value && !this.allowCustomValues) {
542
- input.value = this._inputLastValue;
559
+ input.value = this.valueBeforeAutoComplete || this._inputLastValue;
543
560
  this.valueState = "Error";
544
561
 
562
+ this._shouldAutocomplete = false;
545
563
  this._resetValueState(oldValueState);
546
564
 
547
565
  return;
@@ -599,7 +617,7 @@ class MultiComboBox extends UI5Element {
599
617
 
600
618
  if (!event.relatedTarget || !event.relatedTarget.hasAttribute("ui5-token")) {
601
619
  this._tokenizer.tokens.forEach(token => { token.selected = false; });
602
- this._tokenizer.scrollToStart();
620
+ this._tokenizer.expanded = this._preventTokenizerToggle ? this._tokenizer.expanded : false;
603
621
  }
604
622
 
605
623
  if (allTokensAreBeingDeleted || lastTokenBeingDeleted) {
@@ -618,10 +636,6 @@ class MultiComboBox extends UI5Element {
618
636
  this.focused = false;
619
637
  }
620
638
 
621
- _onkeyup() {
622
- this._keyDown = false;
623
- }
624
-
625
639
  async _onkeydown(event) {
626
640
  const isArrowDownCtrl = isDownCtrl(event);
627
641
 
@@ -660,8 +674,8 @@ class MultiComboBox extends UI5Element {
660
674
  event.preventDefault();
661
675
  }
662
676
 
663
- this._keyDown = true;
664
677
  this[`_handle${event.key}`] && this[`_handle${event.key}`](event);
678
+ this._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(event) || isDelete(event) || isEscape(event) || isEnter(event));
665
679
  }
666
680
 
667
681
  async _handlePaste(event) {
@@ -735,6 +749,13 @@ class MultiComboBox extends UI5Element {
735
749
  }
736
750
 
737
751
  _handleEscape(event) {
752
+ const innerInput = this._innerInput;
753
+ const isAutoCompleted = innerInput.selectionEnd - innerInput.selectionStart > 0;
754
+
755
+ if (isAutoCompleted) {
756
+ this.value = this.valueBeforeAutoComplete;
757
+ }
758
+
738
759
  if (!this.allowCustomValues || (!this.open && this.allowCustomValues)) {
739
760
  this.value = this._lastValue;
740
761
  }
@@ -791,6 +812,7 @@ class MultiComboBox extends UI5Element {
791
812
  }
792
813
 
793
814
  if (isArrowUp || isUpCtrl(event)) {
815
+ this._shouldAutocomplete = true;
794
816
  this._inputDom.focus();
795
817
  }
796
818
  }
@@ -850,6 +872,7 @@ class MultiComboBox extends UI5Element {
850
872
 
851
873
  if (!this.valueStateHeader && isFirstItem && isArrowUp) {
852
874
  this._inputDom.focus();
875
+ this._shouldAutocomplete = true;
853
876
  }
854
877
  }
855
878
 
@@ -883,6 +906,7 @@ class MultiComboBox extends UI5Element {
883
906
  }
884
907
 
885
908
  if (isArrowDown && isOpen && this.valueStateHeader) {
909
+ this.value = this.valueBeforeAutoComplete || this.value;
886
910
  this.valueStateHeader.focus();
887
911
  return;
888
912
  }
@@ -902,6 +926,7 @@ class MultiComboBox extends UI5Element {
902
926
 
903
927
  if (isOpen) {
904
928
  this.list._itemNavigation.setCurrentItem(firstListItem);
929
+ this.value = this.valueBeforeAutoComplete || this.value;
905
930
  firstListItem.focus();
906
931
  } else if (!this.readonly) {
907
932
  this._navigateToNextItem();
@@ -943,11 +968,11 @@ class MultiComboBox extends UI5Element {
943
968
 
944
969
  let currentItem = this.items[++this.currentItemIdx];
945
970
 
946
- while (this.currentItemIdx < itemsCount - 1 && currentItem.selected) {
971
+ while ((this.currentItemIdx < itemsCount - 1 && currentItem.selected) || currentItem.isGroupItem) {
947
972
  currentItem = this.items[++this.currentItemIdx];
948
973
  }
949
974
 
950
- if (currentItem.selected === true) {
975
+ if (currentItem.selected === true || currentItem.isGroupItem) {
951
976
  this.currentItemIdx = previousItemIdx;
952
977
  return;
953
978
  }
@@ -976,7 +1001,7 @@ class MultiComboBox extends UI5Element {
976
1001
 
977
1002
  let currentItem = this.items[--this.currentItemIdx];
978
1003
 
979
- while (currentItem && currentItem.selected && this.currentItemIdx > 0) {
1004
+ while ((currentItem && this.currentItemIdx > 0) && (currentItem.selected || currentItem.isGroupItem)) {
980
1005
  currentItem = this.items[--this.currentItemIdx];
981
1006
  }
982
1007
 
@@ -984,7 +1009,7 @@ class MultiComboBox extends UI5Element {
984
1009
  return;
985
1010
  }
986
1011
 
987
- if (currentItem.selected) {
1012
+ if (currentItem.selected || currentItem.isGroupItem) {
988
1013
  this.currentItemIdx = previousItemIdx;
989
1014
  return;
990
1015
  }
@@ -998,6 +1023,7 @@ class MultiComboBox extends UI5Element {
998
1023
  const lowerCaseValue = this.value.toLowerCase();
999
1024
  const matchingItem = this.items.find(item => item.text.toLowerCase() === lowerCaseValue);
1000
1025
  const oldValueState = this.valueState;
1026
+ const innerInput = this._innerInput;
1001
1027
 
1002
1028
  if (this.FormSupport) {
1003
1029
  this.FormSupport.triggerFormSubmit(this);
@@ -1020,6 +1046,7 @@ class MultiComboBox extends UI5Element {
1020
1046
  this.fireSelectionChange();
1021
1047
  }
1022
1048
 
1049
+ innerInput.setSelectionRange(matchingItem.text.length, matchingItem.text.length);
1023
1050
  this.allItemsPopover.close();
1024
1051
  }
1025
1052
  }
@@ -1037,7 +1064,7 @@ class MultiComboBox extends UI5Element {
1037
1064
  const isCtrl = !!(event.metaKey || event.ctrlKey);
1038
1065
 
1039
1066
  if (isRight(event)) {
1040
- const lastTokenIndex = this._tokenizer.tokens.length - 1;
1067
+ const lastTokenIndex = this._tokenizer.tokens.length - this._tokenizer.overflownTokens.length - 1;
1041
1068
 
1042
1069
  if (event.target === this._tokenizer.tokens[lastTokenIndex]) {
1043
1070
  setTimeout(() => {
@@ -1077,12 +1104,35 @@ class MultiComboBox extends UI5Element {
1077
1104
  }
1078
1105
 
1079
1106
  if (isShow(event) && !this.readonly && !this.disabled) {
1107
+ this._preventTokenizerToggle = true;
1080
1108
  this._handleShow(event);
1081
1109
  }
1082
1110
  }
1083
1111
 
1084
1112
  _filterItems(str) {
1085
- return (Filters[this.filter] || Filters.StartsWithPerTerm)(str, this.items, "text");
1113
+ const itemsToFilter = this.items.filter(item => !item.isGroupItem);
1114
+ const filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter, "text");
1115
+
1116
+ // Return the filtered items and their group items
1117
+ return this.items.filter((item, idx, allItems) => MultiComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);
1118
+ }
1119
+
1120
+ /**
1121
+ * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)
1122
+ *
1123
+ * @private
1124
+ */
1125
+ static _groupItemFilter(item, idx, allItems, filteredItems) {
1126
+ if (item.isGroupItem) {
1127
+ let groupHasFilteredItems;
1128
+
1129
+ while (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {
1130
+ groupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;
1131
+ idx++;
1132
+ }
1133
+
1134
+ return groupHasFilteredItems;
1135
+ }
1086
1136
  }
1087
1137
 
1088
1138
  _afterOpenPicker() {
@@ -1130,6 +1180,8 @@ class MultiComboBox extends UI5Element {
1130
1180
 
1131
1181
  this.fireEvent("input");
1132
1182
  }
1183
+
1184
+ this.value = this.valueBeforeAutoComplete || "";
1133
1185
  }
1134
1186
 
1135
1187
  syncItems(listItems) {
@@ -1175,6 +1227,7 @@ class MultiComboBox extends UI5Element {
1175
1227
  this._toggle();
1176
1228
 
1177
1229
  this._iconPressed = false;
1230
+ this._preventTokenizerToggle = false;
1178
1231
  this.filterSelected = false;
1179
1232
  }
1180
1233
 
@@ -1189,16 +1242,54 @@ class MultiComboBox extends UI5Element {
1189
1242
  this._valueBeforeOpen = this.value;
1190
1243
 
1191
1244
  if (this.filterSelected) {
1192
- this.selectedItems = this._filteredItems.filter(item => item.selected);
1245
+ const selectedItems = this._filteredItems.filter(item => item.selected);
1246
+ this.selectedItems = this.items.filter((item, idx, allItems) => MultiComboBox._groupItemFilter(item, ++idx, allItems, selectedItems) || selectedItems.indexOf(item) !== -1);
1193
1247
  }
1194
1248
  }
1195
1249
 
1250
+ _handleTypeAhead(item, filterValue) {
1251
+ if (!item) {
1252
+ return;
1253
+ }
1254
+
1255
+ const value = item.text;
1256
+ const innerInput = this._innerInput;
1257
+
1258
+ filterValue = filterValue || "";
1259
+ this.value = value;
1260
+
1261
+ innerInput.value = value;
1262
+ innerInput.setSelectionRange(filterValue.length, value.length);
1263
+
1264
+ this._shouldAutocomplete = false;
1265
+ }
1266
+
1267
+ _getFirstMatchingItem(current) {
1268
+ if (!this.items.length) {
1269
+ return;
1270
+ }
1271
+
1272
+ const matchingItems = this._startsWithMatchingItems(current).filter(item => !item.isGroupItem && !item.selected);
1273
+
1274
+ if (matchingItems.length) {
1275
+ return matchingItems[0];
1276
+ }
1277
+ }
1278
+
1279
+ _startsWithMatchingItems(str) {
1280
+ return Filters.StartsWith(str, this.items, "text");
1281
+ }
1282
+
1196
1283
  onBeforeRendering() {
1197
- const input = this.shadowRoot.querySelector("input");
1284
+ const input = this._innerInput;
1285
+ const autoCompletedChars = input && input.selectionEnd - input.selectionStart;
1286
+ const value = input && input.value;
1287
+
1198
1288
  this.FormSupport = getFeature("FormSupport");
1199
- this._inputLastValue = this.value;
1289
+ this._inputLastValue = value;
1200
1290
 
1201
1291
  if (input && !input.value) {
1292
+ this.valueBeforeAutoComplete = "";
1202
1293
  this._filteredItems = this.items;
1203
1294
  }
1204
1295
 
@@ -1206,8 +1297,22 @@ class MultiComboBox extends UI5Element {
1206
1297
  item._getRealDomRef = () => this.allItemsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
1207
1298
  });
1208
1299
 
1300
+ if (!input || !value) {
1301
+ return;
1302
+ }
1303
+
1304
+ // Typehead causes issues on Android devices, so we disable it for now
1305
+ // If there is already a selection the autocomplete has already been performed
1306
+ if (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars) {
1307
+ const item = this._getFirstMatchingItem(value);
1308
+
1309
+ // Keep the original typed in text intact
1310
+ this.valueBeforeAutoComplete = value;
1311
+ this._handleTypeAhead(item, value);
1312
+ }
1313
+
1209
1314
  if (this._shouldFilterItems) {
1210
- this._filteredItems = this._filterItems(this.value);
1315
+ this._filteredItems = this._filterItems(this._shouldAutocomplete || !!autoCompletedChars ? this.valueBeforeAutoComplete : value);
1211
1316
  } else {
1212
1317
  this._filteredItems = this.items;
1213
1318
  }
@@ -1300,21 +1405,26 @@ class MultiComboBox extends UI5Element {
1300
1405
  return this.shadowRoot.querySelector("[ui5-tokenizer]");
1301
1406
  }
1302
1407
 
1303
- inputFocusIn() {
1408
+ inputFocusIn(event) {
1304
1409
  if (!isPhone() || this.readonly) {
1305
1410
  this.focused = true;
1411
+ this._tokenizer.expanded = true;
1306
1412
  } else {
1307
1413
  this._innerInput.blur();
1308
1414
  }
1309
1415
 
1310
- !isPhone() && this._innerInput.setSelectionRange(0, this.value.length);
1416
+ if (!isPhone() && ((event.relatedTarget && event.relatedTarget.tagName !== "UI5-STATIC-AREA-ITEM") || !event.relatedTarget)) {
1417
+ this._innerInput.setSelectionRange(0, this.value.length);
1418
+ }
1419
+
1311
1420
  this._lastValue = this.value;
1421
+ this.valueBeforeAutoComplete = "";
1312
1422
  }
1313
1423
 
1314
1424
  inputFocusOut(event) {
1315
1425
  if (!this.shadowRoot.contains(event.relatedTarget) && !this._deleting) {
1316
1426
  this.focused = false;
1317
-
1427
+ this._tokenizer.expanded = this.open;
1318
1428
  // remove the value if user focus out the input and focus is not going in the popover
1319
1429
  if (!isPhone() && !this.allowCustomValues && (this.staticAreaItem !== event.relatedTarget)) {
1320
1430
  this.value = "";
@@ -1346,7 +1456,19 @@ class MultiComboBox extends UI5Element {
1346
1456
  return this.hasValueState && this.valueState !== ValueState.Success;
1347
1457
  }
1348
1458
 
1349
- get valueStateText() {
1459
+ get ariaValueStateHiddenText() {
1460
+ if (!this.hasValueState) {
1461
+ return;
1462
+ }
1463
+
1464
+ if (this.shouldDisplayDefaultValueStateMessage) {
1465
+ return `${this.valueStateTypeMappings[this.valueState]} ${this.valueStateDefaultText}`;
1466
+ }
1467
+
1468
+ return `${this.valueStateTypeMappings[this.valueState]}`.concat(" ", this.valueStateMessageText.map(el => el.textContent).join(" "));
1469
+ }
1470
+
1471
+ get valueStateDefaultText() {
1350
1472
  let key = this.valueState;
1351
1473
 
1352
1474
  if (this._performingSelectionTwice) {
@@ -1419,14 +1541,23 @@ class MultiComboBox extends UI5Element {
1419
1541
  };
1420
1542
  }
1421
1543
 
1544
+ get valueStateTypeMappings() {
1545
+ return {
1546
+ "Success": MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
1547
+ "Information": MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),
1548
+ "Error": MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
1549
+ "Warning": MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
1550
+ };
1551
+ }
1552
+
1422
1553
  get _innerInput() {
1423
1554
  if (isPhone()) {
1424
- if (this.allItemsPopover.opened) {
1555
+ if (this.allItemsPopover && this.allItemsPopover.opened) {
1425
1556
  return this.allItemsPopover.querySelector("input");
1426
1557
  }
1427
1558
  }
1428
1559
 
1429
- return this.getDomRef().querySelector("#ui5-multi-combobox-input");
1560
+ return this.getDomRef() ? this.getDomRef().querySelector("#ui5-multi-combobox-input") : null;
1430
1561
  }
1431
1562
 
1432
1563
  get _headerTitleText() {
@@ -1442,7 +1573,18 @@ class MultiComboBox extends UI5Element {
1442
1573
  }
1443
1574
 
1444
1575
  get _tokenizerExpanded() {
1445
- return (this._isFocusInside || this.open) && !this.readonly;
1576
+ if (isPhone() || this.readonly) {
1577
+ return false;
1578
+ }
1579
+
1580
+ if (this._preventTokenizerToggle) {
1581
+ return this._tokenizer.expanded;
1582
+ }
1583
+
1584
+ const isCurrentlyExpanded = !!this._tokenizer && this._tokenizer.expanded;
1585
+ const shouldBeExpanded = this.focused || this.open || isCurrentlyExpanded;
1586
+
1587
+ return shouldBeExpanded;
1446
1588
  }
1447
1589
 
1448
1590
  get _valueStatePopoverHorizontalAlign() {
@@ -1468,6 +1610,7 @@ class MultiComboBox extends UI5Element {
1468
1610
  }
1469
1611
 
1470
1612
  get styles() {
1613
+ const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1471
1614
  return {
1472
1615
  popoverValueStateMessage: {
1473
1616
  "width": `${this._listWidth}px`,
@@ -1476,6 +1619,10 @@ class MultiComboBox extends UI5Element {
1476
1619
  popoverHeader: {
1477
1620
  "max-width": isPhone() ? "100%" : `${this._inputWidth}px`,
1478
1621
  },
1622
+ suggestionsPopover: {
1623
+ "min-width": `${this._inputWidth}px`,
1624
+ "max-width": (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
1625
+ },
1479
1626
  };
1480
1627
  }
1481
1628
 
@@ -0,0 +1,67 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import GroupHeaderListItem from "./GroupHeaderListItem.js";
3
+
4
+ /**
5
+ * @public
6
+ */
7
+ const metadata = {
8
+ tag: "ui5-mcb-group-item",
9
+ properties: /** @lends sap.ui.webcomponents.main.MultiComboBoxGroupItem.prototype */ {
10
+ /**
11
+ * Defines the text of the component.
12
+ *
13
+ * @type {string}
14
+ * @defaultvalue ""
15
+ * @public
16
+ */
17
+ text: {
18
+ type: String,
19
+ },
20
+ },
21
+ slots: /** @lends sap.ui.webcomponents.main.MultiComboBoxGroupItem.prototype */ {
22
+ },
23
+ events: /** @lends sap.ui.webcomponents.main.MultiComboBoxGroupItem.prototype */ {
24
+ },
25
+ };
26
+
27
+ /**
28
+ * @class
29
+ * The <code>ui5-mcb-group-item</code> is type of suggestion item,
30
+ * that can be used to split the <code>ui5-multi-combobox</code> suggestions into groups.
31
+ *
32
+ * @constructor
33
+ * @author SAP SE
34
+ * @alias sap.ui.webcomponents.main.MultiComboBoxGroupItem
35
+ * @extends UI5Element
36
+ * @tagname ui5-mcb-group-item
37
+ * @public
38
+ * @implements sap.ui.webcomponents.main.IMultiComboBoxItem
39
+ * @since 1.4.0
40
+ */
41
+ class MultiComboBoxGroupItem extends UI5Element {
42
+ static get metadata() {
43
+ return metadata;
44
+ }
45
+
46
+ static get dependencies() {
47
+ return [
48
+ GroupHeaderListItem,
49
+ ];
50
+ }
51
+
52
+ /**
53
+ * Used to avoid tag name checks
54
+ * @protected
55
+ */
56
+ get isGroupItem() {
57
+ return true;
58
+ }
59
+
60
+ get stableDomRef() {
61
+ return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
62
+ }
63
+ }
64
+
65
+ MultiComboBoxGroupItem.define();
66
+
67
+ export default MultiComboBoxGroupItem;
@@ -5,7 +5,7 @@ import ComboBoxItem from "./ComboBoxItem.js";
5
5
  */
6
6
  const metadata = {
7
7
  tag: "ui5-mcb-item",
8
- properties: /** @lends sap.ui.webcomponents.main.MultiComboBoxItem.prototype */ {
8
+ properties: /** @lends sap.ui.webcomponents.main.MultiComboBoxItem.prototype */ {
9
9
  /**
10
10
  * Defines the selected state of the component.
11
11
  * @type {boolean}