@openui5/sap.m 1.103.1 → 1.104.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 (431) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +17 -0
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +35 -2
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +1 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.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 +11 -10
  15. package/src/sap/m/Breadcrumbs.js +2 -2
  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 +3 -2
  19. package/src/sap/m/Carousel.js +1 -1
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  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 +1 -1
  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 +1 -1
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/CustomDynamicDateOption.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 +14 -22
  40. package/src/sap/m/DateRangeSelection.js +45 -38
  41. package/src/sap/m/DateTimeField.js +87 -20
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +40 -21
  44. package/src/sap/m/Dialog.js +1 -1
  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 +1 -1
  48. package/src/sap/m/DynamicDateOption.js +6 -4
  49. package/src/sap/m/DynamicDateRange.js +3 -2
  50. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  51. package/src/sap/m/ExpandableText.js +1 -1
  52. package/src/sap/m/FacetFilter.js +1 -1
  53. package/src/sap/m/FacetFilterItem.js +1 -1
  54. package/src/sap/m/FacetFilterList.js +1 -1
  55. package/src/sap/m/FeedContent.js +1 -1
  56. package/src/sap/m/FeedInput.js +1 -1
  57. package/src/sap/m/FeedListItem.js +1 -1
  58. package/src/sap/m/FeedListItemAction.js +1 -1
  59. package/src/sap/m/Fiori20Adapter.js +2 -2
  60. package/src/sap/m/FlexBox.js +1 -1
  61. package/src/sap/m/FlexItemData.js +1 -1
  62. package/src/sap/m/FormattedText.js +1 -1
  63. package/src/sap/m/GenericTag.js +1 -1
  64. package/src/sap/m/GenericTile.js +12 -9
  65. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  66. package/src/sap/m/GenericTileRenderer.js +16 -4
  67. package/src/sap/m/GroupHeaderListItem.js +1 -1
  68. package/src/sap/m/GrowingEnablement.js +11 -4
  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 +3 -3
  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 +7 -2
  78. package/src/sap/m/IconTabSeparator.js +1 -1
  79. package/src/sap/m/IllustratedMessage.js +63 -24
  80. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  81. package/src/sap/m/Illustration.js +1 -1
  82. package/src/sap/m/IllustrationPool.js +1 -0
  83. package/src/sap/m/Image.js +1 -1
  84. package/src/sap/m/ImageContent.js +1 -1
  85. package/src/sap/m/Input.js +1 -4
  86. package/src/sap/m/InputBase.js +1 -1
  87. package/src/sap/m/InputListItem.js +1 -1
  88. package/src/sap/m/Label.js +1 -1
  89. package/src/sap/m/LightBox.js +1 -1
  90. package/src/sap/m/LightBoxItem.js +1 -1
  91. package/src/sap/m/Link.js +41 -5
  92. package/src/sap/m/LinkRenderer.js +18 -10
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +4 -1
  95. package/src/sap/m/ListItemBase.js +10 -2
  96. package/src/sap/m/MaskEnabler.js +52 -2
  97. package/src/sap/m/MaskInput.js +23 -1
  98. package/src/sap/m/MaskInputRule.js +1 -1
  99. package/src/sap/m/Menu.js +1 -1
  100. package/src/sap/m/MenuButton.js +1 -1
  101. package/src/sap/m/MenuItem.js +1 -1
  102. package/src/sap/m/MenuListItem.js +1 -1
  103. package/src/sap/m/MessageItem.js +1 -1
  104. package/src/sap/m/MessageListItem.js +1 -1
  105. package/src/sap/m/MessagePage.js +1 -1
  106. package/src/sap/m/MessagePopover.js +4 -1
  107. package/src/sap/m/MessagePopoverItem.js +1 -1
  108. package/src/sap/m/MessageStrip.js +1 -1
  109. package/src/sap/m/MessageToast.js +1 -1
  110. package/src/sap/m/MessageView.js +1 -1
  111. package/src/sap/m/MultiComboBox.js +1 -1
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +1 -1
  114. package/src/sap/m/NavContainer.js +20 -16
  115. package/src/sap/m/NewsContent.js +1 -1
  116. package/src/sap/m/NotificationList.js +1 -1
  117. package/src/sap/m/NotificationListBase.js +1 -1
  118. package/src/sap/m/NotificationListGroup.js +1 -1
  119. package/src/sap/m/NotificationListItem.js +1 -1
  120. package/src/sap/m/NumericContent.js +1 -1
  121. package/src/sap/m/NumericInput.js +1 -1
  122. package/src/sap/m/ObjectAttribute.js +1 -1
  123. package/src/sap/m/ObjectHeader.js +1 -1
  124. package/src/sap/m/ObjectIdentifier.js +1 -1
  125. package/src/sap/m/ObjectListItem.js +1 -1
  126. package/src/sap/m/ObjectMarker.js +1 -1
  127. package/src/sap/m/ObjectNumber.js +1 -1
  128. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  129. package/src/sap/m/ObjectStatus.js +1 -1
  130. package/src/sap/m/OverflowToolbar.js +1 -1
  131. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  132. package/src/sap/m/OverflowToolbarButton.js +1 -1
  133. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  134. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  135. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  136. package/src/sap/m/P13nColumnsItem.js +1 -1
  137. package/src/sap/m/P13nColumnsPanel.js +1 -1
  138. package/src/sap/m/P13nConditionPanel.js +1 -1
  139. package/src/sap/m/P13nDialog.js +1 -1
  140. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  141. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  142. package/src/sap/m/P13nFilterItem.js +1 -1
  143. package/src/sap/m/P13nFilterPanel.js +1 -1
  144. package/src/sap/m/P13nGroupItem.js +1 -1
  145. package/src/sap/m/P13nGroupPanel.js +1 -1
  146. package/src/sap/m/P13nItem.js +1 -1
  147. package/src/sap/m/P13nPanel.js +1 -1
  148. package/src/sap/m/P13nSelectionItem.js +1 -1
  149. package/src/sap/m/P13nSelectionPanel.js +1 -1
  150. package/src/sap/m/P13nSortItem.js +1 -1
  151. package/src/sap/m/P13nSortPanel.js +1 -1
  152. package/src/sap/m/PDFViewer.js +2 -2
  153. package/src/sap/m/PDFViewerRenderer.js +1 -0
  154. package/src/sap/m/Page.js +1 -1
  155. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  156. package/src/sap/m/PagingButton.js +1 -1
  157. package/src/sap/m/Panel.js +1 -1
  158. package/src/sap/m/PlanningCalendar.js +1 -1
  159. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  160. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  161. package/src/sap/m/PlanningCalendarRow.js +1 -1
  162. package/src/sap/m/PlanningCalendarView.js +1 -1
  163. package/src/sap/m/Popover.js +4 -4
  164. package/src/sap/m/ProgressIndicator.js +1 -1
  165. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  166. package/src/sap/m/PullToRefresh.js +1 -1
  167. package/src/sap/m/QuickView.js +1 -1
  168. package/src/sap/m/QuickViewBase.js +1 -1
  169. package/src/sap/m/QuickViewCard.js +1 -1
  170. package/src/sap/m/QuickViewGroup.js +1 -1
  171. package/src/sap/m/QuickViewGroupElement.js +1 -1
  172. package/src/sap/m/QuickViewPage.js +1 -1
  173. package/src/sap/m/RadioButton.js +1 -1
  174. package/src/sap/m/RadioButtonGroup.js +1 -1
  175. package/src/sap/m/RangeSlider.js +1 -1
  176. package/src/sap/m/RatingIndicator.js +8 -1
  177. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  178. package/src/sap/m/ResponsivePopover.js +1 -1
  179. package/src/sap/m/ResponsiveScale.js +1 -1
  180. package/src/sap/m/ScrollBar.js +1 -1
  181. package/src/sap/m/ScrollContainer.js +1 -1
  182. package/src/sap/m/SearchField.js +1 -1
  183. package/src/sap/m/SegmentedButton.js +1 -1
  184. package/src/sap/m/SegmentedButtonItem.js +1 -1
  185. package/src/sap/m/Select.js +5 -12
  186. package/src/sap/m/SelectDialog.js +1 -1
  187. package/src/sap/m/SelectDialogBase.js +1 -1
  188. package/src/sap/m/SelectList.js +1 -1
  189. package/src/sap/m/SelectionDetails.js +1 -1
  190. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  191. package/src/sap/m/SelectionDetailsItem.js +1 -1
  192. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  193. package/src/sap/m/Shell.js +1 -1
  194. package/src/sap/m/SimpleFixFlex.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  203. package/src/sap/m/SlideTile.js +1 -1
  204. package/src/sap/m/Slider.js +1 -1
  205. package/src/sap/m/SliderTooltip.js +1 -1
  206. package/src/sap/m/SliderTooltipBase.js +1 -1
  207. package/src/sap/m/SliderTooltipContainer.js +1 -1
  208. package/src/sap/m/SplitApp.js +1 -1
  209. package/src/sap/m/SplitButton.js +1 -1
  210. package/src/sap/m/SplitContainer.js +1 -1
  211. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  212. package/src/sap/m/StandardListItem.js +1 -1
  213. package/src/sap/m/StandardTile.js +1 -1
  214. package/src/sap/m/StandardTreeItem.js +1 -1
  215. package/src/sap/m/StepInput.js +1 -1
  216. package/src/sap/m/SuggestionItem.js +1 -1
  217. package/src/sap/m/SuggestionsPopover.js +1 -1
  218. package/src/sap/m/Switch.js +1 -1
  219. package/src/sap/m/TabContainer.js +1 -1
  220. package/src/sap/m/TabContainerItem.js +1 -1
  221. package/src/sap/m/TabStrip.js +1 -1
  222. package/src/sap/m/TabStripItem.js +1 -1
  223. package/src/sap/m/Table.js +1 -1
  224. package/src/sap/m/TablePersoController.js +1 -1
  225. package/src/sap/m/TablePersoDialog.js +1 -1
  226. package/src/sap/m/TablePersoProvider.js +1 -1
  227. package/src/sap/m/TableSelectDialog.js +1 -1
  228. package/src/sap/m/Text.js +1 -1
  229. package/src/sap/m/TextArea.js +1 -1
  230. package/src/sap/m/Tile.js +1 -1
  231. package/src/sap/m/TileContainer.js +1 -1
  232. package/src/sap/m/TileContent.js +8 -9
  233. package/src/sap/m/TileContentRenderer.js +1 -1
  234. package/src/sap/m/TimePicker.js +43 -6
  235. package/src/sap/m/TimePickerClock.js +1 -1
  236. package/src/sap/m/TimePickerClocks.js +5 -3
  237. package/src/sap/m/TimePickerInputs.js +1 -1
  238. package/src/sap/m/TimePickerInternals.js +1 -1
  239. package/src/sap/m/TimePickerSlider.js +1 -1
  240. package/src/sap/m/TimePickerSliders.js +1 -1
  241. package/src/sap/m/Title.js +1 -1
  242. package/src/sap/m/TitlePropagationSupport.js +1 -1
  243. package/src/sap/m/ToggleButton.js +2 -2
  244. package/src/sap/m/Token.js +1 -1
  245. package/src/sap/m/Tokenizer.js +1 -1
  246. package/src/sap/m/Toolbar.js +1 -1
  247. package/src/sap/m/ToolbarLayoutData.js +1 -1
  248. package/src/sap/m/ToolbarSeparator.js +1 -1
  249. package/src/sap/m/ToolbarSpacer.js +1 -1
  250. package/src/sap/m/Tree.js +1 -1
  251. package/src/sap/m/TreeItemBase.js +1 -1
  252. package/src/sap/m/UploadCollection.js +2 -2
  253. package/src/sap/m/UploadCollectionItem.js +1 -1
  254. package/src/sap/m/UploadCollectionParameter.js +1 -1
  255. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  256. package/src/sap/m/VBox.js +1 -1
  257. package/src/sap/m/ValueStateHeader.js +1 -1
  258. package/src/sap/m/VariantItem.js +160 -0
  259. package/src/sap/m/VariantManagement.js +610 -547
  260. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  261. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  262. package/src/sap/m/ViewSettingsDialog.js +1 -1
  263. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  264. package/src/sap/m/ViewSettingsItem.js +1 -1
  265. package/src/sap/m/VisibleItem.js +1 -1
  266. package/src/sap/m/WheelSlider.js +1 -1
  267. package/src/sap/m/WheelSliderContainer.js +1 -1
  268. package/src/sap/m/Wizard.js +1 -1
  269. package/src/sap/m/WizardProgressNavigator.js +1 -1
  270. package/src/sap/m/WizardStep.js +1 -1
  271. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  272. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  273. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  274. package/src/sap/m/changeHandler/MoveTableColumns.js +2 -2
  275. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  276. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  277. package/src/sap/m/designtime/VariantManagement.designtime.js +34 -24
  278. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  279. package/src/sap/m/library.js +29 -6
  280. package/src/sap/m/messagebundle.properties +23 -1
  281. package/src/sap/m/messagebundle_ar.properties +16 -5
  282. package/src/sap/m/messagebundle_bg.properties +11 -0
  283. package/src/sap/m/messagebundle_ca.properties +11 -0
  284. package/src/sap/m/messagebundle_cs.properties +11 -0
  285. package/src/sap/m/messagebundle_cy.properties +11 -0
  286. package/src/sap/m/messagebundle_da.properties +11 -0
  287. package/src/sap/m/messagebundle_de.properties +11 -0
  288. package/src/sap/m/messagebundle_el.properties +12 -1
  289. package/src/sap/m/messagebundle_en.properties +11 -0
  290. package/src/sap/m/messagebundle_en_GB.properties +11 -0
  291. package/src/sap/m/messagebundle_en_US_sappsd.properties +11 -0
  292. package/src/sap/m/messagebundle_en_US_saprigi.properties +9 -0
  293. package/src/sap/m/messagebundle_en_US_saptrc.properties +11 -0
  294. package/src/sap/m/messagebundle_es.properties +11 -0
  295. package/src/sap/m/messagebundle_es_MX.properties +11 -0
  296. package/src/sap/m/messagebundle_et.properties +11 -0
  297. package/src/sap/m/messagebundle_fi.properties +14 -3
  298. package/src/sap/m/messagebundle_fr.properties +11 -0
  299. package/src/sap/m/messagebundle_fr_CA.properties +11 -0
  300. package/src/sap/m/messagebundle_hi.properties +11 -0
  301. package/src/sap/m/messagebundle_hr.properties +15 -4
  302. package/src/sap/m/messagebundle_hu.properties +13 -2
  303. package/src/sap/m/messagebundle_id.properties +11 -0
  304. package/src/sap/m/messagebundle_it.properties +12 -1
  305. package/src/sap/m/messagebundle_iw.properties +12 -1
  306. package/src/sap/m/messagebundle_ja.properties +11 -0
  307. package/src/sap/m/messagebundle_kk.properties +11 -0
  308. package/src/sap/m/messagebundle_ko.properties +17 -6
  309. package/src/sap/m/messagebundle_lt.properties +11 -0
  310. package/src/sap/m/messagebundle_lv.properties +11 -0
  311. package/src/sap/m/messagebundle_ms.properties +11 -0
  312. package/src/sap/m/messagebundle_nl.properties +25 -14
  313. package/src/sap/m/messagebundle_no.properties +12 -1
  314. package/src/sap/m/messagebundle_pl.properties +12 -1
  315. package/src/sap/m/messagebundle_pt.properties +15 -4
  316. package/src/sap/m/messagebundle_pt_PT.properties +11 -0
  317. package/src/sap/m/messagebundle_ro.properties +11 -0
  318. package/src/sap/m/messagebundle_ru.properties +11 -0
  319. package/src/sap/m/messagebundle_sh.properties +11 -0
  320. package/src/sap/m/messagebundle_sk.properties +11 -0
  321. package/src/sap/m/messagebundle_sl.properties +11 -0
  322. package/src/sap/m/messagebundle_sv.properties +11 -0
  323. package/src/sap/m/messagebundle_th.properties +34 -23
  324. package/src/sap/m/messagebundle_tr.properties +11 -0
  325. package/src/sap/m/messagebundle_uk.properties +11 -0
  326. package/src/sap/m/messagebundle_vi.properties +11 -0
  327. package/src/sap/m/messagebundle_zh_CN.properties +11 -0
  328. package/src/sap/m/messagebundle_zh_TW.properties +11 -0
  329. package/src/sap/m/p13n/AbstractContainer.js +5 -5
  330. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  331. package/src/sap/m/p13n/BasePanel.js +4 -3
  332. package/src/sap/m/p13n/Container.js +1 -1
  333. package/src/sap/m/p13n/Engine.js +1253 -0
  334. package/src/sap/m/p13n/FlexUtil.js +162 -0
  335. package/src/sap/m/p13n/GroupController.js +145 -0
  336. package/src/sap/m/p13n/GroupPanel.js +10 -3
  337. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  338. package/src/sap/m/p13n/PersistenceProvider.js +135 -0
  339. package/src/sap/m/p13n/Popup.js +46 -9
  340. package/src/sap/m/p13n/QueryPanel.js +1 -1
  341. package/src/sap/m/p13n/SelectionController.js +563 -0
  342. package/src/sap/m/p13n/SelectionPanel.js +13 -1
  343. package/src/sap/m/p13n/SortController.js +153 -0
  344. package/src/sap/m/p13n/SortPanel.js +11 -1
  345. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  346. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  347. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  348. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  349. package/src/sap/m/p13n/modification/ModificationHandler.js +133 -0
  350. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  351. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +124 -0
  352. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  353. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  354. package/src/sap/m/p13n/modules/xConfigAPI.js +286 -0
  355. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  356. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  357. package/src/sap/m/plugins/PasteProvider.js +1 -1
  358. package/src/sap/m/plugins/PluginBase.js +1 -1
  359. package/src/sap/m/semantic/AddAction.js +1 -1
  360. package/src/sap/m/semantic/CancelAction.js +1 -1
  361. package/src/sap/m/semantic/DeleteAction.js +1 -1
  362. package/src/sap/m/semantic/DetailPage.js +1 -1
  363. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  364. package/src/sap/m/semantic/EditAction.js +1 -1
  365. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  366. package/src/sap/m/semantic/FilterAction.js +1 -1
  367. package/src/sap/m/semantic/FilterSelect.js +1 -1
  368. package/src/sap/m/semantic/FlagAction.js +1 -1
  369. package/src/sap/m/semantic/ForwardAction.js +1 -1
  370. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  371. package/src/sap/m/semantic/GroupAction.js +1 -1
  372. package/src/sap/m/semantic/GroupSelect.js +1 -1
  373. package/src/sap/m/semantic/MainAction.js +1 -1
  374. package/src/sap/m/semantic/MasterPage.js +1 -1
  375. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  376. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  377. package/src/sap/m/semantic/NegativeAction.js +1 -1
  378. package/src/sap/m/semantic/OpenInAction.js +1 -1
  379. package/src/sap/m/semantic/PositiveAction.js +1 -1
  380. package/src/sap/m/semantic/PrintAction.js +1 -1
  381. package/src/sap/m/semantic/SaveAction.js +1 -1
  382. package/src/sap/m/semantic/Segment.js +1 -1
  383. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  384. package/src/sap/m/semantic/SemanticButton.js +1 -1
  385. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  386. package/src/sap/m/semantic/SemanticControl.js +1 -1
  387. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  388. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  389. package/src/sap/m/semantic/SemanticPage.js +1 -1
  390. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  391. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  392. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  393. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  394. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  395. package/src/sap/m/semantic/ShareMenu.js +1 -1
  396. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  397. package/src/sap/m/semantic/SortAction.js +1 -1
  398. package/src/sap/m/semantic/SortSelect.js +1 -1
  399. package/src/sap/m/table/Util.js +8 -3
  400. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  401. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  402. package/src/sap/m/table/columnmenu/Item.js +1 -1
  403. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  404. package/src/sap/m/table/columnmenu/Menu.js +8 -2
  405. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  406. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  407. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  408. package/src/sap/m/table/columnmenu/QuickGroup.js +21 -1
  409. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  410. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  411. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  412. package/src/sap/m/table/columnmenu/QuickTotal.js +21 -1
  413. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  414. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  415. package/src/sap/m/themes/base/CheckBox.less +1 -0
  416. package/src/sap/m/themes/base/Dialog.less +1 -0
  417. package/src/sap/m/themes/base/FeedContent.less +13 -5
  418. package/src/sap/m/themes/base/GenericTile.less +39 -9
  419. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  420. package/src/sap/m/themes/base/NumericContent.less +1 -1
  421. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  422. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  423. package/src/sap/m/themes/base/SelectList.less +0 -5
  424. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  425. package/src/sap/m/themes/base/SlideTile.less +20 -4
  426. package/src/sap/m/themes/base/Table.less +11 -1
  427. package/src/sap/m/themes/base/TileContent.less +17 -0
  428. package/src/sap/m/upload/UploadSet.js +98 -15
  429. package/src/sap/m/upload/UploadSetItem.js +13 -1
  430. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  431. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
package/src/sap/m/Link.js CHANGED
@@ -42,6 +42,9 @@ function(
42
42
  // shortcut for sap.ui.core.aria.HasPopup
43
43
  var AriaHasPopup = coreLibrary.aria.HasPopup;
44
44
 
45
+ // shortcut for sap.m.LinkAccessibleRole
46
+ var LinkAccessibleRole = library.LinkAccessibleRole;
47
+
45
48
  // shortcut for sap.m.EmptyIndicator
46
49
  var EmptyIndicatorMode = library.EmptyIndicatorMode;
47
50
 
@@ -81,7 +84,7 @@ function(
81
84
  * @implements sap.ui.core.IShrinkable, sap.ui.core.IFormContent, sap.ui.core.ITitleContent
82
85
  *
83
86
  * @author SAP SE
84
- * @version 1.103.1
87
+ * @version 1.104.0
85
88
  *
86
89
  * @constructor
87
90
  * @public
@@ -135,8 +138,9 @@ function(
135
138
  width : {type : "sap.ui.core.CSSSize", group : "Dimension", defaultValue : null},
136
139
 
137
140
  /**
138
- * Defines the link target URI. Supports standard hyperlink behavior. If a JavaScript action should be triggered,
139
- * this should not be set, but instead an event handler for the <code>press</code> event should be registered.
141
+ * Defines the link target URI. Supports standard hyperlink behavior.
142
+ * <b>Note:</b> Don't set <code>href</code> property if an action should be triggered by the link. Instead set <code>accessibleRole</code>
143
+ * property to <code>LinkAccessibleRole.Button</code> and register a <code>press</code> event handler.
140
144
  */
141
145
  href : {type : "sap.ui.core.URI", group : "Data", defaultValue : null},
142
146
 
@@ -194,6 +198,16 @@ function(
194
198
  */
195
199
  ariaHasPopup : {type : "sap.ui.core.aria.HasPopup", group : "Accessibility", defaultValue : AriaHasPopup.None},
196
200
 
201
+ /**
202
+ * Describes the accessibility role of the link:<ul>
203
+ * <li><code>LinkAccessibleRole.Default</code> - a navagation is expected to the location given in <code>href</code> property</li>
204
+ * <li><code>LinkAccessibleRole.Button</code> - there will be <code>role</code> attribute with value "Button" rendered. In this scenario the <code>href</code>
205
+ * property value shouldn't be set as navigation isn't expected to occur.</li></ul>
206
+ *
207
+ * @since 1.104.0
208
+ */
209
+ accessibleRole : {type : "sap.m.LinkAccessibleRole", group : "Accessibility", defaultValue : LinkAccessibleRole.Default},
210
+
197
211
  /**
198
212
  * Specifies if an empty indicator should be displayed when there is no text.
199
213
  *
@@ -252,6 +266,27 @@ function(
252
266
  */
253
267
  Link.prototype.onBeforeRendering = function() {};
254
268
 
269
+ Link.prototype.onAfterRendering = function() {
270
+ var oLinkElement = this.getDomRef(),
271
+ oTextBinding = this.getBinding("text");
272
+
273
+ if (!oLinkElement) {
274
+ return;
275
+ }
276
+
277
+ // Update the default no-navigation href attribute value via JS,
278
+ // so we don't confuse the Chrome browser accessibility mappings,
279
+ // in case there is double rendering resulting from a "text" property binding.
280
+ // Remove the href if there's no text. Otherwise virtual cursor would stop on the empty link. BCP 2070055617
281
+ if (oTextBinding) {
282
+ if (!oTextBinding.bInitial && !oTextBinding.getValue()) {
283
+ this.getDomRef().removeAttribute("href");
284
+ }
285
+ } else if (!this.getText()) {
286
+ this.getDomRef().removeAttribute("href");
287
+ }
288
+ };
289
+
255
290
  /**
256
291
  * Handle the key down event for SPACE
257
292
  * SHIFT or ESCAPE on pressed SPACE cancels the action
@@ -405,7 +440,8 @@ function(
405
440
  sEmphasizedInfo = this.getEmphasized() ? oResourceBundle.getText("LINK_EMPHASIZED") : "",
406
441
  sSubtleInfo = this.getSubtle() ? oResourceBundle.getText("LINK_SUBTLE") : "",
407
442
  sText = this.getText(),
408
- sDescription = sText;
443
+ sDescription = sText,
444
+ sAccessibleRole = this.getAccessibleRole();
409
445
 
410
446
  if (sText) {
411
447
  sEmphasizedInfo && (sDescription += " " + sEmphasizedInfo);
@@ -413,7 +449,7 @@ function(
413
449
  }
414
450
 
415
451
  return {
416
- role: "link",
452
+ role: sAccessibleRole === LinkAccessibleRole.Default ? "link" : sAccessibleRole,
417
453
  type: sText ? oResourceBundle.getText("ACC_CTR_TYPE_LINK") : undefined,
418
454
  description: sDescription,
419
455
  focusable: this.getEnabled(),
@@ -20,6 +20,9 @@
20
20
  // shortcut for sap.ui.core.aria.HasPopup
21
21
  var AriaHasPopup = coreLibrary.aria.HasPopup;
22
22
 
23
+ // shortcut for sap.m.LinkAccessibleRole
24
+ var LinkAccessibleRole = mobileLibrary.LinkAccessibleRole;
25
+
23
26
  /**
24
27
  * Link renderer
25
28
  * @namespace
@@ -46,13 +49,13 @@
46
49
  sTextAlign = Renderer.getTextAlign(oControl.getTextAlign(), sTextDir),
47
50
  bShouldHaveOwnLabelledBy = oControl._determineSelfReferencePresence(),
48
51
  sHasPopupType = oControl.getAriaHasPopup(),
49
- sHref = oControl.getHref(),
50
52
  sRel = defaultLinkTypes(oControl.getRel(), oControl.getTarget()),
53
+ sHref = oControl.getHref(),
54
+ sAccessibleRole = oControl.getAccessibleRole(),
51
55
  oAccAttributes = {
52
56
  labelledby: bShouldHaveOwnLabelledBy ? {value: oControl.getId(), append: true } : undefined,
53
57
  haspopup: (sHasPopupType === AriaHasPopup.None) ? null : sHasPopupType.toLowerCase()
54
58
  },
55
- bIsValid = sHref && oControl._isHrefValid(sHref),
56
59
  bEnabled = oControl.getEnabled(),
57
60
  sTypeSemanticInfo = "";
58
61
 
@@ -70,6 +73,19 @@
70
73
  sTypeSemanticInfo += " " + oControl._sAriaLinkEmphasizedId;
71
74
  }
72
75
 
76
+ switch (sAccessibleRole) {
77
+ case LinkAccessibleRole.Button:
78
+ oAccAttributes.role = LinkAccessibleRole.Button;
79
+ break;
80
+ default:
81
+ // Set a valid non empty value for the href attribute representing that there is no navigation,
82
+ // so we don't confuse the screen readers.
83
+ /*eslint-disable no-script-url */
84
+ sHref = sHref && oControl._isHrefValid(sHref) && oControl.getEnabled() ? sHref : "javascript:void(0)";
85
+ }
86
+
87
+ sHref && oRm.attr("href", sHref);
88
+
73
89
  oAccAttributes.describedby = sTypeSemanticInfo ? {value: sTypeSemanticInfo.trim(), append: true} : undefined;
74
90
 
75
91
  if (!bEnabled) {
@@ -86,14 +102,6 @@
86
102
  oRm.attr("title", oControl.getTooltip_AsString());
87
103
  }
88
104
 
89
- /* set href only if link is enabled - BCP incident 1570020625 */
90
- if (bIsValid && bEnabled) {
91
- oRm.attr("href", sHref);
92
- } else if (oControl.getText()) {
93
- // Add href only if there's text. Otherwise virtual cursor would stop on the empty link. BCP 2070055617
94
- oRm.attr("href", "");
95
- }
96
-
97
105
  if (oControl.getTarget()) {
98
106
  oRm.attr("target", oControl.getTarget());
99
107
  }
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.103.1
33
+ * @version 1.104.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -90,7 +90,7 @@ function(
90
90
  * @extends sap.ui.core.Control
91
91
  *
92
92
  * @author SAP SE
93
- * @version 1.103.1
93
+ * @version 1.104.0
94
94
  *
95
95
  * @constructor
96
96
  * @public
@@ -624,6 +624,9 @@ function(
624
624
  // Special handling for "AutoExpandSelect" of the V4 ODataModel.
625
625
  if (oEventInfo && oEventInfo.detailedReason === "AddVirtualContext") {
626
626
  createVirtualItem(this);
627
+ if (this._oGrowingDelegate) {
628
+ this._oGrowingDelegate.reset(true);
629
+ }
627
630
  return;
628
631
  } else if (oEventInfo && oEventInfo.detailedReason === "RemoveVirtualContext") {
629
632
  destroyVirtualItem(this);
@@ -76,7 +76,7 @@ function(
76
76
  * @extends sap.ui.core.Control
77
77
  *
78
78
  * @author SAP SE
79
- * @version 1.103.1
79
+ * @version 1.104.0
80
80
  *
81
81
  * @constructor
82
82
  * @public
@@ -273,8 +273,15 @@ function(
273
273
  this._bNeedsNavigated = false;
274
274
  };
275
275
 
276
+ ListItemBase.prototype.onBeforeRendering = function() {
277
+ this._oDomRef = this.getDomRef();
278
+ };
279
+
276
280
  ListItemBase.prototype.onAfterRendering = function() {
277
- this.informList("DOMUpdate", true);
281
+ if (this._oDomRef !== this.getDomRef()) {
282
+ this.informList("DOMUpdate", true);
283
+ }
284
+ this._oDomRef = undefined;
278
285
  this._checkHighlight();
279
286
  this._checkNavigated();
280
287
  };
@@ -723,6 +730,7 @@ function(
723
730
  };
724
731
 
725
732
  ListItemBase.prototype.exit = function() {
733
+ this._oDomRef = null;
726
734
  this._oLastFocused = null;
727
735
  this._checkHighlight(false);
728
736
  this._checkNavigated(false);
@@ -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.103.1
29
+ * @version 1.104.0
30
30
  * @private
31
31
  * @mixin
32
32
  * @alias sap.m.MaskEnabler
@@ -164,6 +164,12 @@ sap.ui.define([
164
164
  this._applyMask();
165
165
  this._positionCaret(false);
166
166
  }
167
+
168
+ var sValue = this.getDOMValue();
169
+ if (!this._isMaskEnabled() && sValue !== this._sPreviousValue) {
170
+ this._fireLiveChange(sValue, this._sPreviousValue);
171
+ this._sPreviousValue = sValue;
172
+ }
167
173
  };
168
174
 
169
175
  /**
@@ -231,6 +237,7 @@ sap.ui.define([
231
237
  if (this._oTempValue._aContent.join("") !== this._oTempValue._aInitial.join("")) {
232
238
  InputBase.prototype.onsapescape.call(this, oEvent);
233
239
  }
240
+ this._bCheckForLiveChange = true;
234
241
  };
235
242
 
236
243
  /**
@@ -611,6 +618,28 @@ sap.ui.define([
611
618
  return this._aRules[iIndex].test(sChar);
612
619
  };
613
620
 
621
+ this.updateDomValue = function(sValue) {
622
+ InputBase.prototype.updateDomValue.call(this, sValue);
623
+
624
+ if (this._bCheckForLiveChange && sValue !== this._sPreviousValue) {
625
+ this._fireLiveChange(sValue, this._sPreviousValue);
626
+ this._sPreviousValue = sValue;
627
+ }
628
+
629
+ this._bCheckForLiveChange = false;
630
+ };
631
+
632
+ /**
633
+ * Fires liveChange event.
634
+ * @private
635
+ */
636
+ this._fireLiveChange = function(sNewValue, sPreviousValue) {
637
+ this.fireLiveChange && this.fireLiveChange({
638
+ value: sNewValue,
639
+ previousValue: sPreviousValue
640
+ });
641
+ };
642
+
614
643
  /**
615
644
  * Sets up default mask rules.
616
645
  * @private
@@ -859,6 +888,13 @@ sap.ui.define([
859
888
  * @private
860
889
  */
861
890
  this._applyAndUpdate = function (sMaskInputValue) {
891
+ if (this._oTempValue && (this._sPreviousValue === undefined || this._sPreviousValue === "")) {
892
+ this._sPreviousValue = this._oTempValue.toString();
893
+ this._bCheckForLiveChange = false;
894
+ } else if (!this._bCutInProgress) {
895
+ this._bCheckForLiveChange = true;
896
+ }
897
+
862
898
  this._applyRules(sMaskInputValue);
863
899
  this.updateDomValue(this._oTempValue.toString());
864
900
  };
@@ -984,6 +1020,8 @@ sap.ui.define([
984
1020
  iEnd = iEnd - 1;
985
1021
  this._resetTempValue(iBegin, iEnd);
986
1022
 
1023
+ this._bCutInProgress = true;
1024
+
987
1025
  //oncut happens before the input event fires (before oninput)
988
1026
  //we want to use the values from this point of time
989
1027
  //but set them after the input event is handled (after oninput)
@@ -994,6 +1032,8 @@ sap.ui.define([
994
1032
  //update the temp value back
995
1033
  //because oninput breaks it
996
1034
  this._oTempValue._aContent = aOldTempValueContent;
1035
+ this._bCheckForLiveChange = true;
1036
+ this._bCutInProgress = false;
997
1037
  this.updateDomValue(sValue);
998
1038
 
999
1039
  //we want that shortly after updateDomValue
@@ -1008,6 +1048,14 @@ sap.ui.define([
1008
1048
  ), iMinBrowserDelay);
1009
1049
  };
1010
1050
 
1051
+ /**
1052
+ * Handle paste event.
1053
+ * @private
1054
+ */
1055
+ this.onpaste = function() {
1056
+ this._bCheckForLiveChange = true;
1057
+ };
1058
+
1011
1059
  /**
1012
1060
  * Handles <code>onKeyDown</code> event.
1013
1061
  * @param {jQuery.Event} oEvent The jQuery event object
@@ -1029,7 +1077,6 @@ sap.ui.define([
1029
1077
  iCursorPos = this._getCursorPosition();
1030
1078
  oSelection = this._getTextSelection();
1031
1079
 
1032
-
1033
1080
  // Determine the correct direction based on RTL mode, input characters and selection state
1034
1081
  sDirection = this._determineArrowKeyDirection(oKey, oSelection);
1035
1082
 
@@ -1095,6 +1142,7 @@ sap.ui.define([
1095
1142
  }
1096
1143
 
1097
1144
  this._resetTempValue(iBegin, iEnd);
1145
+ this._bCheckForLiveChange = true;
1098
1146
  this.updateDomValue(this._oTempValue.toString());
1099
1147
  this._setCursorPosition(Math.max(this._iUserInputStartPosition, iBegin));
1100
1148
  };
@@ -1120,6 +1168,7 @@ sap.ui.define([
1120
1168
 
1121
1169
  if (bAtLeastOneSuccessfulCharPlacement) {
1122
1170
  iNextPos = iPos; //because the cycle above already found the next pos
1171
+ this._bCheckForLiveChange = true;
1123
1172
  this.updateDomValue(this._oTempValue.toString());
1124
1173
  this._setCursorPosition(iNextPos);
1125
1174
  }
@@ -1514,6 +1563,7 @@ sap.ui.define([
1514
1563
  */
1515
1564
  // Should be called from within the input handler(not in a delayed call), otherwise a flickering between
1516
1565
  // the old and new value will be observed
1566
+
1517
1567
  this.updateDomValue(this._oKeyDownStateAndroid.sValue);
1518
1568
 
1519
1569
  setTimeout(function(oInputEvent, oKeyDownState, oKey) {
@@ -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.103.1
32
+ * @version 1.104.0
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -82,6 +82,28 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
82
82
  rules: { type: "sap.m.MaskInputRule", multiple: true, singularName: "rule" }
83
83
 
84
84
  },
85
+ events : {
86
+
87
+ /**
88
+ * Fired when the value of the <code>MaskInput</code> is changed by user interaction - each keystroke, delete, paste, etc.
89
+ *
90
+ * <b>Note:</b> Browsing autocomplete suggestions doesn't fire the event.
91
+ * @since 1.104.0
92
+ */
93
+ liveChange: {
94
+ parameters : {
95
+ /**
96
+ * The current value of the input, after a live change event.
97
+ */
98
+ value: {type : "string"},
99
+
100
+ /**
101
+ * The previous value of the input, before the last user interaction.
102
+ */
103
+ previousValue: {type : "string"}
104
+ }
105
+ }
106
+ },
85
107
  dnd: { draggable: false, droppable: true }
86
108
  }
87
109
  });
@@ -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.103.1
23
+ * @version 1.104.0
24
24
  * @public
25
25
  * @constructor
26
26
  * @since 1.34.0
package/src/sap/m/Menu.js CHANGED
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @implements sap.ui.core.IContextMenu
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.103.1
71
+ * @version 1.104.0
72
72
  *
73
73
  * @constructor
74
74
  * @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.103.1
61
+ * @version 1.104.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.103.1
26
+ * @version 1.104.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.103.1
35
+ * @version 1.104.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  *
38
38
  * @extends sap.ui.core.Item
39
39
  * @author SAP SE
40
- * @version 1.103.1
40
+ * @version 1.104.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.StandardListItem
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.103.1
33
+ * @version 1.104.0
34
34
  *
35
35
  * @constructor
36
36
  * @private
@@ -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.103.1
75
+ * @version 1.104.0
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -91,7 +91,7 @@ function(
91
91
  * @extends sap.ui.core.Control
92
92
  *
93
93
  * @author SAP SE
94
- * @version 1.103.1
94
+ * @version 1.104.0
95
95
  *
96
96
  * @constructor
97
97
  * @public
@@ -378,6 +378,9 @@ function(
378
378
  modal: false,
379
379
  afterOpen: function (oEvent) {
380
380
  that.fireAfterOpen({openBy: oEvent.getParameter("openBy")});
381
+
382
+ // ensure that the focus is in the correct place
383
+ that.getInitiallyExpanded() && that._oMessageView._restoreFocus();
381
384
  },
382
385
  afterClose: function (oEvent) {
383
386
  that._oMessageView._navContainer.backToTop();
@@ -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.103.1
22
+ * @version 1.104.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @extends sap.ui.core.Control
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.103.1
86
+ * @version 1.104.0
87
87
  *
88
88
  * @constructor
89
89
  * @public
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * 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.
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.103.1
73
+ * @version 1.104.0
74
74
  *
75
75
  * @namespace
76
76
  * @public
@@ -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.103.1
115
+ * @version 1.104.0
116
116
  *
117
117
  * @extends sap.ui.core.Control
118
118
  * @constructor
@@ -159,7 +159,7 @@ function(
159
159
  * </ul>
160
160
  *
161
161
  * @author SAP SE
162
- * @version 1.103.1
162
+ * @version 1.104.0
163
163
  *
164
164
  * @constructor
165
165
  * @extends sap.m.ComboBoxBase
@@ -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.103.1
20
+ * @version 1.104.0
21
21
  * @experimental since 1.52
22
22
  * @since 1.52.0
23
23
  * @alias sap.m.MultiEditField
@@ -121,7 +121,7 @@ function(
121
121
  * @implements sap.ui.core.ISemanticFormContent
122
122
  *
123
123
  * @author SAP SE
124
- * @version 1.103.1
124
+ * @version 1.104.0
125
125
  *
126
126
  * @constructor
127
127
  * @public
@@ -7,6 +7,7 @@
7
7
  // Provides control sap.m.NavContainer.
8
8
  sap.ui.define([
9
9
  './library',
10
+ "sap/ui/core/Configuration",
10
11
  'sap/ui/core/Control',
11
12
  'sap/ui/core/RenderManager',
12
13
  'sap/ui/Device',
@@ -16,6 +17,7 @@ sap.ui.define([
16
17
  "sap/ui/dom/jquery/Focusable" // jQuery Plugin "firstFocusableDomRef"
17
18
  ], function(
18
19
  library,
20
+ Configuration,
19
21
  Control,
20
22
  RenderManager,
21
23
  Device,
@@ -43,7 +45,7 @@ sap.ui.define([
43
45
  * @extends sap.ui.core.Control
44
46
  *
45
47
  * @author SAP SE
46
- * @version 1.103.1
48
+ * @version 1.104.0
47
49
  *
48
50
  * @constructor
49
51
  * @public
@@ -257,21 +259,23 @@ sap.ui.define([
257
259
  }
258
260
  };
259
261
 
260
- var bUseAnimations = sap.ui.getCore().getConfiguration().getAnimation(),
261
- fnGetDelay = function (iDelay) {
262
- return bUseAnimations ? iDelay : 0;
263
- },
264
- fnHasParent = function(oControl) {
265
- return !!(oControl && oControl.getParent());
266
- },
267
- fnSetAnimationDirection = function (oPage, sDirection) {
268
- if (fnHasParent(oPage)) {
269
- oPage.$().css({
270
- '-webkit-animation-direction': sDirection,
271
- 'animation-direction': sDirection
272
- });
273
- }
274
- };
262
+ var fnGetDelay = function (iDelay) {
263
+ var sAnimationMode = sap.ui.getCore().getConfiguration().getAnimationMode(),
264
+ bUseAnimations = sAnimationMode !== Configuration.AnimationMode.none && sAnimationMode !== Configuration.AnimationMode.minimal;
265
+
266
+ return bUseAnimations ? iDelay : 0;
267
+ },
268
+ fnHasParent = function(oControl) {
269
+ return !!(oControl && oControl.getParent());
270
+ },
271
+ fnSetAnimationDirection = function (oPage, sDirection) {
272
+ if (fnHasParent(oPage)) {
273
+ oPage.$().css({
274
+ '-webkit-animation-direction': sDirection,
275
+ 'animation-direction': sDirection
276
+ });
277
+ }
278
+ };
275
279
 
276
280
  NavContainer.TransitionDirection = {
277
281
  BACK: "back",
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Control
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.103.1
29
+ * @version 1.104.0
30
30
  * @since 1.34
31
31
  *
32
32
  * @public
@@ -27,7 +27,7 @@ function(
27
27
  * @extends sap.m.ListBase
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.103.1
30
+ * @version 1.104.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -86,7 +86,7 @@ sap.ui.define([
86
86
  * @extends sap.m.ListItemBase
87
87
  *
88
88
  * @author SAP SE
89
- * @version 1.103.1
89
+ * @version 1.104.0
90
90
  *
91
91
  * @constructor
92
92
  * @public
@@ -66,7 +66,7 @@ function(
66
66
  * @extends sap.m.NotificationListBase
67
67
  *
68
68
  * @author SAP SE
69
- * @version 1.103.1
69
+ * @version 1.104.0
70
70
  *
71
71
  * @constructor
72
72
  * @public
@@ -64,7 +64,7 @@ function(
64
64
  * @extends sap.m.NotificationListBase
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.103.1
67
+ * @version 1.104.0
68
68
  *
69
69
  * @constructor
70
70
  * @public