@openui5/sap.m 1.140.0 → 1.141.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) 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 +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +5 -2
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +1 -1
  16. package/src/sap/m/BusyDialog.js +1 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +2 -2
  19. package/src/sap/m/Carousel.js +1 -1
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +36 -5
  23. package/src/sap/m/ColorPalettePopover.js +5 -1
  24. package/src/sap/m/Column.js +1 -1
  25. package/src/sap/m/ColumnListItem.js +1 -1
  26. package/src/sap/m/ComboBox.js +1 -1
  27. package/src/sap/m/ComboBoxBase.js +1 -1
  28. package/src/sap/m/ComboBoxTextField.js +1 -1
  29. package/src/sap/m/ContentConfig.js +1 -1
  30. package/src/sap/m/CustomListItem.js +1 -1
  31. package/src/sap/m/CustomTile.js +1 -1
  32. package/src/sap/m/CustomTreeItem.js +1 -1
  33. package/src/sap/m/DatePicker.js +54 -14
  34. package/src/sap/m/DateRangeSelection.js +3 -3
  35. package/src/sap/m/DateTimeField.js +1 -1
  36. package/src/sap/m/DateTimeInput.js +1 -1
  37. package/src/sap/m/DateTimePicker.js +5 -7
  38. package/src/sap/m/Dialog.js +1 -1
  39. package/src/sap/m/DisplayListItem.js +1 -1
  40. package/src/sap/m/DraftIndicator.js +1 -1
  41. package/src/sap/m/DynamicDate.js +1 -1
  42. package/src/sap/m/DynamicDateOption.js +1 -1
  43. package/src/sap/m/DynamicDateRange.js +1 -1
  44. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  45. package/src/sap/m/ExpandableText.js +1 -1
  46. package/src/sap/m/ExpandableTextRenderer.js +1 -1
  47. package/src/sap/m/FacetFilter.js +1 -1
  48. package/src/sap/m/FacetFilterItem.js +1 -1
  49. package/src/sap/m/FacetFilterList.js +1 -1
  50. package/src/sap/m/FeedContent.js +1 -1
  51. package/src/sap/m/FeedInput.js +1 -1
  52. package/src/sap/m/FeedListItem.js +1 -1
  53. package/src/sap/m/FeedListItemAction.js +1 -1
  54. package/src/sap/m/Fiori20Adapter.js +2 -2
  55. package/src/sap/m/FlexBox.js +1 -1
  56. package/src/sap/m/FlexBoxStylingHelper.js +1 -1
  57. package/src/sap/m/FlexItemData.js +1 -1
  58. package/src/sap/m/FormattedText.js +1 -1
  59. package/src/sap/m/GenericTag.js +1 -1
  60. package/src/sap/m/GenericTile.js +1 -1
  61. package/src/sap/m/GroupHeaderListItem.js +1 -1
  62. package/src/sap/m/GrowingList.js +1 -1
  63. package/src/sap/m/HBox.js +1 -1
  64. package/src/sap/m/HeaderContainer.js +1 -1
  65. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  66. package/src/sap/m/IconTabBar.js +1 -1
  67. package/src/sap/m/IconTabBarSelectList.js +1 -1
  68. package/src/sap/m/IconTabFilter.js +1 -1
  69. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  70. package/src/sap/m/IconTabHeader.js +1 -1
  71. package/src/sap/m/IconTabSeparator.js +1 -1
  72. package/src/sap/m/IllustratedMessage.js +1 -1
  73. package/src/sap/m/Illustration.js +1 -1
  74. package/src/sap/m/Image.js +1 -1
  75. package/src/sap/m/ImageContent.js +1 -1
  76. package/src/sap/m/Input.js +1 -1
  77. package/src/sap/m/InputBase.js +1 -1
  78. package/src/sap/m/InputListItem.js +1 -1
  79. package/src/sap/m/Label.js +1 -1
  80. package/src/sap/m/LabelRenderer.js +1 -1
  81. package/src/sap/m/LightBox.js +1 -1
  82. package/src/sap/m/LightBoxItem.js +1 -1
  83. package/src/sap/m/Link.js +1 -1
  84. package/src/sap/m/LinkTileContent.js +1 -1
  85. package/src/sap/m/List.js +1 -1
  86. package/src/sap/m/ListBase.js +1 -1
  87. package/src/sap/m/ListItemAction.js +2 -2
  88. package/src/sap/m/ListItemActionBase.js +1 -1
  89. package/src/sap/m/ListItemBase.js +1 -1
  90. package/src/sap/m/MaskEnabler.js +1 -1
  91. package/src/sap/m/MaskInput.js +1 -1
  92. package/src/sap/m/MaskInputRule.js +1 -1
  93. package/src/sap/m/Menu.js +1 -1
  94. package/src/sap/m/MenuButton.js +1 -1
  95. package/src/sap/m/MenuItem.js +1 -1
  96. package/src/sap/m/MenuItemGroup.js +1 -1
  97. package/src/sap/m/MenuListItem.js +1 -1
  98. package/src/sap/m/MenuWrapper.js +7 -1
  99. package/src/sap/m/MessageItem.js +1 -1
  100. package/src/sap/m/MessageListItem.js +1 -1
  101. package/src/sap/m/MessagePage.js +1 -1
  102. package/src/sap/m/MessagePopover.js +1 -1
  103. package/src/sap/m/MessagePopoverItem.js +1 -1
  104. package/src/sap/m/MessageStrip.js +1 -1
  105. package/src/sap/m/MessageToast.js +1 -1
  106. package/src/sap/m/MessageView.js +9 -3
  107. package/src/sap/m/MultiComboBox.js +1 -1
  108. package/src/sap/m/MultiEditField.js +1 -1
  109. package/src/sap/m/MultiInput.js +1 -1
  110. package/src/sap/m/NavContainer.js +3 -3
  111. package/src/sap/m/NewsContent.js +1 -1
  112. package/src/sap/m/NotificationList.js +1 -1
  113. package/src/sap/m/NotificationListBase.js +1 -1
  114. package/src/sap/m/NotificationListGroup.js +1 -1
  115. package/src/sap/m/NotificationListItem.js +1 -1
  116. package/src/sap/m/NumericContent.js +1 -1
  117. package/src/sap/m/NumericInput.js +1 -1
  118. package/src/sap/m/ObjectAttribute.js +1 -1
  119. package/src/sap/m/ObjectHeader.js +1 -1
  120. package/src/sap/m/ObjectIdentifier.js +1 -1
  121. package/src/sap/m/ObjectListItem.js +1 -1
  122. package/src/sap/m/ObjectMarker.js +1 -1
  123. package/src/sap/m/ObjectNumber.js +1 -1
  124. package/src/sap/m/ObjectStatus.js +1 -1
  125. package/src/sap/m/OverflowToolbar.js +1 -1
  126. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  127. package/src/sap/m/OverflowToolbarButton.js +1 -1
  128. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  129. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  130. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  131. package/src/sap/m/OverflowToolbarTokenizer.js +1 -1
  132. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  133. package/src/sap/m/P13nColumnsItem.js +1 -1
  134. package/src/sap/m/P13nColumnsPanel.js +1 -1
  135. package/src/sap/m/P13nConditionPanel.js +1 -1
  136. package/src/sap/m/P13nDialog.js +1 -1
  137. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  138. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  139. package/src/sap/m/P13nFilterItem.js +1 -1
  140. package/src/sap/m/P13nFilterPanel.js +1 -1
  141. package/src/sap/m/P13nGroupItem.js +1 -1
  142. package/src/sap/m/P13nGroupPanel.js +1 -1
  143. package/src/sap/m/P13nItem.js +1 -1
  144. package/src/sap/m/P13nPanel.js +1 -1
  145. package/src/sap/m/P13nSelectionItem.js +1 -1
  146. package/src/sap/m/P13nSelectionPanel.js +1 -1
  147. package/src/sap/m/P13nSortItem.js +1 -1
  148. package/src/sap/m/P13nSortPanel.js +1 -1
  149. package/src/sap/m/PDFViewer.js +31 -135
  150. package/src/sap/m/Page.js +1 -1
  151. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  152. package/src/sap/m/PagingButton.js +1 -1
  153. package/src/sap/m/Panel.js +1 -1
  154. package/src/sap/m/PlanningCalendar.js +1 -1
  155. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  156. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  157. package/src/sap/m/PlanningCalendarRow.js +1 -1
  158. package/src/sap/m/PlanningCalendarView.js +1 -1
  159. package/src/sap/m/Popover.js +23 -3
  160. package/src/sap/m/PopoverRenderer.js +4 -0
  161. package/src/sap/m/ProgressIndicator.js +1 -1
  162. package/src/sap/m/PullToRefresh.js +1 -1
  163. package/src/sap/m/QuickView.js +1 -1
  164. package/src/sap/m/QuickViewBase.js +1 -1
  165. package/src/sap/m/QuickViewCard.js +1 -1
  166. package/src/sap/m/QuickViewGroup.js +1 -1
  167. package/src/sap/m/QuickViewGroupElement.js +1 -1
  168. package/src/sap/m/QuickViewPage.js +1 -1
  169. package/src/sap/m/RadioButton.js +1 -1
  170. package/src/sap/m/RadioButtonGroup.js +1 -1
  171. package/src/sap/m/RangeSlider.js +1 -1
  172. package/src/sap/m/RatingIndicator.js +5 -5
  173. package/src/sap/m/ResponsivePopover.js +1 -1
  174. package/src/sap/m/ResponsiveScale.js +1 -1
  175. package/src/sap/m/ScrollBar.js +1 -1
  176. package/src/sap/m/ScrollContainer.js +1 -1
  177. package/src/sap/m/SearchField.js +1 -1
  178. package/src/sap/m/SegmentedButton.js +34 -9
  179. package/src/sap/m/SegmentedButtonItem.js +1 -1
  180. package/src/sap/m/SegmentedButtonRenderer.js +3 -2
  181. package/src/sap/m/Select.js +1 -1
  182. package/src/sap/m/SelectDialog.js +1 -1
  183. package/src/sap/m/SelectDialogBase.js +1 -1
  184. package/src/sap/m/SelectList.js +1 -1
  185. package/src/sap/m/SelectionDetails.js +1 -1
  186. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  187. package/src/sap/m/SelectionDetailsItem.js +1 -1
  188. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  189. package/src/sap/m/Shell.js +1 -1
  190. package/src/sap/m/SimpleFixFlex.js +1 -1
  191. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  192. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  194. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  199. package/src/sap/m/SlideTile.js +49 -7
  200. package/src/sap/m/Slider.js +1 -1
  201. package/src/sap/m/SliderTooltip.js +1 -1
  202. package/src/sap/m/SliderTooltipBase.js +1 -1
  203. package/src/sap/m/SliderTooltipContainer.js +1 -1
  204. package/src/sap/m/SplitApp.js +1 -1
  205. package/src/sap/m/SplitButton.js +1 -1
  206. package/src/sap/m/SplitContainer.js +1 -1
  207. package/src/sap/m/StandardDynamicDateOption.js +10 -2
  208. package/src/sap/m/StandardListItem.js +1 -1
  209. package/src/sap/m/StandardTile.js +1 -1
  210. package/src/sap/m/StandardTreeItem.js +1 -1
  211. package/src/sap/m/StepInput.js +8 -6
  212. package/src/sap/m/SuggestionItem.js +1 -1
  213. package/src/sap/m/SuggestionsPopover.js +1 -1
  214. package/src/sap/m/Switch.js +1 -1
  215. package/src/sap/m/TabContainer.js +1 -1
  216. package/src/sap/m/TabContainerItem.js +19 -2
  217. package/src/sap/m/TabStrip.js +1 -1
  218. package/src/sap/m/TabStripItem.js +1 -1
  219. package/src/sap/m/Table.js +1 -1
  220. package/src/sap/m/TablePersoController.js +1 -1
  221. package/src/sap/m/TablePersoDialog.js +1 -1
  222. package/src/sap/m/TablePersoProvider.js +1 -1
  223. package/src/sap/m/TableSelectDialog.js +1 -1
  224. package/src/sap/m/Text.js +1 -1
  225. package/src/sap/m/TextArea.js +1 -1
  226. package/src/sap/m/TextRenderer.js +1 -0
  227. package/src/sap/m/Tile.js +1 -1
  228. package/src/sap/m/TileContainer.js +1 -1
  229. package/src/sap/m/TileContent.js +1 -1
  230. package/src/sap/m/TileInfo.js +1 -1
  231. package/src/sap/m/TimePicker.js +61 -33
  232. package/src/sap/m/TimePickerClock.js +1 -1
  233. package/src/sap/m/TimePickerClocks.js +10 -3
  234. package/src/sap/m/TimePickerInputs.js +1 -1
  235. package/src/sap/m/TimePickerInternals.js +1 -1
  236. package/src/sap/m/TimePickerSlider.js +1 -1
  237. package/src/sap/m/TimePickerSliders.js +1 -1
  238. package/src/sap/m/Title.js +1 -1
  239. package/src/sap/m/TitlePropagationSupport.js +1 -1
  240. package/src/sap/m/TitleRenderer.js +1 -1
  241. package/src/sap/m/ToggleButton.js +1 -1
  242. package/src/sap/m/Token.js +1 -1
  243. package/src/sap/m/Tokenizer.js +1 -1
  244. package/src/sap/m/Toolbar.js +55 -3
  245. package/src/sap/m/ToolbarLayoutData.js +1 -1
  246. package/src/sap/m/ToolbarSeparator.js +1 -1
  247. package/src/sap/m/ToolbarSpacer.js +1 -1
  248. package/src/sap/m/Tree.js +1 -1
  249. package/src/sap/m/TreeItemBase.js +1 -1
  250. package/src/sap/m/UploadCollection.js +1 -1
  251. package/src/sap/m/UploadCollectionItem.js +1 -1
  252. package/src/sap/m/UploadCollectionParameter.js +1 -1
  253. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  254. package/src/sap/m/VBox.js +1 -1
  255. package/src/sap/m/ValueStateHeader.js +1 -1
  256. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  257. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  258. package/src/sap/m/ViewSettingsDialog.js +1 -1
  259. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  260. package/src/sap/m/ViewSettingsItem.js +1 -1
  261. package/src/sap/m/VisibleItem.js +1 -1
  262. package/src/sap/m/WheelSlider.js +1 -1
  263. package/src/sap/m/WheelSliderContainer.js +1 -1
  264. package/src/sap/m/Wizard.js +1 -1
  265. package/src/sap/m/WizardProgressNavigator.js +1 -1
  266. package/src/sap/m/WizardStep.js +1 -1
  267. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  268. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  269. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  270. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  271. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  272. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  273. package/src/sap/m/library.js +2 -2
  274. package/src/sap/m/messagebundle.properties +10 -10
  275. package/src/sap/m/messagebundle_ar.properties +21 -21
  276. package/src/sap/m/messagebundle_bg.properties +10 -10
  277. package/src/sap/m/messagebundle_ca.properties +10 -10
  278. package/src/sap/m/messagebundle_cnr.properties +10 -10
  279. package/src/sap/m/messagebundle_cs.properties +10 -10
  280. package/src/sap/m/messagebundle_cy.properties +10 -10
  281. package/src/sap/m/messagebundle_da.properties +12 -12
  282. package/src/sap/m/messagebundle_de.properties +18 -18
  283. package/src/sap/m/messagebundle_el.properties +10 -10
  284. package/src/sap/m/messagebundle_en.properties +10 -10
  285. package/src/sap/m/messagebundle_en_GB.properties +10 -10
  286. package/src/sap/m/messagebundle_en_US_saprigi.properties +6 -6
  287. package/src/sap/m/messagebundle_es.properties +11 -11
  288. package/src/sap/m/messagebundle_es_MX.properties +10 -10
  289. package/src/sap/m/messagebundle_et.properties +10 -10
  290. package/src/sap/m/messagebundle_fi.properties +10 -10
  291. package/src/sap/m/messagebundle_fr.properties +10 -10
  292. package/src/sap/m/messagebundle_fr_CA.properties +10 -10
  293. package/src/sap/m/messagebundle_hi.properties +10 -10
  294. package/src/sap/m/messagebundle_hr.properties +10 -10
  295. package/src/sap/m/messagebundle_hu.properties +10 -10
  296. package/src/sap/m/messagebundle_id.properties +23 -23
  297. package/src/sap/m/messagebundle_it.properties +10 -10
  298. package/src/sap/m/messagebundle_iw.properties +10 -10
  299. package/src/sap/m/messagebundle_ja.properties +10 -10
  300. package/src/sap/m/messagebundle_kk.properties +10 -10
  301. package/src/sap/m/messagebundle_ko.properties +10 -10
  302. package/src/sap/m/messagebundle_lt.properties +10 -10
  303. package/src/sap/m/messagebundle_lv.properties +10 -10
  304. package/src/sap/m/messagebundle_mk.properties +10 -10
  305. package/src/sap/m/messagebundle_ms.properties +10 -10
  306. package/src/sap/m/messagebundle_nl.properties +10 -10
  307. package/src/sap/m/messagebundle_no.properties +10 -10
  308. package/src/sap/m/messagebundle_pl.properties +10 -10
  309. package/src/sap/m/messagebundle_pt.properties +12 -12
  310. package/src/sap/m/messagebundle_pt_PT.properties +11 -11
  311. package/src/sap/m/messagebundle_ro.properties +10 -10
  312. package/src/sap/m/messagebundle_ru.properties +10 -10
  313. package/src/sap/m/messagebundle_sh.properties +10 -10
  314. package/src/sap/m/messagebundle_sk.properties +10 -10
  315. package/src/sap/m/messagebundle_sl.properties +10 -10
  316. package/src/sap/m/messagebundle_sr.properties +10 -10
  317. package/src/sap/m/messagebundle_sv.properties +10 -10
  318. package/src/sap/m/messagebundle_th.properties +10 -10
  319. package/src/sap/m/messagebundle_tr.properties +10 -10
  320. package/src/sap/m/messagebundle_uk.properties +10 -10
  321. package/src/sap/m/messagebundle_vi.properties +12 -12
  322. package/src/sap/m/messagebundle_zh_CN.properties +10 -10
  323. package/src/sap/m/messagebundle_zh_TW.properties +10 -10
  324. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  325. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  326. package/src/sap/m/p13n/BasePanel.js +1 -1
  327. package/src/sap/m/p13n/Container.js +1 -1
  328. package/src/sap/m/p13n/Engine.js +1 -1
  329. package/src/sap/m/p13n/FilterController.js +1 -1
  330. package/src/sap/m/p13n/FilterPanel.js +1 -1
  331. package/src/sap/m/p13n/GroupController.js +1 -1
  332. package/src/sap/m/p13n/GroupPanel.js +1 -1
  333. package/src/sap/m/p13n/MessageStrip.js +1 -1
  334. package/src/sap/m/p13n/Popup.js +1 -1
  335. package/src/sap/m/p13n/QueryPanel.js +1 -1
  336. package/src/sap/m/p13n/SelectionController.js +1 -1
  337. package/src/sap/m/p13n/SelectionPanel.js +6 -4
  338. package/src/sap/m/p13n/SortController.js +1 -1
  339. package/src/sap/m/p13n/SortPanel.js +1 -1
  340. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  341. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  342. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  343. package/src/sap/m/p13n/util/diff.js +4 -2
  344. package/src/sap/m/plugins/CellSelector.js +12 -1
  345. package/src/sap/m/plugins/ColumnAIAction.js +1 -1
  346. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  347. package/src/sap/m/plugins/ContextMenuSetting.js +6 -3
  348. package/src/sap/m/plugins/CopyProvider.js +1 -1
  349. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  350. package/src/sap/m/plugins/PasteProvider.js +1 -1
  351. package/src/sap/m/plugins/PluginBase.js +1 -1
  352. package/src/sap/m/plugins/UploadSetwithTable.js +1 -1
  353. package/src/sap/m/semantic/AddAction.js +1 -1
  354. package/src/sap/m/semantic/CancelAction.js +1 -1
  355. package/src/sap/m/semantic/DeleteAction.js +1 -1
  356. package/src/sap/m/semantic/DetailPage.js +1 -1
  357. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  358. package/src/sap/m/semantic/EditAction.js +1 -1
  359. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  360. package/src/sap/m/semantic/FilterAction.js +1 -1
  361. package/src/sap/m/semantic/FilterSelect.js +1 -1
  362. package/src/sap/m/semantic/FlagAction.js +1 -1
  363. package/src/sap/m/semantic/ForwardAction.js +1 -1
  364. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  365. package/src/sap/m/semantic/GroupAction.js +1 -1
  366. package/src/sap/m/semantic/GroupSelect.js +1 -1
  367. package/src/sap/m/semantic/MainAction.js +1 -1
  368. package/src/sap/m/semantic/MasterPage.js +1 -1
  369. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  370. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  371. package/src/sap/m/semantic/NegativeAction.js +1 -1
  372. package/src/sap/m/semantic/OpenInAction.js +1 -1
  373. package/src/sap/m/semantic/PositiveAction.js +1 -1
  374. package/src/sap/m/semantic/PrintAction.js +1 -1
  375. package/src/sap/m/semantic/SaveAction.js +1 -1
  376. package/src/sap/m/semantic/Segment.js +1 -1
  377. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  378. package/src/sap/m/semantic/SemanticButton.js +1 -1
  379. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  380. package/src/sap/m/semantic/SemanticControl.js +1 -1
  381. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  382. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  383. package/src/sap/m/semantic/SemanticPage.js +1 -1
  384. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  385. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  386. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  387. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  388. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  389. package/src/sap/m/semantic/ShareMenu.js +1 -1
  390. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  391. package/src/sap/m/semantic/SortAction.js +1 -1
  392. package/src/sap/m/semantic/SortSelect.js +1 -1
  393. package/src/sap/m/table/ColumnWidthController.js +1 -1
  394. package/src/sap/m/table/Util.js +1 -1
  395. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  396. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  397. package/src/sap/m/table/columnmenu/Item.js +1 -1
  398. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  399. package/src/sap/m/table/columnmenu/Menu.js +1 -1
  400. package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
  401. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  402. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  403. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  404. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  405. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  406. package/src/sap/m/table/columnmenu/QuickResize.js +1 -1
  407. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  408. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  409. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  410. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  411. package/src/sap/m/themes/base/ActionSelect.less +4 -0
  412. package/src/sap/m/themes/base/CustomTile.less +4 -0
  413. package/src/sap/m/themes/base/Dialog.less +5 -1
  414. package/src/sap/m/themes/base/IllustratedMessage.less +2 -3
  415. package/src/sap/m/themes/base/MessagePage.less +4 -0
  416. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +4 -1
  417. package/src/sap/m/themes/base/Popover.less +9 -1
  418. package/src/sap/m/themes/base/StandardTile.less +4 -0
  419. package/src/sap/m/themes/base/SuggestionsPopover.less +2 -1
  420. package/src/sap/m/themes/base/Tile.less +4 -0
  421. package/src/sap/m/themes/base/TileContainer.less +4 -0
  422. package/src/sap/m/themes/base/TimePickerClock.less +5 -0
  423. package/src/sap/m/themes/base/ToggleButton.less +7 -0
  424. package/src/sap/m/themes/base/UploadCollection.less +4 -0
  425. package/src/sap/m/themes/base/UploadSet.less +4 -0
  426. package/src/sap/m/themes/base/Wizard.less +4 -4
  427. package/src/sap/m/themes/sap_hcb/ActionSelect.less +4 -0
  428. package/src/sap/m/themes/sap_hcb/CustomTile.less +4 -0
  429. package/src/sap/m/themes/sap_hcb/Tile.less +4 -0
  430. package/src/sap/m/themes/sap_hcb/TileContainer.less +4 -0
  431. package/src/sap/m/themes/sap_hcb/UploadCollection.less +4 -0
  432. package/src/sap/m/themes/sap_hcb/base_ActionSelect.less +4 -0
  433. package/src/sap/m/themes/sap_hcb/base_CustomTile.less +4 -0
  434. package/src/sap/m/themes/sap_hcb/base_MessagePage.less +4 -0
  435. package/src/sap/m/themes/sap_hcb/base_OverflowToolbarAssociativePopover.less +4 -1
  436. package/src/sap/m/themes/sap_hcb/base_StandardTile.less +4 -0
  437. package/src/sap/m/themes/sap_hcb/base_Tile.less +4 -0
  438. package/src/sap/m/themes/sap_hcb/base_TileContainer.less +4 -0
  439. package/src/sap/m/themes/sap_hcb/base_UploadCollection.less +4 -0
  440. package/src/sap/m/themes/sap_hcb/base_UploadSet.less +4 -0
  441. package/src/sap/m/upload/ActionsPlaceholder.js +1 -1
  442. package/src/sap/m/upload/Column.js +1 -1
  443. package/src/sap/m/upload/FilePreviewDialog.js +1 -1
  444. package/src/sap/m/upload/UploadItem.js +1 -1
  445. package/src/sap/m/upload/UploadItemConfiguration.js +1 -1
  446. package/src/sap/m/upload/UploadSet.js +1 -1
  447. package/src/sap/m/upload/UploadSetItem.js +1 -1
  448. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  449. package/src/sap/m/upload/UploaderTableItem.js +1 -1
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @extends sap.ui.core.Control
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.140.0
48
+ * @version 1.141.1
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.140.0
100
+ * @version 1.141.1
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.140.0
25
+ * @version 1.141.1
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.140.0
30
+ * @version 1.141.1
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.140.0
71
+ * @version 1.141.1
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.140.0
211
+ * @version 1.141.1
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.140.0
109
+ * @version 1.141.1
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.140.0
26
+ * @version 1.141.1
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.140.0
40
+ * @version 1.141.1
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.140.0
28
+ * @version 1.141.1
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.140.0
124
+ * @version 1.141.1
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
 
@@ -2695,6 +2696,12 @@ sap.ui.define([
2695
2696
  }
2696
2697
  };
2697
2698
 
2699
+ Popover.prototype._getTitles = function (oContainer) {
2700
+ return oContainer.findAggregatedObjects(true, function(oObject) {
2701
+ return oObject.isA("sap.m.Title");
2702
+ });
2703
+ };
2704
+
2698
2705
  /**
2699
2706
  * Provides the accessibility options of the control.
2700
2707
  *
@@ -2713,10 +2720,23 @@ sap.ui.define([
2713
2720
  return mAccOptions;
2714
2721
  }
2715
2722
 
2716
- 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
+ }
2717
2737
 
2718
2738
  // If we have a header/title, we add a reference to it in the beginning of the aria-labelledby attribute
2719
- aAriaLabels = Array.prototype.concat(oHeaderId, this.getAssociation("ariaLabelledBy", []));
2739
+ aAriaLabels = Array.prototype.concat(aAriaLabels, this.getAssociation("ariaLabelledBy", []));
2720
2740
  mAccOptions.labelledby = aAriaLabels.join(' ');
2721
2741
 
2722
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.140.0
64
+ * @version 1.141.1
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.140.0
40
+ * @version 1.141.1
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.140.0
62
+ * @version 1.141.1
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.140.0
30
+ * @version 1.141.1
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.140.0
39
+ * @version 1.141.1
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.140.0
25
+ * @version 1.141.1
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.140.0
31
+ * @version 1.141.1
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.140.0
106
+ * @version 1.141.1
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.140.0
97
+ * @version 1.141.1
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.140.0
71
+ * @version 1.141.1
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.140.0
56
+ * @version 1.141.1
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.140.0
59
+ * @version 1.141.1
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.140.0
66
+ * @version 1.141.1
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.140.0
37
+ * @version 1.141.1
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -25,7 +25,7 @@ function(Control, ScrollBarRenderer) {
25
25
  * care of only rendering the currently visible rows and use this <code>ScrollBar</code> control to make
26
26
  * the users think they are actually scrolling through a long list.
27
27
  * @extends sap.ui.core.Control
28
- * @version 1.140.0
28
+ * @version 1.141.1
29
29
  *
30
30
  * @private
31
31
  * @alias sap.m.ScrollBar
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * @extends sap.ui.core.Control
40
40
  *
41
41
  * @author SAP SE
42
- * @version 1.140.0
42
+ * @version 1.141.1
43
43
  *
44
44
  * @constructor
45
45
  * @public
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * @extends sap.ui.core.Control
68
68
  * @implements sap.ui.core.IFormContent
69
69
  * @author SAP SE
70
- * @version 1.140.0
70
+ * @version 1.141.1
71
71
  *
72
72
  * @constructor
73
73
  * @public
@@ -59,7 +59,7 @@ function(
59
59
  * @implements sap.ui.core.IFormContent
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.140.0
62
+ * @version 1.141.1
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -197,6 +197,9 @@ function(
197
197
  // Used to store individual button widths
198
198
  this._aWidths = [];
199
199
 
200
+ // Used to store previous button width
201
+ this._previousWidth = undefined;
202
+
200
203
  // Delegate keyboard processing to ItemNavigation, see commons.SegmentedButton
201
204
  this._oItemNavigation = new ItemNavigation();
202
205
  this._oItemNavigation.setCycling(false);
@@ -239,8 +242,7 @@ function(
239
242
  };
240
243
 
241
244
  SegmentedButton.prototype.onAfterRendering = function () {
242
- var aButtons = this._getVisibleButtons(),
243
- oParentDom;
245
+ var oParentDom;
244
246
 
245
247
  //register resize listener on parent
246
248
  if (!this._sResizeListenerId) {
@@ -254,8 +256,23 @@ function(
254
256
  // Keyboard
255
257
  this._setItemNavigation();
256
258
 
257
- // Calculate and apply widths
258
- this._aWidths = this._getRenderedButtonWidths(aButtons);
259
+ // Use fonts.ready Promise to detect when fonts are loaded
260
+ // to avoid getting incorrect button widths
261
+ if (document.fonts && document.fonts.ready && document.fonts.status !== "loaded") {
262
+ document.fonts.ready.then(() => {
263
+ this._adjustButtonWidth();
264
+ });
265
+ } else {
266
+ this._adjustButtonWidth();
267
+ }
268
+ };
269
+
270
+ /**
271
+ * Calculates and applies button width.
272
+ * @private
273
+ */
274
+ SegmentedButton.prototype._adjustButtonWidth = function () {
275
+ this._aWidths = this._getRenderedButtonWidths(this._getVisibleButtons());
259
276
  this._updateWidth();
260
277
  };
261
278
 
@@ -335,10 +352,18 @@ function(
335
352
  if (sWidth) {
336
353
  if (sWidth.indexOf("%") !== -1) {
337
354
  // Width in Percent
338
- iSumPercents += parseInt(sWidth.slice(0, -1));
339
- } else {
355
+ iSumPercents += parseFloat(sWidth.slice(0, -1));
356
+ } else if (sWidth.indexOf("px") !== -1) {
340
357
  // Width in Pixels
341
358
  iSumPixels += parseInt(sWidth.slice(0, -2));
359
+ } else {
360
+ // Handle other units (em, rem, vw, vh, etc.)
361
+ var oButtonDomRef = aButtons[i].getDomRef();
362
+ if (oButtonDomRef) {
363
+ var oComputedStyle = window.getComputedStyle(oButtonDomRef);
364
+ var iComputedWidth = parseFloat(oComputedStyle.width);
365
+ iSumPixels += iComputedWidth;
366
+ }
342
367
  }
343
368
  } else {
344
369
  iNoWidths++;
@@ -346,7 +371,7 @@ function(
346
371
  i++;
347
372
  }
348
373
 
349
- // If there are no buttons without width setted return
374
+ // If there are no buttons without width set, return
350
375
  if (iNoWidths === 0) {
351
376
  return false;
352
377
  }
@@ -354,7 +379,7 @@ function(
354
379
  iPercent = (100 - iSumPercents) / iNoWidths;
355
380
  iPixels = (iSumPixels / iNoWidths);
356
381
 
357
- // Handle invalid negative numbers or other button occupying more than 100% of the width
382
+ // Handle invalid negative numbers or other buttons occupying more than 100% of the width
358
383
  if (iPercent < 0) {
359
384
  iPercent = 0;
360
385
  }
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/m/Button', 'sap/ui/core/Cus
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.140.0
26
+ * @version 1.141.1
27
27
  *
28
28
  * @constructor
29
29
  * @public