@ui5/webcomponents 1.2.4 → 1.3.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 (729) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +6 -1
  3. package/dist/Breadcrumbs.js +52 -2
  4. package/dist/Button.js +13 -10
  5. package/dist/CardHeader.js +0 -6
  6. package/dist/CheckBox.js +12 -0
  7. package/dist/ColorPicker.js +14 -10
  8. package/dist/ComboBox.js +13 -9
  9. package/dist/DatePicker.js +12 -5
  10. package/dist/DateTimePicker.js +3 -0
  11. package/dist/Icon.js +4 -9
  12. package/dist/Input.js +36 -4
  13. package/dist/Interfaces.js +10 -0
  14. package/dist/Link.js +1 -1
  15. package/dist/List.js +54 -5
  16. package/dist/ListItem.js +28 -5
  17. package/dist/ListItemBase.js +3 -1
  18. package/dist/Menu.js +500 -0
  19. package/dist/MenuItem.js +162 -0
  20. package/dist/MultiComboBox.js +229 -25
  21. package/dist/MultiInput.js +20 -9
  22. package/dist/Option.js +10 -0
  23. package/dist/Popover.js +8 -5
  24. package/dist/Popup.js +4 -0
  25. package/dist/RadioButton.js +10 -1
  26. package/dist/ResponsivePopover.js +4 -0
  27. package/dist/Select.js +3 -0
  28. package/dist/SliderBase.js +7 -4
  29. package/dist/SplitButton.js +13 -6
  30. package/dist/Tab.js +78 -4
  31. package/dist/TabContainer.js +193 -41
  32. package/dist/Table.js +240 -44
  33. package/dist/TableGroupRow.js +4 -1
  34. package/dist/TableRow.js +33 -66
  35. package/dist/TimePickerBase.js +11 -2
  36. package/dist/Token.js +2 -1
  37. package/dist/Tokenizer.js +26 -16
  38. package/dist/WheelSlider.js +7 -0
  39. package/dist/api.json +231 -9
  40. package/dist/css/themes/Avatar.css +1 -1
  41. package/dist/css/themes/Badge.css +1 -1
  42. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  43. package/dist/css/themes/Button.css +1 -1
  44. package/dist/css/themes/CalendarHeader.css +1 -1
  45. package/dist/css/themes/Card.css +1 -1
  46. package/dist/css/themes/CardHeader.css +1 -1
  47. package/dist/css/themes/CheckBox.css +1 -1
  48. package/dist/css/themes/ColorPalette.css +1 -1
  49. package/dist/css/themes/ColorPalettePopover.css +1 -1
  50. package/dist/css/themes/ColorPicker.css +1 -1
  51. package/dist/css/themes/ComboBox.css +1 -1
  52. package/dist/css/themes/DatePicker.css +1 -1
  53. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  54. package/dist/css/themes/Dialog.css +1 -1
  55. package/dist/css/themes/Icon.css +1 -1
  56. package/dist/css/themes/Input.css +1 -1
  57. package/dist/css/themes/InputIcon.css +1 -1
  58. package/dist/css/themes/Label.css +1 -1
  59. package/dist/css/themes/Link.css +1 -1
  60. package/dist/css/themes/ListItem.css +1 -1
  61. package/dist/css/themes/Menu.css +1 -0
  62. package/dist/css/themes/MessageStrip.css +1 -1
  63. package/dist/css/themes/MultiComboBox.css +1 -1
  64. package/dist/css/themes/MultiInput.css +1 -1
  65. package/dist/css/themes/Panel.css +1 -1
  66. package/dist/css/themes/PopupsCommon.css +1 -1
  67. package/dist/css/themes/RadioButton.css +1 -1
  68. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  69. package/dist/css/themes/SegmentedButton.css +1 -1
  70. package/dist/css/themes/Select.css +1 -1
  71. package/dist/css/themes/SplitButton.css +1 -1
  72. package/dist/css/themes/StepInput.css +1 -1
  73. package/dist/css/themes/Suggestions.css +1 -1
  74. package/dist/css/themes/TabContainer.css +1 -1
  75. package/dist/css/themes/TabInOverflow.css +1 -1
  76. package/dist/css/themes/TabInStrip.css +1 -1
  77. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  78. package/dist/css/themes/Table.css +1 -1
  79. package/dist/css/themes/TableCell.css +1 -1
  80. package/dist/css/themes/TableColumn.css +1 -1
  81. package/dist/css/themes/TableGroupRow.css +1 -1
  82. package/dist/css/themes/TableRow.css +1 -1
  83. package/dist/css/themes/TextArea.css +1 -1
  84. package/dist/css/themes/TimePicker.css +1 -1
  85. package/dist/css/themes/Title.css +1 -1
  86. package/dist/css/themes/Toast.css +1 -1
  87. package/dist/css/themes/ToggleButton.css +1 -1
  88. package/dist/css/themes/TreeListItem.css +1 -1
  89. package/dist/css/themes/ValueStateMessage.css +1 -1
  90. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  91. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  92. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  93. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  94. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  99. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  100. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  101. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  102. package/dist/features/InputElementsFormSupport.js +8 -5
  103. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  136. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  148. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  149. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  156. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  157. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  158. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  159. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  160. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  161. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  162. package/dist/generated/i18n/i18n-defaults.js +2 -2
  163. package/dist/generated/templates/AvatarGroupTemplate.lit.js +1 -1
  164. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  165. package/dist/generated/templates/BadgeTemplate.lit.js +1 -1
  166. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +2 -2
  167. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +3 -3
  168. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +1 -1
  169. package/dist/generated/templates/ButtonTemplate.lit.js +2 -2
  170. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +1 -1
  171. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  172. package/dist/generated/templates/CardHeaderTemplate.lit.js +4 -4
  173. package/dist/generated/templates/CardTemplate.lit.js +1 -1
  174. package/dist/generated/templates/CarouselTemplate.lit.js +4 -4
  175. package/dist/generated/templates/CheckBoxTemplate.lit.js +3 -3
  176. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +1 -1
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +3 -3
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +1 -1
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +6 -6
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +3 -4
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +8 -8
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +3 -3
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +2 -2
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +4 -4
  186. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  187. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +2 -2
  188. package/dist/generated/templates/FileUploaderTemplate.lit.js +1 -1
  189. package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -8
  190. package/dist/generated/templates/InputTemplate.lit.js +6 -7
  191. package/dist/generated/templates/LabelTemplate.lit.js +1 -1
  192. package/dist/generated/templates/ListItemTemplate.lit.js +8 -8
  193. package/dist/generated/templates/ListTemplate.lit.js +2 -2
  194. package/dist/generated/templates/MenuTemplate.lit.js +15 -0
  195. package/dist/generated/templates/MessageStripTemplate.lit.js +2 -2
  196. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +10 -10
  197. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -5
  198. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -8
  199. package/dist/generated/templates/PanelTemplate.lit.js +3 -3
  200. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  201. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +2 -2
  202. package/dist/generated/templates/RadioButtonTemplate.lit.js +2 -2
  203. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  204. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +4 -4
  205. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  206. package/dist/generated/templates/SelectPopoverTemplate.lit.js +5 -5
  207. package/dist/generated/templates/SelectTemplate.lit.js +2 -2
  208. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  209. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  210. package/dist/generated/templates/StandardListItemTemplate.lit.js +11 -11
  211. package/dist/generated/templates/StepInputTemplate.lit.js +3 -3
  212. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +11 -11
  213. package/dist/generated/templates/SwitchTemplate.lit.js +3 -3
  214. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +2 -5
  215. package/dist/generated/templates/TabContainerTemplate.lit.js +10 -12
  216. package/dist/generated/templates/TabInOverflowTemplate.lit.js +3 -2
  217. package/dist/generated/templates/TabInStripTemplate.lit.js +5 -3
  218. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +1 -1
  219. package/dist/generated/templates/TabTemplate.lit.js +2 -1
  220. package/dist/generated/templates/TableRowTemplate.lit.js +1 -1
  221. package/dist/generated/templates/TableTemplate.lit.js +3 -3
  222. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  223. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +1 -1
  224. package/dist/generated/templates/TimePickerTemplate.lit.js +2 -2
  225. package/dist/generated/templates/TimeSelectionTemplate.lit.js +4 -4
  226. package/dist/generated/templates/ToggleButtonTemplate.lit.js +2 -2
  227. package/dist/generated/templates/TokenTemplate.lit.js +1 -1
  228. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +5 -5
  229. package/dist/generated/templates/TreeListItemTemplate.lit.js +11 -11
  230. package/dist/generated/templates/TreeTemplate.lit.js +2 -2
  231. package/dist/generated/templates/WheelSliderTemplate.lit.js +1 -1
  232. package/dist/generated/themes/Avatar.css.js +1 -1
  233. package/dist/generated/themes/Badge.css.js +1 -1
  234. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  235. package/dist/generated/themes/Button.css.js +1 -1
  236. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  237. package/dist/generated/themes/Card.css.js +1 -1
  238. package/dist/generated/themes/CardHeader.css.js +1 -1
  239. package/dist/generated/themes/CheckBox.css.js +1 -1
  240. package/dist/generated/themes/ColorPalette.css.js +1 -1
  241. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  242. package/dist/generated/themes/ColorPicker.css.js +1 -1
  243. package/dist/generated/themes/ComboBox.css.js +1 -1
  244. package/dist/generated/themes/DatePicker.css.js +1 -1
  245. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  246. package/dist/generated/themes/Dialog.css.js +1 -1
  247. package/dist/generated/themes/Icon.css.js +1 -1
  248. package/dist/generated/themes/Input.css.js +1 -1
  249. package/dist/generated/themes/InputIcon.css.js +1 -1
  250. package/dist/generated/themes/Label.css.js +1 -1
  251. package/dist/generated/themes/Link.css.js +1 -1
  252. package/dist/generated/themes/ListItem.css.js +1 -1
  253. package/dist/generated/themes/Menu.css.js +8 -0
  254. package/dist/generated/themes/MessageStrip.css.js +1 -1
  255. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  256. package/dist/generated/themes/MultiInput.css.js +1 -1
  257. package/dist/generated/themes/Panel.css.js +1 -1
  258. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  259. package/dist/generated/themes/RadioButton.css.js +1 -1
  260. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  261. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  262. package/dist/generated/themes/Select.css.js +1 -1
  263. package/dist/generated/themes/SplitButton.css.js +1 -1
  264. package/dist/generated/themes/StepInput.css.js +1 -1
  265. package/dist/generated/themes/Suggestions.css.js +1 -1
  266. package/dist/generated/themes/TabContainer.css.js +1 -1
  267. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  268. package/dist/generated/themes/TabInStrip.css.js +1 -1
  269. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  270. package/dist/generated/themes/Table.css.js +1 -1
  271. package/dist/generated/themes/TableCell.css.js +1 -1
  272. package/dist/generated/themes/TableColumn.css.js +1 -1
  273. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  274. package/dist/generated/themes/TableRow.css.js +1 -1
  275. package/dist/generated/themes/TextArea.css.js +1 -1
  276. package/dist/generated/themes/TimePicker.css.js +1 -1
  277. package/dist/generated/themes/Title.css.js +1 -1
  278. package/dist/generated/themes/Toast.css.js +1 -1
  279. package/dist/generated/themes/ToggleButton.css.js +1 -1
  280. package/dist/generated/themes/TreeListItem.css.js +1 -1
  281. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  282. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  283. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  284. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  285. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  286. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  287. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  288. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  289. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  290. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  291. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  292. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  293. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  294. package/dist/i18n/messagebundle.properties +8 -0
  295. package/dist/i18n/messagebundle_ar.properties +6 -0
  296. package/dist/i18n/messagebundle_bg.properties +6 -0
  297. package/dist/i18n/messagebundle_ca.properties +6 -0
  298. package/dist/i18n/messagebundle_cs.properties +6 -0
  299. package/dist/i18n/messagebundle_cy.properties +6 -0
  300. package/dist/i18n/messagebundle_da.properties +6 -0
  301. package/dist/i18n/messagebundle_de.properties +6 -0
  302. package/dist/i18n/messagebundle_el.properties +6 -0
  303. package/dist/i18n/messagebundle_en.properties +6 -0
  304. package/dist/i18n/messagebundle_en_GB.properties +6 -0
  305. package/dist/i18n/messagebundle_en_US_sappsd.properties +6 -0
  306. package/dist/i18n/messagebundle_en_US_saprigi.properties +7 -0
  307. package/dist/i18n/messagebundle_en_US_saptrc.properties +6 -0
  308. package/dist/i18n/messagebundle_es.properties +6 -0
  309. package/dist/i18n/messagebundle_es_MX.properties +6 -0
  310. package/dist/i18n/messagebundle_et.properties +6 -0
  311. package/dist/i18n/messagebundle_fi.properties +6 -0
  312. package/dist/i18n/messagebundle_fr.properties +6 -0
  313. package/dist/i18n/messagebundle_fr_CA.properties +6 -0
  314. package/dist/i18n/messagebundle_hi.properties +6 -0
  315. package/dist/i18n/messagebundle_hr.properties +6 -0
  316. package/dist/i18n/messagebundle_hu.properties +6 -0
  317. package/dist/i18n/messagebundle_id.properties +6 -0
  318. package/dist/i18n/messagebundle_it.properties +6 -0
  319. package/dist/i18n/messagebundle_iw.properties +6 -0
  320. package/dist/i18n/messagebundle_ja.properties +6 -0
  321. package/dist/i18n/messagebundle_kk.properties +6 -0
  322. package/dist/i18n/messagebundle_ko.properties +6 -0
  323. package/dist/i18n/messagebundle_lt.properties +6 -0
  324. package/dist/i18n/messagebundle_lv.properties +6 -0
  325. package/dist/i18n/messagebundle_ms.properties +6 -0
  326. package/dist/i18n/messagebundle_nl.properties +6 -0
  327. package/dist/i18n/messagebundle_no.properties +6 -0
  328. package/dist/i18n/messagebundle_pl.properties +6 -0
  329. package/dist/i18n/messagebundle_pt.properties +6 -0
  330. package/dist/i18n/messagebundle_pt_PT.properties +6 -0
  331. package/dist/i18n/messagebundle_ro.properties +6 -0
  332. package/dist/i18n/messagebundle_ru.properties +6 -0
  333. package/dist/i18n/messagebundle_sh.properties +6 -0
  334. package/dist/i18n/messagebundle_sk.properties +6 -0
  335. package/dist/i18n/messagebundle_sl.properties +6 -0
  336. package/dist/i18n/messagebundle_sv.properties +6 -0
  337. package/dist/i18n/messagebundle_th.properties +6 -0
  338. package/dist/i18n/messagebundle_tr.properties +6 -0
  339. package/dist/i18n/messagebundle_uk.properties +6 -0
  340. package/dist/i18n/messagebundle_vi.properties +6 -0
  341. package/dist/i18n/messagebundle_zh_CN.properties +6 -0
  342. package/dist/i18n/messagebundle_zh_TW.properties +6 -0
  343. package/dist/types/ListGrowingMode.js +36 -3
  344. package/dist/types/TableGrowingMode.js +35 -2
  345. package/package.json +7 -10
  346. package/src/Badge.hbs +0 -1
  347. package/src/Breadcrumbs.hbs +5 -3
  348. package/src/Breadcrumbs.js +52 -2
  349. package/src/BreadcrumbsPopover.hbs +1 -0
  350. package/src/Button.hbs +0 -1
  351. package/src/Button.js +13 -10
  352. package/src/CalendarHeader.hbs +1 -4
  353. package/src/Card.hbs +0 -1
  354. package/src/CardHeader.hbs +18 -15
  355. package/src/CardHeader.js +0 -6
  356. package/src/CheckBox.hbs +1 -1
  357. package/src/CheckBox.js +12 -0
  358. package/src/ColorPicker.hbs +2 -2
  359. package/src/ColorPicker.js +14 -10
  360. package/src/ComboBox.hbs +1 -5
  361. package/src/ComboBox.js +13 -9
  362. package/src/ComboBoxPopover.hbs +2 -1
  363. package/src/DatePicker.js +12 -5
  364. package/src/DateTimePicker.js +3 -0
  365. package/src/DateTimePickerPopover.hbs +1 -1
  366. package/src/Icon.js +4 -9
  367. package/src/Input.hbs +1 -5
  368. package/src/Input.js +36 -4
  369. package/src/InputPopover.hbs +2 -1
  370. package/src/Interfaces.js +10 -0
  371. package/src/Label.hbs +1 -2
  372. package/src/Link.js +1 -1
  373. package/src/List.hbs +1 -0
  374. package/src/List.js +54 -5
  375. package/src/ListItem.hbs +1 -1
  376. package/src/ListItem.js +28 -5
  377. package/src/ListItemBase.js +3 -1
  378. package/src/Menu.hbs +100 -0
  379. package/src/Menu.js +500 -0
  380. package/src/MenuItem.js +162 -0
  381. package/src/MultiComboBox.hbs +2 -6
  382. package/src/MultiComboBox.js +229 -25
  383. package/src/MultiInput.hbs +1 -1
  384. package/src/MultiInput.js +20 -9
  385. package/src/Option.js +10 -0
  386. package/src/Panel.hbs +0 -1
  387. package/src/Popover.hbs +1 -1
  388. package/src/Popover.js +8 -5
  389. package/src/Popup.js +4 -0
  390. package/src/RadioButton.hbs +1 -1
  391. package/src/RadioButton.js +10 -1
  392. package/src/ResponsivePopover.js +4 -0
  393. package/src/Select.hbs +1 -1
  394. package/src/Select.js +3 -0
  395. package/src/SelectPopover.hbs +1 -0
  396. package/src/SliderBase.js +7 -4
  397. package/src/SplitButton.js +13 -6
  398. package/src/StandardListItem.hbs +2 -2
  399. package/src/Switch.hbs +1 -1
  400. package/src/Tab.hbs +5 -1
  401. package/src/Tab.js +78 -4
  402. package/src/TabContainer.hbs +11 -13
  403. package/src/TabContainer.js +193 -41
  404. package/src/TabContainerPopover.hbs +4 -10
  405. package/src/TabInOverflow.hbs +15 -8
  406. package/src/TabInStrip.hbs +19 -2
  407. package/src/TabSeparatorInOverflow.hbs +1 -0
  408. package/src/Table.hbs +7 -2
  409. package/src/Table.js +240 -44
  410. package/src/TableGroupRow.js +4 -1
  411. package/src/TableRow.js +33 -66
  412. package/src/TimePickerBase.js +11 -2
  413. package/src/Token.js +2 -1
  414. package/src/Tokenizer.js +26 -16
  415. package/src/TokenizerPopover.hbs +16 -17
  416. package/src/WheelSlider.js +7 -0
  417. package/src/features/InputElementsFormSupport.js +8 -5
  418. package/src/i18n/messagebundle.properties +8 -0
  419. package/src/i18n/messagebundle_ar.properties +6 -0
  420. package/src/i18n/messagebundle_bg.properties +6 -0
  421. package/src/i18n/messagebundle_ca.properties +6 -0
  422. package/src/i18n/messagebundle_cs.properties +6 -0
  423. package/src/i18n/messagebundle_cy.properties +6 -0
  424. package/src/i18n/messagebundle_da.properties +6 -0
  425. package/src/i18n/messagebundle_de.properties +6 -0
  426. package/src/i18n/messagebundle_el.properties +6 -0
  427. package/src/i18n/messagebundle_en.properties +6 -0
  428. package/src/i18n/messagebundle_en_GB.properties +6 -0
  429. package/src/i18n/messagebundle_en_US_sappsd.properties +6 -0
  430. package/src/i18n/messagebundle_en_US_saprigi.properties +7 -0
  431. package/src/i18n/messagebundle_en_US_saptrc.properties +6 -0
  432. package/src/i18n/messagebundle_es.properties +6 -0
  433. package/src/i18n/messagebundle_es_MX.properties +6 -0
  434. package/src/i18n/messagebundle_et.properties +6 -0
  435. package/src/i18n/messagebundle_fi.properties +6 -0
  436. package/src/i18n/messagebundle_fr.properties +6 -0
  437. package/src/i18n/messagebundle_fr_CA.properties +6 -0
  438. package/src/i18n/messagebundle_hi.properties +6 -0
  439. package/src/i18n/messagebundle_hr.properties +6 -0
  440. package/src/i18n/messagebundle_hu.properties +6 -0
  441. package/src/i18n/messagebundle_id.properties +6 -0
  442. package/src/i18n/messagebundle_it.properties +6 -0
  443. package/src/i18n/messagebundle_iw.properties +6 -0
  444. package/src/i18n/messagebundle_ja.properties +6 -0
  445. package/src/i18n/messagebundle_kk.properties +6 -0
  446. package/src/i18n/messagebundle_ko.properties +6 -0
  447. package/src/i18n/messagebundle_lt.properties +6 -0
  448. package/src/i18n/messagebundle_lv.properties +6 -0
  449. package/src/i18n/messagebundle_ms.properties +6 -0
  450. package/src/i18n/messagebundle_nl.properties +6 -0
  451. package/src/i18n/messagebundle_no.properties +6 -0
  452. package/src/i18n/messagebundle_pl.properties +6 -0
  453. package/src/i18n/messagebundle_pt.properties +6 -0
  454. package/src/i18n/messagebundle_pt_PT.properties +6 -0
  455. package/src/i18n/messagebundle_ro.properties +6 -0
  456. package/src/i18n/messagebundle_ru.properties +6 -0
  457. package/src/i18n/messagebundle_sh.properties +6 -0
  458. package/src/i18n/messagebundle_sk.properties +6 -0
  459. package/src/i18n/messagebundle_sl.properties +6 -0
  460. package/src/i18n/messagebundle_sv.properties +6 -0
  461. package/src/i18n/messagebundle_th.properties +6 -0
  462. package/src/i18n/messagebundle_tr.properties +6 -0
  463. package/src/i18n/messagebundle_uk.properties +6 -0
  464. package/src/i18n/messagebundle_vi.properties +6 -0
  465. package/src/i18n/messagebundle_zh_CN.properties +6 -0
  466. package/src/i18n/messagebundle_zh_TW.properties +6 -0
  467. package/src/themes/Avatar.css +37 -52
  468. package/src/themes/Badge.css +1 -7
  469. package/src/themes/BreadcrumbsPopover.css +4 -0
  470. package/src/themes/Button.css +62 -87
  471. package/src/themes/CalendarHeader.css +2 -7
  472. package/src/themes/Card.css +7 -4
  473. package/src/themes/CardHeader.css +24 -26
  474. package/src/themes/CheckBox.css +8 -24
  475. package/src/themes/ColorPalette.css +2 -0
  476. package/src/themes/ColorPalettePopover.css +4 -0
  477. package/src/themes/ColorPicker.css +16 -0
  478. package/src/themes/ComboBox.css +1 -0
  479. package/src/themes/DateTimePickerPopover.css +5 -1
  480. package/src/themes/Dialog.css +20 -6
  481. package/src/themes/Icon.css +15 -3
  482. package/src/themes/Input.css +174 -131
  483. package/src/themes/InputIcon.css +12 -3
  484. package/src/themes/Label.css +1 -7
  485. package/src/themes/Link.css +32 -15
  486. package/src/themes/ListItem.css +8 -38
  487. package/src/themes/Menu.css +101 -0
  488. package/src/themes/MessageStrip.css +17 -47
  489. package/src/themes/MultiComboBox.css +1 -0
  490. package/src/themes/Panel.css +21 -14
  491. package/src/themes/PopupsCommon.css +12 -11
  492. package/src/themes/RadioButton.css +74 -8
  493. package/src/themes/ResponsivePopoverCommon.css +50 -50
  494. package/src/themes/SegmentedButton.css +36 -10
  495. package/src/themes/Select.css +1 -5
  496. package/src/themes/SplitButton.css +143 -32
  497. package/src/themes/StepInput.css +10 -8
  498. package/src/themes/Suggestions.css +4 -0
  499. package/src/themes/TabContainer.css +35 -2
  500. package/src/themes/TabInOverflow.css +15 -9
  501. package/src/themes/TabInStrip.css +67 -28
  502. package/src/themes/TabSeparatorInOverflow.css +2 -1
  503. package/src/themes/Table.css +7 -2
  504. package/src/themes/TableCell.css +2 -6
  505. package/src/themes/TableColumn.css +1 -3
  506. package/src/themes/TableGroupRow.css +6 -4
  507. package/src/themes/TableRow.css +28 -20
  508. package/src/themes/TextArea.css +93 -36
  509. package/src/themes/Title.css +7 -7
  510. package/src/themes/Toast.css +1 -1
  511. package/src/themes/ToggleButton.css +90 -50
  512. package/src/themes/TreeListItem.css +1 -7
  513. package/src/themes/ValueStateMessage.css +8 -10
  514. package/src/themes/base/Avatar-parameters.css +19 -0
  515. package/src/themes/base/Button-parameters.css +5 -0
  516. package/src/themes/base/Card-parameters.css +5 -3
  517. package/src/themes/base/CheckBox-parameters.css +5 -2
  518. package/src/themes/base/Dialog-parameters.css +5 -4
  519. package/src/themes/base/Input-parameters.css +44 -44
  520. package/src/themes/base/InputIcon-parameters.css +10 -2
  521. package/src/themes/base/Link-parameters.css +7 -1
  522. package/src/themes/base/MessageStrip-parameters.css +4 -7
  523. package/src/themes/base/Panel-parameters.css +4 -4
  524. package/src/themes/base/PopupsCommon-parameters.css +1 -3
  525. package/src/themes/base/RadioButton-parameters.css +18 -2
  526. package/src/themes/base/SegmentedButtton-parameters.css +3 -2
  527. package/src/themes/base/SplitButton-parameters.css +17 -0
  528. package/src/themes/base/StepInput-parameters.css +1 -0
  529. package/src/themes/base/TabContainer-parameters.css +15 -0
  530. package/src/themes/base/Table-parameters.css +2 -0
  531. package/src/themes/base/TableGroupRow-parameters.css +4 -0
  532. package/src/themes/base/TextArea-parameters.css +8 -6
  533. package/src/themes/base/ValueStateMessage-parameters.css +6 -0
  534. package/src/themes/base/rtl-parameters.css +16 -0
  535. package/src/themes/base/sizes-parameters.css +47 -6
  536. package/src/themes/sap_belize/Card-parameters.css +5 -0
  537. package/src/themes/sap_belize/Input-parameters.css +16 -1
  538. package/src/themes/sap_belize/InputIcon-parameters.css +1 -1
  539. package/src/themes/sap_belize/Panel-parameters.css +12 -0
  540. package/src/themes/sap_belize/PopupsCommon-parameters.css +5 -0
  541. package/src/themes/sap_belize/SplitButton-parameters.css +6 -0
  542. package/src/themes/sap_belize/TableRow-parameters.css +5 -0
  543. package/src/themes/sap_belize/parameters-bundle.css +8 -5
  544. package/src/themes/sap_belize/sizes-parameters.css +15 -0
  545. package/src/themes/sap_belize_hcb/Button-parameters.css +2 -2
  546. package/src/themes/sap_belize_hcb/Card-parameters.css +2 -1
  547. package/src/themes/sap_belize_hcb/Input-parameters.css +19 -0
  548. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +1 -1
  549. package/src/themes/sap_belize_hcb/Link-parameters.css +2 -1
  550. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +0 -1
  551. package/src/themes/sap_belize_hcb/Panel-parameters.css +8 -0
  552. package/src/themes/sap_belize_hcb/PopupsCommon-parameters.css +5 -0
  553. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +6 -2
  554. package/src/themes/sap_belize_hcb/SplitButton-parameters.css +10 -0
  555. package/src/themes/sap_belize_hcb/TableRow-parameters.css +1 -0
  556. package/src/themes/sap_belize_hcb/TextArea-parameters.css +3 -0
  557. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +2 -0
  558. package/src/themes/sap_belize_hcb/parameters-bundle.css +6 -3
  559. package/src/themes/sap_belize_hcb/sizes-parameters.css +15 -0
  560. package/src/themes/sap_belize_hcw/Button-parameters.css +2 -2
  561. package/src/themes/sap_belize_hcw/Card-parameters.css +2 -1
  562. package/src/themes/sap_belize_hcw/Input-parameters.css +19 -0
  563. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +1 -1
  564. package/src/themes/sap_belize_hcw/Link-parameters.css +2 -1
  565. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +0 -1
  566. package/src/themes/sap_belize_hcw/Panel-parameters.css +8 -0
  567. package/src/themes/sap_belize_hcw/PopupsCommon-parameters.css +5 -0
  568. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +5 -1
  569. package/src/themes/sap_belize_hcw/SplitButton-parameters.css +10 -0
  570. package/src/themes/sap_belize_hcw/TableRow-parameters.css +1 -0
  571. package/src/themes/sap_belize_hcw/TextArea-parameters.css +3 -0
  572. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +2 -0
  573. package/src/themes/sap_belize_hcw/parameters-bundle.css +7 -4
  574. package/src/themes/sap_belize_hcw/sizes-parameters.css +15 -0
  575. package/src/themes/sap_fiori_3/Button-parameters.css +1 -0
  576. package/src/themes/sap_fiori_3/Input-parameters.css +0 -2
  577. package/src/themes/sap_fiori_3/Link-parameters.css +0 -1
  578. package/src/themes/sap_fiori_3/Panel-parameters.css +0 -1
  579. package/src/themes/sap_fiori_3/TabContainer-parameters.css +1 -0
  580. package/src/themes/sap_fiori_3/parameters-bundle.css +4 -1
  581. package/src/themes/sap_fiori_3_dark/Button-parameters.css +1 -0
  582. package/src/themes/sap_fiori_3_dark/Input-parameters.css +0 -2
  583. package/src/themes/sap_fiori_3_dark/Link-parameters.css +0 -1
  584. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +0 -1
  585. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +1 -0
  586. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +4 -1
  587. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +3 -2
  588. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +14 -7
  589. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +4 -1
  590. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +0 -1
  591. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +5 -1
  592. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +12 -0
  593. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +3 -0
  594. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +2 -0
  595. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +7 -4
  596. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +8 -0
  597. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +3 -2
  598. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +14 -7
  599. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +4 -1
  600. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +0 -1
  601. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +5 -1
  602. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +12 -0
  603. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +3 -0
  604. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +2 -0
  605. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +7 -4
  606. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +8 -0
  607. package/src/themes/sap_horizon/Avatar-parameters.css +47 -27
  608. package/src/themes/sap_horizon/BusyIndicator-parameters.css +1 -1
  609. package/src/themes/sap_horizon/Button-parameters.css +6 -7
  610. package/src/themes/sap_horizon/Card-parameters.css +8 -3
  611. package/src/themes/sap_horizon/CheckBox-parameters.css +38 -23
  612. package/src/themes/sap_horizon/Dialog-parameters.css +6 -6
  613. package/src/themes/sap_horizon/Icon-parameters.css +3 -0
  614. package/src/themes/sap_horizon/Input-parameters.css +28 -29
  615. package/src/themes/sap_horizon/InputIcon-parameters.css +11 -4
  616. package/src/themes/sap_horizon/Link-parameters.css +6 -2
  617. package/src/themes/sap_horizon/MessageStrip-parameters.css +1 -5
  618. package/src/themes/sap_horizon/Panel-parameters.css +2 -3
  619. package/src/themes/sap_horizon/RadioButton-parameters.css +10 -4
  620. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +1 -1
  621. package/src/themes/sap_horizon/SplitButton-parameters.css +17 -0
  622. package/src/themes/sap_horizon/TabContainer-parameters.css +13 -4
  623. package/src/themes/sap_horizon/Table-parameters.css +2 -1
  624. package/src/themes/sap_horizon/TableGroupRow-parameters.css +6 -0
  625. package/src/themes/sap_horizon/TextArea-parameters.css +1 -6
  626. package/src/themes/sap_horizon/ToggleButton-parameters.css +1 -11
  627. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +4 -1
  628. package/src/themes/sap_horizon/parameters-bundle.css +5 -3
  629. package/src/themes/sap_horizon/sizes-parameters.css +10 -0
  630. package/src/themes/sap_horizon_dark/Avatar-parameters.css +47 -27
  631. package/src/themes/sap_horizon_dark/BusyIndicator-parameters.css +1 -1
  632. package/src/themes/sap_horizon_dark/Button-parameters.css +6 -7
  633. package/src/themes/sap_horizon_dark/Card-parameters.css +8 -3
  634. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +38 -23
  635. package/src/themes/sap_horizon_dark/Dialog-parameters.css +6 -6
  636. package/src/themes/sap_horizon_dark/Icon-parameters.css +3 -0
  637. package/src/themes/sap_horizon_dark/Input-parameters.css +27 -28
  638. package/src/themes/sap_horizon_dark/InputIcon-parameters.css +11 -4
  639. package/src/themes/sap_horizon_dark/Link-parameters.css +6 -2
  640. package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +1 -5
  641. package/src/themes/sap_horizon_dark/Panel-parameters.css +2 -3
  642. package/src/themes/sap_horizon_dark/RadioButton-parameters.css +10 -4
  643. package/src/themes/sap_horizon_dark/SegmentedButtton-parameters.css +1 -1
  644. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +17 -0
  645. package/src/themes/sap_horizon_dark/Table-parameters.css +2 -1
  646. package/src/themes/sap_horizon_dark/TableGroupRow-parameters.css +6 -0
  647. package/src/themes/sap_horizon_dark/TextArea-parameters.css +1 -6
  648. package/src/themes/sap_horizon_dark/ToggleButton-parameters.css +1 -11
  649. package/src/themes/sap_horizon_dark/ValueStateMessage-parameters.css +4 -1
  650. package/src/themes/sap_horizon_dark/parameters-bundle.css +5 -3
  651. package/src/themes/sap_horizon_dark/sizes-parameters.css +10 -0
  652. package/src/themes/sap_horizon_exp/Input-parameters.css +34 -37
  653. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +4 -0
  654. package/src/themes/sap_horizon_exp/Link-parameters.css +1 -1
  655. package/src/themes/sap_horizon_exp/Panel-parameters.css +0 -1
  656. package/src/themes/sap_horizon_exp/Popover-parameters.css +0 -1
  657. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  658. package/src/themes/sap_horizon_hcb/Avatar-parameters.css +44 -15
  659. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +5 -0
  660. package/src/themes/sap_horizon_hcb/Button-parameters.css +6 -6
  661. package/src/themes/sap_horizon_hcb/Card-parameters.css +6 -1
  662. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +46 -10
  663. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +2 -3
  664. package/src/themes/sap_horizon_hcb/Input-parameters.css +17 -7
  665. package/src/themes/sap_horizon_hcb/InputIcon-parameters.css +7 -1
  666. package/src/themes/sap_horizon_hcb/Link-parameters.css +4 -1
  667. package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +1 -1
  668. package/src/themes/sap_horizon_hcb/Panel-parameters.css +3 -0
  669. package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +9 -3
  670. package/src/themes/sap_horizon_hcb/SegmentedButtton-parameters.css +9 -0
  671. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +12 -0
  672. package/src/themes/sap_horizon_hcb/Table-parameters.css +4 -0
  673. package/src/themes/sap_horizon_hcb/TableGroupRow-parameters.css +6 -0
  674. package/src/themes/sap_horizon_hcb/TextArea-parameters.css +7 -0
  675. package/src/themes/sap_horizon_hcb/ToggleButton-parameters.css +1 -6
  676. package/src/themes/sap_horizon_hcb/ValueStateMessage-parameters.css +8 -0
  677. package/src/themes/sap_horizon_hcb/parameters-bundle.css +6 -3
  678. package/src/themes/sap_horizon_hcb/sizes-parameters.css +8 -0
  679. package/src/themes/sap_horizon_hcw/Avatar-parameters.css +44 -15
  680. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +5 -0
  681. package/src/themes/sap_horizon_hcw/Button-parameters.css +7 -7
  682. package/src/themes/sap_horizon_hcw/Card-parameters.css +6 -1
  683. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +46 -10
  684. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +2 -3
  685. package/src/themes/sap_horizon_hcw/Input-parameters.css +17 -7
  686. package/src/themes/sap_horizon_hcw/InputIcon-parameters.css +7 -1
  687. package/src/themes/sap_horizon_hcw/Link-parameters.css +4 -1
  688. package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +1 -1
  689. package/src/themes/sap_horizon_hcw/Panel-parameters.css +4 -0
  690. package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +11 -1
  691. package/src/themes/sap_horizon_hcw/SegmentedButtton-parameters.css +9 -0
  692. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +12 -0
  693. package/src/themes/sap_horizon_hcw/Table-parameters.css +4 -0
  694. package/src/themes/sap_horizon_hcw/TableGroupRow-parameters.css +6 -0
  695. package/src/themes/sap_horizon_hcw/TextArea-parameters.css +7 -0
  696. package/src/themes/sap_horizon_hcw/ToggleButton-parameters.css +1 -6
  697. package/src/themes/sap_horizon_hcw/ValueStateMessage-parameters.css +8 -0
  698. package/src/themes/sap_horizon_hcw/parameters-bundle.css +6 -3
  699. package/src/themes/sap_horizon_hcw/sizes-parameters.css +8 -0
  700. package/src/types/ListGrowingMode.js +36 -3
  701. package/src/types/TableGrowingMode.js +35 -2
  702. package/dist/webcomponentsjs/CHANGELOG.md +0 -61
  703. package/dist/webcomponentsjs/LICENSE.md +0 -19
  704. package/dist/webcomponentsjs/README.md +0 -246
  705. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  706. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  707. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +0 -60
  708. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +0 -1
  709. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +0 -95
  710. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +0 -1
  711. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -360
  712. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  713. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -228
  714. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  715. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -185
  716. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  717. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  718. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -370
  719. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  720. package/dist/webcomponentsjs/webcomponents-loader.js +0 -206
  721. package/src/themes/base/Title-parameters.css +0 -8
  722. package/src/themes/sap_belize_hcb/Dialog-parameters.css +0 -7
  723. package/src/themes/sap_belize_hcw/Dialog-parameters.css +0 -7
  724. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +0 -7
  725. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +0 -5
  726. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +0 -7
  727. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +0 -5
  728. package/src/themes/sap_horizon/PopupsCommon-parameters.css +0 -9
  729. package/src/themes/sap_horizon_dark/PopupsCommon-parameters.css +0 -10
@@ -0,0 +1,162 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ const metadata = {
7
+ tag: "ui5-menu-item",
8
+ properties: /** @lends sap.ui.webcomponents.main.MenuItem.prototype */ {
9
+ /**
10
+ * Defines the text of the tree item.
11
+ *
12
+ * @type {String}
13
+ * @defaultValue ""
14
+ * @public
15
+ */
16
+ text: {
17
+ type: String,
18
+ },
19
+
20
+ /**
21
+ * Defines the icon to be displayed as graphical element within the component.
22
+ * The SAP-icons font provides numerous options.
23
+ * <br><br>
24
+ <b>* Example:</b>
25
+ * 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>.
26
+ *
27
+ * @type {string}
28
+ * @defaultvalue ""
29
+ * @public
30
+ */
31
+ icon: {
32
+ type: String,
33
+ },
34
+
35
+ /**
36
+ * Defines whether a visual separator should be rendered before the item.
37
+ *
38
+ * @type {boolean}
39
+ * @defaultvalue false
40
+ * @public
41
+ */
42
+ startsSection: {
43
+ type: Boolean,
44
+ },
45
+
46
+ /**
47
+ * Defines whether <code>ui5-menu-item</code> is in disabled state.
48
+ * <br><br>
49
+ * <b>Note:</b> A disabled <code>ui5-menu-item</code> is noninteractive.
50
+ * @type {boolean}
51
+ * @defaultvalue false
52
+ * @public
53
+ */
54
+ disabled: {
55
+ type: Boolean,
56
+ },
57
+
58
+ /**
59
+ * Indicates if the any of the element siblings have children items.
60
+ * @type {boolean}
61
+ * @private
62
+ */
63
+ _siblingsWithChildren: {
64
+ type: Boolean,
65
+ noAttribute: true,
66
+ },
67
+
68
+ /**
69
+ * Indicates if the any of the element siblings have icon.
70
+ * @type {boolean}
71
+ * @private
72
+ */
73
+ _siblingsWithIcon: {
74
+ type: Boolean,
75
+ noAttribute: true,
76
+ },
77
+
78
+ /**
79
+ * Stores Menu object with submenu items
80
+ * @type {object}
81
+ * @private
82
+ */
83
+ _subMenu: {
84
+ type: Object,
85
+ },
86
+
87
+ /**
88
+ * Defines whether the submenu closing must be prevented
89
+ * @type {boolean}
90
+ * @private
91
+ */
92
+ _preventSubMenuClose: {
93
+ type: Boolean,
94
+ noAttribute: true,
95
+ },
96
+ },
97
+ managedSlots: true,
98
+ slots: /** @lends sap.ui.webcomponents.main.MenuItem.prototype */ {
99
+ /**
100
+ * Defines the items of this component.
101
+ *
102
+ * @type {sap.ui.webcomponents.main.MenuItem[]}
103
+ * @slot items
104
+ * @public
105
+ */
106
+ "default": {
107
+ propertyName: "items",
108
+ type: HTMLElement,
109
+ invalidateOnChildChange: true,
110
+ },
111
+ },
112
+ };
113
+
114
+ /**
115
+ * @class
116
+ *
117
+ * <h3 class="comment-api-title">Overview</h3>
118
+ *
119
+ * <code>ui5-menu-item</code> is the item to use inside a <code>ui5-menu</code>.
120
+ * An arbitrary hierarchy structure can be represented by recursively nesting menu items.
121
+ *
122
+ * <h3>Usage</h3>
123
+ *
124
+ * <code>ui5-menu-item</code> is an abstract element, representing a node in a <code>ui5-menu</code>. The menu itself is rendered as a list,
125
+ * and each <code>ui5-menu-item</code> is represented by a list item (<code>ui5-li</code>) in that list. Therefore, you should only use
126
+ * <code>ui5-menu-item</code> directly in your apps. The <code>ui5-li</code> list item is internal for the list, and not intended for public use.
127
+ *
128
+ * For the <code>ui5-menu-item</code>
129
+ * <h3>ES6 Module Import</h3>
130
+ *
131
+ * <code>import @ui5/webcomponents/dist/MenuItem.js";</code>
132
+ *
133
+ * @constructor
134
+ * @author SAP SE
135
+ * @alias sap.ui.webcomponents.main.MenuItem
136
+ * @extends UI5Element
137
+ * @tagname ui5-menu-item
138
+ * @implements sap.ui.webcomponents.main.IMenuItem
139
+ * @since 1.3.0
140
+ * @public
141
+ */
142
+ class MenuItem extends UI5Element {
143
+ static get metadata() {
144
+ return metadata;
145
+ }
146
+
147
+ get hasChildren() {
148
+ return !!this.items.length;
149
+ }
150
+
151
+ get hasDummyIcon() {
152
+ return this._siblingsWithIcon && !this.icon;
153
+ }
154
+
155
+ get subMenuOpened() {
156
+ return !!Object.keys(this._subMenu).length;
157
+ }
158
+ }
159
+
160
+ MenuItem.define();
161
+
162
+ export default MenuItem;
@@ -7,13 +7,26 @@ import {
7
7
  isDown,
8
8
  isUp,
9
9
  isSpace,
10
+ isSpaceCtrl,
11
+ isSpaceShift,
10
12
  isRight,
11
13
  isHome,
14
+ isEnd,
12
15
  isTabNext,
13
16
  isTabPrevious,
17
+ isUpShift,
18
+ isDownShift,
19
+ isLeftCtrl,
20
+ isRightCtrl,
21
+ isUpCtrl,
22
+ isDownCtrl,
14
23
  isHomeCtrl,
15
24
  isEndCtrl,
16
25
  isCtrlA,
26
+ isCtrlV,
27
+ isDeleteShift,
28
+ isInsertShift,
29
+ isInsertCtrl,
17
30
  } from "@ui5/webcomponents-base/dist/Keys.js";
18
31
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
19
32
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
@@ -26,6 +39,7 @@ import "@ui5/webcomponents-icons/dist/error.js";
26
39
  import "@ui5/webcomponents-icons/dist/alert.js";
27
40
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
28
41
  import "@ui5/webcomponents-icons/dist/information.js";
42
+ import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
29
43
  import MultiComboBoxItem from "./MultiComboBoxItem.js";
30
44
  import Tokenizer from "./Tokenizer.js";
31
45
  import Token from "./Token.js";
@@ -420,6 +434,7 @@ class MultiComboBox extends UI5Element {
420
434
  this._validationTimeout = null;
421
435
  this._handleResizeBound = this._handleResize.bind(this);
422
436
  this.currentItemIdx = -1;
437
+ this.FormSupport = undefined;
423
438
  }
424
439
 
425
440
  onEnterDOM() {
@@ -442,6 +457,11 @@ class MultiComboBox extends UI5Element {
442
457
  this.allItemsPopover.toggle(this);
443
458
  }
444
459
 
460
+ togglePopoverByDropdownIcon() {
461
+ this._shouldFilterItems = false;
462
+ this.allItemsPopover.toggle(this);
463
+ }
464
+
445
465
  _showFilteredItems() {
446
466
  this.filterSelected = true;
447
467
  this._showMorePressed = true;
@@ -468,6 +488,8 @@ class MultiComboBox extends UI5Element {
468
488
  const filteredItems = this._filterItems(value);
469
489
  const oldValueState = this.valueState;
470
490
 
491
+ this._shouldFilterItems = true;
492
+
471
493
  if (this.filterSelected) {
472
494
  this.filterSelected = false;
473
495
  }
@@ -524,7 +546,7 @@ class MultiComboBox extends UI5Element {
524
546
  }
525
547
 
526
548
  get _getPlaceholder() {
527
- if (this._tokenizer && this._tokenizer.tokens.length) {
549
+ if (this._getSelectedItems().length) {
528
550
  return "";
529
551
  }
530
552
 
@@ -533,8 +555,9 @@ class MultiComboBox extends UI5Element {
533
555
 
534
556
  _handleArrowLeft() {
535
557
  const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
558
+ const isTextSelected = this.getDomRef().querySelector(`input`).selectionEnd - cursorPosition > 0;
536
559
 
537
- if (cursorPosition === 0) {
560
+ if (cursorPosition === 0 && !isTextSelected) {
538
561
  this._tokenizer._focusLastToken();
539
562
  }
540
563
  }
@@ -573,20 +596,102 @@ class MultiComboBox extends UI5Element {
573
596
  }
574
597
 
575
598
  async _onkeydown(event) {
576
- if (isShow(event) && !this.readonly && !this.disabled) {
599
+ const isArrowDownCtrl = isDownCtrl(event);
600
+
601
+ if (isShow(event) && !this.disabled) {
602
+ this._handleShow(event);
603
+ return;
604
+ }
605
+
606
+ if (isDownShift(event) || isUpShift(event)) {
577
607
  event.preventDefault();
578
- this.togglePopover();
608
+ return;
579
609
  }
580
610
 
581
- if (isUp(event) || isDown(event)) {
582
- this._handleArrowNavigation(event);
611
+ if (isUp(event) || isDown(event) || isUpCtrl(event) || isArrowDownCtrl) {
612
+ this._handleArrowNavigation(event, isArrowDownCtrl);
583
613
  return;
584
614
  }
585
615
 
616
+ // CTRL + Arrow Down navigation is performed by the ItemNavigation module of the List,
617
+ // here we only implement the text selection of the selected item
618
+ if (isArrowDownCtrl && !this.allItemsPopover.opened) {
619
+ setTimeout(() => this._inputDom.setSelectionRange(0, this._inputDom.value.length), 0);
620
+ }
621
+
622
+ if (isLeftCtrl(event) || isRightCtrl(event)) {
623
+ this._handleArrowCtrl(event);
624
+ return;
625
+ }
626
+
627
+ if (isCtrlV(event) || isInsertShift(event)) {
628
+ this._handlePaste(event);
629
+ return;
630
+ }
631
+
632
+ if (isSpaceShift(event)) {
633
+ event.preventDefault();
634
+ }
635
+
586
636
  this._keyDown = true;
587
637
  this[`_handle${event.key}`] && this[`_handle${event.key}`](event);
588
638
  }
589
639
 
640
+ async _handlePaste(event) {
641
+ const pastedText = await navigator.clipboard.readText();
642
+
643
+ if (!pastedText) {
644
+ return;
645
+ }
646
+
647
+ const separatedText = pastedText.split(/\r\n|\r|\n/g);
648
+ const matchingItems = this.items.filter(item => separatedText.indexOf(item.text) > -1 && !item.selected);
649
+
650
+ if (matchingItems.length) {
651
+ matchingItems.forEach(item => {
652
+ item.selected = true;
653
+ this.value = "";
654
+ this.fireSelectionChange();
655
+ });
656
+ } else {
657
+ this.value = pastedText;
658
+ this.fireEvent("input");
659
+ }
660
+ }
661
+
662
+ _handleShow(event) {
663
+ const items = this.items;
664
+ const selectedItem = this._getSelectedItems()[0];
665
+ const focusedToken = this._tokenizer.tokens.find(token => token.focused);
666
+ const value = this.value;
667
+ const matchingItem = this.items.find(item => item.text.localeCompare(value, undefined, { sensitivity: "base" }) === 0);
668
+
669
+ event.preventDefault();
670
+
671
+ if (this.readonly) {
672
+ return;
673
+ }
674
+
675
+ this._isOpenedByKeyboard = true;
676
+ this._shouldFilterItems = false;
677
+ this._filteredItems = this.items;
678
+
679
+ this.togglePopover();
680
+
681
+ if (!focusedToken && matchingItem) {
682
+ this._itemToFocus = matchingItem;
683
+ return;
684
+ }
685
+
686
+ if (selectedItem && !focusedToken) {
687
+ this._itemToFocus = selectedItem;
688
+ } else if (focusedToken && event.target === focusedToken) {
689
+ this._itemToFocus = items.find(item => item.text === focusedToken.text);
690
+ } else {
691
+ this._itemToFocus = items[0];
692
+ }
693
+ }
694
+
590
695
  _handlePageUp(event) {
591
696
  event.preventDefault();
592
697
  }
@@ -654,17 +759,22 @@ class MultiComboBox extends UI5Element {
654
759
 
655
760
  event.preventDefault();
656
761
 
657
- if (isArrowDown) {
762
+ if (isArrowDown || isDownCtrl(event)) {
658
763
  this._handleArrowDown(event);
659
764
  }
660
765
 
661
- if (isArrowUp) {
766
+ if (isArrowUp || isUpCtrl(event)) {
662
767
  this._inputDom.focus();
663
768
  }
664
769
  }
665
770
 
666
- _onItemKeydown(event) {
771
+ async _onItemKeydown(event) {
667
772
  const isFirstItem = this.list.items[0] === event.target;
773
+ const isArrowUp = isUp(event) || isUpCtrl(event);
774
+
775
+ if (this.hasValueStateMessage && !this.valueStateHeader) {
776
+ await this._setValueStateHeader();
777
+ }
668
778
 
669
779
  if (isTabNext(event) || isTabPrevious(event)) {
670
780
  this._onItemTab(event);
@@ -683,27 +793,59 @@ class MultiComboBox extends UI5Element {
683
793
 
684
794
  event.preventDefault();
685
795
 
796
+ if (isDownShift(event) || isUpShift(event)) {
797
+ this._handleItemRangeSelection(event);
798
+ return;
799
+ }
800
+
801
+ if ((isUpCtrl(event)) && !isFirstItem) {
802
+ this.list._itemNavigation._handleUp(event);
803
+ this.list.items[this.list._itemNavigation._currentIndex].focus();
804
+ }
805
+
806
+ if (isDownCtrl(event)) {
807
+ this.list._itemNavigation._handleDown(event);
808
+ this.list.items[this.list._itemNavigation._currentIndex].focus();
809
+ }
810
+
811
+ if (isShow(event)) {
812
+ this.togglePopover();
813
+ }
814
+
686
815
  if (isCtrlA(event)) {
687
816
  this._handleSelectAll(event);
688
817
  return;
689
818
  }
690
819
 
691
- if (((isUp(event) && isFirstItem) || isHome(event)) && this.valueStateHeader) {
820
+ if (((isArrowUp && isFirstItem) || isHome(event)) && this.valueStateHeader) {
692
821
  this.valueStateHeader.focus();
693
822
  }
694
823
 
695
- if (!this.valueStateHeader && isUp(event) && isFirstItem) {
824
+ if (!this.valueStateHeader && isFirstItem && isArrowUp) {
696
825
  this._inputDom.focus();
697
826
  }
698
827
  }
699
828
 
829
+ _handleArrowCtrl(event) {
830
+ const input = this._inputDom;
831
+ const isArrowLeft = isLeftCtrl(event);
832
+
833
+ if (isArrowLeft && input.selectionStart === 0 && input.selectionEnd === 0) {
834
+ event.preventDefault();
835
+ }
836
+
837
+ if (isArrowLeft && ((input.selectionEnd - input.selectionStart) > 0)) {
838
+ input.setSelectionRange(0, 0);
839
+ }
840
+ }
841
+
700
842
  _onItemTab(event) {
701
843
  this._inputDom.focus();
702
844
  this.allItemsPopover.close();
703
845
  }
704
846
 
705
- async _handleArrowNavigation(event) {
706
- const isArrowDown = isDown(event);
847
+ async _handleArrowNavigation(event, isDownControl) {
848
+ const isArrowDown = isDownControl || isDown(event);
707
849
  const hasSuggestions = this.items.length;
708
850
  const isOpen = this.allItemsPopover.opened;
709
851
 
@@ -713,12 +855,12 @@ class MultiComboBox extends UI5Element {
713
855
  await this._setValueStateHeader();
714
856
  }
715
857
 
716
- if (isArrowDown && isOpen && this.focused && this.valueStateHeader) {
858
+ if (isArrowDown && isOpen && this.valueStateHeader) {
717
859
  this.valueStateHeader.focus();
718
860
  return;
719
861
  }
720
862
 
721
- if (isArrowDown && this.focused && hasSuggestions) {
863
+ if (isArrowDown && hasSuggestions) {
722
864
  this._handleArrowDown(event);
723
865
  }
724
866
 
@@ -739,6 +881,26 @@ class MultiComboBox extends UI5Element {
739
881
  }
740
882
  }
741
883
 
884
+ _handleItemRangeSelection(event) {
885
+ const items = this.items;
886
+ const listItems = this.list.items;
887
+ const currentItemIdx = listItems.indexOf(event.target);
888
+ const nextItemIdx = currentItemIdx + 1;
889
+ const prevItemIdx = currentItemIdx - 1;
890
+
891
+ if (isDownShift(event) && items[nextItemIdx]) {
892
+ items[nextItemIdx].selected = items[currentItemIdx].selected;
893
+ items[nextItemIdx].focus();
894
+ }
895
+
896
+ if (isUpShift(event) && items[prevItemIdx]) {
897
+ items[prevItemIdx].selected = items[currentItemIdx].selected;
898
+ items[prevItemIdx].focus();
899
+ }
900
+
901
+ this.fireSelectionChange();
902
+ }
903
+
742
904
  _navigateToNextItem() {
743
905
  const items = this.items;
744
906
  const itemsCount = items.length;
@@ -810,6 +972,10 @@ class MultiComboBox extends UI5Element {
810
972
  const matchingItem = this.items.find(item => item.text.toLowerCase() === lowerCaseValue);
811
973
  const oldValueState = this.valueState;
812
974
 
975
+ if (this.FormSupport) {
976
+ this.FormSupport.triggerFormSubmit(this);
977
+ }
978
+
813
979
  if (matchingItem) {
814
980
  if (matchingItem.selected) {
815
981
  if (this._validationTimeout) {
@@ -841,17 +1007,51 @@ class MultiComboBox extends UI5Element {
841
1007
  }
842
1008
 
843
1009
  _onTokenizerKeydown(event) {
1010
+ const isCtrl = !!(event.metaKey || event.ctrlKey);
1011
+
844
1012
  if (isRight(event)) {
845
1013
  const lastTokenIndex = this._tokenizer.tokens.length - 1;
846
1014
 
847
- if (this._tokenizer.tokens[lastTokenIndex] === document.activeElement.shadowRoot.activeElement) {
1015
+ if (event.target === this._tokenizer.tokens[lastTokenIndex]) {
848
1016
  setTimeout(() => {
849
1017
  this.shadowRoot.querySelector("input").focus();
850
1018
  }, 0);
851
1019
  }
852
1020
  }
853
1021
 
854
- this[`_handle${event.key}`] && this[`_handle${event.key}`](event);
1022
+ if ((isCtrl && ["c", "x"].includes(event.key.toLowerCase())) || isDeleteShift(event) || isInsertCtrl(event)) {
1023
+ event.preventDefault();
1024
+
1025
+ const isCut = event.key.toLowerCase() === "x" || isDeleteShift(event);
1026
+ const selectedTokens = this._tokenizer.tokens.filter(token => token.selected);
1027
+
1028
+ if (isCut) {
1029
+ const cutResult = this._tokenizer._fillClipboard("cut", selectedTokens);
1030
+ selectedTokens.forEach(token => {
1031
+ this._tokenizer._tokenDelete(event, token);
1032
+ });
1033
+
1034
+ this.focus();
1035
+ return cutResult;
1036
+ }
1037
+ return this._tokenizer._fillClipboard("copy", selectedTokens);
1038
+ }
1039
+
1040
+ if (isCtrlV(event) || isInsertShift(event)) {
1041
+ this._handlePaste(event);
1042
+ }
1043
+
1044
+ if (isHome(event)) {
1045
+ this._handleHome(event);
1046
+ }
1047
+
1048
+ if (isEnd(event)) {
1049
+ this._handleEnd(event);
1050
+ }
1051
+
1052
+ if (isShow(event) && !this.readonly && !this.disabled) {
1053
+ this._handleShow(event);
1054
+ }
855
1055
  }
856
1056
 
857
1057
  _filterItems(str) {
@@ -861,11 +1061,15 @@ class MultiComboBox extends UI5Element {
861
1061
  _afterOpenPicker() {
862
1062
  this._toggle();
863
1063
 
864
- if (!isPhone()) {
1064
+ if (!isPhone() && !this._isOpenedByKeyboard) {
865
1065
  this._innerInput.focus();
1066
+ } else if (this._isOpenedByKeyboard) {
1067
+ this._itemToFocus.focus();
866
1068
  } else {
867
1069
  this.allItemsPopover.focus();
868
1070
  }
1071
+
1072
+ this._isOpenedByKeyboard = false;
869
1073
  }
870
1074
 
871
1075
  _toggle() {
@@ -888,7 +1092,7 @@ class MultiComboBox extends UI5Element {
888
1092
  this.fireSelectionChange();
889
1093
  }
890
1094
 
891
- if (!event.detail.selectionComponentPressed && !isSpace(event.detail)) {
1095
+ if (!event.detail.selectionComponentPressed && !isSpace(event.detail) && !isSpaceCtrl(event.detail)) {
892
1096
  this.allItemsPopover.close();
893
1097
  this.value = "";
894
1098
 
@@ -964,6 +1168,7 @@ class MultiComboBox extends UI5Element {
964
1168
 
965
1169
  onBeforeRendering() {
966
1170
  const input = this.shadowRoot.querySelector("input");
1171
+ this.FormSupport = getFeature("FormSupport");
967
1172
  this._inputLastValue = this.value;
968
1173
 
969
1174
  if (input && !input.value) {
@@ -974,8 +1179,11 @@ class MultiComboBox extends UI5Element {
974
1179
  item._getRealDomRef = () => this.allItemsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
975
1180
  });
976
1181
 
977
- const filteredItems = this._filterItems(this.value);
978
- this._filteredItems = filteredItems;
1182
+ if (this._shouldFilterItems) {
1183
+ this._filteredItems = this._filterItems(this.value);
1184
+ } else {
1185
+ this._filteredItems = this.items;
1186
+ }
979
1187
  }
980
1188
 
981
1189
  async onAfterRendering() {
@@ -1087,10 +1295,6 @@ class MultiComboBox extends UI5Element {
1087
1295
  }
1088
1296
  }
1089
1297
 
1090
- _readonlyIconClick() {
1091
- this._inputDom.focus();
1092
- }
1093
-
1094
1298
  get editable() {
1095
1299
  return !this.readonly;
1096
1300
  }
@@ -182,18 +182,17 @@ class MultiInput extends Input {
182
182
 
183
183
  const isHomeInBeginning = isHome(event) && event.target.selectionStart === 0;
184
184
 
185
- if (isLeft(event) || isHomeInBeginning) {
186
- this._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens.
185
+ if (isHomeInBeginning) {
186
+ this._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens
187
+ return this._focusFirstToken(event);
188
+ }
187
189
 
190
+ if (isLeft(event) || isBackSpace(event)) {
191
+ this._skipOpenSuggestions = true;
188
192
  return this._handleLeft(event);
189
193
  }
190
194
 
191
195
  this._skipOpenSuggestions = false;
192
- if (isBackSpace(event) && event.target.value === "") {
193
- event.preventDefault();
194
-
195
- this.tokenizer._focusLastToken();
196
- }
197
196
 
198
197
  if (isShow(event)) {
199
198
  this.valueHelpPress();
@@ -243,18 +242,30 @@ class MultiInput extends Input {
243
242
  }
244
243
  }
245
244
 
246
- _handleLeft() {
245
+ _handleLeft(event) {
247
246
  const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
248
247
  const tokens = this.tokens;
249
248
  const lastToken = tokens.length && tokens[tokens.length - 1];
250
249
 
251
250
  if (cursorPosition === 0 && lastToken) {
252
- // this.tokenizer._focusLastToken(); won't work as the tokens in the MultiInput use different slot and are not resolved properly
251
+ event.preventDefault();
253
252
  lastToken.focus();
254
253
  this.tokenizer._itemNav.setCurrentItem(lastToken);
255
254
  }
256
255
  }
257
256
 
257
+ _focusFirstToken(event) {
258
+ const tokens = this.tokens;
259
+ const firstToken = tokens.length && tokens[0];
260
+
261
+ if (firstToken) {
262
+ event.preventDefault();
263
+
264
+ firstToken.focus();
265
+ this.tokenizer._itemNav.setCurrentItem(firstToken);
266
+ }
267
+ }
268
+
258
269
  _onfocusout(event) {
259
270
  super._onfocusout(event);
260
271
  const relatedTarget = event.relatedTarget;
package/dist/Option.js CHANGED
@@ -68,6 +68,16 @@ const metadata = {
68
68
  type: String,
69
69
  },
70
70
 
71
+ /**
72
+ * Defines the additional text displayed at the end of the option element.
73
+ * @type {string}
74
+ * @public
75
+ * @since 1.3.0
76
+ */
77
+ additionalText: {
78
+ type: String,
79
+ },
80
+
71
81
  /**
72
82
  * Defines the focused state of the component.
73
83
  * @type {boolean}
package/dist/Popover.js CHANGED
@@ -386,6 +386,13 @@ class Popover extends Popup {
386
386
  && openerRect.right === 0;
387
387
  }
388
388
 
389
+ isOpenerOutsideViewport(openerRect) {
390
+ return openerRect.bottom < 0
391
+ || openerRect.top > window.innerHeight
392
+ || openerRect.right < 0
393
+ || openerRect.left > window.innerWidth;
394
+ }
395
+
389
396
  /**
390
397
  * @override
391
398
  */
@@ -425,7 +432,7 @@ class Popover extends Popup {
425
432
 
426
433
  const stretching = this.horizontalAlign === PopoverHorizontalAlign.Stretch;
427
434
 
428
- if (this._preventRepositionAndClose) {
435
+ if (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect)) {
429
436
  return this.close();
430
437
  }
431
438
 
@@ -501,10 +508,6 @@ class Popover extends Popup {
501
508
  return { width, height };
502
509
  }
503
510
 
504
- get contentDOM() {
505
- return this.shadowRoot.querySelector(".ui5-popup-content");
506
- }
507
-
508
511
  get arrowDOM() {
509
512
  return this.shadowRoot.querySelector(".ui5-popover-arrow");
510
513
  }