@openui5/sap.m 1.103.0 → 1.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +18 -1
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +36 -3
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +1 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +2 -3
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/BadgeEnabler.js +1 -2
  15. package/src/sap/m/Bar.js +11 -10
  16. package/src/sap/m/Breadcrumbs.js +2 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +49 -10
  20. package/src/sap/m/ButtonRenderer.js +10 -2
  21. package/src/sap/m/Carousel.js +3 -4
  22. package/src/sap/m/CarouselLayout.js +1 -1
  23. package/src/sap/m/CheckBox.js +46 -6
  24. package/src/sap/m/CheckBoxRenderer.js +1 -0
  25. package/src/sap/m/ColorPalette.js +1 -1
  26. package/src/sap/m/ColorPalettePopover.js +1 -1
  27. package/src/sap/m/Column.js +1 -1
  28. package/src/sap/m/ColumnHeaderPopover.js +5 -7
  29. package/src/sap/m/ColumnListItem.js +1 -4
  30. package/src/sap/m/ColumnListItemRenderer.js +1 -2
  31. package/src/sap/m/ColumnPopoverActionItem.js +3 -3
  32. package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
  33. package/src/sap/m/ColumnPopoverItem.js +3 -3
  34. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
  35. package/src/sap/m/ColumnPopoverSortItem.js +3 -3
  36. package/src/sap/m/ComboBox.js +6 -5
  37. package/src/sap/m/ComboBoxBase.js +1 -5
  38. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  39. package/src/sap/m/ComboBoxTextField.js +1 -7
  40. package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
  41. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  42. package/src/sap/m/CustomListItem.js +1 -1
  43. package/src/sap/m/CustomTile.js +1 -1
  44. package/src/sap/m/CustomTreeItem.js +3 -3
  45. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  46. package/src/sap/m/DatePicker.js +14 -24
  47. package/src/sap/m/DateRangeSelection.js +45 -38
  48. package/src/sap/m/DateTimeField.js +87 -20
  49. package/src/sap/m/DateTimeInput.js +1 -1
  50. package/src/sap/m/DateTimePicker.js +52 -28
  51. package/src/sap/m/Dialog.js +38 -1
  52. package/src/sap/m/DisplayListItem.js +1 -1
  53. package/src/sap/m/DraftIndicator.js +1 -1
  54. package/src/sap/m/DynamicDate.js +1 -1
  55. package/src/sap/m/DynamicDateFormat.js +2 -5
  56. package/src/sap/m/DynamicDateOption.js +43 -16
  57. package/src/sap/m/DynamicDateRange.js +49 -7
  58. package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
  59. package/src/sap/m/DynamicDateUtil.js +23 -2
  60. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  61. package/src/sap/m/ExpandableText.js +1 -1
  62. package/src/sap/m/FacetFilter.js +2 -2
  63. package/src/sap/m/FacetFilterItem.js +1 -1
  64. package/src/sap/m/FacetFilterList.js +4 -4
  65. package/src/sap/m/FeedContent.js +1 -1
  66. package/src/sap/m/FeedInput.js +1 -1
  67. package/src/sap/m/FeedListItem.js +1 -1
  68. package/src/sap/m/FeedListItemAction.js +1 -1
  69. package/src/sap/m/Fiori20Adapter.js +2 -2
  70. package/src/sap/m/FlexBox.js +1 -1
  71. package/src/sap/m/FlexItemData.js +1 -1
  72. package/src/sap/m/FormattedText.js +1 -1
  73. package/src/sap/m/GenericTag.js +1 -1
  74. package/src/sap/m/GenericTile.js +67 -16
  75. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  76. package/src/sap/m/GenericTileRenderer.js +16 -4
  77. package/src/sap/m/GroupHeaderListItem.js +1 -1
  78. package/src/sap/m/GrowingEnablement.js +37 -11
  79. package/src/sap/m/GrowingList.js +1 -1
  80. package/src/sap/m/HBox.js +1 -1
  81. package/src/sap/m/HeaderContainer.js +3 -3
  82. package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
  83. package/src/sap/m/IconTabBar.js +54 -22
  84. package/src/sap/m/IconTabBarSelectList.js +1 -1
  85. package/src/sap/m/IconTabFilter.js +1 -1
  86. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  87. package/src/sap/m/IconTabHeader.js +5 -1
  88. package/src/sap/m/IconTabSeparator.js +1 -1
  89. package/src/sap/m/IllustratedMessage.js +64 -25
  90. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  91. package/src/sap/m/Illustration.js +1 -1
  92. package/src/sap/m/IllustrationPool.js +1 -0
  93. package/src/sap/m/IllustrationRenderer.js +1 -1
  94. package/src/sap/m/Image.js +2 -2
  95. package/src/sap/m/ImageContent.js +1 -1
  96. package/src/sap/m/Input.js +51 -7
  97. package/src/sap/m/InputBase.js +1 -1
  98. package/src/sap/m/InputBaseRenderer.js +2 -2
  99. package/src/sap/m/InputListItem.js +1 -1
  100. package/src/sap/m/InputRenderer.js +4 -0
  101. package/src/sap/m/Label.js +34 -4
  102. package/src/sap/m/LabelRenderer.js +7 -2
  103. package/src/sap/m/LightBox.js +1 -1
  104. package/src/sap/m/LightBoxItem.js +1 -1
  105. package/src/sap/m/Link.js +95 -10
  106. package/src/sap/m/LinkRenderer.js +26 -12
  107. package/src/sap/m/List.js +38 -1
  108. package/src/sap/m/ListBase.js +104 -40
  109. package/src/sap/m/ListBaseRenderer.js +7 -15
  110. package/src/sap/m/ListItemBase.js +40 -11
  111. package/src/sap/m/ListItemBaseRenderer.js +17 -6
  112. package/src/sap/m/ListRenderer.js +2 -2
  113. package/src/sap/m/MaskEnabler.js +52 -2
  114. package/src/sap/m/MaskInput.js +23 -1
  115. package/src/sap/m/MaskInputRule.js +1 -1
  116. package/src/sap/m/Menu.js +1 -1
  117. package/src/sap/m/MenuButton.js +1 -1
  118. package/src/sap/m/MenuItem.js +1 -1
  119. package/src/sap/m/MenuListItem.js +1 -1
  120. package/src/sap/m/MessageBox.js +1 -1
  121. package/src/sap/m/MessageItem.js +3 -4
  122. package/src/sap/m/MessageListItem.js +8 -4
  123. package/src/sap/m/MessagePage.js +1 -1
  124. package/src/sap/m/MessagePopover.js +4 -1
  125. package/src/sap/m/MessagePopoverItem.js +1 -1
  126. package/src/sap/m/MessageStrip.js +1 -1
  127. package/src/sap/m/MessageToast.js +1 -1
  128. package/src/sap/m/MessageView.js +1 -1
  129. package/src/sap/m/MultiComboBox.js +5 -16
  130. package/src/sap/m/MultiEditField.js +1 -1
  131. package/src/sap/m/MultiInput.js +1 -15
  132. package/src/sap/m/NavContainer.js +21 -19
  133. package/src/sap/m/NewsContent.js +2 -3
  134. package/src/sap/m/NotificationList.js +1 -1
  135. package/src/sap/m/NotificationListBase.js +1 -1
  136. package/src/sap/m/NotificationListGroup.js +3 -7
  137. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  138. package/src/sap/m/NotificationListItem.js +1 -1
  139. package/src/sap/m/NumericContent.js +1 -1
  140. package/src/sap/m/NumericInput.js +1 -1
  141. package/src/sap/m/ObjectAttribute.js +1 -1
  142. package/src/sap/m/ObjectHeader.js +3 -3
  143. package/src/sap/m/ObjectIdentifier.js +3 -3
  144. package/src/sap/m/ObjectListItem.js +7 -1
  145. package/src/sap/m/ObjectMarker.js +1 -1
  146. package/src/sap/m/ObjectNumber.js +2 -3
  147. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  148. package/src/sap/m/ObjectStatus.js +2 -3
  149. package/src/sap/m/ObjectStatusRenderer.js +2 -2
  150. package/src/sap/m/OverflowToolbar.js +3 -8
  151. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  152. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -3
  153. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
  154. package/src/sap/m/OverflowToolbarButton.js +1 -1
  155. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  156. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  157. package/src/sap/m/P13nAnyFilterItem.js +3 -3
  158. package/src/sap/m/P13nColumnsItem.js +3 -3
  159. package/src/sap/m/P13nColumnsPanel.js +3 -3
  160. package/src/sap/m/P13nConditionPanel.js +10 -3
  161. package/src/sap/m/P13nDialog.js +3 -3
  162. package/src/sap/m/P13nDimMeasureItem.js +3 -3
  163. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  164. package/src/sap/m/P13nFilterItem.js +3 -3
  165. package/src/sap/m/P13nFilterPanel.js +3 -3
  166. package/src/sap/m/P13nGroupItem.js +3 -3
  167. package/src/sap/m/P13nGroupPanel.js +3 -3
  168. package/src/sap/m/P13nItem.js +3 -3
  169. package/src/sap/m/P13nOperationsHelper.js +2 -2
  170. package/src/sap/m/P13nPanel.js +3 -3
  171. package/src/sap/m/P13nSelectionItem.js +3 -3
  172. package/src/sap/m/P13nSelectionPanel.js +3 -3
  173. package/src/sap/m/P13nSortItem.js +3 -3
  174. package/src/sap/m/P13nSortPanel.js +3 -3
  175. package/src/sap/m/PDFViewer.js +2 -2
  176. package/src/sap/m/PDFViewerRenderer.js +1 -0
  177. package/src/sap/m/Page.js +1 -3
  178. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  179. package/src/sap/m/PagingButton.js +1 -1
  180. package/src/sap/m/Panel.js +1 -1
  181. package/src/sap/m/PlanningCalendar.js +4 -16
  182. package/src/sap/m/PlanningCalendarHeader.js +1 -5
  183. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  184. package/src/sap/m/PlanningCalendarRow.js +1 -1
  185. package/src/sap/m/PlanningCalendarView.js +1 -1
  186. package/src/sap/m/Popover.js +11 -4
  187. package/src/sap/m/ProgressIndicator.js +1 -1
  188. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  189. package/src/sap/m/PullToRefresh.js +1 -1
  190. package/src/sap/m/QuickView.js +3 -3
  191. package/src/sap/m/QuickViewBase.js +3 -3
  192. package/src/sap/m/QuickViewCard.js +3 -3
  193. package/src/sap/m/QuickViewGroup.js +1 -1
  194. package/src/sap/m/QuickViewGroupElement.js +3 -3
  195. package/src/sap/m/QuickViewPage.js +3 -3
  196. package/src/sap/m/RadioButton.js +47 -20
  197. package/src/sap/m/RadioButtonGroup.js +29 -19
  198. package/src/sap/m/RangeSlider.js +1 -3
  199. package/src/sap/m/RatingIndicator.js +8 -1
  200. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  201. package/src/sap/m/ResponsivePopover.js +3 -3
  202. package/src/sap/m/ResponsiveScale.js +1 -1
  203. package/src/sap/m/ScrollBar.js +1 -1
  204. package/src/sap/m/ScrollContainer.js +1 -1
  205. package/src/sap/m/SearchField.js +1 -1
  206. package/src/sap/m/SegmentedButton.js +1 -1
  207. package/src/sap/m/SegmentedButtonItem.js +1 -1
  208. package/src/sap/m/Select.js +7 -13
  209. package/src/sap/m/SelectDialog.js +2 -1
  210. package/src/sap/m/SelectDialogBase.js +1 -1
  211. package/src/sap/m/SelectList.js +1 -1
  212. package/src/sap/m/SelectListRenderer.js +2 -2
  213. package/src/sap/m/SelectionDetails.js +2 -2
  214. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  215. package/src/sap/m/SelectionDetailsItem.js +1 -1
  216. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  217. package/src/sap/m/Shell.js +1 -1
  218. package/src/sap/m/SimpleFixFlex.js +1 -1
  219. package/src/sap/m/SinglePlanningCalendar.js +5 -7
  220. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  221. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
  222. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  223. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
  224. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  225. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  227. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  228. package/src/sap/m/SlideTile.js +30 -5
  229. package/src/sap/m/Slider.js +1 -1
  230. package/src/sap/m/SliderTooltip.js +1 -3
  231. package/src/sap/m/SliderTooltipBase.js +1 -1
  232. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  233. package/src/sap/m/SliderTooltipContainer.js +1 -1
  234. package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
  235. package/src/sap/m/SliderTooltipRenderer.js +2 -2
  236. package/src/sap/m/SplitApp.js +1 -1
  237. package/src/sap/m/SplitButton.js +1 -3
  238. package/src/sap/m/SplitContainer.js +1 -5
  239. package/src/sap/m/StandardDynamicDateOption.js +9 -15
  240. package/src/sap/m/StandardListItem.js +1 -1
  241. package/src/sap/m/StandardListItemRenderer.js +2 -2
  242. package/src/sap/m/StandardTile.js +1 -1
  243. package/src/sap/m/StandardTreeItem.js +1 -1
  244. package/src/sap/m/StepInput.js +1 -1
  245. package/src/sap/m/SuggestionItem.js +1 -1
  246. package/src/sap/m/SuggestionsPopover.js +4 -2
  247. package/src/sap/m/Switch.js +1 -1
  248. package/src/sap/m/TabContainer.js +1 -1
  249. package/src/sap/m/TabContainerItem.js +1 -1
  250. package/src/sap/m/TabStrip.js +1 -1
  251. package/src/sap/m/TabStripItem.js +1 -1
  252. package/src/sap/m/Table.js +11 -9
  253. package/src/sap/m/TablePersoController.js +1 -1
  254. package/src/sap/m/TablePersoDialog.js +6 -15
  255. package/src/sap/m/TablePersoProvider.js +1 -1
  256. package/src/sap/m/TableRenderer.js +2 -9
  257. package/src/sap/m/TableSelectDialog.js +1 -1
  258. package/src/sap/m/Text.js +1 -1
  259. package/src/sap/m/TextArea.js +1 -1
  260. package/src/sap/m/TextAreaRenderer.js +1 -2
  261. package/src/sap/m/Tile.js +1 -1
  262. package/src/sap/m/TileContainer.js +1 -1
  263. package/src/sap/m/TileContent.js +8 -9
  264. package/src/sap/m/TileContentRenderer.js +3 -3
  265. package/src/sap/m/TimePicker.js +43 -6
  266. package/src/sap/m/TimePickerClock.js +2 -3
  267. package/src/sap/m/TimePickerClocks.js +5 -3
  268. package/src/sap/m/TimePickerClocksRenderer.js +1 -1
  269. package/src/sap/m/TimePickerInputs.js +1 -1
  270. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  271. package/src/sap/m/TimePickerInternals.js +1 -1
  272. package/src/sap/m/TimePickerSlider.js +1 -1
  273. package/src/sap/m/TimePickerSliders.js +3 -5
  274. package/src/sap/m/Title.js +1 -1
  275. package/src/sap/m/TitlePropagationSupport.js +1 -1
  276. package/src/sap/m/ToggleButton.js +2 -2
  277. package/src/sap/m/Token.js +1 -3
  278. package/src/sap/m/Tokenizer.js +1 -1
  279. package/src/sap/m/Toolbar.js +1 -1
  280. package/src/sap/m/ToolbarLayoutData.js +1 -1
  281. package/src/sap/m/ToolbarSeparator.js +1 -1
  282. package/src/sap/m/ToolbarSpacer.js +1 -1
  283. package/src/sap/m/Tree.js +8 -1
  284. package/src/sap/m/TreeItemBase.js +1 -1
  285. package/src/sap/m/TreeRenderer.js +0 -10
  286. package/src/sap/m/UploadCollection.js +2 -2
  287. package/src/sap/m/UploadCollectionItem.js +1 -1
  288. package/src/sap/m/UploadCollectionParameter.js +1 -1
  289. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  290. package/src/sap/m/VBox.js +1 -1
  291. package/src/sap/m/ValueStateHeader.js +1 -1
  292. package/src/sap/m/VariantItem.js +160 -0
  293. package/src/sap/m/VariantManagement.js +665 -570
  294. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  295. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  296. package/src/sap/m/ViewSettingsDialog.js +1 -1
  297. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  298. package/src/sap/m/ViewSettingsItem.js +1 -1
  299. package/src/sap/m/VisibleItem.js +1 -1
  300. package/src/sap/m/WheelSlider.js +1 -1
  301. package/src/sap/m/WheelSliderContainer.js +1 -1
  302. package/src/sap/m/Wizard.js +1 -3
  303. package/src/sap/m/WizardProgressNavigator.js +1 -1
  304. package/src/sap/m/WizardStep.js +1 -1
  305. package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
  306. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
  307. package/src/sap/m/changeHandler/CombineButtons.js +19 -22
  308. package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
  309. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
  310. package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
  311. package/src/sap/m/delegate/DateNavigation.js +0 -4
  312. package/src/sap/m/designtime/Link.designtime.js +19 -11
  313. package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
  314. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  315. package/src/sap/m/inputUtils/selectionRange.js +1 -2
  316. package/src/sap/m/library.js +30 -6
  317. package/src/sap/m/messagebundle.properties +30 -3
  318. package/src/sap/m/messagebundle_ar.properties +26 -8
  319. package/src/sap/m/messagebundle_bg.properties +20 -2
  320. package/src/sap/m/messagebundle_ca.properties +19 -1
  321. package/src/sap/m/messagebundle_cs.properties +20 -2
  322. package/src/sap/m/messagebundle_cy.properties +21 -3
  323. package/src/sap/m/messagebundle_da.properties +19 -1
  324. package/src/sap/m/messagebundle_de.properties +19 -1
  325. package/src/sap/m/messagebundle_el.properties +22 -4
  326. package/src/sap/m/messagebundle_en.properties +21 -3
  327. package/src/sap/m/messagebundle_en_GB.properties +21 -3
  328. package/src/sap/m/messagebundle_en_US_sappsd.properties +20 -2
  329. package/src/sap/m/messagebundle_en_US_saprigi.properties +18 -2
  330. package/src/sap/m/messagebundle_en_US_saptrc.properties +20 -2
  331. package/src/sap/m/messagebundle_es.properties +20 -2
  332. package/src/sap/m/messagebundle_es_MX.properties +19 -1
  333. package/src/sap/m/messagebundle_et.properties +19 -1
  334. package/src/sap/m/messagebundle_fi.properties +23 -5
  335. package/src/sap/m/messagebundle_fr.properties +20 -2
  336. package/src/sap/m/messagebundle_fr_CA.properties +21 -3
  337. package/src/sap/m/messagebundle_hi.properties +21 -3
  338. package/src/sap/m/messagebundle_hr.properties +23 -5
  339. package/src/sap/m/messagebundle_hu.properties +21 -3
  340. package/src/sap/m/messagebundle_id.properties +21 -3
  341. package/src/sap/m/messagebundle_it.properties +20 -2
  342. package/src/sap/m/messagebundle_iw.properties +21 -3
  343. package/src/sap/m/messagebundle_ja.properties +20 -2
  344. package/src/sap/m/messagebundle_kk.properties +19 -1
  345. package/src/sap/m/messagebundle_ko.properties +27 -9
  346. package/src/sap/m/messagebundle_lt.properties +19 -1
  347. package/src/sap/m/messagebundle_lv.properties +19 -1
  348. package/src/sap/m/messagebundle_ms.properties +20 -2
  349. package/src/sap/m/messagebundle_nl.properties +33 -15
  350. package/src/sap/m/messagebundle_no.properties +21 -3
  351. package/src/sap/m/messagebundle_pl.properties +20 -2
  352. package/src/sap/m/messagebundle_pt.properties +24 -6
  353. package/src/sap/m/messagebundle_pt_PT.properties +19 -1
  354. package/src/sap/m/messagebundle_ro.properties +20 -2
  355. package/src/sap/m/messagebundle_ru.properties +20 -2
  356. package/src/sap/m/messagebundle_sh.properties +20 -2
  357. package/src/sap/m/messagebundle_sk.properties +19 -1
  358. package/src/sap/m/messagebundle_sl.properties +20 -2
  359. package/src/sap/m/messagebundle_sv.properties +19 -1
  360. package/src/sap/m/messagebundle_th.properties +52 -34
  361. package/src/sap/m/messagebundle_tr.properties +23 -5
  362. package/src/sap/m/messagebundle_uk.properties +20 -2
  363. package/src/sap/m/messagebundle_vi.properties +20 -2
  364. package/src/sap/m/messagebundle_zh_CN.properties +20 -2
  365. package/src/sap/m/messagebundle_zh_TW.properties +19 -1
  366. package/src/sap/m/p13n/AbstractContainer.js +7 -7
  367. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  368. package/src/sap/m/p13n/BasePanel.js +8 -7
  369. package/src/sap/m/p13n/Container.js +3 -3
  370. package/src/sap/m/p13n/Engine.js +1254 -0
  371. package/src/sap/m/p13n/FlexUtil.js +161 -0
  372. package/src/sap/m/p13n/GroupController.js +145 -0
  373. package/src/sap/m/p13n/GroupPanel.js +12 -5
  374. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  375. package/src/sap/m/p13n/PersistenceProvider.js +160 -0
  376. package/src/sap/m/p13n/Popup.js +49 -12
  377. package/src/sap/m/p13n/QueryPanel.js +3 -3
  378. package/src/sap/m/p13n/SelectionController.js +548 -0
  379. package/src/sap/m/p13n/SelectionPanel.js +15 -3
  380. package/src/sap/m/p13n/SortController.js +153 -0
  381. package/src/sap/m/p13n/SortPanel.js +13 -3
  382. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  383. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  384. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  385. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  386. package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
  387. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  388. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
  389. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  390. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  391. package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
  392. package/src/sap/m/plugins/CellSelector.js +741 -0
  393. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  394. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  395. package/src/sap/m/plugins/PasteProvider.js +1 -1
  396. package/src/sap/m/plugins/PluginBase.js +4 -3
  397. package/src/sap/m/semantic/AddAction.js +1 -1
  398. package/src/sap/m/semantic/CancelAction.js +1 -1
  399. package/src/sap/m/semantic/DeleteAction.js +1 -1
  400. package/src/sap/m/semantic/DetailPage.js +1 -1
  401. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  402. package/src/sap/m/semantic/EditAction.js +1 -1
  403. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  404. package/src/sap/m/semantic/FilterAction.js +1 -1
  405. package/src/sap/m/semantic/FilterSelect.js +1 -1
  406. package/src/sap/m/semantic/FlagAction.js +1 -1
  407. package/src/sap/m/semantic/ForwardAction.js +1 -1
  408. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  409. package/src/sap/m/semantic/GroupAction.js +1 -1
  410. package/src/sap/m/semantic/GroupSelect.js +1 -1
  411. package/src/sap/m/semantic/MainAction.js +1 -1
  412. package/src/sap/m/semantic/MasterPage.js +1 -1
  413. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  414. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  415. package/src/sap/m/semantic/NegativeAction.js +1 -1
  416. package/src/sap/m/semantic/OpenInAction.js +1 -1
  417. package/src/sap/m/semantic/PositiveAction.js +1 -1
  418. package/src/sap/m/semantic/PrintAction.js +1 -1
  419. package/src/sap/m/semantic/SaveAction.js +1 -1
  420. package/src/sap/m/semantic/Segment.js +1 -1
  421. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  422. package/src/sap/m/semantic/SemanticButton.js +1 -1
  423. package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
  424. package/src/sap/m/semantic/SemanticControl.js +1 -1
  425. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  426. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  427. package/src/sap/m/semantic/SemanticPage.js +1 -1
  428. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  429. package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
  430. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  431. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  432. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  433. package/src/sap/m/semantic/ShareMenu.js +1 -1
  434. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  435. package/src/sap/m/semantic/SortAction.js +1 -1
  436. package/src/sap/m/semantic/SortSelect.js +1 -1
  437. package/src/sap/m/table/Util.js +14 -7
  438. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  439. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  440. package/src/sap/m/table/columnmenu/Item.js +1 -1
  441. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  442. package/src/sap/m/table/columnmenu/Menu.js +8 -2
  443. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  444. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  445. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  446. package/src/sap/m/table/columnmenu/QuickGroup.js +21 -3
  447. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  448. package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
  449. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -3
  450. package/src/sap/m/table/columnmenu/QuickTotal.js +21 -3
  451. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  452. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  453. package/src/sap/m/themes/base/Button.less +0 -1
  454. package/src/sap/m/themes/base/CellSelector.less +9 -0
  455. package/src/sap/m/themes/base/CheckBox.less +1 -0
  456. package/src/sap/m/themes/base/Dialog.less +1 -0
  457. package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
  458. package/src/sap/m/themes/base/FeedContent.less +13 -5
  459. package/src/sap/m/themes/base/GenericTile.less +49 -9
  460. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  461. package/src/sap/m/themes/base/NewsContent.less +6 -0
  462. package/src/sap/m/themes/base/NumericContent.less +1 -1
  463. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  464. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  465. package/src/sap/m/themes/base/SelectList.less +0 -5
  466. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  467. package/src/sap/m/themes/base/SlideTile.less +35 -4
  468. package/src/sap/m/themes/base/Table.less +11 -2
  469. package/src/sap/m/themes/base/TileContent.less +17 -0
  470. package/src/sap/m/themes/base/library.source.less +1 -0
  471. package/src/sap/m/upload/UploadSet.js +110 -21
  472. package/src/sap/m/upload/UploadSetItem.js +18 -7
  473. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  474. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  475. package/src/sap/m/upload/Uploader.js +1 -2
@@ -20,6 +20,7 @@ sap.ui.define([
20
20
  "sap/base/strings/camelize",
21
21
  "sap/base/util/deepEqual",
22
22
  "sap/ui/events/PseudoEvents",
23
+ "sap/ui/core/theming/Parameters",
23
24
  "sap/ui/thirdparty/jquery"
24
25
  ], function (
25
26
  library,
@@ -37,6 +38,7 @@ sap.ui.define([
37
38
  camelize,
38
39
  deepEqual,
39
40
  PseudoEvents,
41
+ Parameters,
40
42
  jQuery
41
43
  ) {
42
44
  "use strict";
@@ -64,7 +66,7 @@ sap.ui.define([
64
66
  * @extends sap.ui.core.Control
65
67
  *
66
68
  * @author SAP SE
67
- * @version 1.103.0
69
+ * @version 1.105.0
68
70
  * @since 1.34.0
69
71
  *
70
72
  * @public
@@ -440,8 +442,9 @@ sap.ui.define([
440
442
  this._oMoreIcon = this._oMoreIcon || new Button({
441
443
  id: this.getId() + "-action-more",
442
444
  icon: "sap-icon://overflow",
443
- type: "Transparent"
444
- }).addStyleClass("sapMPointer").addStyleClass(sTileClass + "MoreIcon");
445
+ type: "Transparent",
446
+ tooltip :this._oRb.getText("GENERICTILE_MORE_ACTIONBUTTON_TEXT")
447
+ }).addStyleClass("sapMPointer").addStyleClass(sTileClass + "MoreIcon").addStyleClass(sTileClass + "ActionMoreButton");
445
448
  this._oMoreIcon.ontouchstart = function() {
446
449
  this.removeFocus();
447
450
  }.bind(this);
@@ -560,10 +563,15 @@ sap.ui.define([
560
563
  }
561
564
 
562
565
  //sets the extra width of 0.5rem when the grid container has 1rem gap for the TwoByxxxx tiles
563
- if (this.getParent() && this.getParent().isA("sap.f.GridContainer")){
566
+ var oGetParent = this.getParent();
567
+ if (oGetParent && oGetParent.isA("sap.f.GridContainer")){
564
568
  this._applyExtraWidth();
565
569
  }
566
570
 
571
+ if (oGetParent && oGetParent.getParent() && oGetParent.getParent().isA("sap.f.GridContainer") && oGetParent.isA("sap.m.SlideTile")){
572
+ this._applyExtraWidth(oGetParent.getParent(), true);
573
+ }
574
+
567
575
  Device.media.detachHandler(this._handleMediaChange, this, DEVICE_SET);
568
576
 
569
577
  if (this._$RootNode) {
@@ -712,10 +720,14 @@ sap.ui.define([
712
720
  */
713
721
  GenericTile.prototype._setupResizeClassHandler = function () {
714
722
  var fnCheckMedia = function () {
715
- if (this.getSizeBehavior() === TileSizeBehavior.Small || window.matchMedia("(max-width: 374px)").matches) {
723
+ if (this.getSizeBehavior() === TileSizeBehavior.Small || window.matchMedia("(max-width: 374px)").matches || this._isSmallStretchTile()) {
716
724
  this.$().addClass("sapMTileSmallPhone");
725
+ if (this._isSmallStretchTile()) {
726
+ this.addStyleClass("sapMGTStretch");
727
+ }
717
728
  } else {
718
729
  this.$().removeClass("sapMTileSmallPhone");
730
+ this.removeStyleClass("sapMGTStretch");
719
731
  }
720
732
  }.bind(this);
721
733
 
@@ -723,6 +735,18 @@ sap.ui.define([
723
735
  fnCheckMedia();
724
736
  };
725
737
 
738
+ /**
739
+ *Checks if the GenericTile has stretch frametype and the window size is below 600px
740
+ *
741
+ * @returns {boolean} True if the above mentioned condition is met
742
+ * @private
743
+ */
744
+
745
+ GenericTile.prototype._isSmallStretchTile = function () {
746
+ return this.getFrameType() === FrameType.Stretch && window.matchMedia("(max-width: 600px)").matches;
747
+ };
748
+
749
+
726
750
  /**
727
751
  * Looks for the class '.sapUiSizeCompact' on the control and its parents to determine whether to render cozy or compact density mode.
728
752
  *
@@ -1087,6 +1111,15 @@ sap.ui.define([
1087
1111
  return bIsAriaUpd;
1088
1112
  };
1089
1113
 
1114
+ GenericTile.prototype.onsaptabnext = function(oEvt) {
1115
+ if (this._isIconMode() && this.getFrameType() === FrameType.TwoByHalf && oEvt && oEvt.keyCode) {
1116
+ if (oEvt.keyCode === 9 && oEvt.srcControl.getId() == this._oMoreIcon.getId()) {
1117
+ this._oMoreIcon.removeStyleClass("sapMGTVisible");
1118
+ } else if (oEvt.keyCode === 9) {
1119
+ this._oMoreIcon.addStyleClass("sapMGTVisible");
1120
+ }
1121
+ }
1122
+ };
1090
1123
  GenericTile.prototype.onkeyup = function (event) {
1091
1124
  if (!_isInnerTileButtonPressed(event, this)) {
1092
1125
  var currentKey = keyPressed[event.keyCode]; //disable navigation to other tiles when one tile is selected
@@ -1124,7 +1157,7 @@ sap.ui.define([
1124
1157
  event.preventDefault();
1125
1158
  }
1126
1159
 
1127
- this._updateAriaLabel(); // To update the Aria Label for Generic Tile on change.
1160
+ this._updateAriaLabel(); // To update the Aria Label for Generic Tile on change.
1128
1161
  }
1129
1162
  };
1130
1163
 
@@ -1309,12 +1342,14 @@ sap.ui.define([
1309
1342
 
1310
1343
  if (!this._isInActionScope() && (this.getMode() === GenericTileMode.ContentMode || this.getMode() === GenericTileMode.ArticleMode || this.getMode() === GenericTileMode.ActionMode)) {
1311
1344
  for (var i = 0; i < aContent.length; i++) {
1312
- if (typeof aContent[i]._getAriaAndTooltipText === "function") {
1313
- sText += (bIsFirst ? "" : "\n") + aContent[i]._getAriaAndTooltipText();
1314
- } else if (aContent[i].getTooltip_AsString()) {
1315
- sText += (bIsFirst ? "" : "\n") + aContent[i].getTooltip_AsString();
1345
+ if (aContent[i].getVisible()){
1346
+ if (typeof aContent[i]._getAriaAndTooltipText === "function") {
1347
+ sText += (bIsFirst ? "" : "\n") + aContent[i]._getAriaAndTooltipText();
1348
+ } else if (aContent[i].getTooltip_AsString()) {
1349
+ sText += (bIsFirst ? "" : "\n") + aContent[i].getTooltip_AsString();
1350
+ }
1351
+ bIsFirst = false;
1316
1352
  }
1317
- bIsFirst = false;
1318
1353
  }
1319
1354
  }
1320
1355
 
@@ -1545,7 +1580,7 @@ sap.ui.define([
1545
1580
  $Tile.attr("aria-label", sAriaText);
1546
1581
  }
1547
1582
  if (this._isInActionScope()) {
1548
- $Tile.find('*:not(.sapMGTRemoveButton)').removeAttr("aria-label").removeAttr("title").off("mouseenter");
1583
+ $Tile.find('*:not(.sapMGTRemoveButton,.sapMGTActionMoreButton)').removeAttr("aria-label").removeAttr("title").off("mouseenter");
1549
1584
  } else {
1550
1585
  $Tile.find('*').removeAttr("aria-label").removeAttr("title").off("mouseenter");
1551
1586
  }
@@ -1684,6 +1719,9 @@ sap.ui.define([
1684
1719
  GenericTile.prototype._isIconMode = function () {
1685
1720
  if (this.getMode() === GenericTileMode.IconMode
1686
1721
  && (this.getFrameType() === FrameType.OneByOne || this.getFrameType() === FrameType.TwoByHalf)){
1722
+ if (!this.getBackgroundColor() && this.getFrameType() === FrameType.TwoByHalf) {
1723
+ this._setDefaultBackgroundColor();
1724
+ }
1687
1725
  if (this.getTileIcon() && this.getBackgroundColor()) {
1688
1726
  return true;
1689
1727
  } else {
@@ -1698,6 +1736,14 @@ sap.ui.define([
1698
1736
  }
1699
1737
  };
1700
1738
 
1739
+ /**
1740
+ * Sets the default background color when the tile is in iconmode.
1741
+ */
1742
+ GenericTile.prototype._setDefaultBackgroundColor = function() {
1743
+ var sColor = Parameters.get("sapUiContentPlaceholderloadingBackground");
1744
+ this.setProperty("backgroundColor" , sColor, true);
1745
+ };
1746
+
1701
1747
  /**
1702
1748
  * Checks if Navigate Action Button should be used in Article Mode
1703
1749
  * @returns {boolean} - true if Navigate Action Button is enabled
@@ -1711,10 +1757,15 @@ GenericTile.prototype._isNavigateActionEnabled = function() {
1711
1757
  * An extra width of 0.5rem would be applied when the gap is 1rem(16px) in the grid container for the TwoByOne and TwoByHalf tiles
1712
1758
  * @private
1713
1759
  */
1714
- GenericTile.prototype._applyExtraWidth = function() {
1715
- var sGap = this.getParent().getActiveLayoutSettings().getGap(),
1716
- bisLargeTile = this.getFrameType() === FrameType.TwoByHalf || this.getFrameType() === FrameType.TwoByOne,
1717
- bisGap16px = sGap === "16px" || sGap === "1rem";
1760
+ GenericTile.prototype._applyExtraWidth = function(oGetParent, bTrue) {
1761
+ var sGap;
1762
+ if (bTrue == true){
1763
+ sGap = oGetParent.getActiveLayoutSettings().getGap();
1764
+ } else {
1765
+ sGap = this.getParent().getActiveLayoutSettings().getGap();
1766
+ }
1767
+ var bisLargeTile = this.getFrameType() === FrameType.TwoByHalf || this.getFrameType() === FrameType.TwoByOne,
1768
+ bisGap16px = sGap === "16px" || sGap === "1rem";
1718
1769
  if (bisGap16px && bisLargeTile){
1719
1770
  this.addStyleClass("sapMGTWidthForGridContainer");
1720
1771
  } else if (!bisGap16px && this.hasStyleClass("sapMGTWidthForGridContainer")){
@@ -87,7 +87,7 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
87
87
  oRm.class("sapMGT");
88
88
  oRm.class(sScopeClass);
89
89
  if (sScope === GenericTileScope.ActionMore) {
90
- oRm.style("padding-right", "2.25rem");
90
+ oRm.style("padding-right", "3.3rem");
91
91
  }
92
92
  if (sState !== LoadState.Disabled && sScope === GenericTileScope.ActionRemove) {
93
93
  oRm.class("sapMGTAcionRemove");
@@ -214,7 +214,9 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
214
214
 
215
215
  oRm.close("div"); //.sapMGTTouchArea
216
216
  }
217
-
217
+ if (oControl._isInActionScope() && oControl.getState() !== LoadState.Disabled) {
218
+ oRm.renderControl(oControl._oRemoveButton);
219
+ }
218
220
  if (bRenderLink) {
219
221
  oRm.close("a");
220
222
  } else {
@@ -299,8 +301,6 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
299
301
  oRm.openEnd();
300
302
 
301
303
  oRm.renderControl(oControl._oMoreIcon);
302
- oRm.renderControl(oControl._oRemoveButton);
303
-
304
304
  oRm.close("span");
305
305
  }
306
306
  };
@@ -154,9 +154,12 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
154
154
  if (oControl.getMode() === GenericTileMode.HeaderMode) {
155
155
  oRm.class("sapMGTHeaderMode");
156
156
  }
157
- oRm.openEnd();
158
157
  var aTileContent = oControl.getTileContent();
159
158
  var iLength = aTileContent.length;
159
+ if (this._isNewsContentPresent(aTileContent,iLength)){
160
+ oRm.class("sapMGTNewsContent");
161
+ }
162
+ oRm.openEnd();
160
163
  var isFooterPresent = false;
161
164
  var isContentPresent = false;
162
165
  function renderLoadingShimmerIconMode(oRm, bIsLoading) {
@@ -426,9 +429,6 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
426
429
  }
427
430
  if (oControl.getSystemInfo()) {
428
431
  oRm.openStart("div", oControl.getId() + "-sytemInfoWrapper");
429
- if (oControl.getAppShortcut() && oControl.getSystemInfo()){
430
- oRm.class("sapMGTMarginTop4px");
431
- }
432
432
  oRm.class("sapMGTSystemInfoText").openEnd();
433
433
  oRm.renderControl(oControl._oSystemInfo);
434
434
  oRm.close("div");
@@ -562,6 +562,18 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
562
562
  return /(hcw|hcb)/g.test(sap.ui.getCore().getConfiguration().getTheme());
563
563
  };
564
564
 
565
+ GenericTileRenderer._isNewsContentPresent = function(aTileContent,iLength) {
566
+ var bIsPresent = false;
567
+ for (var i = 0; i < iLength; i++) {
568
+ var oAggregationContent = aTileContent[i].getContent();
569
+ if (oAggregationContent && oAggregationContent.isA("sap.m.NewsContent")) {
570
+ bIsPresent = true;
571
+ break;
572
+ }
573
+ }
574
+ return bIsPresent;
575
+ };
576
+
565
577
  return GenericTileRenderer;
566
578
 
567
579
  }, /* bExport= */true);
@@ -30,7 +30,7 @@ sap.ui.define(["sap/ui/core/library", "./library", "./ListItemBase", "./GroupHea
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.103.0
33
+ * @version 1.105.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -162,9 +162,13 @@ sap.ui.define([
162
162
  },
163
163
 
164
164
  // reset paging on rebind
165
- reset : function() {
165
+ reset : function(bPageSizeOnly) {
166
166
  this._iLimit = 0;
167
167
 
168
+ if (bPageSizeOnly) {
169
+ return;
170
+ }
171
+
168
172
  // if factory function is used we do not activate the replace option of the extended change detection
169
173
  var oBindingInfo = this._oControl.getBindingInfo("items");
170
174
  this._oControl.oExtendedChangeDetectionConfig = (!oBindingInfo || !oBindingInfo.template) ? null : {replace: true};
@@ -276,7 +280,16 @@ sap.ui.define([
276
280
  '<div class="sapUiInvisibleText" id="' + sTriggerID + 'Message"></div>' +
277
281
  '</div>'
278
282
  })
279
- }).setParent(this._oControl, null, true).attachPress(this.requestNewPage, this).addDelegate({
283
+ });
284
+
285
+ // stop the eventing between item and the list
286
+ this._oTrigger.getList = function() {};
287
+ // defines the tag name
288
+ this._oTrigger.TagName = "div";
289
+ // trigger should not be mapped to groupHeader when setParent is called, hence overwrite this method
290
+ this._oTrigger.setGroupedItem = function() {};
291
+
292
+ this._oTrigger.setParent(this._oControl, null, true).attachPress(this.requestNewPage, this).addDelegate({
280
293
  onsapenter : function(oEvent) {
281
294
  this.requestNewPage();
282
295
  oEvent.preventDefault();
@@ -290,6 +303,10 @@ sap.ui.define([
290
303
  // aria-selected is added as the CustomListItem type="Active"
291
304
  // aria-selected should be removed as it is not allowed with role="button"
292
305
  $oTrigger.removeAttr("aria-selected");
306
+ // aria-roledescription not required for growing trigger
307
+ $oTrigger.removeAttr("aria-roledescription");
308
+ // aria-posinset & aria-setsize removed as it is not allowed with role="button"
309
+ $oTrigger.removeAttr("aria-posinset").removeAttr("aria-setsize");
293
310
  $oTrigger.attr({
294
311
  "tabindex": 0,
295
312
  "role": "button",
@@ -299,11 +316,6 @@ sap.ui.define([
299
316
  }
300
317
  }, this);
301
318
 
302
- // stop the eventing between item and the list
303
- this._oTrigger.getList = function() {};
304
- // defines the tag name
305
- this._oTrigger.TagName = "div";
306
-
307
319
  return this._oTrigger;
308
320
  },
309
321
 
@@ -377,19 +389,30 @@ sap.ui.define([
377
389
 
378
390
  if (oLastItem && oLastItem.isGroupHeader()) {
379
391
  oControl.removeAggregation("items", oLastItem, true);
392
+ oControl.setLastGroupHeader(oLastItem);
380
393
  this._fnAppendGroupItem = this.appendGroupItem.bind(this, oGroupInfo, oLastItem, bSuppressInvalidate);
381
394
  oLastItem = aItems[aItems.length - 1];
382
395
  }
383
396
 
384
397
  if (!oLastItem || oGroupInfo.key !== oBinding.getGroup(oLastItem.getBindingContext(sModelName)).key) {
385
- var oGroupHeader = (oBindingInfo.groupHeaderFactory) ? oBindingInfo.groupHeaderFactory(oGroupInfo) : null;
398
+ // get the groupHeader control groupHeaderFactory or create an sap.m.GroupHeaderListItem instance with the oGroupInfo
399
+ // required for setLastGroupHeader to correctly set the _oLastGroupHeader. The created groupHeader is later reused
400
+ var oGroupHeader = oBindingInfo.groupHeaderFactory ? oBindingInfo.groupHeaderFactory(oGroupInfo) : oControl.getGroupHeaderTemplate(oGroupInfo);
401
+
386
402
  if (oControl.getGrowingDirection() == ListGrowingDirection.Upwards) {
387
403
  this.applyPendingGroupItem();
404
+ oControl.setLastGroupHeader(oGroupHeader);
388
405
  this._fnAppendGroupItem = this.appendGroupItem.bind(this, oGroupInfo, oGroupHeader, bSuppressInvalidate);
389
406
  } else {
390
407
  this.appendGroupItem(oGroupInfo, oGroupHeader, bSuppressInvalidate);
391
408
  }
392
409
  }
410
+
411
+ var oLastGroupHeader = oControl.getLastGroupHeader();
412
+ if (oLastGroupHeader) {
413
+ // required to update the group header aria-owns attribute
414
+ oLastGroupHeader.invalidate();
415
+ }
393
416
  }
394
417
 
395
418
  oControl.addAggregation("items", oItem, bSuppressInvalidate);
@@ -537,8 +560,11 @@ sap.ui.define([
537
560
 
538
561
  // destroy a single list item
539
562
  deleteListItem : function(iIndex) {
540
- this._oControl.getItems(true)[iIndex].destroy(true);
541
- this._iRenderedDataItems--;
563
+ var oItem = this._oControl.getItems(true)[iIndex];
564
+ if (oItem) {
565
+ this._oControl.getItems(true)[iIndex].destroy(true);
566
+ this._iRenderedDataItems--;
567
+ }
542
568
  },
543
569
 
544
570
  /**
@@ -630,7 +656,7 @@ sap.ui.define([
630
656
  if (!aContexts.length) {
631
657
  // no context, destroy list items
632
658
  this.destroyListItems();
633
- } else if (!oControl.getItemsContainerDomRef()) {
659
+ } else if (!aItems.length && !oControl.getItemsContainerDomRef()) {
634
660
  // no dom ref for compatibility reason start from scratch
635
661
  this.rebuildListItems(aContexts, oBindingInfo);
636
662
  } else if (!aDiff || !aItems.length && aDiff.length) {
@@ -22,7 +22,7 @@ sap.ui.define(['./List', './library', './GrowingListRenderer'],
22
22
  * @extends sap.m.List
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.103.0
25
+ * @version 1.105.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
package/src/sap/m/HBox.js CHANGED
@@ -25,7 +25,7 @@ sap.ui.define(['./FlexBox', './library', './HBoxRenderer'],
25
25
  * @extends sap.m.FlexBox
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.103.0
28
+ * @version 1.105.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -125,7 +125,7 @@ sap.ui.define([
125
125
  * @since 1.44.0
126
126
  *
127
127
  * @author SAP SE
128
- * @version 1.103.0
128
+ * @version 1.105.0
129
129
  *
130
130
  * @public
131
131
  * @alias sap.m.HeaderContainer
@@ -315,11 +315,11 @@ sap.ui.define([
315
315
  if (!this._isMobileView()) {
316
316
  this._oArrowPrev = new Icon({
317
317
  id: this.getId() + "-scrl-prev-button"
318
- }).addStyleClass("sapMHdrCntrBtn").addStyleClass("sapMHdrCntrLeft");
318
+ }).addStyleClass("sapMHdrCntrBtn").addStyleClass("sapMHdrCntrLeft").addStyleClass("sapMHdrCntrBtnIcon");
319
319
  this.setAggregation("_prevButton", this._oArrowPrev, true);
320
320
  this._oArrowNext = new Icon({
321
321
  id: this.getId() + "-scrl-next-button"
322
- }).addStyleClass("sapMHdrCntrBtn").addStyleClass("sapMHdrCntrRight");
322
+ }).addStyleClass("sapMHdrCntrBtn").addStyleClass("sapMHdrCntrRight").addStyleClass("sapMHdrCntrBtnIcon");
323
323
  this.setAggregation("_nextButton", this._oArrowNext, true);
324
324
  }
325
325
  }
@@ -5,11 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/core/delegate/ItemNavigation",
9
- "sap/base/assert",
10
- "sap/ui/dom/containsOrEquals",
11
- "sap/ui/events/KeyCodes"
12
- ], function (ItemNavigation, assert, containsOrEquals, KeyCodes) {
8
+ "sap/ui/core/delegate/ItemNavigation"
9
+ ], function (ItemNavigation) {
13
10
  "use strict";
14
11
 
15
12
  /**
@@ -19,7 +16,7 @@ sap.ui.define([
19
16
  * @since 1.67.0
20
17
  *
21
18
  * @author SAP SE
22
- * @version 1.103.0
19
+ * @version 1.105.0
23
20
  *
24
21
  * @constructor
25
22
  * @alias sap.m.HeaderContainerItemNavigator
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * @implements sap.m.ObjectHeaderContainer, sap.f.IDynamicPageStickyContent
95
95
  *
96
96
  * @author SAP SE
97
- * @version 1.103.0
97
+ * @version 1.105.0
98
98
  *
99
99
  * @public
100
100
  * @alias sap.m.IconTabBar
@@ -375,10 +375,14 @@ sap.ui.define([
375
375
  * @return {this} this IconTabBar reference for chaining.
376
376
  */
377
377
  IconTabBar.prototype.setHeaderMode = function (mode) {
378
+ var oIconTabHeader = this._getIconTabHeader();
379
+
378
380
  // set internal property
379
381
  this.setProperty("headerMode", mode, true);
380
382
 
381
- this._getIconTabHeader().setMode(mode);
383
+ if (oIconTabHeader) {
384
+ oIconTabHeader.setMode(mode);
385
+ }
382
386
 
383
387
  return this;
384
388
  };
@@ -391,10 +395,14 @@ sap.ui.define([
391
395
  * @return {this} this IconTabBar reference for chaining.
392
396
  */
393
397
  IconTabBar.prototype.setTabDensityMode = function (mode) {
398
+ var oIconTabHeader = this._getIconTabHeader();
399
+
394
400
  // set internal property
395
401
  this.setProperty("tabDensityMode", mode);
396
402
 
397
- this._getIconTabHeader().setTabDensityMode(mode);
403
+ if (oIconTabHeader) {
404
+ oIconTabHeader.setTabDensityMode(mode);
405
+ }
398
406
 
399
407
  return this;
400
408
  };
@@ -408,10 +416,14 @@ sap.ui.define([
408
416
  * @return {this} this IconTabBar reference for chaining.
409
417
  */
410
418
  IconTabBar.prototype.setHeaderBackgroundDesign = function (headerBackgroundDesign) {
419
+ var oIconTabHeader = this._getIconTabHeader();
420
+
411
421
  // set internal property
412
422
  this.setProperty("headerBackgroundDesign", headerBackgroundDesign, true);
413
423
 
414
- this._getIconTabHeader().setBackgroundDesign(headerBackgroundDesign);
424
+ if (oIconTabHeader) {
425
+ oIconTabHeader.setBackgroundDesign(headerBackgroundDesign);
426
+ }
415
427
 
416
428
  return this;
417
429
  };
@@ -424,10 +436,14 @@ sap.ui.define([
424
436
  * @return {this} this IconTabBar reference for chaining.
425
437
  */
426
438
  IconTabBar.prototype.setEnableTabReordering = function (value) {
439
+ var oIconTabHeader = this._getIconTabHeader();
440
+
427
441
  // set internal property
428
442
  this.setProperty("enableTabReordering", value, true);
429
443
 
430
- this._getIconTabHeader().setEnableTabReordering(value);
444
+ if (oIconTabHeader) {
445
+ oIconTabHeader.setEnableTabReordering(value);
446
+ }
431
447
 
432
448
  return this;
433
449
  };
@@ -440,10 +456,14 @@ sap.ui.define([
440
456
  * @returns {this} this Reference to this in order to allow method chaining
441
457
  */
442
458
  IconTabBar.prototype.setAriaTexts = function (oAriaTexts) {
459
+ var oIconTabHeader = this._getIconTabHeader();
460
+
443
461
  // set internal property
444
462
  this.setProperty("ariaTexts", oAriaTexts, true);
445
463
 
446
- this._getIconTabHeader().setAriaTexts(oAriaTexts);
464
+ if (oIconTabHeader) {
465
+ oIconTabHeader.setAriaTexts(oAriaTexts);
466
+ }
447
467
 
448
468
  return this;
449
469
  };
@@ -451,7 +471,7 @@ sap.ui.define([
451
471
  IconTabBar.prototype.addStyleClass = function (sClass, bSuppressRerendering) {
452
472
  var oIconTabHeader = this._getIconTabHeader();
453
473
 
454
- if (IconTabBar._CLASSES_TO_COPY.indexOf(sClass) !== -1) {
474
+ if (oIconTabHeader && IconTabBar._CLASSES_TO_COPY.indexOf(sClass) !== -1) {
455
475
  oIconTabHeader.addStyleClass(sClass, true);
456
476
  }
457
477
 
@@ -461,7 +481,7 @@ sap.ui.define([
461
481
  IconTabBar.prototype.removeStyleClass = function (sClass, bSuppressRerendering) {
462
482
  var oIconTabHeader = this._getIconTabHeader();
463
483
 
464
- if (IconTabBar._CLASSES_TO_COPY.indexOf(sClass) !== -1) {
484
+ if (oIconTabHeader && IconTabBar._CLASSES_TO_COPY.indexOf(sClass) !== -1) {
465
485
  oIconTabHeader.removeStyleClass(sClass, true);
466
486
  }
467
487
 
@@ -589,9 +609,13 @@ sap.ui.define([
589
609
  * Lazy initializes the iconTabHeader aggregation.
590
610
  *
591
611
  * @private
592
- * @returns {sap.m.IconTabBar} Aggregation for the IconTabBar.
612
+ * @returns {sap.m.IconTabBar|null} Aggregation for the IconTabBar.
593
613
  */
594
614
  IconTabBar.prototype._getIconTabHeader = function () {
615
+ if (this.isDestroyed()) {
616
+ return null;
617
+ }
618
+
595
619
  var oControl = this.getAggregation("_header");
596
620
 
597
621
  if (!oControl) {
@@ -647,18 +671,15 @@ sap.ui.define([
647
671
  * @returns {this} this IconTabBar reference for chaining.
648
672
  */
649
673
  IconTabBar.prototype.setShowSelection = function (bValue) {
650
- this._getIconTabHeader().setShowSelection(bValue);
651
- return this;
652
- };
674
+ var oIconTabHeader = this._getIconTabHeader();
653
675
 
654
- /**
655
- * Reflector for the internal header's showSelection property.
656
- *
657
- * @public
658
- * @returns {boolean} The current property value.
659
- */
660
- IconTabBar.prototype.getShowSelection = function () {
661
- return this._getIconTabHeader().getShowSelection();
676
+ if (oIconTabHeader) {
677
+ oIconTabHeader.setShowSelection(bValue);
678
+ }
679
+
680
+ this.setProperty("showSelection", bValue, true);
681
+
682
+ return this;
662
683
  };
663
684
 
664
685
  /**
@@ -669,7 +690,12 @@ sap.ui.define([
669
690
  * @returns {this} this Pointer for chaining.
670
691
  */
671
692
  IconTabBar.prototype.setSelectedKey = function (sValue) {
672
- this._getIconTabHeader().setSelectedKey(sValue);
693
+ var oIconTabHeader = this._getIconTabHeader();
694
+
695
+ if (oIconTabHeader) {
696
+ oIconTabHeader.setSelectedKey(sValue);
697
+ }
698
+
673
699
  return this;
674
700
  };
675
701
 
@@ -680,7 +706,13 @@ sap.ui.define([
680
706
  * @returns {string} The current property value.
681
707
  */
682
708
  IconTabBar.prototype.getSelectedKey = function () {
683
- return this._getIconTabHeader().getSelectedKey();
709
+ var oIconTabHeader = this._getIconTabHeader();
710
+
711
+ if (oIconTabHeader) {
712
+ return oIconTabHeader.getSelectedKey();
713
+ }
714
+
715
+ return this.getMetadata().getProperty("selectedKey").getDefaultValue();
684
716
  };
685
717
 
686
718
  /**
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @extends sap.ui.core.Control
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.103.0
41
+ * @version 1.105.0
42
42
  *
43
43
  * @constructor
44
44
  * @private
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * @implements sap.m.IconTab
95
95
  *
96
96
  * @author SAP SE
97
- * @version 1.103.0
97
+ * @version 1.105.0
98
98
  *
99
99
  * @constructor
100
100
  * @public
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.103.0
34
+ * @version 1.105.0
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  * @extends sap.ui.core.Control
78
78
  *
79
79
  * @author SAP SE
80
- * @version 1.103.0
80
+ * @version 1.105.0
81
81
  *
82
82
  * @constructor
83
83
  * @public
@@ -484,6 +484,10 @@ sap.ui.define([
484
484
  */
485
485
  IconTabHeader.prototype.setSelectedKey = function (sKey) {
486
486
  if (sKey === this.getSelectedKey()) {
487
+ if (this._isInsideIconTabBar()) {
488
+ this.getParent().setProperty("selectedKey", sKey, true);
489
+ }
490
+
487
491
  return this;
488
492
  }
489
493
 
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @implements sap.m.IconTab
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.103.0
39
+ * @version 1.105.0
40
40
  *
41
41
  * @constructor
42
42
  * @public