@openui5/sap.m 1.103.0 → 1.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +18 -1
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +36 -3
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +1 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +2 -3
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/BadgeEnabler.js +1 -2
  15. package/src/sap/m/Bar.js +11 -10
  16. package/src/sap/m/Breadcrumbs.js +2 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +49 -10
  20. package/src/sap/m/ButtonRenderer.js +10 -2
  21. package/src/sap/m/Carousel.js +3 -4
  22. package/src/sap/m/CarouselLayout.js +1 -1
  23. package/src/sap/m/CheckBox.js +46 -6
  24. package/src/sap/m/CheckBoxRenderer.js +1 -0
  25. package/src/sap/m/ColorPalette.js +1 -1
  26. package/src/sap/m/ColorPalettePopover.js +1 -1
  27. package/src/sap/m/Column.js +1 -1
  28. package/src/sap/m/ColumnHeaderPopover.js +5 -7
  29. package/src/sap/m/ColumnListItem.js +1 -4
  30. package/src/sap/m/ColumnListItemRenderer.js +1 -2
  31. package/src/sap/m/ColumnPopoverActionItem.js +3 -3
  32. package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
  33. package/src/sap/m/ColumnPopoverItem.js +3 -3
  34. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
  35. package/src/sap/m/ColumnPopoverSortItem.js +3 -3
  36. package/src/sap/m/ComboBox.js +6 -5
  37. package/src/sap/m/ComboBoxBase.js +1 -5
  38. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  39. package/src/sap/m/ComboBoxTextField.js +1 -7
  40. package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
  41. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  42. package/src/sap/m/CustomListItem.js +1 -1
  43. package/src/sap/m/CustomTile.js +1 -1
  44. package/src/sap/m/CustomTreeItem.js +3 -3
  45. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  46. package/src/sap/m/DatePicker.js +14 -24
  47. package/src/sap/m/DateRangeSelection.js +45 -38
  48. package/src/sap/m/DateTimeField.js +87 -20
  49. package/src/sap/m/DateTimeInput.js +1 -1
  50. package/src/sap/m/DateTimePicker.js +52 -28
  51. package/src/sap/m/Dialog.js +38 -1
  52. package/src/sap/m/DisplayListItem.js +1 -1
  53. package/src/sap/m/DraftIndicator.js +1 -1
  54. package/src/sap/m/DynamicDate.js +1 -1
  55. package/src/sap/m/DynamicDateFormat.js +2 -5
  56. package/src/sap/m/DynamicDateOption.js +43 -16
  57. package/src/sap/m/DynamicDateRange.js +49 -7
  58. package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
  59. package/src/sap/m/DynamicDateUtil.js +23 -2
  60. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  61. package/src/sap/m/ExpandableText.js +1 -1
  62. package/src/sap/m/FacetFilter.js +2 -2
  63. package/src/sap/m/FacetFilterItem.js +1 -1
  64. package/src/sap/m/FacetFilterList.js +4 -4
  65. package/src/sap/m/FeedContent.js +1 -1
  66. package/src/sap/m/FeedInput.js +1 -1
  67. package/src/sap/m/FeedListItem.js +1 -1
  68. package/src/sap/m/FeedListItemAction.js +1 -1
  69. package/src/sap/m/Fiori20Adapter.js +2 -2
  70. package/src/sap/m/FlexBox.js +1 -1
  71. package/src/sap/m/FlexItemData.js +1 -1
  72. package/src/sap/m/FormattedText.js +1 -1
  73. package/src/sap/m/GenericTag.js +1 -1
  74. package/src/sap/m/GenericTile.js +67 -16
  75. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  76. package/src/sap/m/GenericTileRenderer.js +16 -4
  77. package/src/sap/m/GroupHeaderListItem.js +1 -1
  78. package/src/sap/m/GrowingEnablement.js +37 -11
  79. package/src/sap/m/GrowingList.js +1 -1
  80. package/src/sap/m/HBox.js +1 -1
  81. package/src/sap/m/HeaderContainer.js +3 -3
  82. package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
  83. package/src/sap/m/IconTabBar.js +54 -22
  84. package/src/sap/m/IconTabBarSelectList.js +1 -1
  85. package/src/sap/m/IconTabFilter.js +1 -1
  86. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  87. package/src/sap/m/IconTabHeader.js +5 -1
  88. package/src/sap/m/IconTabSeparator.js +1 -1
  89. package/src/sap/m/IllustratedMessage.js +64 -25
  90. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  91. package/src/sap/m/Illustration.js +1 -1
  92. package/src/sap/m/IllustrationPool.js +1 -0
  93. package/src/sap/m/IllustrationRenderer.js +1 -1
  94. package/src/sap/m/Image.js +2 -2
  95. package/src/sap/m/ImageContent.js +1 -1
  96. package/src/sap/m/Input.js +51 -7
  97. package/src/sap/m/InputBase.js +1 -1
  98. package/src/sap/m/InputBaseRenderer.js +2 -2
  99. package/src/sap/m/InputListItem.js +1 -1
  100. package/src/sap/m/InputRenderer.js +4 -0
  101. package/src/sap/m/Label.js +34 -4
  102. package/src/sap/m/LabelRenderer.js +7 -2
  103. package/src/sap/m/LightBox.js +1 -1
  104. package/src/sap/m/LightBoxItem.js +1 -1
  105. package/src/sap/m/Link.js +95 -10
  106. package/src/sap/m/LinkRenderer.js +26 -12
  107. package/src/sap/m/List.js +38 -1
  108. package/src/sap/m/ListBase.js +104 -40
  109. package/src/sap/m/ListBaseRenderer.js +7 -15
  110. package/src/sap/m/ListItemBase.js +40 -11
  111. package/src/sap/m/ListItemBaseRenderer.js +17 -6
  112. package/src/sap/m/ListRenderer.js +2 -2
  113. package/src/sap/m/MaskEnabler.js +52 -2
  114. package/src/sap/m/MaskInput.js +23 -1
  115. package/src/sap/m/MaskInputRule.js +1 -1
  116. package/src/sap/m/Menu.js +1 -1
  117. package/src/sap/m/MenuButton.js +1 -1
  118. package/src/sap/m/MenuItem.js +1 -1
  119. package/src/sap/m/MenuListItem.js +1 -1
  120. package/src/sap/m/MessageBox.js +1 -1
  121. package/src/sap/m/MessageItem.js +3 -4
  122. package/src/sap/m/MessageListItem.js +8 -4
  123. package/src/sap/m/MessagePage.js +1 -1
  124. package/src/sap/m/MessagePopover.js +4 -1
  125. package/src/sap/m/MessagePopoverItem.js +1 -1
  126. package/src/sap/m/MessageStrip.js +1 -1
  127. package/src/sap/m/MessageToast.js +1 -1
  128. package/src/sap/m/MessageView.js +1 -1
  129. package/src/sap/m/MultiComboBox.js +5 -16
  130. package/src/sap/m/MultiEditField.js +1 -1
  131. package/src/sap/m/MultiInput.js +1 -15
  132. package/src/sap/m/NavContainer.js +21 -19
  133. package/src/sap/m/NewsContent.js +2 -3
  134. package/src/sap/m/NotificationList.js +1 -1
  135. package/src/sap/m/NotificationListBase.js +1 -1
  136. package/src/sap/m/NotificationListGroup.js +3 -7
  137. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  138. package/src/sap/m/NotificationListItem.js +1 -1
  139. package/src/sap/m/NumericContent.js +1 -1
  140. package/src/sap/m/NumericInput.js +1 -1
  141. package/src/sap/m/ObjectAttribute.js +1 -1
  142. package/src/sap/m/ObjectHeader.js +3 -3
  143. package/src/sap/m/ObjectIdentifier.js +3 -3
  144. package/src/sap/m/ObjectListItem.js +7 -1
  145. package/src/sap/m/ObjectMarker.js +1 -1
  146. package/src/sap/m/ObjectNumber.js +2 -3
  147. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  148. package/src/sap/m/ObjectStatus.js +2 -3
  149. package/src/sap/m/ObjectStatusRenderer.js +2 -2
  150. package/src/sap/m/OverflowToolbar.js +3 -8
  151. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  152. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -3
  153. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
  154. package/src/sap/m/OverflowToolbarButton.js +1 -1
  155. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  156. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  157. package/src/sap/m/P13nAnyFilterItem.js +3 -3
  158. package/src/sap/m/P13nColumnsItem.js +3 -3
  159. package/src/sap/m/P13nColumnsPanel.js +3 -3
  160. package/src/sap/m/P13nConditionPanel.js +10 -3
  161. package/src/sap/m/P13nDialog.js +3 -3
  162. package/src/sap/m/P13nDimMeasureItem.js +3 -3
  163. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  164. package/src/sap/m/P13nFilterItem.js +3 -3
  165. package/src/sap/m/P13nFilterPanel.js +3 -3
  166. package/src/sap/m/P13nGroupItem.js +3 -3
  167. package/src/sap/m/P13nGroupPanel.js +3 -3
  168. package/src/sap/m/P13nItem.js +3 -3
  169. package/src/sap/m/P13nOperationsHelper.js +2 -2
  170. package/src/sap/m/P13nPanel.js +3 -3
  171. package/src/sap/m/P13nSelectionItem.js +3 -3
  172. package/src/sap/m/P13nSelectionPanel.js +3 -3
  173. package/src/sap/m/P13nSortItem.js +3 -3
  174. package/src/sap/m/P13nSortPanel.js +3 -3
  175. package/src/sap/m/PDFViewer.js +2 -2
  176. package/src/sap/m/PDFViewerRenderer.js +1 -0
  177. package/src/sap/m/Page.js +1 -3
  178. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  179. package/src/sap/m/PagingButton.js +1 -1
  180. package/src/sap/m/Panel.js +1 -1
  181. package/src/sap/m/PlanningCalendar.js +4 -16
  182. package/src/sap/m/PlanningCalendarHeader.js +1 -5
  183. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  184. package/src/sap/m/PlanningCalendarRow.js +1 -1
  185. package/src/sap/m/PlanningCalendarView.js +1 -1
  186. package/src/sap/m/Popover.js +11 -4
  187. package/src/sap/m/ProgressIndicator.js +1 -1
  188. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  189. package/src/sap/m/PullToRefresh.js +1 -1
  190. package/src/sap/m/QuickView.js +3 -3
  191. package/src/sap/m/QuickViewBase.js +3 -3
  192. package/src/sap/m/QuickViewCard.js +3 -3
  193. package/src/sap/m/QuickViewGroup.js +1 -1
  194. package/src/sap/m/QuickViewGroupElement.js +3 -3
  195. package/src/sap/m/QuickViewPage.js +3 -3
  196. package/src/sap/m/RadioButton.js +47 -20
  197. package/src/sap/m/RadioButtonGroup.js +29 -19
  198. package/src/sap/m/RangeSlider.js +1 -3
  199. package/src/sap/m/RatingIndicator.js +8 -1
  200. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  201. package/src/sap/m/ResponsivePopover.js +3 -3
  202. package/src/sap/m/ResponsiveScale.js +1 -1
  203. package/src/sap/m/ScrollBar.js +1 -1
  204. package/src/sap/m/ScrollContainer.js +1 -1
  205. package/src/sap/m/SearchField.js +1 -1
  206. package/src/sap/m/SegmentedButton.js +1 -1
  207. package/src/sap/m/SegmentedButtonItem.js +1 -1
  208. package/src/sap/m/Select.js +7 -13
  209. package/src/sap/m/SelectDialog.js +2 -1
  210. package/src/sap/m/SelectDialogBase.js +1 -1
  211. package/src/sap/m/SelectList.js +1 -1
  212. package/src/sap/m/SelectListRenderer.js +2 -2
  213. package/src/sap/m/SelectionDetails.js +2 -2
  214. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  215. package/src/sap/m/SelectionDetailsItem.js +1 -1
  216. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  217. package/src/sap/m/Shell.js +1 -1
  218. package/src/sap/m/SimpleFixFlex.js +1 -1
  219. package/src/sap/m/SinglePlanningCalendar.js +5 -7
  220. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  221. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
  222. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  223. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
  224. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  225. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  227. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  228. package/src/sap/m/SlideTile.js +30 -5
  229. package/src/sap/m/Slider.js +1 -1
  230. package/src/sap/m/SliderTooltip.js +1 -3
  231. package/src/sap/m/SliderTooltipBase.js +1 -1
  232. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  233. package/src/sap/m/SliderTooltipContainer.js +1 -1
  234. package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
  235. package/src/sap/m/SliderTooltipRenderer.js +2 -2
  236. package/src/sap/m/SplitApp.js +1 -1
  237. package/src/sap/m/SplitButton.js +1 -3
  238. package/src/sap/m/SplitContainer.js +1 -5
  239. package/src/sap/m/StandardDynamicDateOption.js +9 -15
  240. package/src/sap/m/StandardListItem.js +1 -1
  241. package/src/sap/m/StandardListItemRenderer.js +2 -2
  242. package/src/sap/m/StandardTile.js +1 -1
  243. package/src/sap/m/StandardTreeItem.js +1 -1
  244. package/src/sap/m/StepInput.js +1 -1
  245. package/src/sap/m/SuggestionItem.js +1 -1
  246. package/src/sap/m/SuggestionsPopover.js +4 -2
  247. package/src/sap/m/Switch.js +1 -1
  248. package/src/sap/m/TabContainer.js +1 -1
  249. package/src/sap/m/TabContainerItem.js +1 -1
  250. package/src/sap/m/TabStrip.js +1 -1
  251. package/src/sap/m/TabStripItem.js +1 -1
  252. package/src/sap/m/Table.js +11 -9
  253. package/src/sap/m/TablePersoController.js +1 -1
  254. package/src/sap/m/TablePersoDialog.js +6 -15
  255. package/src/sap/m/TablePersoProvider.js +1 -1
  256. package/src/sap/m/TableRenderer.js +2 -9
  257. package/src/sap/m/TableSelectDialog.js +1 -1
  258. package/src/sap/m/Text.js +1 -1
  259. package/src/sap/m/TextArea.js +1 -1
  260. package/src/sap/m/TextAreaRenderer.js +1 -2
  261. package/src/sap/m/Tile.js +1 -1
  262. package/src/sap/m/TileContainer.js +1 -1
  263. package/src/sap/m/TileContent.js +8 -9
  264. package/src/sap/m/TileContentRenderer.js +3 -3
  265. package/src/sap/m/TimePicker.js +43 -6
  266. package/src/sap/m/TimePickerClock.js +2 -3
  267. package/src/sap/m/TimePickerClocks.js +5 -3
  268. package/src/sap/m/TimePickerClocksRenderer.js +1 -1
  269. package/src/sap/m/TimePickerInputs.js +1 -1
  270. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  271. package/src/sap/m/TimePickerInternals.js +1 -1
  272. package/src/sap/m/TimePickerSlider.js +1 -1
  273. package/src/sap/m/TimePickerSliders.js +3 -5
  274. package/src/sap/m/Title.js +1 -1
  275. package/src/sap/m/TitlePropagationSupport.js +1 -1
  276. package/src/sap/m/ToggleButton.js +2 -2
  277. package/src/sap/m/Token.js +1 -3
  278. package/src/sap/m/Tokenizer.js +1 -1
  279. package/src/sap/m/Toolbar.js +1 -1
  280. package/src/sap/m/ToolbarLayoutData.js +1 -1
  281. package/src/sap/m/ToolbarSeparator.js +1 -1
  282. package/src/sap/m/ToolbarSpacer.js +1 -1
  283. package/src/sap/m/Tree.js +8 -1
  284. package/src/sap/m/TreeItemBase.js +1 -1
  285. package/src/sap/m/TreeRenderer.js +0 -10
  286. package/src/sap/m/UploadCollection.js +2 -2
  287. package/src/sap/m/UploadCollectionItem.js +1 -1
  288. package/src/sap/m/UploadCollectionParameter.js +1 -1
  289. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  290. package/src/sap/m/VBox.js +1 -1
  291. package/src/sap/m/ValueStateHeader.js +1 -1
  292. package/src/sap/m/VariantItem.js +160 -0
  293. package/src/sap/m/VariantManagement.js +665 -570
  294. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  295. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  296. package/src/sap/m/ViewSettingsDialog.js +1 -1
  297. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  298. package/src/sap/m/ViewSettingsItem.js +1 -1
  299. package/src/sap/m/VisibleItem.js +1 -1
  300. package/src/sap/m/WheelSlider.js +1 -1
  301. package/src/sap/m/WheelSliderContainer.js +1 -1
  302. package/src/sap/m/Wizard.js +1 -3
  303. package/src/sap/m/WizardProgressNavigator.js +1 -1
  304. package/src/sap/m/WizardStep.js +1 -1
  305. package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
  306. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
  307. package/src/sap/m/changeHandler/CombineButtons.js +19 -22
  308. package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
  309. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
  310. package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
  311. package/src/sap/m/delegate/DateNavigation.js +0 -4
  312. package/src/sap/m/designtime/Link.designtime.js +19 -11
  313. package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
  314. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  315. package/src/sap/m/inputUtils/selectionRange.js +1 -2
  316. package/src/sap/m/library.js +30 -6
  317. package/src/sap/m/messagebundle.properties +30 -3
  318. package/src/sap/m/messagebundle_ar.properties +26 -8
  319. package/src/sap/m/messagebundle_bg.properties +20 -2
  320. package/src/sap/m/messagebundle_ca.properties +19 -1
  321. package/src/sap/m/messagebundle_cs.properties +20 -2
  322. package/src/sap/m/messagebundle_cy.properties +21 -3
  323. package/src/sap/m/messagebundle_da.properties +19 -1
  324. package/src/sap/m/messagebundle_de.properties +19 -1
  325. package/src/sap/m/messagebundle_el.properties +22 -4
  326. package/src/sap/m/messagebundle_en.properties +21 -3
  327. package/src/sap/m/messagebundle_en_GB.properties +21 -3
  328. package/src/sap/m/messagebundle_en_US_sappsd.properties +20 -2
  329. package/src/sap/m/messagebundle_en_US_saprigi.properties +18 -2
  330. package/src/sap/m/messagebundle_en_US_saptrc.properties +20 -2
  331. package/src/sap/m/messagebundle_es.properties +20 -2
  332. package/src/sap/m/messagebundle_es_MX.properties +19 -1
  333. package/src/sap/m/messagebundle_et.properties +19 -1
  334. package/src/sap/m/messagebundle_fi.properties +23 -5
  335. package/src/sap/m/messagebundle_fr.properties +20 -2
  336. package/src/sap/m/messagebundle_fr_CA.properties +21 -3
  337. package/src/sap/m/messagebundle_hi.properties +21 -3
  338. package/src/sap/m/messagebundle_hr.properties +23 -5
  339. package/src/sap/m/messagebundle_hu.properties +21 -3
  340. package/src/sap/m/messagebundle_id.properties +21 -3
  341. package/src/sap/m/messagebundle_it.properties +20 -2
  342. package/src/sap/m/messagebundle_iw.properties +21 -3
  343. package/src/sap/m/messagebundle_ja.properties +20 -2
  344. package/src/sap/m/messagebundle_kk.properties +19 -1
  345. package/src/sap/m/messagebundle_ko.properties +27 -9
  346. package/src/sap/m/messagebundle_lt.properties +19 -1
  347. package/src/sap/m/messagebundle_lv.properties +19 -1
  348. package/src/sap/m/messagebundle_ms.properties +20 -2
  349. package/src/sap/m/messagebundle_nl.properties +33 -15
  350. package/src/sap/m/messagebundle_no.properties +21 -3
  351. package/src/sap/m/messagebundle_pl.properties +20 -2
  352. package/src/sap/m/messagebundle_pt.properties +24 -6
  353. package/src/sap/m/messagebundle_pt_PT.properties +19 -1
  354. package/src/sap/m/messagebundle_ro.properties +20 -2
  355. package/src/sap/m/messagebundle_ru.properties +20 -2
  356. package/src/sap/m/messagebundle_sh.properties +20 -2
  357. package/src/sap/m/messagebundle_sk.properties +19 -1
  358. package/src/sap/m/messagebundle_sl.properties +20 -2
  359. package/src/sap/m/messagebundle_sv.properties +19 -1
  360. package/src/sap/m/messagebundle_th.properties +52 -34
  361. package/src/sap/m/messagebundle_tr.properties +23 -5
  362. package/src/sap/m/messagebundle_uk.properties +20 -2
  363. package/src/sap/m/messagebundle_vi.properties +20 -2
  364. package/src/sap/m/messagebundle_zh_CN.properties +20 -2
  365. package/src/sap/m/messagebundle_zh_TW.properties +19 -1
  366. package/src/sap/m/p13n/AbstractContainer.js +7 -7
  367. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  368. package/src/sap/m/p13n/BasePanel.js +8 -7
  369. package/src/sap/m/p13n/Container.js +3 -3
  370. package/src/sap/m/p13n/Engine.js +1254 -0
  371. package/src/sap/m/p13n/FlexUtil.js +161 -0
  372. package/src/sap/m/p13n/GroupController.js +145 -0
  373. package/src/sap/m/p13n/GroupPanel.js +12 -5
  374. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  375. package/src/sap/m/p13n/PersistenceProvider.js +160 -0
  376. package/src/sap/m/p13n/Popup.js +49 -12
  377. package/src/sap/m/p13n/QueryPanel.js +3 -3
  378. package/src/sap/m/p13n/SelectionController.js +548 -0
  379. package/src/sap/m/p13n/SelectionPanel.js +15 -3
  380. package/src/sap/m/p13n/SortController.js +153 -0
  381. package/src/sap/m/p13n/SortPanel.js +13 -3
  382. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  383. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  384. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  385. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  386. package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
  387. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  388. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
  389. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  390. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  391. package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
  392. package/src/sap/m/plugins/CellSelector.js +741 -0
  393. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  394. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  395. package/src/sap/m/plugins/PasteProvider.js +1 -1
  396. package/src/sap/m/plugins/PluginBase.js +4 -3
  397. package/src/sap/m/semantic/AddAction.js +1 -1
  398. package/src/sap/m/semantic/CancelAction.js +1 -1
  399. package/src/sap/m/semantic/DeleteAction.js +1 -1
  400. package/src/sap/m/semantic/DetailPage.js +1 -1
  401. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  402. package/src/sap/m/semantic/EditAction.js +1 -1
  403. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  404. package/src/sap/m/semantic/FilterAction.js +1 -1
  405. package/src/sap/m/semantic/FilterSelect.js +1 -1
  406. package/src/sap/m/semantic/FlagAction.js +1 -1
  407. package/src/sap/m/semantic/ForwardAction.js +1 -1
  408. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  409. package/src/sap/m/semantic/GroupAction.js +1 -1
  410. package/src/sap/m/semantic/GroupSelect.js +1 -1
  411. package/src/sap/m/semantic/MainAction.js +1 -1
  412. package/src/sap/m/semantic/MasterPage.js +1 -1
  413. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  414. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  415. package/src/sap/m/semantic/NegativeAction.js +1 -1
  416. package/src/sap/m/semantic/OpenInAction.js +1 -1
  417. package/src/sap/m/semantic/PositiveAction.js +1 -1
  418. package/src/sap/m/semantic/PrintAction.js +1 -1
  419. package/src/sap/m/semantic/SaveAction.js +1 -1
  420. package/src/sap/m/semantic/Segment.js +1 -1
  421. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  422. package/src/sap/m/semantic/SemanticButton.js +1 -1
  423. package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
  424. package/src/sap/m/semantic/SemanticControl.js +1 -1
  425. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  426. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  427. package/src/sap/m/semantic/SemanticPage.js +1 -1
  428. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  429. package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
  430. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  431. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  432. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  433. package/src/sap/m/semantic/ShareMenu.js +1 -1
  434. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  435. package/src/sap/m/semantic/SortAction.js +1 -1
  436. package/src/sap/m/semantic/SortSelect.js +1 -1
  437. package/src/sap/m/table/Util.js +14 -7
  438. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  439. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  440. package/src/sap/m/table/columnmenu/Item.js +1 -1
  441. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  442. package/src/sap/m/table/columnmenu/Menu.js +8 -2
  443. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  444. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  445. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  446. package/src/sap/m/table/columnmenu/QuickGroup.js +21 -3
  447. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  448. package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
  449. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -3
  450. package/src/sap/m/table/columnmenu/QuickTotal.js +21 -3
  451. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  452. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  453. package/src/sap/m/themes/base/Button.less +0 -1
  454. package/src/sap/m/themes/base/CellSelector.less +9 -0
  455. package/src/sap/m/themes/base/CheckBox.less +1 -0
  456. package/src/sap/m/themes/base/Dialog.less +1 -0
  457. package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
  458. package/src/sap/m/themes/base/FeedContent.less +13 -5
  459. package/src/sap/m/themes/base/GenericTile.less +49 -9
  460. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  461. package/src/sap/m/themes/base/NewsContent.less +6 -0
  462. package/src/sap/m/themes/base/NumericContent.less +1 -1
  463. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  464. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  465. package/src/sap/m/themes/base/SelectList.less +0 -5
  466. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  467. package/src/sap/m/themes/base/SlideTile.less +35 -4
  468. package/src/sap/m/themes/base/Table.less +11 -2
  469. package/src/sap/m/themes/base/TileContent.less +17 -0
  470. package/src/sap/m/themes/base/library.source.less +1 -0
  471. package/src/sap/m/upload/UploadSet.js +110 -21
  472. package/src/sap/m/upload/UploadSetItem.js +18 -7
  473. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  474. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  475. package/src/sap/m/upload/Uploader.js +1 -2
@@ -10,6 +10,7 @@ sap.ui.define([
10
10
  "sap/ui/events/KeyCodes",
11
11
  "sap/ui/model/BindingMode",
12
12
  "sap/ui/Device",
13
+ "sap/ui/core/Core",
13
14
  "sap/ui/core/library",
14
15
  "sap/ui/core/Control",
15
16
  "sap/ui/core/IconPool",
@@ -31,6 +32,7 @@ function(
31
32
  KeyCodes,
32
33
  BindingMode,
33
34
  Device,
35
+ Core,
34
36
  coreLibrary,
35
37
  Control,
36
38
  IconPool,
@@ -76,7 +78,7 @@ function(
76
78
  * @extends sap.ui.core.Control
77
79
  *
78
80
  * @author SAP SE
79
- * @version 1.103.0
81
+ * @version 1.105.0
80
82
  *
81
83
  * @constructor
82
84
  * @public
@@ -188,7 +190,7 @@ function(
188
190
  }});
189
191
 
190
192
  ListItemBase.getAccessibilityText = function(oControl, bDetectEmpty) {
191
- var oBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
193
+ var oBundle = Core.getLibraryResourceBundle("sap.m");
192
194
 
193
195
  if (!oControl || !oControl.getVisible || !oControl.getVisible()) {
194
196
  return bDetectEmpty ? oBundle.getText("CONTROL_EMPTY") : "";
@@ -265,6 +267,9 @@ function(
265
267
  // defines the root tag name for rendering purposes
266
268
  ListItemBase.prototype.TagName = "li";
267
269
 
270
+ // enable the ACC announcement for "not selected"
271
+ ListItemBase.prototype._bAnnounceNotSelected = true;
272
+
268
273
  // internal active state of the listitem
269
274
  ListItemBase.prototype.init = function() {
270
275
  this._active = false;
@@ -273,8 +278,15 @@ function(
273
278
  this._bNeedsNavigated = false;
274
279
  };
275
280
 
281
+ ListItemBase.prototype.onBeforeRendering = function() {
282
+ this._oDomRef = this.getDomRef();
283
+ };
284
+
276
285
  ListItemBase.prototype.onAfterRendering = function() {
277
- this.informList("DOMUpdate", true);
286
+ if (this._oDomRef !== this.getDomRef()) {
287
+ this.informList("DOMUpdate", true);
288
+ }
289
+ this._oDomRef = undefined;
278
290
  this._checkHighlight();
279
291
  this._checkNavigated();
280
292
  };
@@ -444,7 +456,7 @@ function(
444
456
  };
445
457
 
446
458
  ListItemBase.prototype.getAccessibilityInfo = function() {
447
- var oBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
459
+ var oBundle = Core.getLibraryResourceBundle("sap.m");
448
460
  return {
449
461
  type: this.getAccessibilityType(oBundle),
450
462
  description: this.getAccessibilityDescription(oBundle),
@@ -515,7 +527,7 @@ function(
515
527
  id: this.getId() + "-imgDel",
516
528
  icon: this.DeleteIconURI,
517
529
  type: ButtonType.Transparent,
518
- tooltip: sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("LIST_ITEM_DELETE")
530
+ tooltip: Core.getLibraryResourceBundle("sap.m").getText("LIST_ITEM_DELETE")
519
531
  }).addStyleClass("sapMLIBIconDel sapMLIBSelectD").setParent(this, null, true).attachPress(function(oEvent) {
520
532
  this.informList("Delete");
521
533
  }, this);
@@ -552,7 +564,7 @@ function(
552
564
  id: this.getId() + "-imgDet",
553
565
  icon: this.DetailIconURI,
554
566
  type: ButtonType.Transparent,
555
- tooltip: sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("LIST_ITEM_EDIT")
567
+ tooltip: Core.getLibraryResourceBundle("sap.m").getText("LIST_ITEM_EDIT")
556
568
  }).addStyleClass("sapMLIBType sapMLIBIconDet").setParent(this, null, true).attachPress(function() {
557
569
  this.fireDetailTap();
558
570
  this.fireDetailPress();
@@ -723,6 +735,7 @@ function(
723
735
  };
724
736
 
725
737
  ListItemBase.prototype.exit = function() {
738
+ this._oDomRef = null;
726
739
  this._oLastFocused = null;
727
740
  this._checkHighlight(false);
728
741
  this._checkNavigated(false);
@@ -808,16 +821,18 @@ function(
808
821
  // Updates the selected state of the DOM
809
822
  ListItemBase.prototype.updateSelectedDOM = function(bSelected, $This) {
810
823
  $This.toggleClass("sapMLIBSelected", bSelected);
811
- $This.attr("aria-selected", bSelected);
824
+
825
+ if ($This.attr("role") !== "listitem") {
826
+ $This.attr("aria-selected", bSelected);
827
+ }
812
828
  };
813
829
 
814
830
  ListItemBase.prototype.setParent = function(oParent) {
815
- Control.prototype.setParent.apply(this, arguments);
816
831
  if (!oParent) {
817
- this._bGroupHeader = false;
818
- return;
832
+ this.informList("Removed");
819
833
  }
820
834
 
835
+ Control.prototype.setParent.apply(this, arguments);
821
836
  this.informList("Inserted", this.bSelectedDelayed);
822
837
  return this;
823
838
  };
@@ -837,6 +852,20 @@ function(
837
852
  return this._bGroupHeader;
838
853
  };
839
854
 
855
+ /**
856
+ * This gets called from the ListBase for the GroupHeader items to inform the connected sub items
857
+ *
858
+ * @param {sap.m.ListItemBase} oLI The list item
859
+ */
860
+ ListItemBase.prototype.setGroupedItem = function(oLI) {
861
+ this._aGroupedItems = this._aGroupedItems || [];
862
+ this._aGroupedItems.push(oLI.getId());
863
+ };
864
+
865
+ ListItemBase.prototype.getGroupedItems = function() {
866
+ return this._aGroupedItems;
867
+ };
868
+
840
869
  /**
841
870
  * Determines whether item is in SingleSelectMaster mode or
842
871
  * other selection modes when includeItemInSelection is true
@@ -922,7 +951,7 @@ function(
922
951
  /**
923
952
  * Detect text selection.
924
953
  *
925
- * @param {object} oDomRef DOM element of the control
954
+ * @param {HTMLElement} oDomRef DOM element of the control
926
955
  * @returns {boolean} true if text selection is done within the control else false
927
956
  * @private
928
957
  */
@@ -221,7 +221,7 @@ sap.ui.define(["./library", "sap/ui/core/Core", "sap/ui/Device", "sap/ui/core/In
221
221
  * @protected
222
222
  */
223
223
  ListItemBaseRenderer.getAriaRole = function(oLI) {
224
- return "option";
224
+ return "listitem";
225
225
  };
226
226
 
227
227
  /**
@@ -283,14 +283,12 @@ sap.ui.define(["./library", "sap/ui/core/Core", "sap/ui/Device", "sap/ui/core/In
283
283
  ListItemBaseRenderer.getAccessibilityState = function(oLI) {
284
284
  var sAriaLabelledBy = this.getAriaLabelledBy(oLI),
285
285
  sAriaDescribedBy = this.getAriaDescribedBy(oLI),
286
+ sRole = this.getAriaRole(oLI),
286
287
  mAccessibilityState = {
287
- role: this.getAriaRole(oLI)
288
+ role: sRole,
289
+ roledescription: sRole === "listitem" ? oLI.getAccessibilityType(Core.getLibraryResourceBundle("sap.m")) : null
288
290
  };
289
291
 
290
- if (oLI.isSelectable()) {
291
- mAccessibilityState.selected = oLI.getProperty("selected");
292
- }
293
-
294
292
  if (sAriaLabelledBy) {
295
293
  mAccessibilityState.labelledby = {
296
294
  value: sAriaLabelledBy.trim(),
@@ -309,6 +307,19 @@ sap.ui.define(["./library", "sap/ui/core/Core", "sap/ui/Device", "sap/ui/core/In
309
307
  mAccessibilityState.current = true;
310
308
  }
311
309
 
310
+ if (sRole === "listitem") {
311
+ mAccessibilityState.selected = null;
312
+ if (oLI.isGroupHeader()) {
313
+ mAccessibilityState.role = "group";
314
+ var aGroupedItems = oLI.getGroupedItems();
315
+ if (aGroupedItems && aGroupedItems.length) {
316
+ mAccessibilityState.owns = aGroupedItems.join(" ");
317
+ }
318
+ }
319
+ } else if (oLI.isSelectable()) {
320
+ mAccessibilityState.selected = oLI.getSelected();
321
+ }
322
+
312
323
  return mAccessibilityState;
313
324
  };
314
325
 
@@ -19,8 +19,8 @@ sap.ui.define(["sap/ui/core/Renderer", "./ListBaseRenderer"],
19
19
  var ListRenderer = Renderer.extend(ListBaseRenderer);
20
20
  ListRenderer.apiVersion = 2;
21
21
 
22
- ListRenderer.getNoDataAriaRole = function() {
23
- return "option";
22
+ ListRenderer.getNoDataAriaRole = function(oControl) {
23
+ return oControl.getAriaRole() === "listbox" ? "option" : "listitem";
24
24
  };
25
25
 
26
26
  return ListRenderer;
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * Applies mask support for input controls.
27
27
  * It should should be applied to the prototype of a <code>sap.m.InputBase</code>.
28
28
  *
29
- * @version 1.103.0
29
+ * @version 1.105.0
30
30
  * @private
31
31
  * @mixin
32
32
  * @alias sap.m.MaskEnabler
@@ -164,6 +164,12 @@ sap.ui.define([
164
164
  this._applyMask();
165
165
  this._positionCaret(false);
166
166
  }
167
+
168
+ var sValue = this.getDOMValue();
169
+ if (!this._isMaskEnabled() && sValue !== this._sPreviousValue) {
170
+ this._fireLiveChange(sValue, this._sPreviousValue);
171
+ this._sPreviousValue = sValue;
172
+ }
167
173
  };
168
174
 
169
175
  /**
@@ -231,6 +237,7 @@ sap.ui.define([
231
237
  if (this._oTempValue._aContent.join("") !== this._oTempValue._aInitial.join("")) {
232
238
  InputBase.prototype.onsapescape.call(this, oEvent);
233
239
  }
240
+ this._bCheckForLiveChange = true;
234
241
  };
235
242
 
236
243
  /**
@@ -611,6 +618,28 @@ sap.ui.define([
611
618
  return this._aRules[iIndex].test(sChar);
612
619
  };
613
620
 
621
+ this.updateDomValue = function(sValue) {
622
+ InputBase.prototype.updateDomValue.call(this, sValue);
623
+
624
+ if (this._bCheckForLiveChange && sValue !== this._sPreviousValue) {
625
+ this._fireLiveChange(sValue, this._sPreviousValue);
626
+ this._sPreviousValue = sValue;
627
+ }
628
+
629
+ this._bCheckForLiveChange = false;
630
+ };
631
+
632
+ /**
633
+ * Fires liveChange event.
634
+ * @private
635
+ */
636
+ this._fireLiveChange = function(sNewValue, sPreviousValue) {
637
+ this.fireLiveChange && this.fireLiveChange({
638
+ value: sNewValue,
639
+ previousValue: sPreviousValue
640
+ });
641
+ };
642
+
614
643
  /**
615
644
  * Sets up default mask rules.
616
645
  * @private
@@ -859,6 +888,13 @@ sap.ui.define([
859
888
  * @private
860
889
  */
861
890
  this._applyAndUpdate = function (sMaskInputValue) {
891
+ if (this._oTempValue && (this._sPreviousValue === undefined || this._sPreviousValue === "")) {
892
+ this._sPreviousValue = this._oTempValue.toString();
893
+ this._bCheckForLiveChange = false;
894
+ } else if (!this._bCutInProgress) {
895
+ this._bCheckForLiveChange = true;
896
+ }
897
+
862
898
  this._applyRules(sMaskInputValue);
863
899
  this.updateDomValue(this._oTempValue.toString());
864
900
  };
@@ -984,6 +1020,8 @@ sap.ui.define([
984
1020
  iEnd = iEnd - 1;
985
1021
  this._resetTempValue(iBegin, iEnd);
986
1022
 
1023
+ this._bCutInProgress = true;
1024
+
987
1025
  //oncut happens before the input event fires (before oninput)
988
1026
  //we want to use the values from this point of time
989
1027
  //but set them after the input event is handled (after oninput)
@@ -994,6 +1032,8 @@ sap.ui.define([
994
1032
  //update the temp value back
995
1033
  //because oninput breaks it
996
1034
  this._oTempValue._aContent = aOldTempValueContent;
1035
+ this._bCheckForLiveChange = true;
1036
+ this._bCutInProgress = false;
997
1037
  this.updateDomValue(sValue);
998
1038
 
999
1039
  //we want that shortly after updateDomValue
@@ -1008,6 +1048,14 @@ sap.ui.define([
1008
1048
  ), iMinBrowserDelay);
1009
1049
  };
1010
1050
 
1051
+ /**
1052
+ * Handle paste event.
1053
+ * @private
1054
+ */
1055
+ this.onpaste = function() {
1056
+ this._bCheckForLiveChange = true;
1057
+ };
1058
+
1011
1059
  /**
1012
1060
  * Handles <code>onKeyDown</code> event.
1013
1061
  * @param {jQuery.Event} oEvent The jQuery event object
@@ -1029,7 +1077,6 @@ sap.ui.define([
1029
1077
  iCursorPos = this._getCursorPosition();
1030
1078
  oSelection = this._getTextSelection();
1031
1079
 
1032
-
1033
1080
  // Determine the correct direction based on RTL mode, input characters and selection state
1034
1081
  sDirection = this._determineArrowKeyDirection(oKey, oSelection);
1035
1082
 
@@ -1095,6 +1142,7 @@ sap.ui.define([
1095
1142
  }
1096
1143
 
1097
1144
  this._resetTempValue(iBegin, iEnd);
1145
+ this._bCheckForLiveChange = true;
1098
1146
  this.updateDomValue(this._oTempValue.toString());
1099
1147
  this._setCursorPosition(Math.max(this._iUserInputStartPosition, iBegin));
1100
1148
  };
@@ -1120,6 +1168,7 @@ sap.ui.define([
1120
1168
 
1121
1169
  if (bAtLeastOneSuccessfulCharPlacement) {
1122
1170
  iNextPos = iPos; //because the cycle above already found the next pos
1171
+ this._bCheckForLiveChange = true;
1123
1172
  this.updateDomValue(this._oTempValue.toString());
1124
1173
  this._setCursorPosition(iNextPos);
1125
1174
  }
@@ -1514,6 +1563,7 @@ sap.ui.define([
1514
1563
  */
1515
1564
  // Should be called from within the input handler(not in a delayed call), otherwise a flickering between
1516
1565
  // the old and new value will be observed
1566
+
1517
1567
  this.updateDomValue(this._oKeyDownStateAndroid.sValue);
1518
1568
 
1519
1569
  setTimeout(function(oInputEvent, oKeyDownState, oKey) {
@@ -29,7 +29,7 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
29
29
  *
30
30
  * @author SAP SE
31
31
  * @extends sap.m.InputBase
32
- * @version 1.103.0
32
+ * @version 1.105.0
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -82,6 +82,28 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
82
82
  rules: { type: "sap.m.MaskInputRule", multiple: true, singularName: "rule" }
83
83
 
84
84
  },
85
+ events : {
86
+
87
+ /**
88
+ * Fired when the value of the <code>MaskInput</code> is changed by user interaction - each keystroke, delete, paste, etc.
89
+ *
90
+ * <b>Note:</b> Browsing autocomplete suggestions doesn't fire the event.
91
+ * @since 1.104.0
92
+ */
93
+ liveChange: {
94
+ parameters : {
95
+ /**
96
+ * The current value of the input, after a live change event.
97
+ */
98
+ value: {type : "string"},
99
+
100
+ /**
101
+ * The previous value of the input, before the last user interaction.
102
+ */
103
+ previousValue: {type : "string"}
104
+ }
105
+ }
106
+ },
85
107
  dnd: { draggable: false, droppable: true }
86
108
  }
87
109
  });
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element', "sap/base/Log"], function(Element, Log) {
20
20
  *
21
21
  * @author SAP SE
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.103.0
23
+ * @version 1.105.0
24
24
  * @public
25
25
  * @constructor
26
26
  * @since 1.34.0
package/src/sap/m/Menu.js CHANGED
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @implements sap.ui.core.IContextMenu
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.103.0
71
+ * @version 1.105.0
72
72
  *
73
73
  * @constructor
74
74
  * @public
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Control
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.103.0
61
+ * @version 1.105.0
62
62
  *
63
63
  * @constructor
64
64
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/ui/base/ManagedObjectObserv
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.103.0
26
+ * @version 1.105.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.m.ListItemBase
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.103.0
35
+ * @version 1.105.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -516,7 +516,7 @@ sap.ui.define([
516
516
  var i = 0;
517
517
  var oInitialFocusControl = null;
518
518
  if (mOptions.initialFocus) {
519
- if (mOptions.initialFocus instanceof Control) {//covers sap.m.Control cases
519
+ if (mOptions.initialFocus instanceof Control) {//covers sap.ui.core.Control cases
520
520
  oInitialFocusControl = mOptions.initialFocus;
521
521
  }
522
522
 
@@ -8,10 +8,9 @@ sap.ui.define([
8
8
  "./library",
9
9
  "sap/ui/core/Item",
10
10
  "sap/ui/core/library",
11
- "sap/base/Log",
12
- "sap/base/security/sanitizeHTML"
11
+ "sap/base/Log"
13
12
  ],
14
- function(library, Item, coreLibrary, Log, sanitizeHTML) {
13
+ function(library, Item, coreLibrary, Log) {
15
14
  "use strict";
16
15
 
17
16
  // shortcut for sap.ui.core.MessageType
@@ -37,7 +36,7 @@ sap.ui.define([
37
36
  *
38
37
  * @extends sap.ui.core.Item
39
38
  * @author SAP SE
40
- * @version 1.103.0
39
+ * @version 1.105.0
41
40
  *
42
41
  * @constructor
43
42
  * @public
@@ -19,6 +19,9 @@ sap.ui.define([
19
19
  // shortcut for sap.ui.core.MessageType
20
20
  var MessageType = coreLibrary.MessageType;
21
21
 
22
+ // shortcut for sap.m.ListType
23
+ var ListType = library.ListType;
24
+
22
25
  /**
23
26
  * Constructor for a new MessageListItem.
24
27
  *
@@ -30,7 +33,7 @@ sap.ui.define([
30
33
  * @extends sap.m.StandardListItem
31
34
  *
32
35
  * @author SAP SE
33
- * @version 1.103.0
36
+ * @version 1.105.0
34
37
  *
35
38
  * @constructor
36
39
  * @private
@@ -98,13 +101,14 @@ sap.ui.define([
98
101
 
99
102
  MessageListItem.prototype.getContentAnnouncement = function(oBundle) {
100
103
  var sAnnouncement = StandardListItem.prototype.getContentAnnouncement.apply(this, arguments),
101
- sAdditionalText, sMessageType;
104
+ sAdditionalTextLocation, sAdditionalTextDescription, sMessageType;
102
105
 
103
106
  if (this.getActiveTitle()) {
104
107
  sMessageType = oBundle.getText("MESSAGEVIEW_BUTTON_TOOLTIP_" + this.getMessageType().toUpperCase());
105
- sAdditionalText = oBundle.getText("MESSAGE_LIST_ITEM_FOCUS_TEXT", [sMessageType]);
108
+ sAdditionalTextLocation = oBundle.getText("MESSAGE_LIST_ITEM_FOCUS_TEXT_LOCATION", [sMessageType]);
109
+ sAdditionalTextDescription = this.getType() === ListType.Navigation ? oBundle.getText("MESSAGE_LIST_ITEM_FOCUS_TEXT_DESCRIPTION") : "";
106
110
 
107
- sAnnouncement += " ".concat(sAdditionalText);
111
+ sAnnouncement += ". ".concat(sAdditionalTextLocation, ". ", sAdditionalTextDescription);
108
112
  }
109
113
  return sAnnouncement;
110
114
  };
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @see {@link fiori:https://experience.sap.com/fiori-design-web/message-page/ Message Page}
73
73
  *
74
74
  * @extends sap.ui.core.Control
75
- * @version 1.103.0
75
+ * @version 1.105.0
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -91,7 +91,7 @@ function(
91
91
  * @extends sap.ui.core.Control
92
92
  *
93
93
  * @author SAP SE
94
- * @version 1.103.0
94
+ * @version 1.105.0
95
95
  *
96
96
  * @constructor
97
97
  * @public
@@ -378,6 +378,9 @@ function(
378
378
  modal: false,
379
379
  afterOpen: function (oEvent) {
380
380
  that.fireAfterOpen({openBy: oEvent.getParameter("openBy")});
381
+
382
+ // ensure that the focus is in the correct place
383
+ that.getInitiallyExpanded() && that._oMessageView._restoreFocus();
381
384
  },
382
385
  afterClose: function (oEvent) {
383
386
  that._oMessageView._navContainer.backToTop();
@@ -19,7 +19,7 @@ sap.ui.define(["./library", "./MessageItem"],
19
19
  * @extends sap.m.MessageItem
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.103.0
22
+ * @version 1.105.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @extends sap.ui.core.Control
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.103.0
86
+ * @version 1.105.0
87
87
  *
88
88
  * @constructor
89
89
  * @public
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * The message toast has the same behavior on all devices. However, you can adjust the width of the control, for example, for use on a desktop device.
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.103.0
73
+ * @version 1.105.0
74
74
  *
75
75
  * @namespace
76
76
  * @public
@@ -112,7 +112,7 @@ sap.ui.define([
112
112
  * The responsiveness of the <code>MessageView</code> is determined by the container in which it is embedded. For that reason the control could not be visualized if the
113
113
  * container’s sizes are not defined.
114
114
  * @author SAP SE
115
- * @version 1.103.0
115
+ * @version 1.105.0
116
116
  *
117
117
  * @extends sap.ui.core.Control
118
118
  * @constructor
@@ -6,14 +6,10 @@
6
6
 
7
7
  sap.ui.define([
8
8
  './InputBase',
9
- './ComboBoxTextField',
10
9
  './ComboBoxBase',
11
10
  './Tokenizer',
12
11
  './Token',
13
- './List',
14
- './StandardListItem',
15
12
  './Popover',
16
- './GroupHeaderListItem',
17
13
  './CheckBox',
18
14
  './Toolbar',
19
15
  './library',
@@ -22,7 +18,6 @@ sap.ui.define([
22
18
  'sap/ui/core/library',
23
19
  'sap/ui/Device',
24
20
  'sap/ui/core/Item',
25
- 'sap/ui/core/SeparatorItem',
26
21
  'sap/ui/core/ResizeHandler',
27
22
  './MultiComboBoxRenderer',
28
23
  "sap/ui/dom/containsOrEquals",
@@ -32,8 +27,6 @@ sap.ui.define([
32
27
  "sap/m/inputUtils/ListHelpers",
33
28
  "sap/m/inputUtils/filterItems",
34
29
  "sap/m/inputUtils/itemsVisibilityHandler",
35
- "sap/m/inputUtils/selectionRange",
36
- "sap/m/inputUtils/calculateSelectionStart",
37
30
  "sap/m/inputUtils/forwardItemPropertiesToToken",
38
31
  "sap/m/inputUtils/getTokenByItem",
39
32
  "sap/ui/events/KeyCodes",
@@ -50,14 +43,10 @@ sap.ui.define([
50
43
  ],
51
44
  function(
52
45
  InputBase,
53
- ComboBoxTextField,
54
46
  ComboBoxBase,
55
47
  Tokenizer,
56
48
  Token,
57
- List,
58
- StandardListItem,
59
49
  Popover,
60
- GroupHeaderListItem,
61
50
  CheckBox,
62
51
  Toolbar,
63
52
  library,
@@ -66,7 +55,6 @@ function(
66
55
  coreLibrary,
67
56
  Device,
68
57
  Item,
69
- SeparatorItem,
70
58
  ResizeHandler,
71
59
  MultiComboBoxRenderer,
72
60
  containsOrEquals,
@@ -76,8 +64,6 @@ function(
76
64
  ListHelpers,
77
65
  filterItems,
78
66
  itemsVisibilityHandler,
79
- selectionRange,
80
- calculateSelectionStart,
81
67
  forwardItemPropertiesToToken,
82
68
  getTokenByItem,
83
69
  KeyCodes,
@@ -159,7 +145,7 @@ function(
159
145
  * </ul>
160
146
  *
161
147
  * @author SAP SE
162
- * @version 1.103.0
148
+ * @version 1.105.0
163
149
  *
164
150
  * @constructor
165
151
  * @extends sap.m.ComboBoxBase
@@ -1177,6 +1163,9 @@ function(
1177
1163
  return;
1178
1164
  }
1179
1165
 
1166
+ // apply aria role="listbox" to List control
1167
+ oList.applyAriaRole("listbox");
1168
+
1180
1169
  // configure the list
1181
1170
  oList.setMode(ListMode.MultiSelect);
1182
1171
  oList.setIncludeItemInSelection(true);
@@ -3045,7 +3034,7 @@ function(
3045
3034
  * Map an item type of sap.ui.core.Item to an item type of sap.m.StandardListItem.
3046
3035
  *
3047
3036
  * @param {sap.ui.core.Item} oItem The item to be matched
3048
- * @returns {sap.m.StandardListItem | GroupHeaderListItem | null} The matched StandardListItem
3037
+ * @returns {sap.m.StandardListItem | sap.m.GroupHeaderListItem | null} The matched StandardListItem
3049
3038
  * @private
3050
3039
  */
3051
3040
  MultiComboBox.prototype._mapItemToListItem = function (oItem) {
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/core/XMLComposite", "./library", "sap/ui/core/Item"], fun
17
17
  * @implements sap.ui.core.IFormContent
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.103.0
20
+ * @version 1.105.0
21
21
  * @experimental since 1.52
22
22
  * @since 1.52.0
23
23
  * @alias sap.m.MultiEditField