@openui5/sap.m 1.126.1 → 1.128.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 (510) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +7 -13
  16. package/src/sap/m/BusyDialog.js +1 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +1 -1
  19. package/src/sap/m/Carousel.js +3 -2
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +2 -2
  22. package/src/sap/m/ColorPalette.js +1 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +4 -3
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  32. package/src/sap/m/ComboBox.js +1 -1
  33. package/src/sap/m/ComboBoxBase.js +2 -2
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/ContentConfig.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +15 -3
  40. package/src/sap/m/DateRangeSelection.js +11 -2
  41. package/src/sap/m/DateTimeField.js +1 -1
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +14 -2
  44. package/src/sap/m/Dialog.js +15 -15
  45. package/src/sap/m/DialogRenderer.js +11 -3
  46. package/src/sap/m/DisplayListItem.js +1 -1
  47. package/src/sap/m/DraftIndicator.js +1 -1
  48. package/src/sap/m/DynamicDate.js +1 -1
  49. package/src/sap/m/DynamicDateOption.js +1 -1
  50. package/src/sap/m/DynamicDateRange.js +2 -2
  51. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  52. package/src/sap/m/ExpandableText.js +2 -2
  53. package/src/sap/m/FacetFilter.js +1 -1
  54. package/src/sap/m/FacetFilterItem.js +1 -1
  55. package/src/sap/m/FacetFilterList.js +1 -1
  56. package/src/sap/m/FeedContent.js +1 -1
  57. package/src/sap/m/FeedInput.js +1 -1
  58. package/src/sap/m/FeedListItem.js +1 -1
  59. package/src/sap/m/FeedListItemAction.js +1 -1
  60. package/src/sap/m/FeedListItemRenderer.js +15 -14
  61. package/src/sap/m/Fiori20Adapter.js +40 -19
  62. package/src/sap/m/FlexBox.js +1 -1
  63. package/src/sap/m/FlexItemData.js +1 -1
  64. package/src/sap/m/FormattedText.js +1 -1
  65. package/src/sap/m/GenericTag.js +11 -5
  66. package/src/sap/m/GenericTile.js +1 -2
  67. package/src/sap/m/GenericTileRenderer.js +5 -1
  68. package/src/sap/m/GroupHeaderListItem.js +1 -1
  69. package/src/sap/m/GrowingList.js +1 -1
  70. package/src/sap/m/HBox.js +1 -1
  71. package/src/sap/m/HeaderContainer.js +1 -1
  72. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  73. package/src/sap/m/IconTabBar.js +1 -1
  74. package/src/sap/m/IconTabBarSelectList.js +1 -1
  75. package/src/sap/m/IconTabFilter.js +1 -1
  76. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  77. package/src/sap/m/IconTabHeader.js +1 -1
  78. package/src/sap/m/IconTabSeparator.js +1 -1
  79. package/src/sap/m/IllustratedMessage.js +1 -1
  80. package/src/sap/m/Illustration.js +1 -1
  81. package/src/sap/m/Image.js +1 -1
  82. package/src/sap/m/ImageContent.js +1 -1
  83. package/src/sap/m/Input.js +15 -23
  84. package/src/sap/m/InputBase.js +16 -2
  85. package/src/sap/m/InputListItem.js +1 -1
  86. package/src/sap/m/Label.js +1 -1
  87. package/src/sap/m/LightBox.js +1 -1
  88. package/src/sap/m/LightBoxItem.js +1 -1
  89. package/src/sap/m/Link.js +120 -5
  90. package/src/sap/m/LinkRenderer.js +18 -0
  91. package/src/sap/m/LinkTileContent.js +1 -1
  92. package/src/sap/m/List.js +1 -1
  93. package/src/sap/m/ListBase.js +96 -13
  94. package/src/sap/m/ListItemBase.js +2 -2
  95. package/src/sap/m/MaskEnabler.js +1 -1
  96. package/src/sap/m/MaskInput.js +1 -1
  97. package/src/sap/m/MaskInputRule.js +1 -1
  98. package/src/sap/m/Menu.js +168 -57
  99. package/src/sap/m/MenuButton.js +1 -1
  100. package/src/sap/m/MenuItem.js +86 -12
  101. package/src/sap/m/MenuItemGroup.js +448 -0
  102. package/src/sap/m/MenuListItem.js +45 -2
  103. package/src/sap/m/MenuListItemRenderer.js +59 -23
  104. package/src/sap/m/MessageItem.js +14 -6
  105. package/src/sap/m/MessageListItem.js +2 -2
  106. package/src/sap/m/MessagePage.js +1 -1
  107. package/src/sap/m/MessagePopover.js +1 -1
  108. package/src/sap/m/MessagePopoverItem.js +1 -1
  109. package/src/sap/m/MessageStrip.js +2 -2
  110. package/src/sap/m/MessageToast.js +1 -1
  111. package/src/sap/m/MessageView.js +10 -7
  112. package/src/sap/m/MultiComboBox.js +1 -1
  113. package/src/sap/m/MultiEditField.js +1 -1
  114. package/src/sap/m/MultiInput.js +1 -1
  115. package/src/sap/m/NavContainer.js +1 -1
  116. package/src/sap/m/NewsContent.js +24 -1
  117. package/src/sap/m/NewsContentRenderer.js +16 -11
  118. package/src/sap/m/NotificationList.js +1 -1
  119. package/src/sap/m/NotificationListBase.js +2 -2
  120. package/src/sap/m/NotificationListGroup.js +1 -1
  121. package/src/sap/m/NotificationListItem.js +3 -3
  122. package/src/sap/m/NumericContent.js +1 -1
  123. package/src/sap/m/NumericInput.js +1 -1
  124. package/src/sap/m/ObjectAttribute.js +1 -1
  125. package/src/sap/m/ObjectHeader.js +1 -1
  126. package/src/sap/m/ObjectIdentifier.js +12 -5
  127. package/src/sap/m/ObjectListItem.js +1 -1
  128. package/src/sap/m/ObjectMarker.js +1 -1
  129. package/src/sap/m/ObjectNumber.js +4 -4
  130. package/src/sap/m/ObjectNumberRenderer.js +0 -9
  131. package/src/sap/m/ObjectStatus.js +13 -7
  132. package/src/sap/m/ObjectStatusRenderer.js +8 -0
  133. package/src/sap/m/OverflowToolbar.js +64 -7
  134. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  135. package/src/sap/m/OverflowToolbarButton.js +1 -1
  136. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  137. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  138. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  139. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  140. package/src/sap/m/P13nColumnsItem.js +1 -1
  141. package/src/sap/m/P13nColumnsPanel.js +1 -1
  142. package/src/sap/m/P13nConditionPanel.js +3 -5
  143. package/src/sap/m/P13nDialog.js +1 -1
  144. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  145. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  146. package/src/sap/m/P13nFilterItem.js +1 -1
  147. package/src/sap/m/P13nFilterPanel.js +1 -1
  148. package/src/sap/m/P13nGroupItem.js +1 -1
  149. package/src/sap/m/P13nGroupPanel.js +1 -1
  150. package/src/sap/m/P13nItem.js +1 -1
  151. package/src/sap/m/P13nPanel.js +1 -1
  152. package/src/sap/m/P13nSelectionItem.js +1 -1
  153. package/src/sap/m/P13nSelectionPanel.js +1 -1
  154. package/src/sap/m/P13nSortItem.js +1 -1
  155. package/src/sap/m/P13nSortPanel.js +1 -1
  156. package/src/sap/m/PDFViewer.js +1 -1
  157. package/src/sap/m/Page.js +1 -4
  158. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  159. package/src/sap/m/PagingButton.js +1 -1
  160. package/src/sap/m/Panel.js +1 -1
  161. package/src/sap/m/PlanningCalendar.js +22 -6
  162. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  163. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  164. package/src/sap/m/PlanningCalendarLegendRenderer.js +4 -1
  165. package/src/sap/m/PlanningCalendarRow.js +11 -5
  166. package/src/sap/m/PlanningCalendarView.js +1 -1
  167. package/src/sap/m/Popover.js +16 -5
  168. package/src/sap/m/PopoverRenderer.js +13 -3
  169. package/src/sap/m/ProgressIndicator.js +1 -1
  170. package/src/sap/m/PullToRefresh.js +1 -1
  171. package/src/sap/m/QuickView.js +1 -1
  172. package/src/sap/m/QuickViewBase.js +1 -1
  173. package/src/sap/m/QuickViewCard.js +1 -1
  174. package/src/sap/m/QuickViewGroup.js +1 -1
  175. package/src/sap/m/QuickViewGroupElement.js +1 -1
  176. package/src/sap/m/QuickViewPage.js +1 -1
  177. package/src/sap/m/RadioButton.js +1 -1
  178. package/src/sap/m/RadioButtonGroup.js +1 -1
  179. package/src/sap/m/RangeSlider.js +1 -1
  180. package/src/sap/m/RatingIndicator.js +1 -1
  181. package/src/sap/m/RatingIndicatorRenderer.js +1 -2
  182. package/src/sap/m/ResponsivePopover.js +1 -1
  183. package/src/sap/m/ResponsiveScale.js +1 -1
  184. package/src/sap/m/ScrollBar.js +1 -1
  185. package/src/sap/m/ScrollContainer.js +1 -1
  186. package/src/sap/m/SearchField.js +1 -1
  187. package/src/sap/m/SegmentedButton.js +1 -1
  188. package/src/sap/m/SegmentedButtonItem.js +1 -1
  189. package/src/sap/m/Select.js +36 -4
  190. package/src/sap/m/SelectDialog.js +14 -10
  191. package/src/sap/m/SelectDialogBase.js +21 -13
  192. package/src/sap/m/SelectList.js +2 -2
  193. package/src/sap/m/SelectionDetails.js +1 -29
  194. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  195. package/src/sap/m/SelectionDetailsItem.js +1 -1
  196. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  197. package/src/sap/m/Shell.js +1 -1
  198. package/src/sap/m/SimpleFixFlex.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendar.js +15 -2
  200. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarGrid.js +81 -25
  202. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +88 -17
  203. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +68 -7
  204. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +18 -8
  205. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  207. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  209. package/src/sap/m/SlideTile.js +1 -1
  210. package/src/sap/m/SlideTileRenderer.js +3 -0
  211. package/src/sap/m/Slider.js +1 -1
  212. package/src/sap/m/SliderTooltip.js +1 -1
  213. package/src/sap/m/SliderTooltipBase.js +1 -1
  214. package/src/sap/m/SliderTooltipContainer.js +1 -1
  215. package/src/sap/m/SplitApp.js +1 -1
  216. package/src/sap/m/SplitButton.js +1 -1
  217. package/src/sap/m/SplitContainer.js +1 -1
  218. package/src/sap/m/StandardDynamicDateOption.js +3 -3
  219. package/src/sap/m/StandardListItem.js +1 -1
  220. package/src/sap/m/StandardTile.js +1 -1
  221. package/src/sap/m/StandardTreeItem.js +1 -1
  222. package/src/sap/m/StepInput.js +1 -1
  223. package/src/sap/m/SuggestionItem.js +1 -1
  224. package/src/sap/m/SuggestionsPopover.js +1 -1
  225. package/src/sap/m/Switch.js +1 -1
  226. package/src/sap/m/TabContainer.js +1 -1
  227. package/src/sap/m/TabContainerItem.js +1 -1
  228. package/src/sap/m/TabStrip.js +1 -1
  229. package/src/sap/m/TabStripItem.js +1 -1
  230. package/src/sap/m/Table.js +2 -2
  231. package/src/sap/m/TablePersoController.js +1 -1
  232. package/src/sap/m/TablePersoDialog.js +1 -1
  233. package/src/sap/m/TablePersoProvider.js +1 -1
  234. package/src/sap/m/TableRenderer.js +4 -3
  235. package/src/sap/m/TableSelectDialog.js +14 -12
  236. package/src/sap/m/Text.js +2 -2
  237. package/src/sap/m/TextArea.js +1 -1
  238. package/src/sap/m/Tile.js +1 -1
  239. package/src/sap/m/TileContainer.js +1 -1
  240. package/src/sap/m/TileContent.js +1 -1
  241. package/src/sap/m/TileContentRenderer.js +3 -0
  242. package/src/sap/m/TileInfo.js +1 -1
  243. package/src/sap/m/TimePicker.js +18 -2
  244. package/src/sap/m/TimePickerClock.js +1 -1
  245. package/src/sap/m/TimePickerClocks.js +1 -1
  246. package/src/sap/m/TimePickerInputs.js +1 -1
  247. package/src/sap/m/TimePickerInternals.js +1 -1
  248. package/src/sap/m/TimePickerSlider.js +1 -1
  249. package/src/sap/m/TimePickerSliders.js +1 -1
  250. package/src/sap/m/Title.js +1 -1
  251. package/src/sap/m/TitlePropagationSupport.js +1 -1
  252. package/src/sap/m/ToggleButton.js +1 -1
  253. package/src/sap/m/Token.js +3 -3
  254. package/src/sap/m/Tokenizer.js +1 -1
  255. package/src/sap/m/Toolbar.js +117 -3
  256. package/src/sap/m/ToolbarLayoutData.js +1 -1
  257. package/src/sap/m/ToolbarRenderer.js +12 -8
  258. package/src/sap/m/ToolbarSeparator.js +1 -1
  259. package/src/sap/m/ToolbarSpacer.js +1 -1
  260. package/src/sap/m/Tree.js +1 -1
  261. package/src/sap/m/TreeItemBase.js +1 -1
  262. package/src/sap/m/UploadCollection.js +1 -1
  263. package/src/sap/m/UploadCollectionItem.js +1 -1
  264. package/src/sap/m/UploadCollectionParameter.js +1 -1
  265. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  266. package/src/sap/m/VBox.js +1 -1
  267. package/src/sap/m/ValueStateHeader.js +1 -1
  268. package/src/sap/m/VariantItem.js +1 -0
  269. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  270. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  271. package/src/sap/m/ViewSettingsDialog.js +1 -1
  272. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  273. package/src/sap/m/ViewSettingsItem.js +1 -1
  274. package/src/sap/m/VisibleItem.js +1 -1
  275. package/src/sap/m/WheelSlider.js +1 -1
  276. package/src/sap/m/WheelSliderContainer.js +1 -1
  277. package/src/sap/m/Wizard.js +1 -1
  278. package/src/sap/m/WizardProgressNavigator.js +1 -1
  279. package/src/sap/m/WizardStep.js +1 -1
  280. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  281. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  282. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  283. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  284. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  285. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  286. package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +4 -4
  287. package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +91 -91
  288. package/src/sap/m/library.js +19 -4
  289. package/src/sap/m/messagebundle.properties +25 -8
  290. package/src/sap/m/messagebundle_ar.properties +12 -2
  291. package/src/sap/m/messagebundle_bg.properties +12 -2
  292. package/src/sap/m/messagebundle_ca.properties +13 -3
  293. package/src/sap/m/messagebundle_cnr.properties +12 -2
  294. package/src/sap/m/messagebundle_cs.properties +12 -2
  295. package/src/sap/m/messagebundle_cy.properties +12 -2
  296. package/src/sap/m/messagebundle_da.properties +14 -4
  297. package/src/sap/m/messagebundle_de.properties +12 -2
  298. package/src/sap/m/messagebundle_el.properties +15 -5
  299. package/src/sap/m/messagebundle_en.properties +15 -5
  300. package/src/sap/m/messagebundle_en_GB.properties +15 -5
  301. package/src/sap/m/messagebundle_en_US_sappsd.properties +193 -105
  302. package/src/sap/m/messagebundle_en_US_saprigi.properties +15 -5
  303. package/src/sap/m/messagebundle_en_US_saptrc.properties +1226 -1138
  304. package/src/sap/m/messagebundle_es.properties +13 -3
  305. package/src/sap/m/messagebundle_es_MX.properties +13 -3
  306. package/src/sap/m/messagebundle_et.properties +12 -2
  307. package/src/sap/m/messagebundle_fi.properties +12 -2
  308. package/src/sap/m/messagebundle_fr.properties +12 -2
  309. package/src/sap/m/messagebundle_fr_CA.properties +12 -2
  310. package/src/sap/m/messagebundle_hi.properties +15 -5
  311. package/src/sap/m/messagebundle_hr.properties +12 -2
  312. package/src/sap/m/messagebundle_hu.properties +13 -3
  313. package/src/sap/m/messagebundle_id.properties +25 -15
  314. package/src/sap/m/messagebundle_it.properties +15 -5
  315. package/src/sap/m/messagebundle_iw.properties +12 -2
  316. package/src/sap/m/messagebundle_ja.properties +10 -0
  317. package/src/sap/m/messagebundle_kk.properties +16 -6
  318. package/src/sap/m/messagebundle_ko.properties +10 -0
  319. package/src/sap/m/messagebundle_lt.properties +12 -2
  320. package/src/sap/m/messagebundle_lv.properties +17 -7
  321. package/src/sap/m/messagebundle_mk.properties +14 -4
  322. package/src/sap/m/messagebundle_ms.properties +12 -2
  323. package/src/sap/m/messagebundle_nl.properties +12 -2
  324. package/src/sap/m/messagebundle_no.properties +12 -2
  325. package/src/sap/m/messagebundle_pl.properties +15 -5
  326. package/src/sap/m/messagebundle_pt.properties +12 -2
  327. package/src/sap/m/messagebundle_pt_PT.properties +12 -2
  328. package/src/sap/m/messagebundle_ro.properties +12 -2
  329. package/src/sap/m/messagebundle_ru.properties +14 -4
  330. package/src/sap/m/messagebundle_sh.properties +12 -2
  331. package/src/sap/m/messagebundle_sk.properties +12 -2
  332. package/src/sap/m/messagebundle_sl.properties +19 -9
  333. package/src/sap/m/messagebundle_sr.properties +12 -2
  334. package/src/sap/m/messagebundle_sv.properties +12 -2
  335. package/src/sap/m/messagebundle_th.properties +12 -2
  336. package/src/sap/m/messagebundle_tr.properties +12 -2
  337. package/src/sap/m/messagebundle_uk.properties +12 -2
  338. package/src/sap/m/messagebundle_vi.properties +13 -3
  339. package/src/sap/m/messagebundle_zh_CN.properties +14 -4
  340. package/src/sap/m/messagebundle_zh_TW.properties +15 -5
  341. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  342. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  343. package/src/sap/m/p13n/BasePanel.js +2 -2
  344. package/src/sap/m/p13n/Container.js +1 -1
  345. package/src/sap/m/p13n/Engine.js +12 -13
  346. package/src/sap/m/p13n/FilterController.js +1 -1
  347. package/src/sap/m/p13n/FilterPanel.js +1 -1
  348. package/src/sap/m/p13n/GroupController.js +1 -1
  349. package/src/sap/m/p13n/GroupPanel.js +1 -1
  350. package/src/sap/m/p13n/MessageStrip.js +64 -0
  351. package/src/sap/m/p13n/Popup.js +1 -1
  352. package/src/sap/m/p13n/QueryPanel.js +1 -1
  353. package/src/sap/m/p13n/SelectionController.js +1 -1
  354. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  355. package/src/sap/m/p13n/SortController.js +1 -1
  356. package/src/sap/m/p13n/SortPanel.js +1 -1
  357. package/src/sap/m/p13n/handler/xConfigHandler.js +5 -7
  358. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  359. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  360. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  361. package/src/sap/m/plugins/CellSelector.js +23 -13
  362. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  363. package/src/sap/m/plugins/ContextMenuSetting.js +1 -1
  364. package/src/sap/m/plugins/CopyProvider.js +1 -1
  365. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  366. package/src/sap/m/plugins/PasteProvider.js +1 -1
  367. package/src/sap/m/plugins/PluginBase.js +1 -1
  368. package/src/sap/m/plugins/UploadSetwithTable.js +1 -1
  369. package/src/sap/m/semantic/AddAction.js +1 -1
  370. package/src/sap/m/semantic/CancelAction.js +1 -1
  371. package/src/sap/m/semantic/DeleteAction.js +1 -1
  372. package/src/sap/m/semantic/DetailPage.js +1 -1
  373. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  374. package/src/sap/m/semantic/EditAction.js +1 -1
  375. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  376. package/src/sap/m/semantic/FilterAction.js +1 -1
  377. package/src/sap/m/semantic/FilterSelect.js +1 -1
  378. package/src/sap/m/semantic/FlagAction.js +1 -1
  379. package/src/sap/m/semantic/ForwardAction.js +1 -1
  380. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  381. package/src/sap/m/semantic/GroupAction.js +1 -1
  382. package/src/sap/m/semantic/GroupSelect.js +1 -1
  383. package/src/sap/m/semantic/MainAction.js +1 -1
  384. package/src/sap/m/semantic/MasterPage.js +1 -1
  385. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  386. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  387. package/src/sap/m/semantic/NegativeAction.js +1 -1
  388. package/src/sap/m/semantic/OpenInAction.js +1 -1
  389. package/src/sap/m/semantic/PositiveAction.js +1 -1
  390. package/src/sap/m/semantic/PrintAction.js +1 -1
  391. package/src/sap/m/semantic/SaveAction.js +1 -1
  392. package/src/sap/m/semantic/Segment.js +1 -1
  393. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  394. package/src/sap/m/semantic/SemanticButton.js +1 -1
  395. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  396. package/src/sap/m/semantic/SemanticControl.js +1 -1
  397. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  398. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  399. package/src/sap/m/semantic/SemanticPage.js +1 -1
  400. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  401. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  402. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  403. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  404. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  405. package/src/sap/m/semantic/ShareMenu.js +1 -1
  406. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  407. package/src/sap/m/semantic/SortAction.js +1 -1
  408. package/src/sap/m/semantic/SortSelect.js +1 -1
  409. package/src/sap/m/table/ColumnWidthController.js +1 -1
  410. package/src/sap/m/table/Util.js +2 -40
  411. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  412. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  413. package/src/sap/m/table/columnmenu/Item.js +1 -1
  414. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  415. package/src/sap/m/table/columnmenu/Menu.js +29 -18
  416. package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
  417. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  418. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  420. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  421. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  422. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  423. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  424. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  425. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  426. package/src/sap/m/themes/base/ActionTile.less +377 -307
  427. package/src/sap/m/themes/base/ActionTileContent.less +4 -1
  428. package/src/sap/m/themes/base/Breadcrumbs.less +15 -12
  429. package/src/sap/m/themes/base/BusyIndicator.less +17 -6
  430. package/src/sap/m/themes/base/Button.less +242 -213
  431. package/src/sap/m/themes/base/Carousel.less +93 -57
  432. package/src/sap/m/themes/base/CellSelector.less +33 -33
  433. package/src/sap/m/themes/base/Dialog.less +38 -11
  434. package/src/sap/m/themes/base/FeedContent.less +1 -1
  435. package/src/sap/m/themes/base/FeedListItem.less +6 -8
  436. package/src/sap/m/themes/base/GenericTile.less +41 -5
  437. package/src/sap/m/themes/base/HeaderContainer.less +1 -1
  438. package/src/sap/m/themes/base/IconTabBar.less +10 -2
  439. package/src/sap/m/themes/base/ImageContent.less +2 -2
  440. package/src/sap/m/themes/base/Link.less +27 -4
  441. package/src/sap/m/themes/base/MenuListItem.less +22 -0
  442. package/src/sap/m/themes/base/MessageView.less +4 -0
  443. package/src/sap/m/themes/base/MultiUnitPopover.less +0 -9
  444. package/src/sap/m/themes/base/NewsContent.less +27 -15
  445. package/src/sap/m/themes/base/NumericContent.less +1 -21
  446. package/src/sap/m/themes/base/ObjectStatus.less +5 -2
  447. package/src/sap/m/themes/base/Popover.less +23 -10
  448. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -4
  449. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +4 -0
  450. package/src/sap/m/themes/base/SlideTile.less +4 -0
  451. package/src/sap/m/themes/base/TileContent.less +42 -0
  452. package/src/sap/m/themes/base/Token.less +1 -1
  453. package/src/sap/m/themes/base/UploadSet.less +0 -4
  454. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BalloonSky.svg +44 -32
  455. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +76 -73
  456. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-FilterTable.svg +64 -40
  457. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks_v1.svg +61 -52
  458. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-PageNotFound.svg +23 -24
  459. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ReloadScreen.svg +47 -33
  460. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchFolder.svg +36 -26
  461. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +21 -42
  462. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessScreen.svg +46 -31
  463. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadCollection.svg +26 -28
  464. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BalloonSky.svg +52 -41
  465. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +89 -86
  466. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-FilterTable.svg +61 -55
  467. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks_v1.svg +85 -89
  468. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-PageNotFound.svg +28 -32
  469. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ReloadScreen.svg +61 -79
  470. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchFolder.svg +43 -35
  471. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +22 -24
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessScreen.svg +60 -77
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadCollection.svg +28 -29
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BalloonSky.svg +42 -28
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +45 -42
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-FilterTable.svg +55 -41
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-GroupTable.svg +84 -65
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks_v1.svg +21 -14
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-PageNotFound.svg +19 -26
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ReloadScreen.svg +34 -30
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ResizeColumn.svg +44 -36
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchFolder.svg +36 -24
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +20 -27
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessScreen.svg +33 -30
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadCollection.svg +29 -27
  486. package/src/sap/m/themes/sap_hcb/base_FeedListItem.less +0 -7
  487. package/src/sap/m/themes/sap_hcb/base_HeaderContainer.less +0 -5
  488. package/src/sap/m/themes/sap_hcb/base_ImageContent.less +0 -7
  489. package/src/sap/m/themes/sap_hcb/base_MultiUnitPopover.less +0 -9
  490. package/src/sap/m/themes/sap_hcb/base_NumericContent.less +1 -21
  491. package/src/sap/m/themes/sap_hcb/library.source.less +0 -1
  492. package/src/sap/m/upload/ActionsPlaceholder.js +1 -1
  493. package/src/sap/m/upload/Column.js +1 -1
  494. package/src/sap/m/upload/FilePreviewDialog.js +1 -1
  495. package/src/sap/m/upload/UploadItem.js +1 -1
  496. package/src/sap/m/upload/UploadItemConfiguration.js +1 -1
  497. package/src/sap/m/upload/UploadSet.js +28 -16
  498. package/src/sap/m/upload/UploadSetItem.js +3 -3
  499. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  500. package/src/sap/m/upload/UploadSetwithTable.js +1 -1
  501. package/src/sap/m/upload/UploadSetwithTableItem.js +1 -1
  502. package/src/sap/m/upload/UploaderTableItem.js +1 -1
  503. package/src/sap/m/upload/p13n/PersManager.js +1 -1
  504. package/src/sap/m/upload/p13n/mediator/BaseMediator.js +1 -1
  505. package/src/sap/m/upload/p13n/mediator/ColumnsMediator.js +1 -1
  506. package/src/sap/m/upload/p13n/mediator/FilterMediator.js +1 -1
  507. package/src/sap/m/upload/p13n/mediator/GroupMediator.js +1 -1
  508. package/src/sap/m/upload/p13n/mediator/SortMediator.js +1 -1
  509. package/src/sap/m/upload/p13n/modules/PersPopupManager.js +1 -1
  510. package/src/sap/m/themes/sap_hcb/NewsContent.less +0 -8
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * @extends sap.ui.core.Control
89
89
  *
90
90
  * @author SAP SE
91
- * @version 1.126.1
91
+ * @version 1.128.0
92
92
  *
93
93
  * @constructor
94
94
  * @public
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.core.Control
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.126.1
44
+ * @version 1.128.0
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  * @borrows sap.ui.core.IFormContent.getFormDoNotAdjustWidth as #getFormDoNotAdjustWidth
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.126.1
65
+ * @version 1.128.0
66
66
  *
67
67
  * @public
68
68
  * @alias sap.m.Image
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.core.Control
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.126.1
36
+ * @version 1.128.0
37
37
  * @since 1.38
38
38
  *
39
39
  * @public
@@ -162,7 +162,7 @@ function(
162
162
  * @extends sap.m.InputBase
163
163
  * @implements sap.ui.core.IAccessKeySupport
164
164
  * @author SAP SE
165
- * @version 1.126.1
165
+ * @version 1.128.0
166
166
  *
167
167
  * @constructor
168
168
  * @public
@@ -172,8 +172,7 @@ function(
172
172
  var Input = InputBase.extend("sap.m.Input", /** @lends sap.m.Input.prototype */ {
173
173
  metadata : {
174
174
  interfaces : [
175
- "sap.ui.core.IAccessKeySupport",
176
- "sap.m.IToolbarInteractiveControl"
175
+ "sap.ui.core.IAccessKeySupport"
177
176
  ],
178
177
  library : "sap.m",
179
178
  properties : {
@@ -473,7 +472,12 @@ function(
473
472
  /**
474
473
  * The event parameter is set to true, when the button at the end of the suggestion table is clicked, otherwise false. It can be used to determine whether the "value help" trigger or the "show all items" trigger has been pressed.
475
474
  */
476
- fromSuggestions : {type : "boolean"}
475
+ fromSuggestions : {type : "boolean"},
476
+
477
+ /**
478
+ * The event parameter is set to true, when the event is fired after keyboard interaction, otherwise false.
479
+ */
480
+ fromKeyboard: {type: "boolean"}
477
481
  }
478
482
  },
479
483
 
@@ -1171,7 +1175,7 @@ function(
1171
1175
 
1172
1176
  that.bValueHelpRequested = true;
1173
1177
 
1174
- that._fireValueHelpRequest(false);
1178
+ that._fireValueHelpRequest(false, false);
1175
1179
  }
1176
1180
  });
1177
1181
  } else if (this._oValueHelpIcon.getSrc() !== sIconSrc) {
@@ -1226,7 +1230,7 @@ function(
1226
1230
  *
1227
1231
  * @private
1228
1232
  */
1229
- Input.prototype._fireValueHelpRequest = function(bFromSuggestions) {
1233
+ Input.prototype._fireValueHelpRequest = function(bFromSuggestions, bFromKeyboard) {
1230
1234
 
1231
1235
  // The goal is to provide a value in the value help event, which can be used to filter the opened Value Help Dialog.
1232
1236
  var sTypedInValue = "";
@@ -1239,6 +1243,7 @@ function(
1239
1243
 
1240
1244
  this.fireValueHelpRequest({
1241
1245
  fromSuggestions: bFromSuggestions,
1246
+ fromKeyboard: bFromKeyboard,
1242
1247
  _userInputValue: sTypedInValue // NOTE: Private parameter for the SmartControls which need only the value entered by the user.
1243
1248
  });
1244
1249
  };
@@ -1967,6 +1972,7 @@ function(
1967
1972
  *
1968
1973
  * @param {int} iNumItems
1969
1974
  * @private
1975
+ * @ui5-restricted sap.ui.mdc
1970
1976
  */
1971
1977
  Input.prototype._applySuggestionAcc = function(iNumItems) {
1972
1978
  var sAriaText = "",
@@ -2407,7 +2413,7 @@ function(
2407
2413
  }
2408
2414
 
2409
2415
  this.bValueHelpRequested = true;
2410
- this._fireValueHelpRequest(false);
2416
+ this._fireValueHelpRequest(false, true);
2411
2417
  oEvent.preventDefault();
2412
2418
  oEvent.stopPropagation();
2413
2419
  };
@@ -2421,7 +2427,7 @@ function(
2421
2427
  * @param {jQuery.Event} oEvent Keyboard event.
2422
2428
  */
2423
2429
  Input.prototype.onsapselect = function(oEvent) {
2424
- this._fireValueHelpRequestForValueHelpOnly();
2430
+ this._fireValueHelpRequestForValueHelpOnly(false, true);
2425
2431
  };
2426
2432
 
2427
2433
  /**
@@ -2761,7 +2767,7 @@ function(
2761
2767
  this._setTypedInValue(sTempTypedInValue);
2762
2768
  }
2763
2769
 
2764
- this._fireValueHelpRequest(true);
2770
+ this._fireValueHelpRequest(true, false);
2765
2771
  this._closeSuggestionPopup();
2766
2772
  }
2767
2773
  };
@@ -3589,19 +3595,6 @@ function(
3589
3595
  return this._sProposedItemText;
3590
3596
  };
3591
3597
 
3592
- /**
3593
- * Required by the {@link sap.m.IToolbarInteractiveControl} interface.
3594
- * Determines if the Control is interactive.
3595
- *
3596
- * @returns {boolean} If it is an interactive Control
3597
- *
3598
- * @private
3599
- * @ui5-restricted sap.m.OverflowToolBar, sap.m.Toolbar
3600
- */
3601
- Input.prototype._getToolbarInteractive = function () {
3602
- return true;
3603
- };
3604
-
3605
3598
  // support for SemanticFormElement
3606
3599
  Input.prototype.getFormFormattedValue = function() {
3607
3600
  var sValue = this.getValue();
@@ -3618,7 +3611,6 @@ function(
3618
3611
  return ["value", "description"];
3619
3612
  };
3620
3613
 
3621
-
3622
3614
  /**
3623
3615
  * Check if the current value is matching with a suggestion item.
3624
3616
  *
@@ -73,7 +73,7 @@ function(
73
73
  * @borrows sap.ui.core.ISemanticFormContent.getFormRenderAsControl as #getFormRenderAsControl
74
74
  *
75
75
  * @author SAP SE
76
- * @version 1.126.1
76
+ * @version 1.128.0
77
77
  *
78
78
  * @constructor
79
79
  * @public
@@ -85,7 +85,8 @@ function(
85
85
 
86
86
  interfaces : [
87
87
  "sap.ui.core.IFormContent",
88
- "sap.ui.core.ISemanticFormContent"
88
+ "sap.ui.core.ISemanticFormContent",
89
+ "sap.m.IToolbarInteractiveControl"
89
90
  ],
90
91
  library: "sap.m",
91
92
  properties: {
@@ -1344,6 +1345,19 @@ function(
1344
1345
  return false;
1345
1346
  };
1346
1347
 
1348
+ /**
1349
+ * Required by the {@link sap.m.IToolbarInteractiveControl} interface.
1350
+ * Determines if the Control is interactive.
1351
+ *
1352
+ * @returns {boolean} If it is an interactive Control
1353
+ *
1354
+ * @private
1355
+ * @ui5-restricted sap.m.OverflowToolBar, sap.m.Toolbar
1356
+ */
1357
+ InputBase.prototype._getToolbarInteractive = function () {
1358
+ return true;
1359
+ };
1360
+
1347
1361
  return InputBase;
1348
1362
 
1349
1363
  });
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.126.1
33
+ * @version 1.128.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -78,7 +78,7 @@ function(
78
78
  * @implements sap.ui.core.Label, sap.ui.core.IShrinkable, sap.ui.core.IAccessKeySupport
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.126.1
81
+ * @version 1.128.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -96,7 +96,7 @@ sap.ui.define([
96
96
  * @extends sap.ui.core.Control
97
97
  *
98
98
  * @author SAP SE
99
- * @version 1.126.1
99
+ * @version 1.128.0
100
100
  *
101
101
  * @constructor
102
102
  * @public
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends sap.ui.core.Element
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.126.1
46
+ * @version 1.128.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
package/src/sap/m/Link.js CHANGED
@@ -14,11 +14,14 @@ sap.ui.define([
14
14
  "sap/ui/core/AccessKeysEnablement",
15
15
  "sap/ui/core/LabelEnablement",
16
16
  "sap/ui/core/Lib",
17
+ "sap/ui/core/Icon",
18
+ "sap/ui/core/IconPool",
17
19
  "sap/ui/core/library",
18
20
  "sap/ui/Device",
19
21
  "./LinkRenderer",
20
22
  "sap/ui/events/KeyCodes",
21
- "sap/base/security/URLListValidator"
23
+ "sap/base/security/URLListValidator",
24
+ "sap/base/Log"
22
25
  ],
23
26
  function(
24
27
  library,
@@ -29,11 +32,14 @@ function(
29
32
  AccessKeysEnablement,
30
33
  LabelEnablement,
31
34
  Library,
35
+ Icon,
36
+ IconPool,
32
37
  coreLibrary,
33
38
  Device,
34
39
  LinkRenderer,
35
40
  KeyCodes,
36
- URLListValidator
41
+ URLListValidator,
42
+ Log
37
43
  ) {
38
44
  "use strict";
39
45
 
@@ -93,7 +99,7 @@ function(
93
99
  * @borrows sap.ui.core.ISemanticFormContent.getFormRenderAsControl as #getFormRenderAsControl
94
100
  *
95
101
  * @author SAP SE
96
- * @version 1.126.1
102
+ * @version 1.128.0
97
103
  *
98
104
  * @constructor
99
105
  * @public
@@ -120,6 +126,26 @@ function(
120
126
  */
121
127
  text : {type : "string", group : "Data", defaultValue : ''},
122
128
 
129
+ /**
130
+ * Defines the icon to be displayed as graphical element in the beginning of the <code>Link</code>.
131
+ * It can be an icon from the icon font.
132
+ * <b>Note:</b> Usage of icon-only link is not supported, the link must always have a text.
133
+ * <b>Note:</b> We recommend using аn icon in the beginning or the end only, and always with text.
134
+ * <b>Note:</b> Using an image instead of icon is not supported.
135
+ * @since 1.128.0
136
+ */
137
+ icon : {type : "sap.ui.core.URI", group : "Appearance", defaultValue: "" },
138
+
139
+ /**
140
+ * Defines the icon to be displayed as graphical element in the end of the <code>Link</code>.
141
+ * It can be an icon from the icon font.
142
+ * <b>Note:</b> Usage of icon-only link is not supported, the link must always have a text.
143
+ * <b>Note:</b> We recommend using аn icon in the beginning or the end only, and always with text.
144
+ * <b>Note:</b> Using an image instead of icon is not supported.
145
+ * @since 1.128.0
146
+ */
147
+ endIcon : {type : "sap.ui.core.URI", group : "Appearance", defaultValue: "" },
148
+
123
149
  /**
124
150
  * Determines whether the link can be triggered by the user.
125
151
  */
@@ -243,6 +269,21 @@ function(
243
269
  */
244
270
  accesskey: { type: "string", defaultValue: "", visibility: "hidden" }
245
271
  },
272
+ aggregations: {
273
+
274
+ /**
275
+ * The icon control to be displayed as graphical element in the beginning of the <code>Link</code>.
276
+ * @since 1.128.0
277
+ */
278
+ _icon: {type: "sap.ui.core.Icon", multiple: false, visibility: "hidden"},
279
+
280
+ /**
281
+ * The icon control to be displayed as graphical element at the end of the <code>Link</code>.
282
+ * @since 1.128.0
283
+ */
284
+ _endIcon: {type: "sap.ui.core.Icon", multiple: false, visibility: "hidden"}
285
+
286
+ },
246
287
  associations : {
247
288
 
248
289
  /**
@@ -328,6 +369,9 @@ function(
328
369
  };
329
370
 
330
371
  Link.prototype.exit = function() {
372
+ var oIcon = this.getAggregation("_icon"),
373
+ oEndIcon = this.getAggregation("_endIcon");
374
+
331
375
  if (Device.system.phone || Device.system.tablet) {
332
376
  var oAnchorElement = this.getDomRef();
333
377
  if (!oAnchorElement) {
@@ -335,6 +379,16 @@ function(
335
379
  }
336
380
  oAnchorElement.removeEventListener("click", this._onClick);
337
381
  }
382
+
383
+ if (oIcon) {
384
+ oIcon.destroy();
385
+ oIcon = null;
386
+ }
387
+
388
+ if (oEndIcon) {
389
+ oEndIcon.destroy();
390
+ oEndIcon = null;
391
+ }
338
392
  };
339
393
 
340
394
  Link.prototype._onClick = function(oEvent) {
@@ -399,7 +453,6 @@ function(
399
453
  }
400
454
  };
401
455
 
402
-
403
456
  /**
404
457
  * Handler for the <code>press</code> event of the link.
405
458
  *
@@ -414,7 +467,7 @@ function(
414
467
  // mark the event for components that needs to know if the event was handled by the link
415
468
  oEvent.setMarked();
416
469
 
417
- bEmptyHref = oTarget.classList.contains("sapMLnk") && oTarget.getAttribute("href") == "#";
470
+ bEmptyHref = (oTarget.classList.contains("sapMLnk") || oTarget.parentElement.classList.contains("sapMLnk")) && (oTarget.getAttribute("href") == "#" || oTarget.parentElement.getAttribute("href") == "#");
418
471
  if (!this.firePress({ctrlKey: !!oEvent.ctrlKey, metaKey: !!oEvent.metaKey}) || bEmptyHref) { // fire event and check return value whether default action should be prevented
419
472
  oEvent.preventDefault();
420
473
  }
@@ -467,6 +520,32 @@ function(
467
520
  return this;
468
521
  };
469
522
 
523
+ Link.prototype.setIcon = function(sSrc) {
524
+ if (!IconPool.isIconURI(sSrc)) {
525
+ Log.error("setIcon: The provided URI ' + sSrc + ' is is not a valid Icon URI!");
526
+ } else {
527
+ var oIcon = this._getIcon();
528
+
529
+ oIcon.setSrc(sSrc);
530
+ this.setProperty("icon", sSrc);
531
+ }
532
+
533
+ return this;
534
+ };
535
+
536
+ Link.prototype.setEndIcon = function(sSrc) {
537
+ if (!IconPool.isIconURI(sSrc)) {
538
+ Log.error("setEndIcon: The provided URI ' + sSrc + ' is is not a valid Icon URI!");
539
+ } else {
540
+ var oIcon = this._getEndIcon();
541
+
542
+ oIcon.setSrc(sSrc);
543
+ this.setProperty("endIcon", sSrc);
544
+ }
545
+
546
+ return this;
547
+ };
548
+
470
549
  /*************************************** Static members ******************************************/
471
550
 
472
551
  /**
@@ -591,6 +670,42 @@ function(
591
670
  return true;
592
671
  };
593
672
 
673
+ /**
674
+ * Returns the icon control instance of the icon displayed in the beginning of the link. If it is not yet created, it will be created.
675
+ * @private
676
+ * @returns {sap.ui.core.Icon} icon control instance of the icon displayed in the beginning of the link
677
+ */
678
+ Link.prototype._getIcon = function () {
679
+ var oIcon = this.getAggregation("_icon");
680
+
681
+ if (!oIcon) {
682
+ oIcon = new Icon(this.getId() + "-icon", {
683
+ useIconTooltip: false
684
+ }).addStyleClass("sapMLnkIcon");
685
+ this.setAggregation("_icon", oIcon);
686
+ }
687
+
688
+ return oIcon;
689
+ };
690
+
691
+ /**
692
+ * Returns the icon control instance of the icon displayed at the end of the link. If it is not yet created, it will be created.
693
+ * @private
694
+ * @returns {sap.ui.core.Icon} icon control instance of the icon displayed at the end of the link
695
+ */
696
+ Link.prototype._getEndIcon = function () {
697
+ var oIcon = this.getAggregation("_endIcon");
698
+
699
+ if (!oIcon) {
700
+ oIcon = new Icon(this.getId() + "-endIcon", {
701
+ useIconTooltip: false
702
+ }).addStyleClass("sapMLnkEndIcon");
703
+ this.setAggregation("_endIcon", oIcon);
704
+ }
705
+
706
+ return oIcon;
707
+ };
708
+
594
709
  return Link;
595
710
 
596
711
  });
@@ -59,6 +59,7 @@
59
59
  },
60
60
  bEnabled = oControl.getEnabled(),
61
61
  sTypeSemanticInfo = "",
62
+ sText = oControl.getText(),
62
63
  sAcccessKey = oControl.getProperty("accesskey");
63
64
 
64
65
  // Link is rendered as a "<a>" element
@@ -143,12 +144,29 @@
143
144
  // opening <a> tag
144
145
  oRm.openEnd();
145
146
 
147
+ // Render icon only if there is text
148
+ if (sText && oControl.getIcon()) {
149
+ oRm.renderControl(oControl._getIcon());
150
+ }
151
+
152
+ // Text is rendered in "<span>" element to apply ellipsis only on the text
153
+ oRm.openStart("span");
154
+ oRm.class("sapMLnkText");
155
+ oRm.openEnd();
156
+
146
157
  if (this.writeText) {
147
158
  this.writeText(oRm, oControl);
148
159
  } else {
149
160
  this.renderText(oRm, oControl);
150
161
  }
151
162
 
163
+ oRm.close("span");
164
+
165
+ // Render end icon only if there is text
166
+ if (sText && oControl.getEndIcon()) {
167
+ oRm.renderControl(oControl._getEndIcon());
168
+ }
169
+
152
170
  oRm.close("a");
153
171
  };
154
172
 
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @class This element is used within the GenericTile control that generates a combination of an icon and a linkl
19
19
  * @extends sap.ui.core.Element
20
20
  * @author SAP SE
21
- * @version 1.126.1
21
+ * @version 1.128.0
22
22
  * @constructor
23
23
  * @public
24
24
  * @since 1.120
package/src/sap/m/List.js CHANGED
@@ -30,7 +30,7 @@ sap.ui.define(["./library", "./ListBase", "./ListRenderer"],
30
30
  * @extends sap.m.ListBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.126.1
33
+ * @version 1.128.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -103,7 +103,7 @@ function(
103
103
  * @extends sap.ui.core.Control
104
104
  *
105
105
  * @author SAP SE
106
- * @version 1.126.1
106
+ * @version 1.128.0
107
107
  *
108
108
  * @constructor
109
109
  * @public
@@ -251,7 +251,7 @@ function(
251
251
  /**
252
252
  * If set to true, this control remembers and retains the selection of the items after a binding update has been performed (e.g. sorting, filtering).
253
253
  * <b>Note:</b> This feature works only if two-way data binding for the <code>selected</code> property of the item is not used. It also needs to be turned off if the binding context of the item does not always point to the same entry in the model, for example, if the order of the data in the <code>JSONModel</code> is changed.
254
- * <b>Note:</b> This feature leverages the built-in selection mechanism of the corresponding binding context when the OData V4 model is used. Therefore, all binding-relevant limitations apply in this context as well. For more details, see the {@link sap.ui.model.odata.v4.Context#setSelected setSelected}, the {@link sap.ui.model.odata.v4.ODataModel#bindList bindList}, and the {@link sap.ui.model.odata.v4.ODataMetaModel#requestValueListInfo requestValueListInfo} API documentation. Do not enable this feature when <code>$$SharedRequests</code> is active.
254
+ * <b>Note:</b> This feature leverages the built-in selection mechanism of the corresponding binding context when the OData V4 model is used. Therefore, all binding-relevant limitations apply in this context as well. For more details, see the {@link sap.ui.model.odata.v4.Context#setSelected setSelected}, the {@link sap.ui.model.odata.v4.ODataModel#bindList bindList}, and the {@link sap.ui.model.odata.v4.ODataMetaModel#requestValueListInfo requestValueListInfo} API documentation. Do not enable this feature when <code>$$SharedRequests</code> or <code>$$clearSelectionOnFilter</code> is active.
255
255
  * @since 1.16.6
256
256
  */
257
257
  rememberSelections : {type : "boolean", group : "Behavior", defaultValue : true},
@@ -628,6 +628,7 @@ function(
628
628
  this._aSelectedPaths = [];
629
629
  this._destroyGrowingDelegate();
630
630
  this._destroyItemNavigation();
631
+ this._oLastFakeFocusedItem = null;
631
632
  };
632
633
 
633
634
  // this gets called only with oData Model when first load or filter/sort
@@ -758,6 +759,10 @@ function(
758
759
  }
759
760
 
760
761
  Control.prototype._bindAggregation.call(this, sName, oBindingInfo);
762
+
763
+ if (sName === "items" && this.getModel(oBindingInfo.model).isA("sap.ui.model.odata.v4.ODataModel")) {
764
+ this.getBinding("items").attachEvent("selectionChanged", onBindingSelectionChanged, this);
765
+ }
761
766
  };
762
767
 
763
768
  ListBase.prototype._onBindingDataRequestedListener = function(oEvent) {
@@ -790,6 +795,44 @@ function(
790
795
  }
791
796
  };
792
797
 
798
+ async function onBindingSelectionChanged(oEvent) {
799
+ const oContext = oEvent.getParameter("context");
800
+
801
+ if (!this._bSelectionMode) {
802
+ return;
803
+ }
804
+
805
+ if (oContext.getBinding().getHeaderContext() === oContext) {
806
+ if (oContext.isSelected()) {
807
+ Log.warning("Selecting the header context does not affect the list selection", this);
808
+ } else {
809
+ this.removeSelections(true, true);
810
+ }
811
+ return;
812
+ }
813
+
814
+ const sModelName = this.getBindingInfo("items").model;
815
+ const oItem = this.getItems().find((oItem) => oItem.getBindingContext(sModelName) === oContext);
816
+
817
+ if (!oItem) {
818
+ Log.warning("Selecting a context that is not related to a visible item does not affect the list selection", this);
819
+ return;
820
+ }
821
+
822
+ await Promise.resolve(); // ListItemBase first needs to update its selected property, otherwise the selectionChange event is fired too often.
823
+
824
+ const bContextIsSelected = oContext.isSelected();
825
+ this.setSelectedItem(oItem, bContextIsSelected, bContextIsSelected !== oItem.getSelected());
826
+
827
+ if (bContextIsSelected && this.getMode().includes("SingleSelect")) {
828
+ oContext.getBinding().getAllCurrentContexts().forEach((oCurrentContext) => {
829
+ if (oCurrentContext !== oContext) {
830
+ oCurrentContext.setSelected(false);
831
+ }
832
+ });
833
+ }
834
+ }
835
+
793
836
  ListBase.prototype.destroyItems = function(bSuppressInvalidate) {
794
837
  // check whether we have items to destroy or not
795
838
  if (!this.getItems(true).length) {
@@ -2127,31 +2170,68 @@ function(
2127
2170
  this.getNavigationRoot().setAttribute("aria-activedescendant", oItemDomRef.id);
2128
2171
  } else {
2129
2172
  // prepare the announcement for the screen reader
2130
- var oAccInfo = oItem.getAccessibilityInfo(),
2131
- oBundle = Library.getResourceBundleFor("sap.m"),
2132
- sDescription = oAccInfo.type ? oAccInfo.type + " . " : "";
2173
+ this.setInvisibleTextAssociation(oItem);
2174
+ }
2175
+ };
2133
2176
 
2134
- if (this.isA("sap.m.Table")) {
2135
- var mPosition = this.getAccessbilityPosition(oItem);
2136
- sDescription += oBundle.getText("LIST_ITEM_POSITION", [mPosition.posinset, mPosition.setsize]) + " . ";
2137
- }
2177
+ /**
2178
+ * For the specified list item it updates the invisible text and sets the aria-labelledby association.
2179
+ *
2180
+ * @param {sap.m.ListItemBase} oItem The list item whose invisible text association should be set
2181
+ * @private
2182
+ */
2183
+ ListBase.prototype.setInvisibleTextAssociation = function(oItem) {
2184
+ var oAccInfo = oItem.getAccessibilityInfo(),
2185
+ oBundle = Library.getResourceBundleFor("sap.m"),
2186
+ sDescription = oAccInfo.type ? oAccInfo.type + " . " : "";
2138
2187
 
2139
- sDescription += oAccInfo.description;
2140
- this.updateInvisibleText(sDescription, oItemDomRef);
2141
- return sDescription;
2188
+ if (this.isA("sap.m.Table")) {
2189
+ var mPosition = this.getAccessbilityPosition(oItem);
2190
+ sDescription += oBundle.getText("LIST_ITEM_POSITION", [mPosition.posinset, mPosition.setsize]) + " . ";
2142
2191
  }
2192
+
2193
+ sDescription += oAccInfo.description;
2194
+ this.updateInvisibleText(sDescription, oItem.getDomRef());
2143
2195
  };
2144
2196
 
2145
2197
  ListBase.prototype.onItemFocusOut = function(oItem) {
2146
2198
  this.removeInvisibleTextAssociation(oItem.getDomRef());
2147
2199
  };
2148
2200
 
2201
+ /**
2202
+ * For the specified <code>HTMLElement</code> it removes the aria-labelledby association to the invisible text.
2203
+ *
2204
+ * @param {HTMLElement} oDomRef The <code>HTMLElement</code> whose invisible text association should be removed
2205
+ * @private
2206
+ */
2149
2207
  ListBase.prototype.removeInvisibleTextAssociation = function(oDomRef) {
2150
2208
  const oInvisibleText = ListBase.getInvisibleText(),
2151
2209
  $FocusedItem = jQuery(oDomRef || document.activeElement);
2152
2210
  $FocusedItem.removeAriaLabelledBy(oInvisibleText.getId());
2153
2211
  };
2154
2212
 
2213
+ /**
2214
+ * It simulates focus by adding the corresponding style classes and updating the invisible text association.
2215
+ * <b>Note</b>: Fake focus is not set when the real focus is inside the list. If the fake focus is set, it gets removed when the real focus lands inside the list.
2216
+ *
2217
+ * @param {sap.m.ListItemBase|null} oItem The list item to receive fake focus, null to remove it
2218
+ * @private
2219
+ * @ui5-restricted sap.m, sap.ui.mdc
2220
+ */
2221
+ ListBase.prototype.setFakeFocus = function(oItem) {
2222
+ if (this._oLastFakeFocusedItem) {
2223
+ this._oLastFakeFocusedItem.removeStyleClass("sapMLIBFocused");
2224
+ this.removeInvisibleTextAssociation(this._oLastFakeFocusedItem.getDomRef());
2225
+ this._oLastFakeFocusedItem = null;
2226
+ }
2227
+
2228
+ if (oItem && !this.getDomRef().contains(document.activeElement)) {
2229
+ this._oLastFakeFocusedItem = oItem;
2230
+ oItem.addStyleClass("sapMLIBFocused");
2231
+ this.setInvisibleTextAssociation(oItem);
2232
+ }
2233
+ };
2234
+
2155
2235
  ListBase.prototype.updateInvisibleText = function(sText, oItemDomRef, bPrepend) {
2156
2236
  var oInvisibleText = ListBase.getInvisibleText(),
2157
2237
  $FocusedItem = jQuery(oItemDomRef || document.activeElement);
@@ -2482,7 +2562,6 @@ function(
2482
2562
 
2483
2563
  // Handles focus to reposition the focus to correct place
2484
2564
  ListBase.prototype.onfocusin = function(oEvent) {
2485
-
2486
2565
  // ignore self focus
2487
2566
  if (this._bIgnoreFocusIn) {
2488
2567
  this._bIgnoreFocusIn = false;
@@ -2495,6 +2574,10 @@ function(
2495
2574
  this._startItemNavigation();
2496
2575
  }
2497
2576
 
2577
+ if (this._oLastFakeFocusedItem) {
2578
+ this.setFakeFocus(null);
2579
+ }
2580
+
2498
2581
  var oTarget = oEvent.target;
2499
2582
  if (oTarget.id == this.getId("nodata")) {
2500
2583
  var vNoData = this.getNoData();