@openui5/sap.m 1.107.1 → 1.108.1

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 (462) hide show
  1. package/.dtsgenrc +22 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +2 -2
  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/ActionTile.js +17 -1
  10. package/src/sap/m/ActionTileContent.js +7 -5
  11. package/src/sap/m/AdditionalTextButton.js +42 -0
  12. package/src/sap/m/AdditionalTextButtonRenderer.js +60 -0
  13. package/src/sap/m/App.js +1 -1
  14. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  15. package/src/sap/m/Avatar.js +49 -7
  16. package/src/sap/m/AvatarRenderer.js +10 -2
  17. package/src/sap/m/Bar.js +2 -2
  18. package/src/sap/m/Breadcrumbs.js +1 -1
  19. package/src/sap/m/BusyDialog.js +1 -1
  20. package/src/sap/m/BusyIndicator.js +1 -1
  21. package/src/sap/m/Button.js +1 -1
  22. package/src/sap/m/ButtonRenderer.js +26 -23
  23. package/src/sap/m/Carousel.js +348 -286
  24. package/src/sap/m/CarouselLayout.js +1 -1
  25. package/src/sap/m/CarouselRenderer.js +52 -20
  26. package/src/sap/m/CheckBox.js +1 -1
  27. package/src/sap/m/ColorPalette.js +1 -1
  28. package/src/sap/m/ColorPalettePopover.js +1 -1
  29. package/src/sap/m/Column.js +36 -8
  30. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  31. package/src/sap/m/ColumnListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  33. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  34. package/src/sap/m/ColumnPopoverItem.js +1 -1
  35. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  36. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  37. package/src/sap/m/ComboBox.js +1 -1
  38. package/src/sap/m/ComboBoxBase.js +1 -1
  39. package/src/sap/m/ComboBoxTextField.js +1 -1
  40. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  41. package/src/sap/m/CustomListItem.js +1 -1
  42. package/src/sap/m/CustomTile.js +1 -1
  43. package/src/sap/m/CustomTreeItem.js +1 -1
  44. package/src/sap/m/DatePicker.js +15 -6
  45. package/src/sap/m/DateRangeSelection.js +2 -2
  46. package/src/sap/m/DateTimeField.js +1 -1
  47. package/src/sap/m/DateTimeInput.js +1 -1
  48. package/src/sap/m/DateTimePicker.js +12 -8
  49. package/src/sap/m/Dialog.js +29 -2
  50. package/src/sap/m/DialogRenderer.js +20 -6
  51. package/src/sap/m/DisplayListItem.js +1 -1
  52. package/src/sap/m/DraftIndicator.js +1 -1
  53. package/src/sap/m/DynamicDate.js +1 -1
  54. package/src/sap/m/DynamicDateOption.js +1 -1
  55. package/src/sap/m/DynamicDateRange.js +3 -2
  56. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  57. package/src/sap/m/ExpandableText.js +42 -2
  58. package/src/sap/m/ExpandableTextRenderer.js +4 -1
  59. package/src/sap/m/FacetFilter.js +1 -1
  60. package/src/sap/m/FacetFilterItem.js +1 -1
  61. package/src/sap/m/FacetFilterList.js +1 -1
  62. package/src/sap/m/FeedContent.js +1 -1
  63. package/src/sap/m/FeedInput.js +1 -1
  64. package/src/sap/m/FeedListItem.js +1 -1
  65. package/src/sap/m/FeedListItemAction.js +1 -1
  66. package/src/sap/m/Fiori20Adapter.js +2 -2
  67. package/src/sap/m/FlexBox.js +1 -1
  68. package/src/sap/m/FlexItemData.js +1 -1
  69. package/src/sap/m/FormattedText.js +1 -1
  70. package/src/sap/m/GenericTag.js +1 -1
  71. package/src/sap/m/GenericTile.js +115 -18
  72. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  73. package/src/sap/m/GenericTileRenderer.js +21 -14
  74. package/src/sap/m/GroupHeaderListItem.js +1 -1
  75. package/src/sap/m/GrowingList.js +1 -1
  76. package/src/sap/m/HBox.js +1 -1
  77. package/src/sap/m/HeaderContainer.js +1 -1
  78. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  79. package/src/sap/m/IconTabBar.js +1 -1
  80. package/src/sap/m/IconTabBarSelectList.js +1 -1
  81. package/src/sap/m/IconTabFilter.js +1 -1
  82. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  83. package/src/sap/m/IconTabHeader.js +1 -1
  84. package/src/sap/m/IconTabSeparator.js +1 -1
  85. package/src/sap/m/IllustratedMessage.js +68 -10
  86. package/src/sap/m/IllustratedMessageRenderer.js +6 -0
  87. package/src/sap/m/IllustratedMessageSize.js +8 -1
  88. package/src/sap/m/Illustration.js +1 -1
  89. package/src/sap/m/IllustrationPool.js +2 -0
  90. package/src/sap/m/Image.js +1 -1
  91. package/src/sap/m/ImageContent.js +1 -1
  92. package/src/sap/m/Input.js +3 -2
  93. package/src/sap/m/InputBase.js +4 -3
  94. package/src/sap/m/InputListItem.js +1 -1
  95. package/src/sap/m/Label.js +11 -5
  96. package/src/sap/m/LabelRenderer.js +5 -3
  97. package/src/sap/m/LightBox.js +1 -1
  98. package/src/sap/m/LightBoxItem.js +1 -1
  99. package/src/sap/m/Link.js +1 -1
  100. package/src/sap/m/List.js +1 -1
  101. package/src/sap/m/ListBase.js +1 -1
  102. package/src/sap/m/ListBaseRenderer.js +1 -1
  103. package/src/sap/m/ListItemBase.js +3 -3
  104. package/src/sap/m/MaskEnabler.js +1 -1
  105. package/src/sap/m/MaskInput.js +1 -1
  106. package/src/sap/m/MaskInputRule.js +1 -1
  107. package/src/sap/m/Menu.js +1 -1
  108. package/src/sap/m/MenuButton.js +1 -1
  109. package/src/sap/m/MenuItem.js +1 -1
  110. package/src/sap/m/MenuListItem.js +1 -1
  111. package/src/sap/m/MessageItem.js +1 -1
  112. package/src/sap/m/MessageListItem.js +1 -1
  113. package/src/sap/m/MessagePage.js +1 -1
  114. package/src/sap/m/MessagePopover.js +1 -1
  115. package/src/sap/m/MessagePopoverItem.js +1 -1
  116. package/src/sap/m/MessageStrip.js +1 -1
  117. package/src/sap/m/MessageToast.js +1 -1
  118. package/src/sap/m/MessageView.js +1 -1
  119. package/src/sap/m/MultiComboBox.js +1 -1
  120. package/src/sap/m/MultiEditField.js +1 -1
  121. package/src/sap/m/MultiInput.js +14 -2
  122. package/src/sap/m/NavContainer.js +1 -1
  123. package/src/sap/m/NewsContent.js +1 -1
  124. package/src/sap/m/NotificationList.js +1 -1
  125. package/src/sap/m/NotificationListBase.js +1 -1
  126. package/src/sap/m/NotificationListGroup.js +1 -1
  127. package/src/sap/m/NotificationListItem.js +3 -2
  128. package/src/sap/m/NumericContent.js +1 -1
  129. package/src/sap/m/NumericInput.js +1 -1
  130. package/src/sap/m/ObjectAttribute.js +1 -1
  131. package/src/sap/m/ObjectHeader.js +1 -1
  132. package/src/sap/m/ObjectIdentifier.js +1 -1
  133. package/src/sap/m/ObjectListItem.js +1 -1
  134. package/src/sap/m/ObjectListItemRenderer.js +1 -1
  135. package/src/sap/m/ObjectMarker.js +1 -1
  136. package/src/sap/m/ObjectNumber.js +1 -1
  137. package/src/sap/m/ObjectStatus.js +1 -1
  138. package/src/sap/m/OverflowToolbar.js +1 -1
  139. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  140. package/src/sap/m/OverflowToolbarButton.js +1 -1
  141. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  142. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  143. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  144. package/src/sap/m/P13nColumnsItem.js +1 -1
  145. package/src/sap/m/P13nColumnsPanel.js +1 -1
  146. package/src/sap/m/P13nConditionPanel.js +1 -1
  147. package/src/sap/m/P13nDialog.js +1 -1
  148. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  149. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  150. package/src/sap/m/P13nFilterItem.js +1 -1
  151. package/src/sap/m/P13nFilterPanel.js +1 -1
  152. package/src/sap/m/P13nGroupItem.js +1 -1
  153. package/src/sap/m/P13nGroupPanel.js +1 -1
  154. package/src/sap/m/P13nItem.js +1 -1
  155. package/src/sap/m/P13nPanel.js +1 -1
  156. package/src/sap/m/P13nSelectionItem.js +1 -1
  157. package/src/sap/m/P13nSelectionPanel.js +1 -1
  158. package/src/sap/m/P13nSortItem.js +1 -1
  159. package/src/sap/m/P13nSortPanel.js +1 -1
  160. package/src/sap/m/PDFViewer.js +1 -1
  161. package/src/sap/m/Page.js +1 -1
  162. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  163. package/src/sap/m/PagingButton.js +1 -1
  164. package/src/sap/m/Panel.js +1 -1
  165. package/src/sap/m/PlanningCalendar.js +88 -28
  166. package/src/sap/m/PlanningCalendarHeader.js +27 -5
  167. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  168. package/src/sap/m/PlanningCalendarRow.js +1 -1
  169. package/src/sap/m/PlanningCalendarView.js +1 -1
  170. package/src/sap/m/Popover.js +1 -1
  171. package/src/sap/m/ProgressIndicator.js +1 -1
  172. package/src/sap/m/PullToRefresh.js +1 -1
  173. package/src/sap/m/QuickView.js +1 -1
  174. package/src/sap/m/QuickViewBase.js +1 -1
  175. package/src/sap/m/QuickViewCard.js +1 -1
  176. package/src/sap/m/QuickViewGroup.js +1 -1
  177. package/src/sap/m/QuickViewGroupElement.js +1 -1
  178. package/src/sap/m/QuickViewPage.js +1 -1
  179. package/src/sap/m/RadioButton.js +1 -1
  180. package/src/sap/m/RadioButtonGroup.js +80 -17
  181. package/src/sap/m/RangeSlider.js +1 -1
  182. package/src/sap/m/RatingIndicator.js +1 -1
  183. package/src/sap/m/ResponsivePopover.js +1 -1
  184. package/src/sap/m/ResponsiveScale.js +1 -1
  185. package/src/sap/m/ScrollBar.js +1 -1
  186. package/src/sap/m/ScrollContainer.js +1 -1
  187. package/src/sap/m/SearchField.js +1 -1
  188. package/src/sap/m/SegmentedButton.js +1 -1
  189. package/src/sap/m/SegmentedButtonItem.js +1 -1
  190. package/src/sap/m/Select.js +1 -1
  191. package/src/sap/m/SelectDialog.js +1 -1
  192. package/src/sap/m/SelectDialogBase.js +1 -1
  193. package/src/sap/m/SelectList.js +1 -1
  194. package/src/sap/m/SelectionDetails.js +1 -1
  195. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  196. package/src/sap/m/SelectionDetailsItem.js +1 -1
  197. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  198. package/src/sap/m/Shell.js +1 -1
  199. package/src/sap/m/SimpleFixFlex.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarGrid.js +3 -1
  203. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  205. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  207. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  208. package/src/sap/m/SlideTile.js +84 -15
  209. package/src/sap/m/SlideTileRenderer.js +5 -1
  210. package/src/sap/m/Slider.js +1 -1
  211. package/src/sap/m/SliderTooltip.js +1 -1
  212. package/src/sap/m/SliderTooltipBase.js +1 -1
  213. package/src/sap/m/SliderTooltipContainer.js +1 -1
  214. package/src/sap/m/SplitApp.js +1 -1
  215. package/src/sap/m/SplitButton.js +1 -1
  216. package/src/sap/m/SplitContainer.js +1 -1
  217. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  218. package/src/sap/m/StandardListItem.js +1 -1
  219. package/src/sap/m/StandardTile.js +1 -1
  220. package/src/sap/m/StandardTreeItem.js +1 -1
  221. package/src/sap/m/StepInput.js +3 -9
  222. package/src/sap/m/SuggestionItem.js +1 -1
  223. package/src/sap/m/SuggestionsPopover.js +1 -1
  224. package/src/sap/m/Switch.js +1 -1
  225. package/src/sap/m/TabContainer.js +1 -1
  226. package/src/sap/m/TabContainerItem.js +1 -1
  227. package/src/sap/m/TabStrip.js +1 -1
  228. package/src/sap/m/TabStripItem.js +1 -1
  229. package/src/sap/m/Table.js +60 -11
  230. package/src/sap/m/TablePersoController.js +1 -1
  231. package/src/sap/m/TablePersoDialog.js +1 -1
  232. package/src/sap/m/TablePersoProvider.js +1 -1
  233. package/src/sap/m/TableRenderer.js +7 -4
  234. package/src/sap/m/TableSelectDialog.js +1 -1
  235. package/src/sap/m/Text.js +1 -1
  236. package/src/sap/m/TextArea.js +1 -1
  237. package/src/sap/m/Tile.js +1 -1
  238. package/src/sap/m/TileContainer.js +1 -1
  239. package/src/sap/m/TileContent.js +2 -2
  240. package/src/sap/m/TimePicker.js +15 -42
  241. package/src/sap/m/TimePickerClock.js +1 -1
  242. package/src/sap/m/TimePickerClocks.js +1 -1
  243. package/src/sap/m/TimePickerInputs.js +1 -1
  244. package/src/sap/m/TimePickerInternals.js +1 -1
  245. package/src/sap/m/TimePickerSlider.js +1 -1
  246. package/src/sap/m/TimePickerSliders.js +1 -1
  247. package/src/sap/m/Title.js +1 -1
  248. package/src/sap/m/TitlePropagationSupport.js +1 -1
  249. package/src/sap/m/ToDoCardRenderer.js +9 -0
  250. package/src/sap/m/ToggleButton.js +1 -1
  251. package/src/sap/m/Token.js +1 -1
  252. package/src/sap/m/Tokenizer.js +1 -1
  253. package/src/sap/m/Toolbar.js +1 -1
  254. package/src/sap/m/ToolbarLayoutData.js +1 -1
  255. package/src/sap/m/ToolbarSeparator.js +1 -1
  256. package/src/sap/m/ToolbarSpacer.js +1 -1
  257. package/src/sap/m/Tree.js +23 -77
  258. package/src/sap/m/TreeItemBase.js +22 -11
  259. package/src/sap/m/UploadCollection.js +1 -1
  260. package/src/sap/m/UploadCollectionItem.js +1 -1
  261. package/src/sap/m/UploadCollectionParameter.js +1 -1
  262. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  263. package/src/sap/m/VBox.js +1 -1
  264. package/src/sap/m/ValueStateHeader.js +1 -1
  265. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  266. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  267. package/src/sap/m/ViewSettingsDialog.js +11 -7
  268. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  269. package/src/sap/m/ViewSettingsItem.js +1 -1
  270. package/src/sap/m/VisibleItem.js +1 -1
  271. package/src/sap/m/WheelSlider.js +1 -1
  272. package/src/sap/m/WheelSliderContainer.js +1 -1
  273. package/src/sap/m/Wizard.js +1 -1
  274. package/src/sap/m/WizardProgressNavigator.js +1 -1
  275. package/src/sap/m/WizardStep.js +1 -1
  276. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  277. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  278. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  279. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  280. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  281. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  282. package/src/sap/m/delegate/DateNavigation.js +32 -33
  283. package/src/sap/m/library.js +3 -2
  284. package/src/sap/m/messagebundle.properties +61 -13
  285. package/src/sap/m/messagebundle_ar.properties +40 -8
  286. package/src/sap/m/messagebundle_bg.properties +40 -8
  287. package/src/sap/m/messagebundle_ca.properties +40 -8
  288. package/src/sap/m/messagebundle_cs.properties +39 -7
  289. package/src/sap/m/messagebundle_cy.properties +40 -8
  290. package/src/sap/m/messagebundle_da.properties +39 -7
  291. package/src/sap/m/messagebundle_de.properties +41 -9
  292. package/src/sap/m/messagebundle_el.properties +40 -8
  293. package/src/sap/m/messagebundle_en.properties +40 -8
  294. package/src/sap/m/messagebundle_en_GB.properties +40 -8
  295. package/src/sap/m/messagebundle_en_US_sappsd.properties +41 -9
  296. package/src/sap/m/messagebundle_en_US_saprigi.properties +40 -9
  297. package/src/sap/m/messagebundle_en_US_saptrc.properties +41 -9
  298. package/src/sap/m/messagebundle_es.properties +40 -8
  299. package/src/sap/m/messagebundle_es_MX.properties +47 -15
  300. package/src/sap/m/messagebundle_et.properties +39 -7
  301. package/src/sap/m/messagebundle_fi.properties +39 -7
  302. package/src/sap/m/messagebundle_fr.properties +40 -8
  303. package/src/sap/m/messagebundle_fr_CA.properties +41 -9
  304. package/src/sap/m/messagebundle_hi.properties +40 -8
  305. package/src/sap/m/messagebundle_hr.properties +39 -7
  306. package/src/sap/m/messagebundle_hu.properties +39 -7
  307. package/src/sap/m/messagebundle_id.properties +39 -7
  308. package/src/sap/m/messagebundle_it.properties +41 -9
  309. package/src/sap/m/messagebundle_iw.properties +39 -7
  310. package/src/sap/m/messagebundle_ja.properties +39 -7
  311. package/src/sap/m/messagebundle_kk.properties +40 -8
  312. package/src/sap/m/messagebundle_ko.properties +40 -8
  313. package/src/sap/m/messagebundle_lt.properties +39 -7
  314. package/src/sap/m/messagebundle_lv.properties +39 -7
  315. package/src/sap/m/messagebundle_ms.properties +39 -7
  316. package/src/sap/m/messagebundle_nl.properties +40 -8
  317. package/src/sap/m/messagebundle_no.properties +40 -8
  318. package/src/sap/m/messagebundle_pl.properties +39 -7
  319. package/src/sap/m/messagebundle_pt.properties +40 -8
  320. package/src/sap/m/messagebundle_pt_PT.properties +40 -8
  321. package/src/sap/m/messagebundle_ro.properties +40 -8
  322. package/src/sap/m/messagebundle_ru.properties +40 -8
  323. package/src/sap/m/messagebundle_sh.properties +40 -8
  324. package/src/sap/m/messagebundle_sk.properties +39 -7
  325. package/src/sap/m/messagebundle_sl.properties +40 -8
  326. package/src/sap/m/messagebundle_sv.properties +39 -7
  327. package/src/sap/m/messagebundle_th.properties +39 -7
  328. package/src/sap/m/messagebundle_tr.properties +40 -8
  329. package/src/sap/m/messagebundle_uk.properties +40 -8
  330. package/src/sap/m/messagebundle_vi.properties +39 -7
  331. package/src/sap/m/messagebundle_zh_CN.properties +39 -7
  332. package/src/sap/m/messagebundle_zh_TW.properties +39 -7
  333. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  334. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  335. package/src/sap/m/p13n/BasePanel.js +1 -1
  336. package/src/sap/m/p13n/Container.js +1 -1
  337. package/src/sap/m/p13n/Engine.js +1 -1
  338. package/src/sap/m/p13n/GroupController.js +1 -1
  339. package/src/sap/m/p13n/GroupPanel.js +1 -1
  340. package/src/sap/m/p13n/Popup.js +1 -1
  341. package/src/sap/m/p13n/QueryPanel.js +2 -2
  342. package/src/sap/m/p13n/SelectionController.js +1 -1
  343. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  344. package/src/sap/m/p13n/SortController.js +1 -1
  345. package/src/sap/m/p13n/SortPanel.js +1 -1
  346. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  347. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  348. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  349. package/src/sap/m/plugins/CellSelector.js +1 -1
  350. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  351. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  352. package/src/sap/m/plugins/PasteProvider.js +1 -1
  353. package/src/sap/m/plugins/PluginBase.js +1 -1
  354. package/src/sap/m/semantic/AddAction.js +1 -1
  355. package/src/sap/m/semantic/CancelAction.js +1 -1
  356. package/src/sap/m/semantic/DeleteAction.js +1 -1
  357. package/src/sap/m/semantic/DetailPage.js +1 -1
  358. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  359. package/src/sap/m/semantic/EditAction.js +1 -1
  360. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  361. package/src/sap/m/semantic/FilterAction.js +1 -1
  362. package/src/sap/m/semantic/FilterSelect.js +1 -1
  363. package/src/sap/m/semantic/FlagAction.js +1 -1
  364. package/src/sap/m/semantic/ForwardAction.js +1 -1
  365. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  366. package/src/sap/m/semantic/GroupAction.js +1 -1
  367. package/src/sap/m/semantic/GroupSelect.js +1 -1
  368. package/src/sap/m/semantic/MainAction.js +1 -1
  369. package/src/sap/m/semantic/MasterPage.js +1 -1
  370. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  371. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  372. package/src/sap/m/semantic/NegativeAction.js +1 -1
  373. package/src/sap/m/semantic/OpenInAction.js +1 -1
  374. package/src/sap/m/semantic/PositiveAction.js +1 -1
  375. package/src/sap/m/semantic/PrintAction.js +1 -1
  376. package/src/sap/m/semantic/SaveAction.js +1 -1
  377. package/src/sap/m/semantic/Segment.js +1 -1
  378. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  379. package/src/sap/m/semantic/SemanticButton.js +1 -1
  380. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  381. package/src/sap/m/semantic/SemanticControl.js +1 -1
  382. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  383. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  384. package/src/sap/m/semantic/SemanticPage.js +2 -2
  385. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  386. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  387. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  388. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  389. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  390. package/src/sap/m/semantic/ShareMenu.js +1 -1
  391. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  392. package/src/sap/m/semantic/SortAction.js +1 -1
  393. package/src/sap/m/semantic/SortSelect.js +1 -1
  394. package/src/sap/m/table/Util.js +1 -1
  395. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  396. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  397. package/src/sap/m/table/columnmenu/Item.js +1 -1
  398. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  399. package/src/sap/m/table/columnmenu/Menu.js +27 -8
  400. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  401. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  402. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  403. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  404. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  405. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  406. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  407. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  408. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  409. package/src/sap/m/themes/base/ActionTile.less +67 -10
  410. package/src/sap/m/themes/base/AdditionalTextButton.less +38 -0
  411. package/src/sap/m/themes/base/Avatar.less +4 -0
  412. package/src/sap/m/themes/base/Carousel.less +64 -33
  413. package/src/sap/m/themes/base/ColumnMenu.less +4 -4
  414. package/src/sap/m/themes/base/Dialog.less +1 -1
  415. package/src/sap/m/themes/base/GenericTile.less +149 -32
  416. package/src/sap/m/themes/base/IllustratedMessage.less +43 -1
  417. package/src/sap/m/themes/base/Label.less +5 -0
  418. package/src/sap/m/themes/base/MessageBox.less +5 -5
  419. package/src/sap/m/themes/base/Table.less +7 -3
  420. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-AddColumn.svg +26 -0
  421. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-AddPeople.svg +8 -0
  422. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-BalloonSky.svg +6 -0
  423. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-Connection.svg +9 -0
  424. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-EmptyCalendar.svg +36 -0
  425. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-EmptyList.svg +6 -0
  426. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-EmptyPlanningCalendar.svg +36 -0
  427. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-ErrorScreen.svg +8 -0
  428. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-FilterTable.svg +7 -0
  429. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-GroupTable.svg +35 -0
  430. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoFilterResults.svg +7 -0
  431. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoMail_v1.svg +9 -0
  432. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoSavedItems_v1.svg +12 -0
  433. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoSearchResults.svg +10 -0
  434. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoTasks_v1.svg +12 -0
  435. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-PageNotFound.svg +6 -0
  436. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-ReloadScreen.svg +8 -0
  437. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SearchEarth.svg +6 -0
  438. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SearchFolder.svg +10 -0
  439. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleBalloon.svg +6 -0
  440. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleBell.svg +7 -0
  441. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleCalendar.svg +36 -0
  442. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleCheckmark.svg +4 -0
  443. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleConnection.svg +9 -0
  444. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleEmptyDoc.svg +7 -0
  445. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleEmptyList.svg +6 -0
  446. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleError.svg +8 -0
  447. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleMagnifier.svg +6 -0
  448. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleMail.svg +9 -0
  449. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleNoSavedItems.svg +12 -0
  450. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleNotFoundMagnifier.svg +10 -0
  451. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleReload.svg +8 -0
  452. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SimpleTask.svg +12 -0
  453. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SleepingBell.svg +7 -0
  454. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SortColumn.svg +28 -0
  455. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SuccessHighFive.svg +6 -0
  456. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SuccessScreen.svg +4 -0
  457. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-Tent.svg +7 -0
  458. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UnableToLoadImage.svg +8 -0
  459. package/src/sap/m/themes/base/library.source.less +2 -1
  460. package/src/sap/m/upload/UploadSet.js +15 -4
  461. package/src/sap/m/upload/UploadSetItem.js +5 -3
  462. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
@@ -10,6 +10,7 @@ sap.ui.define([
10
10
  'sap/ui/core/Control',
11
11
  'sap/ui/core/delegate/ItemNavigation',
12
12
  'sap/ui/core/library',
13
+ 'sap/ui/base/ManagedObjectObserver',
13
14
  './RadioButton',
14
15
  './RadioButtonGroupRenderer',
15
16
  "sap/base/Log"
@@ -19,6 +20,7 @@ sap.ui.define([
19
20
  Control,
20
21
  ItemNavigation,
21
22
  coreLibrary,
23
+ ManagedObjectObserver,
22
24
  RadioButton,
23
25
  RadioButtonGroupRenderer,
24
26
  Log
@@ -59,7 +61,7 @@ sap.ui.define([
59
61
  * @implements sap.ui.core.IFormContent
60
62
  *
61
63
  * @author SAP SE
62
- * @version 1.107.1
64
+ * @version 1.108.1
63
65
  *
64
66
  * @constructor
65
67
  * @public
@@ -159,6 +161,10 @@ sap.ui.define([
159
161
 
160
162
  RadioButtonGroup.prototype.init = function() {
161
163
  this._iSelectionNumber = -1;
164
+ this._oObserver = new ManagedObjectObserver(this._observeChanges.bind(this));
165
+ this._oObserver.observe(this, {
166
+ aggregations: ["buttons"]
167
+ });
162
168
  };
163
169
 
164
170
  /**
@@ -175,6 +181,11 @@ sap.ui.define([
175
181
  this._oItemNavigation.destroy();
176
182
  delete this._oItemNavigation;
177
183
  }
184
+
185
+ if (this._oObserver) {
186
+ this._oObserver.disconnect();
187
+ this._oObserver = null;
188
+ }
178
189
  };
179
190
 
180
191
  /**
@@ -225,16 +236,16 @@ sap.ui.define([
225
236
  * @private
226
237
  */
227
238
  RadioButtonGroup.prototype._initItemNavigation = function() {
228
-
229
239
  // Collect buttons for ItemNavigation
240
+ var aRBs = this._getVisibleButtons();
230
241
  var aDomRefs = [];
231
242
  var bHasEnabledRadios = false;
232
243
  var bRadioGroupEnabled = this.getEnabled();
233
- for (var i = 0; i < this.aRBs.length; i++) {
234
- aDomRefs.push(this.aRBs[i].getDomRef());
244
+ for (var i = 0; i < aRBs.length; i++) {
245
+ aDomRefs.push(aRBs[i].getDomRef());
235
246
 
236
247
  // if the i-th radio button is enabled - set the flag to true
237
- bHasEnabledRadios = bHasEnabledRadios || this.aRBs[i].getEnabled();
248
+ bHasEnabledRadios = bHasEnabledRadios || aRBs[i].getEnabled();
238
249
  }
239
250
 
240
251
  // if no radio buttons are enabled or the whole group is disabled
@@ -266,6 +277,41 @@ sap.ui.define([
266
277
  });
267
278
  };
268
279
 
280
+ RadioButtonGroup.prototype._getVisibleButtons = function() {
281
+ return this.getButtons().filter(function (oRB) {
282
+ return oRB.getVisible();
283
+ });
284
+ };
285
+
286
+ RadioButtonGroup.prototype._observeChanges = function (oChanges) {
287
+ var oObject = oChanges.object,
288
+ sChangeName = oChanges.name,
289
+ sMutationName = oChanges.mutation,
290
+ oChild = oChanges.child;
291
+
292
+ if (oObject === this) {
293
+ if (sMutationName === "insert") {
294
+ this._observeVisibility(oChild);
295
+ } else if (sMutationName === "remove") {
296
+ this._unobserveVisibility(oChild);
297
+ }
298
+ } else if (sChangeName === "visible") {
299
+ this._initItemNavigation();
300
+ }
301
+ };
302
+
303
+ RadioButtonGroup.prototype._observeVisibility = function (oControl) {
304
+ this._oObserver.observe(oControl, {
305
+ properties: ["visible"]
306
+ });
307
+ };
308
+
309
+ RadioButtonGroup.prototype._unobserveVisibility = function (oControl) {
310
+ this._oObserver.unobserve(oControl, {
311
+ properties: ["visible"]
312
+ });
313
+ };
314
+
269
315
  /**
270
316
  * Sets the selected sap.m.RadioButton using index.
271
317
  *
@@ -274,13 +320,12 @@ sap.ui.define([
274
320
  * @returns {this} Pointer to the control instance for chaining.
275
321
  */
276
322
  RadioButtonGroup.prototype.setSelectedIndex = function(iSelectedIndex) {
277
-
278
323
  var iIndexOld = this.getSelectedIndex();
279
324
  // if a radio button in the group is focused is true, otherwise - false
280
- var hasFocusedRadioButton = document.activeElement && document.activeElement.parentNode &&
281
- document.activeElement.parentNode.parentNode === this.getDomRef();
325
+ var hasFocusedRadioButton = this.getDomRef() && this.getDomRef().contains(document.activeElement);
282
326
  // if radio button group has buttons and one of them is selected is true, otherwise - false
283
327
  var isRadioGroupSelected = !!(this.aRBs && this.aRBs[iSelectedIndex]);
328
+ var iFocusedIndex;
284
329
 
285
330
  if (iSelectedIndex < -1) {
286
331
  // invalid negative index -> don't change index.
@@ -290,6 +335,7 @@ sap.ui.define([
290
335
 
291
336
  this.setProperty("selectedIndex", iSelectedIndex, true); // no re-rendering
292
337
  this._iSelectionNumber = RadioButton.getNextSelectionNumber();
338
+ iFocusedIndex = this._getSelectedIndexInRange();
293
339
 
294
340
  // deselect old RadioButton
295
341
  if (!isNaN(iIndexOld) && this.aRBs && this.aRBs[iIndexOld]) {
@@ -303,8 +349,8 @@ sap.ui.define([
303
349
  }
304
350
 
305
351
  if (this._oItemNavigation) {
306
- this._oItemNavigation.setFocusedIndex(iSelectedIndex);
307
- this._oItemNavigation.setSelectedIndex(iSelectedIndex);
352
+ this._oItemNavigation.setFocusedIndex(iFocusedIndex);
353
+ this._oItemNavigation.setSelectedIndex(iFocusedIndex);
308
354
  }
309
355
 
310
356
  // if focus is in the group - focus the selected element
@@ -597,10 +643,18 @@ sap.ui.define([
597
643
  * @param {sap.ui.base.Event} oControlEvent The event that gets fired by the {@link sap.ui.core.delegate.ItemNavigation} delegate.
598
644
  */
599
645
  RadioButtonGroup.prototype._handleAfterFocus = function(oControlEvent) {
600
-
646
+ var aRBs = this.getButtons();
601
647
  var iIndex = oControlEvent.getParameter("index");
602
648
  var oEvent = oControlEvent.getParameter("event");
603
649
 
650
+ // buttons that are not visible are not included in the HTML
651
+ // adjust the index to include them
652
+ for (var i = 0; i <= iIndex; i++) {
653
+ if (!aRBs[i].getVisible()) {
654
+ iIndex++;
655
+ }
656
+ }
657
+
604
658
  // handle only keyboard navigation here
605
659
  if (oEvent.keyCode === undefined) {
606
660
  return;
@@ -629,15 +683,24 @@ sap.ui.define([
629
683
  }
630
684
  };
631
685
 
632
- RadioButtonGroup.prototype._getSelectedIndexInRange = function(oControlEvent) {
633
- var iLength = this.getButtons().length,
634
- iInd = this.getSelectedIndex();
686
+ RadioButtonGroup.prototype._getSelectedIndexInRange = function() {
687
+ var aRBs = this.getButtons(),
688
+ iLength = aRBs.length,
689
+ iSelectedIndex = this.getSelectedIndex(),
690
+ iFocusedIndex = -1;
635
691
 
636
- if (iInd >= -1 && iInd < iLength) {
637
- return iInd;
692
+ if (iSelectedIndex <= -1 || iSelectedIndex > iLength - 1) {
693
+ return -1;
694
+ }
695
+
696
+ // include only the visible buttons to the focused index
697
+ for (var i = 0; i <= iSelectedIndex; i++) {
698
+ if (aRBs[i].getVisible()) {
699
+ iFocusedIndex++;
700
+ }
638
701
  }
639
702
 
640
- return -1;
703
+ return iFocusedIndex;
641
704
  };
642
705
 
643
706
  return RadioButtonGroup;
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.m.Slider
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.107.1
54
+ * @version 1.108.1
55
55
  *
56
56
  * @constructor
57
57
  * @public
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  * @extends sap.ui.core.Control
53
53
  *
54
54
  * @author SAP SE
55
- * @version 1.107.1
55
+ * @version 1.108.1
56
56
  *
57
57
  * @constructor
58
58
  * @public
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.core.Control
62
62
  *
63
63
  * @author SAP SE
64
- * @version 1.107.1
64
+ * @version 1.108.1
65
65
  *
66
66
  * @constructor
67
67
  * @public
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Element
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.107.1
37
+ * @version 1.108.1
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -25,7 +25,7 @@ function(Control, ScrollBarRenderer) {
25
25
  * care of only rendering the currently visible rows and use this <code>ScrollBar</code> control to make
26
26
  * the users think they are actually scrolling through a long list.
27
27
  * @extends sap.ui.core.Control
28
- * @version 1.107.1
28
+ * @version 1.108.1
29
29
  *
30
30
  * @private
31
31
  * @alias sap.m.ScrollBar
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * @extends sap.ui.core.Control
40
40
  *
41
41
  * @author SAP SE
42
- * @version 1.107.1
42
+ * @version 1.108.1
43
43
  *
44
44
  * @constructor
45
45
  * @public
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * @extends sap.ui.core.Control
68
68
  * @implements sap.ui.core.IFormContent
69
69
  * @author SAP SE
70
- * @version 1.107.1
70
+ * @version 1.108.1
71
71
  *
72
72
  * @constructor
73
73
  * @public
@@ -55,7 +55,7 @@ function(
55
55
  * @implements sap.ui.core.IFormContent
56
56
  *
57
57
  * @author SAP SE
58
- * @version 1.107.1
58
+ * @version 1.108.1
59
59
  *
60
60
  * @constructor
61
61
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/m/Button', 'sap/ui/core/Cus
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.107.1
26
+ * @version 1.108.1
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -103,7 +103,7 @@ function(
103
103
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent
104
104
  *
105
105
  * @author SAP SE
106
- * @version 1.107.1
106
+ * @version 1.108.1
107
107
  *
108
108
  * @constructor
109
109
  * @public
@@ -119,7 +119,7 @@ function(
119
119
  * @extends sap.m.SelectDialogBase
120
120
  *
121
121
  * @author SAP SE
122
- * @version 1.107.1
122
+ * @version 1.108.1
123
123
  *
124
124
  * @constructor
125
125
  * @public
@@ -27,7 +27,7 @@ function(
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.107.1
30
+ * @version 1.108.1
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.107.1
40
+ * @version 1.108.1
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -39,7 +39,7 @@ function(
39
39
  * <b><i>Note:</i></b>It is protected and should only be used within the framework itself.
40
40
  *
41
41
  * @author SAP SE
42
- * @version 1.107.1
42
+ * @version 1.108.1
43
43
  *
44
44
  * @extends sap.ui.core.Control
45
45
  * @constructor
@@ -10,7 +10,7 @@
10
10
  * @since 1.48.0
11
11
  * @public
12
12
  * @author SAP SE
13
- * @version 1.107.1
13
+ * @version 1.108.1
14
14
  * @borrows sap.ui.core.Element#addCustomData as #addCustomData
15
15
  * @borrows sap.ui.core.Element#getCustomData as #getCustomData
16
16
  * @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
@@ -45,7 +45,7 @@
45
45
  * @since 1.48.0
46
46
  * @public
47
47
  * @author SAP SE
48
- * @version 1.107.1
48
+ * @version 1.108.1
49
49
  * @borrows sap.ui.core.Element#addCustomData as #addCustomData
50
50
  * @borrows sap.ui.core.Element#getCustomData as #getCustomData
51
51
  * @borrows sap.ui.core.Element#indexOfCustomData as #indexOfCustomData
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Element
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.107.1
61
+ * @version 1.108.1
62
62
  *
63
63
  * @constructor
64
64
  * @protected
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/Element", "sap/base/Log", "sap/base/util/isPlainObje
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.107.1
26
+ * @version 1.108.1
27
27
  *
28
28
  * @constructor
29
29
  * @protected
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * The Shell control can be used as root element of applications. It can contain an App or a <code>SplitApp</code> control.
36
36
  * The Shell provides some overarching functionality for the overall application and takes care of visual adaptation, such as a frame around the App, on desktop browser platforms.
37
37
  * @extends sap.ui.core.Control
38
- * @version 1.107.1
38
+ * @version 1.108.1
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -31,7 +31,7 @@ function(Control, ResizeHandler, Log, SimpleFixFlexRenderer) {
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.107.1
34
+ * @version 1.108.1
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -102,7 +102,7 @@ function(
102
102
  * @extends sap.ui.core.Control
103
103
  *
104
104
  * @author SAP SE
105
- * @version 1.107.1
105
+ * @version 1.108.1
106
106
  *
107
107
  * @constructor
108
108
  * @public
@@ -25,7 +25,7 @@ function (library, SinglePlanningCalendarView) {
25
25
  * @extends sap.m.SinglePlanningCalendarView
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.107.1
28
+ * @version 1.108.1
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -102,7 +102,7 @@ sap.ui.define([
102
102
  * @extends sap.ui.core.Control
103
103
  *
104
104
  * @author SAP SE
105
- * @version 1.107.1
105
+ * @version 1.108.1
106
106
  *
107
107
  * @constructor
108
108
  * @private
@@ -724,6 +724,8 @@ sap.ui.define([
724
724
  startDate: newPos.startDate,
725
725
  endDate: newPos.endDate
726
726
  });
727
+
728
+ setTimeout(function() {this.invalidate();}.bind(this), 0);
727
729
  }.bind(this)
728
730
  });
729
731
 
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @extends sap.ui.core.Control
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.107.1
86
+ * @version 1.108.1
87
87
  *
88
88
  * @constructor
89
89
  * @private
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.m.SinglePlanningCalendarView
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.107.1
31
+ * @version 1.108.1
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -26,7 +26,7 @@ function (library, Log, Element) {
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.107.1
29
+ * @version 1.108.1
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -29,7 +29,7 @@ function (library, SinglePlanningCalendarView, LocaleData, CalendarDate, Calenda
29
29
  * @extends sap.m.SinglePlanningCalendarView
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.107.1
32
+ * @version 1.108.1
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -29,7 +29,7 @@ function (library, SinglePlanningCalendarView, CalendarDate, CalendarUtils, Loca
29
29
  * @extends sap.m.SinglePlanningCalendarView
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.107.1
32
+ * @version 1.108.1
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -13,7 +13,8 @@ sap.ui.define([
13
13
  "sap/ui/events/KeyCodes",
14
14
  "sap/ui/events/PseudoEvents",
15
15
  "sap/ui/thirdparty/jquery",
16
- "sap/ui/core/Configuration"
16
+ "sap/ui/core/Configuration",
17
+ "sap/ui/core/InvisibleText"
17
18
  ],
18
19
  function(
19
20
  library,
@@ -24,7 +25,8 @@ sap.ui.define([
24
25
  KeyCodes,
25
26
  PseudoEvents,
26
27
  jQuery,
27
- Configuration
28
+ Configuration,
29
+ InvisibleText
28
30
  ) {
29
31
  "use strict";
30
32
 
@@ -41,7 +43,7 @@ sap.ui.define([
41
43
  * @extends sap.ui.core.Control
42
44
  *
43
45
  * @author SAP SE
44
- * @version 1.107.1
46
+ * @version 1.108.1
45
47
  * @since 1.34
46
48
  *
47
49
  * @public
@@ -93,7 +95,11 @@ sap.ui.define([
93
95
  /**
94
96
  * The pause/play icon that is being used to display the pause/play state of the control.
95
97
  */
96
- _pausePlayIcon: {type: "sap.ui.core.Icon", multiple: false, visibility: "hidden"}
98
+ _pausePlayIcon: {type: "sap.ui.core.Icon", multiple: false, visibility: "hidden"},
99
+ /**
100
+ * The hidden aggregation that uses this id in aria-describedby attribute.
101
+ */
102
+ _invisibleText: {type:"sap.ui.core.InvisibleText",multiple: false, visibility: "hidden" }
97
103
  },
98
104
  events: {
99
105
  /**
@@ -141,6 +147,9 @@ sap.ui.define([
141
147
  size: "1rem",
142
148
  noTabStop: true
143
149
  }), true);
150
+
151
+ this._oInvisibleText = new InvisibleText(this.getId() + "-ariaText");
152
+ this.setAggregation("_invisibleText", this._oInvisibleText, true);
144
153
  };
145
154
 
146
155
  /**
@@ -216,6 +225,15 @@ sap.ui.define([
216
225
  }.bind(this));
217
226
  }
218
227
  }
228
+ this._attachFocusEvents();
229
+
230
+ //Removing the child aria attributes becasuse its interfering with the Jaws when its in VPC mode on
231
+ this._removeChildAria();
232
+
233
+ //Sets the aria-describedby attribute and uses the _invisibleText id in it
234
+ if (this.getDomRef()) {
235
+ this.getDomRef().setAttribute("aria-describedby",this.getAggregation("_invisibleText").getId());
236
+ }
219
237
  };
220
238
 
221
239
  /**
@@ -314,6 +332,8 @@ sap.ui.define([
314
332
  }
315
333
  if (PseudoEvents.events.sapspace.fnCheck(oEvent)) {
316
334
  this._toggleAnimation();
335
+ // Saving the current state in the following variable so that when the focus goes out it would remain in the present state
336
+ this.bIsPrevStateNormal = !this._bAnimationPause;
317
337
  }
318
338
  if (oEvent.which === KeyCodes.B && this._bAnimationPause) {
319
339
  this._scrollToNextTile(true, true);
@@ -365,6 +385,7 @@ sap.ui.define([
365
385
  if (jQuery(oEvent.target).hasClass("sapMSTIconClickTapArea")) {
366
386
  this.addStyleClass("sapMSTIconPressed");
367
387
  }
388
+ this.mouseDown = true;
368
389
  };
369
390
 
370
391
  /* --- Public methods --- */
@@ -402,6 +423,46 @@ sap.ui.define([
402
423
  fnCheckMedia();
403
424
  };
404
425
 
426
+ /**
427
+ *Attaching focusin and foucusout event handles, and activating them when the tile is focused by tabnavigating
428
+ * @private
429
+ */
430
+
431
+ SlideTile.prototype._attachFocusEvents = function() {
432
+ var oSlideTile = this.getDomRef();
433
+ //These Event Listeners should be activated only when the tile gets it focus by tab navigation not by clicking on the tile
434
+ if (oSlideTile) {
435
+ oSlideTile.addEventListener('focusin', function() {
436
+ if (!this.mouseDown) {
437
+ this.bIsPrevStateNormal = this.getDomRef().classList.contains("sapMSTPauseIcon");
438
+ this._stopAnimation();
439
+ this._updatePausePlayIcon();
440
+ }
441
+ }.bind(this));
442
+ oSlideTile.addEventListener('focusout', function(){
443
+ if (!this.mouseDown) {
444
+ if (this.bIsPrevStateNormal) {
445
+ this._startAnimation();
446
+ }
447
+ this._updatePausePlayIcon();
448
+ }
449
+ this.mouseDown = false;
450
+ }.bind(this));
451
+ }
452
+ };
453
+
454
+ /**
455
+ *Removes role and aria-roledescription attributes from the GenericTile so that these attributes are not read by Jaws when the VPC Mode is turned on
456
+ * @private
457
+ */
458
+
459
+ SlideTile.prototype._removeChildAria = function() {
460
+ this.getTiles().forEach(function(oTile){
461
+ oTile.getDomRef().removeAttribute("role");
462
+ oTile.getDomRef().removeAttribute("aria-roledescription");
463
+ });
464
+ };
465
+
405
466
  /**
406
467
  *Checks if the tiles inside the slidetile has stretch frametype and the window size is below 600px
407
468
  *
@@ -495,6 +556,9 @@ sap.ui.define([
495
556
  }.bind(this), iDisplayTime);
496
557
  this._iStartTime = Date.now();
497
558
  this._bAnimationPause = false;
559
+ if (this.getTiles()[this._iCurrentTile]) {
560
+ this._setAriaDescriptor();
561
+ }
498
562
  };
499
563
 
500
564
  /**
@@ -628,25 +692,28 @@ sap.ui.define([
628
692
  * @private
629
693
  */
630
694
  SlideTile.prototype._setAriaDescriptor = function () {
631
- var sText, sScope, aTiles, oCurrentTile;
632
-
695
+ var sText = "", sScope, aTiles, oCurrentTile,iTiles,sPrefixText,sState;
633
696
  sScope = this.getScope();
634
697
  aTiles = this.getTiles();
698
+ iTiles = aTiles.length;
699
+ sState = (this._bAnimationPause) ? this._oRb.getText("SLIDETILE_PAUSE") : this._oRb.getText("SLIDETILE_NORMAL");
700
+ sPrefixText = this._oRb.getText("SLIDETILE_INSTANCE_FOCUS",[this._iCurrentTile + 1,iTiles]) + " " + sState;
701
+ sText += sPrefixText;
635
702
  oCurrentTile = aTiles[this._iCurrentTile];
636
- sText = oCurrentTile._getAriaText().replace(/\s/g, " ");// Gets Tile's ARIA text and collapses whitespaces
703
+ sText += oCurrentTile._getAriaText(true).replace(/\s/g, " ");// Gets Tile's ARIA text and collapses whitespaces
637
704
 
638
705
  if (sScope === GenericTileScope.Actions) {
639
706
  sText = this._oRb.getText("GENERICTILE_ACTIONS_ARIA_TEXT") + "\n" + sText;
640
707
  } else if (aTiles.length > 1 && sScope === GenericTileScope.Display) {
641
708
  sText += "\n" + this._oRb.getText("SLIDETILE_MULTIPLE_CONTENT") + "\n" +
642
- this._oRb.getText("SLIDETILE_TOGGLE_SLIDING");
709
+ this._oRb.getText("SLIDETILE_TOGGLE_SLIDING");
643
710
  if (this._bAnimationPause) {
644
711
  sText += "\n" + this._oRb.getText("SLIDETILE_SCROLL_BACK") + "\n" +
645
712
  this._oRb.getText("SLIDETILE_SCROLL_FORWARD");
646
713
  }
647
714
  }
648
715
  sText += "\n" + this._oRb.getText("SLIDETILE_ACTIVATE");
649
- this.$().attr("aria-label", sText);
716
+ this.getAggregation("_invisibleText").setText(sText);
650
717
  };
651
718
 
652
719
  /**
@@ -726,12 +793,14 @@ sap.ui.define([
726
793
  * @private
727
794
  */
728
795
  SlideTile.prototype._updatePausePlayIcon = function () {
729
- if (this._bAnimationPause) {
730
- this.getAggregation("_pausePlayIcon").setSrc("sap-icon://media-play");
731
- this.$().removeClass("sapMSTPauseIcon");
732
- } else {
733
- this.getAggregation("_pausePlayIcon").setSrc("sap-icon://media-pause");
734
- this.$().addClass("sapMSTPauseIcon");
796
+ if (this.getAggregation("_pausePlayIcon")) {
797
+ if (this._bAnimationPause) {
798
+ this.getAggregation("_pausePlayIcon").setSrc("sap-icon://media-play");
799
+ this.$().removeClass("sapMSTPauseIcon");
800
+ } else {
801
+ this.getAggregation("_pausePlayIcon").setSrc("sap-icon://media-pause");
802
+ this.$().addClass("sapMSTPauseIcon");
803
+ }
735
804
  }
736
805
  };
737
806