@openui5/sap.m 1.113.0 → 1.114.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 (417) 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 +1 -1
  16. package/src/sap/m/BusyDialog.js +5 -3
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +19 -3
  19. package/src/sap/m/ButtonRenderer.js +9 -1
  20. package/src/sap/m/Carousel.js +3 -4
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CheckBox.js +1 -1
  23. package/src/sap/m/ColorPalette.js +1 -1
  24. package/src/sap/m/ColorPalettePopover.js +1 -1
  25. package/src/sap/m/Column.js +1 -1
  26. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  27. package/src/sap/m/ColumnListItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +1 -1
  34. package/src/sap/m/ComboBoxBase.js +1 -1
  35. package/src/sap/m/ComboBoxTextField.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 +48 -18
  40. package/src/sap/m/DateRangeSelection.js +61 -29
  41. package/src/sap/m/DateTimeField.js +7 -7
  42. package/src/sap/m/DateTimeInput.js +6 -4
  43. package/src/sap/m/DateTimePicker.js +42 -11
  44. package/src/sap/m/Dialog.js +2 -2
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +5 -6
  48. package/src/sap/m/DynamicDateFormat.js +10 -7
  49. package/src/sap/m/DynamicDateOption.js +12 -6
  50. package/src/sap/m/DynamicDateRange.js +268 -45
  51. package/src/sap/m/DynamicDateUtil.js +5 -5
  52. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -2
  53. package/src/sap/m/ExpandableText.js +1 -1
  54. package/src/sap/m/FacetFilter.js +7 -5
  55. package/src/sap/m/FacetFilterItem.js +1 -1
  56. package/src/sap/m/FacetFilterList.js +1 -1
  57. package/src/sap/m/FeedContent.js +1 -1
  58. package/src/sap/m/FeedInput.js +1 -1
  59. package/src/sap/m/FeedListItem.js +4 -4
  60. package/src/sap/m/FeedListItemAction.js +1 -1
  61. package/src/sap/m/Fiori20Adapter.js +2 -2
  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 +4 -4
  65. package/src/sap/m/GenericTag.js +1 -1
  66. package/src/sap/m/GenericTile.js +23 -23
  67. package/src/sap/m/GroupHeaderListItem.js +1 -1
  68. package/src/sap/m/GrowingList.js +1 -1
  69. package/src/sap/m/HBox.js +1 -1
  70. package/src/sap/m/HeaderContainer.js +11 -5
  71. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  72. package/src/sap/m/IconTabBar.js +1 -1
  73. package/src/sap/m/IconTabBarSelectList.js +1 -1
  74. package/src/sap/m/IconTabFilter.js +5 -6
  75. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  76. package/src/sap/m/IconTabHeader.js +1 -1
  77. package/src/sap/m/IconTabSeparator.js +5 -8
  78. package/src/sap/m/IllustratedMessage.js +30 -2
  79. package/src/sap/m/Illustration.js +1 -1
  80. package/src/sap/m/IllustrationRenderer.js +0 -2
  81. package/src/sap/m/Image.js +1 -1
  82. package/src/sap/m/ImageContent.js +1 -1
  83. package/src/sap/m/ImageHelper.js +110 -0
  84. package/src/sap/m/Input.js +1 -1
  85. package/src/sap/m/InputBase.js +1 -1
  86. package/src/sap/m/InputListItem.js +1 -1
  87. package/src/sap/m/Label.js +1 -1
  88. package/src/sap/m/LightBox.js +1 -1
  89. package/src/sap/m/LightBoxItem.js +1 -1
  90. package/src/sap/m/Link.js +7 -16
  91. package/src/sap/m/List.js +1 -1
  92. package/src/sap/m/ListBase.js +1 -1
  93. package/src/sap/m/ListItemBase.js +1 -1
  94. package/src/sap/m/MaskEnabler.js +1 -1
  95. package/src/sap/m/MaskInput.js +1 -1
  96. package/src/sap/m/MaskInputRule.js +1 -1
  97. package/src/sap/m/Menu.js +1 -1
  98. package/src/sap/m/MenuButton.js +1 -1
  99. package/src/sap/m/MenuItem.js +1 -1
  100. package/src/sap/m/MenuListItem.js +1 -1
  101. package/src/sap/m/MessageItem.js +1 -1
  102. package/src/sap/m/MessageListItem.js +4 -5
  103. package/src/sap/m/MessagePage.js +1 -1
  104. package/src/sap/m/MessagePopover.js +1 -1
  105. package/src/sap/m/MessagePopoverItem.js +1 -1
  106. package/src/sap/m/MessageStrip.js +1 -1
  107. package/src/sap/m/MessageToast.js +78 -10
  108. package/src/sap/m/MessageView.js +1 -1
  109. package/src/sap/m/MultiComboBox.js +24 -5
  110. package/src/sap/m/MultiEditField.js +1 -1
  111. package/src/sap/m/MultiInput.js +1 -1
  112. package/src/sap/m/NavContainer.js +1 -1
  113. package/src/sap/m/NewsContent.js +1 -1
  114. package/src/sap/m/NotificationList.js +1 -1
  115. package/src/sap/m/NotificationListBase.js +1 -1
  116. package/src/sap/m/NotificationListGroup.js +1 -1
  117. package/src/sap/m/NotificationListItem.js +1 -1
  118. package/src/sap/m/NumericContent.js +1 -1
  119. package/src/sap/m/NumericInput.js +1 -1
  120. package/src/sap/m/ObjectAttribute.js +6 -6
  121. package/src/sap/m/ObjectHeader.js +5 -5
  122. package/src/sap/m/ObjectIdentifier.js +1 -1
  123. package/src/sap/m/ObjectListItem.js +5 -6
  124. package/src/sap/m/ObjectMarker.js +1 -1
  125. package/src/sap/m/ObjectNumber.js +1 -1
  126. package/src/sap/m/ObjectStatus.js +4 -7
  127. package/src/sap/m/OverflowToolbar.js +1 -1
  128. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  129. package/src/sap/m/OverflowToolbarButton.js +1 -1
  130. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  131. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  132. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  133. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  134. package/src/sap/m/P13nColumnsItem.js +1 -1
  135. package/src/sap/m/P13nColumnsPanel.js +1 -1
  136. package/src/sap/m/P13nConditionPanel.js +1 -1
  137. package/src/sap/m/P13nDialog.js +1 -1
  138. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  139. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  140. package/src/sap/m/P13nFilterItem.js +1 -1
  141. package/src/sap/m/P13nFilterPanel.js +1 -1
  142. package/src/sap/m/P13nGroupItem.js +1 -1
  143. package/src/sap/m/P13nGroupPanel.js +1 -1
  144. package/src/sap/m/P13nItem.js +1 -1
  145. package/src/sap/m/P13nPanel.js +1 -1
  146. package/src/sap/m/P13nSelectionItem.js +1 -1
  147. package/src/sap/m/P13nSelectionPanel.js +1 -1
  148. package/src/sap/m/P13nSortItem.js +1 -1
  149. package/src/sap/m/P13nSortPanel.js +1 -1
  150. package/src/sap/m/PDFViewer.js +1 -1
  151. package/src/sap/m/Page.js +2 -2
  152. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  153. package/src/sap/m/PagingButton.js +1 -1
  154. package/src/sap/m/Panel.js +1 -1
  155. package/src/sap/m/PlanningCalendar.js +11 -11
  156. package/src/sap/m/PlanningCalendarHeader.js +3 -3
  157. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  158. package/src/sap/m/PlanningCalendarRow.js +15 -15
  159. package/src/sap/m/PlanningCalendarView.js +1 -1
  160. package/src/sap/m/Popover.js +3 -3
  161. package/src/sap/m/ProgressIndicator.js +1 -1
  162. package/src/sap/m/PullToRefresh.js +4 -10
  163. package/src/sap/m/QuickView.js +1 -1
  164. package/src/sap/m/QuickViewBase.js +1 -1
  165. package/src/sap/m/QuickViewCard.js +1 -1
  166. package/src/sap/m/QuickViewGroup.js +1 -1
  167. package/src/sap/m/QuickViewGroupElement.js +1 -1
  168. package/src/sap/m/QuickViewPage.js +1 -1
  169. package/src/sap/m/RadioButton.js +1 -1
  170. package/src/sap/m/RadioButtonGroup.js +2 -1
  171. package/src/sap/m/RangeSlider.js +1 -1
  172. package/src/sap/m/RatingIndicator.js +1 -1
  173. package/src/sap/m/ResponsivePopover.js +1 -1
  174. package/src/sap/m/ResponsiveScale.js +1 -1
  175. package/src/sap/m/ScrollBar.js +1 -1
  176. package/src/sap/m/ScrollContainer.js +1 -1
  177. package/src/sap/m/SearchField.js +17 -7
  178. package/src/sap/m/SegmentedButton.js +1 -1
  179. package/src/sap/m/SegmentedButtonItem.js +1 -1
  180. package/src/sap/m/Select.js +1 -1
  181. package/src/sap/m/SelectDialog.js +1 -1
  182. package/src/sap/m/SelectDialogBase.js +1 -1
  183. package/src/sap/m/SelectList.js +1 -1
  184. package/src/sap/m/SelectionDetails.js +1 -1
  185. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  186. package/src/sap/m/SelectionDetailsItem.js +2 -2
  187. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  188. package/src/sap/m/Shell.js +4 -3
  189. package/src/sap/m/SimpleFixFlex.js +1 -1
  190. package/src/sap/m/SinglePlanningCalendar.js +44 -15
  191. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  192. package/src/sap/m/SinglePlanningCalendarGrid.js +13 -13
  193. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +9 -9
  194. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendarView.js +2 -2
  196. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  198. package/src/sap/m/SlideTile.js +1 -1
  199. package/src/sap/m/Slider.js +4 -4
  200. package/src/sap/m/SliderTooltip.js +1 -1
  201. package/src/sap/m/SliderTooltipBase.js +1 -1
  202. package/src/sap/m/SliderTooltipContainer.js +1 -1
  203. package/src/sap/m/SplitApp.js +1 -1
  204. package/src/sap/m/SplitButton.js +1 -1
  205. package/src/sap/m/SplitContainer.js +1 -1
  206. package/src/sap/m/StandardDynamicDateOption.js +2 -3
  207. package/src/sap/m/StandardListItem.js +1 -1
  208. package/src/sap/m/StandardTile.js +4 -9
  209. package/src/sap/m/StandardTreeItem.js +1 -1
  210. package/src/sap/m/StepInput.js +1 -1
  211. package/src/sap/m/SuggestionItem.js +1 -1
  212. package/src/sap/m/SuggestionsPopover.js +1 -1
  213. package/src/sap/m/Switch.js +1 -1
  214. package/src/sap/m/TabContainer.js +1 -1
  215. package/src/sap/m/TabContainerItem.js +3 -6
  216. package/src/sap/m/TabStrip.js +1 -1
  217. package/src/sap/m/TabStripItem.js +3 -6
  218. package/src/sap/m/Table.js +1 -1
  219. package/src/sap/m/TablePersoController.js +1 -1
  220. package/src/sap/m/TablePersoDialog.js +1 -1
  221. package/src/sap/m/TablePersoProvider.js +1 -1
  222. package/src/sap/m/TableSelectDialog.js +1 -1
  223. package/src/sap/m/Text.js +1 -1
  224. package/src/sap/m/TextArea.js +1 -1
  225. package/src/sap/m/Tile.js +1 -1
  226. package/src/sap/m/TileContainer.js +1 -1
  227. package/src/sap/m/TileContent.js +8 -8
  228. package/src/sap/m/TileContentRenderer.js +1 -1
  229. package/src/sap/m/TimePicker.js +38 -8
  230. package/src/sap/m/TimePickerClock.js +1 -1
  231. package/src/sap/m/TimePickerClocks.js +4 -4
  232. package/src/sap/m/TimePickerClocksRenderer.js +7 -9
  233. package/src/sap/m/TimePickerInputs.js +10 -8
  234. package/src/sap/m/TimePickerInputsRenderer.js +7 -6
  235. package/src/sap/m/TimePickerInternals.js +15 -2
  236. package/src/sap/m/TimePickerSlider.js +1 -1
  237. package/src/sap/m/TimePickerSliders.js +7 -5
  238. package/src/sap/m/Title.js +1 -1
  239. package/src/sap/m/TitlePropagationSupport.js +1 -1
  240. package/src/sap/m/ToggleButton.js +1 -1
  241. package/src/sap/m/Token.js +1 -1
  242. package/src/sap/m/Tokenizer.js +1 -1
  243. package/src/sap/m/Toolbar.js +1 -1
  244. package/src/sap/m/ToolbarLayoutData.js +1 -1
  245. package/src/sap/m/ToolbarSeparator.js +1 -1
  246. package/src/sap/m/ToolbarSpacer.js +1 -1
  247. package/src/sap/m/Tree.js +7 -1
  248. package/src/sap/m/TreeItemBase.js +1 -1
  249. package/src/sap/m/UploadCollection.js +1 -1
  250. package/src/sap/m/UploadCollectionItem.js +1 -1
  251. package/src/sap/m/UploadCollectionParameter.js +1 -1
  252. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  253. package/src/sap/m/VBox.js +10 -1
  254. package/src/sap/m/ValueStateHeader.js +1 -1
  255. package/src/sap/m/VariantManagement.js +77 -78
  256. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  257. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  258. package/src/sap/m/ViewSettingsDialog.js +1 -1
  259. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  260. package/src/sap/m/ViewSettingsItem.js +1 -1
  261. package/src/sap/m/VisibleItem.js +1 -1
  262. package/src/sap/m/WheelSlider.js +1 -1
  263. package/src/sap/m/WheelSliderContainer.js +1 -1
  264. package/src/sap/m/Wizard.js +1 -1
  265. package/src/sap/m/WizardProgressNavigator.js +1 -1
  266. package/src/sap/m/WizardStep.js +1 -1
  267. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  268. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  269. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  270. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  271. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  272. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  273. package/src/sap/m/delegate/DateNavigation.js +1 -1
  274. package/src/sap/m/designtime/PersistenceProvider.designtime.js +21 -0
  275. package/src/sap/m/library.js +25 -90
  276. package/src/sap/m/messagebundle.properties +15 -0
  277. package/src/sap/m/messagebundle_ar.properties +10 -0
  278. package/src/sap/m/messagebundle_bg.properties +10 -0
  279. package/src/sap/m/messagebundle_ca.properties +10 -0
  280. package/src/sap/m/messagebundle_cs.properties +11 -1
  281. package/src/sap/m/messagebundle_cy.properties +10 -0
  282. package/src/sap/m/messagebundle_da.properties +10 -0
  283. package/src/sap/m/messagebundle_de.properties +12 -2
  284. package/src/sap/m/messagebundle_el.properties +10 -0
  285. package/src/sap/m/messagebundle_en.properties +10 -0
  286. package/src/sap/m/messagebundle_en_GB.properties +10 -0
  287. package/src/sap/m/messagebundle_en_US_sappsd.properties +10 -0
  288. package/src/sap/m/messagebundle_en_US_saprigi.properties +10 -0
  289. package/src/sap/m/messagebundle_es.properties +10 -0
  290. package/src/sap/m/messagebundle_es_MX.properties +10 -0
  291. package/src/sap/m/messagebundle_et.properties +10 -0
  292. package/src/sap/m/messagebundle_fi.properties +10 -0
  293. package/src/sap/m/messagebundle_fr.properties +10 -0
  294. package/src/sap/m/messagebundle_fr_CA.properties +10 -0
  295. package/src/sap/m/messagebundle_hi.properties +10 -0
  296. package/src/sap/m/messagebundle_hr.properties +10 -0
  297. package/src/sap/m/messagebundle_hu.properties +10 -0
  298. package/src/sap/m/messagebundle_id.properties +10 -0
  299. package/src/sap/m/messagebundle_it.properties +13 -3
  300. package/src/sap/m/messagebundle_iw.properties +10 -0
  301. package/src/sap/m/messagebundle_ja.properties +11 -1
  302. package/src/sap/m/messagebundle_kk.properties +10 -0
  303. package/src/sap/m/messagebundle_ko.properties +11 -1
  304. package/src/sap/m/messagebundle_lt.properties +10 -0
  305. package/src/sap/m/messagebundle_lv.properties +10 -0
  306. package/src/sap/m/messagebundle_ms.properties +11 -1
  307. package/src/sap/m/messagebundle_nl.properties +10 -0
  308. package/src/sap/m/messagebundle_no.properties +10 -0
  309. package/src/sap/m/messagebundle_pl.properties +10 -0
  310. package/src/sap/m/messagebundle_pt.properties +10 -0
  311. package/src/sap/m/messagebundle_pt_PT.properties +10 -0
  312. package/src/sap/m/messagebundle_ro.properties +10 -0
  313. package/src/sap/m/messagebundle_ru.properties +10 -0
  314. package/src/sap/m/messagebundle_sh.properties +10 -0
  315. package/src/sap/m/messagebundle_sk.properties +10 -0
  316. package/src/sap/m/messagebundle_sl.properties +10 -0
  317. package/src/sap/m/messagebundle_sv.properties +10 -0
  318. package/src/sap/m/messagebundle_th.properties +10 -0
  319. package/src/sap/m/messagebundle_tr.properties +10 -0
  320. package/src/sap/m/messagebundle_uk.properties +10 -0
  321. package/src/sap/m/messagebundle_vi.properties +10 -0
  322. package/src/sap/m/messagebundle_zh_CN.properties +10 -0
  323. package/src/sap/m/messagebundle_zh_TW.properties +10 -0
  324. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  325. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  326. package/src/sap/m/p13n/BasePanel.js +1 -1
  327. package/src/sap/m/p13n/Container.js +1 -1
  328. package/src/sap/m/p13n/Engine.js +8 -4
  329. package/src/sap/m/p13n/GroupController.js +1 -1
  330. package/src/sap/m/p13n/GroupPanel.js +1 -1
  331. package/src/sap/m/p13n/PersistenceProvider.js +1 -1
  332. package/src/sap/m/p13n/Popup.js +7 -1
  333. package/src/sap/m/p13n/QueryPanel.js +1 -1
  334. package/src/sap/m/p13n/SelectionController.js +14 -13
  335. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  336. package/src/sap/m/p13n/SortController.js +1 -1
  337. package/src/sap/m/p13n/SortPanel.js +1 -1
  338. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  339. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  340. package/src/sap/m/p13n/modules/UIManager.js +19 -9
  341. package/src/sap/m/plugins/CellSelector.js +1 -1
  342. package/src/sap/m/plugins/ColumnResizer.js +9 -1
  343. package/src/sap/m/plugins/CopyProvider.js +122 -5
  344. package/src/sap/m/plugins/DataStateIndicator.js +14 -2
  345. package/src/sap/m/plugins/PasteProvider.js +1 -1
  346. package/src/sap/m/plugins/PluginBase.js +1 -1
  347. package/src/sap/m/semantic/AddAction.js +1 -1
  348. package/src/sap/m/semantic/CancelAction.js +1 -1
  349. package/src/sap/m/semantic/DeleteAction.js +1 -1
  350. package/src/sap/m/semantic/DetailPage.js +1 -1
  351. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  352. package/src/sap/m/semantic/EditAction.js +1 -1
  353. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  354. package/src/sap/m/semantic/FilterAction.js +1 -1
  355. package/src/sap/m/semantic/FilterSelect.js +1 -1
  356. package/src/sap/m/semantic/FlagAction.js +1 -1
  357. package/src/sap/m/semantic/ForwardAction.js +1 -1
  358. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  359. package/src/sap/m/semantic/GroupAction.js +1 -1
  360. package/src/sap/m/semantic/GroupSelect.js +1 -1
  361. package/src/sap/m/semantic/MainAction.js +1 -1
  362. package/src/sap/m/semantic/MasterPage.js +1 -1
  363. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  364. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  365. package/src/sap/m/semantic/NegativeAction.js +1 -1
  366. package/src/sap/m/semantic/OpenInAction.js +1 -1
  367. package/src/sap/m/semantic/PositiveAction.js +1 -1
  368. package/src/sap/m/semantic/PrintAction.js +1 -1
  369. package/src/sap/m/semantic/SaveAction.js +1 -1
  370. package/src/sap/m/semantic/Segment.js +1 -1
  371. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  372. package/src/sap/m/semantic/SemanticButton.js +1 -1
  373. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  374. package/src/sap/m/semantic/SemanticControl.js +1 -1
  375. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  376. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  377. package/src/sap/m/semantic/SemanticPage.js +1 -1
  378. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  379. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  380. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  381. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  382. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  383. package/src/sap/m/semantic/ShareMenu.js +1 -1
  384. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  385. package/src/sap/m/semantic/SortAction.js +1 -1
  386. package/src/sap/m/semantic/SortSelect.js +1 -1
  387. package/src/sap/m/table/Util.js +57 -3
  388. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  389. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  390. package/src/sap/m/table/columnmenu/Item.js +1 -1
  391. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  392. package/src/sap/m/table/columnmenu/Menu.js +14 -21
  393. package/src/sap/m/table/columnmenu/MenuRenderer.js +0 -6
  394. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  395. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  396. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  397. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  398. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  399. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  400. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  401. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  402. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  403. package/src/sap/m/themes/base/Button.less +4 -4
  404. package/src/sap/m/themes/base/FeedInput.less +1 -0
  405. package/src/sap/m/themes/base/IllustratedMessage.less +1 -1
  406. package/src/sap/m/themes/base/InputBase.less +27 -15
  407. package/src/sap/m/themes/base/MessageToast.less +7 -0
  408. package/src/sap/m/themes/base/ObjectHeader.less +20 -0
  409. package/src/sap/m/themes/base/SelectionDetailsItem.less +1 -1
  410. package/src/sap/m/themes/base/Table.less +0 -20
  411. package/src/sap/m/themes/base/TimePickerClocks.less +2 -1
  412. package/src/sap/m/themes/base/TimePickerInputs.less +2 -1
  413. package/src/sap/m/themes/base/Wizard.less +1 -1
  414. package/src/sap/m/upload/UploadSet.js +21 -18
  415. package/src/sap/m/upload/UploadSetItem.js +27 -25
  416. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  417. package/src/sap/m/CustomDynamicDateOption.js +0 -110
@@ -27,8 +27,6 @@ sap.ui.define([], function () {
27
27
  oRm.openStart("svg", oIllustration);
28
28
  oRm.class("sapMIllustration");
29
29
  oRm.accessibilityState(oIllustration);
30
- oRm.attr('role', "presentation");
31
- oRm.attr('aria-hidden', "true");
32
30
  oRm.openEnd();
33
31
 
34
32
  oRm.openStart("use");
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @implements sap.ui.core.IFormContent
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.113.0
61
+ * @version 1.114.0
62
62
  *
63
63
  * @public
64
64
  * @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.113.0
36
+ * @version 1.114.0
37
37
  * @since 1.38
38
38
  *
39
39
  * @public
@@ -0,0 +1,110 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/m/library",
9
+ "sap/base/strings/capitalize",
10
+ "sap/base/assert",
11
+ "sap/m/Image",
12
+ "sap/ui/core/Icon",
13
+ "sap/ui/core/IconPool"
14
+ ],
15
+ function (
16
+ mLibrary,
17
+ capitalize,
18
+ assert,
19
+ Image,
20
+ Icon,
21
+ IconPool
22
+ ) {
23
+ "use strict";
24
+ /**
25
+ * Helper for Images.
26
+ *
27
+ * @namespace
28
+ * @since 1.12
29
+ * @protected
30
+ */
31
+ var ImageHelper = {};
32
+
33
+ /**
34
+ * Checks if value is not undefined, in which case the
35
+ * setter function for a given property is called.
36
+ * Returns true if value is set, false otherwise.
37
+ *
38
+ * @private
39
+ */
40
+ function checkAndSetProperty(oControl, property, value) {
41
+ if (value !== undefined) {
42
+ var fSetter = oControl["set" + capitalize(property)];
43
+ if (typeof (fSetter) === "function") {
44
+ fSetter.call(oControl, value);
45
+ return true;
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ /** @lends sap.m.ImageHelper */
51
+ /**
52
+ * Creates or updates an image control.
53
+ *
54
+ * @param {string} sImgId UD of the image to be dealt with.
55
+ * @param {sap.m.Image} oImage The image to update. If undefined, a new image will be created.
56
+ * @param {sap.ui.core.Control} oParent oImageControl's parentControl.
57
+ * @param {object} mProperties Settings for the image control; the <code>src</code> property
58
+ * MUST be contained; the keys of the object must be valid names of image settings
59
+ * @param {string[]} aCssClassesToAdd Array of CSS classes which will be added if the image needs to be created.
60
+ * @param {string[]} aCssClassesToRemove All CSS classes that oImageControl has and which are contained in this array
61
+ * are removed before adding the CSS classes listed in aCssClassesToAdd.
62
+ * @returns {sap.m.Image|sap.ui.core.Icon} The new or updated image control or icon
63
+ *
64
+ * @protected
65
+ */
66
+ ImageHelper.getImageControl = function (sImgId, oImage, oParent, mProperties, aCssClassesToAdd, aCssClassesToRemove) {
67
+ assert(mProperties.src, "sap.m.ImageHelper.getImageControl: mProperties do not contain 'src'");
68
+
69
+ // make sure, image is rerendered if icon source has changed
70
+ if (oImage && (oImage.getSrc() != mProperties.src)) {
71
+ oImage.destroy();
72
+ oImage = undefined;
73
+ }
74
+ // update or create image control
75
+ if (oImage && (oImage instanceof Image || oImage instanceof Icon)) {
76
+ //Iterate through properties
77
+ for (var key in mProperties) {
78
+ checkAndSetProperty(oImage, key, mProperties[key]);
79
+ }
80
+ } else {
81
+ //add 'id' to properties. This is required by utility method 'createControlByURI'
82
+ var mSettings = Object.assign({}, mProperties, { id: sImgId });
83
+ oImage = IconPool.createControlByURI(mSettings, Image);
84
+ //Set the parent so the image gets re-rendered, when the parent is
85
+ oImage.setParent(oParent, null, true);
86
+ }
87
+
88
+ //Remove existing style classes which are contained in aCssClassesToRemove
89
+ //(the list of CSS classes allowed for deletion) to have them updated later on
90
+ //Unfortunately, there is no other way to do this but remove
91
+ //each class individually
92
+ if (aCssClassesToRemove) {
93
+ for (var l = 0, removeLen = aCssClassesToRemove.length; l !== removeLen; l++) {
94
+ oImage.removeStyleClass(aCssClassesToRemove[l]);
95
+ }
96
+ }
97
+ //Add style classes if necessary
98
+ if (aCssClassesToAdd) {
99
+ for (var k = 0, len = aCssClassesToAdd.length; k !== len; k++) {
100
+ oImage.addStyleClass(aCssClassesToAdd[k]);
101
+ }
102
+ }
103
+ return oImage;
104
+ };
105
+
106
+ mLibrary.ImageHelper = ImageHelper;
107
+
108
+ return ImageHelper;
109
+
110
+ });
@@ -157,7 +157,7 @@ function(
157
157
  * @extends sap.m.InputBase
158
158
  * @implements sap.ui.core.IAccessKeySupport
159
159
  * @author SAP SE
160
- * @version 1.113.0
160
+ * @version 1.114.0
161
161
  *
162
162
  * @constructor
163
163
  * @public
@@ -64,7 +64,7 @@ function(
64
64
  * @implements sap.ui.core.IFormContent
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.113.0
67
+ * @version 1.114.0
68
68
  *
69
69
  * @constructor
70
70
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.113.0
33
+ * @version 1.114.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.113.0
81
+ * @version 1.114.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.113.0
99
+ * @version 1.114.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.113.0
46
+ * @version 1.114.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
package/src/sap/m/Link.js CHANGED
@@ -86,7 +86,7 @@ function(
86
86
  * @implements sap.ui.core.IShrinkable, sap.ui.core.IFormContent, sap.ui.core.ITitleContent, sap.ui.core.IAccessKeySupport
87
87
  *
88
88
  * @author SAP SE
89
- * @version 1.113.0
89
+ * @version 1.114.0
90
90
  *
91
91
  * @constructor
92
92
  * @public
@@ -293,14 +293,6 @@ function(
293
293
  */
294
294
  Link.prototype.onBeforeRendering = function() {};
295
295
 
296
- Link.prototype.onAfterRendering = function() {
297
- var oAnchorRef = this.getDomRef();
298
- // TODO: Adjust sap.m.internal.ObjectMarkerCustomLink rendering part of the sap.m.ObjectMarker implementation
299
- if (oAnchorRef && oAnchorRef.getAttribute("href") == "#") {
300
- oAnchorRef.onclick = function() { return false; };
301
- }
302
- };
303
-
304
296
  Link.prototype.getAccessKeysFocusTarget = function () {
305
297
  return this.getFocusDomRef();
306
298
  };
@@ -379,11 +371,15 @@ function(
379
371
  * @private
380
372
  */
381
373
  Link.prototype._handlePress = function(oEvent) {
374
+ var oTarget = oEvent.target,
375
+ bEmptyHref;
376
+
382
377
  if (this.getEnabled()) {
383
378
  // mark the event for components that needs to know if the event was handled by the link
384
379
  oEvent.setMarked();
385
380
 
386
- if (!this.firePress({ctrlKey: !!oEvent.ctrlKey, metaKey: !!oEvent.metaKey})) { // fire event and check return value whether default action should be prevented
381
+ bEmptyHref = oTarget.classList.contains("sapMLnk") && oTarget.getAttribute("href") == "#";
382
+ if (!this.firePress({ctrlKey: !!oEvent.ctrlKey, metaKey: !!oEvent.metaKey}) || bEmptyHref) { // fire event and check return value whether default action should be prevented
387
383
  oEvent.preventDefault();
388
384
  }
389
385
  } else { // disabled
@@ -398,12 +394,7 @@ function(
398
394
  * @private
399
395
  */
400
396
  Link.prototype.onsapenter = Link.prototype._handlePress;
401
-
402
- if (Device.support.touch) {
403
- Link.prototype.ontap = Link.prototype._handlePress;
404
- } else {
405
- Link.prototype.onclick = Link.prototype._handlePress;
406
- }
397
+ Link.prototype.onclick = Link.prototype._handlePress;
407
398
 
408
399
  /**
409
400
  * Handles the touch event on mobile devices.
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.113.0
33
+ * @version 1.114.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -97,7 +97,7 @@ function(
97
97
  * @extends sap.ui.core.Control
98
98
  *
99
99
  * @author SAP SE
100
- * @version 1.113.0
100
+ * @version 1.114.0
101
101
  *
102
102
  * @constructor
103
103
  * @public
@@ -78,7 +78,7 @@ function(
78
78
  * @extends sap.ui.core.Control
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.113.0
81
+ * @version 1.114.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * Applies mask support for input controls.
27
27
  * It should should be applied to the prototype of a <code>sap.m.InputBase</code>.
28
28
  *
29
- * @version 1.113.0
29
+ * @version 1.114.0
30
30
  * @private
31
31
  * @mixin
32
32
  * @alias sap.m.MaskEnabler
@@ -29,7 +29,7 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
29
29
  *
30
30
  * @author SAP SE
31
31
  * @extends sap.m.InputBase
32
- * @version 1.113.0
32
+ * @version 1.114.0
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element', "sap/base/Log"], function(Element, Log) {
20
20
  *
21
21
  * @author SAP SE
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.113.0
23
+ * @version 1.114.0
24
24
  * @public
25
25
  * @constructor
26
26
  * @since 1.34.0
package/src/sap/m/Menu.js CHANGED
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @implements sap.ui.core.IContextMenu
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.113.0
73
+ * @version 1.114.0
74
74
  *
75
75
  * @constructor
76
76
  * @public
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Control
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.113.0
61
+ * @version 1.114.0
62
62
  *
63
63
  * @constructor
64
64
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/ui/base/ManagedObjectObserv
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.113.0
26
+ * @version 1.114.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.m.ListItemBase
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.113.0
35
+ * @version 1.114.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  *
37
37
  * @extends sap.ui.core.Item
38
38
  * @author SAP SE
39
- * @version 1.113.0
39
+ * @version 1.114.0
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.m.StandardListItem
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.113.0
36
+ * @version 1.114.0
37
37
  *
38
38
  * @constructor
39
39
  * @private
@@ -74,10 +74,9 @@ sap.ui.define([
74
74
  if (oLink && !oLink.getAriaDescribedBy().length) {
75
75
  oDescribedByText = this._getLinkAriaDescribedBy();
76
76
 
77
- oLink.setProperty("text", this.getTitle(), true);
78
- oLink.addAssociation('ariaDescribedBy', oDescribedByText.getId(), true);
79
-
80
- this.setAggregation("linkAriaDescribedBy", oDescribedByText, true);
77
+ oLink.setText(this.getTitle());
78
+ oLink.addAriaDescribedBy(oDescribedByText.getId());
79
+ this.setLinkAriaDescribedBy(oDescribedByText);
81
80
  }
82
81
  };
83
82
 
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @see {@link fiori:https://experience.sap.com/fiori-design-web/message-page/ Message Page}
73
73
  *
74
74
  * @extends sap.ui.core.Control
75
- * @version 1.113.0
75
+ * @version 1.114.0
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -95,7 +95,7 @@ function(
95
95
  * @extends sap.ui.core.Control
96
96
  *
97
97
  * @author SAP SE
98
- * @version 1.113.0
98
+ * @version 1.114.0
99
99
  *
100
100
  * @constructor
101
101
  * @public
@@ -19,7 +19,7 @@ sap.ui.define(["./library", "./MessageItem"],
19
19
  * @extends sap.m.MessageItem
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.113.0
22
+ * @version 1.114.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -85,7 +85,7 @@ sap.ui.define([
85
85
  * @extends sap.ui.core.Control
86
86
  *
87
87
  * @author SAP SE
88
- * @version 1.113.0
88
+ * @version 1.114.0
89
89
  *
90
90
  * @constructor
91
91
  * @public
@@ -10,11 +10,12 @@ sap.ui.define([
10
10
  'sap/ui/core/library',
11
11
  'sap/ui/core/Control',
12
12
  'sap/ui/Device',
13
+ 'sap/ui/core/Core',
13
14
  "sap/base/Log",
14
15
  "sap/ui/thirdparty/jquery",
15
16
  "sap/ui/core/Configuration"
16
17
  ],
17
- function(InstanceManager, Popup, coreLibrary, Control, Device, Log, jQuery, Configuration) {
18
+ function(InstanceManager, Popup, coreLibrary, Control, Device, Core, Log, jQuery, Configuration) {
18
19
  "use strict";
19
20
 
20
21
  // shortcut for sap.ui.core.Dock
@@ -71,7 +72,7 @@ sap.ui.define([
71
72
  * The message toast has the same behavior on all devices. However, you can adjust the width of the control, for example, for use on a desktop device.
72
73
  *
73
74
  * @author SAP SE
74
- * @version 1.113.0
75
+ * @version 1.114.0
75
76
  *
76
77
  * @namespace
77
78
  * @public
@@ -107,10 +108,10 @@ sap.ui.define([
107
108
  };
108
109
 
109
110
  MessageToast._aPopups = [];
110
-
111
111
  MessageToast._iOpenedPopups = 0;
112
-
113
112
  MessageToast._bBoundedEvents = false;
113
+ MessageToast._mOptions = {};
114
+ MessageToast._sMessage = "";
114
115
 
115
116
  MessageToast._validateSettings = function(mSettings) {
116
117
 
@@ -345,6 +346,44 @@ sap.ui.define([
345
346
  }
346
347
  };
347
348
 
349
+ // Display the message permanently if the desired key combination is pressed
350
+ MessageToast._fnKeyDown = function(oEvent) {
351
+ var oFocusableElement;
352
+ var oPopup = this._aPopups[0];
353
+ var bAlt = oEvent.altKey;
354
+ var bCtrl = oEvent.ctrlKey;
355
+
356
+ if (oPopup && oPopup.isOpen() && bAlt && bCtrl && oEvent.code === "KeyM") {
357
+ oFocusableElement = document.querySelector(".sapMMessageToastHiddenFocusable");
358
+ oPopup.getContent().classList.add("sapMFocus");
359
+ oFocusableElement.focus();
360
+ clearTimeout(this._iCloseTimeoutId);
361
+ }
362
+
363
+ if (!oPopup && bAlt && bCtrl && oEvent.code === "KeyM") {
364
+ this.show(this._sMessage, this._mOptions, oEvent);
365
+ oPopup = this._aPopups[0];
366
+ oFocusableElement = document.querySelector(".sapMMessageToastHiddenFocusable");
367
+ oFocusableElement && oFocusableElement.focus();
368
+ oPopup.getContent().classList.add("sapMFocus");
369
+ clearTimeout(this._iCloseTimeoutId);
370
+ }
371
+ };
372
+
373
+ // Close the message when in permanent display mode
374
+ function handleKbdClose(oEvent) {
375
+ var bAlt = oEvent.altKey;
376
+ var bCtrl = oEvent.ctrlKey;
377
+ var oPopup = this._aPopups[0];
378
+
379
+ if (oEvent.code === "Escape" || (bAlt && bCtrl && oEvent.code === "KeyM")) {
380
+ setTimeout(function() {
381
+ this._mSettings.opener && this._mSettings.opener.focus();
382
+ }.bind(this), 0);
383
+ oPopup.close();
384
+ }
385
+ }
386
+
348
387
  /* =========================================================== */
349
388
  /* API methods */
350
389
  /* =========================================================== */
@@ -368,19 +407,31 @@ sap.ui.define([
368
407
  * @param {string} [mOptions.animationTimingFunction='ease'] Describes how the close animation will progress. Possible values "ease", "linear", "ease-in", "ease-out", "ease-in-out".
369
408
  * @param {int} [mOptions.animationDuration=1000] Time in milliseconds that the close animation takes to complete. Needs to be a finite positive integer. For not animation set to 0.
370
409
  * @param {boolean} [mOptions.closeOnBrowserNavigation=true] Specifies if the message toast closes on browser navigation.
371
- *
372
410
  * @public
373
411
  */
374
412
  MessageToast.show = function(sMessage, mOptions) {
413
+ var oOpener = Core.byId(Core.getCurrentFocusedControlId()) || sap.ui.core.Element.closestTo(document.activeElement);
414
+ var oUI5Area = oOpener && oOpener.getUIArea && oOpener.getUIArea() || sap.ui.core.UIArea.registry.all()['body'] || sap.ui.core.UIArea.registry.all()['content'];
415
+ var oOpenerUI5Area = oOpener && oOpener.getUIArea && oOpener.getUIArea();
416
+ var oAccSpan;
375
417
  var that = MessageToast,
376
418
  mSettings = jQuery.extend({}, MessageToast._mSettings, { message: sMessage }),
377
419
  oPopup = new Popup(),
378
420
  iPos,
379
421
  oMessageToastDomRef,
380
422
  sPointerEvents = "mousedown." + CSSCLASS + " touchstart." + CSSCLASS,
381
- iCloseTimeoutId,
382
423
  iMouseLeaveTimeoutId;
383
424
 
425
+ MessageToast._mOptions = mOptions;
426
+ MessageToast._sMessage = sMessage;
427
+ MessageToast._mSettings.opener = oOpener;
428
+
429
+ // Find the uppper-most parent to attach the keyboard shortcut as we need to be
430
+ // able to open the message no matter where the focus is currently
431
+ if (!this._oRootNode || (this._oRootNode && oOpenerUI5Area && oOpenerUI5Area.getRootNode() !== this._oRootNode)) {
432
+ this._oRootNode = oUI5Area ? oUI5Area.getRootNode() : null;
433
+ }
434
+
384
435
  mOptions = normalizeOptions(mOptions);
385
436
 
386
437
  // merge mOptions into mSettings
@@ -427,6 +478,20 @@ sap.ui.define([
427
478
  MessageToast._bBoundedEvents = true;
428
479
  }
429
480
 
481
+ // Focus invisible span to avoid double announcement in NVDA
482
+ oAccSpan = document.createElement("span");
483
+ oAccSpan.setAttribute("tabIndex", 0);
484
+ oAccSpan.setAttribute("class", "sapMMessageToastHiddenFocusable");
485
+
486
+ oPopup.getContent().prepend(oAccSpan);
487
+
488
+ if (this._oRootNode) {
489
+ this._oRootNode.removeEventListener("keydown", that._fnKeyDown.bind(that));
490
+ this._oRootNode.addEventListener("keydown", that._fnKeyDown.bind(that));
491
+
492
+ oAccSpan.addEventListener("keydown", handleKbdClose.bind(this));
493
+ }
494
+
430
495
  // opens the popup's content at the position specified via #setPosition
431
496
  oPopup.open();
432
497
  MessageToast._iOpenedPopups++;
@@ -456,10 +521,11 @@ sap.ui.define([
456
521
  oPopup.attachClosed(handleMTClosed);
457
522
 
458
523
  // close the message toast
459
- iCloseTimeoutId = setTimeout(oPopup["close"].bind(oPopup), mSettings.duration);
524
+ this._iCloseTimeoutId = setTimeout(oPopup["close"].bind(oPopup), mSettings.duration);
525
+
460
526
  function fnClearTimeout() {
461
- clearTimeout(iCloseTimeoutId);
462
- iCloseTimeoutId = null;
527
+ clearTimeout(this._iCloseTimeoutId);
528
+ this._iCloseTimeoutId = null;
463
529
 
464
530
  function fnMouseLeave() {
465
531
  iMouseLeaveTimeoutId = setTimeout(oPopup["close"].bind(oPopup), mSettings.duration);
@@ -477,7 +543,9 @@ sap.ui.define([
477
543
  // WP 8.1 fires mouseleave event on tap
478
544
  if (Device.system.desktop) {
479
545
  oPopup.getContent().addEventListener("mouseleave", function () {
480
- iCloseTimeoutId = setTimeout(oPopup["close"].bind(oPopup), mSettings.duration);
546
+ if (document.activeElement !== oPopup.getContent()) {
547
+ this._iCloseTimeoutId = setTimeout(oPopup["close"].bind(oPopup), mSettings.duration);
548
+ }
481
549
  });
482
550
  }
483
551
  };
@@ -112,7 +112,7 @@ sap.ui.define([
112
112
  * The responsiveness of the <code>MessageView</code> is determined by the container in which it is embedded. For that reason the control could not be visualized if the
113
113
  * container’s sizes are not defined.
114
114
  * @author SAP SE
115
- * @version 1.113.0
115
+ * @version 1.114.0
116
116
  *
117
117
  * @extends sap.ui.core.Control
118
118
  * @constructor
@@ -145,7 +145,7 @@ function(
145
145
  * </ul>
146
146
  *
147
147
  * @author SAP SE
148
- * @version 1.113.0
148
+ * @version 1.114.0
149
149
  *
150
150
  * @constructor
151
151
  * @extends sap.m.ComboBoxBase
@@ -1224,6 +1224,19 @@ function(
1224
1224
  return oInput;
1225
1225
  };
1226
1226
 
1227
+ /**
1228
+ * Handles dialog's OK button press.
1229
+ *
1230
+ * @private
1231
+ */
1232
+ MultiComboBox.prototype._handleOkPress = function () {
1233
+ ComboBoxBase.prototype._handleOkPress.apply(this, arguments);
1234
+
1235
+ if (this.getValue()) {
1236
+ this._selectItemByKey();
1237
+ }
1238
+ };
1239
+
1227
1240
  /**
1228
1241
  * Handles the picker input change.
1229
1242
  *
@@ -2082,10 +2095,16 @@ function(
2082
2095
  *
2083
2096
  * @private
2084
2097
  */
2085
- MultiComboBox.prototype._handleInputFocusOut = function () {
2086
- var oInput = this.isPickerDialog() ? this.getPickerTextField() : this,
2087
- sUpdateValue = this._sOldInput || this._sOldValue || "";
2088
- oInput.updateDomValue(sUpdateValue);
2098
+ MultiComboBox.prototype._handleInputFocusOut = function (oEvent) {
2099
+ var bIsPickerDialog = this.isPickerDialog(),
2100
+ oInput = bIsPickerDialog ? this.getPickerTextField() : this,
2101
+ sUpdateValue = this._sOldInput || this._sOldValue || "",
2102
+ bOkButtonPressed = bIsPickerDialog && oEvent.relatedTarget && oEvent.relatedTarget.id.indexOf("-popup-closeButton") > -1;
2103
+
2104
+ if (!bOkButtonPressed) {
2105
+ oInput.updateDomValue(sUpdateValue);
2106
+ }
2107
+
2089
2108
  this._bIsPasteEvent = null;
2090
2109
  };
2091
2110
 
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/core/XMLComposite", "./library", "sap/ui/core/Item"], fun
17
17
  * @implements sap.ui.core.IFormContent
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.113.0
20
+ * @version 1.114.0
21
21
  * @experimental since 1.52
22
22
  * @since 1.52.0
23
23
  * @alias sap.m.MultiEditField
@@ -107,7 +107,7 @@ function(
107
107
  * @implements sap.ui.core.ISemanticFormContent
108
108
  *
109
109
  * @author SAP SE
110
- * @version 1.113.0
110
+ * @version 1.114.0
111
111
  *
112
112
  * @constructor
113
113
  * @public