@ui5/webcomponents 1.22.0-rc.0 → 1.22.0-rc.2

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 (565) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarGroup.js.map +1 -1
  4. package/dist/Breadcrumbs.js.map +1 -1
  5. package/dist/Calendar.js +1 -0
  6. package/dist/Calendar.js.map +1 -1
  7. package/dist/Card.d.ts +2 -0
  8. package/dist/Card.js +2 -0
  9. package/dist/Card.js.map +1 -1
  10. package/dist/Carousel.js.map +1 -1
  11. package/dist/CheckBox.d.ts +17 -0
  12. package/dist/CheckBox.js +22 -3
  13. package/dist/CheckBox.js.map +1 -1
  14. package/dist/ColorPalette.d.ts +2 -1
  15. package/dist/ColorPalette.js +5 -2
  16. package/dist/ColorPalette.js.map +1 -1
  17. package/dist/ColorPalettePopover.js.map +1 -1
  18. package/dist/ComboBox.d.ts +14 -0
  19. package/dist/ComboBox.js +57 -17
  20. package/dist/ComboBox.js.map +1 -1
  21. package/dist/CustomListItem.js.map +1 -1
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/DateTimePicker.d.ts +1 -0
  24. package/dist/DateTimePicker.js +4 -0
  25. package/dist/DateTimePicker.js.map +1 -1
  26. package/dist/FileUploader.js.map +1 -1
  27. package/dist/Input.d.ts +3 -3
  28. package/dist/Input.js +6 -5
  29. package/dist/Input.js.map +1 -1
  30. package/dist/Interfaces.d.ts +5 -0
  31. package/dist/Interfaces.js.map +1 -1
  32. package/dist/Link.js.map +1 -1
  33. package/dist/List.js +13 -1
  34. package/dist/List.js.map +1 -1
  35. package/dist/ListItem.d.ts +2 -7
  36. package/dist/ListItem.js +1 -8
  37. package/dist/ListItem.js.map +1 -1
  38. package/dist/Menu.js.map +1 -1
  39. package/dist/MultiComboBox.d.ts +31 -6
  40. package/dist/MultiComboBox.js +173 -35
  41. package/dist/MultiComboBox.js.map +1 -1
  42. package/dist/MultiComboBoxGroupItem.d.ts +1 -0
  43. package/dist/MultiComboBoxGroupItem.js +1 -0
  44. package/dist/MultiComboBoxGroupItem.js.map +1 -1
  45. package/dist/MultiComboBoxItem.js.map +1 -1
  46. package/dist/MultiInput.js.map +1 -1
  47. package/dist/NavigationMenu.d.ts +12 -7
  48. package/dist/NavigationMenu.js +7 -10
  49. package/dist/NavigationMenu.js.map +1 -1
  50. package/dist/NavigationMenuItem.d.ts +4 -12
  51. package/dist/NavigationMenuItem.js +2 -6
  52. package/dist/NavigationMenuItem.js.map +1 -1
  53. package/dist/Panel.d.ts +0 -2
  54. package/dist/Panel.js.map +1 -1
  55. package/dist/Popup.js.map +1 -1
  56. package/dist/SegmentedButton.js.map +1 -1
  57. package/dist/SegmentedButtonItem.js.map +1 -1
  58. package/dist/Select.js.map +1 -1
  59. package/dist/SelectMenu.js.map +1 -1
  60. package/dist/SelectMenuOption.js.map +1 -1
  61. package/dist/StandardListItem.js.map +1 -1
  62. package/dist/SuggestionItem.d.ts +0 -2
  63. package/dist/SuggestionItem.js.map +1 -1
  64. package/dist/Switch.js +1 -0
  65. package/dist/Switch.js.map +1 -1
  66. package/dist/TabContainer.js.map +1 -1
  67. package/dist/Table.js.map +1 -1
  68. package/dist/TableGroupRow.d.ts +1 -9
  69. package/dist/TableGroupRow.js +1 -0
  70. package/dist/TableGroupRow.js.map +1 -1
  71. package/dist/TableRow.d.ts +2 -8
  72. package/dist/TableRow.js.map +1 -1
  73. package/dist/TimePickerBase.js.map +1 -1
  74. package/dist/TimePickerClock.js.map +1 -1
  75. package/dist/TimePickerInternals.js.map +1 -1
  76. package/dist/TimeSelection.d.ts +1 -0
  77. package/dist/TimeSelection.js +3 -0
  78. package/dist/TimeSelection.js.map +1 -1
  79. package/dist/Token.js.map +1 -1
  80. package/dist/Tokenizer.d.ts +1 -1
  81. package/dist/Tokenizer.js +5 -4
  82. package/dist/Tokenizer.js.map +1 -1
  83. package/dist/ToolbarSelect.js.map +1 -1
  84. package/dist/Tree.d.ts +1 -1
  85. package/dist/Tree.js.map +1 -1
  86. package/dist/TreeItem.d.ts +0 -10
  87. package/dist/TreeItem.js +0 -4
  88. package/dist/TreeItem.js.map +1 -1
  89. package/dist/TreeItemBase.d.ts +0 -14
  90. package/dist/TreeItemBase.js +0 -7
  91. package/dist/TreeItemBase.js.map +1 -1
  92. package/dist/WheelSlider.d.ts +1 -0
  93. package/dist/WheelSlider.js +4 -2
  94. package/dist/WheelSlider.js.map +1 -1
  95. package/dist/css/themes/Avatar.css +1 -1
  96. package/dist/css/themes/AvatarGroup.css +1 -1
  97. package/dist/css/themes/Badge.css +1 -1
  98. package/dist/css/themes/Breadcrumbs.css +1 -1
  99. package/dist/css/themes/BusyIndicator.css +1 -1
  100. package/dist/css/themes/Button.css +1 -1
  101. package/dist/css/themes/Calendar.css +1 -1
  102. package/dist/css/themes/CalendarHeader.css +1 -1
  103. package/dist/css/themes/Card.css +1 -1
  104. package/dist/css/themes/CardHeader.css +1 -1
  105. package/dist/css/themes/Carousel.css +1 -1
  106. package/dist/css/themes/CheckBox.css +1 -1
  107. package/dist/css/themes/ColorPalette.css +1 -1
  108. package/dist/css/themes/ColorPaletteItem.css +1 -1
  109. package/dist/css/themes/ColorPalettePopover.css +1 -1
  110. package/dist/css/themes/ColorPicker.css +1 -1
  111. package/dist/css/themes/ComboBox.css +1 -1
  112. package/dist/css/themes/CustomListItem.css +1 -1
  113. package/dist/css/themes/DatePicker.css +1 -1
  114. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  115. package/dist/css/themes/DayPicker.css +1 -1
  116. package/dist/css/themes/Dialog.css +1 -1
  117. package/dist/css/themes/FileUploader.css +1 -1
  118. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  119. package/dist/css/themes/GrowingButton.css +1 -1
  120. package/dist/css/themes/Icon.css +1 -1
  121. package/dist/css/themes/Input.css +1 -1
  122. package/dist/css/themes/InputIcon.css +1 -1
  123. package/dist/css/themes/InputSharedStyles.css +1 -1
  124. package/dist/css/themes/Link.css +1 -1
  125. package/dist/css/themes/List.css +1 -1
  126. package/dist/css/themes/ListItem.css +1 -1
  127. package/dist/css/themes/ListItemBase.css +1 -1
  128. package/dist/css/themes/Menu.css +1 -1
  129. package/dist/css/themes/MessageStrip.css +1 -1
  130. package/dist/css/themes/MonthPicker.css +1 -1
  131. package/dist/css/themes/MultiComboBox.css +1 -1
  132. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  133. package/dist/css/themes/MultiInput.css +1 -1
  134. package/dist/css/themes/NavigationMenu.css +1 -1
  135. package/dist/css/themes/Panel.css +1 -1
  136. package/dist/css/themes/Popover.css +1 -1
  137. package/dist/css/themes/PopupsCommon.css +1 -1
  138. package/dist/css/themes/ProgressIndicator.css +1 -1
  139. package/dist/css/themes/RadioButton.css +1 -1
  140. package/dist/css/themes/RangeSlider.css +1 -1
  141. package/dist/css/themes/RatingIndicator.css +1 -1
  142. package/dist/css/themes/ResponsivePopover.css +1 -1
  143. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  144. package/dist/css/themes/SegmentedButton.css +1 -1
  145. package/dist/css/themes/Select.css +1 -1
  146. package/dist/css/themes/SelectMenu.css +1 -1
  147. package/dist/css/themes/SelectPopover.css +1 -1
  148. package/dist/css/themes/SliderBase.css +1 -1
  149. package/dist/css/themes/SplitButton.css +1 -1
  150. package/dist/css/themes/StepInput.css +1 -1
  151. package/dist/css/themes/Switch.css +1 -1
  152. package/dist/css/themes/TabContainer.css +1 -1
  153. package/dist/css/themes/TabInOverflow.css +1 -1
  154. package/dist/css/themes/TabInStrip.css +1 -1
  155. package/dist/css/themes/TabSemanticIcon.css +1 -1
  156. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  157. package/dist/css/themes/Table.css +1 -1
  158. package/dist/css/themes/TableCell.css +1 -1
  159. package/dist/css/themes/TableColumn.css +1 -1
  160. package/dist/css/themes/TableGroupRow.css +1 -1
  161. package/dist/css/themes/TableRow.css +1 -1
  162. package/dist/css/themes/TextArea.css +1 -1
  163. package/dist/css/themes/TimePicker.css +1 -1
  164. package/dist/css/themes/Toast.css +1 -1
  165. package/dist/css/themes/ToggleButton.css +1 -1
  166. package/dist/css/themes/Token.css +1 -1
  167. package/dist/css/themes/Tokenizer.css +1 -1
  168. package/dist/css/themes/TokenizerPopover.css +1 -1
  169. package/dist/css/themes/Toolbar.css +1 -1
  170. package/dist/css/themes/ToolbarPopover.css +1 -1
  171. package/dist/css/themes/TreeItem.css +1 -1
  172. package/dist/css/themes/ValueStateMessage.css +1 -1
  173. package/dist/css/themes/WheelSlider.css +1 -1
  174. package/dist/css/themes/YearPicker.css +1 -1
  175. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  177. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  178. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  179. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  180. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  181. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  182. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  183. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  184. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  185. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  186. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  187. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  188. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  189. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  190. package/dist/custom-elements-internal.json +799 -1612
  191. package/dist/custom-elements.json +768 -1505
  192. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  240. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  241. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  242. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  243. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  255. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  256. package/dist/generated/i18n/i18n-defaults.js +4 -1
  257. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  258. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  259. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  260. package/dist/generated/templates/CardTemplate.lit.js +1 -1
  261. package/dist/generated/templates/CardTemplate.lit.js.map +1 -1
  262. package/dist/generated/templates/CheckBoxTemplate.lit.js +6 -4
  263. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  264. package/dist/generated/templates/ColorPaletteTemplate.lit.js +2 -2
  265. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  266. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -19
  267. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  268. package/dist/generated/templates/ComboBoxTemplate.lit.js +4 -3
  269. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  270. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  271. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  272. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  273. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  274. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +27 -24
  275. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  276. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -3
  277. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  278. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  279. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  280. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  281. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  282. package/dist/generated/templates/TimeSelectionTemplate.lit.js +4 -4
  283. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/WheelSliderTemplate.lit.js +1 -1
  285. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +1 -1
  286. package/dist/generated/themes/Avatar.css.js +1 -1
  287. package/dist/generated/themes/Avatar.css.js.map +1 -1
  288. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  289. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  290. package/dist/generated/themes/Badge.css.js +1 -1
  291. package/dist/generated/themes/Badge.css.js.map +1 -1
  292. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  293. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  294. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  295. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  296. package/dist/generated/themes/Button.css.js +1 -1
  297. package/dist/generated/themes/Button.css.js.map +1 -1
  298. package/dist/generated/themes/Calendar.css.js +1 -1
  299. package/dist/generated/themes/Calendar.css.js.map +1 -1
  300. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  301. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  302. package/dist/generated/themes/Card.css.js +1 -1
  303. package/dist/generated/themes/Card.css.js.map +1 -1
  304. package/dist/generated/themes/CardHeader.css.js +1 -1
  305. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  306. package/dist/generated/themes/Carousel.css.js +1 -1
  307. package/dist/generated/themes/Carousel.css.js.map +1 -1
  308. package/dist/generated/themes/CheckBox.css.js +1 -1
  309. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  310. package/dist/generated/themes/ColorPalette.css.js +1 -1
  311. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  312. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  313. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  314. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  315. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  316. package/dist/generated/themes/ColorPicker.css.js +1 -1
  317. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  318. package/dist/generated/themes/ComboBox.css.js +1 -1
  319. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  320. package/dist/generated/themes/CustomListItem.css.js +1 -1
  321. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  322. package/dist/generated/themes/DatePicker.css.js +1 -1
  323. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  324. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  325. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  326. package/dist/generated/themes/DayPicker.css.js +1 -1
  327. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  328. package/dist/generated/themes/Dialog.css.js +1 -1
  329. package/dist/generated/themes/Dialog.css.js.map +1 -1
  330. package/dist/generated/themes/FileUploader.css.js +1 -1
  331. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  332. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  333. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  334. package/dist/generated/themes/GrowingButton.css.js +1 -1
  335. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  336. package/dist/generated/themes/Icon.css.js +1 -1
  337. package/dist/generated/themes/Icon.css.js.map +1 -1
  338. package/dist/generated/themes/Input.css.js +1 -1
  339. package/dist/generated/themes/Input.css.js.map +1 -1
  340. package/dist/generated/themes/InputIcon.css.js +1 -1
  341. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  342. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  343. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  344. package/dist/generated/themes/Link.css.js +1 -1
  345. package/dist/generated/themes/Link.css.js.map +1 -1
  346. package/dist/generated/themes/List.css.js +1 -1
  347. package/dist/generated/themes/List.css.js.map +1 -1
  348. package/dist/generated/themes/ListItem.css.js +1 -1
  349. package/dist/generated/themes/ListItem.css.js.map +1 -1
  350. package/dist/generated/themes/ListItemBase.css.js +1 -1
  351. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  352. package/dist/generated/themes/Menu.css.js +1 -1
  353. package/dist/generated/themes/Menu.css.js.map +1 -1
  354. package/dist/generated/themes/MessageStrip.css.js +1 -1
  355. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  356. package/dist/generated/themes/MonthPicker.css.js +1 -1
  357. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  358. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  359. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  360. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  361. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  362. package/dist/generated/themes/MultiInput.css.js +1 -1
  363. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  364. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  365. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  366. package/dist/generated/themes/Panel.css.js +1 -1
  367. package/dist/generated/themes/Panel.css.js.map +1 -1
  368. package/dist/generated/themes/Popover.css.js +1 -1
  369. package/dist/generated/themes/Popover.css.js.map +1 -1
  370. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  371. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  372. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  373. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  374. package/dist/generated/themes/RadioButton.css.js +1 -1
  375. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  376. package/dist/generated/themes/RangeSlider.css.js +1 -1
  377. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  378. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  379. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  380. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  381. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  382. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  383. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  384. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  385. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  386. package/dist/generated/themes/Select.css.js +1 -1
  387. package/dist/generated/themes/Select.css.js.map +1 -1
  388. package/dist/generated/themes/SelectMenu.css.js +1 -1
  389. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  390. package/dist/generated/themes/SelectPopover.css.js +1 -1
  391. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  392. package/dist/generated/themes/SliderBase.css.js +1 -1
  393. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  394. package/dist/generated/themes/SplitButton.css.js +1 -1
  395. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  396. package/dist/generated/themes/StepInput.css.js +1 -1
  397. package/dist/generated/themes/StepInput.css.js.map +1 -1
  398. package/dist/generated/themes/Switch.css.js +1 -1
  399. package/dist/generated/themes/Switch.css.js.map +1 -1
  400. package/dist/generated/themes/TabContainer.css.js +1 -1
  401. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  402. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  403. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  404. package/dist/generated/themes/TabInStrip.css.js +1 -1
  405. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  406. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  407. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  408. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  409. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  410. package/dist/generated/themes/Table.css.js +1 -1
  411. package/dist/generated/themes/Table.css.js.map +1 -1
  412. package/dist/generated/themes/TableCell.css.js +1 -1
  413. package/dist/generated/themes/TableCell.css.js.map +1 -1
  414. package/dist/generated/themes/TableColumn.css.js +1 -1
  415. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  416. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  417. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  418. package/dist/generated/themes/TableRow.css.js +1 -1
  419. package/dist/generated/themes/TableRow.css.js.map +1 -1
  420. package/dist/generated/themes/TextArea.css.js +1 -1
  421. package/dist/generated/themes/TextArea.css.js.map +1 -1
  422. package/dist/generated/themes/TimePicker.css.js +1 -1
  423. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  424. package/dist/generated/themes/Toast.css.js +1 -1
  425. package/dist/generated/themes/Toast.css.js.map +1 -1
  426. package/dist/generated/themes/ToggleButton.css.js +1 -1
  427. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  428. package/dist/generated/themes/Token.css.js +1 -1
  429. package/dist/generated/themes/Token.css.js.map +1 -1
  430. package/dist/generated/themes/Tokenizer.css.js +1 -1
  431. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  432. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  433. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  434. package/dist/generated/themes/Toolbar.css.js +1 -1
  435. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  436. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  437. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  438. package/dist/generated/themes/TreeItem.css.js +1 -1
  439. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  440. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  441. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  442. package/dist/generated/themes/WheelSlider.css.js +1 -1
  443. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  444. package/dist/generated/themes/YearPicker.css.js +1 -1
  445. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  446. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  448. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  449. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  450. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  451. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  452. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  453. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  454. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  455. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  456. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  457. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  458. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  459. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  461. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  462. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  463. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  464. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  465. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  466. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  467. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  468. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  469. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  470. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  471. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  472. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  473. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  474. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  475. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  476. package/package-scripts.cjs +1 -0
  477. package/package.json +9 -9
  478. package/src/Breadcrumbs.hbs +2 -0
  479. package/src/Card.hbs +3 -2
  480. package/src/CheckBox.hbs +25 -18
  481. package/src/ColorPalette.hbs +2 -2
  482. package/src/ComboBox.hbs +6 -0
  483. package/src/ComboBoxPopover.hbs +11 -15
  484. package/src/DateTimePickerPopover.hbs +1 -0
  485. package/src/Input.hbs +1 -1
  486. package/src/MultiComboBox.hbs +6 -0
  487. package/src/MultiComboBoxPopover.hbs +26 -17
  488. package/src/SplitButton.hbs +1 -7
  489. package/src/TimeSelection.hbs +4 -0
  490. package/src/WheelSlider.hbs +1 -0
  491. package/src/i18n/messagebundle.properties +10 -1
  492. package/src/i18n/messagebundle_ar.properties +17 -1
  493. package/src/i18n/messagebundle_bg.properties +17 -1
  494. package/src/i18n/messagebundle_ca.properties +17 -1
  495. package/src/i18n/messagebundle_cnr.properties +17 -1
  496. package/src/i18n/messagebundle_cs.properties +17 -1
  497. package/src/i18n/messagebundle_cy.properties +17 -1
  498. package/src/i18n/messagebundle_da.properties +17 -1
  499. package/src/i18n/messagebundle_de.properties +17 -1
  500. package/src/i18n/messagebundle_el.properties +17 -1
  501. package/src/i18n/messagebundle_en.properties +17 -1
  502. package/src/i18n/messagebundle_en_GB.properties +17 -1
  503. package/src/i18n/messagebundle_en_US_saprigi.properties +17 -1
  504. package/src/i18n/messagebundle_es.properties +17 -1
  505. package/src/i18n/messagebundle_es_MX.properties +17 -1
  506. package/src/i18n/messagebundle_et.properties +17 -1
  507. package/src/i18n/messagebundle_fi.properties +17 -1
  508. package/src/i18n/messagebundle_fr.properties +17 -1
  509. package/src/i18n/messagebundle_fr_CA.properties +17 -1
  510. package/src/i18n/messagebundle_hi.properties +17 -1
  511. package/src/i18n/messagebundle_hr.properties +17 -1
  512. package/src/i18n/messagebundle_hu.properties +17 -1
  513. package/src/i18n/messagebundle_id.properties +17 -1
  514. package/src/i18n/messagebundle_it.properties +17 -1
  515. package/src/i18n/messagebundle_iw.properties +17 -1
  516. package/src/i18n/messagebundle_ja.properties +17 -1
  517. package/src/i18n/messagebundle_kk.properties +17 -1
  518. package/src/i18n/messagebundle_ko.properties +19 -3
  519. package/src/i18n/messagebundle_lt.properties +17 -1
  520. package/src/i18n/messagebundle_lv.properties +17 -1
  521. package/src/i18n/messagebundle_mk.properties +17 -1
  522. package/src/i18n/messagebundle_ms.properties +17 -1
  523. package/src/i18n/messagebundle_nl.properties +17 -1
  524. package/src/i18n/messagebundle_no.properties +20 -4
  525. package/src/i18n/messagebundle_pl.properties +17 -1
  526. package/src/i18n/messagebundle_pt.properties +17 -1
  527. package/src/i18n/messagebundle_pt_PT.properties +17 -1
  528. package/src/i18n/messagebundle_ro.properties +17 -1
  529. package/src/i18n/messagebundle_ru.properties +23 -7
  530. package/src/i18n/messagebundle_sh.properties +17 -1
  531. package/src/i18n/messagebundle_sk.properties +17 -1
  532. package/src/i18n/messagebundle_sl.properties +17 -1
  533. package/src/i18n/messagebundle_sr.properties +17 -1
  534. package/src/i18n/messagebundle_sv.properties +17 -1
  535. package/src/i18n/messagebundle_th.properties +17 -1
  536. package/src/i18n/messagebundle_tr.properties +17 -1
  537. package/src/i18n/messagebundle_uk.properties +17 -1
  538. package/src/i18n/messagebundle_vi.properties +17 -1
  539. package/src/i18n/messagebundle_zh_CN.properties +17 -1
  540. package/src/i18n/messagebundle_zh_TW.properties +17 -1
  541. package/src/themes/Breadcrumbs.css +22 -22
  542. package/src/themes/CheckBox.css +18 -1
  543. package/src/themes/List.css +5 -0
  544. package/src/themes/MultiComboBoxPopover.css +31 -0
  545. package/src/themes/SplitButton.css +62 -162
  546. package/src/themes/TextArea.css +1 -0
  547. package/src/themes/ValueStateMessage.css +1 -1
  548. package/src/themes/base/SplitButton-parameters.css +3 -24
  549. package/src/themes/base/rtl-parameters.css +0 -14
  550. package/src/themes/base/sizes-parameters.css +1 -2
  551. package/src/themes/sap_fiori_3_dark/Badge-parameters.css +5 -0
  552. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  553. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +3 -0
  554. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +10 -11
  555. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +3 -0
  556. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +10 -10
  557. package/src/themes/sap_horizon/SplitButton-parameters.css +1 -14
  558. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +1 -15
  559. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -15
  560. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -15
  561. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +10 -10
  562. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +10 -10
  563. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +10 -10
  564. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +10 -10
  565. package/tsconfig.json +1 -0
@@ -16,6 +16,7 @@ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
16
16
  import { isShow, isDown, isUp, isSpace, isSpaceCtrl, isSpaceShift, isRight, isHome, isEnd, isTabNext, isTabPrevious, isUpShift, isDownShift, isLeftCtrl, isRightCtrl, isUpCtrl, isDownCtrl, isHomeCtrl, isEndCtrl, isCtrlA, isDeleteShift, isInsertShift, isInsertCtrl, isBackSpace, isDelete, isEscape, isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
17
17
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
18
18
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
19
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
19
20
  import { isPhone, isAndroid, isFirefox, } from "@ui5/webcomponents-base/dist/Device.js";
20
21
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
21
22
  import "@ui5/webcomponents-icons/dist/decline.js";
@@ -41,7 +42,7 @@ import StandardListItem from "./StandardListItem.js";
41
42
  import ToggleButton from "./ToggleButton.js";
42
43
  import * as Filters from "./Filters.js";
43
44
  import Button from "./Button.js";
44
- import { VALUE_STATE_SUCCESS, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, INPUT_SUGGESTIONS_TITLE, SELECT_OPTIONS, MULTICOMBOBOX_DIALOG_OK_BUTTON, VALUE_STATE_ERROR_ALREADY_SELECTED, } from "./generated/i18n/i18n-defaults.js";
45
+ import { VALUE_STATE_SUCCESS, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, INPUT_SUGGESTIONS_TITLE, SELECT_OPTIONS, SHOW_SELECTED_BUTTON, MULTICOMBOBOX_DIALOG_OK_BUTTON, VALUE_STATE_ERROR_ALREADY_SELECTED, MCB_SELECTED_ITEMS, INPUT_CLEAR_ICON_ACC_NAME, } from "./generated/i18n/i18n-defaults.js";
45
46
  // Templates
46
47
  import MultiComboBoxTemplate from "./generated/templates/MultiComboBoxTemplate.lit.js";
47
48
  import MultiComboBoxPopoverTemplate from "./generated/templates/MultiComboBoxPopoverTemplate.lit.js";
@@ -52,6 +53,8 @@ import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
52
53
  import SuggestionsCss from "./generated/themes/Suggestions.css.js";
53
54
  import MultiComboBoxPopover from "./generated/themes/MultiComboBoxPopover.css.js";
54
55
  import ComboBoxFilter from "./types/ComboBoxFilter.js";
56
+ import CheckBox from "./CheckBox.js";
57
+ import "./Input.js";
55
58
  /**
56
59
  * @class
57
60
  *
@@ -106,12 +109,11 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
106
109
  this.selectedValues = [];
107
110
  this._itemsBeforeOpen = [];
108
111
  this._inputLastValue = "";
109
- this._valueBeforeOpen = "";
110
112
  this._deleting = false;
111
113
  this._validationTimeout = null;
112
114
  this._handleResizeBound = this._handleResize.bind(this);
113
115
  this.valueBeforeAutoComplete = "";
114
- this._lastValue = "";
116
+ this._lastValue = this.getAttribute("value") || "";
115
117
  this.currentItemIdx = -1;
116
118
  this.FormSupport = undefined;
117
119
  }
@@ -124,8 +126,40 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
124
126
  _handleResize() {
125
127
  this._inputWidth = this.offsetWidth;
126
128
  }
129
+ _handleMobileInput(e) {
130
+ const target = e.target;
131
+ const value = target.value;
132
+ if (!this.allowCustomValues && !this._filterItems(value).length) {
133
+ this._dialogInputValueState = ValueState.Error;
134
+ }
135
+ else {
136
+ this._dialogInputValueState = this.valueState;
137
+ }
138
+ this.value = value;
139
+ this._shouldFilterItems = true;
140
+ this.valueBeforeAutoComplete = value;
141
+ this.fireEvent("input");
142
+ }
127
143
  _inputChange() {
128
- this.fireEvent("change");
144
+ if (!this._clearingValue && this._lastValue !== this.value) {
145
+ this._lastValue = this.value;
146
+ this.fireEvent("change");
147
+ }
148
+ }
149
+ async _mobileInputChange(e) {
150
+ this._inputChange.call(this);
151
+ const { value } = e.target;
152
+ const matchingItem = this.items.find(item => item.text === value);
153
+ if (!matchingItem) {
154
+ return;
155
+ }
156
+ const initiallySelected = matchingItem?.selected;
157
+ const changePrevented = this.fireSelectionChange();
158
+ if (!changePrevented) {
159
+ matchingItem.selected = !initiallySelected;
160
+ (await this._getResponsivePopover()).close();
161
+ this.value = "";
162
+ }
129
163
  }
130
164
  togglePopover() {
131
165
  this._tokenizer.closeMorePopover();
@@ -430,20 +464,48 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
430
464
  this._revertSelection();
431
465
  }
432
466
  }
433
- _onValueStateKeydown(e) {
467
+ async _onListHeaderKeydown(e) {
434
468
  const isArrowDown = isDown(e);
435
469
  const isArrowUp = isUp(e);
470
+ const isSelectAllFocused = e.target.classList.contains("ui5-mcb-select-all-checkbox");
436
471
  if (isTabNext(e) || isTabPrevious(e)) {
437
472
  this._onItemTab();
438
473
  return;
439
474
  }
440
475
  e.preventDefault();
441
476
  if (isArrowDown || isDownCtrl(e)) {
477
+ if (this.showSelectAll && !isSelectAllFocused) {
478
+ return (await this._getResponsivePopover()).querySelector(".ui5-mcb-select-all-checkbox").focus();
479
+ }
442
480
  this._handleArrowDown();
443
481
  }
444
482
  if (isArrowUp || isUpCtrl(e)) {
445
- this._shouldAutocomplete = true;
446
- this._inputDom.focus();
483
+ if (e.target === this.valueStateHeader || !this.valueStateHeader) {
484
+ this._shouldAutocomplete = true;
485
+ return this._inputDom.focus();
486
+ }
487
+ if (this.showSelectAll && isSelectAllFocused) {
488
+ this.valueStateHeader?.focus();
489
+ }
490
+ }
491
+ }
492
+ _handleSelectAllCheckboxClick(e) {
493
+ if (!this.filterSelected) {
494
+ this._handleSelectAll();
495
+ this.filterSelected = false;
496
+ }
497
+ else {
498
+ this._previouslySelectedItems = this._getSelectedItems();
499
+ this.selectedItems?.forEach(item => {
500
+ item.selected = e.target.checked;
501
+ });
502
+ if (!e.target.checked) {
503
+ this.filterSelected = false;
504
+ }
505
+ const changePrevented = this.fireSelectionChange();
506
+ if (changePrevented) {
507
+ this._revertSelection();
508
+ }
447
509
  }
448
510
  }
449
511
  async _onItemKeydown(e) {
@@ -484,12 +546,17 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
484
546
  this._handleSelectAll();
485
547
  return;
486
548
  }
487
- if (((isArrowUp && isFirstItem) || isHome(e)) && this.valueStateHeader) {
488
- this.valueStateHeader.focus();
489
- }
490
- if (!this.valueStateHeader && isFirstItem && isArrowUp) {
491
- this._inputDom.focus();
492
- this._shouldAutocomplete = true;
549
+ if (isFirstItem && isArrowUp) {
550
+ if (this.showSelectAll) {
551
+ (await this._getResponsivePopover()).querySelector(".ui5-mcb-select-all-checkbox").focus();
552
+ }
553
+ else if (this.valueStateHeader) {
554
+ this.valueStateHeader.focus();
555
+ }
556
+ else {
557
+ this._inputDom.focus();
558
+ this._shouldAutocomplete = true;
559
+ }
493
560
  }
494
561
  }
495
562
  _handleArrowCtrl(e) {
@@ -514,10 +581,16 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
514
581
  if (this.hasValueStateMessage && !this.valueStateHeader) {
515
582
  await this._setValueStateHeader();
516
583
  }
517
- if (isArrowDown && isOpen && this.valueStateHeader) {
518
- this.value = this.valueBeforeAutoComplete || this.value;
519
- this.valueStateHeader.focus();
520
- return;
584
+ if (isArrowDown && isOpen) {
585
+ if (this.valueStateHeader) {
586
+ this.value = this.valueBeforeAutoComplete || this.value;
587
+ this.valueStateHeader.focus();
588
+ return;
589
+ }
590
+ if (this.showSelectAll) {
591
+ (await this._getResponsivePopover()).querySelector(".ui5-mcb-select-all-checkbox").focus();
592
+ return;
593
+ }
521
594
  }
522
595
  if (isArrowDown && hasSuggestions) {
523
596
  this._handleArrowDown();
@@ -526,12 +599,14 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
526
599
  this._navigateToPrevItem();
527
600
  }
528
601
  }
529
- _handleArrowDown() {
602
+ async _handleArrowDown() {
530
603
  const isOpen = this.allItemsPopover?.opened;
531
604
  const firstListItem = this.list?.items[0];
532
605
  if (isOpen) {
533
606
  firstListItem && this.list?._itemNavigation.setCurrentItem(firstListItem);
534
607
  this.value = this.valueBeforeAutoComplete || this.value;
608
+ // wait item navigation to apply correct tabindex
609
+ await renderFinished();
535
610
  firstListItem?.focus();
536
611
  }
537
612
  else if (!this.readonly) {
@@ -751,6 +826,9 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
751
826
  }
752
827
  // casted to KeyboardEvent since isSpace and isSpaceCtrl accepts KeyboardEvent only
753
828
  const castedEvent = { key: e.detail.key };
829
+ if (!e.detail.selectedItems.length && this.filterSelected) {
830
+ this.filterSelected = false;
831
+ }
754
832
  if (!e.detail.selectionComponentPressed && !isSpace(castedEvent) && !isSpaceCtrl(castedEvent)) {
755
833
  this.allItemsPopover?.close();
756
834
  this.value = "";
@@ -809,6 +887,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
809
887
  _afterClosePicker() {
810
888
  // close device's keyboard and prevent further typing
811
889
  if (isPhone()) {
890
+ this._dialogInputValueState = this.valueState;
812
891
  this.blur();
813
892
  }
814
893
  this._toggle();
@@ -824,6 +903,9 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
824
903
  };
825
904
  });
826
905
  this._valueBeforeOpen = this.value;
906
+ this._dialogInputValueState = this.valueState;
907
+ // in order to use the autocomplete feature of the input we should not set value in state
908
+ this._innerInput.value = this.value;
827
909
  if (this.filterSelected) {
828
910
  const selectedItems = this._filteredItems.filter(item => item.selected);
829
911
  this.selectedItems = this.items.filter((item, idx, allItems) => MultiComboBox_1._groupItemFilter(item, ++idx, allItems, selectedItems) || selectedItems.indexOf(item) !== -1);
@@ -862,6 +944,14 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
862
944
  const input = this._innerInput;
863
945
  const autoCompletedChars = input && (input.selectionEnd || 0) - (input.selectionStart || 0);
864
946
  const value = input && input.value;
947
+ if (this.open) {
948
+ this._getList().then(list => {
949
+ const selectedItemsCount = list?.querySelectorAll("[ui5-li][selected]")?.length;
950
+ const allItemsCount = list?.querySelectorAll("[ui5-li]")?.length;
951
+ this._allSelected = selectedItemsCount === allItemsCount;
952
+ });
953
+ }
954
+ this._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);
865
955
  this.FormSupport = getFeature("FormSupport");
866
956
  this._inputLastValue = value;
867
957
  if (input && !input.value) {
@@ -906,6 +996,17 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
906
996
  _onIconMousedown() {
907
997
  this._iconPressed = true;
908
998
  }
999
+ _clear() {
1000
+ this.value = "";
1001
+ this._inputDom.value = "";
1002
+ this.fireEvent("input");
1003
+ if (!this._isPhone) {
1004
+ this.focus();
1005
+ }
1006
+ }
1007
+ _iconMouseDown() {
1008
+ this._clearingValue = true;
1009
+ }
909
1010
  storeResponsivePopoverWidth() {
910
1011
  if (this.open && !this._listWidth) {
911
1012
  this._listWidth = this.list.offsetWidth;
@@ -979,18 +1080,21 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
979
1080
  else {
980
1081
  this._innerInput.blur();
981
1082
  }
1083
+ this._clearingValue = false;
982
1084
  if (!isPhone() && ((e.relatedTarget?.tagName !== "UI5-STATIC-AREA-ITEM") || !e.relatedTarget)) {
983
1085
  this._innerInput.setSelectionRange(0, this.value.length);
984
1086
  }
985
1087
  this._tokenizer.tokens.forEach(token => {
986
1088
  token.selected = false;
987
1089
  });
988
- this._lastValue = this.value;
989
1090
  this.valueBeforeAutoComplete = "";
990
1091
  }
991
1092
  inputFocusOut(e) {
992
- if (!this.shadowRoot.contains(e.relatedTarget) && !this._deleting) {
1093
+ if (!this.shadowRoot.contains(e.relatedTarget) && !this._deleting && !this._clearingValue) {
993
1094
  this.focused = false;
1095
+ if (this._lastValue !== this.value) {
1096
+ this._inputChange();
1097
+ }
994
1098
  this._tokenizer.expanded = this.open;
995
1099
  // remove the value if user focus out the input and focus is not going in the popover
996
1100
  if (!isPhone() && !this.allowCustomValues && (this.staticAreaItem !== e.relatedTarget)) {
@@ -1011,10 +1115,11 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1011
1115
  return this.readonly ? "Inactive" : "Active";
1012
1116
  }
1013
1117
  get hasValueState() {
1014
- return this.valueState !== ValueState.None;
1118
+ return (this.valueState !== ValueState.None) || (this._dialogInputValueState !== ValueState.None);
1015
1119
  }
1016
1120
  get hasValueStateMessage() {
1017
- return this.hasValueState && this.valueState !== ValueState.Success;
1121
+ const valueState = isPhone() ? this._dialogInputValueState : this.valueState;
1122
+ return this.hasValueState && valueState !== ValueState.Success;
1018
1123
  }
1019
1124
  get ariaValueStateHiddenText() {
1020
1125
  if (!this.hasValueState) {
@@ -1030,13 +1135,14 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1030
1135
  return `${text}`.concat(" ", this.valueStateMessageText.map(el => el.textContent).join(" "));
1031
1136
  }
1032
1137
  get valueStateDefaultText() {
1033
- if (this.valueState === ValueState.None) {
1138
+ const valueState = isPhone() ? this._dialogInputValueState : this.valueState;
1139
+ if (valueState === ValueState.None) {
1034
1140
  return "";
1035
1141
  }
1036
1142
  if (this._performingSelectionTwice) {
1037
1143
  return MultiComboBox_1.i18nBundle.getText(VALUE_STATE_ERROR_ALREADY_SELECTED);
1038
1144
  }
1039
- return this.valueStateTextMappings[this.valueState];
1145
+ return this.valueStateTextMappings[valueState];
1040
1146
  }
1041
1147
  get valueStateTextId() {
1042
1148
  return this.hasValueState ? `ui5-multi-combobox-valueStateDesc` : undefined;
@@ -1051,7 +1157,8 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1051
1157
  * This method is relevant for sap_horizon theme only
1052
1158
  */
1053
1159
  get _valueStateMessageIcon() {
1054
- if (this.valueState === ValueState.None) {
1160
+ const valueState = (isPhone() && this.open) ? this._dialogInputValueState : this.valueState;
1161
+ if (valueState === ValueState.None) {
1055
1162
  return "";
1056
1163
  }
1057
1164
  return {
@@ -1059,7 +1166,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1059
1166
  [ValueState.Warning]: "alert",
1060
1167
  [ValueState.Success]: "sys-enter-2",
1061
1168
  [ValueState.Information]: "information",
1062
- }[this.valueState];
1169
+ }[valueState];
1063
1170
  }
1064
1171
  get _tokensCountText() {
1065
1172
  if (!this._tokenizer) {
@@ -1101,7 +1208,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1101
1208
  get _innerInput() {
1102
1209
  if (isPhone()) {
1103
1210
  if (this.allItemsPopover?.opened) {
1104
- return this.allItemsPopover.querySelector("input");
1211
+ return this.allItemsPopover.querySelector("ui5-input").shadowRoot.querySelector("input");
1105
1212
  }
1106
1213
  }
1107
1214
  return this._inputDom;
@@ -1112,6 +1219,9 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1112
1219
  get _iconAccessibleNameText() {
1113
1220
  return MultiComboBox_1.i18nBundle.getText(SELECT_OPTIONS);
1114
1221
  }
1222
+ get _showSelectedButtonAccessibleNameText() {
1223
+ return MultiComboBox_1.i18nBundle.getText(SHOW_SELECTED_BUTTON);
1224
+ }
1115
1225
  get _dialogOkButton() {
1116
1226
  return MultiComboBox_1.i18nBundle.getText(MULTICOMBOBOX_DIALOG_OK_BUTTON);
1117
1227
  }
@@ -1131,8 +1241,17 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1131
1241
  }
1132
1242
  get iconsCount() {
1133
1243
  const slottedIconsCount = this.icon?.length || 0;
1244
+ const clearIconCount = Number(this._effectiveShowClearIcon) ?? 0;
1134
1245
  const arrowDownIconsCount = this.readonly ? 0 : 1;
1135
- return slottedIconsCount + arrowDownIconsCount;
1246
+ return slottedIconsCount + clearIconCount + arrowDownIconsCount;
1247
+ }
1248
+ get clearIconAccessibleName() {
1249
+ return MultiComboBox_1.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);
1250
+ }
1251
+ get selectAllCheckboxLabel() {
1252
+ const items = this.items.filter(item => !item.isGroupItem);
1253
+ const selected = items.filter(item => item.selected);
1254
+ return MultiComboBox_1.i18nBundle.getText(MCB_SELECTED_ITEMS, selected.length, items.length);
1136
1255
  }
1137
1256
  get classes() {
1138
1257
  return {
@@ -1145,10 +1264,10 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1145
1264
  popoverValueState: {
1146
1265
  "ui5-valuestatemessage-root": true,
1147
1266
  "ui5-valuestatemessage-header": true,
1148
- "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
1149
- "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
1150
- "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
1151
- "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
1267
+ "ui5-valuestatemessage--success": (this.valueState === ValueState.Success) || (this._dialogInputValueState === ValueState.Success),
1268
+ "ui5-valuestatemessage--error": (this.valueState === ValueState.Error) || (this._dialogInputValueState === ValueState.Error),
1269
+ "ui5-valuestatemessage--warning": (this.valueState === ValueState.Warning) || (this._dialogInputValueState === ValueState.Warning),
1270
+ "ui5-valuestatemessage--information": (this.valueState === ValueState.Information) || (this._dialogInputValueState === ValueState.Information),
1152
1271
  },
1153
1272
  };
1154
1273
  }
@@ -1199,18 +1318,27 @@ __decorate([
1199
1318
  __decorate([
1200
1319
  property({ type: ComboBoxFilter, defaultValue: ComboBoxFilter.StartsWithPerTerm })
1201
1320
  ], MultiComboBox.prototype, "filter", void 0);
1321
+ __decorate([
1322
+ property({ type: Boolean })
1323
+ ], MultiComboBox.prototype, "showClearIcon", void 0);
1202
1324
  __decorate([
1203
1325
  property()
1204
1326
  ], MultiComboBox.prototype, "accessibleName", void 0);
1205
1327
  __decorate([
1206
1328
  property()
1207
1329
  ], MultiComboBox.prototype, "accessibleNameRef", void 0);
1330
+ __decorate([
1331
+ property({ type: Boolean })
1332
+ ], MultiComboBox.prototype, "showSelectAll", void 0);
1208
1333
  __decorate([
1209
1334
  property({ type: ValueState, defaultValue: ValueState.None })
1210
1335
  ], MultiComboBox.prototype, "_effectiveValueState", void 0);
1211
1336
  __decorate([
1212
1337
  property({ type: Boolean })
1213
1338
  ], MultiComboBox.prototype, "_open", void 0);
1339
+ __decorate([
1340
+ property()
1341
+ ], MultiComboBox.prototype, "_valueBeforeOpen", void 0);
1214
1342
  __decorate([
1215
1343
  property({ type: Object, noAttribute: true, multiple: true })
1216
1344
  ], MultiComboBox.prototype, "_filteredItems", void 0);
@@ -1238,6 +1366,15 @@ __decorate([
1238
1366
  __decorate([
1239
1367
  property({ type: Boolean, noAttribute: true })
1240
1368
  ], MultiComboBox.prototype, "_performingSelectionTwice", void 0);
1369
+ __decorate([
1370
+ property({ type: Boolean, noAttribute: true })
1371
+ ], MultiComboBox.prototype, "_allSelected", void 0);
1372
+ __decorate([
1373
+ property({ type: Boolean, noAttribute: true })
1374
+ ], MultiComboBox.prototype, "_effectiveShowClearIcon", void 0);
1375
+ __decorate([
1376
+ property({ type: ValueState, defaultValue: ValueState.None })
1377
+ ], MultiComboBox.prototype, "_dialogInputValueState", void 0);
1241
1378
  __decorate([
1242
1379
  property({ type: Boolean })
1243
1380
  ], MultiComboBox.prototype, "tokenizerAvailable", void 0);
@@ -1272,6 +1409,7 @@ MultiComboBox = MultiComboBox_1 = __decorate([
1272
1409
  GroupHeaderListItem,
1273
1410
  ToggleButton,
1274
1411
  Button,
1412
+ CheckBox,
1275
1413
  ],
1276
1414
  })
1277
1415
  /**
@@ -1282,7 +1420,7 @@ MultiComboBox = MultiComboBox_1 = __decorate([
1282
1420
  ,
1283
1421
  event("change")
1284
1422
  /**
1285
- * Fired when the value of the component changes at each keystroke.
1423
+ * Fired when the value of the component changes at each keystroke or clear icon is pressed.
1286
1424
  *
1287
1425
  * @public
1288
1426
  */
@@ -1297,11 +1435,11 @@ MultiComboBox = MultiComboBox_1 = __decorate([
1297
1435
  ,
1298
1436
  event("open-change")
1299
1437
  /**
1300
- * Fired when selection is changed by user interaction
1301
- * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
1438
+ * Fired when selection is changed by user interaction.
1302
1439
  *
1303
1440
  * @param {IMultiComboBoxItem[]} items an array of the selected items.
1304
1441
  * @public
1442
+ * @allowPreventDefault
1305
1443
  */
1306
1444
  ,
1307
1445
  event("selection-change", {