@openui5/sap.m 1.102.2 → 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 (460) 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 +4 -4
  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/BarInPageEnabler.js +1 -1
  16. package/src/sap/m/Breadcrumbs.js +27 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +6 -5
  20. package/src/sap/m/Carousel.js +1 -1
  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 +7 -7
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  37. package/src/sap/m/CustomListItem.js +1 -1
  38. package/src/sap/m/CustomTile.js +1 -1
  39. package/src/sap/m/CustomTreeItem.js +1 -1
  40. package/src/sap/m/DatePicker.js +15 -23
  41. package/src/sap/m/DateRangeSelection.js +48 -41
  42. package/src/sap/m/DateTimeField.js +87 -20
  43. package/src/sap/m/DateTimeInput.js +1 -1
  44. package/src/sap/m/DateTimePicker.js +54 -24
  45. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  46. package/src/sap/m/Dialog.js +3 -10
  47. package/src/sap/m/DisplayListItem.js +1 -1
  48. package/src/sap/m/DraftIndicator.js +1 -1
  49. package/src/sap/m/DynamicDate.js +1 -1
  50. package/src/sap/m/DynamicDateFormat.js +31 -13
  51. package/src/sap/m/DynamicDateOption.js +6 -4
  52. package/src/sap/m/DynamicDateRange.js +20 -3
  53. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  54. package/src/sap/m/ExpandableText.js +1 -1
  55. package/src/sap/m/FacetFilter.js +29 -28
  56. package/src/sap/m/FacetFilterItem.js +1 -1
  57. package/src/sap/m/FacetFilterList.js +1 -1
  58. package/src/sap/m/FeedContent.js +1 -1
  59. package/src/sap/m/FeedInput.js +1 -1
  60. package/src/sap/m/FeedListItem.js +1 -1
  61. package/src/sap/m/FeedListItemAction.js +1 -1
  62. package/src/sap/m/Fiori20Adapter.js +2 -2
  63. package/src/sap/m/FlexBox.js +1 -1
  64. package/src/sap/m/FlexItemData.js +2 -2
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +5 -5
  67. package/src/sap/m/GenericTile.js +11 -7
  68. package/src/sap/m/GenericTileLineModeRenderer.js +4 -5
  69. package/src/sap/m/GenericTileRenderer.js +18 -6
  70. package/src/sap/m/GroupHeaderListItem.js +1 -1
  71. package/src/sap/m/GrowingEnablement.js +59 -10
  72. package/src/sap/m/GrowingList.js +1 -1
  73. package/src/sap/m/HBox.js +1 -1
  74. package/src/sap/m/HeaderContainer.js +5 -24
  75. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  76. package/src/sap/m/IconTabBar.js +2 -1
  77. package/src/sap/m/IconTabBarSelectList.js +1 -1
  78. package/src/sap/m/IconTabFilter.js +4 -4
  79. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  80. package/src/sap/m/IconTabHeader.js +14 -3
  81. package/src/sap/m/IconTabSeparator.js +1 -1
  82. package/src/sap/m/IllustratedMessage.js +63 -24
  83. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  84. package/src/sap/m/Illustration.js +1 -1
  85. package/src/sap/m/IllustrationPool.js +1 -0
  86. package/src/sap/m/Image.js +1 -1
  87. package/src/sap/m/ImageContent.js +1 -1
  88. package/src/sap/m/Input.js +2 -17
  89. package/src/sap/m/InputBase.js +12 -5
  90. package/src/sap/m/InputListItem.js +1 -1
  91. package/src/sap/m/InstanceManager.js +14 -19
  92. package/src/sap/m/Label.js +1 -1
  93. package/src/sap/m/LightBox.js +1 -1
  94. package/src/sap/m/LightBoxItem.js +1 -1
  95. package/src/sap/m/Link.js +41 -5
  96. package/src/sap/m/LinkRenderer.js +18 -10
  97. package/src/sap/m/List.js +1 -1
  98. package/src/sap/m/ListBase.js +4 -1
  99. package/src/sap/m/ListItemBase.js +10 -2
  100. package/src/sap/m/MaskEnabler.js +52 -2
  101. package/src/sap/m/MaskInput.js +23 -1
  102. package/src/sap/m/MaskInputRenderer.js +10 -0
  103. package/src/sap/m/MaskInputRule.js +1 -1
  104. package/src/sap/m/Menu.js +1 -1
  105. package/src/sap/m/MenuButton.js +2 -1
  106. package/src/sap/m/MenuItem.js +1 -1
  107. package/src/sap/m/MenuListItem.js +3 -3
  108. package/src/sap/m/MessageBox.js +1020 -908
  109. package/src/sap/m/MessageItem.js +1 -1
  110. package/src/sap/m/MessageListItem.js +1 -1
  111. package/src/sap/m/MessagePage.js +1 -1
  112. package/src/sap/m/MessagePopover.js +4 -1
  113. package/src/sap/m/MessagePopoverItem.js +1 -1
  114. package/src/sap/m/MessageStrip.js +1 -1
  115. package/src/sap/m/MessageToast.js +1 -1
  116. package/src/sap/m/MessageView.js +1 -1
  117. package/src/sap/m/MultiComboBox.js +4 -4
  118. package/src/sap/m/MultiEditField.js +1 -1
  119. package/src/sap/m/MultiInput.js +8 -8
  120. package/src/sap/m/NavContainer.js +23 -19
  121. package/src/sap/m/NewsContent.js +1 -1
  122. package/src/sap/m/NotificationList.js +1 -1
  123. package/src/sap/m/NotificationListBase.js +1 -1
  124. package/src/sap/m/NotificationListGroup.js +1 -1
  125. package/src/sap/m/NotificationListItem.js +1 -1
  126. package/src/sap/m/NumericContent.js +1 -1
  127. package/src/sap/m/NumericInput.js +1 -1
  128. package/src/sap/m/ObjectAttribute.js +14 -1
  129. package/src/sap/m/ObjectAttributeRenderer.js +5 -4
  130. package/src/sap/m/ObjectHeader.js +4 -4
  131. package/src/sap/m/ObjectHeaderRenderer.js +11 -11
  132. package/src/sap/m/ObjectIdentifier.js +3 -3
  133. package/src/sap/m/ObjectListItem.js +1 -1
  134. package/src/sap/m/ObjectMarker.js +7 -4
  135. package/src/sap/m/ObjectNumber.js +1 -1
  136. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  137. package/src/sap/m/ObjectStatus.js +1 -1
  138. package/src/sap/m/OverflowToolbar.js +35 -12
  139. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +5 -0
  141. package/src/sap/m/OverflowToolbarButton.js +1 -1
  142. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  143. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  144. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  145. package/src/sap/m/P13nColumnsItem.js +1 -1
  146. package/src/sap/m/P13nColumnsPanel.js +1 -1
  147. package/src/sap/m/P13nConditionPanel.js +24 -24
  148. package/src/sap/m/P13nDialog.js +3 -1
  149. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  150. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  151. package/src/sap/m/P13nFilterItem.js +1 -1
  152. package/src/sap/m/P13nFilterPanel.js +1 -1
  153. package/src/sap/m/P13nGroupItem.js +1 -1
  154. package/src/sap/m/P13nGroupPanel.js +1 -1
  155. package/src/sap/m/P13nItem.js +1 -1
  156. package/src/sap/m/P13nPanel.js +1 -1
  157. package/src/sap/m/P13nSelectionItem.js +1 -1
  158. package/src/sap/m/P13nSelectionPanel.js +1 -1
  159. package/src/sap/m/P13nSortItem.js +1 -1
  160. package/src/sap/m/P13nSortPanel.js +1 -1
  161. package/src/sap/m/PDFViewer.js +1 -1
  162. package/src/sap/m/PDFViewerRenderer.js +1 -0
  163. package/src/sap/m/Page.js +1 -1
  164. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  165. package/src/sap/m/PagingButton.js +1 -1
  166. package/src/sap/m/Panel.js +1 -1
  167. package/src/sap/m/PlanningCalendar.js +1 -1
  168. package/src/sap/m/PlanningCalendarHeader.js +2 -2
  169. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  170. package/src/sap/m/PlanningCalendarRow.js +1 -1
  171. package/src/sap/m/PlanningCalendarView.js +1 -1
  172. package/src/sap/m/Popover.js +5 -5
  173. package/src/sap/m/PopoverRenderer.js +2 -2
  174. package/src/sap/m/ProgressIndicator.js +15 -29
  175. package/src/sap/m/ProgressIndicatorRenderer.js +12 -3
  176. package/src/sap/m/PullToRefresh.js +1 -1
  177. package/src/sap/m/QuickView.js +2 -2
  178. package/src/sap/m/QuickViewBase.js +1 -1
  179. package/src/sap/m/QuickViewCard.js +1 -1
  180. package/src/sap/m/QuickViewGroup.js +1 -1
  181. package/src/sap/m/QuickViewGroupElement.js +2 -1
  182. package/src/sap/m/QuickViewPage.js +1 -1
  183. package/src/sap/m/RadioButton.js +1 -1
  184. package/src/sap/m/RadioButtonGroup.js +2 -2
  185. package/src/sap/m/RangeSlider.js +75 -55
  186. package/src/sap/m/RangeSliderRenderer.js +34 -2
  187. package/src/sap/m/RatingIndicator.js +8 -1
  188. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  189. package/src/sap/m/ResponsivePopover.js +7 -6
  190. package/src/sap/m/ResponsiveScale.js +1 -1
  191. package/src/sap/m/ScrollBar.js +1 -1
  192. package/src/sap/m/ScrollContainer.js +1 -1
  193. package/src/sap/m/SearchField.js +1 -1
  194. package/src/sap/m/SegmentedButton.js +1 -1
  195. package/src/sap/m/SegmentedButtonItem.js +1 -1
  196. package/src/sap/m/Select.js +16 -18
  197. package/src/sap/m/SelectDialog.js +2 -2
  198. package/src/sap/m/SelectDialogBase.js +1 -1
  199. package/src/sap/m/SelectList.js +8 -8
  200. package/src/sap/m/SelectListRenderer.js +2 -2
  201. package/src/sap/m/SelectRenderer.js +37 -13
  202. package/src/sap/m/SelectionDetails.js +1 -1
  203. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  204. package/src/sap/m/SelectionDetailsItem.js +1 -1
  205. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  206. package/src/sap/m/Shell.js +1 -1
  207. package/src/sap/m/SimpleFixFlex.js +5 -6
  208. package/src/sap/m/SimpleFixFlexRenderer.js +1 -0
  209. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  211. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  212. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  213. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  214. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  215. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  216. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  217. package/src/sap/m/SlideTile.js +1 -1
  218. package/src/sap/m/Slider.js +14 -5
  219. package/src/sap/m/SliderRenderer.js +27 -2
  220. package/src/sap/m/SliderTooltip.js +1 -1
  221. package/src/sap/m/SliderTooltipBase.js +1 -1
  222. package/src/sap/m/SliderTooltipContainer.js +3 -3
  223. package/src/sap/m/SplitApp.js +1 -1
  224. package/src/sap/m/SplitButton.js +1 -1
  225. package/src/sap/m/SplitContainer.js +3 -11
  226. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  227. package/src/sap/m/StandardListItem.js +1 -1
  228. package/src/sap/m/StandardTile.js +1 -1
  229. package/src/sap/m/StandardTreeItem.js +1 -1
  230. package/src/sap/m/StepInput.js +1 -1
  231. package/src/sap/m/SuggestionItem.js +1 -1
  232. package/src/sap/m/SuggestionsPopover.js +1 -1
  233. package/src/sap/m/Switch.js +1 -1
  234. package/src/sap/m/TabContainer.js +3 -2
  235. package/src/sap/m/TabContainerItem.js +1 -1
  236. package/src/sap/m/TabStrip.js +2 -2
  237. package/src/sap/m/TabStripItem.js +1 -1
  238. package/src/sap/m/Table.js +1 -1
  239. package/src/sap/m/TablePersoController.js +2 -2
  240. package/src/sap/m/TablePersoDialog.js +2 -2
  241. package/src/sap/m/TablePersoProvider.js +2 -2
  242. package/src/sap/m/TableSelectDialog.js +2 -2
  243. package/src/sap/m/Text.js +2 -2
  244. package/src/sap/m/TextArea.js +4 -3
  245. package/src/sap/m/TextRenderer.js +2 -0
  246. package/src/sap/m/Tile.js +1 -1
  247. package/src/sap/m/TileContainer.js +6 -6
  248. package/src/sap/m/TileContent.js +9 -9
  249. package/src/sap/m/TileContentRenderer.js +1 -1
  250. package/src/sap/m/TimePicker.js +73 -18
  251. package/src/sap/m/TimePickerClock.js +1 -1
  252. package/src/sap/m/TimePickerClocks.js +5 -3
  253. package/src/sap/m/TimePickerClocksRenderer.js +1 -0
  254. package/src/sap/m/TimePickerInputs.js +1 -1
  255. package/src/sap/m/TimePickerInternals.js +1 -1
  256. package/src/sap/m/TimePickerSlider.js +1 -1
  257. package/src/sap/m/TimePickerSliders.js +1 -1
  258. package/src/sap/m/Title.js +2 -2
  259. package/src/sap/m/TitlePropagationSupport.js +1 -1
  260. package/src/sap/m/ToggleButton.js +2 -2
  261. package/src/sap/m/Token.js +1 -1
  262. package/src/sap/m/Tokenizer.js +1 -1
  263. package/src/sap/m/Toolbar.js +1 -1
  264. package/src/sap/m/ToolbarLayoutData.js +6 -2
  265. package/src/sap/m/ToolbarSeparator.js +1 -1
  266. package/src/sap/m/ToolbarSpacer.js +1 -1
  267. package/src/sap/m/Tree.js +1 -1
  268. package/src/sap/m/TreeItemBase.js +1 -1
  269. package/src/sap/m/UploadCollection.js +6 -6
  270. package/src/sap/m/UploadCollectionItem.js +1 -1
  271. package/src/sap/m/UploadCollectionParameter.js +1 -1
  272. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  273. package/src/sap/m/VBox.js +1 -1
  274. package/src/sap/m/ValueStateHeader.js +1 -1
  275. package/src/sap/m/VariantItem.js +160 -0
  276. package/src/sap/m/VariantManagement.js +610 -547
  277. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  278. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  279. package/src/sap/m/ViewSettingsDialog.js +3 -3
  280. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  281. package/src/sap/m/ViewSettingsItem.js +1 -1
  282. package/src/sap/m/VisibleItem.js +1 -1
  283. package/src/sap/m/WheelSlider.js +1 -1
  284. package/src/sap/m/WheelSliderContainer.js +1 -1
  285. package/src/sap/m/Wizard.js +1 -1
  286. package/src/sap/m/WizardProgressNavigator.js +1 -1
  287. package/src/sap/m/WizardStep.js +1 -1
  288. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  289. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  290. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  291. package/src/sap/m/changeHandler/MoveTableColumns.js +2 -2
  292. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  293. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  294. package/src/sap/m/designtime/VariantManagement.designtime.js +34 -24
  295. package/src/sap/m/designtime/messagebundle_de.properties +2 -2
  296. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  297. package/src/sap/m/inputUtils/forwardItemProperties.js +4 -0
  298. package/src/sap/m/library.js +32 -9
  299. package/src/sap/m/messagebundle.properties +33 -2
  300. package/src/sap/m/messagebundle_ar.properties +27 -12
  301. package/src/sap/m/messagebundle_bg.properties +22 -7
  302. package/src/sap/m/messagebundle_ca.properties +22 -7
  303. package/src/sap/m/messagebundle_cs.properties +24 -9
  304. package/src/sap/m/messagebundle_cy.properties +22 -7
  305. package/src/sap/m/messagebundle_da.properties +22 -7
  306. package/src/sap/m/messagebundle_de.properties +23 -8
  307. package/src/sap/m/messagebundle_el.properties +23 -8
  308. package/src/sap/m/messagebundle_en.properties +22 -7
  309. package/src/sap/m/messagebundle_en_GB.properties +22 -7
  310. package/src/sap/m/messagebundle_en_US_sappsd.properties +22 -7
  311. package/src/sap/m/messagebundle_en_US_saprigi.properties +22 -7
  312. package/src/sap/m/messagebundle_en_US_saptrc.properties +22 -7
  313. package/src/sap/m/messagebundle_es.properties +22 -7
  314. package/src/sap/m/messagebundle_es_MX.properties +22 -7
  315. package/src/sap/m/messagebundle_et.properties +22 -7
  316. package/src/sap/m/messagebundle_fi.properties +22 -7
  317. package/src/sap/m/messagebundle_fr.properties +35 -20
  318. package/src/sap/m/messagebundle_fr_CA.properties +22 -7
  319. package/src/sap/m/messagebundle_hi.properties +22 -7
  320. package/src/sap/m/messagebundle_hr.properties +26 -11
  321. package/src/sap/m/messagebundle_hu.properties +24 -9
  322. package/src/sap/m/messagebundle_id.properties +22 -7
  323. package/src/sap/m/messagebundle_it.properties +29 -14
  324. package/src/sap/m/messagebundle_iw.properties +23 -8
  325. package/src/sap/m/messagebundle_ja.properties +22 -7
  326. package/src/sap/m/messagebundle_kk.properties +22 -7
  327. package/src/sap/m/messagebundle_ko.properties +39 -24
  328. package/src/sap/m/messagebundle_lt.properties +22 -7
  329. package/src/sap/m/messagebundle_lv.properties +22 -7
  330. package/src/sap/m/messagebundle_ms.properties +22 -7
  331. package/src/sap/m/messagebundle_nl.properties +36 -21
  332. package/src/sap/m/messagebundle_no.properties +27 -12
  333. package/src/sap/m/messagebundle_pl.properties +23 -8
  334. package/src/sap/m/messagebundle_pt.properties +27 -12
  335. package/src/sap/m/messagebundle_pt_PT.properties +22 -7
  336. package/src/sap/m/messagebundle_ro.properties +23 -8
  337. package/src/sap/m/messagebundle_ru.properties +22 -7
  338. package/src/sap/m/messagebundle_sh.properties +23 -8
  339. package/src/sap/m/messagebundle_sk.properties +22 -7
  340. package/src/sap/m/messagebundle_sl.properties +24 -9
  341. package/src/sap/m/messagebundle_sv.properties +22 -7
  342. package/src/sap/m/messagebundle_th.properties +45 -30
  343. package/src/sap/m/messagebundle_tr.properties +23 -8
  344. package/src/sap/m/messagebundle_uk.properties +23 -8
  345. package/src/sap/m/messagebundle_vi.properties +22 -7
  346. package/src/sap/m/messagebundle_zh_CN.properties +24 -9
  347. package/src/sap/m/messagebundle_zh_TW.properties +26 -11
  348. package/src/sap/m/p13n/AbstractContainer.js +5 -5
  349. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  350. package/src/sap/m/p13n/BasePanel.js +4 -3
  351. package/src/sap/m/p13n/Container.js +1 -1
  352. package/src/sap/m/p13n/Engine.js +1253 -0
  353. package/src/sap/m/p13n/FlexUtil.js +162 -0
  354. package/src/sap/m/p13n/GroupController.js +145 -0
  355. package/src/sap/m/p13n/GroupPanel.js +10 -3
  356. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  357. package/src/sap/m/p13n/PersistenceProvider.js +135 -0
  358. package/src/sap/m/p13n/Popup.js +46 -9
  359. package/src/sap/m/p13n/QueryPanel.js +1 -1
  360. package/src/sap/m/p13n/SelectionController.js +563 -0
  361. package/src/sap/m/p13n/SelectionPanel.js +13 -1
  362. package/src/sap/m/p13n/SortController.js +153 -0
  363. package/src/sap/m/p13n/SortPanel.js +11 -1
  364. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  365. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  366. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  367. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  368. package/src/sap/m/p13n/modification/ModificationHandler.js +133 -0
  369. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  370. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +124 -0
  371. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  372. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  373. package/src/sap/m/p13n/modules/xConfigAPI.js +286 -0
  374. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  375. package/src/sap/m/plugins/DataStateIndicator.js +12 -4
  376. package/src/sap/m/plugins/PasteProvider.js +1 -1
  377. package/src/sap/m/plugins/PluginBase.js +2 -2
  378. package/src/sap/m/rules/DatePicker.support.js +4 -3
  379. package/src/sap/m/semantic/AddAction.js +1 -1
  380. package/src/sap/m/semantic/CancelAction.js +1 -1
  381. package/src/sap/m/semantic/DeleteAction.js +1 -1
  382. package/src/sap/m/semantic/DetailPage.js +1 -1
  383. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  384. package/src/sap/m/semantic/EditAction.js +1 -1
  385. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  386. package/src/sap/m/semantic/FilterAction.js +1 -1
  387. package/src/sap/m/semantic/FilterSelect.js +1 -1
  388. package/src/sap/m/semantic/FlagAction.js +1 -1
  389. package/src/sap/m/semantic/ForwardAction.js +1 -1
  390. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  391. package/src/sap/m/semantic/GroupAction.js +1 -1
  392. package/src/sap/m/semantic/GroupSelect.js +1 -1
  393. package/src/sap/m/semantic/MainAction.js +1 -1
  394. package/src/sap/m/semantic/MasterPage.js +1 -1
  395. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  396. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  397. package/src/sap/m/semantic/NegativeAction.js +1 -1
  398. package/src/sap/m/semantic/OpenInAction.js +1 -1
  399. package/src/sap/m/semantic/PositiveAction.js +1 -1
  400. package/src/sap/m/semantic/PrintAction.js +1 -1
  401. package/src/sap/m/semantic/SaveAction.js +1 -1
  402. package/src/sap/m/semantic/Segment.js +1 -1
  403. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  404. package/src/sap/m/semantic/SemanticButton.js +1 -1
  405. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  406. package/src/sap/m/semantic/SemanticControl.js +1 -1
  407. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +3 -3
  408. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +3 -3
  409. package/src/sap/m/semantic/SemanticPage.js +1 -1
  410. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  411. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  412. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  413. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  414. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  415. package/src/sap/m/semantic/ShareMenu.js +1 -1
  416. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  417. package/src/sap/m/semantic/SortAction.js +1 -1
  418. package/src/sap/m/semantic/SortSelect.js +1 -1
  419. package/src/sap/m/table/Util.js +8 -3
  420. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  421. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  422. package/src/sap/m/table/columnmenu/Item.js +1 -1
  423. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  424. package/src/sap/m/table/columnmenu/Menu.js +9 -3
  425. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  426. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  427. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  428. package/src/sap/m/table/columnmenu/QuickGroup.js +21 -1
  429. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  430. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  431. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  432. package/src/sap/m/table/columnmenu/QuickTotal.js +21 -1
  433. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  434. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  435. package/src/sap/m/themes/base/Breadcrumbs.less +17 -0
  436. package/src/sap/m/themes/base/CheckBox.less +2 -0
  437. package/src/sap/m/themes/base/Dialog.less +1 -2
  438. package/src/sap/m/themes/base/FeedContent.less +13 -5
  439. package/src/sap/m/themes/base/GenericTag.less +5 -3
  440. package/src/sap/m/themes/base/GenericTile.less +13 -9
  441. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  442. package/src/sap/m/themes/base/LightBox.less +0 -12
  443. package/src/sap/m/themes/base/MessageBox.less +4 -3
  444. package/src/sap/m/themes/base/NumericContent.less +1 -1
  445. package/src/sap/m/themes/base/ObjectNumber.less +5 -0
  446. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  447. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  448. package/src/sap/m/themes/base/ProgressIndicator.less +0 -4
  449. package/src/sap/m/themes/base/Select.less +1 -3
  450. package/src/sap/m/themes/base/SelectList.less +0 -5
  451. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  452. package/src/sap/m/themes/base/SlideTile.less +5 -4
  453. package/src/sap/m/themes/base/StandardListItem.less +1 -0
  454. package/src/sap/m/themes/base/Table.less +11 -1
  455. package/src/sap/m/themes/base/TimePickerClock.less +7 -0
  456. package/src/sap/m/themes/base/Title.less +1 -1
  457. package/src/sap/m/upload/UploadSet.js +98 -15
  458. package/src/sap/m/upload/UploadSetItem.js +16 -4
  459. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  460. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +2 -1
@@ -61,6 +61,11 @@ sap.ui.define(
61
61
  oRm.attr("tabindex", "-1");
62
62
  bEnabled ? oRm.class("sapMRIDisplayOnly") : oRm.class("sapMRIDisabled");
63
63
  }
64
+
65
+ if (!oControl.getIconSize()) {
66
+ oRm.class("sapMRINoCustomIconSize");
67
+ }
68
+
64
69
  oRm.class("sapMRI");
65
70
  oRm.class("sapUiRatingIndicator" + oControl._getIconSizeLabel(this._fIconSize));
66
71
 
@@ -126,7 +131,7 @@ sap.ui.define(
126
131
  oRm.openEnd();
127
132
 
128
133
  for (var i = 0; i < this._iSymbolCount; i++) {
129
- this.renderIcon("SELECTED", oRm, oControl);
134
+ this.renderIcon("SELECTED", oRm, oControl, i);
130
135
  }
131
136
 
132
137
  oRm.close("div");
@@ -149,7 +154,7 @@ sap.ui.define(
149
154
  oRm.openEnd();
150
155
 
151
156
  for (var i = 0; i < this._iSymbolCount; i++) {
152
- this.renderIcon("UNSELECTED", oRm, oControl);
157
+ this.renderIcon("UNSELECTED", oRm, oControl, i);
153
158
  }
154
159
 
155
160
  oRm.close("div");
@@ -163,7 +168,7 @@ sap.ui.define(
163
168
  oRm.openEnd();
164
169
 
165
170
  for (var i = 0; i < this._iSymbolCount; i++) {
166
- this.renderIcon("HOVERED", oRm, oControl);
171
+ this.renderIcon("HOVERED", oRm, oControl, i);
167
172
  }
168
173
  oRm.close("div");
169
174
  }
@@ -177,7 +182,7 @@ sap.ui.define(
177
182
  oRm.close("div");
178
183
  };
179
184
 
180
- RatingIndicatorRenderer.renderIcon = function(iconType, oRm, oControl) {
185
+ RatingIndicatorRenderer.renderIcon = function(iconType, oRm, oControl, iValue) {
181
186
  var sIconURI = this.getIconURI(iconType, oControl),
182
187
  sTagName = this.getIconTag(sIconURI),
183
188
  bIsIconURI = IconPool.isIconURI(sIconURI),
@@ -196,6 +201,10 @@ sap.ui.define(
196
201
  oRm.class("sapUiIcon");
197
202
  oRm.class(this.getIconClass(iconType));
198
203
 
204
+ if (iValue >= Math.ceil(oControl.getValue())) {
205
+ oRm.class("sapMRIunratedIcon");
206
+ }
207
+
199
208
  oRm.style("width", sSize);
200
209
  oRm.style("height", sSize);
201
210
  oRm.style("line-height", sSize);
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.core.Control
62
62
  *
63
63
  * @author SAP SE
64
- * @version 1.102.2
64
+ * @version 1.104.0
65
65
  *
66
66
  * @constructor
67
67
  * @public
@@ -403,7 +403,7 @@ sap.ui.define([
403
403
  //overwrite the _removeChild to detach event listener and remove delegate when the navcontainer is removed from this responsive popover
404
404
  this._oControl._removeChild = function(oChild, sAggregationName, bSuppressInvalidate){
405
405
  var aPages, i;
406
- if ((sAggregationName === "content") && (oChild instanceof sap.m.NavContainer)) {
406
+ if ((sAggregationName === "content") && (oChild && oChild.isA("sap.m.NavContainer"))) {
407
407
  aPages = oChild.getPages();
408
408
  for (i = 0 ; i < aPages.length ; i++) {
409
409
  aPages[i].removeEventDelegate(that._oPageDelegate);
@@ -495,11 +495,11 @@ sap.ui.define([
495
495
  ResponsivePopover.prototype._getSingleNavContent = function(){
496
496
  var aContent = this.getContent();
497
497
 
498
- while (aContent.length === 1 && aContent[0] instanceof sap.ui.core.mvc.View) {
498
+ while (aContent.length === 1 && aContent[0] && aContent[0].isA("sap.ui.core.mvc.View")) {
499
499
  aContent = aContent[0].getContent();
500
500
  }
501
501
 
502
- if (aContent.length === 1 && aContent[0] instanceof sap.m.NavContainer) {
502
+ if (aContent.length === 1 && aContent[0] && aContent[0].isA("sap.m.NavContainer")) {
503
503
  return aContent[0];
504
504
  } else {
505
505
  return null;
@@ -510,10 +510,10 @@ sap.ui.define([
510
510
  var oReturn = oPage, aContent;
511
511
 
512
512
  while (oReturn) {
513
- if (oReturn instanceof sap.m.Page) {
513
+ if (oReturn.isA("sap.m.Page")) {
514
514
  return oReturn;
515
515
  }
516
- if (oReturn instanceof sap.ui.core.mvc.View) {
516
+ if (oReturn.isA("sap.ui.core.mvc.View")) {
517
517
  aContent = oReturn.getContent();
518
518
  if (aContent.length === 1) {
519
519
  oReturn = aContent[0];
@@ -612,6 +612,7 @@ sap.ui.define([
612
612
  };
613
613
 
614
614
  /**
615
+ * @returns {sap.ui.core.Control}
615
616
  * @private
616
617
  */
617
618
  ResponsivePopover.prototype._getButtonFooter = function() {
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Element
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.102.2
37
+ * @version 1.104.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -25,7 +25,7 @@ function(Control, ScrollBarRenderer) {
25
25
  * care of only rendering the currently visible rows and use this <code>ScrollBar</code> control to make
26
26
  * the users think they are actually scrolling through a long list.
27
27
  * @extends sap.ui.core.Control
28
- * @version 1.102.2
28
+ * @version 1.104.0
29
29
  *
30
30
  * @private
31
31
  * @alias sap.m.ScrollBar
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.102.2
40
+ * @version 1.104.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * @extends sap.ui.core.Control
68
68
  * @implements sap.ui.core.IFormContent
69
69
  * @author SAP SE
70
- * @version 1.102.2
70
+ * @version 1.104.0
71
71
  *
72
72
  * @constructor
73
73
  * @public
@@ -55,7 +55,7 @@ function(
55
55
  * @implements sap.ui.core.IFormContent
56
56
  *
57
57
  * @author SAP SE
58
- * @version 1.102.2
58
+ * @version 1.104.0
59
59
  *
60
60
  * @constructor
61
61
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/m/Button', 'sap/ui/core/Cus
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.102.2
26
+ * @version 1.104.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -103,7 +103,7 @@ function(
103
103
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent
104
104
  *
105
105
  * @author SAP SE
106
- * @version 1.102.2
106
+ * @version 1.104.0
107
107
  *
108
108
  * @constructor
109
109
  * @public
@@ -346,7 +346,6 @@ function(
346
346
  *
347
347
  * <b>Note:</b> This property takes effect only when the <code>showSecondaryValues</code> property is set to <code>true</code>.
348
348
  * @since 1.86
349
- * @experimental As of version 1.86
350
349
  */
351
350
  columnRatio: {
352
351
  type: "sap.m.SelectColumnRatio",
@@ -829,8 +828,13 @@ function(
829
828
  oSelectedKey = this.getSelectedKey(),
830
829
  sSelectedItemText = this._getSelectedItemText();
831
830
 
831
+ // the hidden INPUT is only used when the select is submitted
832
+ // with a form so update its value in all cases
832
833
  oInput.attr("value", oSelectedKey || "");
833
- oSelect.text(sSelectedItemText);
834
+
835
+ if (!this._isIconOnly()) {
836
+ oSelect.text(sSelectedItemText);
837
+ }
834
838
  };
835
839
 
836
840
  Select.prototype._getValueIcon = function() {
@@ -2157,7 +2161,7 @@ function(
2157
2161
  for (var i = 0, oItem; i < aItems.length; i++) {
2158
2162
  oItem = aItems[i];
2159
2163
  var bTextIsRelevantString = typeof sText === "string" && sText !== "";
2160
- if (oItem.getEnabled() && !(oItem instanceof sap.ui.core.SeparatorItem) && oItem.getText().toLowerCase().startsWith(sText.toLowerCase()) && bTextIsRelevantString) {
2164
+ if (oItem.getEnabled() && !(oItem.isA("sap.ui.core.SeparatorItem")) && oItem.getText().toLowerCase().startsWith(sText.toLowerCase()) && bTextIsRelevantString) {
2161
2165
  return oItem;
2162
2166
  }
2163
2167
  }
@@ -2876,35 +2880,29 @@ function(
2876
2880
 
2877
2881
  Select.prototype.setValueState = function(sValueState) {
2878
2882
  var sOldValueState = this.getValueState(),
2883
+ oDomRef,
2879
2884
  oPicker;
2880
2885
 
2881
2886
  if (sValueState === sOldValueState) {
2882
2887
  return this;
2883
2888
  }
2884
-
2885
2889
  oPicker = this.getPicker();
2886
2890
 
2887
2891
  if (oPicker && oPicker.isA("sap.m.Popover") && oPicker.isOpen() && oPicker.oPopup.getOpenState() === OpenState.CLOSING) {
2888
2892
  oPicker.attachEventOnce("afterClose", function(oEvent) {
2889
- return this._finishSettingValueState(sValueState);
2893
+ this._updatePickerAriaLabelledBy(sValueState);
2890
2894
  }, this);
2891
2895
  } else {
2892
- return this._finishSettingValueState(sValueState);
2896
+ this._updatePickerAriaLabelledBy(sValueState);
2893
2897
  }
2894
2898
 
2895
- };
2896
-
2897
- Select.prototype._finishSettingValueState = function(sValueState) {
2898
-
2899
2899
  this.setProperty("valueState", sValueState);
2900
2900
 
2901
- this._updatePickerAriaLabelledBy(sValueState);
2902
-
2903
2901
  if (this._isFocused()) {
2904
2902
  this._announceValueStateText();
2905
2903
  }
2906
2904
 
2907
- var oDomRef = this.getDomRefForValueState();
2905
+ oDomRef = this.getDomRefForValueState();
2908
2906
 
2909
2907
  if (!oDomRef) {
2910
2908
  return this;
@@ -2946,7 +2944,7 @@ function(
2946
2944
  * Gets the item from the aggregation named <code>items</code> at the given 0-based index.
2947
2945
  *
2948
2946
  * @param {int} iIndex Index of the item to return.
2949
- * @returns {sap.ui.core.Item | null} Item at the given index, or null if none.
2947
+ * @returns {sap.ui.core.Item | null} Item at the given index, or <code>null</code> if none.
2950
2948
  * @public
2951
2949
  * @since 1.16
2952
2950
  */
@@ -2968,7 +2966,7 @@ function(
2968
2966
  /**
2969
2967
  * Gets the first item from the aggregation named <code>items</code>.
2970
2968
  *
2971
- * @returns {sap.ui.core.Item | null} The first item, or null if there are no items.
2969
+ * @returns {sap.ui.core.Item | null} The first item, or <code>null</code> if there are no items.
2972
2970
  * @public
2973
2971
  * @since 1.16
2974
2972
  */
@@ -2979,7 +2977,7 @@ function(
2979
2977
  /**
2980
2978
  * Gets the last item from the aggregation named <code>items</code>.
2981
2979
  *
2982
- * @returns {sap.ui.core.Item | null} The last item, or null if there are no items.
2980
+ * @returns {sap.ui.core.Item | null} The last item, or <code>null</code> if there are no items.
2983
2981
  * @public
2984
2982
  * @since 1.16
2985
2983
  */
@@ -3020,7 +3018,7 @@ function(
3020
3018
  * Removes an item from the aggregation named <code>items</code>.
3021
3019
  *
3022
3020
  * @param {int | string | sap.ui.core.Item} vItem The item to be removed or its index or ID.
3023
- * @returns {sap.ui.core.Item} The removed item or null.
3021
+ * @returns {sap.ui.core.Item|null} The removed item or <code>null</code>.
3024
3022
  * @public
3025
3023
  */
3026
3024
  Select.prototype.removeItem = function(vItem) {
@@ -119,7 +119,7 @@ function(
119
119
  * @extends sap.m.SelectDialogBase
120
120
  *
121
121
  * @author SAP SE
122
- * @version 1.102.2
122
+ * @version 1.104.0
123
123
  *
124
124
  * @constructor
125
125
  * @public
@@ -848,7 +848,7 @@ function(
848
848
  * Forward method to the inner dialog: getDomRef
849
849
  * @public
850
850
  * @override
851
- * @return {Element} The Element's DOM Element sub DOM Element or null
851
+ * @returns {Element|null} The Element's DOM Element, sub DOM Element or <code>null</code>
852
852
  */
853
853
  SelectDialog.prototype.getDomRef = function () {
854
854
  if (this._oDialog) {
@@ -27,7 +27,7 @@ function(
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.102.2
30
+ * @version 1.104.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.102.2
40
+ * @version 1.104.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -785,7 +785,7 @@ sap.ui.define([
785
785
  *
786
786
  * @param {string} sProperty An item property.
787
787
  * @param {string} sValue An item value that specifies the item to retrieve.
788
- * @returns {sap.ui.core.Item | null} The matched item or null.
788
+ * @returns {sap.ui.core.Item | null} The matched item or <code>null</code>.
789
789
  * @protected
790
790
  */
791
791
  SelectList.prototype.findItem = function(sProperty, sValue) {
@@ -806,7 +806,7 @@ sap.ui.define([
806
806
  * <code>Note: </code> If duplicate values exist, the first item matching the value is returned.
807
807
  *
808
808
  * @param {string} sText An item value that specifies the item to retrieve.
809
- * @returns {sap.ui.core.Item | null} The matched item or null.
809
+ * @returns {sap.ui.core.Item | null} The matched item or <code>null</code>.
810
810
  * @protected
811
811
  */
812
812
  SelectList.prototype.getItemByText = function(sText) {
@@ -1001,7 +1001,7 @@ sap.ui.define([
1001
1001
  * Gets the item from the aggregation named <code>items</code> at the given 0-based index.
1002
1002
  *
1003
1003
  * @param {int} iIndex Index of the item to return.
1004
- * @returns {sap.ui.core.Item | null} Item at the given index, or null if none.
1004
+ * @returns {sap.ui.core.Item | null} Item at the given index, or <code>null</code> if none.
1005
1005
  * @public
1006
1006
  */
1007
1007
  SelectList.prototype.getItemAt = function(iIndex) {
@@ -1011,7 +1011,7 @@ sap.ui.define([
1011
1011
  /**
1012
1012
  * Gets the first item from the aggregation named <code>items</code>.
1013
1013
  *
1014
- * @returns {sap.ui.core.Item | null} The first item, or null if there are no items.
1014
+ * @returns {sap.ui.core.Item | null} The first item, or <code>null</code> if there are no items.
1015
1015
  * @public
1016
1016
  */
1017
1017
  SelectList.prototype.getFirstItem = function() {
@@ -1021,7 +1021,7 @@ sap.ui.define([
1021
1021
  /**
1022
1022
  * Gets the enabled items from the aggregation named <code>items</code>.
1023
1023
  *
1024
- * @returns {sap.ui.core.Item | null} The last item, or null if there are no items.
1024
+ * @returns {sap.ui.core.Item | null} The last item, or <code>null</code> if there are no items.
1025
1025
  * @public
1026
1026
  */
1027
1027
  SelectList.prototype.getLastItem = function() {
@@ -1049,7 +1049,7 @@ sap.ui.define([
1049
1049
  * <b>Note: </b> If duplicate keys exists, the first item matching the key is returned.
1050
1050
  *
1051
1051
  * @param {string} sKey An item key that specifies the item to retrieve.
1052
- * @returns {sap.ui.core.Item | null} The matched item or null
1052
+ * @returns {sap.ui.core.Item | null} The matched item or <code>null</code>
1053
1053
  * @public
1054
1054
  */
1055
1055
  SelectList.prototype.getItemByKey = function(sKey) {
@@ -1060,7 +1060,7 @@ sap.ui.define([
1060
1060
  * Removes an item from the aggregation named <code>items</code>.
1061
1061
  *
1062
1062
  * @param {int | string | sap.ui.core.Item} vItem The item to remove or its index or id.
1063
- * @returns {sap.ui.core.Item} The removed item or null.
1063
+ * @returns {sap.ui.core.Item|null} The removed item or <code>null</code>.
1064
1064
  * @public
1065
1065
  */
1066
1066
  SelectList.prototype.removeItem = function(vItem) {
@@ -97,7 +97,7 @@ sap.ui.define(["sap/ui/core/Element", "sap/ui/core/library", "sap/ui/core/Icon",
97
97
  elementData: true
98
98
  };
99
99
 
100
- if (!(aItems[i] instanceof sap.ui.core.SeparatorItem) && aItems[i].getEnabled()) {
100
+ if (!(aItems[i] && aItems[i].isA("sap.ui.core.SeparatorItem")) && aItems[i].getEnabled()) {
101
101
  oItemStates.posinset = iCurrentPosInSet++;
102
102
  }
103
103
 
@@ -145,7 +145,7 @@ sap.ui.define(["sap/ui/core/Element", "sap/ui/core/library", "sap/ui/core/Icon",
145
145
  oRm.class("sapMSelectListItemWithIcon");
146
146
  }
147
147
 
148
- if (oItem instanceof sap.ui.core.SeparatorItem) {
148
+ if (oItem.isA("sap.ui.core.SeparatorItem")) {
149
149
  oRm.class(CSS_CLASS + "SeparatorItem");
150
150
 
151
151
  if (bShowSecondaryValues) {
@@ -129,8 +129,7 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
129
129
  */
130
130
  SelectRenderer.renderFocusElement = function (oRm, oSelect) {
131
131
  var oSelectedItem = oSelect.getSelectedItem(),
132
- sTooltip = oSelect.getTooltip_AsString(),
133
- sType = oSelect.getType();
132
+ bIconOnly = oSelect.getType() === SelectType.IconOnly;
134
133
 
135
134
  oRm.openStart("div", oSelect.getId() + "-hiddenSelect");
136
135
 
@@ -145,25 +144,50 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
145
144
  oRm.attr("tabindex", "0");
146
145
  }
147
146
 
148
- if (sTooltip) {
149
- oRm.attr("title", sTooltip);
150
- } else if (sType === SelectType.IconOnly) {
151
- var oIconInfo = IconPool.getIconInfo(oSelect.getIcon());
152
-
153
- if (oIconInfo) {
154
- oRm.attr("title", oIconInfo.text);
155
- }
156
- }
147
+ this.renderTooltip(oRm, oSelect);
157
148
 
158
149
  oRm.openEnd();
159
150
 
160
- if (oSelectedItem) {
151
+ if (oSelectedItem && !bIconOnly) {
152
+ // if icon only mode, the control is announced as standard
153
+ // button and the selected value is not rendered
161
154
  oRm.text(oSelectedItem.getText());
162
155
  }
163
156
 
164
157
  oRm.close('div');
165
158
  };
166
159
 
160
+ /**
161
+ * Generates and renders the tooltip text. Icon only aware.
162
+ *
163
+ * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
164
+ * @param {sap.m.Select} oSelect An object representation of the Select control.
165
+ * @private
166
+ */
167
+ SelectRenderer.renderTooltip = function (oRm, oSelect) {
168
+ var oIconInfo,
169
+ sTooltip = oSelect.getTooltip_AsString(),
170
+ bIconOnly = oSelect.getType() === SelectType.IconOnly;
171
+
172
+ if (!sTooltip && bIconOnly) {
173
+ oIconInfo = IconPool.getIconInfo(oSelect.getIcon());
174
+ if (oIconInfo) {
175
+ sTooltip = oIconInfo.text;
176
+ }
177
+ }
178
+
179
+ if (!sTooltip) {
180
+ return;
181
+ }
182
+
183
+ oRm.attr("title", sTooltip);
184
+
185
+ if (bIconOnly) {
186
+ // if in IconOnly mode, similarly to sap.m.Button the tooltip should also be part of the accessibleName
187
+ oRm.attr("aria-label", sTooltip);
188
+ }
189
+ };
190
+
167
191
  /**
168
192
  * Renders the input element, which receives the name and value attributes. This is needed because when select is inside a form
169
193
  * submitted by input[type="submit"] the attributes will be taken from this input.
@@ -426,7 +450,7 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/IconPool', 'sap/m/library',
426
450
 
427
451
  oRm.accessibilityState(null, {
428
452
  role: this.getAriaRole(oSelect),
429
- roledescription: oSelect._sAriaRoleDescription,
453
+ roledescription: bIconOnly ? undefined : oSelect._sAriaRoleDescription,
430
454
  readonly: bIconOnly ? undefined : oSelect.getEnabled() && !oSelect.getEditable(),
431
455
  required: oSelect._isRequired() || undefined,
432
456
  disabled: !oSelect.getEnabled() || undefined,
@@ -37,7 +37,7 @@ function(
37
37
  * <b><i>Note:</i></b>It is protected and should only be used within the framework itself.
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.102.2
40
+ * @version 1.104.0
41
41
  *
42
42
  * @extends sap.ui.core.Control
43
43
  * @constructor
@@ -10,7 +10,7 @@
10
10
  * @since 1.48.0
11
11
  * @public
12
12
  * @author SAP SE
13
- * @version 1.102.2
13
+ * @version 1.104.0
14
14
  * @borrows sap.ui.core.Element#addCustomData as #addCustomData
15
15
  * @borrows sap.ui.core.Element#getCustomData as #getCustomData
16
16
  * @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
@@ -45,7 +45,7 @@
45
45
  * @since 1.48.0
46
46
  * @public
47
47
  * @author SAP SE
48
- * @version 1.102.2
48
+ * @version 1.104.0
49
49
  * @borrows sap.ui.core.Element#addCustomData as #addCustomData
50
50
  * @borrows sap.ui.core.Element#getCustomData as #getCustomData
51
51
  * @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Element
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.102.2
61
+ * @version 1.104.0
62
62
  *
63
63
  * @constructor
64
64
  * @protected
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/Element", "sap/base/Log", "sap/base/util/isPlainObje
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.102.2
26
+ * @version 1.104.0
27
27
  *
28
28
  * @constructor
29
29
  * @protected
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * The Shell control can be used as root element of applications. It can contain an App or a <code>SplitApp</code> control.
36
36
  * The Shell provides some overarching functionality for the overall application and takes care of visual adaptation, such as a frame around the App, on desktop browser platforms.
37
37
  * @extends sap.ui.core.Control
38
- * @version 1.102.2
38
+ * @version 1.104.0
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -31,7 +31,7 @@ function (Control, ResizeHandler, Log /**, SimpleFixFlexRenderer */) {
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.102.2
34
+ * @version 1.104.0
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -39,7 +39,7 @@ function (Control, ResizeHandler, Log /**, SimpleFixFlexRenderer */) {
39
39
  * @alias sap.m.SimpleFixFlex
40
40
  * @ui5-metamodel This control will also be described in the UI5 (legacy) design time meta model.
41
41
  */
42
- var SimpleFixFlex = Control.extend("sap.m.SimpleFixFlex", /** @lends sap.m.SimpleFixFlex */ {
42
+ var SimpleFixFlex = Control.extend("sap.m.SimpleFixFlex", /** @lends sap.m.SimpleFixFlex.prototype */ {
43
43
 
44
44
  metadata: {
45
45
  library: "sap.m",
@@ -120,10 +120,9 @@ function (Control, ResizeHandler, Log /**, SimpleFixFlexRenderer */) {
120
120
  return null;
121
121
  }
122
122
 
123
- //using clientHeight as jQuery's innerHeight() method returns the height
124
- //even if the fix content has style of "display: none;"
125
- $simpleFixFlex.css("padding-top", oFixedDom.clientHeight);
126
- $fixContent.addClass("sapUiSimpleFixFlexFixedWrap");
123
+ //using clientHeight as jQuery's innerHeight() method returns the height
124
+ //even if the fix content has style of "display: none;"
125
+ $simpleFixFlex.css("padding-top", oFixedDom.clientHeight);
127
126
  };
128
127
 
129
128
  SimpleFixFlex.prototype.exit = function() {
@@ -29,6 +29,7 @@ sap.ui.define([],
29
29
  oRm.openEnd();
30
30
 
31
31
  if (oFixContent) {
32
+ oFixContent.toggleStyleClass("sapUiSimpleFixFlexFixedWrap", oControl.getFitParent());
32
33
  oRm.renderControl(oFixContent.addStyleClass('sapUiSimpleFixFlexFixed'));
33
34
  }
34
35
 
@@ -104,7 +104,7 @@ function(
104
104
  * @extends sap.ui.core.Control
105
105
  *
106
106
  * @author SAP SE
107
- * @version 1.102.2
107
+ * @version 1.104.0
108
108
  *
109
109
  * @constructor
110
110
  * @public
@@ -25,7 +25,7 @@ function (library, SinglePlanningCalendarView) {
25
25
  * @extends sap.m.SinglePlanningCalendarView
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.102.2
28
+ * @version 1.104.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -106,7 +106,7 @@ sap.ui.define([
106
106
  * @extends sap.ui.core.Control
107
107
  *
108
108
  * @author SAP SE
109
- * @version 1.102.2
109
+ * @version 1.104.0
110
110
  *
111
111
  * @constructor
112
112
  * @private
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @extends sap.ui.core.Control
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.102.2
86
+ * @version 1.104.0
87
87
  *
88
88
  * @constructor
89
89
  * @private
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.m.SinglePlanningCalendarView
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.102.2
31
+ * @version 1.104.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -26,7 +26,7 @@ function (library, Log, Element) {
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.102.2
29
+ * @version 1.104.0
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -28,7 +28,7 @@ function (library, SinglePlanningCalendarView, LocaleData, CalendarDate, Calenda
28
28
  * @extends sap.m.SinglePlanningCalendarView
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.102.2
31
+ * @version 1.104.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -28,7 +28,7 @@ function (library, SinglePlanningCalendarView, CalendarDate, CalendarUtils, Loca
28
28
  * @extends sap.m.SinglePlanningCalendarView
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.102.2
31
+ * @version 1.104.0
32
32
  *
33
33
  * @constructor
34
34
  * @public