@openui5/sap.f 1.140.0 → 1.141.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +4 -4
  3. package/src/sap/f/.library +1 -1
  4. package/src/sap/f/Avatar.js +1 -1
  5. package/src/sap/f/AvatarGroup.js +1 -1
  6. package/src/sap/f/AvatarGroupItem.js +1 -1
  7. package/src/sap/f/CalendarAppointmentInCard.js +1 -1
  8. package/src/sap/f/CalendarInCard.js +1 -1
  9. package/src/sap/f/Card.js +1 -1
  10. package/src/sap/f/CardBase.js +1 -1
  11. package/src/sap/f/DynamicPage.js +22 -6
  12. package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
  13. package/src/sap/f/DynamicPageHeader.js +1 -1
  14. package/src/sap/f/DynamicPageTitle.js +1 -1
  15. package/src/sap/f/FlexibleColumnLayout.js +6 -5
  16. package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
  17. package/src/sap/f/FlexibleColumnLayoutData.js +1 -1
  18. package/src/sap/f/FlexibleColumnLayoutDataForDesktop.js +1 -1
  19. package/src/sap/f/FlexibleColumnLayoutDataForTablet.js +1 -1
  20. package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
  21. package/src/sap/f/GridContainer.js +1 -1
  22. package/src/sap/f/GridContainerItemLayoutData.js +1 -1
  23. package/src/sap/f/GridContainerSettings.js +2 -2
  24. package/src/sap/f/GridList.js +1 -1
  25. package/src/sap/f/GridListItem.js +1 -1
  26. package/src/sap/f/IllustratedMessage.js +1 -1
  27. package/src/sap/f/Illustration.js +1 -1
  28. package/src/sap/f/PlanningCalendarInCardLegend.js +1 -1
  29. package/src/sap/f/ProductSwitch.js +1 -1
  30. package/src/sap/f/ProductSwitchItem.js +1 -1
  31. package/src/sap/f/SearchManager.js +1 -1
  32. package/src/sap/f/ShellBar.js +1 -1
  33. package/src/sap/f/SidePanel.js +1 -1
  34. package/src/sap/f/SidePanelItem.js +1 -1
  35. package/src/sap/f/cards/BaseHeader.js +1 -1
  36. package/src/sap/f/cards/BaseHeaderRenderer.js +26 -4
  37. package/src/sap/f/cards/Header.js +61 -13
  38. package/src/sap/f/cards/NumericHeader.js +4 -2
  39. package/src/sap/f/cards/NumericHeaderRenderer.js +1 -1
  40. package/src/sap/f/cards/NumericIndicators.js +1 -1
  41. package/src/sap/f/cards/NumericSideIndicator.js +1 -1
  42. package/src/sap/f/cards/loading/AnalyticalPlaceholder.js +1 -1
  43. package/src/sap/f/cards/loading/CalendarPlaceholder.js +1 -1
  44. package/src/sap/f/cards/loading/GenericPlaceholder.js +1 -1
  45. package/src/sap/f/cards/loading/ListPlaceholder.js +1 -1
  46. package/src/sap/f/cards/loading/ObjectPlaceholder.js +1 -1
  47. package/src/sap/f/cards/loading/PlaceholderBase.js +1 -1
  48. package/src/sap/f/cards/loading/TablePlaceholder.js +1 -1
  49. package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
  50. package/src/sap/f/changeHandler/MoveDynamicPageTitleActions.js +1 -1
  51. package/src/sap/f/delegate/GridContainerItemNavigation.js +1 -1
  52. package/src/sap/f/delegate/GridItemNavigation.js +1 -1
  53. package/src/sap/f/dnd/GridDragOver.js +1 -1
  54. package/src/sap/f/dnd/GridDropInfo.js +1 -1
  55. package/src/sap/f/library.js +3 -3
  56. package/src/sap/f/messagebundle_da.properties +2 -2
  57. package/src/sap/f/messagebundle_pt.properties +1 -1
  58. package/src/sap/f/semantic/AddAction.js +1 -1
  59. package/src/sap/f/semantic/CloseAction.js +1 -1
  60. package/src/sap/f/semantic/CopyAction.js +1 -1
  61. package/src/sap/f/semantic/DeleteAction.js +1 -1
  62. package/src/sap/f/semantic/DiscussInJamAction.js +1 -1
  63. package/src/sap/f/semantic/EditAction.js +1 -1
  64. package/src/sap/f/semantic/ExitFullScreenAction.js +1 -1
  65. package/src/sap/f/semantic/FavoriteAction.js +1 -1
  66. package/src/sap/f/semantic/FlagAction.js +1 -1
  67. package/src/sap/f/semantic/FooterMainAction.js +1 -1
  68. package/src/sap/f/semantic/FullScreenAction.js +1 -1
  69. package/src/sap/f/semantic/MainAction.js +1 -1
  70. package/src/sap/f/semantic/MessagesIndicator.js +1 -1
  71. package/src/sap/f/semantic/NegativeAction.js +1 -1
  72. package/src/sap/f/semantic/PositiveAction.js +1 -1
  73. package/src/sap/f/semantic/PrintAction.js +1 -1
  74. package/src/sap/f/semantic/SemanticButton.js +1 -1
  75. package/src/sap/f/semantic/SemanticConfiguration.js +1 -1
  76. package/src/sap/f/semantic/SemanticControl.js +1 -1
  77. package/src/sap/f/semantic/SemanticPage.js +1 -1
  78. package/src/sap/f/semantic/SemanticToggleButton.js +1 -1
  79. package/src/sap/f/semantic/SendEmailAction.js +1 -1
  80. package/src/sap/f/semantic/SendMessageAction.js +1 -1
  81. package/src/sap/f/semantic/ShareInJamAction.js +1 -1
  82. package/src/sap/f/semantic/TitleMainAction.js +1 -1
  83. package/src/sap/f/shellBar/AdditionalContentSupport.js +1 -1
  84. package/src/sap/f/shellBar/CoPilot.js +1 -1
  85. package/src/sap/f/shellBar/ControlSpacer.js +1 -1
  86. package/src/sap/f/shellBar/Search.js +1 -1
  87. package/src/sap/f/themes/base/CardHeaders.less +24 -2
package/THIRDPARTY.txt CHANGED
@@ -379,7 +379,7 @@ License: MIT
379
379
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
380
380
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/adaptive-expressions.js
381
381
 
382
- Component: Markdown-it, version: 12.3.2
382
+ Component: Markdown-it, version: 14.1.0
383
383
  Copyright: 2014 Vitaly Puzrin, Alex Kocharin
384
384
  License: MIT
385
385
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
@@ -444,7 +444,7 @@ License: Apache-2.0
444
444
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
445
445
  Contained in: lib/jsdoc/ui5/plugin.js
446
446
 
447
- Component: SAP Theming Base Content, version: 11.31.1
447
+ Component: SAP Theming Base Content, version: 11.32.2-20250827135846+79bb30d311678435d61b21db26ecbe07d6b05079
448
448
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
449
449
  License: Apache-2.0
450
450
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.f",
3
- "version": "1.140.0",
3
+ "version": "1.141.0",
4
4
  "description": "OpenUI5 UI Library sap.f",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,8 +14,8 @@
14
14
  "url": "https://github.com/UI5/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.140.0",
18
- "@openui5/sap.ui.core": "1.140.0",
19
- "@openui5/sap.ui.layout": "1.140.0"
17
+ "@openui5/sap.m": "1.141.0",
18
+ "@openui5/sap.ui.core": "1.141.0",
19
+ "@openui5/sap.ui.layout": "1.141.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2025 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.140.0</version>
9
+ <version>1.141.0</version>
10
10
 
11
11
  <documentation>SAPUI5 library with Fiori controls.</documentation>
12
12
 
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.m.Avatar
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.140.0
44
+ * @version 1.141.0
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -100,7 +100,7 @@ sap.ui.define([
100
100
  * @extends sap.ui.core.Control
101
101
  *
102
102
  * @author SAP SE
103
- * @version 1.140.0
103
+ * @version 1.141.0
104
104
  *
105
105
  * @constructor
106
106
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.140.0
35
+ * @version 1.141.0
36
36
  *
37
37
  * @constructor
38
38
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * This calendar appointment is used in card content of type Calendar.
22
22
  *
23
23
  * @extends sap.ui.unified.CalendarAppointment
24
- * @version 1.140.0
24
+ * @version 1.141.0
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * <code>sap.m.Toolbar</code> with <code>sap.m.Buttons</code>.
46
46
  *
47
47
  * @extends sap.ui.unified.Calendar
48
- * @version 1.140.0
48
+ * @version 1.141.0
49
49
  *
50
50
  * @constructor
51
51
  * @private
package/src/sap/f/Card.js CHANGED
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  * @extends sap.f.CardBase
72
72
  *
73
73
  * @author SAP SE
74
- * @version 1.140.0
74
+ * @version 1.141.0
75
75
  *
76
76
  * @constructor
77
77
  * @public
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.core.Control
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.140.0
44
+ * @version 1.141.0
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -118,7 +118,7 @@ sap.ui.define([
118
118
  * @extends sap.ui.core.Control
119
119
  *
120
120
  * @author SAP SE
121
- * @version 1.140.0
121
+ * @version 1.141.0
122
122
  *
123
123
  * @constructor
124
124
  * @public
@@ -1266,12 +1266,22 @@ sap.ui.define([
1266
1266
  * @private
1267
1267
  */
1268
1268
  DynamicPage.prototype._needsVerticalScrollBar = function () {
1269
+ return this._isContentOverflowingScrollContainer()
1270
+ || this._isContentOverflowingFullscreenContainer(); // overlap between fullscreen-area and footer-area
1271
+ };
1272
+
1273
+ DynamicPage.prototype._isContentOverflowingScrollContainer = function () {
1269
1274
  // treat maxScrollHeight values in the range [0, 1] as 0,
1270
1275
  // to cover the known cases where the nested content overflows
1271
1276
  // the container with up to 1px because of rounding issues
1272
1277
  return Math.floor(this._getMaxScrollPosition()) > 1;
1273
1278
  };
1274
1279
 
1280
+ DynamicPage.prototype._isContentOverflowingFullscreenContainer = function () {
1281
+ return exists(this.$contentFitContainer)
1282
+ && this.$contentFitContainer[0].scrollHeight > this.$contentFitContainer[0].clientHeight;
1283
+ };
1284
+
1275
1285
  /**
1276
1286
  * Retrieves the height of the <code>DynamicPage</code> control.
1277
1287
  * @returns {number}
@@ -1903,6 +1913,8 @@ sap.ui.define([
1903
1913
  this._updateHeaderVisualState(bCurrentHeight !== bOldHeight);
1904
1914
  this._adaptScrollPositionOnHeaderChange(bCurrentHeight, bOldHeight);
1905
1915
  }
1916
+
1917
+ this._expandHeaderIfNeeded(oEvent);
1906
1918
  };
1907
1919
 
1908
1920
  /**
@@ -1925,20 +1937,24 @@ sap.ui.define([
1925
1937
  oDynamicPageTitle._onResize(iCurrentWidth);
1926
1938
  }
1927
1939
 
1928
- if (this._shouldAutoExpandHeaderOnResize(oEvent)) {
1929
- this._expandHeader(true, false /* bUserInteraction */);
1930
- this.getHeader().$().removeClass("sapFDynamicPageHeaderHidden");
1931
- }
1940
+ this._expandHeaderIfNeeded(oEvent);
1932
1941
 
1933
1942
  this._adjustSnap();
1934
1943
  this._updateTitlePositioning();
1935
1944
  this._updateMedia(iCurrentWidth);
1936
1945
  };
1937
1946
 
1947
+ DynamicPage.prototype._expandHeaderIfNeeded = function (oEvent) {
1948
+ if (this._shouldAutoExpandHeaderOnResize(oEvent)) {
1949
+ this._expandHeader(true, false /* bUserInteraction */);
1950
+ this.getHeader().$().removeClass("sapFDynamicPageHeaderHidden");
1951
+ }
1952
+ };
1953
+
1938
1954
  DynamicPage.prototype._shouldAutoExpandHeaderOnResize = function (oResizeEvent) {
1939
1955
  var oDynamicPageHeader = this.getHeader(),
1940
1956
  bHeaderSnappedByUser = exists(oDynamicPageHeader) && !this.getHeaderExpanded() && this._bIsLastToggleUserInitiated,
1941
- bPageResized = oResizeEvent.target === this.getDomRef(),
1957
+ bPageResized = oResizeEvent.target === this.getDomRef() || oResizeEvent.target === this.$contentFitContainer?.get(0),
1942
1958
  canToggleHeaderOnScroll = this._canSnapHeaderOnScroll.bind(this);
1943
1959
 
1944
1960
  // auto-expand the header if the user had snapped it but
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.140.0
26
+ * @version 1.141.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  * @extends sap.ui.core.Control
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.140.0
67
+ * @version 1.141.0
68
68
  *
69
69
  * @constructor
70
70
  * @public
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @extends sap.ui.core.Control
96
96
  *
97
97
  * @author SAP SE
98
- * @version 1.140.0
98
+ * @version 1.141.0
99
99
  *
100
100
  * @constructor
101
101
  * @public
@@ -108,7 +108,7 @@ sap.ui.define([
108
108
  *
109
109
  * @extends sap.ui.core.Control
110
110
  * @author SAP SE
111
- * @version 1.140.0
111
+ * @version 1.141.0
112
112
  *
113
113
  * @constructor
114
114
  * @public
@@ -733,7 +733,7 @@ sap.ui.define([
733
733
  this._boundColumnSeparatorMove = this._onColumnSeparatorMove.bind(this);
734
734
  this._boundColumnSeparatorMoveEnd = this._onColumnSeparatorMoveEnd.bind(this);
735
735
  this._oLocalStorage = {};
736
- this._bNeverRendered = true;
736
+ this._bInitialColumnsResizeDone = false;
737
737
 
738
738
  this._oBeginColumnWidth = {
739
739
  tablet: 0,
@@ -1002,7 +1002,6 @@ sap.ui.define([
1002
1002
  this._flushColumnContent("end");
1003
1003
 
1004
1004
  this._fireStateChange(false, false);
1005
- this._bNeverRendered = false;
1006
1005
  };
1007
1006
 
1008
1007
  FlexibleColumnLayout.prototype.setLayoutData = function (oLayoutData) {
@@ -1427,6 +1426,8 @@ sap.ui.define([
1427
1426
  } else {
1428
1427
  this._updateSeparatorsAriaPositionInfo();
1429
1428
  }
1429
+
1430
+ this._bInitialColumnsResizeDone = true;
1430
1431
  };
1431
1432
 
1432
1433
  /**
@@ -2544,8 +2545,8 @@ sap.ui.define([
2544
2545
  return oColumn.width() !== iNewWidth;
2545
2546
  }
2546
2547
 
2547
- if (this._bNeverRendered || oOptions.autoSize) {
2548
- return false; // initial rendering or autosized
2548
+ if (!this._bInitialColumnsResizeDone || oOptions.autoSize) {
2549
+ return false; // initial columns-resize or autosized
2549
2550
  }
2550
2551
 
2551
2552
  return this._getColumnWidth(sColumn) !== iNewWidth;
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.140.0
25
+ * @version 1.141.0
26
26
  * @since 1.95
27
27
  *
28
28
  * @constructor
@@ -21,7 +21,7 @@ sap.ui.define(["sap/ui/core/LayoutData", "sap/ui/base/ManagedObjectObserver", "s
21
21
  *
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.140.0
24
+ * @version 1.141.0
25
25
  *
26
26
  * @extends sap.ui.core.LayoutData
27
27
  *
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
20
20
  *
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.140.0
23
+ * @version 1.141.0
24
24
  *
25
25
  * @extends sap.ui.core.LayoutData
26
26
  *
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
20
20
  *
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.140.0
23
+ * @version 1.141.0
24
24
  *
25
25
  * @extends sap.ui.core.LayoutData
26
26
  *
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  *
50
50
  * For more information, see {@link sap.f.FlexibleColumnLayoutSemanticHelper#getCurrentUIState} and {@link sap.f.FlexibleColumnLayoutSemanticHelper#getNextUIState}
51
51
  *
52
- * @version 1.140.0
52
+ * @version 1.141.0
53
53
  * @param {sap.f.FlexibleColumnLayout} oFlexibleColumnLayout
54
54
  * The <code>sap.f.FlexibleColumnLayout</code> object whose state will be manipulated.
55
55
  *
@@ -163,7 +163,7 @@ sap.ui.define([
163
163
  * @see {@link sap.f.dnd.GridDropInfo}
164
164
  *
165
165
  * @author SAP SE
166
- * @version 1.140.0
166
+ * @version 1.141.0
167
167
  *
168
168
  * @extends sap.ui.core.Control
169
169
  *
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
21
21
  * @see {@link topic:32d4b9c2b981425dbc374d3e9d5d0c2e Grid Controls}
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.140.0
24
+ * @version 1.141.0
25
25
  *
26
26
  * @extends sap.ui.core.LayoutData
27
27
  *
@@ -58,14 +58,14 @@ sap.ui.define([
58
58
  * Can be used to define the sizes of columns and rows for different screen sizes, by using the <code>layout</code> aggregations of <code>sap.f.GridContainer</code>.
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.140.0
61
+ * @version 1.141.0
62
62
  *
63
63
  * @extends sap.ui.base.ManagedObject
64
64
  *
65
65
  * @see {@link topic:32d4b9c2b981425dbc374d3e9d5d0c2e Grid Controls}
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.140.0
68
+ * @version 1.141.0
69
69
  *
70
70
  * @since 1.65
71
71
  * @public
@@ -93,7 +93,7 @@ sap.ui.define([
93
93
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout MDN web docs: CSS Grid Layout}
94
94
  *
95
95
  * @author SAP SE
96
- * @version 1.140.0
96
+ * @version 1.141.0
97
97
  *
98
98
  * @extends sap.m.ListBase
99
99
  * @implements sap.ui.layout.cssgrid.IGridConfigurable
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.ListItemBase
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.140.0
27
+ * @version 1.141.0
28
28
  *
29
29
  * @since 1.70
30
30
  * @constructor
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  * @extends sap.m.IllustratedMessage
57
57
  *
58
58
  * @author SAP SE
59
- * @version 1.140.0
59
+ * @version 1.141.0
60
60
  *
61
61
  * @constructor
62
62
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.Illustration
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.140.0
33
+ * @version 1.141.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -22,7 +22,7 @@ sap.ui.define(['sap/m/PlanningCalendarLegend', "sap/ui/core/Lib", 'sap/ui/unifie
22
22
  * @extends sap.m.PlanningCalendarLegend
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.140.0
25
+ * @version 1.141.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.140.0
37
+ * @version 1.141.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @extends sap.ui.core.Control
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.140.0
51
+ * @version 1.141.0
52
52
  *
53
53
  * @constructor
54
54
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element', 'sap/ui/base/ManagedObjectObserver', './sh
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.140.0
26
+ * @version 1.141.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -58,7 +58,7 @@ function(
58
58
  * @implements sap.f.IShellBar, sap.m.IBar
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.140.0
61
+ * @version 1.141.0
62
62
  *
63
63
  * @constructor
64
64
  * @public
@@ -153,7 +153,7 @@ sap.ui.define([
153
153
  * @extends sap.ui.core.Control
154
154
  *
155
155
  * @author SAP SE
156
- * @version 1.140.0
156
+ * @version 1.141.0
157
157
  *
158
158
  * @constructor
159
159
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.core.Item
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.140.0
30
+ * @version 1.141.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  * @abstract
56
56
  *
57
57
  * @author SAP SE
58
- * @version 1.140.0
58
+ * @version 1.141.0
59
59
  *
60
60
  * @constructor
61
61
  * @public
@@ -5,12 +5,13 @@
5
5
  */
6
6
 
7
7
  // Provides renderer helper for sap.f.cards.BaseHeader
8
- sap.ui.define([], function () {
8
+ sap.ui.define(["sap/ui/core/library"], function (coreLibrary) {
9
9
  "use strict";
10
10
 
11
11
  const BaseHeaderRenderer = {
12
12
  apiVersion: 2
13
13
  };
14
+ const ValueState = coreLibrary.ValueState;
14
15
 
15
16
  BaseHeaderRenderer.render = function (oRm, oHeader) {
16
17
  const oToolbar = oHeader.getToolbar();
@@ -18,6 +19,13 @@ sap.ui.define([], function () {
18
19
  const bHasStatus = oHeader.getStatusVisible();
19
20
  const bHasDataTimestamp = oHeader.getDataTimestamp() || oBindingInfos.dataTimestamp;
20
21
  const bHasNumericPart = this.hasNumericPart(oHeader);
22
+ const bIconVisible = oHeader.getIconVisible();
23
+ const bHasIconSrc = oHeader.getIconSrc();
24
+
25
+ let oIconState;
26
+ if (typeof oHeader.getIconState === "function") {
27
+ oIconState = oHeader.getIconState();
28
+ }
21
29
 
22
30
  oRm.openStart("div", oHeader)
23
31
  .class("sapFCardHeader");
@@ -28,7 +36,8 @@ sap.ui.define([], function () {
28
36
  oRm.class("sapFCardHeaderLoading");
29
37
  }
30
38
 
31
- if (oHeader.getIconSrc() && oHeader.getIconVisible()) {
39
+ const bHasIconState = oIconState && oIconState !== ValueState.None;
40
+ if (bIconVisible && (bHasIconSrc || bHasIconState)) {
32
41
  oRm.class("sapFCardHeaderHasIcon");
33
42
  }
34
43
 
@@ -220,9 +229,17 @@ sap.ui.define([], function () {
220
229
  BaseHeaderRenderer.renderAvatar = function (oRm, oHeader) {
221
230
  var oAvatar = oHeader.getAggregation("_avatar"),
222
231
  oBindingInfos = oHeader.mBindingInfos,
223
- bIconVisible = oHeader.shouldShowIcon();
232
+ bIconVisible = oHeader.shouldShowIcon(),
233
+ bHasIconPropertySet = !oHeader.isPropertyInitial("iconSrc") || !oHeader.isPropertyInitial("iconInitials"),
234
+ oIconState;
235
+
236
+ if (typeof oHeader.getIconState === "function") {
237
+ oIconState = oHeader.getIconState();
238
+ }
224
239
 
225
- if (bIconVisible && (!oHeader.isPropertyInitial("iconSrc") || !oHeader.isPropertyInitial("iconInitials"))) {
240
+ const bHasIconState = oIconState && oIconState !== ValueState.None;
241
+
242
+ if (bIconVisible && (bHasIconPropertySet || bHasIconState)) {
226
243
  oRm.openStart("div")
227
244
  .class("sapFCardHeaderImage")
228
245
  .openEnd();
@@ -230,6 +247,11 @@ sap.ui.define([], function () {
230
247
  if (oBindingInfos.iconSrc && oBindingInfos.iconSrc.binding && !oBindingInfos.iconSrc.binding.getValue()) {
231
248
  oAvatar.addStyleClass("sapFCardHeaderItemBinded");
232
249
  }
250
+
251
+ if (oIconState != ValueState.None) {
252
+ oAvatar.addStyleClass("sapFCardHeaderImageState" + oIconState);
253
+ }
254
+
233
255
  oRm.renderControl(oAvatar);
234
256
  oRm.renderControl(oHeader._oAriaAvatarText);
235
257
  oRm.close("div");