@openui5/sap.m 1.95.0 → 1.96.3

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 (466) hide show
  1. package/.reuse/dep5 +10 -5
  2. package/THIRDPARTY.txt +17 -8
  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 +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/Bar.js +1 -1
  13. package/src/sap/m/Breadcrumbs.js +1 -1
  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 +1 -1
  17. package/src/sap/m/Carousel.js +1 -1
  18. package/src/sap/m/CarouselLayout.js +1 -1
  19. package/src/sap/m/CheckBox.js +1 -1
  20. package/src/sap/m/ColorPalette.js +7 -11
  21. package/src/sap/m/ColorPalettePopover.js +1 -6
  22. package/src/sap/m/Column.js +5 -1
  23. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  24. package/src/sap/m/ColumnListItem.js +1 -1
  25. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  30. package/src/sap/m/ComboBox.js +1 -1
  31. package/src/sap/m/ComboBoxBase.js +1 -1
  32. package/src/sap/m/ComboBoxTextField.js +1 -1
  33. package/src/sap/m/CustomDynamicDateOption.js +9 -1
  34. package/src/sap/m/CustomListItem.js +1 -1
  35. package/src/sap/m/CustomTile.js +1 -1
  36. package/src/sap/m/CustomTreeItem.js +1 -1
  37. package/src/sap/m/DatePicker.js +12 -10
  38. package/src/sap/m/DateRangeSelection.js +6 -9
  39. package/src/sap/m/DateTimeField.js +1 -1
  40. package/src/sap/m/DateTimeInput.js +1 -1
  41. package/src/sap/m/DateTimePicker.js +6 -9
  42. package/src/sap/m/Dialog.js +16 -37
  43. package/src/sap/m/DisplayListItem.js +1 -1
  44. package/src/sap/m/DraftIndicator.js +1 -1
  45. package/src/sap/m/DynamicDate.js +1 -1
  46. package/src/sap/m/DynamicDateOption.js +3 -2
  47. package/src/sap/m/DynamicDateRange.js +7 -4
  48. package/src/sap/m/DynamicDateUtil.js +6 -3
  49. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  50. package/src/sap/m/ExpandableText.js +1 -1
  51. package/src/sap/m/FacetFilter.js +1 -1
  52. package/src/sap/m/FacetFilterItem.js +1 -1
  53. package/src/sap/m/FacetFilterList.js +1 -1
  54. package/src/sap/m/FeedContent.js +1 -1
  55. package/src/sap/m/FeedInput.js +1 -1
  56. package/src/sap/m/FeedListItem.js +1 -1
  57. package/src/sap/m/FeedListItemAction.js +1 -1
  58. package/src/sap/m/Fiori20Adapter.js +2 -2
  59. package/src/sap/m/FlexBox.js +1 -1
  60. package/src/sap/m/FlexItemData.js +1 -1
  61. package/src/sap/m/FormattedText.js +1 -1
  62. package/src/sap/m/GenericTag.js +1 -1
  63. package/src/sap/m/GenericTile.js +264 -57
  64. package/src/sap/m/GenericTileRenderer.js +228 -84
  65. package/src/sap/m/GroupHeaderListItem.js +1 -1
  66. package/src/sap/m/GrowingList.js +1 -1
  67. package/src/sap/m/HBox.js +1 -1
  68. package/src/sap/m/HeaderContainer.js +1 -1
  69. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  70. package/src/sap/m/IconTabBar.js +7 -1
  71. package/src/sap/m/IconTabBarSelectList.js +1 -1
  72. package/src/sap/m/IconTabFilter.js +1 -1
  73. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  74. package/src/sap/m/IconTabHeader.js +13 -4
  75. package/src/sap/m/IconTabSeparator.js +1 -1
  76. package/src/sap/m/Image.js +1 -1
  77. package/src/sap/m/ImageContent.js +1 -1
  78. package/src/sap/m/Input.js +18 -7
  79. package/src/sap/m/InputBase.js +95 -13
  80. package/src/sap/m/InputBaseRenderer.js +8 -20
  81. package/src/sap/m/InputListItem.js +1 -1
  82. package/src/sap/m/Label.js +1 -1
  83. package/src/sap/m/LightBox.js +1 -1
  84. package/src/sap/m/LightBoxItem.js +1 -1
  85. package/src/sap/m/Link.js +1 -1
  86. package/src/sap/m/List.js +1 -1
  87. package/src/sap/m/ListBase.js +1 -1
  88. package/src/sap/m/ListItemBase.js +2 -2
  89. package/src/sap/m/MaskEnabler.js +106 -4
  90. package/src/sap/m/MaskInput.js +19 -4
  91. package/src/sap/m/MaskInputRule.js +1 -1
  92. package/src/sap/m/Menu.js +8 -6
  93. package/src/sap/m/MenuButton.js +1 -1
  94. package/src/sap/m/MenuItem.js +1 -1
  95. package/src/sap/m/MenuListItem.js +1 -1
  96. package/src/sap/m/MessageItem.js +1 -16
  97. package/src/sap/m/MessageListItem.js +1 -1
  98. package/src/sap/m/MessagePage.js +1 -1
  99. package/src/sap/m/MessagePopover.js +1 -1
  100. package/src/sap/m/MessagePopoverItem.js +1 -1
  101. package/src/sap/m/MessageStrip.js +7 -3
  102. package/src/sap/m/MessageStripRenderer.js +2 -2
  103. package/src/sap/m/MessageToast.js +1 -1
  104. package/src/sap/m/MessageView.js +12 -23
  105. package/src/sap/m/MultiComboBox.js +348 -115
  106. package/src/sap/m/MultiEditField.js +1 -1
  107. package/src/sap/m/MultiInput.js +30 -4
  108. package/src/sap/m/NavContainer.js +13 -5
  109. package/src/sap/m/NewsContent.js +19 -10
  110. package/src/sap/m/NewsContentRenderer.js +1 -2
  111. package/src/sap/m/NotificationList.js +1 -1
  112. package/src/sap/m/NotificationListBase.js +1 -1
  113. package/src/sap/m/NotificationListGroup.js +1 -1
  114. package/src/sap/m/NotificationListItem.js +1 -1
  115. package/src/sap/m/NumericContent.js +1 -1
  116. package/src/sap/m/NumericContentRenderer.js +34 -17
  117. package/src/sap/m/NumericInput.js +138 -0
  118. package/src/sap/m/NumericInputRenderer.js +120 -0
  119. package/src/sap/m/ObjectAttribute.js +46 -5
  120. package/src/sap/m/ObjectHeader.js +3 -3
  121. package/src/sap/m/ObjectIdentifier.js +1 -1
  122. package/src/sap/m/ObjectListItem.js +1 -1
  123. package/src/sap/m/ObjectMarker.js +1 -1
  124. package/src/sap/m/ObjectNumber.js +1 -1
  125. package/src/sap/m/ObjectStatus.js +1 -1
  126. package/src/sap/m/ObjectStatusRenderer.js +4 -1
  127. package/src/sap/m/OverflowToolbar.js +3 -5
  128. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  129. package/src/sap/m/OverflowToolbarButton.js +4 -2
  130. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  131. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  132. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  133. package/src/sap/m/P13nColumnsItem.js +1 -1
  134. package/src/sap/m/P13nColumnsPanel.js +3 -3
  135. package/src/sap/m/P13nConditionPanel.js +22 -52
  136. package/src/sap/m/P13nDialog.js +1 -1
  137. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  138. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  139. package/src/sap/m/P13nFilterItem.js +1 -1
  140. package/src/sap/m/P13nFilterPanel.js +1 -3
  141. package/src/sap/m/P13nGroupItem.js +1 -1
  142. package/src/sap/m/P13nGroupPanel.js +1 -3
  143. package/src/sap/m/P13nItem.js +1 -1
  144. package/src/sap/m/P13nPanel.js +1 -1
  145. package/src/sap/m/P13nSelectionItem.js +1 -1
  146. package/src/sap/m/P13nSelectionPanel.js +1 -1
  147. package/src/sap/m/P13nSortItem.js +1 -1
  148. package/src/sap/m/P13nSortPanel.js +1 -3
  149. package/src/sap/m/PDFViewer.js +1 -1
  150. package/src/sap/m/Page.js +1 -1
  151. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  152. package/src/sap/m/PagingButton.js +1 -1
  153. package/src/sap/m/Panel.js +1 -1
  154. package/src/sap/m/PlanningCalendar.js +46 -31
  155. package/src/sap/m/PlanningCalendarHeader.js +5 -8
  156. package/src/sap/m/PlanningCalendarLegend.js +1 -6
  157. package/src/sap/m/PlanningCalendarLegendRenderer.js +0 -5
  158. package/src/sap/m/PlanningCalendarRow.js +1 -1
  159. package/src/sap/m/PlanningCalendarView.js +1 -6
  160. package/src/sap/m/Popover.js +3 -3
  161. package/src/sap/m/PopoverRenderer.js +3 -2
  162. package/src/sap/m/ProgressIndicator.js +13 -1
  163. package/src/sap/m/PullToRefresh.js +1 -1
  164. package/src/sap/m/QuickView.js +1 -1
  165. package/src/sap/m/QuickViewBase.js +1 -1
  166. package/src/sap/m/QuickViewCard.js +1 -1
  167. package/src/sap/m/QuickViewGroup.js +1 -1
  168. package/src/sap/m/QuickViewGroupElement.js +1 -1
  169. package/src/sap/m/QuickViewPage.js +1 -1
  170. package/src/sap/m/RadioButton.js +1 -1
  171. package/src/sap/m/RadioButtonGroup.js +1 -1
  172. package/src/sap/m/RangeSlider.js +1 -1
  173. package/src/sap/m/RatingIndicator.js +1 -1
  174. package/src/sap/m/ResponsivePopover.js +1 -1
  175. package/src/sap/m/ResponsiveScale.js +1 -1
  176. package/src/sap/m/ScrollBar.js +1 -1
  177. package/src/sap/m/ScrollContainer.js +1 -1
  178. package/src/sap/m/SearchField.js +2 -33
  179. package/src/sap/m/SegmentedButton.js +1 -1
  180. package/src/sap/m/SegmentedButtonItem.js +1 -1
  181. package/src/sap/m/SegmentedButtonRenderer.js +6 -0
  182. package/src/sap/m/Select.js +3 -4
  183. package/src/sap/m/SelectDialog.js +1 -1
  184. package/src/sap/m/SelectDialogBase.js +1 -1
  185. package/src/sap/m/SelectList.js +1 -1
  186. package/src/sap/m/SelectRenderer.js +10 -1
  187. package/src/sap/m/SelectionDetails.js +7 -9
  188. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  189. package/src/sap/m/SelectionDetailsItem.js +8 -4
  190. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  191. package/src/sap/m/Shell.js +1 -1
  192. package/src/sap/m/SimpleFixFlex.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendar.js +7 -10
  194. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -6
  196. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +17 -7
  197. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
  198. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +4 -6
  199. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
  200. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
  202. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
  203. package/src/sap/m/SlideTile.js +46 -3
  204. package/src/sap/m/SlideTileRenderer.js +13 -2
  205. package/src/sap/m/Slider.js +1 -1
  206. package/src/sap/m/SliderTooltip.js +1 -1
  207. package/src/sap/m/SliderTooltipBase.js +1 -1
  208. package/src/sap/m/SliderTooltipContainer.js +1 -1
  209. package/src/sap/m/SplitApp.js +1 -1
  210. package/src/sap/m/SplitButton.js +1 -1
  211. package/src/sap/m/SplitButtonRenderer.js +5 -1
  212. package/src/sap/m/SplitContainer.js +10 -4
  213. package/src/sap/m/StandardDynamicDateOption.js +6 -3
  214. package/src/sap/m/StandardListItem.js +11 -18
  215. package/src/sap/m/StandardTile.js +1 -1
  216. package/src/sap/m/StandardTreeItem.js +1 -1
  217. package/src/sap/m/StepInput.js +67 -166
  218. package/src/sap/m/SuggestionItem.js +1 -7
  219. package/src/sap/m/SuggestionsPopover.js +44 -1
  220. package/src/sap/m/Switch.js +9 -1
  221. package/src/sap/m/TabContainer.js +1 -1
  222. package/src/sap/m/TabContainerItem.js +1 -1
  223. package/src/sap/m/TabStrip.js +1 -1
  224. package/src/sap/m/TabStripItem.js +1 -1
  225. package/src/sap/m/Table.js +1 -1
  226. package/src/sap/m/TablePersoController.js +1 -1
  227. package/src/sap/m/TablePersoDialog.js +1 -1
  228. package/src/sap/m/TablePersoProvider.js +1 -1
  229. package/src/sap/m/TableSelectDialog.js +1 -1
  230. package/src/sap/m/Text.js +1 -1
  231. package/src/sap/m/TextArea.js +1 -1
  232. package/src/sap/m/Tile.js +1 -1
  233. package/src/sap/m/TileContainer.js +1 -1
  234. package/src/sap/m/TileContent.js +22 -4
  235. package/src/sap/m/TileContentRenderer.js +73 -5
  236. package/src/sap/m/TimePicker.js +1 -1
  237. package/src/sap/m/TimePickerClock.js +1 -1
  238. package/src/sap/m/TimePickerClocks.js +1 -1
  239. package/src/sap/m/TimePickerInputs.js +1 -1
  240. package/src/sap/m/TimePickerInternals.js +1 -1
  241. package/src/sap/m/TimePickerSlider.js +1 -1
  242. package/src/sap/m/TimePickerSliders.js +1 -1
  243. package/src/sap/m/Title.js +1 -1
  244. package/src/sap/m/TitlePropagationSupport.js +1 -1
  245. package/src/sap/m/ToggleButton.js +1 -1
  246. package/src/sap/m/Token.js +1 -1
  247. package/src/sap/m/Tokenizer.js +2 -1
  248. package/src/sap/m/Toolbar.js +1 -1
  249. package/src/sap/m/ToolbarLayoutData.js +1 -1
  250. package/src/sap/m/ToolbarSeparator.js +1 -1
  251. package/src/sap/m/ToolbarSpacer.js +1 -1
  252. package/src/sap/m/Tree.js +1 -1
  253. package/src/sap/m/TreeItemBase.js +1 -1
  254. package/src/sap/m/UploadCollection.js +1 -6
  255. package/src/sap/m/UploadCollectionItem.js +1 -1
  256. package/src/sap/m/UploadCollectionParameter.js +1 -1
  257. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  258. package/src/sap/m/VBox.js +1 -1
  259. package/src/sap/m/ValueStateHeader.js +1 -1
  260. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  261. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  262. package/src/sap/m/ViewSettingsDialog.js +1 -1
  263. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  264. package/src/sap/m/ViewSettingsItem.js +1 -1
  265. package/src/sap/m/VisibleItem.js +1 -1
  266. package/src/sap/m/WheelSlider.js +1 -1
  267. package/src/sap/m/WheelSliderContainer.js +1 -1
  268. package/src/sap/m/Wizard.js +40 -12
  269. package/src/sap/m/WizardProgressNavigator.js +1 -1
  270. package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
  271. package/src/sap/m/WizardStep.js +1 -1
  272. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  273. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  274. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  275. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  276. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +24 -15
  277. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  278. package/src/sap/m/delegate/DateNavigation.js +4 -5
  279. package/src/sap/m/delegate/ValueStateMessage.js +4 -7
  280. package/src/sap/m/designtime/IconTabBar.designtime.js +4 -1
  281. package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
  282. package/src/sap/m/designtime/messagebundle_ar.properties +3 -3
  283. package/src/sap/m/designtime/messagebundle_bg.properties +3 -3
  284. package/src/sap/m/designtime/messagebundle_ca.properties +3 -3
  285. package/src/sap/m/designtime/messagebundle_cs.properties +3 -3
  286. package/src/sap/m/designtime/messagebundle_cy.properties +3 -3
  287. package/src/sap/m/designtime/messagebundle_da.properties +3 -3
  288. package/src/sap/m/designtime/messagebundle_de.properties +5 -5
  289. package/src/sap/m/designtime/messagebundle_el.properties +3 -3
  290. package/src/sap/m/designtime/messagebundle_en_US_saprigi.properties +6 -0
  291. package/src/sap/m/designtime/messagebundle_es.properties +3 -3
  292. package/src/sap/m/designtime/messagebundle_es_MX.properties +3 -3
  293. package/src/sap/m/designtime/messagebundle_et.properties +3 -3
  294. package/src/sap/m/designtime/messagebundle_fi.properties +3 -3
  295. package/src/sap/m/designtime/messagebundle_fr.properties +3 -3
  296. package/src/sap/m/designtime/messagebundle_fr_CA.properties +3 -3
  297. package/src/sap/m/designtime/messagebundle_hi.properties +3 -3
  298. package/src/sap/m/designtime/messagebundle_hr.properties +3 -3
  299. package/src/sap/m/designtime/messagebundle_hu.properties +3 -3
  300. package/src/sap/m/designtime/messagebundle_id.properties +3 -3
  301. package/src/sap/m/designtime/messagebundle_it.properties +3 -3
  302. package/src/sap/m/designtime/messagebundle_iw.properties +3 -3
  303. package/src/sap/m/designtime/messagebundle_ja.properties +3 -3
  304. package/src/sap/m/designtime/messagebundle_kk.properties +3 -3
  305. package/src/sap/m/designtime/messagebundle_ko.properties +3 -3
  306. package/src/sap/m/designtime/messagebundle_lt.properties +3 -3
  307. package/src/sap/m/designtime/messagebundle_lv.properties +3 -3
  308. package/src/sap/m/designtime/messagebundle_ms.properties +3 -3
  309. package/src/sap/m/designtime/messagebundle_nl.properties +3 -3
  310. package/src/sap/m/designtime/messagebundle_no.properties +3 -3
  311. package/src/sap/m/designtime/messagebundle_pl.properties +3 -3
  312. package/src/sap/m/designtime/messagebundle_pt.properties +3 -3
  313. package/src/sap/m/designtime/messagebundle_pt_PT.properties +3 -3
  314. package/src/sap/m/designtime/messagebundle_ro.properties +3 -3
  315. package/src/sap/m/designtime/messagebundle_ru.properties +3 -3
  316. package/src/sap/m/designtime/messagebundle_sh.properties +3 -3
  317. package/src/sap/m/designtime/messagebundle_sk.properties +3 -3
  318. package/src/sap/m/designtime/messagebundle_sl.properties +3 -3
  319. package/src/sap/m/designtime/messagebundle_sv.properties +3 -3
  320. package/src/sap/m/designtime/messagebundle_th.properties +3 -3
  321. package/src/sap/m/designtime/messagebundle_tr.properties +3 -3
  322. package/src/sap/m/designtime/messagebundle_uk.properties +3 -3
  323. package/src/sap/m/designtime/messagebundle_vi.properties +3 -3
  324. package/src/sap/m/designtime/messagebundle_zh_CN.properties +3 -3
  325. package/src/sap/m/designtime/messagebundle_zh_TW.properties +3 -3
  326. package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
  327. package/src/sap/m/inputUtils/ListHelpers.js +16 -3
  328. package/src/sap/m/library.js +58 -31
  329. package/src/sap/m/messagebundle.properties +50 -3
  330. package/src/sap/m/messagebundle_ar.properties +29 -6
  331. package/src/sap/m/messagebundle_bg.properties +29 -6
  332. package/src/sap/m/messagebundle_ca.properties +33 -10
  333. package/src/sap/m/messagebundle_cs.properties +31 -8
  334. package/src/sap/m/messagebundle_cy.properties +31 -8
  335. package/src/sap/m/messagebundle_da.properties +31 -8
  336. package/src/sap/m/messagebundle_de.properties +30 -7
  337. package/src/sap/m/messagebundle_el.properties +30 -7
  338. package/src/sap/m/messagebundle_en.properties +30 -7
  339. package/src/sap/m/messagebundle_en_GB.properties +30 -7
  340. package/src/sap/m/messagebundle_en_US_sappsd.properties +17 -1
  341. package/src/sap/m/messagebundle_en_US_saprigi.properties +39 -3
  342. package/src/sap/m/messagebundle_en_US_saptrc.properties +3 -1
  343. package/src/sap/m/messagebundle_es.properties +29 -6
  344. package/src/sap/m/messagebundle_es_MX.properties +31 -8
  345. package/src/sap/m/messagebundle_et.properties +30 -7
  346. package/src/sap/m/messagebundle_fi.properties +31 -8
  347. package/src/sap/m/messagebundle_fr.properties +37 -14
  348. package/src/sap/m/messagebundle_fr_CA.properties +31 -8
  349. package/src/sap/m/messagebundle_hi.properties +31 -8
  350. package/src/sap/m/messagebundle_hr.properties +30 -7
  351. package/src/sap/m/messagebundle_hu.properties +30 -7
  352. package/src/sap/m/messagebundle_id.properties +31 -8
  353. package/src/sap/m/messagebundle_it.properties +29 -6
  354. package/src/sap/m/messagebundle_iw.properties +29 -6
  355. package/src/sap/m/messagebundle_ja.properties +30 -7
  356. package/src/sap/m/messagebundle_kk.properties +31 -8
  357. package/src/sap/m/messagebundle_ko.properties +31 -8
  358. package/src/sap/m/messagebundle_lt.properties +31 -8
  359. package/src/sap/m/messagebundle_lv.properties +31 -8
  360. package/src/sap/m/messagebundle_ms.properties +29 -6
  361. package/src/sap/m/messagebundle_nl.properties +29 -6
  362. package/src/sap/m/messagebundle_no.properties +29 -6
  363. package/src/sap/m/messagebundle_pl.properties +31 -8
  364. package/src/sap/m/messagebundle_pt.properties +31 -8
  365. package/src/sap/m/messagebundle_pt_PT.properties +29 -6
  366. package/src/sap/m/messagebundle_ro.properties +31 -8
  367. package/src/sap/m/messagebundle_ru.properties +31 -8
  368. package/src/sap/m/messagebundle_sh.properties +30 -7
  369. package/src/sap/m/messagebundle_sk.properties +30 -7
  370. package/src/sap/m/messagebundle_sl.properties +30 -7
  371. package/src/sap/m/messagebundle_sv.properties +30 -7
  372. package/src/sap/m/messagebundle_th.properties +31 -8
  373. package/src/sap/m/messagebundle_tr.properties +27 -4
  374. package/src/sap/m/messagebundle_uk.properties +35 -12
  375. package/src/sap/m/messagebundle_vi.properties +31 -8
  376. package/src/sap/m/messagebundle_zh_CN.properties +29 -6
  377. package/src/sap/m/messagebundle_zh_TW.properties +31 -8
  378. package/src/sap/m/p13n/AbstractContainer.js +243 -0
  379. package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
  380. package/src/sap/m/p13n/BasePanel.js +643 -0
  381. package/src/sap/m/p13n/Container.js +239 -0
  382. package/src/sap/m/p13n/GroupPanel.js +119 -0
  383. package/src/sap/m/p13n/QueryPanel.js +312 -0
  384. package/src/sap/m/p13n/SelectionPanel.js +403 -0
  385. package/src/sap/m/p13n/SortPanel.js +139 -0
  386. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  387. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  388. package/src/sap/m/plugins/PasteProvider.js +1 -1
  389. package/src/sap/m/plugins/PluginBase.js +1 -1
  390. package/src/sap/m/routing/TargetHandler.js +9 -4
  391. package/src/sap/m/semantic/AddAction.js +1 -1
  392. package/src/sap/m/semantic/CancelAction.js +1 -1
  393. package/src/sap/m/semantic/DeleteAction.js +1 -1
  394. package/src/sap/m/semantic/DetailPage.js +1 -1
  395. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  396. package/src/sap/m/semantic/EditAction.js +1 -1
  397. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  398. package/src/sap/m/semantic/FilterAction.js +1 -1
  399. package/src/sap/m/semantic/FilterSelect.js +1 -1
  400. package/src/sap/m/semantic/FlagAction.js +1 -1
  401. package/src/sap/m/semantic/ForwardAction.js +1 -1
  402. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  403. package/src/sap/m/semantic/GroupAction.js +1 -1
  404. package/src/sap/m/semantic/GroupSelect.js +1 -1
  405. package/src/sap/m/semantic/MainAction.js +1 -1
  406. package/src/sap/m/semantic/MasterPage.js +1 -1
  407. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  408. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  409. package/src/sap/m/semantic/NegativeAction.js +1 -1
  410. package/src/sap/m/semantic/OpenInAction.js +1 -1
  411. package/src/sap/m/semantic/PositiveAction.js +1 -1
  412. package/src/sap/m/semantic/PrintAction.js +1 -1
  413. package/src/sap/m/semantic/SaveAction.js +1 -1
  414. package/src/sap/m/semantic/Segment.js +1 -1
  415. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  416. package/src/sap/m/semantic/SemanticButton.js +1 -1
  417. package/src/sap/m/semantic/SemanticConfiguration.js +3 -5
  418. package/src/sap/m/semantic/SemanticControl.js +1 -1
  419. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  420. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  421. package/src/sap/m/semantic/SemanticPage.js +1 -1
  422. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  423. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  424. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  425. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  426. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  427. package/src/sap/m/semantic/ShareMenu.js +1 -1
  428. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  429. package/src/sap/m/semantic/SortAction.js +1 -1
  430. package/src/sap/m/semantic/SortSelect.js +1 -1
  431. package/src/sap/m/table/Util.js +192 -0
  432. package/src/sap/m/themes/base/AbstractContainer.less +17 -0
  433. package/src/sap/m/themes/base/Carousel.less +37 -2
  434. package/src/sap/m/themes/base/Dialog.less +11 -5
  435. package/src/sap/m/themes/base/GenericTile.less +441 -18
  436. package/src/sap/m/themes/base/IconTabBar.less +13 -7
  437. package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -2
  438. package/src/sap/m/themes/base/InputBase.less +0 -24
  439. package/src/sap/m/themes/base/Label.less +6 -0
  440. package/src/sap/m/themes/base/ListItemBase.less +4 -2
  441. package/src/sap/m/themes/base/MultiComboBox.less +17 -0
  442. package/src/sap/m/themes/base/NewsContent.less +48 -1
  443. package/src/sap/m/themes/base/NotificationListBase.less +1 -1
  444. package/src/sap/m/themes/base/NumericContent.less +87 -0
  445. package/src/sap/m/themes/base/ObjectNumber.less +10 -2
  446. package/src/sap/m/themes/base/ObjectStatus.less +5 -1
  447. package/src/sap/m/themes/base/P13nContainer.less +17 -0
  448. package/src/sap/m/themes/base/P13nDialog.less +4 -0
  449. package/src/sap/m/themes/base/SearchField.less +21 -14
  450. package/src/sap/m/themes/base/SegmentedButton.less +1 -1
  451. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +1 -2
  452. package/src/sap/m/themes/base/SlideTile.less +15 -0
  453. package/src/sap/m/themes/base/StandardListItem.less +1 -1
  454. package/src/sap/m/themes/base/Table.less +9 -8
  455. package/src/sap/m/themes/base/Text.less +6 -0
  456. package/src/sap/m/themes/base/TileContent.less +20 -0
  457. package/src/sap/m/themes/base/Token.less +0 -3
  458. package/src/sap/m/themes/base/library.source.less +4 -0
  459. package/src/sap/m/themes/base/p13n.Container.less +17 -0
  460. package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
  461. package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
  462. package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
  463. package/src/sap/m/upload/UploadSet.js +14 -18
  464. package/src/sap/m/upload/UploadSetItem.js +7 -2
  465. package/ui5.yaml +4 -1
  466. package/src/sap/m/ios7.js +0 -199
@@ -6,46 +6,35 @@
6
6
 
7
7
  // Provides control sap.m.StepInput.
8
8
  sap.ui.define([
9
- "sap/ui/core/Icon",
10
- "./Input",
11
- "./InputBase",
12
- "./InputRenderer",
13
9
  "sap/ui/core/Control",
14
10
  "sap/ui/core/IconPool",
15
- "sap/ui/core/LabelEnablement",
16
11
  "sap/ui/core/message/MessageMixin",
12
+ "sap/ui/core/format/NumberFormat",
17
13
  "sap/ui/model/ValidateException",
18
14
  "sap/ui/Device",
19
15
  "sap/ui/core/library",
20
- "sap/ui/core/Renderer",
21
16
  "sap/m/library",
17
+ "./NumericInput",
22
18
  "./StepInputRenderer",
23
19
  "sap/ui/events/KeyCodes",
24
20
  "sap/base/Log"
25
21
  ],
26
22
  function(
27
- Icon,
28
- Input,
29
- InputBase,
30
- InputRenderer,
31
23
  Control,
32
24
  IconPool,
33
- LabelEnablement,
34
25
  MessageMixin,
26
+ NumberFormat,
35
27
  ValidateException,
36
28
  Device,
37
29
  coreLibrary,
38
- Renderer,
39
30
  library,
31
+ NumericInput,
40
32
  StepInputRenderer,
41
33
  KeyCodes,
42
34
  Log
43
35
  ) {
44
36
  "use strict";
45
37
 
46
- // shortcut for sap.m.InputType
47
- var InputType = library.InputType;
48
-
49
38
  // shortcut for sap.ui.core.TextAlign
50
39
  var TextAlign = coreLibrary.TextAlign;
51
40
 
@@ -130,7 +119,7 @@ function(
130
119
  * @implements sap.ui.core.IFormContent
131
120
  *
132
121
  * @author SAP SE
133
- * @version 1.95.0
122
+ * @version 1.96.3
134
123
  *
135
124
  * @constructor
136
125
  * @public
@@ -325,117 +314,6 @@ function(
325
314
  */
326
315
  var aForwardableProps = ["enabled", "editable", "name", "placeholder", "required", "valueStateText", "description", "fieldWidth", "textAlign"];
327
316
 
328
-
329
- /****************************************** NUMERIC INPUT CONTROL ****************************************************/
330
-
331
- var NumericInputRenderer = Renderer.extend(InputRenderer);
332
-
333
- NumericInputRenderer.apiVersion = 2;
334
-
335
- NumericInputRenderer.writeInnerAttributes = function(oRm, oControl) {
336
- var oStepInput = oControl.getParent(),
337
- mAccAttributes = this.getAccessibilityState(oControl);
338
- // inside the Input this function also sets explicitly textAlign to "End" if the type
339
- // of the Input is Numeric (our case)
340
- // so we have to overwrite it by leaving only the text direction
341
- // and the textAlign will be controlled by textAlign property of the StepInput
342
- oRm.attr("type", oControl.getType().toLowerCase());
343
-
344
- if (sap.ui.getCore().getConfiguration().getRTL()) {
345
- oRm.attr("dir", "ltr");
346
- }
347
- // prevent rendering of aria-disabled attribute to avoid having
348
- // both aria-disabled and disabled at the same time
349
- mAccAttributes.disabled = null;
350
-
351
- oRm.accessibilityState(oStepInput, mAccAttributes);
352
- };
353
-
354
- //Accessibility behavior of the Input needs to be extended
355
- /**
356
- * Overwrites the accessibility state using the <code>getAccessibilityState</code> method of the <code>InputBaseRenderer</code>.
357
- *
358
- * @param {NumericInput} oNumericInput The numeric input instance
359
- * @returns {Array} mAccessibilityState
360
- */
361
- NumericInputRenderer.getAccessibilityState = function(oNumericInput) {
362
- var mAccessibilityState = InputRenderer.getAccessibilityState(oNumericInput),
363
- oStepInput = oNumericInput.getParent(),
364
- fMin = oStepInput._getMin(),
365
- fMax = oStepInput._getMax(),
366
- fNow = oStepInput.getValue(),
367
- sDescription = oStepInput.getDescription(),
368
- aAriaLabelledByRefs = oStepInput.getAriaLabelledBy(),
369
- // If we don't check this manually, we won't have the labels, which were referencing SI,
370
- // in aria-labelledby (which normally comes out of the box). This is because writeAccessibilityState
371
- // is called for NumericInput, while any labels will be for the parent StepInput.
372
- aReferencingLabels = LabelEnablement.getReferencingLabels(oStepInput),
373
- sDescribedBy = oStepInput.getAriaDescribedBy().join(" "),
374
- sResultingLabelledBy;
375
-
376
- mAccessibilityState.valuenow = fNow;
377
-
378
- if (sDescription) {
379
- // If there is a description, we should add a reference to it in the aria-labelledby
380
- aAriaLabelledByRefs.push(oStepInput._getInput().getId() + "-descr");
381
- }
382
-
383
- sResultingLabelledBy = aReferencingLabels.concat(aAriaLabelledByRefs).join(" ");
384
-
385
- if (typeof fMin === "number") {
386
- mAccessibilityState.valuemin = fMin;
387
- }
388
-
389
- if (typeof fMax === "number") {
390
- mAccessibilityState.valuemax = fMax;
391
- }
392
-
393
- if (!oStepInput.getEditable()) {
394
- mAccessibilityState.readonly = true;
395
- }
396
-
397
- if (sDescribedBy){
398
- mAccessibilityState.describedby = sDescribedBy;
399
- }
400
-
401
- if (sResultingLabelledBy){
402
- mAccessibilityState.labelledby = sResultingLabelledBy;
403
- }
404
-
405
- return mAccessibilityState;
406
- };
407
-
408
- var NumericInput = Input.extend("sap.m.internal.NumericInput", {
409
- metadata: {
410
- library: "sap.m"
411
- },
412
- constructor: function(sId, mSettings) {
413
- return Input.apply(this, arguments);
414
- },
415
- renderer: NumericInputRenderer
416
- });
417
-
418
- NumericInput.prototype.onBeforeRendering = function() {
419
- InputBase.prototype.onBeforeRendering.call(this);
420
-
421
- // The Input is handling its width in its onBeforeRendering method - if noting is set, the width is 100%.
422
- // As the NumericInput is using the InputBase's onBeforeRendering method, the width must be handled here too.
423
- // The real width of the StepInput is handled from its width property, so the NumericInput's width should be 100%.
424
- this.setWidth("100%");
425
-
426
- this._deregisterEvents();
427
- };
428
-
429
- NumericInput.prototype.setValue = function(sValue) {
430
- Input.prototype.setValue.apply(this, arguments);
431
-
432
- if (this.getDomRef()) {
433
- this.getDomRef("inner").setAttribute("aria-valuenow", sValue);
434
- }
435
-
436
- return this;
437
- };
438
-
439
317
  MessageMixin.call(StepInput.prototype);
440
318
 
441
319
  /**
@@ -572,7 +450,8 @@ function(
572
450
  * @returns {this} Reference to the control instance for chaining
573
451
  */
574
452
  StepInput.prototype.setDisplayValuePrecision = function (number) {
575
- var vValuePrecision;
453
+ var vValuePrecision,
454
+ oInstance;
576
455
 
577
456
  if (isValidPrecisionValue(number)) {
578
457
  vValuePrecision = parseInt(number);
@@ -581,7 +460,11 @@ function(
581
460
  Log.warning(this + ": ValuePrecision (" + number + ") is not correct. It should be a number between 0 and 20! Setting the default ValuePrecision:0.");
582
461
  }
583
462
 
584
- return this.setProperty("displayValuePrecision", vValuePrecision);
463
+ var oInstance = this.setProperty("displayValuePrecision", vValuePrecision);
464
+
465
+ this._getNumberFormatter(true);
466
+
467
+ return oInstance;
585
468
  };
586
469
 
587
470
  /**
@@ -631,7 +514,7 @@ function(
631
514
  });
632
515
 
633
516
  oIcon.getEnabled = function () {
634
- return !this._shouldDisableIncrementButton(Number(this._getInput().getValue()), this._getMax());
517
+ return !this._shouldDisableIncrementButton(this._parseNumber(this._getInput().getValue()), this._getMax());
635
518
  }.bind(this);
636
519
 
637
520
  oIcon.$().attr("tabindex", "-1");
@@ -664,7 +547,7 @@ function(
664
547
  });
665
548
 
666
549
  oIcon.getEnabled = function () {
667
- return !this._shouldDisableDecrementButton(Number(this._getInput().getValue()), this._getMin());
550
+ return !this._shouldDisableDecrementButton(this._parseNumber(this._getInput().getValue()), this._getMin());
668
551
  }.bind(this);
669
552
 
670
553
  oIcon.$().attr("tabindex", "-1");
@@ -692,7 +575,6 @@ function(
692
575
  var oNumericInput = new NumericInput({
693
576
  id: this.getId() + "-input",
694
577
  textAlign: this.getTextAlign(),
695
- type: InputType.Number,
696
578
  editable: this.getEditable(),
697
579
  enabled: this.getEnabled(),
698
580
  description: this.getDescription(),
@@ -720,7 +602,7 @@ function(
720
602
  } else {
721
603
  // just update the visual value and buttons
722
604
  this._applyValue(this._fTempValue);
723
- this._disableButtons(Number(this._getInput().getValue()), this._getMax(), this._getMin());
605
+ this._disableButtons(this._parseNumber(this._getInput().getValue()), this._getMax(), this._getMin());
724
606
  }
725
607
  return this;
726
608
  };
@@ -778,7 +660,7 @@ function(
778
660
 
779
661
  if (this._bDelayedEventFire) {
780
662
  this._applyValue(fNewValue);
781
- this._disableButtons(Number(this._getFormattedValue(fNewValue)), this._getMax(), this._getMin());
663
+ this._disableButtons(this._parseNumber(this._getFormattedValue(fNewValue)), this._getMax(), this._getMin());
782
664
  this._bNeedsVerification = true;
783
665
  }
784
666
 
@@ -922,7 +804,7 @@ function(
922
804
 
923
805
  this._sOriginalValue = oValue;
924
806
  this._applyValue(oValue);
925
- this._disableButtons(Number(this._getInput().getValue()), this._getMax(), this._getMin());
807
+ this._disableButtons(this._parseNumber(this._getInput().getValue()), this._getMax(), this._getMin());
926
808
 
927
809
  if (oValue !== this._fOldValue) {
928
810
  // save current value (for ESC restoring)
@@ -938,11 +820,19 @@ function(
938
820
  return oResult;
939
821
  };
940
822
 
823
+ StepInput.prototype._getNumberFormatter = function(bReset) {
824
+ if (!this._formatter || bReset) {
825
+ this._formatter = NumberFormat.getFloatInstance({ decimals: this.getDisplayValuePrecision() });
826
+ }
827
+
828
+ return this._formatter;
829
+ };
830
+
941
831
  /**
942
832
  * Formats the <code>vValue</code> accordingly to the <code>displayValuePrecision</code> property.
943
- * if vValue is undefined or null, the property <code>value</code> will be used.
833
+ * If vValue is undefined or null, the property <code>value</code> will be used.
944
834
  *
945
- * @returns formated value as a String
835
+ * @returns formatted value as a String
946
836
  * @private
947
837
  */
948
838
  StepInput.prototype._getFormattedValue = function (vValue) {
@@ -954,6 +844,10 @@ function(
954
844
  vValue = this.getValue();
955
845
  }
956
846
 
847
+ if (Device.system.desktop) {
848
+ return this._getNumberFormatter().format(vValue);
849
+ }
850
+
957
851
  if (iPrecision <= 0) {
958
852
  // return value without any decimals
959
853
  return parseFloat(vValue).toFixed(0);
@@ -970,7 +864,6 @@ function(
970
864
  } else {
971
865
  return vValue.toString() + "." + this._padZeroesRight("0", iPrecision);
972
866
  }
973
-
974
867
  };
975
868
 
976
869
  /**
@@ -1010,12 +903,12 @@ function(
1010
903
 
1011
904
  // fix the entered value if the precision is 0; and filter 'e/E' meanwhile
1012
905
  if (this.getDisplayValuePrecision() === 0) {
1013
- sInputValue = Math.round(Number(sInputValue.toLowerCase().split('e')[0])).toString();
906
+ sInputValue = Math.round(this._parseNumber(sInputValue.toLowerCase().split('e')[0])).toString();
1014
907
  }
1015
908
 
1016
909
  // calculates delta (difference) between input value and real control value
1017
910
  if (this._getFormattedValue(this._fTempValue) !== sInputValue) {
1018
- fDelta = Number(sInputValue) - this._fTempValue;
911
+ fDelta = this._parseNumber(sInputValue) - this._fTempValue;
1019
912
  }
1020
913
  return fDelta;
1021
914
  };
@@ -1060,7 +953,7 @@ function(
1060
953
  StepInput.prototype.onsappageupmodifiers = function (oEvent) {
1061
954
  if (this.getEditable() && this._isNumericLike(this._getMax()) && !(oEvent.ctrlKey || oEvent.metaKey || oEvent.altKey) && oEvent.shiftKey) {
1062
955
  this._bDelayedEventFire = true;
1063
- this._fTempValue = Number(this._getInput().getValue());
956
+ this._fTempValue = this._parseNumber(this._getInput().getValue());
1064
957
  this._changeValueWithStep(this._getMax() - this._fTempValue);
1065
958
  }
1066
959
  };
@@ -1073,7 +966,7 @@ function(
1073
966
  StepInput.prototype.onsappagedownmodifiers = function (oEvent) {
1074
967
  if (this.getEditable() && this._isNumericLike(this._getMin()) && !(oEvent.ctrlKey || oEvent.metaKey || oEvent.altKey) && oEvent.shiftKey) {
1075
968
  this._bDelayedEventFire = true;
1076
- this._fTempValue = Number(this._getInput().getValue());
969
+ this._fTempValue = this._parseNumber(this._getInput().getValue());
1077
970
  this._changeValueWithStep(-(this._fTempValue - this._getMin()));
1078
971
  }
1079
972
  };
@@ -1144,11 +1037,11 @@ function(
1144
1037
 
1145
1038
  if (oEvent.which === KeyCodes.ARROW_UP && !oEvent.altKey && oEvent.shiftKey && (oEvent.ctrlKey || oEvent.metaKey)) { //ctrl+shift+up
1146
1039
  fMax = this._getMax();
1147
- this._fTempValue = Number(this._getInput().getValue());
1040
+ this._fTempValue = this._parseNumber(this._getInput().getValue());
1148
1041
  fStep = (fMax !== undefined) ? fMax - this._fTempValue : 0;
1149
1042
  } else if (oEvent.which === KeyCodes.ARROW_DOWN && !oEvent.altKey && oEvent.shiftKey && (oEvent.ctrlKey || oEvent.metaKey)) { //ctrl+shift+down
1150
1043
  fMin = this._getMin();
1151
- this._fTempValue = Number(this._getInput().getValue());
1044
+ this._fTempValue = this._parseNumber(this._getInput().getValue());
1152
1045
  fStep = (fMin !== undefined) ? -(this._fTempValue - fMin) : 0;
1153
1046
  } else if (oEvent.which === KeyCodes.ARROW_UP && !(oEvent.ctrlKey || oEvent.metaKey || oEvent.altKey) && oEvent.shiftKey) { //shift+up
1154
1047
  fStep = this.getLargerStep();
@@ -1215,7 +1108,7 @@ function(
1215
1108
  * @private
1216
1109
  */
1217
1110
  StepInput.prototype._liveChange = function () {
1218
- this._disableButtons(Number(this._getInput().getValue()), this._getMax(), this._getMin());
1111
+ this._disableButtons(this._parseNumber(this._getInput().getValue()), this._getMax(), this._getMin());
1219
1112
  this._verifyValue();
1220
1113
  };
1221
1114
 
@@ -1232,7 +1125,7 @@ function(
1232
1125
  if (!this._isButtonFocused() ) {
1233
1126
 
1234
1127
  if (!this._btndown || bIsNotInValidRange) {
1235
- fOldValue = Number(this._getFormattedValue());
1128
+ fOldValue = this._parseNumber(this._getFormattedValue());
1236
1129
  if (this._fOldValue === undefined) {
1237
1130
  this._fOldValue = fOldValue;
1238
1131
  }
@@ -1242,7 +1135,7 @@ function(
1242
1135
  this._changeValue();
1243
1136
  this._bNeedsVerification = true;
1244
1137
  } else {
1245
- this._fTempValue = Number(this._getInput().getValue());
1138
+ this._fTempValue = this._parseNumber(this._getInput().getValue());
1246
1139
  }
1247
1140
  }
1248
1141
  };
@@ -1368,30 +1261,31 @@ function(
1368
1261
  * @param {sap.ui.base.Event} oEvent Event object
1369
1262
  * @private
1370
1263
  */
1371
- StepInput.prototype._restrictCharsWhenDecimal = function (oEvent) {
1372
- var iDecimalMark = oEvent.getParameter("value").indexOf("."),
1264
+ StepInput.prototype._restrictCharsWhenDecimal = function(oEvent) {
1265
+ var sDecimalSeparator = Device.system.desktop ? this._getNumberFormatter().oFormatOptions.decimalSeparator : ".";
1266
+ var iDecimalMark = oEvent.getParameter("value").indexOf(sDecimalSeparator),
1373
1267
  iCharsSet = this.getDisplayValuePrecision(),
1374
1268
  sEventValue = oEvent.getParameter("value"),
1375
1269
  sValue;
1376
1270
 
1377
1271
  if (iDecimalMark > 0 && iCharsSet >= 0) { //only for decimals
1378
- var sEventValueAfterTheDecimal = sEventValue.split('.')[1],
1272
+ var sEventValueAfterTheDecimal = sEventValue.split(sDecimalSeparator)[1],
1379
1273
  iCharsAfterTheDecimalSign = sEventValueAfterTheDecimal ? sEventValueAfterTheDecimal.length : 0,
1380
- sCharsBeforeTheEventDecimalValue = sEventValue.split('.')[0],
1381
- sCharsAfterTheEventDecimalValue = iCharsSet > 0 ? sEventValue.substring(sEventValue.indexOf('.') + 1, sEventValue.length) : '';
1274
+ sCharsBeforeTheEventDecimalValue = sEventValue.split(sDecimalSeparator)[0],
1275
+ sCharsAfterTheEventDecimalValue = iCharsSet > 0 ? sEventValue.substring(sEventValue.indexOf(sDecimalSeparator) + 1, sEventValue.length) : '';
1382
1276
 
1383
1277
  //scenario 1 - user typing after the decimal mark:
1384
1278
  if (!this._bPaste) {
1385
1279
  //if the characters after the decimal are more than the displayValuePrecision -> keep the current value after the decimal
1386
1280
  if (iCharsAfterTheDecimalSign > iCharsSet) {
1387
- sValue = sCharsBeforeTheEventDecimalValue + (iCharsSet > 0 ? "." + sCharsAfterTheEventDecimalValue.substr(0, iCharsSet) : '');
1281
+ sValue = sCharsBeforeTheEventDecimalValue + (iCharsSet > 0 ? sDecimalSeparator + sCharsAfterTheEventDecimalValue.substr(0, iCharsSet) : '');
1388
1282
  this._showWrongValueVisualEffect();
1389
1283
  }
1390
1284
 
1391
1285
  //scenario 2 - paste - cut the chars with length, bigger than displayValuePrecision
1392
1286
  } else {
1393
- if (sEventValue.indexOf(".")){
1394
- sValue = sEventValue.split('.')[0] + (iCharsSet > 0 ? "." + sEventValueAfterTheDecimal.substring(0, iCharsSet) : '');
1287
+ if (sEventValue.indexOf(sDecimalSeparator)){
1288
+ sValue = sEventValue.split(sDecimalSeparator)[0] + (iCharsSet > 0 ? sDecimalSeparator + sEventValueAfterTheDecimal.substring(0, iCharsSet) : '');
1395
1289
  }
1396
1290
  this._bPaste = false;
1397
1291
  }
@@ -1433,7 +1327,7 @@ function(
1433
1327
  */
1434
1328
  StepInput.prototype._getDefaultValue = function (value, max, min) {
1435
1329
  if (value !== "" && value !== undefined) {
1436
- return Number(this._getInput().getValue());
1330
+ return this._parseNumber(this._getInput().getValue());
1437
1331
  }
1438
1332
 
1439
1333
  if (this._isNumericLike(min) && min > 0) {
@@ -1564,7 +1458,7 @@ function(
1564
1458
  this._bSpinStarted = true;
1565
1459
  this._bDelayedEventFire = true;
1566
1460
  this._changeValueWithStep(bIncrementButton ? 1 : -1);
1567
- this._disableButtons(Number(this._getInput().getValue()), this._getMax(), this._getMin());
1461
+ this._disableButtons(this._parseNumber(this._getInput().getValue()), this._getMax(), this._getMin());
1568
1462
  if ((this._getIncrementButton().getEnabled() && bIncrementButton) || (this._getDecrementButton().getEnabled() && !bIncrementButton)) {
1569
1463
  this._spinValues(bIncrementButton);
1570
1464
  }
@@ -1592,7 +1486,8 @@ function(
1592
1486
  onmouseup: function (oEvent) {
1593
1487
  // check if the left mouse button is up
1594
1488
  // handled in touchend for mobile
1595
- if (Device.system.desktop && oEvent.button === 0) {
1489
+ // but the touchend comes before mousedown on android
1490
+ if (oEvent.button === 0) {
1596
1491
  this._bDelayedEventFire = undefined;
1597
1492
  this._btndown = false;
1598
1493
  this._stopSpin();
@@ -1605,15 +1500,13 @@ function(
1605
1500
  }
1606
1501
  }.bind(this),
1607
1502
  oncontextmenu: function (oEvent) {
1608
- if (!Device.os.android) {
1609
- // Context menu is shown on "long-touch"
1610
- // so prevent of showing it while "long-touching" on the button
1611
- oEvent.stopImmediatePropagation(true);
1612
- if (oEvent.originalEvent && oEvent.originalEvent.cancelable) {
1613
- oEvent.preventDefault();
1614
- }
1615
- oEvent.stopPropagation();
1503
+ // Context menu is shown on "long-touch"
1504
+ // so prevent of showing it while "long-touching" on the button
1505
+ oEvent.stopImmediatePropagation(true);
1506
+ if (oEvent.originalEvent && oEvent.originalEvent.cancelable) {
1507
+ oEvent.preventDefault();
1616
1508
  }
1509
+ oEvent.stopPropagation();
1617
1510
  },
1618
1511
  ontouchend: function(oEvent) {
1619
1512
  if (Device.system.phone || Device.system.tablet) {
@@ -1710,5 +1603,13 @@ function(
1710
1603
  };
1711
1604
  };
1712
1605
 
1606
+ StepInput.prototype._parseNumber = function(sValue) {
1607
+ if (Device.system.desktop) {
1608
+ return this._getNumberFormatter().parse(sValue);
1609
+ }
1610
+
1611
+ return Number(sValue);
1612
+ };
1613
+
1713
1614
  return StepInput;
1714
1615
  });
@@ -22,7 +22,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/ui/core/IconPool'],
22
22
  * @extends sap.ui.core.Item
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.95.0
25
+ * @version 1.96.3
26
26
  * @since 1.34
27
27
  *
28
28
  * @constructor
@@ -147,11 +147,5 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/ui/core/IconPool'],
147
147
  return this.getText();
148
148
  };
149
149
 
150
- // Suppress invalidate of the parent input field by property changes.
151
- SuggestionItem.prototype.invalidate = function() {
152
- return undefined;
153
- };
154
-
155
150
  return SuggestionItem;
156
-
157
151
  });
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @alias sap.m.SuggestionsPopover
61
61
  *
62
62
  * @author SAP SE
63
- * @version 1.95.0
63
+ * @version 1.96.3
64
64
  */
65
65
  var SuggestionsPopover = EventProvider.extend("sap.m.SuggestionsPopover", /** @lends sap.m.SuggestionsPopover.prototype */ {
66
66
 
@@ -443,6 +443,7 @@ sap.ui.define([
443
443
  if (oItem) {
444
444
  oItem.addStyleClass("sapMLIBFocused");
445
445
  oList.addStyleClass("sapMListFocus");
446
+ this.updateListDataAttributes(oList);
446
447
  } else if (this.getValueStateActiveState()) {
447
448
  oValueStateHeader.addStyleClass("sapMPseudoFocus");
448
449
  } else {
@@ -450,6 +451,48 @@ sap.ui.define([
450
451
  }
451
452
  };
452
453
 
454
+ /**
455
+ * Updates the data-sap-ui-* attributes of the list items.
456
+ *
457
+ * @private
458
+ * @param {sap.m.List} oList The suggestions list.
459
+ */
460
+ SuggestionsPopover.prototype.updateListDataAttributes = function (oList) {
461
+ if (!oList) {
462
+ return;
463
+ }
464
+
465
+ var aVisibleItems = oList.getVisibleItems();
466
+
467
+ if (!aVisibleItems) {
468
+ return;
469
+ }
470
+
471
+ aVisibleItems.forEach(function (oItem) {
472
+ var oItemDomRef = oItem.getDomRef();
473
+
474
+ if (oItemDomRef && oItemDomRef.hasAttribute("data-sap-ui-first-suggestion-item")) {
475
+ oItemDomRef.removeAttribute("data-sap-ui-first-suggestion-item");
476
+ }
477
+
478
+ if (oItemDomRef && oItemDomRef.hasAttribute("data-sap-ui-last-suggestion-item")) {
479
+ oItemDomRef.removeAttribute("data-sap-ui-last-suggestion-item");
480
+ }
481
+ });
482
+
483
+ if (aVisibleItems[0]) {
484
+ var oFirstVisibleItemDomRef = aVisibleItems[0].getDomRef();
485
+
486
+ oFirstVisibleItemDomRef && oFirstVisibleItemDomRef.setAttribute("data-sap-ui-first-suggestion-item", "");
487
+ }
488
+
489
+ if (aVisibleItems[aVisibleItems.length - 1]) {
490
+ var oLastVisibleItemDomRef = aVisibleItems[aVisibleItems.length - 1].getDomRef();
491
+
492
+ oLastVisibleItemDomRef && oLastVisibleItemDomRef.setAttribute("data-sap-ui-last-suggestion-item", "");
493
+ }
494
+ };
495
+
453
496
  /**
454
497
  * Handles the navigation inside the list.
455
498
  *
@@ -48,7 +48,7 @@ function(
48
48
  * @extends sap.ui.core.Control
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.95.0
51
+ * @version 1.96.3
52
52
  *
53
53
  * @constructor
54
54
  * @public
@@ -145,6 +145,11 @@ function(
145
145
  iPosition = Switch._ONPOSITION;
146
146
  }
147
147
 
148
+ // fix handle movement when the switch is shorter (no label) in some themes | BCP: 2170252080
149
+ if (iPosition > this._iNoLabelFix) {
150
+ iPosition = this._iNoLabelFix;
151
+ }
152
+
148
153
  if (this._iCurrentPosition === iPosition) {
149
154
  return;
150
155
  }
@@ -267,6 +272,9 @@ function(
267
272
 
268
273
  // add active state
269
274
  this.$("switch").addClass(CSS_CLASS + "Pressed");
275
+
276
+ // necessary for fixing handle movement when the switch is shorter (no label) in some themes | BCP: 2170252080
277
+ this._iNoLabelFix = parseInt(getComputedStyle(this.getDomRef("switch")).outlineOffset);
270
278
  };
271
279
 
272
280
  /**
@@ -66,7 +66,7 @@ sap.ui.define([
66
66
  * @extends sap.ui.core.Control
67
67
  *
68
68
  * @author SAP SE
69
- * @version 1.95.0
69
+ * @version 1.96.3
70
70
  *
71
71
  * @constructor
72
72
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element',
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.95.0
26
+ * @version 1.96.3
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -73,7 +73,7 @@ function(
73
73
  * space is exceeded, a horizontal scrollbar appears.
74
74
  *
75
75
  * @extends sap.ui.core.Control
76
- * @version 1.95.0
76
+ * @version 1.96.3
77
77
  *
78
78
  * @constructor
79
79
  * @private
@@ -25,7 +25,7 @@ sap.ui.define(["./library", "sap/ui/core/Item", "sap/ui/base/ManagedObject", "sa
25
25
  * @extends sap.ui.core.Item
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.95.0
28
+ * @version 1.96.3
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.m.ListBase
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.95.0
68
+ * @version 1.96.3
69
69
  *
70
70
  * @constructor
71
71
  * @public
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @class Table Personalization Controller
39
39
  * @extends sap.ui.base.ManagedObject
40
40
  * @author SAP
41
- * @version 1.95.0
41
+ * @version 1.96.3
42
42
  * @alias sap.m.TablePersoController
43
43
  */
44
44
  var TablePersoController = ManagedObject.extend("sap.m.TablePersoController", /** @lends sap.m.TablePersoController */
@@ -87,7 +87,7 @@ sap.ui.define([
87
87
  * @class Table Personalization Dialog
88
88
  * @extends sap.ui.base.ManagedObject
89
89
  * @author SAP
90
- * @version 1.95.0
90
+ * @version 1.96.3
91
91
  * @alias sap.m.TablePersoDialog
92
92
  */
93
93
  var TablePersoDialog = ManagedObject.extend("sap.m.TablePersoDialog", /** @lends sap.m.TablePersoDialog */
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/ManagedObject', "sap/base/Log"],
21
21
  * @extends sap.ui.base.ManagedObject
22
22
  * @abstract
23
23
  * @author SAP
24
- * @version 1.95.0
24
+ * @version 1.96.3
25
25
  * @alias sap.m.TablePersoProvider
26
26
  */
27
27
  var TablePersoProvider = ManagedObject.extend("sap.m.TablePersoProvider", /** @lends sap.m.TablePersoProvider */
@@ -98,7 +98,7 @@ sap.ui.define([
98
98
  * When using the <code>sap.m.TableSelectDialog</code> in SAP Quartz themes, the breakpoints and layout paddings could be determined by the dialog's width. To enable this concept and add responsive paddings to an element of the control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
99
99
  * @extends sap.m.SelectDialogBase
100
100
  * @author SAP SE
101
- * @version 1.95.0
101
+ * @version 1.96.3
102
102
  *
103
103
  * @constructor
104
104
  * @public
package/src/sap/m/Text.js CHANGED
@@ -54,7 +54,7 @@ function(library, Core, Control, coreLibrary, Device, HyphenationSupport, TextRe
54
54
  * @implements sap.ui.core.IShrinkable, sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent
55
55
  *
56
56
  * @author SAP SE
57
- * @version 1.95.0
57
+ * @version 1.96.3
58
58
  *
59
59
  * @constructor
60
60
  * @public