@openui5/sap.m 1.93.1 → 1.96.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 (497) hide show
  1. package/.reuse/dep5 +11 -11
  2. package/THIRDPARTY.txt +20 -17
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +1 -1
  9. package/src/sap/m/App.js +5 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -4
  12. package/src/sap/m/Bar.js +13 -7
  13. package/src/sap/m/Breadcrumbs.js +2 -2
  14. package/src/sap/m/BusyDialog.js +1 -1
  15. package/src/sap/m/BusyIndicator.js +1 -1
  16. package/src/sap/m/Button.js +34 -1
  17. package/src/sap/m/Carousel.js +11 -3
  18. package/src/sap/m/CarouselLayout.js +1 -1
  19. package/src/sap/m/CheckBox.js +1 -1
  20. package/src/sap/m/CheckBoxRenderer.js +12 -3
  21. package/src/sap/m/ColorPalette.js +7 -11
  22. package/src/sap/m/ColorPalettePopover.js +1 -6
  23. package/src/sap/m/Column.js +6 -1
  24. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  25. package/src/sap/m/ColumnListItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  31. package/src/sap/m/ComboBox.js +1 -1
  32. package/src/sap/m/ComboBoxBase.js +5 -2
  33. package/src/sap/m/ComboBoxRenderer.js +25 -9
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/CustomDynamicDateOption.js +14 -2
  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 +27 -10
  40. package/src/sap/m/DatePickerRenderer.js +1 -1
  41. package/src/sap/m/DateRangeSelection.js +6 -9
  42. package/src/sap/m/DateTimeField.js +1 -1
  43. package/src/sap/m/DateTimeInput.js +1 -1
  44. package/src/sap/m/DateTimePicker.js +6 -9
  45. package/src/sap/m/Dialog.js +44 -127
  46. package/src/sap/m/DialogRenderer.js +1 -1
  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 +15 -6
  50. package/src/sap/m/DynamicDateOption.js +58 -17
  51. package/src/sap/m/DynamicDateRange.js +47 -10
  52. package/src/sap/m/DynamicDateUtil.js +6 -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 +47 -16
  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 +1 -1
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +1 -1
  67. package/src/sap/m/GenericTile.js +217 -52
  68. package/src/sap/m/GenericTileRenderer.js +218 -83
  69. package/src/sap/m/GroupHeaderListItem.js +1 -1
  70. package/src/sap/m/GrowingList.js +1 -1
  71. package/src/sap/m/HBox.js +1 -1
  72. package/src/sap/m/HeaderContainer.js +53 -1
  73. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  74. package/src/sap/m/IconTabBar.js +8 -1
  75. package/src/sap/m/IconTabBarSelectList.js +1 -1
  76. package/src/sap/m/IconTabFilter.js +8 -6
  77. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  78. package/src/sap/m/IconTabHeader.js +16 -4
  79. package/src/sap/m/IconTabSeparator.js +1 -1
  80. package/src/sap/m/Image.js +1 -1
  81. package/src/sap/m/ImageContent.js +1 -1
  82. package/src/sap/m/Input.js +124 -28
  83. package/src/sap/m/InputBase.js +16 -7
  84. package/src/sap/m/InputListItem.js +1 -1
  85. package/src/sap/m/Label.js +1 -1
  86. package/src/sap/m/LightBox.js +2 -2
  87. package/src/sap/m/LightBoxItem.js +1 -1
  88. package/src/sap/m/Link.js +1 -1
  89. package/src/sap/m/List.js +1 -1
  90. package/src/sap/m/ListBase.js +12 -5
  91. package/src/sap/m/ListItemBase.js +16 -16
  92. package/src/sap/m/MaskEnabler.js +106 -4
  93. package/src/sap/m/MaskInput.js +19 -4
  94. package/src/sap/m/MaskInputRule.js +1 -1
  95. package/src/sap/m/Menu.js +8 -6
  96. package/src/sap/m/MenuButton.js +20 -3
  97. package/src/sap/m/MenuButtonRenderer.js +1 -0
  98. package/src/sap/m/MenuItem.js +1 -1
  99. package/src/sap/m/MenuListItem.js +1 -1
  100. package/src/sap/m/MessageBox.js +1 -1
  101. package/src/sap/m/MessageItem.js +1 -1
  102. package/src/sap/m/MessageListItem.js +1 -1
  103. package/src/sap/m/MessagePage.js +1 -1
  104. package/src/sap/m/MessagePopover.js +1 -1
  105. package/src/sap/m/MessagePopoverItem.js +1 -1
  106. package/src/sap/m/MessageStrip.js +7 -3
  107. package/src/sap/m/MessageStripRenderer.js +2 -2
  108. package/src/sap/m/MessageToast.js +1 -1
  109. package/src/sap/m/MessageView.js +5 -5
  110. package/src/sap/m/MultiComboBox.js +333 -114
  111. package/src/sap/m/MultiEditField.js +1 -1
  112. package/src/sap/m/MultiInput.js +55 -6
  113. package/src/sap/m/NavContainer.js +24 -7
  114. package/src/sap/m/NewsContent.js +19 -10
  115. package/src/sap/m/NewsContentRenderer.js +1 -2
  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/NumericContentRenderer.js +34 -17
  122. package/src/sap/m/ObjectAttribute.js +46 -5
  123. package/src/sap/m/ObjectHeader.js +1 -1
  124. package/src/sap/m/ObjectHeaderRenderer.js +6 -7
  125. package/src/sap/m/ObjectIdentifier.js +1 -1
  126. package/src/sap/m/ObjectListItem.js +1 -1
  127. package/src/sap/m/ObjectMarker.js +1 -1
  128. package/src/sap/m/ObjectNumber.js +13 -1
  129. package/src/sap/m/ObjectStatus.js +1 -1
  130. package/src/sap/m/ObjectStatusRenderer.js +4 -1
  131. package/src/sap/m/OverflowToolbar.js +3 -5
  132. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  133. package/src/sap/m/OverflowToolbarButton.js +4 -2
  134. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  135. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  136. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  137. package/src/sap/m/P13nColumnsItem.js +1 -1
  138. package/src/sap/m/P13nColumnsPanel.js +3 -3
  139. package/src/sap/m/P13nConditionPanel.js +23 -53
  140. package/src/sap/m/P13nDialog.js +1 -1
  141. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  142. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  143. package/src/sap/m/P13nFilterItem.js +1 -1
  144. package/src/sap/m/P13nFilterPanel.js +1 -3
  145. package/src/sap/m/P13nGroupItem.js +1 -1
  146. package/src/sap/m/P13nGroupPanel.js +1 -3
  147. package/src/sap/m/P13nItem.js +1 -1
  148. package/src/sap/m/P13nPanel.js +1 -1
  149. package/src/sap/m/P13nSelectionItem.js +1 -1
  150. package/src/sap/m/P13nSelectionPanel.js +1 -1
  151. package/src/sap/m/P13nSortItem.js +1 -1
  152. package/src/sap/m/P13nSortPanel.js +1 -3
  153. package/src/sap/m/PDFViewer.js +14 -5
  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 +139 -41
  159. package/src/sap/m/PlanningCalendarHeader.js +1 -6
  160. package/src/sap/m/PlanningCalendarLegend.js +1 -6
  161. package/src/sap/m/PlanningCalendarLegendRenderer.js +2 -5
  162. package/src/sap/m/PlanningCalendarRow.js +1 -1
  163. package/src/sap/m/PlanningCalendarView.js +1 -6
  164. package/src/sap/m/Popover.js +5 -5
  165. package/src/sap/m/PopoverRenderer.js +3 -2
  166. package/src/sap/m/ProgressIndicator.js +1 -1
  167. package/src/sap/m/PullToRefresh.js +1 -1
  168. package/src/sap/m/QuickView.js +1 -1
  169. package/src/sap/m/QuickViewBase.js +1 -1
  170. package/src/sap/m/QuickViewCard.js +1 -1
  171. package/src/sap/m/QuickViewGroup.js +1 -1
  172. package/src/sap/m/QuickViewGroupElement.js +1 -1
  173. package/src/sap/m/QuickViewPage.js +1 -1
  174. package/src/sap/m/RadioButton.js +1 -1
  175. package/src/sap/m/RadioButtonGroup.js +1 -1
  176. package/src/sap/m/RangeSlider.js +1 -1
  177. package/src/sap/m/RatingIndicator.js +10 -8
  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 +6 -34
  183. package/src/sap/m/SearchFieldRenderer.js +16 -12
  184. package/src/sap/m/SegmentedButton.js +12 -17
  185. package/src/sap/m/SegmentedButtonItem.js +1 -1
  186. package/src/sap/m/SegmentedButtonRenderer.js +6 -0
  187. package/src/sap/m/Select.js +18 -8
  188. package/src/sap/m/SelectDialog.js +1 -1
  189. package/src/sap/m/SelectDialogBase.js +1 -1
  190. package/src/sap/m/SelectList.js +1 -1
  191. package/src/sap/m/SelectRenderer.js +10 -1
  192. package/src/sap/m/SelectionDetails.js +7 -9
  193. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  194. package/src/sap/m/SelectionDetailsItem.js +8 -4
  195. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  196. package/src/sap/m/Shell.js +9 -17
  197. package/src/sap/m/SimpleFixFlex.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendar.js +7 -10
  199. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarGrid.js +15 -13
  201. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +17 -7
  202. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
  203. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +4 -6
  204. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
  205. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
  207. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
  208. package/src/sap/m/SlideTile.js +31 -3
  209. package/src/sap/m/SlideTileRenderer.js +9 -0
  210. package/src/sap/m/Slider.js +1 -1
  211. package/src/sap/m/SliderTooltip.js +1 -1
  212. package/src/sap/m/SliderTooltipBase.js +1 -1
  213. package/src/sap/m/SliderTooltipContainer.js +1 -1
  214. package/src/sap/m/SplitApp.js +1 -1
  215. package/src/sap/m/SplitButton.js +3 -7
  216. package/src/sap/m/SplitButtonRenderer.js +5 -1
  217. package/src/sap/m/SplitContainer.js +13 -8
  218. package/src/sap/m/StandardDynamicDateOption.js +50 -12
  219. package/src/sap/m/StandardListItem.js +69 -26
  220. package/src/sap/m/StandardListItemRenderer.js +21 -9
  221. package/src/sap/m/StandardTile.js +1 -1
  222. package/src/sap/m/StandardTreeItem.js +1 -1
  223. package/src/sap/m/StepInput.js +28 -13
  224. package/src/sap/m/Suggest.js +25 -25
  225. package/src/sap/m/SuggestionItem.js +1 -7
  226. package/src/sap/m/SuggestionsPopover.js +44 -1
  227. package/src/sap/m/Switch.js +9 -1
  228. package/src/sap/m/TabContainer.js +1 -1
  229. package/src/sap/m/TabContainerItem.js +1 -1
  230. package/src/sap/m/TabStrip.js +1 -1
  231. package/src/sap/m/TabStripItem.js +1 -1
  232. package/src/sap/m/Table.js +2 -4
  233. package/src/sap/m/TablePersoController.js +1 -1
  234. package/src/sap/m/TablePersoDialog.js +1 -1
  235. package/src/sap/m/TablePersoProvider.js +1 -1
  236. package/src/sap/m/TableRenderer.js +3 -3
  237. package/src/sap/m/TableSelectDialog.js +1 -1
  238. package/src/sap/m/Text.js +1 -1
  239. package/src/sap/m/TextArea.js +2 -2
  240. package/src/sap/m/Tile.js +1 -1
  241. package/src/sap/m/TileContainer.js +1 -1
  242. package/src/sap/m/TileContent.js +22 -4
  243. package/src/sap/m/TileContentRenderer.js +73 -5
  244. package/src/sap/m/TimePicker.js +4 -3
  245. package/src/sap/m/TimePickerClock.js +2 -2
  246. package/src/sap/m/TimePickerClocks.js +2 -1
  247. package/src/sap/m/TimePickerInputs.js +3 -3
  248. package/src/sap/m/TimePickerInternals.js +1 -1
  249. package/src/sap/m/TimePickerSlider.js +2 -2
  250. package/src/sap/m/TimePickerSliders.js +1 -1
  251. package/src/sap/m/TimePickerSlidersRenderer.js +0 -1
  252. package/src/sap/m/Title.js +1 -1
  253. package/src/sap/m/TitlePropagationSupport.js +1 -1
  254. package/src/sap/m/ToggleButton.js +1 -1
  255. package/src/sap/m/Token.js +1 -1
  256. package/src/sap/m/Tokenizer.js +46 -3
  257. package/src/sap/m/TokenizerRenderer.js +5 -0
  258. package/src/sap/m/Toolbar.js +1 -1
  259. package/src/sap/m/ToolbarLayoutData.js +1 -1
  260. package/src/sap/m/ToolbarSeparator.js +1 -1
  261. package/src/sap/m/ToolbarSpacer.js +1 -1
  262. package/src/sap/m/Tree.js +1 -1
  263. package/src/sap/m/TreeItemBase.js +1 -1
  264. package/src/sap/m/UploadCollection.js +2 -7
  265. package/src/sap/m/UploadCollectionItem.js +1 -1
  266. package/src/sap/m/UploadCollectionParameter.js +1 -1
  267. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  268. package/src/sap/m/VBox.js +1 -1
  269. package/src/sap/m/ValueStateHeader.js +1 -1
  270. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  271. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  272. package/src/sap/m/ViewSettingsDialog.js +1 -1
  273. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  274. package/src/sap/m/ViewSettingsItem.js +1 -1
  275. package/src/sap/m/VisibleItem.js +1 -1
  276. package/src/sap/m/WheelSlider.js +2 -2
  277. package/src/sap/m/WheelSliderContainer.js +1 -1
  278. package/src/sap/m/Wizard.js +2 -1
  279. package/src/sap/m/WizardProgressNavigator.js +1 -1
  280. package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
  281. package/src/sap/m/WizardStep.js +1 -1
  282. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  283. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  284. package/src/sap/m/changeHandler/CombineButtons.js +16 -17
  285. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  286. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +86 -0
  287. package/src/sap/m/changeHandler/SplitMenuButton.js +12 -6
  288. package/src/sap/m/delegate/DateNavigation.js +4 -5
  289. package/src/sap/m/designtime/IconTabBar.designtime.js +85 -2
  290. package/src/sap/m/designtime/IconTabBarSelectTab.fragment.xml +17 -0
  291. package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
  292. package/src/sap/m/designtime/ObjectIdentifier.designtime.js +16 -12
  293. package/src/sap/m/designtime/messagebundle.properties +9 -0
  294. package/src/sap/m/designtime/messagebundle_ar.properties +6 -0
  295. package/src/sap/m/designtime/messagebundle_bg.properties +6 -0
  296. package/src/sap/m/designtime/messagebundle_ca.properties +6 -0
  297. package/src/sap/m/designtime/messagebundle_cs.properties +6 -0
  298. package/src/sap/m/designtime/messagebundle_cy.properties +6 -0
  299. package/src/sap/m/designtime/messagebundle_da.properties +6 -0
  300. package/src/sap/m/designtime/messagebundle_de.properties +8 -2
  301. package/src/sap/m/designtime/messagebundle_el.properties +6 -0
  302. package/src/sap/m/designtime/messagebundle_en.properties +6 -0
  303. package/src/sap/m/designtime/messagebundle_en_GB.properties +6 -0
  304. package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +6 -0
  305. package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
  306. package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +6 -0
  307. package/src/sap/m/designtime/messagebundle_es.properties +6 -0
  308. package/src/sap/m/designtime/messagebundle_es_MX.properties +6 -0
  309. package/src/sap/m/designtime/messagebundle_et.properties +6 -0
  310. package/src/sap/m/designtime/messagebundle_fi.properties +6 -0
  311. package/src/sap/m/designtime/messagebundle_fr.properties +6 -0
  312. package/src/sap/m/designtime/messagebundle_fr_CA.properties +6 -0
  313. package/src/sap/m/designtime/messagebundle_hi.properties +6 -0
  314. package/src/sap/m/designtime/messagebundle_hr.properties +6 -0
  315. package/src/sap/m/designtime/messagebundle_hu.properties +6 -0
  316. package/src/sap/m/designtime/messagebundle_id.properties +6 -0
  317. package/src/sap/m/designtime/messagebundle_it.properties +6 -0
  318. package/src/sap/m/designtime/messagebundle_iw.properties +6 -0
  319. package/src/sap/m/designtime/messagebundle_ja.properties +6 -0
  320. package/src/sap/m/designtime/messagebundle_kk.properties +6 -0
  321. package/src/sap/m/designtime/messagebundle_ko.properties +6 -0
  322. package/src/sap/m/designtime/messagebundle_lt.properties +6 -0
  323. package/src/sap/m/designtime/messagebundle_lv.properties +6 -0
  324. package/src/sap/m/designtime/messagebundle_ms.properties +6 -0
  325. package/src/sap/m/designtime/messagebundle_nl.properties +6 -0
  326. package/src/sap/m/designtime/messagebundle_no.properties +6 -0
  327. package/src/sap/m/designtime/messagebundle_pl.properties +6 -0
  328. package/src/sap/m/designtime/messagebundle_pt.properties +6 -0
  329. package/src/sap/m/designtime/messagebundle_pt_PT.properties +6 -0
  330. package/src/sap/m/designtime/messagebundle_ro.properties +6 -0
  331. package/src/sap/m/designtime/messagebundle_ru.properties +6 -0
  332. package/src/sap/m/designtime/messagebundle_sh.properties +6 -0
  333. package/src/sap/m/designtime/messagebundle_sk.properties +6 -0
  334. package/src/sap/m/designtime/messagebundle_sl.properties +6 -0
  335. package/src/sap/m/designtime/messagebundle_sv.properties +6 -0
  336. package/src/sap/m/designtime/messagebundle_th.properties +6 -0
  337. package/src/sap/m/designtime/messagebundle_tr.properties +6 -0
  338. package/src/sap/m/designtime/messagebundle_uk.properties +6 -0
  339. package/src/sap/m/designtime/messagebundle_vi.properties +6 -0
  340. package/src/sap/m/designtime/messagebundle_zh_CN.properties +6 -0
  341. package/src/sap/m/designtime/messagebundle_zh_TW.properties +6 -0
  342. package/src/sap/m/flexibility/IconTabBar.flexibility.js +21 -0
  343. package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
  344. package/src/sap/m/inputUtils/ListHelpers.js +16 -3
  345. package/src/sap/m/library.js +60 -34
  346. package/src/sap/m/messagebundle.properties +59 -7
  347. package/src/sap/m/messagebundle_ar.properties +13 -5
  348. package/src/sap/m/messagebundle_bg.properties +13 -5
  349. package/src/sap/m/messagebundle_ca.properties +13 -5
  350. package/src/sap/m/messagebundle_cs.properties +24 -16
  351. package/src/sap/m/messagebundle_cy.properties +13 -5
  352. package/src/sap/m/messagebundle_da.properties +14 -6
  353. package/src/sap/m/messagebundle_de.properties +14 -6
  354. package/src/sap/m/messagebundle_el.properties +14 -6
  355. package/src/sap/m/messagebundle_en.properties +10 -2
  356. package/src/sap/m/messagebundle_en_GB.properties +10 -2
  357. package/src/sap/m/messagebundle_en_US_sappsd.properties +26 -3
  358. package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
  359. package/src/sap/m/messagebundle_en_US_saptrc.properties +14 -6
  360. package/src/sap/m/messagebundle_es.properties +13 -5
  361. package/src/sap/m/messagebundle_es_MX.properties +16 -8
  362. package/src/sap/m/messagebundle_et.properties +13 -5
  363. package/src/sap/m/messagebundle_fi.properties +13 -5
  364. package/src/sap/m/messagebundle_fr.properties +26 -18
  365. package/src/sap/m/messagebundle_fr_CA.properties +14 -6
  366. package/src/sap/m/messagebundle_hi.properties +13 -5
  367. package/src/sap/m/messagebundle_hr.properties +13 -5
  368. package/src/sap/m/messagebundle_hu.properties +13 -5
  369. package/src/sap/m/messagebundle_id.properties +15 -7
  370. package/src/sap/m/messagebundle_it.properties +19 -11
  371. package/src/sap/m/messagebundle_iw.properties +13 -5
  372. package/src/sap/m/messagebundle_ja.properties +13 -5
  373. package/src/sap/m/messagebundle_kk.properties +13 -5
  374. package/src/sap/m/messagebundle_ko.properties +14 -6
  375. package/src/sap/m/messagebundle_lt.properties +13 -5
  376. package/src/sap/m/messagebundle_lv.properties +13 -5
  377. package/src/sap/m/messagebundle_ms.properties +14 -6
  378. package/src/sap/m/messagebundle_nl.properties +15 -7
  379. package/src/sap/m/messagebundle_no.properties +25 -17
  380. package/src/sap/m/messagebundle_pl.properties +17 -9
  381. package/src/sap/m/messagebundle_pt.properties +16 -8
  382. package/src/sap/m/messagebundle_pt_PT.properties +13 -5
  383. package/src/sap/m/messagebundle_ro.properties +18 -10
  384. package/src/sap/m/messagebundle_ru.properties +14 -6
  385. package/src/sap/m/messagebundle_sh.properties +14 -6
  386. package/src/sap/m/messagebundle_sk.properties +13 -5
  387. package/src/sap/m/messagebundle_sl.properties +13 -5
  388. package/src/sap/m/messagebundle_sv.properties +13 -5
  389. package/src/sap/m/messagebundle_th.properties +13 -5
  390. package/src/sap/m/messagebundle_tr.properties +13 -5
  391. package/src/sap/m/messagebundle_uk.properties +16 -8
  392. package/src/sap/m/messagebundle_vi.properties +14 -6
  393. package/src/sap/m/messagebundle_zh_CN.properties +13 -5
  394. package/src/sap/m/messagebundle_zh_TW.properties +13 -5
  395. package/src/sap/m/p13n/AbstractContainer.js +243 -0
  396. package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
  397. package/src/sap/m/p13n/BasePanel.js +643 -0
  398. package/src/sap/m/p13n/Container.js +239 -0
  399. package/src/sap/m/p13n/GroupPanel.js +119 -0
  400. package/src/sap/m/p13n/QueryPanel.js +312 -0
  401. package/src/sap/m/p13n/SelectionPanel.js +403 -0
  402. package/src/sap/m/p13n/SortPanel.js +139 -0
  403. package/src/sap/m/plugins/ColumnResizer.js +23 -2
  404. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  405. package/src/sap/m/plugins/PasteProvider.js +9 -1
  406. package/src/sap/m/plugins/PluginBase.js +1 -1
  407. package/src/sap/m/routing/TargetHandler.js +24 -22
  408. package/src/sap/m/routing/async/Target.js +3 -2
  409. package/src/sap/m/semantic/AddAction.js +1 -1
  410. package/src/sap/m/semantic/CancelAction.js +1 -1
  411. package/src/sap/m/semantic/DeleteAction.js +1 -1
  412. package/src/sap/m/semantic/DetailPage.js +1 -1
  413. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  414. package/src/sap/m/semantic/EditAction.js +1 -1
  415. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  416. package/src/sap/m/semantic/FilterAction.js +1 -1
  417. package/src/sap/m/semantic/FilterSelect.js +1 -1
  418. package/src/sap/m/semantic/FlagAction.js +1 -1
  419. package/src/sap/m/semantic/ForwardAction.js +1 -1
  420. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  421. package/src/sap/m/semantic/GroupAction.js +1 -1
  422. package/src/sap/m/semantic/GroupSelect.js +1 -1
  423. package/src/sap/m/semantic/MainAction.js +1 -1
  424. package/src/sap/m/semantic/MasterPage.js +1 -1
  425. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  426. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  427. package/src/sap/m/semantic/NegativeAction.js +1 -1
  428. package/src/sap/m/semantic/OpenInAction.js +1 -1
  429. package/src/sap/m/semantic/PositiveAction.js +1 -1
  430. package/src/sap/m/semantic/PrintAction.js +1 -1
  431. package/src/sap/m/semantic/SaveAction.js +1 -1
  432. package/src/sap/m/semantic/Segment.js +1 -1
  433. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  434. package/src/sap/m/semantic/SemanticButton.js +1 -1
  435. package/src/sap/m/semantic/SemanticConfiguration.js +3 -5
  436. package/src/sap/m/semantic/SemanticControl.js +1 -1
  437. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  438. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +2 -2
  439. package/src/sap/m/semantic/SemanticPage.js +1 -1
  440. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  441. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  442. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  443. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  444. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  445. package/src/sap/m/semantic/ShareMenu.js +1 -1
  446. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  447. package/src/sap/m/semantic/SortAction.js +1 -1
  448. package/src/sap/m/semantic/SortSelect.js +1 -1
  449. package/src/sap/m/table/Util.js +192 -0
  450. package/src/sap/m/themes/base/AbstractContainer.less +17 -0
  451. package/src/sap/m/themes/base/Carousel.less +37 -2
  452. package/src/sap/m/themes/base/ColumnListItem.less +2 -2
  453. package/src/sap/m/themes/base/Dialog.less +22 -33
  454. package/src/sap/m/themes/base/GenericTile.less +386 -17
  455. package/src/sap/m/themes/base/IconTabBar.less +18 -13
  456. package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -2
  457. package/src/sap/m/themes/base/Input.less +12 -0
  458. package/src/sap/m/themes/base/InputBase.less +0 -24
  459. package/src/sap/m/themes/base/Label.less +6 -0
  460. package/src/sap/m/themes/base/ListBase.less +7 -5
  461. package/src/sap/m/themes/base/ListItemBase.less +4 -2
  462. package/src/sap/m/themes/base/MessagePage.less +1 -7
  463. package/src/sap/m/themes/base/MessageView.less +4 -0
  464. package/src/sap/m/themes/base/MultiComboBox.less +17 -0
  465. package/src/sap/m/themes/base/NewsContent.less +7 -1
  466. package/src/sap/m/themes/base/NotificationListBase.less +1 -1
  467. package/src/sap/m/themes/base/NumericContent.less +87 -0
  468. package/src/sap/m/themes/base/ObjectMarker.less +3 -0
  469. package/src/sap/m/themes/base/ObjectNumber.less +10 -2
  470. package/src/sap/m/themes/base/ObjectStatus.less +14 -0
  471. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +0 -6
  472. package/src/sap/m/themes/base/P13nContainer.less +17 -0
  473. package/src/sap/m/themes/base/P13nDialog.less +4 -0
  474. package/src/sap/m/themes/base/SearchField.less +21 -14
  475. package/src/sap/m/themes/base/SegmentedButton.less +1 -1
  476. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -2
  477. package/src/sap/m/themes/base/SlideTile.less +15 -0
  478. package/src/sap/m/themes/base/StandardListItem.less +6 -1
  479. package/src/sap/m/themes/base/Table.less +18 -27
  480. package/src/sap/m/themes/base/Text.less +6 -0
  481. package/src/sap/m/themes/base/TextArea.less +1 -1
  482. package/src/sap/m/themes/base/TileContent.less +4 -0
  483. package/src/sap/m/themes/base/TimePickerSliders.less +1 -5
  484. package/src/sap/m/themes/base/Token.less +0 -3
  485. package/src/sap/m/themes/base/Tokenizer.less +6 -0
  486. package/src/sap/m/themes/base/UploadSet.less +5 -0
  487. package/src/sap/m/themes/base/ViewSettingsDialog.less +28 -1
  488. package/src/sap/m/themes/base/library.source.less +4 -0
  489. package/src/sap/m/themes/base/p13n.Container.less +17 -0
  490. package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
  491. package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
  492. package/src/sap/m/themes/sap_hcb/IconTabBar.less +3 -3
  493. package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
  494. package/src/sap/m/upload/UploadSet.js +48 -23
  495. package/src/sap/m/upload/UploadSetItem.js +24 -4
  496. package/ui5.yaml +4 -1
  497. package/src/sap/m/ios7.js +0 -199
@@ -159,7 +159,7 @@ function(
159
159
  *
160
160
  * @extends sap.m.InputBase
161
161
  * @author SAP SE
162
- * @version 1.93.1
162
+ * @version 1.96.0
163
163
  *
164
164
  * @constructor
165
165
  * @public
@@ -315,7 +315,20 @@ function(
315
315
  * <b>Note:</b> The autocomplete feature is disabled on Android devices due to a OS specific issue.
316
316
  * @since 1.61
317
317
  */
318
- autocomplete: {type: "boolean", group: "Behavior", defaultValue: true}
318
+ autocomplete: {type: "boolean", group: "Behavior", defaultValue: true},
319
+
320
+ /**
321
+ * Specifies whether clear icon is shown.
322
+ * Pressing the icon will clear input's value and fire the change and liveChange events.
323
+ * @since 1.94
324
+ */
325
+ showClearIcon: { type: "boolean", defaultValue: false },
326
+
327
+ /**
328
+ * Specifies whether the clear icon should be shown/hidden on user interaction.
329
+ * @private
330
+ */
331
+ effectiveShowClearIcon: { type: "boolean", defaultValue: false, visibility: "hidden" }
319
332
  },
320
333
  defaultAggregation : "suggestionItems",
321
334
  aggregations : {
@@ -568,6 +581,15 @@ function(
568
581
  // phase of the life cycle. Without this line, initially the condition fails and fires liveChange event
569
582
  // even though there is no user input (check Input.prototype.onsapright).
570
583
  this._setTypedInValue("");
584
+
585
+
586
+ // indicates whether input is clicked (on mobile) or the clear button
587
+ // used for identifying whether dialog should be open.
588
+ this._bClearButtonPressed = false;
589
+
590
+ // indicates whether input's popover has finished opening
591
+ // we asume that after open its content has been rendered => we don't have the power user scenario
592
+ this._bAfterOpenFinisihed = false;
571
593
  };
572
594
 
573
595
  /**
@@ -608,10 +630,9 @@ function(
608
630
  */
609
631
  Input.prototype.onBeforeRendering = function() {
610
632
  var sSelectedKey = this.getSelectedKey(),
611
- bShowIcon = this.getShowValueHelp() && this.getEnabled() && this.getEditable(),
612
- aEndIcons = this.getAggregation("_endIcon") || [],
613
-
614
- oIcon = aEndIcons[0],
633
+ bShowValueHelpIcon = this.getShowValueHelp() && this.getEnabled() && this.getEditable(),
634
+ bShowClearIcon = this.getProperty("effectiveShowClearIcon") && this.getEnabled() && this.getEditable(),
635
+ oIcon = this._oValueHelpIcon,
615
636
  oSuggestionsPopover = this._getSuggestionsPopover(),
616
637
  bSuggestionsPopoverIsOpen = oSuggestionsPopover && this._isSuggestionsPopoverOpen(),
617
638
  oPopupInput = oSuggestionsPopover && oSuggestionsPopover.getInput(),
@@ -620,9 +641,15 @@ function(
620
641
 
621
642
  InputBase.prototype.onBeforeRendering.call(this);
622
643
 
644
+ if (this.getShowClearIcon()) {
645
+ this._getClearIcon().setProperty("visible", bShowClearIcon);
646
+ } else if (this._oClearButton) {
647
+ this._getClearIcon().setProperty("visible", false);
648
+ }
649
+
623
650
  this._deregisterEvents();
624
651
 
625
- if (sSelectedKey) {
652
+ if (sSelectedKey && !this.getSelectedItem() && this.getSuggestionItemByKey(sSelectedKey)) {
626
653
  this.setSelectedKey(sSelectedKey);
627
654
  }
628
655
 
@@ -639,7 +666,7 @@ function(
639
666
  }
640
667
  }
641
668
 
642
- if (bShowIcon) {
669
+ if (bShowValueHelpIcon) {
643
670
  // ensure the creation of an icon
644
671
  oIcon = this._getValueHelpIcon();
645
672
  oIcon.setProperty("visible", true, true);
@@ -1044,13 +1071,11 @@ function(
1044
1071
  */
1045
1072
  Input.prototype._getValueHelpIcon = function () {
1046
1073
  var that = this,
1047
- aEndIcons = this.getAggregation("_endIcon") || [],
1048
- sIconSrc = this.getValueHelpIconSrc(),
1049
- oValueStateIcon = aEndIcons[0];
1074
+ sIconSrc = this.getValueHelpIconSrc();
1050
1075
 
1051
1076
  // for backward compatibility - leave this method to return the instance
1052
- if (!oValueStateIcon) {
1053
- oValueStateIcon = this.addEndIcon({
1077
+ if (!this._oValueHelpIcon) {
1078
+ this._oValueHelpIcon = this.addEndIcon({
1054
1079
  id: this.getId() + "-vhi",
1055
1080
  src: sIconSrc,
1056
1081
  useIconTooltip: false,
@@ -1079,13 +1104,53 @@ function(
1079
1104
  }
1080
1105
  }
1081
1106
  });
1082
- } else if (oValueStateIcon.getSrc() !== sIconSrc) {
1083
- oValueStateIcon.setSrc(sIconSrc);
1107
+ } else if (this._oValueHelpIcon.getSrc() !== sIconSrc) {
1108
+ this._oValueHelpIcon.setSrc(sIconSrc);
1084
1109
  }
1085
1110
 
1086
- return oValueStateIcon;
1111
+ return this._oValueHelpIcon;
1087
1112
  };
1088
1113
 
1114
+ Input.prototype._getClearIcon = function () {
1115
+ var that = this;
1116
+
1117
+ if (this._oClearButton) {
1118
+ return this._oClearButton;
1119
+ }
1120
+
1121
+ this._oClearButton = this.addEndIcon({
1122
+ src: IconPool.getIconURI("decline"),
1123
+ noTabStop: true,
1124
+ visible: false,
1125
+ alt: this._oRb.getText("INPUT_CLEAR_ICON_ALT"),
1126
+ useIconTooltip: false,
1127
+ decorative: false,
1128
+ press: function () {
1129
+ if (that.getValue() !== "") {
1130
+ that.fireChange({
1131
+ value: ""
1132
+ });
1133
+
1134
+ that.fireLiveChange({
1135
+ value: ""
1136
+ });
1137
+
1138
+ that.setValue("");
1139
+
1140
+ that._bClearButtonPressed = true;
1141
+
1142
+ setTimeout(function() {
1143
+ if (Device.system.desktop) {
1144
+ that.focus();
1145
+ that._closeSuggestionPopup();
1146
+ }
1147
+ }, 0);
1148
+ }
1149
+ }
1150
+ }, 0);
1151
+
1152
+ return this._oClearButton;
1153
+ };
1089
1154
  /**
1090
1155
  * Fire valueHelpRequest event.
1091
1156
  *
@@ -1140,9 +1205,12 @@ function(
1140
1205
  && this.getEditable()
1141
1206
  && this.getEnabled()
1142
1207
  && this.getShowSuggestion()
1208
+ && (!this._bClearButtonPressed)
1143
1209
  && oEvent.target.id !== this.getId() + "-vhi") {
1144
1210
  this._openSuggestionsPopover();
1145
1211
  }
1212
+
1213
+ this._bClearButtonPressed = false;
1146
1214
  };
1147
1215
 
1148
1216
  /**
@@ -1399,7 +1467,7 @@ function(
1399
1467
  // There's no typeahead for mobile devices.
1400
1468
  // If the popup has been focused, then the list would take care of that functionality.
1401
1469
  // There should be a matching item (proposed text in order to continue)
1402
- if (!this.isMobileDevice() && this._sProposedItemText) {
1470
+ if (!this.isMobileDevice() && this._sProposedItemText && !this._bAfterOpenFinisihed) {
1403
1471
  // Update selections for poweruser
1404
1472
  var oSelectedItem = this.getSuggestionItems()
1405
1473
  .filter(function (oItem) {
@@ -1588,7 +1656,7 @@ function(
1588
1656
  // when compose a non ASCII character, in Chrome the value is updated in the next browser tick cycle
1589
1657
  setTimeout(function () {
1590
1658
  var sNewValue = this.getDOMValue() || '';
1591
- if (sNewValue < this.getStartSuggestion()) {
1659
+ if (sNewValue.length < this.getStartSuggestion()) {
1592
1660
  this._closeSuggestionPopup();
1593
1661
  }
1594
1662
  }.bind(this), 0);
@@ -1636,7 +1704,7 @@ function(
1636
1704
  * @param {jQuery.Event} oEvent The event.
1637
1705
  */
1638
1706
  Input.prototype.onchange = function (oEvent) {
1639
- if (this.getShowValueHelp() || this.getShowSuggestion()) {
1707
+ if (this.getShowValueHelp() || this.getShowSuggestion() || this.getProperty("effectiveShowClearIcon")) {
1640
1708
  // can not handle browser change if value help or suggestions is enabled
1641
1709
  // because change is fired before the value help is opened or when a link in suggestions is clicked
1642
1710
  return;
@@ -1701,6 +1769,18 @@ function(
1701
1769
  this._bDoTypeAhead = !Device.os.android && this.getAutocomplete() && (oEvent.which !== KeyCodes.BACKSPACE) && (oEvent.which !== KeyCodes.DELETE);
1702
1770
  };
1703
1771
 
1772
+ Input.prototype.onkeyup = function (oEvent) {
1773
+ var sValue = this.getValue();
1774
+ var sLastValue = this.getLastValue();
1775
+
1776
+ if ([KeyCodes.BACKSPACE, KeyCodes.DELETE].indexOf(oEvent.which) !== -1 && !sValue) {
1777
+ this.setSelectedKey(null);
1778
+ (sLastValue !== sValue) && this.setLastValue(sLastValue);
1779
+ }
1780
+
1781
+ this.getShowClearIcon() && this.setProperty("effectiveShowClearIcon", !!sValue);
1782
+ };
1783
+
1704
1784
  /**
1705
1785
  * Gets the input value.
1706
1786
  *
@@ -2325,6 +2405,9 @@ function(
2325
2405
  InputBase.prototype.setValue.call(this, sValue);
2326
2406
  this._onValueUpdated(sValue);
2327
2407
  this._setTypedInValue("");
2408
+
2409
+ this.setProperty("effectiveShowClearIcon", !!sValue);
2410
+
2328
2411
  return this;
2329
2412
  };
2330
2413
 
@@ -2716,10 +2799,8 @@ function(
2716
2799
  bPreviosFocusOnGroup = oPreviousItem && oPreviousItem.isA("sap.m.GroupHeaderListItem"),
2717
2800
  iSelectionStart = calculateSelectionStart(selectionRange(oFocusDomRef, bPreviosFocusOnGroup), sNewValue, sTypedValue, bPreviosFocusOnGroup);
2718
2801
 
2719
- if (!oItem) { // When out of the list, reset to user's input
2802
+ if (!oItem || bIsGroupItem) { // When out of the list or a GroupHeader item, reset to user's input
2720
2803
  this.setDOMValue(sTypedValue);
2721
- } else if (bIsGroupItem) { // If it's a GroupHeader item, reset the input
2722
- this.setDOMValue("");
2723
2804
  } else { // Replace the value and highlight it
2724
2805
  this.setDOMValue(sNewValue);
2725
2806
 
@@ -2809,15 +2890,21 @@ function(
2809
2890
  .attachBeforeOpen(function() {
2810
2891
  var oSuggestionsInput = oSuggPopover.getInput();
2811
2892
  // set the same placeholder and maxLength as the original input
2812
- oSuggestionsInput.setPlaceholder(this.getPlaceholder());
2813
- oSuggestionsInput.setMaxLength(this.getMaxLength());
2814
- oSuggestionsInput.setValue(this.getValue());
2893
+ ["placeholder",
2894
+ "maxLength",
2895
+ "value",
2896
+ "showClearIcon",
2897
+ "effectiveShowClearIcon"
2898
+ ].forEach(function(sPropName) {
2899
+ oSuggestionsInput.setProperty(sPropName, this.getProperty(sPropName));
2900
+ }, this);
2815
2901
  }, this);
2816
2902
  } else {
2817
2903
  oPopover
2818
2904
  .attachAfterClose(function() {
2819
- var oList = this._getSuggestionsPopover().getItemsContainer(),
2820
- oSelectedItem = oList && oList.getSelectedItem();
2905
+ var oList = this._getSuggestionsPopover().getItemsContainer();
2906
+ var oSelectedItem = oList && oList.getSelectedItem();
2907
+ var oDomRef = this.getDomRef();
2821
2908
 
2822
2909
  if (this.getSelectionUpdatedFromList()) {
2823
2910
  this.updateSelectionFromList(oSelectedItem);
@@ -2827,6 +2914,8 @@ function(
2827
2914
  return;
2828
2915
  }
2829
2916
 
2917
+ this._bAfterOpenFinisihed = false;
2918
+
2830
2919
  // only destroy items in simple suggestion mode
2831
2920
  if (oList instanceof Table) {
2832
2921
  oSelectedItem && oSelectedItem.removeStyleClass("sapMLIBFocused");
@@ -2836,13 +2925,20 @@ function(
2836
2925
  }
2837
2926
 
2838
2927
  this._deregisterPopupResize();
2839
- this.addStyleClass("sapMFocus");
2928
+
2929
+ if (oDomRef && oDomRef.contains(document.activeElement)) {
2930
+ this.addStyleClass("sapMFocus");
2931
+ }
2840
2932
  }, this)
2841
2933
  .attachBeforeOpen(function () {
2842
2934
  oSuggPopover._sPopoverContentWidth = this.getMaxSuggestionWidth();
2843
2935
 
2844
2936
  oSuggPopover.resizePopup(this);
2845
2937
  this._registerPopupResize();
2938
+ this._bAfterOpenFinisihed = false;
2939
+ }, this)
2940
+ .attachAfterOpen(function () {
2941
+ this._bAfterOpenFinisihed = true;
2846
2942
  }, this);
2847
2943
  }
2848
2944
 
@@ -62,7 +62,7 @@ function(
62
62
  * @implements sap.ui.core.IFormContent
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.93.1
65
+ * @version 1.96.0
66
66
  *
67
67
  * @constructor
68
68
  * @public
@@ -514,7 +514,7 @@ function(
514
514
  mParameters = mParameters || this.getChangeEventParams();
515
515
 
516
516
  // check the control is editable or not
517
- if (!this.getEditable() || !this.getEnabled()) {
517
+ if (this.getDomRef() && (!this.getEditable() || !this.getEnabled())) {
518
518
  return;
519
519
  }
520
520
 
@@ -1016,12 +1016,14 @@ function(
1016
1016
  var oEndIcon = this.getAggregation("_endIcon") || [],
1017
1017
  oBeginIcon = this.getAggregation("_beginIcon") || [],
1018
1018
  aIcons = oEndIcon.concat(oBeginIcon),
1019
+ iIconMargin,
1019
1020
  iIconWidth;
1020
1021
 
1021
1022
  return aIcons.reduce(function(iAcc, oIcon){
1023
+ iIconMargin = oIcon && oIcon.getDomRef() ? parseFloat(window.getComputedStyle(oIcon.getDomRef()).marginRight) : 0;
1022
1024
  iIconWidth = oIcon && oIcon.getDomRef() ? oIcon.getDomRef().offsetWidth : 0;
1023
1025
 
1024
- return iAcc + iIconWidth;
1026
+ return iAcc + iIconWidth + iIconMargin;
1025
1027
  }, 0);
1026
1028
  };
1027
1029
 
@@ -1091,17 +1093,23 @@ function(
1091
1093
  * Adds an icon to be rendered
1092
1094
  * @param {string} sIconPosition a position for the icon to be rendered - begin or end
1093
1095
  * @param {object} oIconSettings settings for creating an icon
1096
+ * @param {int} iPosition position to be inserted in the aggregation
1094
1097
  * @see sap.ui.core.IconPool.createControlByURI
1095
1098
  * @private
1096
1099
  * @returns {null|sap.ui.core.Icon}
1097
1100
  */
1098
- InputBase.prototype._addIcon = function (sIconPosition, oIconSettings) {
1101
+ InputBase.prototype._addIcon = function (sIconPosition, oIconSettings, iPosition) {
1099
1102
  if (["begin", "end"].indexOf(sIconPosition) === -1) {
1100
1103
  log.error('icon position is not "begin", neither "end", please check again the passed setting');
1101
1104
  return null;
1102
1105
  }
1103
1106
  var oIcon = IconPool.createControlByURI(oIconSettings).addStyleClass(InputBase.ICON_CSS_CLASS);
1104
- this.addAggregation("_" + sIconPosition + "Icon", oIcon);
1107
+
1108
+ if (iPosition !== undefined) {
1109
+ this.insertAggregation("_" + sIconPosition + "Icon", oIcon, iPosition);
1110
+ } else {
1111
+ this.addAggregation("_" + sIconPosition + "Icon", oIcon);
1112
+ }
1105
1113
 
1106
1114
  return oIcon;
1107
1115
  };
@@ -1120,12 +1128,13 @@ function(
1120
1128
  /**
1121
1129
  * Adds an icon to the end of the input
1122
1130
  * @param {object} oIconSettings settings for creating an icon
1131
+ * @param {int} iPosition position to be inserted in the aggregation. If not provided, the icon gets inserted on last position.
1123
1132
  * @see sap.ui.core.IconPool.createControlByURI
1124
1133
  * @protected
1125
1134
  * @returns {null|sap.ui.core.Icon}
1126
1135
  */
1127
- InputBase.prototype.addEndIcon = function (oIconSettings) {
1128
- return this._addIcon("end", oIconSettings);
1136
+ InputBase.prototype.addEndIcon = function (oIconSettings, iPosition) {
1137
+ return this._addIcon("end", oIconSettings, iPosition);
1129
1138
  };
1130
1139
 
1131
1140
  // do not cache jQuery object and define _$input for compatibility reasons
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.93.1
33
+ * @version 1.96.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -76,7 +76,7 @@ function(
76
76
  * @implements sap.ui.core.Label, sap.ui.core.IShrinkable
77
77
  *
78
78
  * @author SAP SE
79
- * @version 1.93.1
79
+ * @version 1.96.0
80
80
  *
81
81
  * @constructor
82
82
  * @public
@@ -99,7 +99,7 @@ sap.ui.define([
99
99
  * @extends sap.ui.core.Control
100
100
  *
101
101
  * @author SAP SE
102
- * @version 1.93.1
102
+ * @version 1.96.0
103
103
  *
104
104
  * @constructor
105
105
  * @public
@@ -253,7 +253,7 @@ sap.ui.define([
253
253
  * Invalidates the LightBox.
254
254
  *
255
255
  * @public
256
- * @param {object} oOrigin Origin of the invalidation.
256
+ * @param {sap.ui.base.ManagedObject} oOrigin Origin of the invalidation.
257
257
  * @returns {this} this LightBox reference for chaining.
258
258
  */
259
259
  LightBox.prototype.invalidate = function (oOrigin) {
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends sap.ui.core.Element
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.93.1
46
+ * @version 1.96.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
package/src/sap/m/Link.js CHANGED
@@ -81,7 +81,7 @@ function(
81
81
  * @implements sap.ui.core.IShrinkable, sap.ui.core.IFormContent, sap.ui.core.ITitleContent
82
82
  *
83
83
  * @author SAP SE
84
- * @version 1.93.1
84
+ * @version 1.96.0
85
85
  *
86
86
  * @constructor
87
87
  * @public
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.93.1
33
+ * @version 1.96.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.93.1
93
+ * @version 1.96.0
94
94
  *
95
95
  * @constructor
96
96
  * @public
@@ -1206,6 +1206,13 @@ function(
1206
1206
  return this.getDomRef("listUl");
1207
1207
  };
1208
1208
 
1209
+ /*
1210
+ * This hook method is called if a sticky header is activated and additional height needs to be added in the calculation of the scrolling position.
1211
+ * @protected
1212
+ */
1213
+ ListBase.prototype.getStickyFocusOffset = function() {
1214
+ return 0;
1215
+ };
1209
1216
 
1210
1217
  ListBase.prototype.checkGrowingFromScratch = function() {};
1211
1218
 
@@ -1581,7 +1588,7 @@ function(
1581
1588
 
1582
1589
  if (!this._mRangeSelection) {
1583
1590
  this._mRangeSelection = {
1584
- index: aVisibleItems.indexOf(oItem),
1591
+ index: this.indexOfItem(oItem),
1585
1592
  selected: oItem.getSelected()
1586
1593
  };
1587
1594
  }
@@ -2587,7 +2594,8 @@ function(
2587
2594
  iInfoTBarContainerRectHeight = 0,
2588
2595
  iInfoTBarContainerRectBottom = 0,
2589
2596
  iHeaderToolbarRectHeight = 0,
2590
- iHeaderToolbarRectBottom = 0;
2597
+ iHeaderToolbarRectBottom = 0,
2598
+ iStickyFocusOffset = this.getStickyFocusOffset();
2591
2599
 
2592
2600
  if (this._iStickyValue & 4 /* ColumnHeaders */) {
2593
2601
  var oTblHeaderDomRef = this.getDomRef("tblHeader").firstChild;
@@ -2616,10 +2624,9 @@ function(
2616
2624
  }
2617
2625
 
2618
2626
  var iItemTop = Math.round(oItemDomRef.getBoundingClientRect().top);
2619
-
2620
2627
  if (iTHRectBottom > iItemTop || iInfoTBarContainerRectBottom > iItemTop || iHeaderToolbarRectBottom > iItemTop) {
2621
2628
  window.requestAnimationFrame(function () {
2622
- oScrollDelegate.scrollToElement(oItemDomRef, 0, [0, -iTHRectHeight - iInfoTBarContainerRectHeight - iHeaderToolbarRectHeight]);
2629
+ oScrollDelegate.scrollToElement(oItemDomRef, 0, [0, -iTHRectHeight - iInfoTBarContainerRectHeight - iHeaderToolbarRectHeight - iStickyFocusOffset]);
2623
2630
  });
2624
2631
  }
2625
2632
  };
@@ -76,7 +76,7 @@ function(
76
76
  * @extends sap.ui.core.Control
77
77
  *
78
78
  * @author SAP SE
79
- * @version 1.93.1
79
+ * @version 1.96.0
80
80
  *
81
81
  * @constructor
82
82
  * @public
@@ -505,7 +505,9 @@ function(
505
505
  }
506
506
 
507
507
  if (!this.DeleteIconURI) {
508
- ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(ThemeParameters.get("_sap_m_ListItemBase_DeleteIcon"));
508
+ ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(
509
+ ThemeParameters.get({name: "_sap_m_ListItemBase_DeleteIcon"}) || "decline"
510
+ );
509
511
  }
510
512
 
511
513
  this._oDeleteControl = new Button({
@@ -520,15 +522,15 @@ function(
520
522
  this._oDeleteControl._bExcludeFromTabChain = true;
521
523
 
522
524
  // prevent disabling of internal controls by the sap.ui.core.EnabledPropagator
523
- this._oDeleteControl.getEnabled = function() {
524
- return true;
525
- };
525
+ this._oDeleteControl.useEnabledPropagator(false);
526
526
 
527
527
  return this._oDeleteControl;
528
528
  };
529
529
 
530
530
  ListItemBase.prototype.onThemeChanged = function() {
531
- ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(ThemeParameters.get("_sap_m_ListItemBase_DeleteIcon"));
531
+ ListItemBase.prototype.DeleteIconURI = IconPool.getIconURI(
532
+ ThemeParameters.get({name: "_sap_m_ListItemBase_DeleteIcon"})
533
+ );
532
534
  if (this._oDeleteControl) {
533
535
  this._oDeleteControl.setIcon(this.DeleteIconURI);
534
536
  }
@@ -558,9 +560,7 @@ function(
558
560
  this._oDetailControl._bExcludeFromTabChain = true;
559
561
 
560
562
  // prevent disabling of internal controls by the sap.ui.core.EnabledPropagator
561
- this._oDetailControl.getEnabled = function() {
562
- return true;
563
- };
563
+ this._oDetailControl.useEnabledPropagator(false);
564
564
 
565
565
  return this._oDetailControl;
566
566
  };
@@ -611,9 +611,7 @@ function(
611
611
  }, this);
612
612
 
613
613
  // prevent disabling of internal controls by the sap.ui.core.EnabledPropagator
614
- this._oSingleSelectControl.getEnabled = function() {
615
- return true;
616
- };
614
+ this._oSingleSelectControl.useEnabledPropagator(false);
617
615
 
618
616
  return this._oSingleSelectControl;
619
617
  };
@@ -649,9 +647,7 @@ function(
649
647
  }, this);
650
648
 
651
649
  // prevent disabling of internal controls by the sap.ui.core.EnabledPropagator
652
- this._oMultiSelectControl.getEnabled = function() {
653
- return true;
654
- };
650
+ this._oMultiSelectControl.useEnabledPropagator(false);
655
651
 
656
652
  return this._oMultiSelectControl;
657
653
  };
@@ -1000,6 +996,10 @@ function(
1000
996
  if (this._eventHandledByControl ||
1001
997
  oEvent.touches.length != 1 ||
1002
998
  !this.hasActiveType()) {
999
+ if (this.getListProperty("includeItemInSelection") && this.getList()._mRangeSelection) {
1000
+ // prevet text selection when rangeSelection is detected
1001
+ oEvent.preventDefault();
1002
+ }
1003
1003
  return;
1004
1004
  }
1005
1005
 
@@ -1275,6 +1275,7 @@ function(
1275
1275
  }
1276
1276
 
1277
1277
  this.informList("FocusIn", oEvent.srcControl);
1278
+ oEvent.setMarked();
1278
1279
 
1279
1280
  if (oEvent.srcControl === this) {
1280
1281
  return;
@@ -1287,7 +1288,6 @@ function(
1287
1288
 
1288
1289
  // inform the list async that this item should be focusable
1289
1290
  setTimeout(oList["setItemFocusable"].bind(oList, this), 0);
1290
- oEvent.setMarked();
1291
1291
  };
1292
1292
 
1293
1293
  // inform the list for the vertical navigation