@openui5/sap.m 1.139.0 → 1.141.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 (525) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +2 -4
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +14 -9
  14. package/src/sap/m/AvatarBadgeColor.js +63 -1
  15. package/src/sap/m/Bar.js +1 -1
  16. package/src/sap/m/Breadcrumbs.js +1 -1
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +2 -2
  20. package/src/sap/m/Carousel.js +2 -2
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CheckBox.js +1 -1
  23. package/src/sap/m/ColorPalette.js +36 -5
  24. package/src/sap/m/ColorPalettePopover.js +5 -1
  25. package/src/sap/m/Column.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +6 -2
  27. package/src/sap/m/ColumnListItemRenderer.js +0 -1
  28. package/src/sap/m/ComboBox.js +1 -1
  29. package/src/sap/m/ComboBoxBase.js +1 -1
  30. package/src/sap/m/ComboBoxTextField.js +1 -1
  31. package/src/sap/m/ContentConfig.js +1 -1
  32. package/src/sap/m/CustomListItem.js +1 -1
  33. package/src/sap/m/CustomTile.js +1 -1
  34. package/src/sap/m/CustomTreeItem.js +1 -1
  35. package/src/sap/m/DatePicker.js +54 -14
  36. package/src/sap/m/DateRangeSelection.js +3 -3
  37. package/src/sap/m/DateTimeField.js +1 -1
  38. package/src/sap/m/DateTimeInput.js +1 -1
  39. package/src/sap/m/DateTimePicker.js +5 -7
  40. package/src/sap/m/Dialog.js +1 -1
  41. package/src/sap/m/DisplayListItem.js +1 -1
  42. package/src/sap/m/DraftIndicator.js +1 -1
  43. package/src/sap/m/DynamicDate.js +1 -1
  44. package/src/sap/m/DynamicDateFormat.js +3 -0
  45. package/src/sap/m/DynamicDateOption.js +1 -1
  46. package/src/sap/m/DynamicDateRange.js +6 -2
  47. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  48. package/src/sap/m/ExpandableText.js +1 -1
  49. package/src/sap/m/ExpandableTextRenderer.js +1 -1
  50. package/src/sap/m/FacetFilter.js +1 -1
  51. package/src/sap/m/FacetFilterItem.js +1 -1
  52. package/src/sap/m/FacetFilterList.js +1 -1
  53. package/src/sap/m/FeedContent.js +1 -1
  54. package/src/sap/m/FeedInput.js +1 -1
  55. package/src/sap/m/FeedListItem.js +1 -1
  56. package/src/sap/m/FeedListItemAction.js +1 -1
  57. package/src/sap/m/Fiori20Adapter.js +2 -2
  58. package/src/sap/m/FlexBox.js +1 -1
  59. package/src/sap/m/FlexBoxStylingHelper.js +1 -1
  60. package/src/sap/m/FlexItemData.js +1 -1
  61. package/src/sap/m/FormattedText.js +1 -1
  62. package/src/sap/m/GenericTag.js +1 -1
  63. package/src/sap/m/GenericTile.js +1 -1
  64. package/src/sap/m/GroupHeaderListItem.js +1 -1
  65. package/src/sap/m/GrowingEnablement.js +1 -1
  66. package/src/sap/m/GrowingList.js +1 -1
  67. package/src/sap/m/HBox.js +1 -1
  68. package/src/sap/m/HeaderContainer.js +1 -1
  69. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  70. package/src/sap/m/IconTabBar.js +1 -1
  71. package/src/sap/m/IconTabBarSelectList.js +1 -1
  72. package/src/sap/m/IconTabFilter.js +1 -1
  73. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  74. package/src/sap/m/IconTabHeader.js +1 -1
  75. package/src/sap/m/IconTabSeparator.js +1 -1
  76. package/src/sap/m/IllustratedMessage.js +1 -1
  77. package/src/sap/m/Illustration.js +1 -1
  78. package/src/sap/m/Image.js +1 -1
  79. package/src/sap/m/ImageContent.js +1 -1
  80. package/src/sap/m/Input.js +1 -1
  81. package/src/sap/m/InputBase.js +1 -1
  82. package/src/sap/m/InputListItem.js +1 -1
  83. package/src/sap/m/Label.js +1 -1
  84. package/src/sap/m/LabelRenderer.js +1 -1
  85. package/src/sap/m/LightBox.js +1 -1
  86. package/src/sap/m/LightBoxItem.js +1 -1
  87. package/src/sap/m/Link.js +1 -1
  88. package/src/sap/m/LinkTileContent.js +1 -1
  89. package/src/sap/m/List.js +1 -1
  90. package/src/sap/m/ListBase.js +6 -2
  91. package/src/sap/m/ListItemAction.js +2 -2
  92. package/src/sap/m/ListItemActionBase.js +1 -1
  93. package/src/sap/m/ListItemBase.js +1 -1
  94. package/src/sap/m/MaskEnabler.js +1 -1
  95. package/src/sap/m/MaskInput.js +1 -1
  96. package/src/sap/m/MaskInputRule.js +1 -1
  97. package/src/sap/m/Menu.js +95 -11
  98. package/src/sap/m/MenuButton.js +1 -1
  99. package/src/sap/m/MenuItem.js +1 -1
  100. package/src/sap/m/MenuItemGroup.js +1 -1
  101. package/src/sap/m/MenuListItem.js +1 -1
  102. package/src/sap/m/MenuWrapper.js +7 -1
  103. package/src/sap/m/MessageItem.js +1 -1
  104. package/src/sap/m/MessageListItem.js +1 -1
  105. package/src/sap/m/MessagePage.js +1 -1
  106. package/src/sap/m/MessagePopover.js +11 -33
  107. package/src/sap/m/MessagePopoverItem.js +1 -1
  108. package/src/sap/m/MessageStrip.js +1 -1
  109. package/src/sap/m/MessageToast.js +1 -1
  110. package/src/sap/m/MessageView.js +110 -6
  111. package/src/sap/m/MultiComboBox.js +1 -1
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +1 -1
  114. package/src/sap/m/NavContainer.js +3 -3
  115. package/src/sap/m/NewsContent.js +1 -1
  116. package/src/sap/m/NotificationList.js +1 -1
  117. package/src/sap/m/NotificationListBase.js +1 -1
  118. package/src/sap/m/NotificationListGroup.js +1 -1
  119. package/src/sap/m/NotificationListItem.js +1 -1
  120. package/src/sap/m/NumericContent.js +1 -1
  121. package/src/sap/m/NumericInput.js +1 -1
  122. package/src/sap/m/ObjectAttribute.js +1 -1
  123. package/src/sap/m/ObjectHeader.js +1 -1
  124. package/src/sap/m/ObjectIdentifier.js +1 -1
  125. package/src/sap/m/ObjectListItem.js +1 -1
  126. package/src/sap/m/ObjectMarker.js +1 -1
  127. package/src/sap/m/ObjectNumber.js +1 -1
  128. package/src/sap/m/ObjectStatus.js +1 -1
  129. package/src/sap/m/OverflowToolbar.js +6 -2
  130. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  131. package/src/sap/m/OverflowToolbarButton.js +1 -1
  132. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  133. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  134. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  135. package/src/sap/m/OverflowToolbarTokenizer.js +1 -5
  136. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  137. package/src/sap/m/P13nColumnsItem.js +1 -1
  138. package/src/sap/m/P13nColumnsPanel.js +1 -1
  139. package/src/sap/m/P13nConditionPanel.js +1 -1
  140. package/src/sap/m/P13nDialog.js +1 -1
  141. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  142. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  143. package/src/sap/m/P13nFilterItem.js +1 -1
  144. package/src/sap/m/P13nFilterPanel.js +1 -1
  145. package/src/sap/m/P13nGroupItem.js +1 -1
  146. package/src/sap/m/P13nGroupPanel.js +1 -1
  147. package/src/sap/m/P13nItem.js +1 -1
  148. package/src/sap/m/P13nPanel.js +1 -1
  149. package/src/sap/m/P13nSelectionItem.js +1 -1
  150. package/src/sap/m/P13nSelectionPanel.js +1 -1
  151. package/src/sap/m/P13nSortItem.js +1 -1
  152. package/src/sap/m/P13nSortPanel.js +1 -1
  153. package/src/sap/m/PDFViewer.js +31 -135
  154. package/src/sap/m/Page.js +1 -1
  155. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  156. package/src/sap/m/PagingButton.js +1 -1
  157. package/src/sap/m/Panel.js +1 -1
  158. package/src/sap/m/PlanningCalendar.js +1 -1
  159. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  160. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  161. package/src/sap/m/PlanningCalendarRow.js +1 -1
  162. package/src/sap/m/PlanningCalendarView.js +1 -1
  163. package/src/sap/m/Popover.js +57 -12
  164. package/src/sap/m/PopoverRenderer.js +4 -0
  165. package/src/sap/m/ProgressIndicator.js +1 -1
  166. package/src/sap/m/PullToRefresh.js +1 -1
  167. package/src/sap/m/QuickView.js +1 -1
  168. package/src/sap/m/QuickViewBase.js +1 -1
  169. package/src/sap/m/QuickViewCard.js +1 -1
  170. package/src/sap/m/QuickViewGroup.js +1 -1
  171. package/src/sap/m/QuickViewGroupElement.js +1 -1
  172. package/src/sap/m/QuickViewPage.js +1 -1
  173. package/src/sap/m/RadioButton.js +1 -1
  174. package/src/sap/m/RadioButtonGroup.js +1 -1
  175. package/src/sap/m/RangeSlider.js +1 -1
  176. package/src/sap/m/RatingIndicator.js +5 -5
  177. package/src/sap/m/ResponsivePopover.js +1 -1
  178. package/src/sap/m/ResponsiveScale.js +1 -1
  179. package/src/sap/m/ScrollBar.js +1 -1
  180. package/src/sap/m/ScrollContainer.js +1 -1
  181. package/src/sap/m/SearchField.js +1 -1
  182. package/src/sap/m/SegmentedButton.js +34 -9
  183. package/src/sap/m/SegmentedButtonItem.js +1 -1
  184. package/src/sap/m/SegmentedButtonRenderer.js +3 -2
  185. package/src/sap/m/Select.js +88 -3
  186. package/src/sap/m/SelectDialog.js +1 -1
  187. package/src/sap/m/SelectDialogBase.js +1 -1
  188. package/src/sap/m/SelectList.js +1 -1
  189. package/src/sap/m/SelectRenderer.js +4 -52
  190. package/src/sap/m/SelectionDetails.js +1 -1
  191. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  192. package/src/sap/m/SelectionDetailsItem.js +1 -1
  193. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  194. package/src/sap/m/Shell.js +2 -3
  195. package/src/sap/m/SimpleFixFlex.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarGrid.js +2 -2
  199. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  204. package/src/sap/m/SlideTile.js +52 -7
  205. package/src/sap/m/Slider.js +1 -1
  206. package/src/sap/m/SliderTooltip.js +1 -1
  207. package/src/sap/m/SliderTooltipBase.js +1 -1
  208. package/src/sap/m/SliderTooltipContainer.js +1 -1
  209. package/src/sap/m/SplitApp.js +2 -4
  210. package/src/sap/m/SplitButton.js +1 -1
  211. package/src/sap/m/SplitContainer.js +1 -1
  212. package/src/sap/m/StandardDynamicDateOption.js +10 -2
  213. package/src/sap/m/StandardListItem.js +1 -1
  214. package/src/sap/m/StandardTile.js +1 -1
  215. package/src/sap/m/StandardTreeItem.js +1 -1
  216. package/src/sap/m/StepInput.js +8 -6
  217. package/src/sap/m/SuggestionItem.js +1 -1
  218. package/src/sap/m/SuggestionsPopover.js +1 -1
  219. package/src/sap/m/Switch.js +1 -1
  220. package/src/sap/m/TabContainer.js +1 -1
  221. package/src/sap/m/TabContainerItem.js +19 -2
  222. package/src/sap/m/TabStrip.js +1 -1
  223. package/src/sap/m/TabStripItem.js +1 -1
  224. package/src/sap/m/Table.js +7 -3
  225. package/src/sap/m/TablePersoController.js +1 -1
  226. package/src/sap/m/TablePersoDialog.js +1 -1
  227. package/src/sap/m/TablePersoProvider.js +1 -1
  228. package/src/sap/m/TableRenderer.js +5 -1
  229. package/src/sap/m/TableSelectDialog.js +1 -1
  230. package/src/sap/m/Text.js +1 -1
  231. package/src/sap/m/TextArea.js +1 -1
  232. package/src/sap/m/TextRenderer.js +1 -0
  233. package/src/sap/m/Tile.js +1 -1
  234. package/src/sap/m/TileContainer.js +1 -1
  235. package/src/sap/m/TileContent.js +1 -1
  236. package/src/sap/m/TileInfo.js +1 -1
  237. package/src/sap/m/TimePicker.js +61 -33
  238. package/src/sap/m/TimePickerClock.js +1 -1
  239. package/src/sap/m/TimePickerClocks.js +10 -3
  240. package/src/sap/m/TimePickerInputs.js +1 -1
  241. package/src/sap/m/TimePickerInternals.js +1 -1
  242. package/src/sap/m/TimePickerSlider.js +1 -1
  243. package/src/sap/m/TimePickerSliders.js +1 -1
  244. package/src/sap/m/Title.js +1 -1
  245. package/src/sap/m/TitlePropagationSupport.js +1 -1
  246. package/src/sap/m/TitleRenderer.js +1 -1
  247. package/src/sap/m/ToggleButton.js +1 -1
  248. package/src/sap/m/Token.js +1 -1
  249. package/src/sap/m/Tokenizer.js +2 -2
  250. package/src/sap/m/Toolbar.js +55 -3
  251. package/src/sap/m/ToolbarLayoutData.js +1 -1
  252. package/src/sap/m/ToolbarSeparator.js +1 -1
  253. package/src/sap/m/ToolbarSpacer.js +1 -1
  254. package/src/sap/m/Tree.js +1 -1
  255. package/src/sap/m/TreeItemBase.js +1 -1
  256. package/src/sap/m/UploadCollection.js +1 -1
  257. package/src/sap/m/UploadCollectionItem.js +1 -1
  258. package/src/sap/m/UploadCollectionParameter.js +1 -1
  259. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  260. package/src/sap/m/VBox.js +1 -1
  261. package/src/sap/m/ValueStateHeader.js +1 -1
  262. package/src/sap/m/VariantManagement.js +2 -0
  263. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  264. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  265. package/src/sap/m/ViewSettingsDialog.js +1 -1
  266. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  267. package/src/sap/m/ViewSettingsItem.js +1 -1
  268. package/src/sap/m/VisibleItem.js +1 -1
  269. package/src/sap/m/WheelSlider.js +1 -1
  270. package/src/sap/m/WheelSliderContainer.js +1 -1
  271. package/src/sap/m/Wizard.js +1 -1
  272. package/src/sap/m/WizardProgressNavigator.js +1 -1
  273. package/src/sap/m/WizardStep.js +1 -1
  274. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  275. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  276. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  277. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  278. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  279. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  280. package/src/sap/m/i18n/interaction_ar.xml +1 -1
  281. package/src/sap/m/i18n/interaction_bg.xml +1 -1
  282. package/src/sap/m/i18n/interaction_ca.xml +1 -1
  283. package/src/sap/m/i18n/interaction_cnr.xml +1 -1
  284. package/src/sap/m/i18n/interaction_cs.xml +1 -1
  285. package/src/sap/m/i18n/interaction_cy.xml +1 -1
  286. package/src/sap/m/i18n/interaction_da.xml +1 -1
  287. package/src/sap/m/i18n/interaction_de.xml +1 -1
  288. package/src/sap/m/i18n/interaction_el.xml +1 -1
  289. package/src/sap/m/i18n/interaction_en.xml +1 -1
  290. package/src/sap/m/i18n/interaction_en_GB.xml +1 -1
  291. package/src/sap/m/i18n/interaction_en_US_saprigi.xml +1 -1
  292. package/src/sap/m/i18n/interaction_es.xml +1 -1
  293. package/src/sap/m/i18n/interaction_es_MX.xml +1 -1
  294. package/src/sap/m/i18n/interaction_et.xml +1 -1
  295. package/src/sap/m/i18n/interaction_fi.xml +1 -1
  296. package/src/sap/m/i18n/interaction_fr.xml +1 -1
  297. package/src/sap/m/i18n/interaction_fr_CA.xml +1 -1
  298. package/src/sap/m/i18n/interaction_hi.xml +1 -1
  299. package/src/sap/m/i18n/interaction_hr.xml +1 -1
  300. package/src/sap/m/i18n/interaction_hu.xml +1 -1
  301. package/src/sap/m/i18n/interaction_id.xml +1 -1
  302. package/src/sap/m/i18n/interaction_it.xml +1 -1
  303. package/src/sap/m/i18n/interaction_iw.xml +1 -1
  304. package/src/sap/m/i18n/interaction_ja.xml +1 -1
  305. package/src/sap/m/i18n/interaction_kk.xml +1 -1
  306. package/src/sap/m/i18n/interaction_ko.xml +1 -1
  307. package/src/sap/m/i18n/interaction_lt.xml +1 -1
  308. package/src/sap/m/i18n/interaction_lv.xml +1 -1
  309. package/src/sap/m/i18n/interaction_mk.xml +1 -1
  310. package/src/sap/m/i18n/interaction_ms.xml +1 -1
  311. package/src/sap/m/i18n/interaction_nl.xml +1 -1
  312. package/src/sap/m/i18n/interaction_no.xml +1 -1
  313. package/src/sap/m/i18n/interaction_pl.xml +1 -1
  314. package/src/sap/m/i18n/interaction_pt.xml +1 -1
  315. package/src/sap/m/i18n/interaction_pt_PT.xml +1 -1
  316. package/src/sap/m/i18n/interaction_ro.xml +1 -1
  317. package/src/sap/m/i18n/interaction_ru.xml +1 -1
  318. package/src/sap/m/i18n/interaction_sh.xml +1 -1
  319. package/src/sap/m/i18n/interaction_sk.xml +1 -1
  320. package/src/sap/m/i18n/interaction_sl.xml +1 -1
  321. package/src/sap/m/i18n/interaction_sr.xml +1 -1
  322. package/src/sap/m/i18n/interaction_sv.xml +1 -1
  323. package/src/sap/m/i18n/interaction_th.xml +1 -1
  324. package/src/sap/m/i18n/interaction_tr.xml +1 -1
  325. package/src/sap/m/i18n/interaction_uk.xml +1 -1
  326. package/src/sap/m/i18n/interaction_vi.xml +1 -1
  327. package/src/sap/m/i18n/interaction_zh_CN.xml +1 -1
  328. package/src/sap/m/i18n/interaction_zh_TW.xml +1 -1
  329. package/src/sap/m/library.js +30 -7
  330. package/src/sap/m/messagebundle.properties +14 -17
  331. package/src/sap/m/messagebundle_ar.properties +23 -25
  332. package/src/sap/m/messagebundle_bg.properties +12 -14
  333. package/src/sap/m/messagebundle_ca.properties +12 -14
  334. package/src/sap/m/messagebundle_cnr.properties +12 -14
  335. package/src/sap/m/messagebundle_cs.properties +15 -17
  336. package/src/sap/m/messagebundle_cy.properties +12 -14
  337. package/src/sap/m/messagebundle_da.properties +14 -16
  338. package/src/sap/m/messagebundle_de.properties +25 -27
  339. package/src/sap/m/messagebundle_el.properties +12 -14
  340. package/src/sap/m/messagebundle_en.properties +12 -14
  341. package/src/sap/m/messagebundle_en_GB.properties +12 -14
  342. package/src/sap/m/messagebundle_en_US_saprigi.properties +16 -18
  343. package/src/sap/m/messagebundle_es.properties +13 -15
  344. package/src/sap/m/messagebundle_es_MX.properties +13 -15
  345. package/src/sap/m/messagebundle_et.properties +12 -14
  346. package/src/sap/m/messagebundle_fi.properties +13 -15
  347. package/src/sap/m/messagebundle_fr.properties +13 -15
  348. package/src/sap/m/messagebundle_fr_CA.properties +12 -14
  349. package/src/sap/m/messagebundle_hi.properties +12 -14
  350. package/src/sap/m/messagebundle_hr.properties +12 -14
  351. package/src/sap/m/messagebundle_hu.properties +14 -16
  352. package/src/sap/m/messagebundle_id.properties +50 -52
  353. package/src/sap/m/messagebundle_it.properties +12 -14
  354. package/src/sap/m/messagebundle_iw.properties +12 -14
  355. package/src/sap/m/messagebundle_ja.properties +12 -14
  356. package/src/sap/m/messagebundle_kk.properties +15 -17
  357. package/src/sap/m/messagebundle_ko.properties +14 -16
  358. package/src/sap/m/messagebundle_lt.properties +12 -14
  359. package/src/sap/m/messagebundle_lv.properties +12 -14
  360. package/src/sap/m/messagebundle_mk.properties +12 -14
  361. package/src/sap/m/messagebundle_ms.properties +12 -14
  362. package/src/sap/m/messagebundle_nl.properties +12 -14
  363. package/src/sap/m/messagebundle_no.properties +12 -14
  364. package/src/sap/m/messagebundle_pl.properties +14 -16
  365. package/src/sap/m/messagebundle_pt.properties +14 -16
  366. package/src/sap/m/messagebundle_pt_PT.properties +13 -15
  367. package/src/sap/m/messagebundle_ro.properties +12 -14
  368. package/src/sap/m/messagebundle_ru.properties +12 -14
  369. package/src/sap/m/messagebundle_sh.properties +12 -14
  370. package/src/sap/m/messagebundle_sk.properties +13 -15
  371. package/src/sap/m/messagebundle_sl.properties +12 -14
  372. package/src/sap/m/messagebundle_sr.properties +12 -14
  373. package/src/sap/m/messagebundle_sv.properties +12 -14
  374. package/src/sap/m/messagebundle_th.properties +12 -14
  375. package/src/sap/m/messagebundle_tr.properties +12 -14
  376. package/src/sap/m/messagebundle_uk.properties +12 -14
  377. package/src/sap/m/messagebundle_vi.properties +14 -16
  378. package/src/sap/m/messagebundle_zh_CN.properties +12 -14
  379. package/src/sap/m/messagebundle_zh_TW.properties +12 -14
  380. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  381. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  382. package/src/sap/m/p13n/BasePanel.js +34 -10
  383. package/src/sap/m/p13n/Container.js +1 -1
  384. package/src/sap/m/p13n/Engine.js +58 -2
  385. package/src/sap/m/p13n/FilterController.js +1 -1
  386. package/src/sap/m/p13n/FilterPanel.js +1 -1
  387. package/src/sap/m/p13n/GroupController.js +1 -1
  388. package/src/sap/m/p13n/GroupPanel.js +1 -1
  389. package/src/sap/m/p13n/MessageStrip.js +1 -1
  390. package/src/sap/m/p13n/Popup.js +1 -1
  391. package/src/sap/m/p13n/QueryPanel.js +1 -1
  392. package/src/sap/m/p13n/SelectionController.js +1 -1
  393. package/src/sap/m/p13n/SelectionPanel.js +11 -4
  394. package/src/sap/m/p13n/SortController.js +1 -1
  395. package/src/sap/m/p13n/SortPanel.js +1 -1
  396. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  397. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  398. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  399. package/src/sap/m/p13n/util/diff.js +4 -2
  400. package/src/sap/m/plugins/CellSelector.js +24 -2
  401. package/src/sap/m/plugins/ColumnAIAction.js +1 -1
  402. package/src/sap/m/plugins/ColumnResizer.js +2 -22
  403. package/src/sap/m/plugins/ContextMenuSetting.js +6 -3
  404. package/src/sap/m/plugins/CopyProvider.js +4 -1
  405. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  406. package/src/sap/m/plugins/PasteProvider.js +1 -1
  407. package/src/sap/m/plugins/PluginBase.js +1 -1
  408. package/src/sap/m/plugins/UploadSetwithTable.js +1 -1
  409. package/src/sap/m/routing/Router.js +20 -6
  410. package/src/sap/m/semantic/AddAction.js +1 -1
  411. package/src/sap/m/semantic/CancelAction.js +1 -1
  412. package/src/sap/m/semantic/DeleteAction.js +1 -1
  413. package/src/sap/m/semantic/DetailPage.js +1 -1
  414. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  415. package/src/sap/m/semantic/EditAction.js +1 -1
  416. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  417. package/src/sap/m/semantic/FilterAction.js +1 -1
  418. package/src/sap/m/semantic/FilterSelect.js +1 -1
  419. package/src/sap/m/semantic/FlagAction.js +1 -1
  420. package/src/sap/m/semantic/ForwardAction.js +1 -1
  421. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  422. package/src/sap/m/semantic/GroupAction.js +1 -1
  423. package/src/sap/m/semantic/GroupSelect.js +1 -1
  424. package/src/sap/m/semantic/MainAction.js +1 -1
  425. package/src/sap/m/semantic/MasterPage.js +1 -1
  426. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  427. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  428. package/src/sap/m/semantic/NegativeAction.js +1 -1
  429. package/src/sap/m/semantic/OpenInAction.js +1 -1
  430. package/src/sap/m/semantic/PositiveAction.js +1 -1
  431. package/src/sap/m/semantic/PrintAction.js +1 -1
  432. package/src/sap/m/semantic/SaveAction.js +1 -1
  433. package/src/sap/m/semantic/Segment.js +1 -1
  434. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  435. package/src/sap/m/semantic/SemanticButton.js +1 -1
  436. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  437. package/src/sap/m/semantic/SemanticControl.js +1 -1
  438. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  439. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  440. package/src/sap/m/semantic/SemanticPage.js +1 -1
  441. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  442. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  443. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  444. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  445. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  446. package/src/sap/m/semantic/ShareMenu.js +1 -1
  447. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  448. package/src/sap/m/semantic/SortAction.js +1 -1
  449. package/src/sap/m/semantic/SortSelect.js +1 -1
  450. package/src/sap/m/table/ColumnWidthController.js +1 -1
  451. package/src/sap/m/table/Util.js +1 -1
  452. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  453. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  454. package/src/sap/m/table/columnmenu/Item.js +1 -1
  455. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  456. package/src/sap/m/table/columnmenu/Menu.js +1 -1
  457. package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
  458. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  459. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  460. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  461. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  462. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  463. package/src/sap/m/table/columnmenu/QuickResize.js +1 -1
  464. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  465. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  466. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  467. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  468. package/src/sap/m/themes/base/ActionSelect.less +4 -0
  469. package/src/sap/m/themes/base/Avatar.less +29 -5
  470. package/src/sap/m/themes/base/Button.less +4 -8
  471. package/src/sap/m/themes/base/Carousel.less +1 -1
  472. package/src/sap/m/themes/base/CheckBox.less +4 -0
  473. package/src/sap/m/themes/base/CustomTile.less +4 -0
  474. package/src/sap/m/themes/base/Dialog.less +5 -1
  475. package/src/sap/m/themes/base/GenericTile.less +1 -0
  476. package/src/sap/m/themes/base/IllustratedMessage.less +2 -3
  477. package/src/sap/m/themes/base/InputBase.less +12 -0
  478. package/src/sap/m/themes/base/Link.less +8 -2
  479. package/src/sap/m/themes/base/MessagePage.less +4 -0
  480. package/src/sap/m/themes/base/MessageView.less +4 -0
  481. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +4 -1
  482. package/src/sap/m/themes/base/Popover.less +9 -1
  483. package/src/sap/m/themes/base/RadioButton.less +38 -0
  484. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +4 -0
  485. package/src/sap/m/themes/base/SlideTile.less +6 -0
  486. package/src/sap/m/themes/base/SplitContainer.less +0 -1
  487. package/src/sap/m/themes/base/StandardTile.less +4 -0
  488. package/src/sap/m/themes/base/SuggestionsPopover.less +7 -1
  489. package/src/sap/m/themes/base/Tile.less +4 -0
  490. package/src/sap/m/themes/base/TileContainer.less +4 -0
  491. package/src/sap/m/themes/base/TimePickerClock.less +5 -0
  492. package/src/sap/m/themes/base/ToggleButton.less +7 -0
  493. package/src/sap/m/themes/base/UploadCollection.less +4 -0
  494. package/src/sap/m/themes/base/UploadSet.less +4 -0
  495. package/src/sap/m/themes/base/Wizard.less +4 -4
  496. package/src/sap/m/themes/sap_hcb/ActionSelect.less +4 -0
  497. package/src/sap/m/themes/sap_hcb/CustomTile.less +4 -0
  498. package/src/sap/m/themes/sap_hcb/Tile.less +4 -0
  499. package/src/sap/m/themes/sap_hcb/TileContainer.less +4 -0
  500. package/src/sap/m/themes/sap_hcb/UploadCollection.less +4 -0
  501. package/src/sap/m/themes/sap_hcb/base_ActionSelect.less +4 -0
  502. package/src/sap/m/themes/sap_hcb/base_Carousel.less +1 -1
  503. package/src/sap/m/themes/sap_hcb/base_CustomTile.less +4 -0
  504. package/src/sap/m/themes/sap_hcb/base_MessagePage.less +4 -0
  505. package/src/sap/m/themes/sap_hcb/base_OverflowToolbarAssociativePopover.less +4 -1
  506. package/src/sap/m/themes/sap_hcb/base_StandardTile.less +4 -0
  507. package/src/sap/m/themes/sap_hcb/base_Tile.less +4 -0
  508. package/src/sap/m/themes/sap_hcb/base_TileContainer.less +4 -0
  509. package/src/sap/m/themes/sap_hcb/base_UploadCollection.less +4 -0
  510. package/src/sap/m/themes/sap_hcb/base_UploadSet.less +4 -0
  511. package/src/sap/m/upload/ActionsPlaceholder.js +1 -1
  512. package/src/sap/m/upload/Column.js +1 -1
  513. package/src/sap/m/upload/FilePreviewDialog.js +1 -1
  514. package/src/sap/m/upload/UploadItem.js +1 -1
  515. package/src/sap/m/upload/UploadItemConfiguration.js +1 -1
  516. package/src/sap/m/upload/UploadSet.js +1 -1
  517. package/src/sap/m/upload/UploadSetItem.js +1 -1
  518. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  519. package/src/sap/m/upload/UploaderTableItem.js +1 -1
  520. package/src/sap/m/ColumnHeaderPopover.js +0 -233
  521. package/src/sap/m/ColumnPopoverActionItem.js +0 -71
  522. package/src/sap/m/ColumnPopoverCustomItem.js +0 -94
  523. package/src/sap/m/ColumnPopoverItem.js +0 -39
  524. package/src/sap/m/ColumnPopoverSelectListItem.js +0 -147
  525. package/src/sap/m/ColumnPopoverSortItem.js +0 -147
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @extends sap.ui.core.Control
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.139.0
48
+ * @version 1.141.0
49
49
  * @since 1.48
50
50
  *
51
51
  * @constructor
@@ -180,6 +180,11 @@ sap.ui.define([
180
180
  * domain.
181
181
  * If you want no error message to be displayed when this event is fired, call the
182
182
  * preventDefault() method inside the event handler.
183
+ *
184
+ * Modern browsers implement strict policies for validating external resources loaded within an iframe.
185
+ * PDFViewer cannot determine whether the resource inside the iframe is a valid PDF by itself.
186
+ * As the validation cannot be performed the sourceValidationFailed event cannot be triggered.
187
+ * @deprecated As of version 1.141.0 with no replacement.
183
188
  */
184
189
  sourceValidationFailed: {}
185
190
  }
@@ -326,159 +331,50 @@ sap.ui.define([
326
331
  };
327
332
 
328
333
  /**
329
- * @param {string} [src] - url of pdf
330
- * @param {string} [method] - GET or HEAD mothod
331
- * @returns - content-type header from the response header
332
- * @description - this method fetches response headers from server to validate content-type.
333
334
  * @private
335
+ * Handles the iframe load event for PDFViewer.
336
+ * - Checks if PDF plugin is enabled, fires error if not.
337
+ * - Tries to access children of the iframe document body.
338
+ * - If children exist, checks for embed tag to validate PDF rendering.
339
+ * - Fires loaded event if valid, error event otherwise.
340
+ * - Catches and logs any unexpected errors, fires error event in such cases.
334
341
  */
335
- PDFViewer.prototype._getHeaderInfo = function (src, sMethod) {
336
- if (window.fetch) {
337
- // Trigger fetch call to retrieve the content-type header for the given PDF
338
- return window.fetch(src, { method: sMethod })
339
- .then(function(response) {
340
- if (response.status === 200) {
341
- // If the HEAD request is successful, return the content-type header
342
- return response.headers.get("content-type");
343
- } else if (response.status === 404) {
344
- // If the HEAD request fails to fetch the content defined in source, an error event is triggered and LoadingError IllustratedMessage is displayed.
345
- var error = new Error("Error fetching header: " + response.statusText);
346
- error.status = response.status;
347
- throw error;
348
- } else {
349
- // If the HEAD request fails for any other reason, throw an error
350
- var error = new Error("Error in fetching header with method " + sMethod + ", status " + response.status + ", statusText " + response.statusText);
351
- error.status = response.status;
352
- throw error;
353
- }
354
- });
355
- } else {
356
- return new Promise(function(resolve, reject) {
357
- var oXMLHttpRequest = new window.XMLHttpRequest();
358
- oXMLHttpRequest.open(sMethod, src, false);
359
- oXMLHttpRequest.onload = function() {
360
- var sStatus = oXMLHttpRequest.status;
361
- if (sStatus === 200) {
362
- var response = oXMLHttpRequest.getAllResponseHeaders().toLowerCase().trim();
363
- var items = response.split("\n");
364
- var responseHeader = [];
365
- for (var i = 0; i < items.length; i++) {
366
- var parts = items[i].split(': ');
367
- responseHeader[parts[0].trim()] = parts[1].trim();
368
- }
369
- resolve(responseHeader['content-type']);
370
- } else if (sStatus === 404) {
371
- // If the HEAD request fails to fetch the content defined in source, an error event is triggered and LoadingError IllustratedMessage is displayed.
372
- var error = new Error("Error fetching header: " + oXMLHttpRequest.statusText);
373
- error.status = oXMLHttpRequest.status;
374
- reject(error);
375
- } else {
376
- var error = new Error("Error in fetching header with method " + sMethod + ", status " + oXMLHttpRequest.status + " and statusText " + oXMLHttpRequest.statusText);
377
- error.status = oXMLHttpRequest.status;
378
- reject(error);
379
- }
380
- };
381
- oXMLHttpRequest.onerror = function(error) {
382
- var error = new Error("Error in fetching header with method " + sMethod + ", status " + oXMLHttpRequest.status + " and statusText " + oXMLHttpRequest.statusText);
383
- error.status = oXMLHttpRequest.status;
384
- reject(error);
385
- };
386
- oXMLHttpRequest.send(null);
387
- });
388
- }
389
- };
390
-
391
- /**
392
- * @param oEvent
393
- * @private
394
- */
395
- PDFViewer.prototype._onLoadListener = function (oEvent) {
342
+ PDFViewer.prototype._onLoadListener = function (oEvent) {
396
343
  try {
397
- var oTarget = jQuery(oEvent.target);
398
- var bContinue = true, sCurrentContentType = '';
399
-
400
- //HTML body.children can be accessed only in scenario when chrome://flags/#pdf-oopif = disabled OR invalid path given to the iframe src
401
- try {
402
- var aTargetChildren = oTarget[0]?.contentWindow?.document?.body?.children;
403
- } catch (error) {
404
- /* Firefox
405
- https://bugzilla.mozilla.org/show_bug.cgi?id=911444
406
- because of the embedded pdf plugin in firefox it is not possible to check contentType of the iframe document
407
- if the content is pdf. If the content is not a pdf and it is from the same origin, it can be accessed.
408
- Other browsers allow access to the mimeType of the iframe's document if the content is from the same origin.
409
- If browser is Firefox we triggerHEADRequest to fetch the ContentType.
410
- */
411
- if (Device.browser.firefox) {
344
+ // Check if PDF plugin is enabled
345
+ if (PDFViewerRenderer._isPdfPluginEnabled()) {
346
+ var bContinue = true;
347
+ var oTarget = jQuery(oEvent.target);
348
+ try {
349
+ // Try to access children of the iframe document body
350
+ var aTargetChildren = oTarget[0]?.contentWindow?.document?.body?.children;
351
+ } catch (error) {
352
+ // If access fails, log warning and treat as no children
412
353
  aTargetChildren = [];
354
+ Log.warning("Error in fetching children entity for given source of PDFViewer.");
413
355
  }
414
- }
415
- //If chrome://flags/#pdf-oopif = disabled follow the existing approach to validate contentType.
416
- if (aTargetChildren?.length) {
417
- try {
418
- // browsers render pdf in iframe as html page with embed tag
356
+ // If children exist, check for embed tag
357
+ if (aTargetChildren?.length) {
419
358
  var aEmbeds = oTarget[0].contentWindow.document.embeds;
420
359
  bContinue = !!aEmbeds && aEmbeds.length === 1;
421
- if (bContinue) {
422
- sCurrentContentType = aEmbeds[0].attributes.getNamedItem("type").value;
423
- }
424
- } catch (error) {
425
- // even though the sourceValidationFailed event is fired, the default behaviour is to continue.
426
- // when preventDefault is on event object is called, the rendering ends up with error
427
- if (!Device.browser.firefox && this.fireEvent("sourceValidationFailed", {}, true)) {
428
- this._fireLoadedEvent();
429
- return;
430
- }
431
360
  }
432
- /* LoadedEvent will be triggered if all the below criteria matches and PDF is displayed
433
- 1. If embed tag is present.
434
- 2. If ContentType = "application/pdf" / "application/x-google-chrome-pdf".
435
- 3. If Browser PDFPlugin is enabled.
436
- else the ErrorEvent will be triggered, It will also be triggered if an invalid path is proveded as src for the iframe and LoadingError IllustratedMessage is displayed.
437
- */
438
- if (bContinue && PDFViewerRenderer._isSupportedMimeType(sCurrentContentType) && PDFViewerRenderer._isPdfPluginEnabled()) {
361
+ // If valid PDF rendering, fire loaded event; else, fire error event
362
+ if (bContinue) {
439
363
  this._fireLoadedEvent();
440
364
  } else {
441
365
  this._fireErrorEvent(oEvent.target);
442
366
  }
443
367
  } else {
444
- // Check if PDF plugin is enabled before proceeding
445
- if (!PDFViewerRenderer._isPdfPluginEnabled()) {
446
- this._fireErrorEvent(oEvent.target);
447
- return;
448
- }
449
- //If chrome://flags/#pdf-oopif = enabled trigger the HEAD Request
450
- var sMethod = 'HEAD';
451
- this._getHeaderInfo(this._sParametrizedSource, sMethod)
452
- .then(function(sCurrentContentType) {
453
- /* LoadedEvent will be triggered if all the below criteria matches
454
- 1. If ContentType = "application/pdf" / "application/x-google-chrome-pdf".
455
- 2. If Browser PDFPlugin is enabled.
456
- else the ErrorEvent will be triggered and LoadingError IllustratedMessage is displayed.
457
- */
458
- if (PDFViewerRenderer._isSupportedMimeType(sCurrentContentType)) {
459
- this._fireLoadedEvent();
460
- } else {
461
- this._fireErrorEvent(oEvent.target);
462
- }
463
- }.bind(this)).catch(function(error) {
464
- if (error.status === 404) {
465
- //If the HEAD Request fails to get the content defined in source, the ErrorEvent is triggered and LoadingError IllustratedMessage is displayed.
466
- this._fireErrorEvent(oEvent.target);
467
- } else {
468
- // If the HEAD Requets fails for any other scenario, the default behaviour is to continue the display of PDF based on isTrustedSource.
469
- Log.warning("PDF is displayed based on isTrustedSource property skipping the content type validation.");
470
- this._fireLoadedEvent();
471
- this.fireEvent("sourceValidationFailed", {}, true);
472
- }
473
- }.bind(this));
368
+ // PDF plugin not enabled, fire error event
369
+ this._fireErrorEvent(oEvent.target);
474
370
  }
475
371
  } catch (error) {
476
- //Generic Error Handling
372
+ // Generic Error Handling: fire error event and log details
477
373
  this._fireErrorEvent(oEvent.target);
478
374
  Log.fatal(false, "Fatal error during the handling of load event happened.");
479
375
  Log.fatal(false, error.message);
480
376
  }
481
- };
377
+ };
482
378
 
483
379
  /**
484
380
  * @private
package/src/sap/m/Page.js CHANGED
@@ -97,7 +97,7 @@ function(
97
97
  * @extends sap.ui.core.Control
98
98
  * @mixes sap.ui.core.ContextMenuSupport
99
99
  * @author SAP SE
100
- * @version 1.139.0
100
+ * @version 1.141.0
101
101
  *
102
102
  * @public
103
103
  * @alias sap.m.Page
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.139.0
25
+ * @version 1.141.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.139.0
30
+ * @version 1.141.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @extends sap.ui.core.Control
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.139.0
71
+ * @version 1.141.0
72
72
  *
73
73
  * @constructor
74
74
  * @public
@@ -208,7 +208,7 @@ sap.ui.define([
208
208
  * {@link sap.m.PlanningCalendarView PlanningCalendarView}'s properties.
209
209
  *
210
210
  * @extends sap.ui.core.Control
211
- * @version 1.139.0
211
+ * @version 1.141.0
212
212
  *
213
213
  * @constructor
214
214
  * @public
@@ -106,7 +106,7 @@ function(
106
106
  * @extends sap.ui.core.Control
107
107
  *
108
108
  * @author SAP SE
109
- * @version 1.139.0
109
+ * @version 1.141.0
110
110
  *
111
111
  * @constructor
112
112
  * @private
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/Lib", 'sap/ui/unified/CalendarLegend', 'sap/ui/unifi
23
23
  * @extends sap.ui.unified.CalendarLegend
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.139.0
26
+ * @version 1.141.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * The <code>sap.m.PlanningCalendarRow</code> allows you to modify appointments at row level.
38
38
  *
39
39
  * @extends sap.ui.core.Element
40
- * @version 1.139.0
40
+ * @version 1.141.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -25,7 +25,7 @@ sap.ui.define(['sap/ui/core/Element', './library', 'sap/ui/unified/library'],
25
25
  * The <code>PlanningCalendarView</code> defines the type of the intervals (hours, days, months)
26
26
  * and how many intervals are displayed.
27
27
  * @extends sap.ui.core.Element
28
- * @version 1.139.0
28
+ * @version 1.141.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -121,7 +121,7 @@ sap.ui.define([
121
121
  * @extends sap.ui.core.Control
122
122
  * @implements sap.ui.core.PopupInterface
123
123
  * @author SAP SE
124
- * @version 1.139.0
124
+ * @version 1.141.0
125
125
  *
126
126
  * @public
127
127
  * @alias sap.m.Popover
@@ -266,6 +266,7 @@ sap.ui.define([
266
266
 
267
267
  /**
268
268
  * Any control that needed to be displayed in the header area. When this is set, the showHeader property is ignored, and only this customHeader is shown on the top of popover.
269
+ * <br/><b>Note:</b> To improve accessibility, titles with heading level <code>H1</code> should be used inside the custom header.
269
270
  */
270
271
  customHeader: {type: "sap.ui.core.Control", multiple: false},
271
272
 
@@ -436,14 +437,39 @@ sap.ui.define([
436
437
  this.oPopup.setAnimations(jQuery.proxy(this._openAnimation, this), jQuery.proxy(this._closeAnimation, this));
437
438
 
438
439
  // This is data used to position the popover depending on the placement property
439
- this._placements = [PlacementType.Top, PlacementType.Right, PlacementType.Bottom, PlacementType.Left,
440
- PlacementType.Vertical, PlacementType.Horizontal, PlacementType.Auto,
441
- PlacementType.VerticalPreferedTop, PlacementType.VerticalPreferedBottom,
442
- PlacementType.HorizontalPreferedLeft, PlacementType.HorizontalPreferedRight,
443
- PlacementType.VerticalPreferredTop, PlacementType.VerticalPreferredBottom,
444
- PlacementType.HorizontalPreferredLeft, PlacementType.HorizontalPreferredRight,
445
- PlacementType.PreferredRightOrFlip, PlacementType.PreferredLeftOrFlip,
446
- PlacementType.PreferredTopOrFlip, PlacementType.PreferredBottomOrFlip];
440
+ this._placements = [
441
+ PlacementType.Top,
442
+ PlacementType.Right,
443
+ PlacementType.Bottom,
444
+ PlacementType.Left,
445
+ PlacementType.Vertical,
446
+ PlacementType.Horizontal,
447
+ PlacementType.Auto,
448
+ /**
449
+ * @deprecated As of version 1.36
450
+ */
451
+ PlacementType.VerticalPreferedTop,
452
+ /**
453
+ * @deprecated As of version 1.36
454
+ */
455
+ PlacementType.VerticalPreferedBottom,
456
+ /**
457
+ * @deprecated As of version 1.36
458
+ */
459
+ PlacementType.HorizontalPreferedLeft,
460
+ /**
461
+ * @deprecated As of version 1.36
462
+ */
463
+ PlacementType.HorizontalPreferedRight,
464
+ PlacementType.VerticalPreferredTop,
465
+ PlacementType.VerticalPreferredBottom,
466
+ PlacementType.HorizontalPreferredLeft,
467
+ PlacementType.HorizontalPreferredRight,
468
+ PlacementType.PreferredRightOrFlip,
469
+ PlacementType.PreferredLeftOrFlip,
470
+ PlacementType.PreferredTopOrFlip,
471
+ PlacementType.PreferredBottomOrFlip
472
+ ];
447
473
 
448
474
  this._myPositions = ["center bottom", "begin center", "center top", "end center"];
449
475
  this._atPositions = ["center top", "end center", "center bottom", "begin center"];
@@ -1688,7 +1714,7 @@ sap.ui.define([
1688
1714
  this._bPosCalced = true;
1689
1715
 
1690
1716
  //set position of popover to calculated position
1691
- var iPlacePos = this._placements.indexOf(this._oCalcedPos);
1717
+ var iPlacePos = this._placements.indexOf(this._getCalculatedPlacement());
1692
1718
  this.oPopup.setPosition(this._myPositions[iPlacePos], this._atPositions[iPlacePos], oParentDomRef, this._calcOffset(this._offsets[iPlacePos]), "fit");
1693
1719
  };
1694
1720
 
@@ -2670,6 +2696,12 @@ sap.ui.define([
2670
2696
  }
2671
2697
  };
2672
2698
 
2699
+ Popover.prototype._getTitles = function (oContainer) {
2700
+ return oContainer.findAggregatedObjects(true, function(oObject) {
2701
+ return oObject.isA("sap.m.Title");
2702
+ });
2703
+ };
2704
+
2673
2705
  /**
2674
2706
  * Provides the accessibility options of the control.
2675
2707
  *
@@ -2688,10 +2720,23 @@ sap.ui.define([
2688
2720
  return mAccOptions;
2689
2721
  }
2690
2722
 
2691
- var oHeaderId = oCustomHeader ? oCustomHeader.getId() : this.getHeaderTitle().getId();
2723
+ if (oCustomHeader) {
2724
+ // if there are titles in the header, add all of them to labels, else use the full header
2725
+ var aTitles = this._getTitles(oHeader);
2726
+
2727
+ if (aTitles.length) {
2728
+ aAriaLabels = aTitles.map(function (oTitle) {
2729
+ return oTitle.getId();
2730
+ });
2731
+ } else {
2732
+ aAriaLabels = oHeader.getId();
2733
+ }
2734
+ } else {
2735
+ aAriaLabels = this.getHeaderTitle().getId();
2736
+ }
2692
2737
 
2693
2738
  // If we have a header/title, we add a reference to it in the beginning of the aria-labelledby attribute
2694
- aAriaLabels = Array.prototype.concat(oHeaderId, this.getAssociation("ariaLabelledBy", []));
2739
+ aAriaLabels = Array.prototype.concat(aAriaLabels, this.getAssociation("ariaLabelledBy", []));
2695
2740
  mAccOptions.labelledby = aAriaLabels.join(' ');
2696
2741
 
2697
2742
  return mAccOptions;
@@ -284,6 +284,10 @@ sap.ui.define([
284
284
  aClassNames.push("sapMPopoverHorScrollDisabled");
285
285
  }
286
286
 
287
+ if (oControl.getShowArrow()) {
288
+ aClassNames.push("sapMPopoverWithArrow");
289
+ }
290
+
287
291
  aClassNames.push("sapMPopup-CTX");
288
292
 
289
293
  // Adds styles for compact mode
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.core.Control
62
62
  *
63
63
  * @author SAP SE
64
- * @version 1.139.0
64
+ * @version 1.141.0
65
65
  *
66
66
  * @constructor
67
67
  * @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.139.0
40
+ * @version 1.141.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.m.QuickViewBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.139.0
62
+ * @version 1.141.0
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.139.0
30
+ * @version 1.141.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.m.QuickViewBase
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.139.0
39
+ * @version 1.141.0
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.139.0
25
+ * @version 1.141.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Element
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.139.0
31
+ * @version 1.141.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -103,7 +103,7 @@ sap.ui.define([
103
103
  * @extends sap.ui.core.Control
104
104
  *
105
105
  * @author SAP SE
106
- * @version 1.139.0
106
+ * @version 1.141.0
107
107
  *
108
108
  * @constructor
109
109
  * @public
@@ -94,7 +94,7 @@ function(
94
94
  * @implements sap.ui.core.IFormContent
95
95
  *
96
96
  * @author SAP SE
97
- * @version 1.139.0
97
+ * @version 1.141.0
98
98
  *
99
99
  * @constructor
100
100
  * @public
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @borrows sap.ui.core.ISemanticFormContent.getFormRenderAsControl as #getFormRenderAsControl
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.139.0
71
+ * @version 1.141.0
72
72
  *
73
73
  * @constructor
74
74
  * @public
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @extends sap.m.Slider
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.139.0
56
+ * @version 1.141.0
57
57
  *
58
58
  * @constructor
59
59
  * @public
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  * @extends sap.ui.core.Control
57
57
  *
58
58
  * @author SAP SE
59
- * @version 1.139.0
59
+ * @version 1.141.0
60
60
  *
61
61
  * @constructor
62
62
  * @public
@@ -773,15 +773,15 @@ sap.ui.define([
773
773
  if (this.getEnabled()) {
774
774
  var fValue = this._calculateSelectedValue(oEvent);
775
775
 
776
- // When the value is 1 and the first star is pressed we should toggle to 0
777
- if (this.getValue() === 1 && fValue === 1) {
776
+ // When same rating is chosen, set the rating to 0
777
+ if (this.getValue() === fValue) {
778
778
  fValue = 0;
779
779
  }
780
780
 
781
- this.setProperty("value", fValue, true);
782
781
  this._updateUI(fValue, false);
783
782
 
784
- if (this._fStartValue !== fValue) { // if the value if not the same
783
+ if (this.getValue() !== fValue) { // if the value if not the same
784
+ this.setProperty("value", fValue, true);
785
785
  this.fireLiveChange({value: fValue});
786
786
  this.fireChange({value: fValue});
787
787
  }
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @extends sap.ui.core.Control
64
64
  *
65
65
  * @author SAP SE
66
- * @version 1.139.0
66
+ * @version 1.141.0
67
67
  *
68
68
  * @constructor
69
69
  * @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.139.0
37
+ * @version 1.141.0
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.139.0
28
+ * @version 1.141.0
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.139.0
42
+ * @version 1.141.0
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.139.0
70
+ * @version 1.141.0
71
71
  *
72
72
  * @constructor
73
73
  * @public