@openui5/sap.m 1.91.0 → 1.93.2

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 (439) hide show
  1. package/.reuse/dep5 +46 -0
  2. package/THIRDPARTY.txt +59 -1
  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 +3 -1
  8. package/src/sap/m/ActionSheet.js +1 -1
  9. package/src/sap/m/App.js +2 -2
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/BadgeEnabler.js +4 -0
  13. package/src/sap/m/Bar.js +14 -1
  14. package/src/sap/m/Breadcrumbs.js +34 -4
  15. package/src/sap/m/BreadcrumbsRenderer.js +13 -2
  16. package/src/sap/m/BusyDialog.js +2 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +26 -12
  19. package/src/sap/m/Carousel.js +7 -7
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +21 -6
  22. package/src/sap/m/CheckBoxRenderer.js +1 -1
  23. package/src/sap/m/ColorPalette.js +10 -24
  24. package/src/sap/m/ColorPalettePopover.js +1 -1
  25. package/src/sap/m/Column.js +12 -4
  26. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  27. package/src/sap/m/ColumnListItem.js +8 -2
  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 +14 -24
  34. package/src/sap/m/ComboBoxBase.js +12 -1
  35. package/src/sap/m/ComboBoxRenderer.js +3 -1
  36. package/src/sap/m/ComboBoxTextField.js +1 -1
  37. package/src/sap/m/CustomDynamicDateOption.js +99 -0
  38. package/src/sap/m/CustomListItem.js +1 -1
  39. package/src/sap/m/CustomTile.js +1 -1
  40. package/src/sap/m/CustomTreeItem.js +1 -1
  41. package/src/sap/m/DatePicker.js +13 -6
  42. package/src/sap/m/DateRangeSelection.js +5 -5
  43. package/src/sap/m/DateTimeField.js +69 -1
  44. package/src/sap/m/DateTimeInput.js +2 -2
  45. package/src/sap/m/DateTimePicker.js +17 -10
  46. package/src/sap/m/Dialog.js +17 -13
  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 +197 -0
  50. package/src/sap/m/DynamicDateFormat.js +264 -0
  51. package/src/sap/m/DynamicDateOption.js +345 -0
  52. package/src/sap/m/DynamicDateRange.js +1187 -0
  53. package/src/sap/m/DynamicDateRangeRenderer.js +36 -0
  54. package/src/sap/m/DynamicDateUtil.js +162 -0
  55. package/src/sap/m/DynamicDateValueHelpUIType.js +55 -0
  56. package/src/sap/m/ExpandableText.js +4 -2
  57. package/src/sap/m/FacetFilter.js +17 -7
  58. package/src/sap/m/FacetFilterItem.js +1 -1
  59. package/src/sap/m/FacetFilterList.js +3 -3
  60. package/src/sap/m/FeedContent.js +1 -1
  61. package/src/sap/m/FeedInput.js +21 -10
  62. package/src/sap/m/FeedInputRenderer.js +1 -1
  63. package/src/sap/m/FeedListItem.js +29 -23
  64. package/src/sap/m/FeedListItemAction.js +1 -1
  65. package/src/sap/m/Fiori20Adapter.js +2 -2
  66. package/src/sap/m/FlexBox.js +32 -67
  67. package/src/sap/m/FlexItemData.js +1 -1
  68. package/src/sap/m/FormattedText.js +1 -1
  69. package/src/sap/m/GenericTag.js +1 -1
  70. package/src/sap/m/GenericTile.js +39 -1
  71. package/src/sap/m/GenericTileRenderer.js +77 -8
  72. package/src/sap/m/GroupHeaderListItem.js +1 -1
  73. package/src/sap/m/GrowingEnablement.js +31 -34
  74. package/src/sap/m/GrowingList.js +1 -1
  75. package/src/sap/m/HBox.js +1 -1
  76. package/src/sap/m/HeaderContainer.js +8 -5
  77. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  78. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  79. package/src/sap/m/IconTabBar.js +1 -2
  80. package/src/sap/m/IconTabBarSelectList.js +29 -11
  81. package/src/sap/m/IconTabBarSelectListRenderer.js +7 -9
  82. package/src/sap/m/IconTabFilter.js +68 -32
  83. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  84. package/src/sap/m/IconTabHeader.js +18 -7
  85. package/src/sap/m/IconTabHeaderRenderer.js +1 -0
  86. package/src/sap/m/IconTabSeparator.js +1 -1
  87. package/src/sap/m/Image.js +2 -2
  88. package/src/sap/m/ImageContent.js +1 -1
  89. package/src/sap/m/Input.js +55 -28
  90. package/src/sap/m/InputBase.js +8 -6
  91. package/src/sap/m/InputBaseRenderer.js +32 -0
  92. package/src/sap/m/InputListItem.js +1 -1
  93. package/src/sap/m/InputRenderer.js +30 -4
  94. package/src/sap/m/Label.js +1 -1
  95. package/src/sap/m/LightBox.js +1 -1
  96. package/src/sap/m/LightBoxItem.js +1 -1
  97. package/src/sap/m/Link.js +8 -3
  98. package/src/sap/m/List.js +1 -1
  99. package/src/sap/m/ListBase.js +79 -21
  100. package/src/sap/m/ListItemBase.js +8 -7
  101. package/src/sap/m/MaskEnabler.js +1 -1
  102. package/src/sap/m/MaskInput.js +1 -1
  103. package/src/sap/m/MaskInputRule.js +1 -1
  104. package/src/sap/m/Menu.js +5 -4
  105. package/src/sap/m/MenuButton.js +2 -2
  106. package/src/sap/m/MenuItem.js +4 -4
  107. package/src/sap/m/MenuListItem.js +17 -1
  108. package/src/sap/m/MenuListItemRenderer.js +5 -0
  109. package/src/sap/m/MessageBox.js +37 -12
  110. package/src/sap/m/MessageItem.js +1 -1
  111. package/src/sap/m/MessageListItem.js +1 -1
  112. package/src/sap/m/MessagePage.js +1 -1
  113. package/src/sap/m/MessagePopover.js +29 -1
  114. package/src/sap/m/MessagePopoverItem.js +1 -1
  115. package/src/sap/m/MessageStrip.js +17 -23
  116. package/src/sap/m/MessageStripRenderer.js +2 -2
  117. package/src/sap/m/MessageStripUtilities.js +16 -3
  118. package/src/sap/m/MessageToast.js +2 -2
  119. package/src/sap/m/MessageView.js +7 -7
  120. package/src/sap/m/MultiComboBox.js +178 -166
  121. package/src/sap/m/MultiEditField.js +1 -1
  122. package/src/sap/m/MultiInput.js +2 -3
  123. package/src/sap/m/NavContainer.js +95 -15
  124. package/src/sap/m/NewsContent.js +1 -1
  125. package/src/sap/m/NotificationList.js +1 -1
  126. package/src/sap/m/NotificationListBase.js +1 -1
  127. package/src/sap/m/NotificationListGroup.js +1 -1
  128. package/src/sap/m/NotificationListItem.js +1 -1
  129. package/src/sap/m/NumericContent.js +1 -1
  130. package/src/sap/m/ObjectAttribute.js +1 -1
  131. package/src/sap/m/ObjectHeader.js +1 -1
  132. package/src/sap/m/ObjectHeaderRenderer.js +10 -7
  133. package/src/sap/m/ObjectIdentifier.js +10 -6
  134. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  135. package/src/sap/m/ObjectListItem.js +3 -3
  136. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  137. package/src/sap/m/ObjectMarker.js +16 -18
  138. package/src/sap/m/ObjectNumber.js +2 -2
  139. package/src/sap/m/ObjectStatus.js +17 -28
  140. package/src/sap/m/ObjectStatusRenderer.js +32 -11
  141. package/src/sap/m/OverflowToolbar.js +10 -6
  142. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  143. package/src/sap/m/OverflowToolbarButton.js +2 -2
  144. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  145. package/src/sap/m/OverflowToolbarToggleButton.js +2 -2
  146. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  147. package/src/sap/m/P13nColumnsItem.js +1 -1
  148. package/src/sap/m/P13nColumnsPanel.js +3 -3
  149. package/src/sap/m/P13nConditionPanel.js +3 -3
  150. package/src/sap/m/P13nDialog.js +11 -5
  151. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  152. package/src/sap/m/P13nDimMeasurePanel.js +4 -4
  153. package/src/sap/m/P13nFilterItem.js +1 -1
  154. package/src/sap/m/P13nFilterPanel.js +1 -1
  155. package/src/sap/m/P13nGroupItem.js +1 -1
  156. package/src/sap/m/P13nGroupPanel.js +7 -13
  157. package/src/sap/m/P13nItem.js +1 -1
  158. package/src/sap/m/P13nPanel.js +1 -1
  159. package/src/sap/m/P13nSelectionItem.js +1 -1
  160. package/src/sap/m/P13nSelectionPanel.js +1 -1
  161. package/src/sap/m/P13nSortItem.js +1 -1
  162. package/src/sap/m/P13nSortPanel.js +6 -12
  163. package/src/sap/m/PDFViewer.js +1 -1
  164. package/src/sap/m/PDFViewerRenderManager.js +2 -2
  165. package/src/sap/m/Page.js +1 -1
  166. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  167. package/src/sap/m/PagingButton.js +1 -1
  168. package/src/sap/m/Panel.js +1 -1
  169. package/src/sap/m/PlanningCalendar.js +173 -50
  170. package/src/sap/m/PlanningCalendarHeader.js +36 -5
  171. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  172. package/src/sap/m/PlanningCalendarRow.js +1 -1
  173. package/src/sap/m/PlanningCalendarView.js +26 -2
  174. package/src/sap/m/Popover.js +54 -25
  175. package/src/sap/m/ProgressIndicator.js +1 -1
  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 -3
  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 +1 -1
  182. package/src/sap/m/QuickViewPage.js +129 -137
  183. package/src/sap/m/RadioButton.js +3 -3
  184. package/src/sap/m/RadioButtonGroup.js +1 -1
  185. package/src/sap/m/RangeSlider.js +8 -3
  186. package/src/sap/m/RangeSliderRenderer.js +3 -0
  187. package/src/sap/m/RatingIndicator.js +69 -29
  188. package/src/sap/m/RatingIndicatorRenderer.js +0 -1
  189. package/src/sap/m/ResponsivePopover.js +1 -1
  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 +34 -19
  194. package/src/sap/m/SearchFieldRenderer.js +15 -5
  195. package/src/sap/m/SegmentedButton.js +1 -1
  196. package/src/sap/m/SegmentedButtonItem.js +1 -1
  197. package/src/sap/m/SegmentedButtonRenderer.js +6 -0
  198. package/src/sap/m/Select.js +39 -22
  199. package/src/sap/m/SelectDialog.js +22 -58
  200. package/src/sap/m/SelectDialogBase.js +148 -0
  201. package/src/sap/m/SelectList.js +13 -3
  202. package/src/sap/m/SelectRenderer.js +38 -25
  203. package/src/sap/m/SelectionDetails.js +5 -2
  204. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  205. package/src/sap/m/SelectionDetailsItem.js +1 -1
  206. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  207. package/src/sap/m/Shell.js +2 -2
  208. package/src/sap/m/SimpleFixFlex.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendar.js +19 -9
  210. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  211. package/src/sap/m/SinglePlanningCalendarGrid.js +49 -6
  212. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +27 -19
  213. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +39 -2
  214. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +22 -2
  215. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  216. package/src/sap/m/SinglePlanningCalendarView.js +2 -2
  217. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  218. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  219. package/src/sap/m/SlideTile.js +3 -3
  220. package/src/sap/m/Slider.js +2 -2
  221. package/src/sap/m/SliderRenderer.js +2 -2
  222. package/src/sap/m/SliderTooltip.js +1 -1
  223. package/src/sap/m/SliderTooltipBase.js +1 -1
  224. package/src/sap/m/SliderTooltipContainer.js +1 -1
  225. package/src/sap/m/SplitApp.js +3 -3
  226. package/src/sap/m/SplitButton.js +1 -1
  227. package/src/sap/m/SplitButtonRenderer.js +5 -1
  228. package/src/sap/m/SplitContainer.js +67 -6
  229. package/src/sap/m/StandardDynamicDateOption.js +585 -0
  230. package/src/sap/m/StandardListItem.js +1 -1
  231. package/src/sap/m/StandardTile.js +2 -2
  232. package/src/sap/m/StandardTreeItem.js +1 -1
  233. package/src/sap/m/StepInput.js +1 -1
  234. package/src/sap/m/StepInputRenderer.js +0 -3
  235. package/src/sap/m/SuggestionItem.js +1 -1
  236. package/src/sap/m/SuggestionsPopover.js +44 -1
  237. package/src/sap/m/Support.js +54 -46
  238. package/src/sap/m/Switch.js +9 -1
  239. package/src/sap/m/TabContainer.js +1 -1
  240. package/src/sap/m/TabContainerItem.js +1 -1
  241. package/src/sap/m/TabStrip.js +1 -1
  242. package/src/sap/m/TabStripItem.js +1 -1
  243. package/src/sap/m/Table.js +50 -8
  244. package/src/sap/m/TablePersoController.js +2 -2
  245. package/src/sap/m/TablePersoDialog.js +1 -1
  246. package/src/sap/m/TablePersoProvider.js +1 -1
  247. package/src/sap/m/TableRenderer.js +6 -4
  248. package/src/sap/m/TableSelectDialog.js +23 -54
  249. package/src/sap/m/Text.js +3 -3
  250. package/src/sap/m/TextArea.js +1 -1
  251. package/src/sap/m/Tile.js +1 -1
  252. package/src/sap/m/TileContainer.js +9 -9
  253. package/src/sap/m/TileContent.js +1 -1
  254. package/src/sap/m/TimePicker.js +11 -6
  255. package/src/sap/m/TimePickerClock.js +2 -2
  256. package/src/sap/m/TimePickerClocks.js +4 -2
  257. package/src/sap/m/TimePickerInputs.js +27 -5
  258. package/src/sap/m/TimePickerInternals.js +1 -1
  259. package/src/sap/m/TimePickerSlider.js +15 -4
  260. package/src/sap/m/TimePickerSliders.js +5 -5
  261. package/src/sap/m/TimePickerSlidersRenderer.js +0 -1
  262. package/src/sap/m/Title.js +2 -2
  263. package/src/sap/m/TitlePropagationSupport.js +1 -1
  264. package/src/sap/m/ToggleButton.js +2 -2
  265. package/src/sap/m/Token.js +1 -3
  266. package/src/sap/m/Tokenizer.js +3 -2
  267. package/src/sap/m/TokenizerRenderer.js +1 -0
  268. package/src/sap/m/Toolbar.js +2 -2
  269. package/src/sap/m/ToolbarLayoutData.js +1 -1
  270. package/src/sap/m/ToolbarSeparator.js +1 -1
  271. package/src/sap/m/ToolbarSpacer.js +1 -1
  272. package/src/sap/m/Tree.js +1 -1
  273. package/src/sap/m/TreeItemBase.js +4 -4
  274. package/src/sap/m/UploadCollection.js +2 -2
  275. package/src/sap/m/UploadCollectionItem.js +2 -2
  276. package/src/sap/m/UploadCollectionParameter.js +1 -1
  277. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  278. package/src/sap/m/VBox.js +1 -1
  279. package/src/sap/m/ValueStateHeader.js +1 -1
  280. package/src/sap/m/ViewSettingsCustomItem.js +2 -2
  281. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  282. package/src/sap/m/ViewSettingsDialog.js +9 -9
  283. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  284. package/src/sap/m/ViewSettingsItem.js +1 -1
  285. package/src/sap/m/VisibleItem.js +1 -1
  286. package/src/sap/m/WheelSlider.js +3 -3
  287. package/src/sap/m/WheelSliderContainer.js +4 -4
  288. package/src/sap/m/Wizard.js +2 -2
  289. package/src/sap/m/WizardProgressNavigator.js +1 -1
  290. package/src/sap/m/WizardProgressNavigatorRenderer.js +1 -1
  291. package/src/sap/m/WizardStep.js +2 -2
  292. package/src/sap/m/changeHandler/AddTableColumn.js +76 -44
  293. package/src/sap/m/changeHandler/ChangeLinkTarget.js +18 -23
  294. package/src/sap/m/changeHandler/CombineButtons.js +280 -173
  295. package/src/sap/m/changeHandler/MoveTableColumns.js +143 -111
  296. package/src/sap/m/changeHandler/SplitMenuButton.js +141 -93
  297. package/src/sap/m/inputUtils/calculateSelectionStart.js +1 -1
  298. package/src/sap/m/inputUtils/wordStartsWithValue.js +5 -1
  299. package/src/sap/m/library.js +93 -9
  300. package/src/sap/m/messagebundle.properties +212 -27
  301. package/src/sap/m/messagebundle_ar.properties +104 -3
  302. package/src/sap/m/messagebundle_bg.properties +103 -2
  303. package/src/sap/m/messagebundle_ca.properties +103 -2
  304. package/src/sap/m/messagebundle_cs.properties +113 -12
  305. package/src/sap/m/messagebundle_cy.properties +103 -2
  306. package/src/sap/m/messagebundle_da.properties +103 -2
  307. package/src/sap/m/messagebundle_de.properties +112 -11
  308. package/src/sap/m/messagebundle_el.properties +103 -2
  309. package/src/sap/m/messagebundle_en.properties +103 -2
  310. package/src/sap/m/messagebundle_en_GB.properties +103 -2
  311. package/src/sap/m/messagebundle_en_US_sappsd.properties +102 -2
  312. package/src/sap/m/messagebundle_en_US_saprigi.properties +96 -2
  313. package/src/sap/m/messagebundle_en_US_saptrc.properties +103 -2
  314. package/src/sap/m/messagebundle_es.properties +106 -5
  315. package/src/sap/m/messagebundle_es_MX.properties +103 -2
  316. package/src/sap/m/messagebundle_et.properties +103 -2
  317. package/src/sap/m/messagebundle_fi.properties +103 -2
  318. package/src/sap/m/messagebundle_fr.properties +103 -2
  319. package/src/sap/m/messagebundle_fr_CA.properties +107 -6
  320. package/src/sap/m/messagebundle_hi.properties +103 -2
  321. package/src/sap/m/messagebundle_hr.properties +103 -2
  322. package/src/sap/m/messagebundle_hu.properties +103 -2
  323. package/src/sap/m/messagebundle_id.properties +103 -2
  324. package/src/sap/m/messagebundle_it.properties +103 -2
  325. package/src/sap/m/messagebundle_iw.properties +103 -2
  326. package/src/sap/m/messagebundle_ja.properties +122 -21
  327. package/src/sap/m/messagebundle_kk.properties +103 -2
  328. package/src/sap/m/messagebundle_ko.properties +103 -2
  329. package/src/sap/m/messagebundle_lt.properties +103 -2
  330. package/src/sap/m/messagebundle_lv.properties +103 -2
  331. package/src/sap/m/messagebundle_ms.properties +103 -2
  332. package/src/sap/m/messagebundle_nl.properties +110 -9
  333. package/src/sap/m/messagebundle_no.properties +106 -5
  334. package/src/sap/m/messagebundle_pl.properties +106 -5
  335. package/src/sap/m/messagebundle_pt.properties +112 -11
  336. package/src/sap/m/messagebundle_pt_PT.properties +103 -2
  337. package/src/sap/m/messagebundle_ro.properties +113 -12
  338. package/src/sap/m/messagebundle_ru.properties +103 -2
  339. package/src/sap/m/messagebundle_sh.properties +103 -2
  340. package/src/sap/m/messagebundle_sk.properties +103 -2
  341. package/src/sap/m/messagebundle_sl.properties +103 -2
  342. package/src/sap/m/messagebundle_sv.properties +109 -8
  343. package/src/sap/m/messagebundle_th.properties +113 -12
  344. package/src/sap/m/messagebundle_tr.properties +109 -8
  345. package/src/sap/m/messagebundle_uk.properties +103 -2
  346. package/src/sap/m/messagebundle_vi.properties +103 -2
  347. package/src/sap/m/messagebundle_zh_CN.properties +104 -3
  348. package/src/sap/m/messagebundle_zh_TW.properties +103 -2
  349. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  350. package/src/sap/m/plugins/DataStateIndicator.js +5 -3
  351. package/src/sap/m/plugins/PasteProvider.js +1 -1
  352. package/src/sap/m/plugins/PluginBase.js +1 -1
  353. package/src/sap/m/routing/RouteMatchedHandler.js +2 -0
  354. package/src/sap/m/routing/Router.js +1 -0
  355. package/src/sap/m/routing/TargetHandler.js +123 -51
  356. package/src/sap/m/routing/async/Target.js +13 -1
  357. package/src/sap/m/routing/sync/Target.js +1 -0
  358. package/src/sap/m/semantic/AddAction.js +1 -1
  359. package/src/sap/m/semantic/CancelAction.js +1 -1
  360. package/src/sap/m/semantic/DeleteAction.js +1 -1
  361. package/src/sap/m/semantic/DetailPage.js +1 -1
  362. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  363. package/src/sap/m/semantic/EditAction.js +1 -1
  364. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  365. package/src/sap/m/semantic/FilterAction.js +1 -1
  366. package/src/sap/m/semantic/FilterSelect.js +1 -1
  367. package/src/sap/m/semantic/FlagAction.js +1 -1
  368. package/src/sap/m/semantic/ForwardAction.js +1 -1
  369. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  370. package/src/sap/m/semantic/GroupAction.js +1 -1
  371. package/src/sap/m/semantic/GroupSelect.js +1 -1
  372. package/src/sap/m/semantic/MainAction.js +1 -1
  373. package/src/sap/m/semantic/MasterPage.js +1 -1
  374. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  375. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  376. package/src/sap/m/semantic/NegativeAction.js +1 -1
  377. package/src/sap/m/semantic/OpenInAction.js +1 -1
  378. package/src/sap/m/semantic/PositiveAction.js +1 -1
  379. package/src/sap/m/semantic/PrintAction.js +1 -1
  380. package/src/sap/m/semantic/SaveAction.js +1 -1
  381. package/src/sap/m/semantic/Segment.js +1 -1
  382. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  383. package/src/sap/m/semantic/SemanticButton.js +1 -1
  384. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  385. package/src/sap/m/semantic/SemanticControl.js +1 -1
  386. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +2 -2
  387. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +2 -2
  388. package/src/sap/m/semantic/SemanticPage.js +1 -1
  389. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  390. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  391. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  392. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  393. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  394. package/src/sap/m/semantic/ShareMenu.js +1 -1
  395. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  396. package/src/sap/m/semantic/SortAction.js +1 -1
  397. package/src/sap/m/semantic/SortSelect.js +1 -1
  398. package/src/sap/m/themes/base/Button.less +8 -10
  399. package/src/sap/m/themes/base/Carousel.less +38 -4
  400. package/src/sap/m/themes/base/CheckBox.less +1 -1
  401. package/src/sap/m/themes/base/Dialog.less +11 -5
  402. package/src/sap/m/themes/base/DynamicDateRange.less +56 -0
  403. package/src/sap/m/themes/base/FeedInput.less +5 -6
  404. package/src/sap/m/themes/base/GenericTile.less +205 -2
  405. package/src/sap/m/themes/base/IconTabBar.less +185 -64
  406. package/src/sap/m/themes/base/IconTabBarSelectList.less +12 -2
  407. package/src/sap/m/themes/base/InputBase.less +0 -17
  408. package/src/sap/m/themes/base/Label.less +6 -4
  409. package/src/sap/m/themes/base/Link.less +0 -3
  410. package/src/sap/m/themes/base/ListItemBase.less +7 -3
  411. package/src/sap/m/themes/base/MenuListItem.less +10 -0
  412. package/src/sap/m/themes/base/MessageBox.less +0 -3
  413. package/src/sap/m/themes/base/NotificationListBase.less +1 -1
  414. package/src/sap/m/themes/base/ObjectHeader.less +2 -1
  415. package/src/sap/m/themes/base/ObjectNumber.less +6 -2
  416. package/src/sap/m/themes/base/ObjectStatus.less +25 -4
  417. package/src/sap/m/themes/base/P13nDialog.less +8 -0
  418. package/src/sap/m/themes/base/PlanningCalendar.less +25 -0
  419. package/src/sap/m/themes/base/Popover.less +1 -1
  420. package/src/sap/m/themes/base/ProgressIndicator.less +7 -6
  421. package/src/sap/m/themes/base/QuickView.less +17 -60
  422. package/src/sap/m/themes/base/RadioButton.less +3 -0
  423. package/src/sap/m/themes/base/SearchField.less +22 -15
  424. package/src/sap/m/themes/base/SegmentedButton.less +1 -1
  425. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +29 -5
  426. package/src/sap/m/themes/base/SplitContainer.less +0 -16
  427. package/src/sap/m/themes/base/StandardListItem.less +5 -1
  428. package/src/sap/m/themes/base/Table.less +15 -19
  429. package/src/sap/m/themes/base/Text.less +4 -2
  430. package/src/sap/m/themes/base/TimePicker.less +5 -1
  431. package/src/sap/m/themes/base/TimePickerSliders.less +1 -5
  432. package/src/sap/m/themes/base/Toolbar.less +6 -0
  433. package/src/sap/m/themes/base/ViewSettingsDialog.less +1 -1
  434. package/src/sap/m/themes/base/library.source.less +1 -0
  435. package/src/sap/m/themes/base/shared.less +2 -0
  436. package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
  437. package/src/sap/m/upload/UploadSet.js +11 -10
  438. package/src/sap/m/upload/UploadSetItem.js +16 -1
  439. package/src/sap/m/upload/Uploader.js +20 -5
@@ -6,12 +6,11 @@
6
6
 
7
7
  // Provides default renderer for control sap.m.IconTabBarSelectList
8
8
  sap.ui.define([
9
- "sap/ui/core/theming/Parameters",
10
9
  "sap/ui/core/library"
11
- ], function (Parameters, coreLibary) {
10
+ ], function (coreLibrary) {
12
11
  "use strict";
13
12
 
14
- var IconColor = coreLibary.IconColor;
13
+ var IconColor = coreLibrary.IconColor;
15
14
 
16
15
  /**
17
16
  * IconTabBarSelectList renderer.
@@ -22,20 +21,19 @@ sap.ui.define([
22
21
  apiVersion: 2
23
22
  };
24
23
 
25
- IconTabBarSelectListRenderer.fNestedItemPaddingLeft = Number.parseFloat(Parameters.get("_sap_m_IconTabBar_SelectListItem_PaddingLeft"));
26
-
27
24
  /**
28
25
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
29
26
  *
30
27
  * @param {sap.ui.core.RenderManager} oRM the RenderManager that can be used for writing to the Render-Output-Buffer
31
- * @param {sap.m.IconTabBarSelectList} oControl an object representation of the control that should be rendered
28
+ * @param {sap.m.IconTabBarSelectList} oSelectList an object representation of the control that should be rendered
32
29
  */
33
30
  IconTabBarSelectListRenderer.render = function(oRM, oSelectList) {
34
- var aItems = oSelectList.getVisibleItems(),
31
+ var mParams = oSelectList._getParams(),
32
+ aItems = oSelectList.getVisibleItems(),
35
33
  oIconTabHeader = oSelectList._oIconTabHeader,
36
34
  bTextOnly = oIconTabHeader._checkTextOnly(),
37
35
  iTotalItemsCount = oIconTabHeader.getVisibleTabFilters().length,
38
- fNestedItemPaddingLeft = this.fNestedItemPaddingLeft,
36
+ fNestedItemPaddingLeft = mParams.fNestedItemPaddingLeft,
39
37
  bExtraIndent = false;
40
38
 
41
39
  // find if in that level of nesting there is some semantic icon set
@@ -46,7 +44,7 @@ sap.ui.define([
46
44
 
47
45
  oSelectList.checkIconOnly();
48
46
 
49
- var fAdditionalPadding = Number.parseFloat(Parameters.get("_sap_m_IconTabBar_SelectListItem_PaddingLeftAdditional"));
47
+ var fAdditionalPadding = mParams.fAdditionalPadding;
50
48
  if (bHasSemanticColor && fAdditionalPadding) {
51
49
  fNestedItemPaddingLeft += fAdditionalPadding;
52
50
  bExtraIndent = true;
@@ -15,7 +15,6 @@ sap.ui.define([
15
15
  "sap/ui/core/Renderer",
16
16
  "sap/ui/core/IconPool",
17
17
  'sap/ui/core/InvisibleMessage',
18
- "sap/ui/core/InvisibleText",
19
18
  'sap/ui/Device',
20
19
  "sap/m/BadgeCustomData",
21
20
  "sap/m/Button",
@@ -32,7 +31,6 @@ sap.ui.define([
32
31
  Renderer,
33
32
  IconPool,
34
33
  InvisibleMessage,
35
- InvisibleText,
36
34
  Device,
37
35
  BadgeCustomData,
38
36
  Button,
@@ -69,6 +67,9 @@ sap.ui.define([
69
67
  // shortcut for sap.ui.core.IconColor
70
68
  var IconColor = coreLibrary.IconColor;
71
69
 
70
+ // shortcut for sap.ui.core.aria.HasPopup
71
+ var AriaHasPopup = coreLibrary.aria.HasPopup;
72
+
72
73
  /**
73
74
  * The time between tab activation and the disappearance of the badge.
74
75
  * @constant {int}
@@ -78,6 +79,8 @@ sap.ui.define([
78
79
  // shortcut for sap.ui.core.InvisibleMessageMode
79
80
  var InvisibleMessageMode = coreLibrary.InvisibleMessageMode;
80
81
 
82
+ var POPOVER_OFFSET_Y_TOOL_HEADER = -8;
83
+
81
84
  /**
82
85
  * Constructor for a new IconTabFilter.
83
86
  *
@@ -91,7 +94,7 @@ sap.ui.define([
91
94
  * @implements sap.m.IconTab
92
95
  *
93
96
  * @author SAP SE
94
- * @version 1.91.0
97
+ * @version 1.93.2
95
98
  *
96
99
  * @constructor
97
100
  * @public
@@ -183,7 +186,8 @@ sap.ui.define([
183
186
  */
184
187
  _expandButton : {type : "sap.m.Button", multiple : false, visibility : "hidden"},
185
188
 
186
- /** The badge of the expand button
189
+ /**
190
+ * The badge of the expand button
187
191
  * @since 1.83
188
192
  */
189
193
  _expandButtonBadge : {type : "sap.ui.core.Control", multiple : false, visibility : "hidden"}
@@ -271,11 +275,6 @@ sap.ui.define([
271
275
  Item.prototype.exit.call(this, oEvent);
272
276
  }
273
277
 
274
- if (this._invisibleText) {
275
- this._invisibleText.destroy();
276
- this._invisibleText = null;
277
- }
278
-
279
278
  if (this._oPopover) {
280
279
  this._oPopover.destroy();
281
280
  this._oPopover = null;
@@ -433,7 +432,7 @@ sap.ui.define([
433
432
  oIcon = this.getIcon(),
434
433
  sIconColor = this.getIconColor(),
435
434
  bEnabled = this.getEnabled(),
436
- bShouldReadIconColor = bEnabled && (sIconColor == "Positive" || sIconColor == "Critical" || sIconColor == "Negative" || sIconColor == "Neutral"),
435
+ bShouldReadIconColor = this._shouldReadIconColor(),
437
436
  bHorizontalDesign = this.getDesign() === IconTabFilterDesign.Horizontal,
438
437
  bTextOnly = oIconTabHeader._bTextOnly,
439
438
  bInLine = oIconTabHeader._bInLine || oIconTabHeader.isInlineMode(),
@@ -527,6 +526,10 @@ sap.ui.define([
527
526
 
528
527
  oRM.openEnd();
529
528
 
529
+ if (bShouldReadIconColor) {
530
+ this._renderIconColorDescription(oRM);
531
+ }
532
+
530
533
  oRM.openStart("div")
531
534
  .class("sapMITBFilterWrapper")
532
535
  .openEnd();
@@ -537,14 +540,6 @@ sap.ui.define([
537
540
  .openEnd();
538
541
 
539
542
  if (!bShowAll || !oIcon) {
540
- if (bShouldReadIconColor) {
541
- oRM.openStart("div", sId + "-iconColor")
542
- .style("display", "none")
543
- .openEnd()
544
- .text(oResourceBundle.getText("ICONTABBAR_ICONCOLOR_" + sIconColor.toUpperCase()))
545
- .close("div");
546
- }
547
-
548
543
  var aCssClasses = ["sapMITBFilterIcon", "sapMITBBadgeHolder"];
549
544
  if (bEnabled) {
550
545
  aCssClasses.push("sapMITBFilter" + sIconColor);
@@ -603,6 +598,10 @@ sap.ui.define([
603
598
 
604
599
  oRM.openEnd();
605
600
 
601
+ if (bInLine && oIcon) {
602
+ this._renderIcon(oRM);
603
+ }
604
+
606
605
  oRM.openStart("span")
607
606
  .class("sapMITHTextContent")
608
607
  .attr("dir", sTextDir !== TextDirection.Inherit ? sTextDir.toLowerCase() : "auto");
@@ -658,11 +657,6 @@ sap.ui.define([
658
657
  * @protected
659
658
  */
660
659
  IconTabFilter.prototype.renderInSelectList = function (oRM, oSelectList, iIndexInSet, iSetSize, fPaddingValue) {
661
- if (this._invisibleText) {
662
- this._invisibleText.destroy();
663
- this._invisibleText = null;
664
- }
665
-
666
660
  if (!this.getVisible()) {
667
661
  return;
668
662
  }
@@ -717,7 +711,7 @@ sap.ui.define([
717
711
  }
718
712
 
719
713
  var sItemId = this.getId(),
720
- bShouldReadIconColor = bEnabled && (sIconColor == "Positive" || sIconColor == "Critical" || sIconColor == "Negative" || sIconColor == "Neutral"),
714
+ bShouldReadIconColor = this._shouldReadIconColor(),
721
715
  aLabelledByIds = [];
722
716
 
723
717
  if (!bIconOnly) {
@@ -729,18 +723,14 @@ sap.ui.define([
729
723
  }
730
724
 
731
725
  if (bShouldReadIconColor) {
732
- this._invisibleText = new InvisibleText({
733
- text: oResourceBundle.getText('ICONTABBAR_ICONCOLOR_' + sIconColor.toUpperCase())
734
- });
735
-
736
- aLabelledByIds.push(this._invisibleText.getId());
726
+ aLabelledByIds.push(sItemId + "-iconColor");
737
727
  }
738
728
 
739
729
  oRM.accessibilityState({ labelledby: aLabelledByIds.join(" ") })
740
730
  .openEnd();
741
731
 
742
- if (this._invisibleText) {
743
- oRM.renderControl(this._invisibleText);
732
+ if (bShouldReadIconColor) {
733
+ this._renderIconColorDescription(oRM);
744
734
  }
745
735
 
746
736
  if (!bTextOnly) {
@@ -779,6 +769,10 @@ sap.ui.define([
779
769
  aClasses.push("sapMITBBadgeHolder");
780
770
  }
781
771
 
772
+ if (this._getIconTabHeader().isInlineMode()) {
773
+ aClasses.push("sapMITBInlineIcon");
774
+ }
775
+
782
776
  oRM.icon(oIcon, aClasses, {
783
777
  id: this.getId() + "-icon",
784
778
  "aria-hidden": true
@@ -788,6 +782,14 @@ sap.ui.define([
788
782
  }
789
783
  };
790
784
 
785
+ IconTabFilter.prototype._renderIconColorDescription = function (oRM) {
786
+ oRM.openStart("div", this.getId() + "-iconColor")
787
+ .style("display", "none")
788
+ .openEnd()
789
+ .text(oResourceBundle.getText("ICONTABBAR_ICONCOLOR_" + this.getIconColor().toUpperCase()))
790
+ .close("div");
791
+ };
792
+
791
793
  /**
792
794
  * Renders text in SelectList.
793
795
  * @private
@@ -835,7 +837,7 @@ sap.ui.define([
835
837
  });
836
838
  this._oSelectList._oIconTabHeader = this.getParent();
837
839
  this._oSelectList._oTabFilter = this;
838
- this._oSelectList._bIsOverflow = this._isOverflow;
840
+ this._oSelectList._bIsOverflow = this._isOverflow();
839
841
  }
840
842
  return this._oSelectList;
841
843
  };
@@ -855,6 +857,19 @@ sap.ui.define([
855
857
  }
856
858
  };
857
859
 
860
+ IconTabFilter.prototype._updateTabCountText = function () {
861
+ if (!this._isOverflow()) {
862
+ return;
863
+ }
864
+
865
+ var iTabFilters = this._getIconTabHeader()
866
+ ._getItemsForOverflow(this._bIsStartOverflow)
867
+ .filter(function (oItem) { return oItem.isA("sap.m.IconTabFilter"); })
868
+ .length;
869
+
870
+ this.setText("+" + iTabFilters);
871
+ };
872
+
858
873
  /**
859
874
  * Returns the expand button for this instance.
860
875
  * This button is conditionally shown in the DOM
@@ -870,6 +885,7 @@ sap.ui.define([
870
885
  icon: IconPool.getIconURI("slim-arrow-down"),
871
886
  tooltip: oResourceBundle.getText("ICONTABHEADER_OVERFLOW_MORE"),
872
887
  tabIndex: "-1",
888
+ ariaHasPopup: AriaHasPopup.Menu,
873
889
  press: this._expandButtonPress.bind(this)
874
890
  }).addStyleClass("sapMITBFilterExpandBtn");
875
891
 
@@ -931,6 +947,19 @@ sap.ui.define([
931
947
  this._oPopover._oControl.addButton(this._createPopoverCloseButton());
932
948
  }
933
949
 
950
+ if (this._getIconTabHeader()._isInsideToolHeader()) {
951
+ this._oPopover.addStyleClass("sapMITBFilterPopoverInToolHeader");
952
+ this._oPopover.setOffsetY(POPOVER_OFFSET_Y_TOOL_HEADER);
953
+
954
+ if (!Device.system.phone) {
955
+ this._oPopover.addEventDelegate({
956
+ onAfterRendering: function (oEvent) {
957
+ this._oPopover.getDomRef().style.minWidth = this.$().outerWidth(true) + "px";
958
+ }.bind(this)
959
+ });
960
+ }
961
+ }
962
+
934
963
  this.addDependent(this._oPopover);
935
964
 
936
965
  this._oPopover._oControl._adaptPositionParams = function () {
@@ -1347,5 +1376,12 @@ sap.ui.define([
1347
1376
  }
1348
1377
  };
1349
1378
 
1379
+ IconTabFilter.prototype._shouldReadIconColor = function () {
1380
+ var sIconColor = this.getIconColor();
1381
+
1382
+ return this.getEnabled() &&
1383
+ (sIconColor === "Positive" || sIconColor === "Critical" || sIconColor === "Negative" || sIconColor === "Neutral");
1384
+ };
1385
+
1350
1386
  return IconTabFilter;
1351
1387
  });
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.91.0
34
+ * @version 1.93.2
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  * @extends sap.ui.core.Control
78
78
  *
79
79
  * @author SAP SE
80
- * @version 1.91.0
80
+ * @version 1.93.2
81
81
  *
82
82
  * @constructor
83
83
  * @public
@@ -114,7 +114,6 @@ sap.ui.define([
114
114
 
115
115
  /**
116
116
  * Specifies the header mode.
117
- * <b>Note:</b> The Inline mode works only if no icons are set.
118
117
  *
119
118
  * @since 1.40
120
119
  */
@@ -505,7 +504,7 @@ sap.ui.define([
505
504
  * Sets the selected item, updates the UI, and fires the select event.
506
505
  * @private
507
506
  * @param {sap.m.IconTabFilter} oItem The item to be selected
508
- * @param {Boolean} bAPIChange whether this function is called through the API
507
+ * @param {boolean} bAPIChange whether this function is called through the API
509
508
  * @returns {this} this pointer for chaining
510
509
  */
511
510
  IconTabHeader.prototype.setSelectedItem = function (oItem, bAPIChange) {
@@ -844,7 +843,7 @@ sap.ui.define([
844
843
 
845
844
  /**
846
845
  * Sets whether the currently selected item is preserved.
847
- * @param {Boolean} bPreserveSelection The new value
846
+ * @param {boolean} bPreserveSelection The new value
848
847
  * @private
849
848
  */
850
849
  IconTabHeader.prototype._setPreserveSelection = function (bPreserveSelection) {
@@ -877,7 +876,7 @@ sap.ui.define([
877
876
  * @private
878
877
  */
879
878
  IconTabHeader.prototype.isInlineMode = function () {
880
- return this._bTextOnly && this.getMode() == IconTabHeaderMode.Inline;
879
+ return this.getMode() === IconTabHeaderMode.Inline;
881
880
  };
882
881
 
883
882
  /**
@@ -1053,6 +1052,7 @@ sap.ui.define([
1053
1052
  aItems[i].classList.add("sapMITBFilterHidden");
1054
1053
  }
1055
1054
 
1055
+ oOverflow._updateTabCountText();
1056
1056
  oOverflow._updateExpandButtonBadge();
1057
1057
  return;
1058
1058
  }
@@ -1073,6 +1073,7 @@ sap.ui.define([
1073
1073
  aItems[i].classList.add("sapMITBFilterHidden");
1074
1074
  }
1075
1075
 
1076
+ oStartOverflow._updateTabCountText();
1076
1077
  oStartOverflow._updateExpandButtonBadge();
1077
1078
  return;
1078
1079
  }
@@ -1102,6 +1103,8 @@ sap.ui.define([
1102
1103
  }
1103
1104
 
1104
1105
  oStartOverflow._updateExpandButtonBadge();
1106
+ oStartOverflow._updateTabCountText();
1107
+ oOverflow._updateTabCountText();
1105
1108
  oOverflow._updateExpandButtonBadge();
1106
1109
  };
1107
1110
 
@@ -1343,6 +1346,15 @@ sap.ui.define([
1343
1346
  return oParent instanceof Control && oParent.isA('sap.m.IconTabBar');
1344
1347
  };
1345
1348
 
1349
+ /**
1350
+ * Returns if the control is inside a sap.tnt.ToolHeader.
1351
+ * @private
1352
+ */
1353
+ IconTabHeader.prototype._isInsideToolHeader = function() {
1354
+ var oParent = this.getParent();
1355
+ return oParent instanceof Control && oParent.isA('sap.tnt.ToolHeader');
1356
+ };
1357
+
1346
1358
  /**
1347
1359
  * Invalidates the parent if it is an IconTabBar
1348
1360
  * @private
@@ -1383,9 +1395,8 @@ sap.ui.define([
1383
1395
  var aItems = this.getItems(),
1384
1396
  sSelectedKey = this.getSelectedKey(),
1385
1397
  i = 0,
1386
- oParent = this.getParent(),
1387
1398
  bIsParentIconTabBar = this._isInsideIconTabBar(),
1388
- bIsParentToolHeader = oParent && oParent.isA("sap.tnt.ToolHeader");
1399
+ bIsParentToolHeader = this._isInsideToolHeader();
1389
1400
 
1390
1401
  if (!aItems.length) {
1391
1402
  return;
@@ -63,6 +63,7 @@ sap.ui.define(['./library'],
63
63
 
64
64
  if (bInLine) {
65
65
  oRM.class("sapMITBInLine");
66
+ oRM.class("sapMITBTextOnly");
66
67
  }
67
68
 
68
69
  oRM.accessibilityState(oControl, {
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @implements sap.m.IconTab
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.91.0
39
+ * @version 1.93.2
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @implements sap.ui.core.IFormContent
58
58
  *
59
59
  * @author SAP SE
60
- * @version 1.91.0
60
+ * @version 1.93.2
61
61
  *
62
62
  * @public
63
63
  * @alias sap.m.Image
@@ -774,7 +774,7 @@ sap.ui.define([
774
774
  *
775
775
  * @see sap.ui.core.Control#getAccessibilityInfo
776
776
  * @protected
777
- * @returns {Object} The <code>sap.m.Image</code> accessibility information
777
+ * @returns {object} The <code>sap.m.Image</code> accessibility information
778
778
  */
779
779
  Image.prototype.getAccessibilityInfo = function() {
780
780
  var bHasPressListeners = this.hasListeners("press");
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.core.Control
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.91.0
36
+ * @version 1.93.2
37
37
  * @since 1.38
38
38
  *
39
39
  * @public
@@ -159,7 +159,7 @@ function(
159
159
  *
160
160
  * @extends sap.m.InputBase
161
161
  * @author SAP SE
162
- * @version 1.91.0
162
+ * @version 1.93.2
163
163
  *
164
164
  * @constructor
165
165
  * @public
@@ -563,6 +563,11 @@ function(
563
563
  if (this.getId().indexOf("popup-input") === -1) {
564
564
  this._createSuggestionsPopover();
565
565
  }
566
+
567
+ // We need to set this to empty string as we are comparing it with sValue in the before rendering
568
+ // phase of the life cycle. Without this line, initially the condition fails and fires liveChange event
569
+ // even though there is no user input (check Input.prototype.onsapright).
570
+ this._setTypedInValue("");
566
571
  };
567
572
 
568
573
  /**
@@ -647,8 +652,6 @@ function(
647
652
  this.setProperty("width", "100%", true);
648
653
  }
649
654
 
650
- this._resetTypeAhead();
651
-
652
655
  if (this._hasTabularSuggestions()) {
653
656
  this._getSuggestionsTable().setAutoPopinMode(this.getEnableTableAutoPopinMode());
654
657
  this._getSuggestionsTable().setContextualWidth(this.getEnableTableAutoPopinMode() ? "Auto" : "Inherit");
@@ -1316,13 +1319,23 @@ function(
1316
1319
  Input.prototype.onsapenter = function(oEvent) {
1317
1320
  var bPopupOpened = this._isSuggestionsPopoverOpen(),
1318
1321
  bFocusInPopup = !this.hasStyleClass("sapMFocus") && bPopupOpened,
1319
- iValueLength;
1322
+ aItems = this._hasTabularSuggestions() ? this.getSuggestionRows() : this.getSuggestionItems(),
1323
+ iValueLength, oSelectedItem;
1320
1324
 
1321
1325
  // when enter is pressed before the timeout of suggestion delay, suggest event is cancelled
1322
1326
  this.cancelPendingSuggest();
1323
1327
 
1324
1328
  bFocusInPopup && this.setSelectionUpdatedFromList(true);
1325
1329
 
1330
+ if (this.getShowSuggestion() && this._bDoTypeAhead && bPopupOpened) {
1331
+ oSelectedItem = this._getSuggestionsPopover().getItemsContainer().getSelectedItem();
1332
+ if (this._hasTabularSuggestions()) {
1333
+ oSelectedItem && this.setSelectionRow(oSelectedItem, true);
1334
+ } else {
1335
+ oSelectedItem && this.setSelectionItem(ListHelpers.getItemByListItem(aItems, oSelectedItem), true);
1336
+ }
1337
+ }
1338
+
1326
1339
  if (bPopupOpened && !this.isComposingCharacter()) {
1327
1340
  this._closeSuggestionPopup();
1328
1341
  iValueLength = this.getDOMValue() ? this.getDOMValue().length : null;
@@ -1761,7 +1774,7 @@ function(
1761
1774
  /**
1762
1775
  * Opens the <code>SuggestionsPopover</code> and adjusts the corresponding acc
1763
1776
  *
1764
- * @param {Boolean} bOpenCondition Additional open condition
1777
+ * @param {boolean} bOpenCondition Additional open condition
1765
1778
  * @private
1766
1779
  */
1767
1780
  Input.prototype._openSuggestionPopup = function (bOpenCondition) {
@@ -1780,26 +1793,35 @@ function(
1780
1793
  };
1781
1794
 
1782
1795
  /**
1783
- * Applies Suggestion Acc
1796
+ * Applies Suggestion Accessibility
1797
+ *
1798
+ * Adds the aria-desribedby text with the number of available suggestions.
1784
1799
  *
1785
1800
  * @param {Integer} iNumItems
1786
1801
  * @private
1787
1802
  */
1788
- Input.prototype._applySuggestionAcc = function (iNumItems) {
1803
+ Input.prototype._applySuggestionAcc = function(iNumItems) {
1789
1804
  var sAriaText = "",
1790
1805
  oRb = this._oRb;
1791
1806
 
1792
- // add items to list
1793
- if (iNumItems === 1) {
1794
- sAriaText = oRb.getText("INPUT_SUGGESTIONS_ONE_HIT");
1795
- } else if (iNumItems > 1) {
1796
- sAriaText = oRb.getText("INPUT_SUGGESTIONS_MORE_HITS", iNumItems);
1797
- } else {
1798
- sAriaText = oRb.getText("INPUT_SUGGESTIONS_NO_HIT");
1799
- }
1807
+ // Timeout is used because sometimes when we have suggestions
1808
+ // that are fetched from the backend and filtered with a delay this function
1809
+ // could be called twice - the first time with no available results.
1810
+ // In that case the second DOM update of the invisible text element
1811
+ // do not occur if it is synchronous. BCP #2070466087
1812
+ setTimeout(function () {
1813
+ // add items to list
1814
+ if (iNumItems === 1) {
1815
+ sAriaText = oRb.getText("INPUT_SUGGESTIONS_ONE_HIT");
1816
+ } else if (iNumItems > 1) {
1817
+ sAriaText = oRb.getText("INPUT_SUGGESTIONS_MORE_HITS", iNumItems);
1818
+ } else {
1819
+ sAriaText = oRb.getText("INPUT_SUGGESTIONS_NO_HIT");
1820
+ }
1800
1821
 
1801
- // update Accessibility text for suggestion
1802
- this.$("SuggDescr").text(sAriaText);
1822
+ // update Accessibility text for suggestion
1823
+ this.$("SuggDescr").text(sAriaText);
1824
+ }.bind(this), 0);
1803
1825
  };
1804
1826
 
1805
1827
  /**
@@ -2237,8 +2259,6 @@ function(
2237
2259
  return this;
2238
2260
  };
2239
2261
 
2240
- oSuggestionsTable.attachItemPress(this._resetTypeAhead, this);
2241
-
2242
2262
  oTableObserver = new ManagedObjectObserver(function (oChange) {
2243
2263
  var sMutation = oChange.mutation;
2244
2264
  var vItem = oChange.child;
@@ -2304,6 +2324,7 @@ function(
2304
2324
  this._iSetCount++;
2305
2325
  InputBase.prototype.setValue.call(this, sValue);
2306
2326
  this._onValueUpdated(sValue);
2327
+ this._setTypedInValue("");
2307
2328
  return this;
2308
2329
  };
2309
2330
 
@@ -2688,22 +2709,27 @@ function(
2688
2709
  oSuggPopover.attachEvent(SuggestionsPopover.M_EVENTS.SELECTION_CHANGE, function (oEvent) {
2689
2710
  var oItem = oEvent.getParameter("newItem"),
2690
2711
  sNewValue = this.calculateNewValue(oItem),
2691
- bFocusedGroupHeader = oItem && oItem.isA("sap.m.GroupHeaderListItem"),
2712
+ bIsGroupItem = oItem && oItem.isA("sap.m.GroupHeaderListItem"),
2692
2713
  oFocusDomRef = this.getFocusDomRef(),
2693
2714
  sTypedValue = oFocusDomRef && oFocusDomRef.value.substring(0, oFocusDomRef.selectionStart),
2694
2715
  oPreviousItem = oEvent.getParameter("previousItem"),
2695
2716
  bPreviosFocusOnGroup = oPreviousItem && oPreviousItem.isA("sap.m.GroupHeaderListItem"),
2696
2717
  iSelectionStart = calculateSelectionStart(selectionRange(oFocusDomRef, bPreviosFocusOnGroup), sNewValue, sTypedValue, bPreviosFocusOnGroup);
2697
2718
 
2698
- // setValue isn't used because here is too early to modify the lastValue of input
2699
- this.setDOMValue(bFocusedGroupHeader ? sTypedValue : sNewValue);
2719
+ if (!oItem) { // When out of the list, reset to user's input
2720
+ this.setDOMValue(sTypedValue);
2721
+ } else if (bIsGroupItem) { // If it's a GroupHeader item, reset the input
2722
+ this.setDOMValue("");
2723
+ } else { // Replace the value and highlight it
2724
+ this.setDOMValue(sNewValue);
2700
2725
 
2701
- // memorize the value set by calling jQuery.val, because browser doesn't fire a change event when the value is set programmatically.
2702
- this._sSelectedSuggViaKeyboard = sNewValue;
2703
-
2704
- if (!bFocusedGroupHeader) {
2726
+ // If the matched item starts with user input's value, highlight only the remaining part. Otherwise, the whole item.
2727
+ iSelectionStart = (iSelectionStart === 0 && sNewValue.indexOf(sTypedValue) === 0) ? sTypedValue.length : iSelectionStart;
2705
2728
  this._doSelect(iSelectionStart);
2706
2729
  }
2730
+
2731
+ // memorize the value set by calling jQuery.val, because browser doesn't fire a change event when the value is set programmatically.
2732
+ this._sSelectedSuggViaKeyboard = sNewValue;
2707
2733
  }, this);
2708
2734
 
2709
2735
  if (this.getShowTableSuggestionValueHelp()) {
@@ -2810,6 +2836,7 @@ function(
2810
2836
  }
2811
2837
 
2812
2838
  this._deregisterPopupResize();
2839
+ this.addStyleClass("sapMFocus");
2813
2840
  }, this)
2814
2841
  .attachBeforeOpen(function () {
2815
2842
  oSuggPopover._sPopoverContentWidth = this.getMaxSuggestionWidth();
@@ -2910,7 +2937,7 @@ function(
2910
2937
  /**
2911
2938
  * Indicates whether the control should use <code>sap.m.Dialog</code> or not.
2912
2939
  *
2913
- * @returns {Boolean} Boolean.
2940
+ * @returns {boolean} Boolean.
2914
2941
  * @protected
2915
2942
  */
2916
2943
  Input.prototype.isMobileDevice = function () {
@@ -2976,7 +3003,7 @@ function(
2976
3003
  *
2977
3004
  * @protected
2978
3005
  * @param {HTMLElement|undefined} oTarget The target of the event.
2979
- * @returns {Boolean} Boolean indicating if the target is a valid opener.
3006
+ * @returns {boolean} Boolean indicating if the target is a valid opener.
2980
3007
  */
2981
3008
  Input.prototype.isValueHelpOnlyOpener = function (oTarget) {
2982
3009
  return true;
@@ -62,7 +62,7 @@ function(
62
62
  * @implements sap.ui.core.IFormContent
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.91.0
65
+ * @version 1.93.2
66
66
  *
67
67
  * @constructor
68
68
  * @public
@@ -548,8 +548,8 @@ function(
548
548
  * Fires the change event for the listeners
549
549
  *
550
550
  * @protected
551
- * @param {String} sValue value of the input.
552
- * @param {Object} [oParams] extra event parameters.
551
+ * @param {string} sValue value of the input.
552
+ * @param {object} [oParams] extra event parameters.
553
553
  * @since 1.22.1
554
554
  */
555
555
  InputBase.prototype.fireChangeEvent = function(sValue, oParams) {
@@ -570,7 +570,7 @@ function(
570
570
  * It may require to re-implement this method from sub classes for control specific behaviour.
571
571
  *
572
572
  * @protected
573
- * @param {String} sValue Reverted value of the input.
573
+ * @param {string} sValue Reverted value of the input.
574
574
  * @since 1.26
575
575
  */
576
576
  InputBase.prototype.onValueRevertedByEscape = function(sValue, sPreviousValue) {
@@ -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
 
@@ -1070,7 +1072,7 @@ function(
1070
1072
 
1071
1073
  /**
1072
1074
  * @see sap.ui.core.Control#getAccessibilityInfo
1073
- * @returns {Object} The accessibility information for this <code>InputBase</code>
1075
+ * @returns {object} The accessibility information for this <code>InputBase</code>
1074
1076
  * @protected
1075
1077
  */
1076
1078
  InputBase.prototype.getAccessibilityInfo = function() {