@openui5/sap.m 1.99.1 → 1.102.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 (517) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionListItemRenderer.js +5 -7
  8. package/src/sap/m/ActionSelect.js +1 -1
  9. package/src/sap/m/ActionSheet.js +11 -4
  10. package/src/sap/m/App.js +1 -1
  11. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  12. package/src/sap/m/Avatar.js +1 -1
  13. package/src/sap/m/BadgeEnabler.js +3 -2
  14. package/src/sap/m/Bar.js +12 -21
  15. package/src/sap/m/Breadcrumbs.js +83 -10
  16. package/src/sap/m/BreadcrumbsRenderer.js +3 -7
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +2 -2
  20. package/src/sap/m/Carousel.js +4 -1
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CarouselRenderer.js +4 -2
  23. package/src/sap/m/CheckBox.js +2 -4
  24. package/src/sap/m/ColorPalette.js +13 -1
  25. package/src/sap/m/ColorPalettePopover.js +1 -1
  26. package/src/sap/m/Column.js +10 -1
  27. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  28. package/src/sap/m/ColumnListItem.js +1 -1
  29. package/src/sap/m/ColumnListItemRenderer.js +10 -11
  30. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverItem.js +1 -1
  33. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  34. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  35. package/src/sap/m/ComboBox.js +23 -2
  36. package/src/sap/m/ComboBoxBase.js +4 -2
  37. package/src/sap/m/ComboBoxTextField.js +1 -1
  38. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  39. package/src/sap/m/CustomListItem.js +1 -1
  40. package/src/sap/m/CustomListItemRenderer.js +4 -6
  41. package/src/sap/m/CustomTile.js +1 -1
  42. package/src/sap/m/CustomTileRenderer.js +1 -1
  43. package/src/sap/m/CustomTreeItem.js +1 -1
  44. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  45. package/src/sap/m/DatePicker.js +52 -9
  46. package/src/sap/m/DatePickerRenderer.js +0 -1
  47. package/src/sap/m/DateRangeSelection.js +42 -4
  48. package/src/sap/m/DateTimeField.js +8 -5
  49. package/src/sap/m/DateTimeInput.js +1 -1
  50. package/src/sap/m/DateTimePicker.js +97 -66
  51. package/src/sap/m/DateTimePickerRenderer.js +21 -4
  52. package/src/sap/m/Dialog.js +20 -7
  53. package/src/sap/m/DialogRenderer.js +1 -1
  54. package/src/sap/m/DisplayListItem.js +1 -1
  55. package/src/sap/m/DisplayListItemRenderer.js +4 -6
  56. package/src/sap/m/DraftIndicator.js +1 -1
  57. package/src/sap/m/DynamicDate.js +1 -1
  58. package/src/sap/m/DynamicDateFormat.js +13 -6
  59. package/src/sap/m/DynamicDateOption.js +12 -2
  60. package/src/sap/m/DynamicDateRange.js +129 -21
  61. package/src/sap/m/DynamicDateUtil.js +1 -2
  62. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  63. package/src/sap/m/ExpandableText.js +1 -1
  64. package/src/sap/m/FacetFilter.js +8 -1
  65. package/src/sap/m/FacetFilterItem.js +1 -1
  66. package/src/sap/m/FacetFilterList.js +6 -4
  67. package/src/sap/m/FeedContent.js +1 -1
  68. package/src/sap/m/FeedInput.js +2 -2
  69. package/src/sap/m/FeedListItem.js +2 -2
  70. package/src/sap/m/FeedListItemAction.js +1 -1
  71. package/src/sap/m/FeedListItemRenderer.js +10 -5
  72. package/src/sap/m/Fiori20Adapter.js +2 -2
  73. package/src/sap/m/FlexBox.js +1 -1
  74. package/src/sap/m/FlexItemData.js +1 -1
  75. package/src/sap/m/FormattedText.js +1 -1
  76. package/src/sap/m/GenericTag.js +5 -3
  77. package/src/sap/m/GenericTagRenderer.js +13 -5
  78. package/src/sap/m/GenericTile.js +101 -13
  79. package/src/sap/m/GenericTileLineModeRenderer.js +80 -3
  80. package/src/sap/m/GenericTileRenderer.js +108 -48
  81. package/src/sap/m/GroupHeaderListItem.js +1 -1
  82. package/src/sap/m/GrowingEnablement.js +138 -83
  83. package/src/sap/m/GrowingList.js +1 -1
  84. package/src/sap/m/HBox.js +1 -1
  85. package/src/sap/m/HeaderContainer.js +29 -13
  86. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  87. package/src/sap/m/HyphenationSupport.js +0 -4
  88. package/src/sap/m/IconTabBar.js +3 -3
  89. package/src/sap/m/IconTabBarDragAndDropUtil.js +3 -2
  90. package/src/sap/m/IconTabBarSelectList.js +3 -5
  91. package/src/sap/m/IconTabFilter.js +1 -1
  92. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  93. package/src/sap/m/IconTabHeader.js +7 -11
  94. package/src/sap/m/IconTabSeparator.js +1 -1
  95. package/src/sap/m/IllustratedMessage.js +19 -1
  96. package/src/sap/m/Illustration.js +1 -1
  97. package/src/sap/m/Image.js +1 -1
  98. package/src/sap/m/ImageContent.js +1 -1
  99. package/src/sap/m/Input.js +10 -19
  100. package/src/sap/m/InputBase.js +5 -5
  101. package/src/sap/m/InputBaseRenderer.js +1 -2
  102. package/src/sap/m/InputListItem.js +1 -1
  103. package/src/sap/m/InputListItemRenderer.js +4 -6
  104. package/src/sap/m/Label.js +1 -1
  105. package/src/sap/m/LabelRenderer.js +1 -1
  106. package/src/sap/m/LightBox.js +1 -1
  107. package/src/sap/m/LightBoxItem.js +1 -1
  108. package/src/sap/m/Link.js +1 -1
  109. package/src/sap/m/List.js +1 -1
  110. package/src/sap/m/ListBase.js +52 -20
  111. package/src/sap/m/ListBaseRenderer.js +23 -9
  112. package/src/sap/m/ListItemBase.js +7 -5
  113. package/src/sap/m/MaskEnabler.js +1 -1
  114. package/src/sap/m/MaskInput.js +1 -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 +5 -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 +1 -1
  122. package/src/sap/m/MessageListItem.js +1 -1
  123. package/src/sap/m/MessagePage.js +1 -1
  124. package/src/sap/m/MessagePopover.js +18 -36
  125. package/src/sap/m/MessagePopoverItem.js +1 -1
  126. package/src/sap/m/MessageStrip.js +2 -2
  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 +4 -2
  130. package/src/sap/m/MultiEditField.js +1 -1
  131. package/src/sap/m/MultiInput.js +12 -7
  132. package/src/sap/m/NavContainer.js +53 -53
  133. package/src/sap/m/NewsContent.js +1 -1
  134. package/src/sap/m/NotificationList.js +1 -1
  135. package/src/sap/m/NotificationListBase.js +175 -79
  136. package/src/sap/m/NotificationListGroup.js +1 -2
  137. package/src/sap/m/NotificationListGroupRenderer.js +4 -16
  138. package/src/sap/m/NotificationListItem.js +5 -16
  139. package/src/sap/m/NotificationListItemRenderer.js +0 -1
  140. package/src/sap/m/NumericContent.js +29 -21
  141. package/src/sap/m/NumericInput.js +3 -2
  142. package/src/sap/m/NumericInputRenderer.js +13 -1
  143. package/src/sap/m/ObjectAttribute.js +4 -5
  144. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  145. package/src/sap/m/ObjectHeader.js +1 -1
  146. package/src/sap/m/ObjectIdentifier.js +3 -3
  147. package/src/sap/m/ObjectListItem.js +1 -1
  148. package/src/sap/m/ObjectMarker.js +34 -10
  149. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  150. package/src/sap/m/ObjectNumber.js +1 -1
  151. package/src/sap/m/ObjectStatus.js +1 -1
  152. package/src/sap/m/ObjectStatusRenderer.js +3 -4
  153. package/src/sap/m/OverflowToolbar.js +21 -1
  154. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  155. package/src/sap/m/OverflowToolbarButton.js +1 -1
  156. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  157. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  158. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  159. package/src/sap/m/P13nColumnsItem.js +1 -1
  160. package/src/sap/m/P13nColumnsPanel.js +1 -1
  161. package/src/sap/m/P13nConditionPanel.js +9 -12
  162. package/src/sap/m/P13nDialog.js +1 -1
  163. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  164. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  165. package/src/sap/m/P13nFilterItem.js +1 -1
  166. package/src/sap/m/P13nFilterPanel.js +1 -1
  167. package/src/sap/m/P13nGroupItem.js +1 -1
  168. package/src/sap/m/P13nGroupPanel.js +1 -1
  169. package/src/sap/m/P13nItem.js +1 -1
  170. package/src/sap/m/P13nPanel.js +1 -1
  171. package/src/sap/m/P13nSelectionItem.js +1 -1
  172. package/src/sap/m/P13nSelectionPanel.js +1 -1
  173. package/src/sap/m/P13nSortItem.js +1 -1
  174. package/src/sap/m/P13nSortPanel.js +1 -1
  175. package/src/sap/m/PDFViewer.js +3 -3
  176. package/src/sap/m/PDFViewerRenderer.js +15 -7
  177. package/src/sap/m/Page.js +4 -4
  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 +15 -15
  182. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  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 +15 -10
  187. package/src/sap/m/ProgressIndicator.js +1 -1
  188. package/src/sap/m/PullToRefresh.js +1 -1
  189. package/src/sap/m/QuickView.js +1 -1
  190. package/src/sap/m/QuickViewBase.js +1 -1
  191. package/src/sap/m/QuickViewCard.js +1 -1
  192. package/src/sap/m/QuickViewGroup.js +1 -1
  193. package/src/sap/m/QuickViewGroupElement.js +1 -1
  194. package/src/sap/m/QuickViewPage.js +5 -2
  195. package/src/sap/m/RadioButton.js +2 -2
  196. package/src/sap/m/RadioButtonGroup.js +14 -2
  197. package/src/sap/m/RadioButtonRenderer.js +0 -1
  198. package/src/sap/m/RangeSlider.js +19 -4
  199. package/src/sap/m/RatingIndicator.js +2 -2
  200. package/src/sap/m/ResponsivePopover.js +3 -5
  201. package/src/sap/m/ResponsiveScale.js +1 -1
  202. package/src/sap/m/ScrollBar.js +2 -2
  203. package/src/sap/m/ScrollContainer.js +1 -1
  204. package/src/sap/m/SearchField.js +1 -1
  205. package/src/sap/m/SegmentedButton.js +17 -9
  206. package/src/sap/m/SegmentedButtonItem.js +1 -1
  207. package/src/sap/m/SegmentedButtonRenderer.js +1 -1
  208. package/src/sap/m/Select.js +53 -4
  209. package/src/sap/m/SelectDialog.js +16 -20
  210. package/src/sap/m/SelectDialogBase.js +1 -1
  211. package/src/sap/m/SelectList.js +1 -1
  212. package/src/sap/m/SelectionDetails.js +3 -5
  213. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  214. package/src/sap/m/SelectionDetailsItem.js +1 -1
  215. package/src/sap/m/SelectionDetailsItemLine.js +3 -3
  216. package/src/sap/m/Shell.js +1 -1
  217. package/src/sap/m/SimpleFixFlex.js +1 -1
  218. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  219. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  220. package/src/sap/m/SinglePlanningCalendarGrid.js +94 -52
  221. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  222. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +24 -10
  223. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  224. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  225. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  227. package/src/sap/m/SlideTile.js +2 -2
  228. package/src/sap/m/SlideTileRenderer.js +8 -1
  229. package/src/sap/m/Slider.js +1 -1
  230. package/src/sap/m/SliderTooltip.js +1 -1
  231. package/src/sap/m/SliderTooltipBase.js +1 -1
  232. package/src/sap/m/SliderTooltipContainer.js +5 -1
  233. package/src/sap/m/SplitApp.js +1 -1
  234. package/src/sap/m/SplitButton.js +1 -1
  235. package/src/sap/m/SplitContainer.js +4 -4
  236. package/src/sap/m/StandardDynamicDateOption.js +41 -18
  237. package/src/sap/m/StandardListItem.js +3 -3
  238. package/src/sap/m/StandardListItemRenderer.js +1 -1
  239. package/src/sap/m/StandardTile.js +1 -1
  240. package/src/sap/m/StandardTreeItem.js +1 -1
  241. package/src/sap/m/StepInput.js +4 -4
  242. package/src/sap/m/SuggestionItem.js +1 -1
  243. package/src/sap/m/SuggestionsPopover.js +6 -14
  244. package/src/sap/m/Switch.js +1 -1
  245. package/src/sap/m/TabContainer.js +1 -1
  246. package/src/sap/m/TabContainerItem.js +1 -1
  247. package/src/sap/m/TabStrip.js +6 -4
  248. package/src/sap/m/TabStripItem.js +1 -1
  249. package/src/sap/m/TabStripRenderer.js +2 -2
  250. package/src/sap/m/Table.js +34 -3
  251. package/src/sap/m/TablePersoController.js +1 -1
  252. package/src/sap/m/TablePersoDialog.js +1 -1
  253. package/src/sap/m/TablePersoProvider.js +1 -1
  254. package/src/sap/m/TableRenderer.js +9 -4
  255. package/src/sap/m/TableSelectDialog.js +15 -11
  256. package/src/sap/m/Text.js +1 -1
  257. package/src/sap/m/TextArea.js +1 -1
  258. package/src/sap/m/Tile.js +3 -3
  259. package/src/sap/m/TileContainer.js +6 -4
  260. package/src/sap/m/TileContent.js +34 -2
  261. package/src/sap/m/TileContentRenderer.js +44 -8
  262. package/src/sap/m/TileRenderer.js +1 -1
  263. package/src/sap/m/TimePicker.js +53 -61
  264. package/src/sap/m/TimePickerClock.js +1 -1
  265. package/src/sap/m/TimePickerClocks.js +1 -1
  266. package/src/sap/m/TimePickerInputs.js +1 -1
  267. package/src/sap/m/TimePickerInternals.js +2 -2
  268. package/src/sap/m/TimePickerRenderer.js +2 -4
  269. package/src/sap/m/TimePickerSlider.js +1 -1
  270. package/src/sap/m/TimePickerSliders.js +1 -1
  271. package/src/sap/m/Title.js +1 -1
  272. package/src/sap/m/TitlePropagationSupport.js +1 -1
  273. package/src/sap/m/TitleRenderer.js +2 -2
  274. package/src/sap/m/ToggleButton.js +1 -1
  275. package/src/sap/m/Token.js +1 -1
  276. package/src/sap/m/Tokenizer.js +19 -7
  277. package/src/sap/m/TokenizerRenderer.js +1 -1
  278. package/src/sap/m/Toolbar.js +7 -1
  279. package/src/sap/m/ToolbarLayoutData.js +1 -1
  280. package/src/sap/m/ToolbarSeparator.js +5 -3
  281. package/src/sap/m/ToolbarSpacer.js +1 -1
  282. package/src/sap/m/Tree.js +1 -1
  283. package/src/sap/m/TreeItemBase.js +1 -1
  284. package/src/sap/m/UploadCollection.js +5 -3
  285. package/src/sap/m/UploadCollectionItem.js +2 -1
  286. package/src/sap/m/UploadCollectionParameter.js +2 -1
  287. package/src/sap/m/UploadCollectionRenderer.js +1 -0
  288. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
  289. package/src/sap/m/VBox.js +1 -1
  290. package/src/sap/m/ValueStateHeader.js +1 -1
  291. package/src/sap/m/VariantManagement.js +2492 -0
  292. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  293. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  294. package/src/sap/m/ViewSettingsDialog.js +106 -49
  295. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  296. package/src/sap/m/ViewSettingsItem.js +1 -1
  297. package/src/sap/m/VisibleItem.js +2 -2
  298. package/src/sap/m/WheelSlider.js +1 -1
  299. package/src/sap/m/WheelSliderContainer.js +1 -1
  300. package/src/sap/m/Wizard.js +22 -4
  301. package/src/sap/m/WizardProgressNavigator.js +10 -3
  302. package/src/sap/m/WizardStep.js +1 -1
  303. package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
  304. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  305. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  306. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  307. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  308. package/src/sap/m/changeHandler/SplitMenuButton.js +5 -5
  309. package/src/sap/m/delegate/DateNavigation.js +2 -2
  310. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  311. package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
  312. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  313. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  314. package/src/sap/m/inputUtils/highlightDOMElements.js +4 -3
  315. package/src/sap/m/inputUtils/typeAhead.js +7 -7
  316. package/src/sap/m/library.js +38 -31
  317. package/src/sap/m/messagebundle.properties +177 -24
  318. package/src/sap/m/messagebundle_ar.properties +116 -18
  319. package/src/sap/m/messagebundle_bg.properties +116 -18
  320. package/src/sap/m/messagebundle_ca.properties +116 -18
  321. package/src/sap/m/messagebundle_cs.properties +118 -20
  322. package/src/sap/m/messagebundle_cy.properties +116 -18
  323. package/src/sap/m/messagebundle_da.properties +116 -18
  324. package/src/sap/m/messagebundle_de.properties +117 -19
  325. package/src/sap/m/messagebundle_el.properties +119 -21
  326. package/src/sap/m/messagebundle_en.properties +115 -17
  327. package/src/sap/m/messagebundle_en_GB.properties +115 -17
  328. package/src/sap/m/messagebundle_en_US_sappsd.properties +115 -17
  329. package/src/sap/m/messagebundle_en_US_saprigi.properties +115 -17
  330. package/src/sap/m/messagebundle_en_US_saptrc.properties +115 -17
  331. package/src/sap/m/messagebundle_es.properties +116 -18
  332. package/src/sap/m/messagebundle_es_MX.properties +116 -18
  333. package/src/sap/m/messagebundle_et.properties +116 -18
  334. package/src/sap/m/messagebundle_fi.properties +115 -17
  335. package/src/sap/m/messagebundle_fr.properties +119 -21
  336. package/src/sap/m/messagebundle_fr_CA.properties +115 -17
  337. package/src/sap/m/messagebundle_hi.properties +114 -16
  338. package/src/sap/m/messagebundle_hr.properties +116 -18
  339. package/src/sap/m/messagebundle_hu.properties +116 -18
  340. package/src/sap/m/messagebundle_id.properties +115 -17
  341. package/src/sap/m/messagebundle_it.properties +124 -26
  342. package/src/sap/m/messagebundle_iw.properties +116 -18
  343. package/src/sap/m/messagebundle_ja.properties +115 -17
  344. package/src/sap/m/messagebundle_kk.properties +116 -18
  345. package/src/sap/m/messagebundle_ko.properties +116 -18
  346. package/src/sap/m/messagebundle_lt.properties +116 -18
  347. package/src/sap/m/messagebundle_lv.properties +115 -17
  348. package/src/sap/m/messagebundle_ms.properties +115 -17
  349. package/src/sap/m/messagebundle_nl.properties +115 -17
  350. package/src/sap/m/messagebundle_no.properties +116 -18
  351. package/src/sap/m/messagebundle_pl.properties +116 -18
  352. package/src/sap/m/messagebundle_pt.properties +125 -27
  353. package/src/sap/m/messagebundle_pt_PT.properties +116 -18
  354. package/src/sap/m/messagebundle_ro.properties +116 -18
  355. package/src/sap/m/messagebundle_ru.properties +116 -18
  356. package/src/sap/m/messagebundle_sh.properties +116 -18
  357. package/src/sap/m/messagebundle_sk.properties +116 -18
  358. package/src/sap/m/messagebundle_sl.properties +116 -18
  359. package/src/sap/m/messagebundle_sv.properties +117 -19
  360. package/src/sap/m/messagebundle_th.properties +115 -17
  361. package/src/sap/m/messagebundle_tr.properties +116 -18
  362. package/src/sap/m/messagebundle_uk.properties +116 -18
  363. package/src/sap/m/messagebundle_vi.properties +115 -17
  364. package/src/sap/m/messagebundle_zh_CN.properties +116 -18
  365. package/src/sap/m/messagebundle_zh_TW.properties +115 -17
  366. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  367. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  368. package/src/sap/m/p13n/BasePanel.js +34 -15
  369. package/src/sap/m/p13n/Container.js +11 -4
  370. package/src/sap/m/p13n/GroupPanel.js +17 -5
  371. package/src/sap/m/p13n/Popup.js +9 -2
  372. package/src/sap/m/p13n/QueryPanel.js +89 -35
  373. package/src/sap/m/p13n/SelectionPanel.js +42 -9
  374. package/src/sap/m/p13n/SortPanel.js +27 -13
  375. package/src/sap/m/plugins/ColumnResizer.js +48 -13
  376. package/src/sap/m/plugins/DataStateIndicator.js +3 -2
  377. package/src/sap/m/plugins/PasteProvider.js +1 -1
  378. package/src/sap/m/plugins/PluginBase.js +1 -1
  379. package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
  380. package/src/sap/m/rules/CheckBox.support.js +1 -1
  381. package/src/sap/m/rules/Image.support.js +1 -1
  382. package/src/sap/m/rules/Link.support.js +1 -1
  383. package/src/sap/m/rules/MessagePage.support.js +1 -1
  384. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  385. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  386. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  387. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  388. package/src/sap/m/rules/Select.support.js +1 -1
  389. package/src/sap/m/rules/Table.support.js +3 -3
  390. package/src/sap/m/rules/Tokenizer.support.js +4 -2
  391. package/src/sap/m/semantic/AddAction.js +1 -1
  392. package/src/sap/m/semantic/CancelAction.js +1 -1
  393. package/src/sap/m/semantic/DeleteAction.js +1 -1
  394. package/src/sap/m/semantic/DetailPage.js +1 -1
  395. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  396. package/src/sap/m/semantic/EditAction.js +1 -1
  397. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  398. package/src/sap/m/semantic/FilterAction.js +1 -1
  399. package/src/sap/m/semantic/FilterSelect.js +1 -1
  400. package/src/sap/m/semantic/FlagAction.js +1 -1
  401. package/src/sap/m/semantic/ForwardAction.js +1 -1
  402. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  403. package/src/sap/m/semantic/GroupAction.js +1 -1
  404. package/src/sap/m/semantic/GroupSelect.js +1 -1
  405. package/src/sap/m/semantic/MainAction.js +1 -1
  406. package/src/sap/m/semantic/MasterPage.js +1 -1
  407. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  408. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  409. package/src/sap/m/semantic/NegativeAction.js +1 -1
  410. package/src/sap/m/semantic/OpenInAction.js +1 -1
  411. package/src/sap/m/semantic/PositiveAction.js +1 -1
  412. package/src/sap/m/semantic/PrintAction.js +1 -1
  413. package/src/sap/m/semantic/SaveAction.js +1 -1
  414. package/src/sap/m/semantic/Segment.js +1 -1
  415. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  416. package/src/sap/m/semantic/SemanticButton.js +1 -1
  417. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  418. package/src/sap/m/semantic/SemanticControl.js +1 -1
  419. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  420. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  421. package/src/sap/m/semantic/SemanticPage.js +1 -1
  422. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  423. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  424. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  425. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  426. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  427. package/src/sap/m/semantic/ShareMenu.js +2 -2
  428. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  429. package/src/sap/m/semantic/SortAction.js +1 -1
  430. package/src/sap/m/semantic/SortSelect.js +1 -1
  431. package/src/sap/m/table/Util.js +114 -29
  432. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  433. package/src/sap/m/table/columnmenu/Entry.js +1 -11
  434. package/src/sap/m/table/columnmenu/Item.js +1 -1
  435. package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
  436. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  437. package/src/sap/m/table/columnmenu/Menu.js +228 -35
  438. package/src/sap/m/table/columnmenu/MenuRenderer.js +5 -28
  439. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  440. package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
  441. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  442. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
  443. package/src/sap/m/table/columnmenu/QuickGroup.js +20 -16
  444. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  445. package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
  446. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  447. package/src/sap/m/table/columnmenu/QuickTotal.js +20 -25
  448. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  449. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  450. package/src/sap/m/themes/base/Avatar.less +11 -5
  451. package/src/sap/m/themes/base/Button.less +2 -7
  452. package/src/sap/m/themes/base/Carousel.less +72 -87
  453. package/src/sap/m/themes/base/CheckBox.less +0 -1
  454. package/src/sap/m/themes/base/ColumnListItem.less +0 -3
  455. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  456. package/src/sap/m/themes/base/DatePicker.less +7 -2
  457. package/src/sap/m/themes/base/Dialog.less +10 -6
  458. package/src/sap/m/themes/base/GenericTile.less +672 -170
  459. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  460. package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
  461. package/src/sap/m/themes/base/Input.less +1 -1
  462. package/src/sap/m/themes/base/InputBase.less +114 -11
  463. package/src/sap/m/themes/base/Label.less +4 -1
  464. package/src/sap/m/themes/base/LightBox.less +9 -7
  465. package/src/sap/m/themes/base/Link.less +12 -4
  466. package/src/sap/m/themes/base/ListBase.less +4 -0
  467. package/src/sap/m/themes/base/ListItemBase.less +1 -12
  468. package/src/sap/m/themes/base/MenuButton.less +20 -4
  469. package/src/sap/m/themes/base/MessageBox.less +5 -5
  470. package/src/sap/m/themes/base/MessageToast.less +2 -2
  471. package/src/sap/m/themes/base/MultiInput.less +1 -1
  472. package/src/sap/m/themes/base/NewsContent.less +0 -9
  473. package/src/sap/m/themes/base/NotificationListBase.less +9 -14
  474. package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
  475. package/src/sap/m/themes/base/NotificationListItem.less +14 -18
  476. package/src/sap/m/themes/base/NumericContent.less +1 -5
  477. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  478. package/src/sap/m/themes/base/ObjectListItem.less +3 -0
  479. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  480. package/src/sap/m/themes/base/ObjectStatus.less +8 -0
  481. package/src/sap/m/themes/base/Page.less +1 -1
  482. package/src/sap/m/themes/base/Panel.less +1 -1
  483. package/src/sap/m/themes/base/Popover.less +10 -7
  484. package/src/sap/m/themes/base/QuickView.less +14 -2
  485. package/src/sap/m/themes/base/RadioButton.less +22 -3
  486. package/src/sap/m/themes/base/RatingIndicator.less +4 -0
  487. package/src/sap/m/themes/base/SearchField.less +23 -59
  488. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
  489. package/src/sap/m/themes/base/SlideTile.less +18 -0
  490. package/src/sap/m/themes/base/Slider.less +18 -18
  491. package/src/sap/m/themes/base/SplitButton.less +5 -0
  492. package/src/sap/m/themes/base/StandardListItem.less +5 -9
  493. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  494. package/src/sap/m/themes/base/Table.less +18 -21
  495. package/src/sap/m/themes/base/TextArea.less +32 -0
  496. package/src/sap/m/themes/base/TileContent.less +41 -1
  497. package/src/sap/m/themes/base/Token.less +17 -15
  498. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  499. package/src/sap/m/themes/base/Toolbar.less +1 -1
  500. package/src/sap/m/themes/base/UploadCollection.less +2 -0
  501. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  502. package/src/sap/m/themes/base/VariantManagement.less +97 -0
  503. package/src/sap/m/themes/base/Wizard.less +5 -4
  504. package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
  505. package/src/sap/m/themes/base/library.source.less +1 -0
  506. package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
  507. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  508. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  509. package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
  510. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  511. package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
  512. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  513. package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
  514. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  515. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  516. package/src/sap/m/upload/UploadSet.js +330 -34
  517. package/src/sap/m/upload/UploadSetItem.js +74 -5
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  * @extends sap.ui.core.Control
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.99.1
67
+ * @version 1.102.0
68
68
  * @since 1.34.0
69
69
  *
70
70
  * @public
@@ -294,7 +294,8 @@ sap.ui.define([
294
294
 
295
295
  GenericTile._Action = {
296
296
  Press: "Press",
297
- Remove: "Remove"
297
+ Remove: "Remove",
298
+ More: "More"
298
299
  };
299
300
 
300
301
  GenericTile.LINEMODE_SIBLING_PROPERTIES = ["state", "subheader", "header", "scope"];
@@ -423,13 +424,24 @@ sap.ui.define([
423
424
  */
424
425
  GenericTile.prototype._initScopeContent = function (sTileClass) {
425
426
  if (!this.getState || this.getState() !== LoadState.Disabled) {
426
- this._oMoreIcon = this._oMoreIcon || IconPool.createControlByURI({
427
- id: this.getId() + "-action-more",
428
- size: "1rem",
429
- useIconTooltip: false,
430
- src: "sap-icon://overflow"
431
- }).addStyleClass("sapMPointer").addStyleClass(sTileClass + "MoreIcon");
432
-
427
+ if (this.isA("sap.m.GenericTile") && this._isIconMode() && this.getFrameType() === FrameType.TwoByHalf){
428
+ // Acts Like an actual Button in Icon mode for TwoByHalf Tile
429
+ this._oMoreIcon = this._oMoreIcon || new Button({
430
+ id: this.getId() + "-action-more",
431
+ icon: "sap-icon://overflow",
432
+ type: "Transparent"
433
+ }).addStyleClass("sapMPointer").addStyleClass(sTileClass + "MoreIcon");
434
+ this._oMoreIcon.ontouchstart = function() {
435
+ this.removeFocus();
436
+ }.bind(this);
437
+ } else {
438
+ this._oMoreIcon = this._oMoreIcon || new Button({
439
+ id: this.getId() + "-action-more",
440
+ icon: "sap-icon://overflow",
441
+ type: "Unstyled"
442
+ }).addStyleClass("sapMPointer").addStyleClass(sTileClass + "MoreIcon");
443
+ this._oMoreIcon._bExcludeFromTabChain = true;
444
+ }
433
445
  this._oRemoveButton = this._oRemoveButton || new Button({
434
446
  id: this.getId() + "-action-remove",
435
447
  icon: "sap-icon://decline",
@@ -457,6 +469,25 @@ sap.ui.define([
457
469
  }
458
470
  };
459
471
 
472
+ /**
473
+ Adding the Classes for Action More Button in IconMode
474
+ @private
475
+ */
476
+ GenericTile.prototype._addClassesForButton = function() {
477
+ this._oMoreIcon.getDomRef().classList.add("sapMBtn");
478
+ this._oMoreIcon.getDomRef("inner").classList.add("sapMBtnInner");
479
+ this._oMoreIcon.getDomRef("inner").classList.add("sapMBtnTransparent");
480
+ };
481
+
482
+ /**
483
+ Focus would not be visible while clicking on the tile
484
+ @private
485
+ */
486
+ GenericTile.prototype.removeFocus = function() {
487
+ this.getDomRef().classList.add("sapMGTActionButtonPress");
488
+ this._oMoreIcon._activeButton();
489
+ };
490
+
460
491
  GenericTile.prototype._isSmall = function() {
461
492
  return this.getSizeBehavior() === TileSizeBehavior.Small || window.matchMedia("(max-width: 374px)").matches;
462
493
  };
@@ -517,6 +548,11 @@ sap.ui.define([
517
548
  this._sParentResizeListenerId = null;
518
549
  }
519
550
 
551
+ //sets the extra width of 0.5rem when the grid container has 1rem gap for the TwoByxxxx tiles
552
+ if (this.getParent() && this.getParent().isA("sap.f.GridContainer")){
553
+ this._applyExtraWidth();
554
+ }
555
+
520
556
  Device.media.detachHandler(this._handleMediaChange, this, DEVICE_SET);
521
557
 
522
558
  if (this._$RootNode) {
@@ -526,7 +562,10 @@ sap.ui.define([
526
562
  if (this.getFrameType() === FrameType.Auto) {
527
563
  this.setProperty("frameType", FrameType.OneByOne, true);
528
564
  }
529
-
565
+ //sets the maxlines for the appshortcut and systeminfo in different tile sizes
566
+ if (this.getMode() !== GenericTileMode.LineMode && (this.getAppShortcut() || this.getSystemInfo())) {
567
+ this._setMaxLines();
568
+ }
530
569
  //Set Navigate Action Button Text - Only in Article Mode
531
570
  if (this._isNavigateActionEnabled()) {
532
571
  var sButtonText = this.getNavigationButtonText() ? this.getNavigationButtonText() : this._oRb.getText("ACTION_READ_MORE");
@@ -558,7 +597,6 @@ sap.ui.define([
558
597
  }
559
598
  }
560
599
  }
561
-
562
600
  // triggers update of all adjacent GenericTile LineMode siblings
563
601
  // this is needed for their visual update if this tile's properties change causing it to expand or shrink
564
602
  if (sMode === GenericTileMode.LineMode && this._bUpdateLineTileSiblings) {
@@ -576,9 +614,39 @@ sap.ui.define([
576
614
  this._oNavigateAction.attachPress(this._navigateEventHandler, this);
577
615
  }
578
616
 
617
+ //Removes hovering and focusable properties from the action more button in non icon mode tiles
618
+ if (this._oMoreIcon && this._oMoreIcon.getDomRef() && !this._isIconMode()){
619
+ this._oMoreIcon.getDomRef().firstChild.classList.remove("sapMBtnHoverable");
620
+ this._oMoreIcon.getDomRef().firstChild.classList.remove("sapMFocusable");
621
+ }
622
+
623
+ //Adds the classes for the action-more buton in IconMode for TwoByHalf Tile
624
+ if (this._isIconMode() && this.getFrameType() === FrameType.TwoByHalf && this._oMoreIcon.getDomRef()){
625
+ this._addClassesForButton();
626
+ }
627
+
579
628
  this.onDragComplete();
580
629
  };
630
+ GenericTile.prototype._setMaxLines = function() {
631
+ var sFrameType = this.getFrameType(),
632
+ iLines = sFrameType === FrameType.OneByOne || sFrameType === FrameType.TwoByHalf ? 1 : 2;
581
633
 
634
+ //Default maxLines
635
+ this._oAppShortcut.setProperty("maxLines", iLines, true);
636
+ this._oSystemInfo.setProperty("maxLines", iLines, true);
637
+
638
+ if (this.getFrameType() === FrameType.TwoByHalf) {
639
+ var bAppShortcutMore = this.getAppShortcut().length > 11,
640
+ bSystemInfoMore = this.getSystemInfo().length > 11;
641
+
642
+ // Line break to happen after 11 characters, App Shortcut to have more priority in display
643
+ if ((bAppShortcutMore && bSystemInfoMore) || bAppShortcutMore) {
644
+ this._oAppShortcut.setProperty("maxLines", 2, true);
645
+ } else if (bSystemInfoMore) {
646
+ this._oSystemInfo.setProperty("maxLines", 2, true);
647
+ }
648
+ }
649
+ };
582
650
  /**
583
651
  * Update Hover Overlay, Generic tile to remove Active Press state of generic Tile.
584
652
  * @private
@@ -908,7 +976,10 @@ sap.ui.define([
908
976
  };
909
977
 
910
978
  /* --- Event Handling --- */
911
- GenericTile.prototype.ontouchstart = function () {
979
+ GenericTile.prototype.ontouchstart = function (event) {
980
+ if (event && event.target.id.indexOf("-action-more") === -1 && this.getDomRef()) {
981
+ this.getDomRef().classList.remove("sapMGTActionButtonPress"); // Sets focus on the tile when clicked other than the action-More Button in Icon mode
982
+ }
912
983
  this.addStyleClass("sapMGTPressActive");
913
984
  if (this.$("hover-overlay").length > 0) {
914
985
  this.$("hover-overlay").addClass("sapMGTPressActive");
@@ -1487,6 +1558,9 @@ sap.ui.define([
1487
1558
  if ((sScope === GenericTileScope.Actions || GenericTileScope.ActionRemove) && oEvent.target.id.indexOf("-action-remove") > -1) {//tap on icon remove in Actions scope
1488
1559
  sAction = GenericTile._Action.Remove;
1489
1560
  oDomRef = this._oRemoveButton.getPopupAnchorDomRef();
1561
+ } else if ((sScope === GenericTileScope.Actions || sScope === GenericTileScope.ActionMore) && this._isIconMode && this._isIconMode() && oEvent.target.id.indexOf("-action-more") > -1) {
1562
+ sAction = GenericTile._Action.More;
1563
+ oDomRef = this._oMoreIcon.getDomRef();
1490
1564
  } else if (sScope === GenericTileScope.Actions || sScope === GenericTileScope.ActionMore) {
1491
1565
  oDomRef = this._oMoreIcon.getDomRef();
1492
1566
  }
@@ -1591,10 +1665,24 @@ sap.ui.define([
1591
1665
  * @returns {boolean} - true if Navigate Action Button is enabled
1592
1666
  * @private
1593
1667
  */
1594
- GenericTile.prototype._isNavigateActionEnabled = function() {
1668
+ GenericTile.prototype._isNavigateActionEnabled = function() {
1595
1669
  return this.getMode() === GenericTileMode.ArticleMode && this.getUrl() && this.getEnableNavigationButton();
1596
1670
  };
1597
1671
 
1672
+ /**
1673
+ * 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
1674
+ * @private
1675
+ */
1676
+ GenericTile.prototype._applyExtraWidth = function() {
1677
+ var sGap = this.getParent().getActiveLayoutSettings().getGap(),
1678
+ bisLargeTile = this.getFrameType() === FrameType.TwoByHalf || this.getFrameType() === FrameType.TwoByOne,
1679
+ bisGap16px = sGap === "16px" || sGap === "1rem";
1680
+ if (bisGap16px && bisLargeTile){
1681
+ this.addStyleClass("sapMGTWidthForGridContainer");
1682
+ } else if (!bisGap16px && this.hasStyleClass("sapMGTWidthForGridContainer")){
1683
+ this.removeStyleClass("sapMGTWidthForGridContainer");
1684
+ }
1685
+ };
1598
1686
  /**
1599
1687
  * Returns true if the GenericTile is in ActionMode and frameType is TwoByOne.
1600
1688
  * @returns {boolean} - true if the GenericTile is in ActionMode
@@ -90,7 +90,16 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
90
90
  if (sScope === GenericTileScope.ActionMore) {
91
91
  oRm.style("padding-right", "2.25rem");
92
92
  }
93
+ if (sState !== LoadState.Disabled && sScope === GenericTileScope.ActionRemove) {
94
+ oRm.class("sapMGTAcionRemove");
95
+ }
93
96
  oRm.class("sapMGTLineMode");
97
+ if (oControl.getSystemInfo() || oControl.getAppShortcut()) {
98
+ oRm.class("sapMGTInfoRendered");
99
+ if (!bIsScreenLarge){
100
+ oRm.class("sapMGTLineModeSmall");
101
+ }
102
+ }
94
103
  this._writeDirection(oRm);
95
104
  if (sTooltipText) {
96
105
  oRm.attr("title", sTooltipText);
@@ -123,11 +132,21 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
123
132
  oRm.close("div");
124
133
 
125
134
  this._renderFailedIcon(oRm, oControl);
135
+ oRm.openStart("span", oControl.getId() + "-lineWrapper");
136
+ oRm.class("sapMGTLineWrapper");
137
+ oRm.openEnd();
138
+ oRm.openStart("span", oControl.getId() + "-headerWrapper");
139
+ oRm.class("sapMGTHeaderWrapper");
140
+ oRm.openEnd();
126
141
  this._renderHeader(oRm, oControl);
127
142
  if (oControl.getSubheader()) {
128
143
  this._renderSubheader(oRm, oControl);
129
144
  }
130
-
145
+ oRm.close("span");
146
+ if (oControl.getSystemInfo() || oControl.getAppShortcut()) {
147
+ this._renderInfoContainer(oRm,oControl);
148
+ }
149
+ oRm.close("span");
131
150
  oRm.openStart("div", oControl.getId() + "-endMarker");
132
151
  oRm.class("sapMGTEndMarker");
133
152
  oRm.openEnd();
@@ -144,6 +163,34 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
144
163
  oRm.openEnd();
145
164
  oRm.close("div");
146
165
 
166
+ } else if (oControl.getSystemInfo() || oControl.getAppShortcut()){
167
+ oRm.openStart("div", oControl.getId() + "-touchArea");
168
+ oRm.class("sapMGTTouchArea");
169
+ oRm.openEnd();
170
+ this._renderFailedIcon(oRm, oControl);
171
+
172
+ oRm.openStart("span",oControl.getId() + "-lineModeHelpContainer");
173
+ oRm.class("sapMGTLineModeHelpContainer");
174
+ oRm.openEnd();
175
+ oRm.openStart("span", oControl.getId() + "-headerWrapper");
176
+ oRm.class("sapMGTHeaderWrapper");
177
+ oRm.openEnd();
178
+ this._renderHeader(oRm, oControl);
179
+
180
+ if (oControl.getSubheader()) {
181
+ this._renderSubheader(oRm, oControl);
182
+ }
183
+ oRm.close("span");
184
+ if (oControl.getSystemInfo() || oControl.getAppShortcut()) {
185
+ this._renderInfoContainer(oRm,oControl);
186
+ }
187
+ oRm.close("span"); //.sapMGTLineModeHelpContainer
188
+
189
+ if (oControl._isInActionScope()) {
190
+ this._renderActionsScope(oRm, oControl, bIsSingleAction);
191
+ }
192
+
193
+ oRm.close("div"); //.sapMGTTouchArea
147
194
  } else {
148
195
  oRm.openStart("div", oControl.getId() + "-touchArea");
149
196
  oRm.class("sapMGTTouchArea");
@@ -175,13 +222,43 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS", "sap/ui/thirdpart
175
222
  oRm.close("span"); //.sapMGT
176
223
  }
177
224
  };
178
-
225
+ GenericTileLineModeRenderer._renderInfoContainer = function(oRm,oControl){
226
+ oRm.openStart("span",oControl.getId() + "-sapMGTTInfoWrapper");
227
+ oRm.class("sapMGTTInfoWrapper").openEnd();
228
+ oRm.openStart("span",oControl.getId() + "-sapMGTTInfo");
229
+ oRm.class("sapMGTTInfo");
230
+ if (!(oControl.getSystemInfo() && oControl.getAppShortcut())){
231
+ oRm.class("sapMGTInfoNotContainsSeperator");
232
+ }
233
+ oRm.openEnd();
234
+ if (oControl.getAppShortcut()) {
235
+ oRm.openStart("span", oControl.getId() + "-appShortcut");
236
+ oRm.class("sapMGTAppShortcutText").openEnd();
237
+ oRm.renderControl(oControl._oAppShortcut);
238
+ oRm.close("span");
239
+ }
240
+ if (oControl.getSystemInfo()) {
241
+ this._renderSystemInfo(oRm,oControl);
242
+ }
243
+ oRm.close("span");
244
+ oRm.close("span");
245
+ };
179
246
  GenericTileLineModeRenderer._writeDirection = function(oRm) {
180
247
  if (this._bRTL) {
181
248
  oRm.attr("dir", "rtl");
182
249
  }
183
250
  };
184
-
251
+ GenericTileLineModeRenderer._renderSystemInfo = function(oRm,oControl){
252
+ oRm.openStart("span",oControl.getId() + "-systemInfoText");
253
+ this._writeDirection(oRm);
254
+ oRm.class("sapMGTSystemInfoText");
255
+ if (oControl.getSystemInfo() && oControl.getAppShortcut()){
256
+ oRm.class("sapMGTSeperatorPresent");
257
+ }
258
+ oRm.openEnd();
259
+ oRm.text(oControl._oSystemInfo.getText());
260
+ oRm.close("span");
261
+ };
185
262
  GenericTileLineModeRenderer._renderFailedIcon = function(oRm, oControl) {
186
263
  if (oControl.getState() === LoadState.Failed) {
187
264
  if (oControl._isCompact()) {
@@ -99,16 +99,24 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
99
99
  }
100
100
  if (oControl._isIconMode()) {
101
101
  oRm.class("sapMGTIconMode");
102
+ if (this._isThemeHighContrast()) {
103
+ oRm.class("HighContrastTile");
104
+ }
102
105
  }
103
- if (!bIsArticleMode && !bIsActionMode && frameType === frameTypes.OneByOne && oControl.getSystemInfo() || oControl.getAppShortcut()) {
106
+ if (!bIsArticleMode && !bIsActionMode && frameType !== frameTypes.OneByHalf && (oControl.getSystemInfo() || oControl.getAppShortcut())) {
104
107
  oRm.class("tileWithAppInfo");
105
108
  }
106
109
  //Set respective Class/ BackgroundColor for IconMode
107
110
  if (oControl._isIconMode()) {
108
111
  if (frameType === frameTypes.TwoByHalf) {
109
112
  oRm.class("sapMGTTwoByHalf");
110
- } else {
111
- oRm.style("background-color", oControl.getBackgroundColor());
113
+ } else if (frameType === frameTypes.OneByOne) {
114
+ if (!this._isThemeHighContrast()) {
115
+ oRm.style("background-color", oControl.getBackgroundColor());
116
+ } else {
117
+ oRm.style("border-color", oControl.getBackgroundColor());
118
+ oRm.style("box-shadow", "0 0 0 1px" + oControl.getBackgroundColor());
119
+ }
112
120
  }
113
121
  }
114
122
 
@@ -209,16 +217,9 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
209
217
  .openEnd()
210
218
  .close("div");
211
219
  if (!isHalfFrame) {
212
- oRm.openStart("div")
213
- .class("sapMGTContentShimmerPlaceholderItemBox")
214
- .class("sapMGTLoadingShimmer")
215
- .openEnd()
216
- .close("div");
217
- oRm.openStart("div")
218
- .class("sapMGTContentShimmerPlaceholderItemTextFooter")
219
- .class("sapMGTLoadingShimmer")
220
- .openEnd()
221
- .close("div");
220
+ for (var i = 0; i < iLength; i++) {
221
+ oRm.renderControl(aTileContent[i]);
222
+ }
222
223
  }
223
224
  oRm.close("div");
224
225
  oRm.close("div");
@@ -238,7 +239,13 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
238
239
  oRm.class("sapMGTOneByOneIcon");
239
240
  } else {
240
241
  oRm.class("sapMGTTwoByHalfIcon");
241
- oRm.style("background-color", oControl.getBackgroundColor());
242
+ if (!this._isThemeHighContrast()) {
243
+ oRm.style("background-color", oControl.getBackgroundColor());
244
+ } else {
245
+ oRm.class("HighContrastTile");
246
+ oRm.style("border-color", oControl.getBackgroundColor());
247
+ oRm.style("box-shadow", "0 0 0 1px" + oControl.getBackgroundColor());
248
+ }
242
249
  }
243
250
  oRm.openEnd();
244
251
  if (oControl.getTileIcon()) {
@@ -250,6 +257,12 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
250
257
  oRm.close("div");
251
258
  }
252
259
 
260
+ //Wrapper div for adjusting to Info Container
261
+ if (this._shouldRenderInfoContainer(oControl) && frameType === frameTypes.TwoByHalf) {
262
+ oRm.openStart("div", oControl.getId() + "-wrapper").class("sapMGTWrapper").openEnd();
263
+ oRm.openStart("div", oControl.getId() + "-wrapper-content").class("sapMGTWrapperCnt").openEnd();
264
+ }
265
+
253
266
  oRm.openStart("div");
254
267
  oRm.class("sapMGTHdrContent");
255
268
  if (oControl._isIconMode() ){
@@ -279,9 +292,10 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
279
292
 
280
293
  this._renderHeader(oRm, oControl);
281
294
  for (var i = 0; i < iLength; i++) {
282
- isFooterPresent = oControl._checkFooter(aTileContent[i], oControl) && aTileContent[i].getFooter();
283
- if (aTileContent[i].getAggregation("content") !== null){
284
- if (frameType === frameTypes.OneByHalf && aTileContent[i].getAggregation("content").getMetadata()._sClassName === "sap.m.ImageContent") {
295
+ isFooterPresent = oControl._checkFooter(aTileContent[i], oControl) && (aTileContent[i].getFooter() || aTileContent[i].getUnit());
296
+ var oAggregationContent = aTileContent[i].getContent();
297
+ if (oAggregationContent) {
298
+ if (frameType === frameTypes.OneByHalf && oAggregationContent.getMetadata().getElementName() === "sap.m.ImageContent") {
285
299
  isContentPresent = false;
286
300
  } else {
287
301
  isContentPresent = true;
@@ -304,42 +318,37 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
304
318
  if ( !oControl._isIconMode() ) { //Restrict creation of Footer for IconMode
305
319
  oRm.openStart("div", oControl.getId() + "-content");
306
320
  oRm.class("sapMGTContent");
307
- if (isFooterPresent && frameType === frameTypes.OneByOne && (oControl.getSystemInfo() || oControl.getAppShortcut())) {
308
- oRm.class("appInfoWithFooter");
309
- } else {
310
- oRm.class("appInfoWithoutFooter");
321
+ if (oControl.getSystemInfo() || oControl.getAppShortcut()) {
322
+ if (aTileContent.length === 0){
323
+ oRm.class("appInfoWithoutTileCnt");
324
+ }
325
+ if (isFooterPresent && frameType !== frameTypes.OneByHalf) {
326
+ oRm.class("appInfoWithFooter");
327
+ } else {
328
+ oRm.class("appInfoWithoutFooter");
329
+ }
311
330
  }
312
331
  oRm.openEnd();
313
332
  for (var i = 0; i < iLength; i++) {
314
333
  oRm.renderControl(aTileContent[i]);
315
334
  }
335
+
336
+ //Render InfoContainer except for TwoByHalf frame
337
+ if (this._shouldRenderInfoContainer(oControl) && frameType !== frameTypes.TwoByHalf) {
338
+ this._renderInfoContainer(oRm, oControl);
339
+ }
340
+
316
341
  oRm.close("div");
317
342
  }
318
343
 
319
- //Restrict creation of InfoContainer for IconMode, ActionMode and ArticleMode
320
- if (!bIsArticleMode && !bIsActionMode && !oControl._isIconMode() && (frameType === frameTypes.OneByOne && (oControl.getSystemInfo() || oControl.getAppShortcut()))){
321
- oRm.openStart("div", oControl.getId() + "-tInfo");
322
- oRm.class("sapMGTTInfoContainer");
323
- oRm.openEnd();
324
- oRm.openStart("div");
325
- oRm.class("sapMGTTInfo");
326
- oRm.openEnd();
327
- if (oControl.getAppShortcut()) {
328
- oRm.openStart("div", oControl.getId() + "-appShortcut");
329
- oRm.class("sapMGTAppShortcutText").openEnd();
330
- oRm.renderControl(oControl._oAppShortcut);
331
- oRm.close("div");
332
- }
333
- if (oControl.getSystemInfo()) {
334
- oRm.openStart("div", oControl.getId() + "-sytemInfo");
335
- oRm.class("sapMGTSystemInfoText").openEnd();
336
- oRm.renderControl(oControl._oSystemInfo);
337
- oRm.close("div");
338
- }
344
+ //Render InfoContainer for TwoByHalf frame
345
+ if (this._shouldRenderInfoContainer(oControl) && frameType === frameTypes.TwoByHalf) {
339
346
  oRm.close("div");
347
+ this._renderInfoContainer(oRm, oControl);
340
348
  oRm.close("div");
341
349
  }
342
350
  }
351
+
343
352
  if (sState !== LoadState.Loaded && sState !== LoadState.Loading) {
344
353
  this._renderStateOverlay(oRm, oControl, sTooltipText);
345
354
  }
@@ -359,16 +368,58 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
359
368
  }
360
369
  };
361
370
 
371
+ /**
372
+ * Checks if the GenericTile should render the info container.
373
+ * @param {sap.m.GenericTile} oControl The GenericTile control
374
+ * @returns {boolean} True if the info container should be rendered, false otherwise
375
+ * @private
376
+ */
377
+ GenericTileRenderer._shouldRenderInfoContainer = function(oControl) {
378
+ var frameType = oControl.getFrameType(),
379
+ bIsArticleMode = oControl.getMode() === GenericTileMode.ArticleMode,
380
+ bIsActionMode = oControl.getMode() === GenericTileMode.ActionMode,
381
+ bIsIconMode = oControl.getMode() === GenericTileMode.IconMode;
382
+ if (frameType === frameTypes.OneByOne && bIsIconMode){
383
+ return true;
384
+ }
385
+ return !bIsArticleMode && !bIsActionMode && !bIsIconMode && frameType !== frameTypes.OneByHalf && (oControl.getSystemInfo() || oControl.getAppShortcut());
386
+ };
387
+
388
+ /**
389
+ * Renders the Info Container.
390
+ * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer
391
+ * @param {sap.m.GenericTile} oControl The control that will be rendered
392
+ * @private
393
+ */
394
+ GenericTileRenderer._renderInfoContainer = function(oRm, oControl) {
395
+ oRm.openStart("div", oControl.getId() + "-tInfo");
396
+ oRm.class("sapMGTTInfoContainer");
397
+ oRm.openEnd();
398
+ oRm.openStart("div", oControl.getId() + "-tInfo-content");
399
+ oRm.class("sapMGTTInfo");
400
+ oRm.openEnd();
401
+ if (oControl.getAppShortcut()) {
402
+ oRm.openStart("div", oControl.getId() + "-appShortcut");
403
+ oRm.class("sapMGTAppShortcutText").openEnd();
404
+ oRm.renderControl(oControl._oAppShortcut);
405
+ oRm.close("div");
406
+ }
407
+ if (oControl.getSystemInfo()) {
408
+ oRm.openStart("div", oControl.getId() + "-sytemInfo");
409
+ if (oControl.getAppShortcut() && oControl.getSystemInfo()){
410
+ oRm.class("sapMGTMarginTop4px");
411
+ }
412
+ oRm.class("sapMGTSystemInfoText").openEnd();
413
+ oRm.renderControl(oControl._oSystemInfo);
414
+ oRm.close("div");
415
+ }
416
+ oRm.close("div");
417
+ oRm.close("div");
418
+ };
419
+
362
420
  GenericTileRenderer._renderFocusDiv = function(oRm, oControl) {
363
421
  oRm.openStart("div", oControl.getId() + "-focus");
364
422
  oRm.class("sapMGTFocusDiv");
365
- if (oControl._isIconMode()) { //Set respective BorderRadius for IconMode
366
- if (oControl.getFrameType() === frameTypes.OneByOne) {
367
- oRm.style("border-radius", "1rem");
368
- } else {
369
- oRm.style("border-radius", "0.75rem");
370
- }
371
- }
372
423
  oRm.openEnd();
373
424
  oRm.close("div");
374
425
  };
@@ -482,6 +533,15 @@ sap.ui.define(["sap/m/library", "sap/base/security/encodeCSS"],
482
533
  return false;
483
534
  };
484
535
 
536
+ /**
537
+ * Checks whether the current theme is a high contrast theme like sap_belize_hcb or sap_belize_hcw.
538
+ * @returns {boolean} True if the theme name contains hcb or hcw, false otherwise
539
+ * @private
540
+ */
541
+ GenericTileRenderer._isThemeHighContrast = function() {
542
+ return /(hcw|hcb)/g.test(sap.ui.getCore().getConfiguration().getTheme());
543
+ };
544
+
485
545
  return GenericTileRenderer;
486
546
 
487
547
  }, /* 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.99.1
33
+ * @version 1.102.0
34
34
  *
35
35
  * @constructor
36
36
  * @public