@openui5/sap.m 1.98.0 → 1.101.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 (615) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +2 -2
  7. package/src/sap/m/ActionListItemRenderer.js +5 -7
  8. package/src/sap/m/ActionSelect.js +1 -1
  9. package/src/sap/m/ActionSelectRenderer.js +1 -1
  10. package/src/sap/m/ActionSheet.js +12 -5
  11. package/src/sap/m/ActionSheetRenderer.js +1 -1
  12. package/src/sap/m/App.js +1 -1
  13. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  14. package/src/sap/m/Avatar.js +21 -4
  15. package/src/sap/m/AvatarRenderer.js +6 -1
  16. package/src/sap/m/BadgeCustomData.js +6 -4
  17. package/src/sap/m/BadgeEnabler.js +3 -2
  18. package/src/sap/m/Bar.js +6 -5
  19. package/src/sap/m/BarRenderer.js +6 -6
  20. package/src/sap/m/Breadcrumbs.js +81 -7
  21. package/src/sap/m/BreadcrumbsRenderer.js +3 -7
  22. package/src/sap/m/BusyDialog.js +1 -1
  23. package/src/sap/m/BusyIndicator.js +1 -1
  24. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  25. package/src/sap/m/Button.js +2 -2
  26. package/src/sap/m/ButtonRenderer.js +3 -3
  27. package/src/sap/m/Carousel.js +22 -17
  28. package/src/sap/m/CarouselLayout.js +1 -1
  29. package/src/sap/m/CarouselRenderer.js +10 -4
  30. package/src/sap/m/CheckBox.js +2 -4
  31. package/src/sap/m/CheckBoxRenderer.js +1 -1
  32. package/src/sap/m/ColorPalette.js +1 -1
  33. package/src/sap/m/ColorPalettePopover.js +1 -1
  34. package/src/sap/m/Column.js +1 -1
  35. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  36. package/src/sap/m/ColumnListItem.js +1 -1
  37. package/src/sap/m/ColumnListItemRenderer.js +10 -11
  38. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  39. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  40. package/src/sap/m/ColumnPopoverItem.js +1 -1
  41. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  42. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  43. package/src/sap/m/ComboBox.js +3 -2
  44. package/src/sap/m/ComboBoxBase.js +5 -3
  45. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  46. package/src/sap/m/ComboBoxRenderer.js +4 -4
  47. package/src/sap/m/ComboBoxTextField.js +1 -1
  48. package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
  49. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  50. package/src/sap/m/CustomListItem.js +1 -1
  51. package/src/sap/m/CustomListItemRenderer.js +4 -6
  52. package/src/sap/m/CustomTile.js +1 -1
  53. package/src/sap/m/CustomTileRenderer.js +2 -2
  54. package/src/sap/m/CustomTreeItem.js +1 -1
  55. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  56. package/src/sap/m/DatePicker.js +36 -7
  57. package/src/sap/m/DatePickerRenderer.js +1 -6
  58. package/src/sap/m/DateRangeSelection.js +42 -4
  59. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  60. package/src/sap/m/DateTimeField.js +15 -6
  61. package/src/sap/m/DateTimeInput.js +1 -1
  62. package/src/sap/m/DateTimePicker.js +375 -89
  63. package/src/sap/m/DateTimePickerRenderer.js +57 -0
  64. package/src/sap/m/Dialog.js +20 -7
  65. package/src/sap/m/DialogRenderer.js +1 -1
  66. package/src/sap/m/DisplayListItem.js +1 -1
  67. package/src/sap/m/DisplayListItemRenderer.js +4 -6
  68. package/src/sap/m/DraftIndicator.js +1 -1
  69. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  70. package/src/sap/m/DynamicDate.js +3 -3
  71. package/src/sap/m/DynamicDateFormat.js +33 -1
  72. package/src/sap/m/DynamicDateOption.js +144 -9
  73. package/src/sap/m/DynamicDateRange.js +145 -49
  74. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  75. package/src/sap/m/DynamicDateUtil.js +10 -3
  76. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  77. package/src/sap/m/ExpandableText.js +1 -1
  78. package/src/sap/m/FacetFilter.js +1 -1
  79. package/src/sap/m/FacetFilterItem.js +1 -1
  80. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  81. package/src/sap/m/FacetFilterList.js +7 -5
  82. package/src/sap/m/FacetFilterRenderer.js +10 -10
  83. package/src/sap/m/FeedContent.js +2 -2
  84. package/src/sap/m/FeedInput.js +2 -2
  85. package/src/sap/m/FeedInputRenderer.js +1 -1
  86. package/src/sap/m/FeedListItem.js +7 -7
  87. package/src/sap/m/FeedListItemAction.js +1 -1
  88. package/src/sap/m/FeedListItemRenderer.js +12 -7
  89. package/src/sap/m/Fiori20Adapter.js +2 -2
  90. package/src/sap/m/FlexBox.js +1 -1
  91. package/src/sap/m/FlexItemData.js +1 -1
  92. package/src/sap/m/FormattedText.js +4 -1
  93. package/src/sap/m/GenericTag.js +5 -3
  94. package/src/sap/m/GenericTagRenderer.js +13 -5
  95. package/src/sap/m/GenericTile.js +62 -16
  96. package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
  97. package/src/sap/m/GenericTileRenderer.js +89 -42
  98. package/src/sap/m/GroupHeaderListItem.js +1 -1
  99. package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
  100. package/src/sap/m/GrowingEnablement.js +53 -3
  101. package/src/sap/m/GrowingList.js +1 -1
  102. package/src/sap/m/HBox.js +1 -1
  103. package/src/sap/m/HBoxRenderer.js +1 -1
  104. package/src/sap/m/HeaderContainer.js +87 -16
  105. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  106. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  107. package/src/sap/m/HyphenationSupport.js +1 -5
  108. package/src/sap/m/IconTabBar.js +2 -2
  109. package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
  110. package/src/sap/m/IconTabBarSelectList.js +3 -5
  111. package/src/sap/m/IconTabFilter.js +1 -1
  112. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  113. package/src/sap/m/IconTabHeader.js +9 -13
  114. package/src/sap/m/IconTabHeaderRenderer.js +1 -1
  115. package/src/sap/m/IconTabSeparator.js +1 -1
  116. package/src/sap/m/IllustratedMessage.js +29 -8
  117. package/src/sap/m/IllustratedMessageRenderer.js +5 -5
  118. package/src/sap/m/IllustratedMessageType.js +26 -2
  119. package/src/sap/m/Illustration.js +1 -1
  120. package/src/sap/m/IllustrationRenderer.js +4 -2
  121. package/src/sap/m/Image.js +1 -1
  122. package/src/sap/m/ImageContent.js +2 -2
  123. package/src/sap/m/ImageRenderer.js +1 -1
  124. package/src/sap/m/Input.js +13 -23
  125. package/src/sap/m/InputBase.js +6 -8
  126. package/src/sap/m/InputBaseRenderer.js +53 -39
  127. package/src/sap/m/InputListItem.js +1 -1
  128. package/src/sap/m/InputListItemRenderer.js +4 -6
  129. package/src/sap/m/InputRenderer.js +12 -9
  130. package/src/sap/m/Label.js +3 -3
  131. package/src/sap/m/LabelRenderer.js +2 -2
  132. package/src/sap/m/LightBox.js +5 -5
  133. package/src/sap/m/LightBoxItem.js +2 -3
  134. package/src/sap/m/LightBoxRenderer.js +1 -1
  135. package/src/sap/m/Link.js +2 -2
  136. package/src/sap/m/LinkRenderer.js +1 -1
  137. package/src/sap/m/List.js +1 -1
  138. package/src/sap/m/ListBase.js +50 -10
  139. package/src/sap/m/ListBaseRenderer.js +38 -24
  140. package/src/sap/m/ListItemBase.js +4 -3
  141. package/src/sap/m/ListItemBaseRenderer.js +23 -23
  142. package/src/sap/m/MaskEnabler.js +11 -11
  143. package/src/sap/m/MaskInput.js +9 -1
  144. package/src/sap/m/MaskInputRenderer.js +9 -43
  145. package/src/sap/m/MaskInputRule.js +5 -5
  146. package/src/sap/m/Menu.js +1 -1
  147. package/src/sap/m/MenuButton.js +5 -1
  148. package/src/sap/m/MenuButtonRenderer.js +1 -1
  149. package/src/sap/m/MenuItem.js +1 -1
  150. package/src/sap/m/MenuListItem.js +1 -1
  151. package/src/sap/m/MenuListItemRenderer.js +2 -2
  152. package/src/sap/m/MessageBox.js +1 -1
  153. package/src/sap/m/MessageItem.js +1 -1
  154. package/src/sap/m/MessageListItem.js +1 -1
  155. package/src/sap/m/MessagePage.js +1 -1
  156. package/src/sap/m/MessagePageRenderer.js +1 -1
  157. package/src/sap/m/MessagePopover.js +19 -34
  158. package/src/sap/m/MessagePopoverItem.js +1 -1
  159. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  160. package/src/sap/m/MessageStrip.js +2 -2
  161. package/src/sap/m/MessageStripRenderer.js +1 -1
  162. package/src/sap/m/MessageToast.js +1 -1
  163. package/src/sap/m/MessageView.js +3 -3
  164. package/src/sap/m/MultiComboBox.js +6 -4
  165. package/src/sap/m/MultiComboBoxRenderer.js +4 -4
  166. package/src/sap/m/MultiEditField.js +1 -1
  167. package/src/sap/m/MultiInput.js +44 -27
  168. package/src/sap/m/NavContainer.js +53 -53
  169. package/src/sap/m/NavContainerRenderer.js +1 -1
  170. package/src/sap/m/NewsContent.js +2 -2
  171. package/src/sap/m/NotificationList.js +1 -1
  172. package/src/sap/m/NotificationListBase.js +1 -1
  173. package/src/sap/m/NotificationListGroup.js +1 -1
  174. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  175. package/src/sap/m/NotificationListItem.js +1 -1
  176. package/src/sap/m/NotificationListItemRenderer.js +1 -1
  177. package/src/sap/m/NotificationListRenderer.js +2 -2
  178. package/src/sap/m/NumericContent.js +30 -22
  179. package/src/sap/m/NumericContentRenderer.js +10 -10
  180. package/src/sap/m/NumericInput.js +3 -2
  181. package/src/sap/m/NumericInputRenderer.js +13 -1
  182. package/src/sap/m/ObjectAttribute.js +4 -5
  183. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  184. package/src/sap/m/ObjectHeader.js +20 -7
  185. package/src/sap/m/ObjectHeaderRenderer.js +3 -3
  186. package/src/sap/m/ObjectIdentifier.js +3 -3
  187. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  188. package/src/sap/m/ObjectListItem.js +1 -1
  189. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  190. package/src/sap/m/ObjectMarker.js +35 -11
  191. package/src/sap/m/ObjectMarkerRenderer.js +15 -3
  192. package/src/sap/m/ObjectNumber.js +1 -1
  193. package/src/sap/m/ObjectNumberRenderer.js +1 -2
  194. package/src/sap/m/ObjectStatus.js +1 -1
  195. package/src/sap/m/ObjectStatusRenderer.js +4 -5
  196. package/src/sap/m/OverflowToolbar.js +23 -3
  197. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  198. package/src/sap/m/OverflowToolbarButton.js +1 -1
  199. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  200. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  201. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  202. package/src/sap/m/P13nColumnsItem.js +1 -1
  203. package/src/sap/m/P13nColumnsPanel.js +1 -1
  204. package/src/sap/m/P13nConditionPanel.js +2 -2
  205. package/src/sap/m/P13nDialog.js +1 -1
  206. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  207. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  208. package/src/sap/m/P13nFilterItem.js +1 -1
  209. package/src/sap/m/P13nFilterPanel.js +1 -1
  210. package/src/sap/m/P13nGroupItem.js +1 -1
  211. package/src/sap/m/P13nGroupPanel.js +3 -3
  212. package/src/sap/m/P13nItem.js +1 -1
  213. package/src/sap/m/P13nPanel.js +1 -1
  214. package/src/sap/m/P13nSelectionItem.js +1 -1
  215. package/src/sap/m/P13nSelectionPanel.js +1 -1
  216. package/src/sap/m/P13nSortItem.js +1 -1
  217. package/src/sap/m/P13nSortPanel.js +1 -1
  218. package/src/sap/m/PDFViewer.js +4 -3
  219. package/src/sap/m/PDFViewerRenderer.js +15 -7
  220. package/src/sap/m/Page.js +1 -1
  221. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  222. package/src/sap/m/PagingButton.js +1 -1
  223. package/src/sap/m/Panel.js +1 -1
  224. package/src/sap/m/PanelRenderer.js +1 -1
  225. package/src/sap/m/PlanningCalendar.js +16 -15
  226. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  227. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  228. package/src/sap/m/PlanningCalendarRow.js +1 -1
  229. package/src/sap/m/PlanningCalendarView.js +1 -1
  230. package/src/sap/m/Popover.js +25 -9
  231. package/src/sap/m/PopoverRenderer.js +1 -1
  232. package/src/sap/m/ProgressIndicator.js +3 -3
  233. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  234. package/src/sap/m/PullToRefresh.js +1 -1
  235. package/src/sap/m/PullToRefreshRenderer.js +2 -2
  236. package/src/sap/m/QuickView.js +1 -1
  237. package/src/sap/m/QuickViewBase.js +1 -1
  238. package/src/sap/m/QuickViewCard.js +1 -1
  239. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  240. package/src/sap/m/QuickViewGroup.js +1 -1
  241. package/src/sap/m/QuickViewGroupElement.js +1 -1
  242. package/src/sap/m/QuickViewPage.js +5 -2
  243. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  244. package/src/sap/m/RadioButton.js +1 -1
  245. package/src/sap/m/RadioButtonGroup.js +14 -2
  246. package/src/sap/m/RadioButtonRenderer.js +1 -2
  247. package/src/sap/m/RangeSlider.js +17 -6
  248. package/src/sap/m/RangeSliderRenderer.js +5 -5
  249. package/src/sap/m/RatingIndicator.js +2 -2
  250. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  251. package/src/sap/m/ResponsivePopover.js +3 -5
  252. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  253. package/src/sap/m/ResponsiveScale.js +1 -1
  254. package/src/sap/m/ScrollBar.js +3 -3
  255. package/src/sap/m/ScrollBarRenderer.js +1 -1
  256. package/src/sap/m/ScrollContainer.js +1 -1
  257. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  258. package/src/sap/m/SearchField.js +2 -2
  259. package/src/sap/m/SegmentedButton.js +17 -7
  260. package/src/sap/m/SegmentedButtonItem.js +1 -1
  261. package/src/sap/m/SegmentedButtonRenderer.js +2 -2
  262. package/src/sap/m/Select.js +36 -6
  263. package/src/sap/m/SelectDialog.js +4 -4
  264. package/src/sap/m/SelectDialogBase.js +1 -1
  265. package/src/sap/m/SelectList.js +4 -3
  266. package/src/sap/m/SelectListRenderer.js +5 -5
  267. package/src/sap/m/SelectRenderer.js +5 -5
  268. package/src/sap/m/SelectionDetails.js +3 -5
  269. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  270. package/src/sap/m/SelectionDetailsItem.js +1 -1
  271. package/src/sap/m/SelectionDetailsItemLine.js +3 -3
  272. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  273. package/src/sap/m/Shell.js +1 -1
  274. package/src/sap/m/ShellRenderer.js +1 -1
  275. package/src/sap/m/SimpleFixFlex.js +1 -1
  276. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  277. package/src/sap/m/SinglePlanningCalendar.js +21 -2
  278. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  279. package/src/sap/m/SinglePlanningCalendarGrid.js +118 -67
  280. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +16 -14
  281. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +24 -10
  282. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +1 -1
  283. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  284. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  285. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  286. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  287. package/src/sap/m/SlideTile.js +2 -2
  288. package/src/sap/m/SlideTileRenderer.js +9 -2
  289. package/src/sap/m/Slider.js +1 -1
  290. package/src/sap/m/SliderRenderer.js +9 -9
  291. package/src/sap/m/SliderTooltip.js +3 -3
  292. package/src/sap/m/SliderTooltipBase.js +1 -1
  293. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  294. package/src/sap/m/SliderTooltipContainer.js +6 -2
  295. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  296. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  297. package/src/sap/m/SplitApp.js +1 -1
  298. package/src/sap/m/SplitButton.js +3 -1
  299. package/src/sap/m/SplitButtonRenderer.js +1 -1
  300. package/src/sap/m/SplitContainer.js +24 -31
  301. package/src/sap/m/StandardDynamicDateOption.js +154 -12
  302. package/src/sap/m/StandardListItem.js +1 -1
  303. package/src/sap/m/StandardListItemRenderer.js +8 -8
  304. package/src/sap/m/StandardTile.js +1 -1
  305. package/src/sap/m/StandardTileRenderer.js +1 -1
  306. package/src/sap/m/StandardTreeItem.js +1 -1
  307. package/src/sap/m/StepInput.js +4 -4
  308. package/src/sap/m/SuggestionItem.js +1 -1
  309. package/src/sap/m/SuggestionsPopover.js +7 -22
  310. package/src/sap/m/Switch.js +1 -1
  311. package/src/sap/m/SwitchRenderer.js +3 -3
  312. package/src/sap/m/TabContainer.js +1 -1
  313. package/src/sap/m/TabContainerItem.js +1 -3
  314. package/src/sap/m/TabContainerRenderer.js +2 -2
  315. package/src/sap/m/TabStrip.js +2 -2
  316. package/src/sap/m/TabStripItem.js +1 -1
  317. package/src/sap/m/TabStripRenderer.js +2 -2
  318. package/src/sap/m/Table.js +41 -9
  319. package/src/sap/m/TablePersoController.js +1 -1
  320. package/src/sap/m/TablePersoDialog.js +1 -1
  321. package/src/sap/m/TablePersoProvider.js +1 -1
  322. package/src/sap/m/TableRenderer.js +10 -5
  323. package/src/sap/m/TableSelectDialog.js +19 -19
  324. package/src/sap/m/Text.js +1 -1
  325. package/src/sap/m/TextArea.js +1 -1
  326. package/src/sap/m/TextAreaRenderer.js +1 -1
  327. package/src/sap/m/Tile.js +3 -3
  328. package/src/sap/m/TileContainer.js +6 -4
  329. package/src/sap/m/TileContainerRenderer.js +1 -1
  330. package/src/sap/m/TileContent.js +37 -5
  331. package/src/sap/m/TileContentRenderer.js +43 -6
  332. package/src/sap/m/TileRenderer.js +2 -2
  333. package/src/sap/m/TimePicker.js +4 -56
  334. package/src/sap/m/TimePickerClock.js +5 -6
  335. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  336. package/src/sap/m/TimePickerClocks.js +6 -5
  337. package/src/sap/m/TimePickerClocksRenderer.js +3 -3
  338. package/src/sap/m/TimePickerInputs.js +1 -1
  339. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  340. package/src/sap/m/TimePickerInternals.js +8 -6
  341. package/src/sap/m/TimePickerRenderer.js +5 -17
  342. package/src/sap/m/TimePickerSlider.js +2 -2
  343. package/src/sap/m/TimePickerSliderRenderer.js +2 -2
  344. package/src/sap/m/TimePickerSliders.js +7 -5
  345. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  346. package/src/sap/m/Title.js +1 -5
  347. package/src/sap/m/TitlePropagationSupport.js +1 -1
  348. package/src/sap/m/TitleRenderer.js +2 -2
  349. package/src/sap/m/ToggleButton.js +1 -1
  350. package/src/sap/m/Token.js +1 -2
  351. package/src/sap/m/TokenRenderer.js +21 -3
  352. package/src/sap/m/Tokenizer.js +8 -8
  353. package/src/sap/m/TokenizerRenderer.js +41 -7
  354. package/src/sap/m/Toolbar.js +5 -5
  355. package/src/sap/m/ToolbarLayoutData.js +1 -1
  356. package/src/sap/m/ToolbarRenderer.js +3 -3
  357. package/src/sap/m/ToolbarSeparator.js +5 -3
  358. package/src/sap/m/ToolbarSpacer.js +1 -1
  359. package/src/sap/m/Tree.js +1 -1
  360. package/src/sap/m/TreeItemBase.js +6 -6
  361. package/src/sap/m/TreeItemBaseRenderer.js +2 -2
  362. package/src/sap/m/TreeRenderer.js +2 -2
  363. package/src/sap/m/UploadCollection.js +5 -3
  364. package/src/sap/m/UploadCollectionItem.js +1 -1
  365. package/src/sap/m/UploadCollectionParameter.js +1 -1
  366. package/src/sap/m/UploadCollectionRenderer.js +2 -1
  367. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  368. package/src/sap/m/VBox.js +1 -1
  369. package/src/sap/m/VBoxRenderer.js +1 -1
  370. package/src/sap/m/ValueStateHeader.js +1 -1
  371. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  372. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  373. package/src/sap/m/ViewSettingsDialog.js +118 -61
  374. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  375. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  376. package/src/sap/m/ViewSettingsItem.js +1 -1
  377. package/src/sap/m/VisibleItem.js +2 -2
  378. package/src/sap/m/WheelSlider.js +1 -1
  379. package/src/sap/m/WheelSliderContainer.js +1 -1
  380. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  381. package/src/sap/m/WheelSliderRenderer.js +2 -2
  382. package/src/sap/m/Wizard.js +22 -4
  383. package/src/sap/m/WizardProgressNavigator.js +10 -3
  384. package/src/sap/m/WizardStep.js +1 -1
  385. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  386. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  387. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  388. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  389. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  390. package/src/sap/m/changeHandler/SplitMenuButton.js +5 -5
  391. package/src/sap/m/delegate/DateNavigation.js +2 -2
  392. package/src/sap/m/designtime/ListBase.designtime.js +29 -0
  393. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  394. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  395. package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
  396. package/src/sap/m/inputUtils/typeAhead.js +7 -7
  397. package/src/sap/m/library.js +74 -38
  398. package/src/sap/m/messagebundle.properties +80 -20
  399. package/src/sap/m/messagebundle_ar.properties +48 -14
  400. package/src/sap/m/messagebundle_bg.properties +77 -43
  401. package/src/sap/m/messagebundle_ca.properties +48 -14
  402. package/src/sap/m/messagebundle_cs.properties +50 -16
  403. package/src/sap/m/messagebundle_cy.properties +48 -14
  404. package/src/sap/m/messagebundle_da.properties +49 -15
  405. package/src/sap/m/messagebundle_de.properties +49 -15
  406. package/src/sap/m/messagebundle_el.properties +53 -19
  407. package/src/sap/m/messagebundle_en.properties +46 -12
  408. package/src/sap/m/messagebundle_en_GB.properties +46 -12
  409. package/src/sap/m/messagebundle_en_US_sappsd.properties +48 -12
  410. package/src/sap/m/messagebundle_en_US_saprigi.properties +291 -66
  411. package/src/sap/m/messagebundle_en_US_saptrc.properties +46 -12
  412. package/src/sap/m/messagebundle_es.properties +48 -14
  413. package/src/sap/m/messagebundle_es_MX.properties +48 -14
  414. package/src/sap/m/messagebundle_et.properties +48 -14
  415. package/src/sap/m/messagebundle_fi.properties +49 -15
  416. package/src/sap/m/messagebundle_fr.properties +61 -27
  417. package/src/sap/m/messagebundle_fr_CA.properties +47 -13
  418. package/src/sap/m/messagebundle_hi.properties +46 -12
  419. package/src/sap/m/messagebundle_hr.properties +48 -14
  420. package/src/sap/m/messagebundle_hu.properties +49 -15
  421. package/src/sap/m/messagebundle_id.properties +48 -14
  422. package/src/sap/m/messagebundle_it.properties +55 -21
  423. package/src/sap/m/messagebundle_iw.properties +48 -14
  424. package/src/sap/m/messagebundle_ja.properties +51 -17
  425. package/src/sap/m/messagebundle_kk.properties +48 -14
  426. package/src/sap/m/messagebundle_ko.properties +48 -14
  427. package/src/sap/m/messagebundle_lt.properties +48 -14
  428. package/src/sap/m/messagebundle_lv.properties +48 -14
  429. package/src/sap/m/messagebundle_ms.properties +47 -13
  430. package/src/sap/m/messagebundle_nl.properties +48 -14
  431. package/src/sap/m/messagebundle_no.properties +48 -14
  432. package/src/sap/m/messagebundle_pl.properties +48 -14
  433. package/src/sap/m/messagebundle_pt.properties +71 -37
  434. package/src/sap/m/messagebundle_pt_PT.properties +49 -15
  435. package/src/sap/m/messagebundle_ro.properties +48 -14
  436. package/src/sap/m/messagebundle_ru.properties +48 -14
  437. package/src/sap/m/messagebundle_sh.properties +48 -14
  438. package/src/sap/m/messagebundle_sk.properties +48 -14
  439. package/src/sap/m/messagebundle_sl.properties +48 -14
  440. package/src/sap/m/messagebundle_sv.properties +49 -15
  441. package/src/sap/m/messagebundle_th.properties +55 -21
  442. package/src/sap/m/messagebundle_tr.properties +48 -14
  443. package/src/sap/m/messagebundle_uk.properties +48 -14
  444. package/src/sap/m/messagebundle_vi.properties +47 -13
  445. package/src/sap/m/messagebundle_zh_CN.properties +48 -14
  446. package/src/sap/m/messagebundle_zh_TW.properties +47 -13
  447. package/src/sap/m/p13n/AbstractContainer.js +15 -8
  448. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  449. package/src/sap/m/p13n/BasePanel.js +39 -20
  450. package/src/sap/m/p13n/Container.js +20 -14
  451. package/src/sap/m/p13n/GroupPanel.js +6 -5
  452. package/src/sap/m/p13n/Popup.js +9 -2
  453. package/src/sap/m/p13n/QueryPanel.js +93 -30
  454. package/src/sap/m/p13n/SelectionPanel.js +16 -8
  455. package/src/sap/m/p13n/SortPanel.js +9 -6
  456. package/src/sap/m/plugins/ColumnResizer.js +38 -9
  457. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  458. package/src/sap/m/plugins/PasteProvider.js +1 -1
  459. package/src/sap/m/plugins/PluginBase.js +1 -1
  460. package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
  461. package/src/sap/m/rules/MessagePage.support.js +1 -1
  462. package/src/sap/m/rules/Tokenizer.support.js +4 -2
  463. package/src/sap/m/semantic/AddAction.js +1 -1
  464. package/src/sap/m/semantic/CancelAction.js +1 -1
  465. package/src/sap/m/semantic/DeleteAction.js +1 -1
  466. package/src/sap/m/semantic/DetailPage.js +1 -1
  467. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  468. package/src/sap/m/semantic/EditAction.js +1 -1
  469. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  470. package/src/sap/m/semantic/FilterAction.js +1 -1
  471. package/src/sap/m/semantic/FilterSelect.js +1 -1
  472. package/src/sap/m/semantic/FlagAction.js +1 -1
  473. package/src/sap/m/semantic/ForwardAction.js +1 -1
  474. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  475. package/src/sap/m/semantic/GroupAction.js +1 -1
  476. package/src/sap/m/semantic/GroupSelect.js +1 -1
  477. package/src/sap/m/semantic/MainAction.js +1 -1
  478. package/src/sap/m/semantic/MasterPage.js +1 -1
  479. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  480. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  481. package/src/sap/m/semantic/NegativeAction.js +1 -1
  482. package/src/sap/m/semantic/OpenInAction.js +1 -1
  483. package/src/sap/m/semantic/PositiveAction.js +1 -1
  484. package/src/sap/m/semantic/PrintAction.js +1 -1
  485. package/src/sap/m/semantic/SaveAction.js +1 -1
  486. package/src/sap/m/semantic/Segment.js +1 -1
  487. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  488. package/src/sap/m/semantic/SemanticButton.js +1 -1
  489. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  490. package/src/sap/m/semantic/SemanticControl.js +1 -1
  491. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  492. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  493. package/src/sap/m/semantic/SemanticPage.js +1 -1
  494. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  495. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  496. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  497. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  498. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  499. package/src/sap/m/semantic/ShareMenu.js +2 -2
  500. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  501. package/src/sap/m/semantic/SortAction.js +1 -1
  502. package/src/sap/m/semantic/SortSelect.js +1 -1
  503. package/src/sap/m/table/Util.js +104 -23
  504. package/src/sap/m/table/{ActionItem.js → columnmenu/ActionItem.js} +9 -10
  505. package/src/sap/m/table/{ColumnMenuEntry.js → columnmenu/Entry.js} +16 -16
  506. package/src/sap/m/table/{Item.js → columnmenu/Item.js} +8 -8
  507. package/src/sap/m/table/{ItemBase.js → columnmenu/ItemBase.js} +11 -12
  508. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  509. package/src/sap/m/table/columnmenu/Menu.js +556 -0
  510. package/src/sap/m/table/columnmenu/MenuRenderer.js +57 -0
  511. package/src/sap/m/table/columnmenu/QuickAction.js +65 -0
  512. package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
  513. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  514. package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
  515. package/src/sap/m/table/columnmenu/QuickGroup.js +146 -0
  516. package/src/sap/m/table/columnmenu/QuickGroupItem.js +59 -0
  517. package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
  518. package/src/sap/m/table/columnmenu/QuickSortItem.js +118 -0
  519. package/src/sap/m/table/columnmenu/QuickTotal.js +157 -0
  520. package/src/sap/m/table/columnmenu/QuickTotalItem.js +59 -0
  521. package/src/sap/m/themes/base/AbstractContainer.less +2 -3
  522. package/src/sap/m/themes/base/Avatar.less +11 -5
  523. package/src/sap/m/themes/base/Button.less +2 -2
  524. package/src/sap/m/themes/base/Carousel.less +5 -0
  525. package/src/sap/m/themes/base/CheckBox.less +0 -5
  526. package/src/sap/m/themes/base/ColumnMenu.less +17 -13
  527. package/src/sap/m/themes/base/DatePicker.less +7 -2
  528. package/src/sap/m/themes/base/DateTimePicker.less +147 -1
  529. package/src/sap/m/themes/base/Dialog.less +4 -6
  530. package/src/sap/m/themes/base/DynamicDateRange.less +3 -1
  531. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  532. package/src/sap/m/themes/base/GenericTile.less +418 -55
  533. package/src/sap/m/themes/base/HeaderContainer.less +25 -0
  534. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  535. package/src/sap/m/themes/base/IllustratedMessage.less +16 -16
  536. package/src/sap/m/themes/base/Input.less +1 -1
  537. package/src/sap/m/themes/base/InputBase.less +112 -10
  538. package/src/sap/m/themes/base/Label.less +4 -1
  539. package/src/sap/m/themes/base/Link.less +12 -4
  540. package/src/sap/m/themes/base/ListBase.less +4 -0
  541. package/src/sap/m/themes/base/MenuButton.less +4 -4
  542. package/src/sap/m/themes/base/MessageToast.less +2 -2
  543. package/src/sap/m/themes/base/MultiInput.less +1 -1
  544. package/src/sap/m/themes/base/NewsContent.less +7 -0
  545. package/src/sap/m/themes/base/NumericContent.less +1 -5
  546. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  547. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  548. package/src/sap/m/themes/base/ObjectStatus.less +5 -0
  549. package/src/sap/m/themes/base/Page.less +1 -1
  550. package/src/sap/m/themes/base/Popover.less +10 -7
  551. package/src/sap/m/themes/base/RadioButton.less +22 -3
  552. package/src/sap/m/themes/base/SearchField.less +23 -59
  553. package/src/sap/m/themes/base/SplitButton.less +5 -0
  554. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  555. package/src/sap/m/themes/base/TextArea.less +27 -0
  556. package/src/sap/m/themes/base/TileContent.less +45 -1
  557. package/src/sap/m/themes/base/Token.less +14 -13
  558. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  559. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  560. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  561. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  562. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  563. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  564. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  565. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  566. package/src/sap/m/themes/base/illustrations/{sapIllus-Dialog-SimpleCheckmark.svg → sapIllus-Dialog-SimpleCheckMark.svg} +1 -1
  567. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  568. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
  569. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
  570. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
  571. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  572. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
  573. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  574. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  575. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  576. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  577. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  578. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  579. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  580. package/src/sap/m/themes/base/illustrations/{sapIllus-Scene-SimpleCheckmark.svg → sapIllus-Scene-SimpleCheckMark.svg} +1 -1
  581. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  582. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
  583. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
  584. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
  585. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  586. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
  587. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  588. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  589. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  590. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  591. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  592. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  593. package/src/sap/m/themes/base/illustrations/{sapIllus-Spot-SimpleCheckmark.svg → sapIllus-Spot-SimpleCheckMark.svg} +1 -1
  594. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  595. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
  596. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
  597. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
  598. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  599. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
  600. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  601. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  602. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  603. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  604. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  605. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  606. package/src/sap/m/upload/UploadSet.js +421 -59
  607. package/src/sap/m/upload/UploadSetItem.js +77 -8
  608. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  609. package/src/sap/m/table/ColumnMenu.js +0 -378
  610. package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
  611. package/src/sap/m/table/QuickAction.js +0 -53
  612. package/src/sap/m/table/QuickActionBase.js +0 -53
  613. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +0 -21
  614. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +0 -54
  615. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +0 -18
package/.eslintrc.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "overrides": [
3
+ /*
4
+ * Productive code, sample and unit test code of sap.m has been cleaned up.
5
+ * No more references to the global jQuery allowed
6
+ */
7
+ {
8
+ "files": [
9
+ "src/**/*.js",
10
+ "test/sap/m/demokit/**/*.js",
11
+ "test/sap/m/qunit/**/*.js"
12
+ ],
13
+ "globals": {
14
+ "jQuery": "off"
15
+ }
16
+ }
17
+ ]
18
+ }
package/THIRDPARTY.txt CHANGED
@@ -197,7 +197,7 @@ License: BSD-3-Clause
197
197
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
198
198
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/sinon-qunit.js
199
199
 
200
- Component: URI.js, version: 1.19.7
200
+ Component: URI.js, version: 1.19.10
201
201
  Copyright: Rodney Rehm
202
202
  License: MIT
203
203
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -400,7 +400,7 @@ Contained in: src/sap.ui.mdc/test/sap/ui/mdc/sample/field/filterfieldwithoperato
400
400
 
401
401
  Library: sap.ui.webc.common:
402
402
 
403
- Component: UI5 Web Components, version: 1.0.0-rc.12
403
+ Component: UI5 Web Components, version: 1.1.2
404
404
  Copyright: SAP
405
405
  License: Apache-2.0
406
406
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -411,7 +411,7 @@ Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.*
411
411
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.*
412
412
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/*.*
413
413
 
414
- Component: lit-html, version: 1.4.1
414
+ Component: lit-html, version: 2.0.1
415
415
  Copyright: Google LLC
416
416
  License: BSD-3-Clause
417
417
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -420,7 +420,7 @@ Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/lit-html/
420
420
 
421
421
  Library: sap.ui.webc.fiori:
422
422
 
423
- Component: UI5 Web Components, version: 1.0.0-rc.12
423
+ Component: UI5 Web Components, version: 1.1.2
424
424
  Copyright: SAP
425
425
  License: Apache-2.0
426
426
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -429,7 +429,7 @@ Contained in: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/thirdparty/*.*
429
429
 
430
430
  Library: sap.ui.webc.main:
431
431
 
432
- Component: UI5 Web Components, version: 1.0.0-rc.12
432
+ Component: UI5 Web Components, version: 1.1.2
433
433
  Copyright: SAP
434
434
  License: Apache-2.0
435
435
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -450,7 +450,7 @@ License: Apache-2.0
450
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
451
  Contained in: lib/jsdoc/ui5/plugin.js
452
452
 
453
- Component: SAP Theming Base Content, version: 11.1.34
453
+ Component: SAP Theming Base Content, version: 11.1.38
454
454
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
455
455
  License: Apache-2.0
456
456
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.m",
3
- "version": "1.98.0",
3
+ "version": "1.101.0",
4
4
  "description": "OpenUI5 UI Library sap.m",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,8 +14,8 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.ui.core": "1.98.0",
18
- "@openui5/sap.ui.layout": "1.98.0",
19
- "@openui5/sap.ui.unified": "1.98.0"
17
+ "@openui5/sap.ui.core": "1.101.0",
18
+ "@openui5/sap.ui.layout": "1.101.0",
19
+ "@openui5/sap.ui.unified": "1.101.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.98.0</version>
9
+ <version>1.101.0</version>
10
10
 
11
11
  <documentation>The main UI5 control library, with responsive controls that can be used in touch devices as well as desktop browsers.</documentation>
12
12
 
@@ -21,7 +21,7 @@ sap.ui.define(['./Button','./AccButtonRenderer'],
21
21
  * @extends sap.m.Button
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.98.0
24
+ * @version 1.101.0
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -31,7 +31,7 @@ sap.ui.define(['./ListItemBase', './library', './ActionListItemRenderer'],
31
31
  * @extends sap.m.ListItemBase
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.98.0
34
+ * @version 1.101.0
35
35
  *
36
36
  * @constructor
37
37
  * @public
@@ -74,7 +74,7 @@ sap.ui.define(['./ListItemBase', './library', './ActionListItemRenderer'],
74
74
  *
75
75
  * @returns {sap.m.ListMode|""} Mode of the list item.
76
76
  * @protected
77
- * @overwrite
77
+ * @override
78
78
  */
79
79
  ActionListItem.prototype.getMode = function() {
80
80
  return ListMode.None;
@@ -17,15 +17,13 @@ sap.ui.define(["./ListItemBaseRenderer", "sap/ui/core/Renderer"],
17
17
  ActionListItemRenderer.apiVersion = 2;
18
18
 
19
19
  /**
20
- * Renders the HTML for the given control, using the provided
20
+ * Renders the List item attributes for the given control, using the provided
21
21
  * {@link sap.ui.core.RenderManager}.
22
22
  *
23
- * @param {sap.ui.core.RenderManager}
24
- * oRenderManager the RenderManager that can be used for writing to the
25
- * Render-Output-Buffer
26
- * @param {sap.ui.core.Control}
27
- * oControl an object representation of the control that should be
28
- * rendered
23
+ * @param {sap.ui.core.RenderManager} rm
24
+ * RenderManager to be used for rendering
25
+ * @param {sap.m.ActionListItem} oLI
26
+ * The item for which the attributes should be rendered
29
27
  */
30
28
  ActionListItemRenderer.renderLIAttributes = function(rm, oLI) {
31
29
  rm.class("sapMALI");
@@ -20,7 +20,7 @@ sap.ui.define(['./Select', 'sap/ui/core/InvisibleText', 'sap/ui/Device', 'sap/ui
20
20
  * @extends sap.m.Select
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.98.0
23
+ * @version 1.101.0
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/core/Renderer', './SelectRenderer'],
21
21
  * Apply a CSS class to the HTML root element of the ActionSelect control.
22
22
  *
23
23
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
24
- * @param {sap.ui.core.Control} oActionSelect An object representation of the control that should be rendered.
24
+ * @param {sap.m.ActionSelect} oActionSelect An object representation of the control that should be rendered.
25
25
  */
26
26
  ActionSelectRenderer.addClass = function(oRm, oActionSelect) {
27
27
  oRm.class(ActionSelectRenderer.ACTION_SELECT_CSS_CLASS);
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @extends sap.ui.core.Control
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.98.0
73
+ * @version 1.101.0
74
74
  *
75
75
  * @constructor
76
76
  * @public
@@ -227,8 +227,15 @@ sap.ui.define([
227
227
  this._oItemNavigation.setPageSize(5);
228
228
 
229
229
  this._oItemNavigation.setDisabledModifiers({
230
- sapnext: ["alt"],
231
- sapprevious: ["alt"]
230
+ // Alt + arrow keys are reserved for browser navigation
231
+ sapnext: [
232
+ "alt", // Windows and Linux
233
+ "meta" // Apple (⌘)
234
+ ],
235
+ sapprevious: [
236
+ "alt",
237
+ "meta"
238
+ ]
232
239
  });
233
240
 
234
241
  }
@@ -437,7 +444,7 @@ sap.ui.define([
437
444
  if (!this._oCancelButton) {
438
445
  var sCancelButtonText = (this.getCancelButtonText()) ? this.getCancelButtonText() : sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("ACTIONSHEET_CANCELBUTTON_TEXT"),
439
446
  that = this;
440
- // var sButtonStyle = (sap.ui.Device.os.ios) ? sap.m.ButtonType.Unstyled : sap.m.ButtonType.Default;
447
+ // var sButtonStyle = (Device.os.ios) ? ButtonType.Unstyled : ButtonType.Default;
441
448
  this._oCancelButton = new Button(this.getId() + '-cancelBtn', {
442
449
  text: sCancelButtonText,
443
450
  type: ButtonType.Reject,
@@ -605,7 +612,7 @@ sap.ui.define([
605
612
 
606
613
  /**
607
614
  * Extends the afterClose event by providing context information.
608
- * @param {sap.m.Button | null} Action selected on Popover close
615
+ * @param {sap.m.Button | null} oAction Action selected on Popover close
609
616
  * @private
610
617
  */
611
618
  ActionSheet.prototype._onAfterClose = function (oAction) {
@@ -21,7 +21,7 @@ sap.ui.define(["sap/ui/Device"],
21
21
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
22
22
  *
23
23
  * @param {sap.ui.core.RenderManager} oRm the RenderManager that can be used for writing to the render output buffer
24
- * @param {sap.ui.core.Control} oControl an object representation of the control that should be rendered
24
+ * @param {sap.m.ActionSheet} oControl an object representation of the control that should be rendered
25
25
  */
26
26
  ActionSheetRenderer.render = function(oRm, oControl){
27
27
  var aActionButtons = oControl._getAllButtons(),
package/src/sap/m/App.js CHANGED
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  * @extends sap.m.NavContainer
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.98.0
53
+ * @version 1.101.0
54
54
  *
55
55
  * @constructor
56
56
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/base/Log', './OverflowToolbar', './OverflowToolbarRenderer',
20
20
  * @extends sap.m.OverflowToolbar
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.98.0
23
+ * @version 1.101.0
24
24
  *
25
25
  * @constructor
26
26
  * @private
@@ -13,8 +13,9 @@ sap.ui.define([
13
13
  "sap/ui/events/KeyCodes",
14
14
  "sap/base/Log",
15
15
  "sap/ui/core/Icon",
16
- "./library"
17
- ], function(Control, IconPool, AvatarRenderer, KeyCodes, Log, Icon, library) {
16
+ "./library",
17
+ "sap/ui/core/library"
18
+ ], function(Control, IconPool, AvatarRenderer, KeyCodes, Log, Icon, library, coreLibrary) {
18
19
  "use strict";
19
20
 
20
21
  // shortcut for sap.m.AvatarType
@@ -32,6 +33,9 @@ sap.ui.define([
32
33
  // shortcut for sap.m.AvatarShape
33
34
  var AvatarShape = library.AvatarShape;
34
35
 
36
+ // shortcut for sap.ui.core.aria.HasPopup
37
+ var AriaHasPopup = coreLibrary.aria.HasPopup;
38
+
35
39
  // shortcut for Accent colors keys only (from AvatarColor enum)
36
40
  var AccentColors = Object.keys(AvatarColor).filter(function (sCurrColor) {
37
41
  return sCurrColor.indexOf("Accent") !== -1;
@@ -76,7 +80,7 @@ sap.ui.define([
76
80
  * @extends sap.ui.core.Control
77
81
  *
78
82
  * @author SAP SE
79
- * @version 1.98.0
83
+ * @version 1.101.0
80
84
  *
81
85
  * @constructor
82
86
  * @public
@@ -172,7 +176,20 @@ sap.ui.define([
172
176
  *
173
177
  * @since 1.97
174
178
  */
175
- decorative : {type : "boolean", group : "Accessibility", defaultValue : false}
179
+ decorative : {type : "boolean", group : "Accessibility", defaultValue : false},
180
+
181
+ /**
182
+ * Specifies the value of the <code>aria-haspopup</code> attribute
183
+ *
184
+ * If the value is <code>None</code>, the attribute will not be rendered. Otherwise it will be rendered with the selected value.
185
+ *
186
+ * NOTE: Use this property only when an avatar is related to a popover/popup. The value needs to be equal to the main/root role of the popup - e.g. dialog,
187
+ * menu or list (examples: if you have dialog -> dialog, if you have menu -> menu; if you have list -> list; if you have dialog containing a list -> dialog).
188
+ * Do not use it, if you open a standard sap.m.Dialog, MessageBox or other type of dialogs displayed as on overlay over the application.
189
+ *
190
+ * @since 1.99.0
191
+ */
192
+ ariaHasPopup : {type : "sap.ui.core.aria.HasPopup", group : "Accessibility", defaultValue : AriaHasPopup.None}
176
193
 
177
194
  },
178
195
  aggregations : {
@@ -28,7 +28,7 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
28
28
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
29
29
  *
30
30
  * @param {sap.ui.core.RenderManager} oRm the RenderManager that can be used for writing to the Render-Output-Buffer
31
- * @param {sap.ui.core.Control} oAvatar an object representation of the control that should be rendered
31
+ * @param {sap.m.Avatar} oAvatar an object representation of the control that should be rendered
32
32
  */
33
33
  AvatarRenderer.render = function (oRm, oAvatar) {
34
34
  var sInitials = oAvatar.getInitials(),
@@ -44,6 +44,7 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
44
44
  sTooltip = oAvatar.getTooltip_AsString(),
45
45
  aLabelledBy = oAvatar.getAriaLabelledBy(),
46
46
  aDescribedBy = oAvatar.getAriaDescribedBy(),
47
+ aHasPopup = oAvatar.getAriaHasPopup(),
47
48
  oBadge = oAvatar.hasListeners("press") ? oAvatar._getBadge() : null,
48
49
  sDefaultTooltip = oAvatar._getDefaultTooltip();
49
50
 
@@ -91,6 +92,10 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
91
92
  if (aDescribedBy && aDescribedBy.length > 0) {
92
93
  oRm.attr("aria-describedby", aDescribedBy.join(" "));
93
94
  }
95
+ // aria-haspopup references
96
+ if (aHasPopup && aHasPopup !== "None") {
97
+ oRm.attr("aria-haspopup", aHasPopup.toLowerCase());
98
+ }
94
99
  oRm.openEnd();
95
100
  if (sActualDisplayType === AvatarType.Icon || sImageFallbackType === AvatarType.Icon) {
96
101
  oRm.renderControl(oAvatar._getIcon().addStyleClass(sAvatarClass + "TypeIcon"));
@@ -57,8 +57,9 @@ sap.ui.define([
57
57
  * Sets the value of BadgeCustomData and updates the Badge DOM element.
58
58
  *
59
59
  * @private
60
- * @param {string} Value to be.
61
- * @return {this} this BadgeCustomData reference for chaining.
60
+ * @param {string} sValue Value to be.
61
+ * @returns {this} this BadgeCustomData reference for chaining.
62
+ * @override
62
63
  */
63
64
  BadgeCustomData.prototype.setValue = function (sValue) {
64
65
  if (this.getValue() === sValue) { return this; }
@@ -112,8 +113,9 @@ sap.ui.define([
112
113
  * Sets the key property of BadgeCustomData as it can be only 'badge'.
113
114
  *
114
115
  * @private
115
- * @param {string} Key to be.
116
- * @return {this} this BadgeCustomData reference for chaining.
116
+ * @param {string} sKey Key to be.
117
+ * @returns {this} this BadgeCustomData reference for chaining.
118
+ * @override
117
119
  */
118
120
  BadgeCustomData.prototype.setKey = function () {
119
121
  return this;
@@ -8,9 +8,10 @@
8
8
  sap.ui.define([
9
9
  'sap/m/BadgeCustomData',
10
10
  'sap/base/Log',
11
- 'sap/m/library'
11
+ 'sap/m/library',
12
+ 'sap/ui/thirdparty/jquery'
12
13
  ],
13
- function(BadgeCustomData, Log, library) {
14
+ function(BadgeCustomData, Log, library, jQuery) {
14
15
  "use strict";
15
16
 
16
17
  var IBADGE_CSS_CLASS = "sapMBadge";
package/src/sap/m/Bar.js CHANGED
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  * @implements sap.m.IBar
57
57
  *
58
58
  * @author SAP SE
59
- * @version 1.98.0
59
+ * @version 1.101.0
60
60
  *
61
61
  * @constructor
62
62
  * @public
@@ -340,10 +340,11 @@ sap.ui.define([
340
340
  aContentLeftControls = this.getContentLeft().filter(function(oControl) { return oControl.getVisible(); }),
341
341
  aContentRightControls = this.getContentRight().filter(function(oControl) { return oControl.getVisible(); }),
342
342
  iContentLeftPadding = aContentLeftControls.length ? 0 : parseInt(this._$LeftBar.css('padding-' + sLeftOrRight)),
343
- iContentRightPadding = aContentRightControls.length ? 0 : parseInt(this._$RightBar.css('padding-' + sRightOrLeft));
343
+ iContentRightPadding = aContentRightControls.length ? 0 : parseInt(this._$RightBar.css('padding-' + sRightOrLeft)),
344
+ iParentPaddingLeft = parseInt(this.$().css("padding-left")),
345
+ iParentPaddingRight = parseInt(this.$().css("padding-right"));
344
346
 
345
347
  if (this.getEnableFlexBox()) {
346
-
347
348
  iMidBarPlaceholderWidth = iBarWidth - iLeftBarWidth - iRightBarWidth - parseInt(this._$MidBarPlaceHolder.css('margin-left')) - parseInt(this._$MidBarPlaceHolder.css('margin-right'));
348
349
 
349
350
  oMidBarCss.position = "absolute";
@@ -354,7 +355,7 @@ sap.ui.define([
354
355
  return oMidBarCss;
355
356
  }
356
357
 
357
- var iSpaceBetweenLeftAndRight = iBarWidth - iLeftBarWidth - iRightBarWidth,
358
+ var iSpaceBetweenLeftAndRight = iBarWidth - iLeftBarWidth - iRightBarWidth - (bRtl ? iParentPaddingLeft : iParentPaddingRight),
358
359
  iMidBarStartingPoint = (iBarWidth / 2) - (iMidBarPlaceholderWidth / 2),
359
360
  bLeftContentIsOverlapping = iLeftBarWidth > iMidBarStartingPoint,
360
361
  iMidBarEndPoint = (iBarWidth / 2) + (iMidBarPlaceholderWidth / 2),
@@ -372,7 +373,7 @@ sap.ui.define([
372
373
  oMidBarCss.width = iSpaceBetweenLeftAndRight + iContentLeftPadding + iContentRightPadding + "px";
373
374
 
374
375
  //Set left or right depending on LTR/RTL
375
- oMidBarCss[sLeftOrRight] = iLeftBarWidth - iContentLeftPadding;
376
+ oMidBarCss[sLeftOrRight] = iLeftBarWidth - iContentLeftPadding + (bRtl ? iParentPaddingRight : iParentPaddingLeft);
376
377
  }
377
378
 
378
379
  return oMidBarCss;
@@ -26,7 +26,7 @@ sap.ui.define(['./BarInPageEnabler', 'sap/ui/Device', "sap/base/Log", 'sap/m/HBo
26
26
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
27
27
  * @protected
28
28
  * @param {sap.ui.core.RenderManager} oRM The RenderManager that can be used for writing to the Render-Output-Buffer.
29
- * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered
29
+ * @param {sap.m.Bar} oControl An object representation of the control that should be rendered
30
30
  */
31
31
  BarRenderer.render = BarInPageEnabler.prototype.render;
32
32
 
@@ -38,7 +38,7 @@ sap.ui.define(['./BarInPageEnabler', 'sap/ui/Device', "sap/base/Log", 'sap/m/HBo
38
38
  * Adds classes attributes and styles to the root tag
39
39
  *
40
40
  * @param {sap.ui.core.RenderManager} oRM The RenderManager that can be used for writing to the Render-Output-Buffer
41
- * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered
41
+ * @param {sap.m.Bar} oControl An object representation of the control that should be rendered
42
42
  */
43
43
  BarRenderer.decorateRootElement = function (oRM, oControl) {
44
44
  oRM.class("sapMBar");
@@ -68,7 +68,7 @@ sap.ui.define(['./BarInPageEnabler', 'sap/ui/Device', "sap/base/Log", 'sap/m/HBo
68
68
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
69
69
  *
70
70
  * @param {sap.ui.core.RenderManager} oRM The RenderManager that can be used for writing to the Render-Output-Buffer
71
- * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered
71
+ * @param {sap.m.Bar} oControl An object representation of the control that should be rendered
72
72
  */
73
73
  BarRenderer.renderBarContent = function(oRM, oControl) {
74
74
  //left content area
@@ -133,7 +133,7 @@ sap.ui.define(['./BarInPageEnabler', 'sap/ui/Device', "sap/base/Log", 'sap/m/HBo
133
133
 
134
134
  /**
135
135
  * Makes the RenderManager render all controls in an array.
136
- * @param {sap.ui.core.Control} aControls The Controls to be rendered
136
+ * @param {sap.ui.core.Control[]} aControls The Controls to be rendered
137
137
  * @param {sap.ui.core.RenderManager} oRM The RenderManager that can be used for writing to the Render-Output-Buffer
138
138
  * @param {sap.m.Bar} oBar An object representation of the control that should be rendered
139
139
  */
@@ -155,7 +155,7 @@ sap.ui.define(['./BarInPageEnabler', 'sap/ui/Device', "sap/base/Log", 'sap/m/HBo
155
155
  /**
156
156
  * Determines which tag or context class the Bar should have.
157
157
  * @protected
158
- * @param {sap.m.BarBase} oControl The Bar control
158
+ * @param {sap.m.Bar} oControl The Bar control
159
159
  * @returns {string} The context class
160
160
  */
161
161
  BarRenderer.getContext = function(oControl) {
@@ -169,7 +169,7 @@ sap.ui.define(['./BarInPageEnabler', 'sap/ui/Device', "sap/base/Log", 'sap/m/HBo
169
169
  * Adds width style to 100% in case of the given content container is the only container with content amongst the three (left, middle, right)
170
170
  * @param {string} sArea The content container - one of the left, middle or right
171
171
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the Render-Output-Buffer.
172
- * @param {sap.ui.core.Control} oControl the Bar instance
172
+ * @param {sap.m.Bar} oControl the Bar instance
173
173
  * @private
174
174
  */
175
175
  function writeWidthIfContentOccupiesWholeArea(sArea, oRm, oControl) {
@@ -42,7 +42,10 @@ sap.ui.define([
42
42
  var SelectType = library.SelectType,
43
43
 
44
44
  // shortcut for sap.m.BreadCrumbsSeparatorStyle
45
- SeparatorStyle = library.BreadcrumbsSeparatorStyle;
45
+ SeparatorStyle = library.BreadcrumbsSeparatorStyle,
46
+
47
+ // shortcut for texts resource bundle
48
+ oResource = sap.ui.getCore().getLibraryResourceBundle("sap.m");
46
49
 
47
50
  /**
48
51
  * Constructor for a new <code>Breadcrumbs</code>.
@@ -60,7 +63,7 @@ sap.ui.define([
60
63
  * @extends sap.ui.core.Control
61
64
  *
62
65
  * @author SAP SE
63
- * @version 1.98.0
66
+ * @version 1.101.0
64
67
  *
65
68
  * @constructor
66
69
  * @public
@@ -135,10 +138,15 @@ sap.ui.define([
135
138
  DoubleGreaterThan: ">>"
136
139
  };
137
140
 
141
+ Breadcrumbs._getResourceBundleText = function (sText, vOptions) {
142
+ return oResource.getText(sText, vOptions);
143
+ };
144
+
138
145
  /*************************************** Framework lifecycle events ******************************************/
139
146
 
140
147
  Breadcrumbs.prototype.init = function () {
141
148
  this._sSeparatorSymbol = Breadcrumbs.STYLE_MAPPER[this.getSeparatorStyle()];
149
+ this._aCachedInvisibleTexts = [];
142
150
  this._getInvisibleText();
143
151
  };
144
152
 
@@ -153,6 +161,9 @@ sap.ui.define([
153
161
  if (this._bControlsInfoCached) {
154
162
  this._updateSelect(true);
155
163
  }
164
+
165
+ this._destroyInvisibleTexts();
166
+ this._aCachedInvisibleTexts = this._buildInvisibleTexts();
156
167
  };
157
168
 
158
169
  Breadcrumbs.prototype.onAfterRendering = function () {
@@ -177,6 +188,7 @@ sap.ui.define([
177
188
  Breadcrumbs.prototype.exit = function () {
178
189
  this._resetControl();
179
190
  this._destroyItemNavigation();
191
+ this._destroyInvisibleTexts();
180
192
 
181
193
  if (this._oInvisibleText) {
182
194
  this._oInvisibleText.destroy();
@@ -196,7 +208,7 @@ sap.ui.define([
196
208
 
197
209
 
198
210
  Breadcrumbs.prototype._getInvisibleText = function() {
199
- var oAriaLabelText = BreadcrumbsRenderer._getResourceBundleText("BREADCRUMB_LABEL");
211
+ var oAriaLabelText = Breadcrumbs._getResourceBundleText("BREADCRUMB_LABEL");
200
212
 
201
213
  if (!this._oInvisibleText) {
202
214
  this._oInvisibleText = new InvisibleText({ id: this.getId() + "-InvisibleText"});
@@ -215,7 +227,7 @@ sap.ui.define([
215
227
  autoAdjustWidth: true,
216
228
  icon: IconPool.getIconURI("slim-arrow-down"),
217
229
  type: SelectType.IconOnly,
218
- tooltip: BreadcrumbsRenderer._getResourceBundleText("BREADCRUMB_SELECT_TOOLTIP")
230
+ tooltip: Breadcrumbs._getResourceBundleText("BREADCRUMB_SELECT_TOOLTIP")
219
231
  })), true);
220
232
  }
221
233
  return this.getAggregation("_select");
@@ -231,9 +243,8 @@ sap.ui.define([
231
243
 
232
244
  oCurrentLocation.addEventDelegate({
233
245
  onAfterRendering: function () {
234
- oCurrentLocation.$().attr("aria-current", "page");
235
- oCurrentLocation.$().attr("tabindex", 0);
236
- }
246
+ this._setCurrentLocationAccInfo(oCurrentLocation);
247
+ }.bind(this)
237
248
  });
238
249
 
239
250
  this.setAggregation("_currentLocation", oCurrentLocation).addStyleClass("sapMBreadcrumbsCurrentLocation");
@@ -241,6 +252,16 @@ sap.ui.define([
241
252
  return this.getAggregation("_currentLocation");
242
253
  };
243
254
 
255
+ Breadcrumbs.prototype._setCurrentLocationAccInfo = function (oCurrentLocation) {
256
+ var aVisibleItems = this._getControlsForBreadcrumbTrail(),
257
+ positionText = Breadcrumbs._getResourceBundleText("BREADCRUMB_ITEM_POS", [aVisibleItems.length, aVisibleItems.length]);
258
+
259
+ oCurrentLocation.$().attr("aria-current", "page");
260
+ oCurrentLocation.$().attr("tabindex", 0);
261
+ oCurrentLocation.$().attr("role", "link");
262
+ oCurrentLocation.$().attr("aria-label", this.getCurrentLocationText() + " " + positionText);
263
+ };
264
+
244
265
  function fnConvertArguments(sAggregationName, aArguments) {
245
266
  var aConvertedArguments = Array.prototype.slice.apply(aArguments);
246
267
  aConvertedArguments.unshift(sAggregationName);
@@ -284,6 +305,22 @@ sap.ui.define([
284
305
  return vResult;
285
306
  };
286
307
 
308
+ Breadcrumbs.prototype._destroyInvisibleTexts = function () {
309
+ var oControl;
310
+ this._aCachedInvisibleTexts.forEach(function (oData) {
311
+ oControl = sap.ui.getCore().byId(oData.controlId);
312
+
313
+ // remove reference to the invisible text on the sap.m.Link control
314
+ // check for control existence as it might have been destroyed already
315
+ if (oControl && oControl.removeAriaLabelledBy) {
316
+ oControl.removeAriaLabelledBy(oData.invisibleText.getId());
317
+ }
318
+
319
+ oData.invisibleText.destroy();
320
+ });
321
+ this._aCachedInvisibleTexts = [];
322
+ };
323
+
287
324
  /*************************************** Select Handling ******************************************/
288
325
 
289
326
  Breadcrumbs.prototype._decorateSelect = function (oSelect) {
@@ -447,6 +484,43 @@ sap.ui.define([
447
484
  };
448
485
  };
449
486
 
487
+ /**
488
+ * Creates InvisibleText instances for the Link controls in the Breadcrumbs.
489
+ * Used to add the position and the size of the controls to their ariaLabelledBy association.
490
+ * An array of objects is returned for the instances to be destroyed on next invalidation with the following properties:
491
+ * - controlId: the id of the Link to later remove the InvisibleText instance id from the ariaLabelledBy association
492
+ * - invisibleText: the InvisibleText control itself to be destroyed
493
+ */
494
+ Breadcrumbs.prototype._buildInvisibleTexts = function() {
495
+ var aVisibleItems = this._getControlsForBreadcrumbTrail(), // all visible links outside the drop-down, including current location
496
+ iItemCount = aVisibleItems.length,
497
+ oInvisibleText,
498
+ oInvisibleTexts = [];
499
+
500
+ aVisibleItems.forEach(function(oItem, iIndex) {
501
+ if (!oItem.isA("sap.m.Link")) {
502
+ // only links are relevant for the ariaLabelledBy association
503
+ return;
504
+ }
505
+
506
+ oInvisibleText = new InvisibleText({
507
+ text: Breadcrumbs._getResourceBundleText("BREADCRUMB_ITEM_POS", [iIndex + 1, iItemCount])
508
+ }).toStatic();
509
+
510
+ if (oItem.getAriaLabelledBy().indexOf(oItem.getId()) === -1) {
511
+ oItem.addAriaLabelledBy(oItem.getId());
512
+ }
513
+
514
+ oItem.addAriaLabelledBy(oInvisibleText.getId());
515
+ oInvisibleTexts.push({
516
+ controlId: oItem.getId(),
517
+ invisibleText: oInvisibleText
518
+ });
519
+ });
520
+
521
+ return oInvisibleTexts;
522
+ };
523
+
450
524
  Breadcrumbs.prototype._getControlDistribution = function (iMaxContentSize) {
451
525
  iMaxContentSize = iMaxContentSize || this._iContainerSize;
452
526
  this._iContainerSize = iMaxContentSize;