@sapui5/sap.fe.templates 1.148.1 → 1.148.2

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.
@@ -184,6 +184,8 @@ class ObjectPageController extends PageController {
184
184
 
185
185
  private mergePatchDraft = false;
186
186
 
187
+ private fclCloseHandlerSet = false;
188
+
187
189
  private autoQueueLock: ReturnType<ODataModel["lock"]> | undefined;
188
190
 
189
191
  private messageBinding?: Binding;
@@ -353,7 +355,9 @@ class ObjectPageController extends PageController {
353
355
  */
354
356
  private checkSectionsForNonResponsiveTable(subSections: ObjectPageSubSection[]): void {
355
357
  const changeClassForTables = (event: Event, visibleSubSection: ObjectPageSubSection): void => {
356
- const blocks = [...visibleSubSection.getBlocks(), ...visibleSubSection.getMoreBlocks()];
358
+ const blocks = [...visibleSubSection.getBlocks(), ...visibleSubSection.getMoreBlocks()].filter((block) =>
359
+ block.isA("sap.fe.templates.ObjectPage.controls.SubSectionBlock")
360
+ );
357
361
  if (blocks.length === 1) {
358
362
  const table = this.searchTableInBlock(blocks[0] as SubSectionBlock);
359
363
  if (!table) {
@@ -1368,6 +1372,22 @@ class ObjectPageController extends PageController {
1368
1372
 
1369
1373
  this.mergePatchDraft = true;
1370
1374
  }
1375
+
1376
+ // When the user clicks the FCL Close button while a key property field has focus,
1377
+ // the field's focus-loss triggers side effects that refresh the OData binding and
1378
+ // re-render the ObjectPage header title — removing the Close button from the DOM
1379
+ // before the click event fires, so the press is silently lost.
1380
+ // Listening on mousedown (which fires before focus-loss) ensures closeColumn() is
1381
+ // always called regardless of the subsequent re-render.
1382
+ if (!this.fclCloseHandlerSet && !Device.support.touch) {
1383
+ const fclCloseButton = oView.byId("fe::FCLStandardAction::Close");
1384
+ if (fclCloseButton?.isA<Button>("sap.m.Button")) {
1385
+ fclCloseButton.attachBrowserEvent("mousedown", (): void => {
1386
+ this._routing.closeColumn();
1387
+ });
1388
+ }
1389
+ this.fclCloseHandlerSet = true;
1390
+ }
1371
1391
  }
1372
1392
 
1373
1393
  /**
@@ -1684,6 +1704,7 @@ class ObjectPageController extends PageController {
1684
1704
  if (error !== RecommendationDialogDecision.Continue) {
1685
1705
  messagePopoverErr = (error as string) ?? "";
1686
1706
  }
1707
+ throw error;
1687
1708
  }
1688
1709
  } finally {
1689
1710
  if (BusyLocker.isLocked(model)) {
@@ -52,7 +52,8 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
52
52
  };
53
53
  _proto.onAfterRendering = function onAfterRendering(oEvent) {
54
54
  const subSection = this._oParentObjectPageSubSection;
55
- if (subSection.getBlocks().length === 1 && this.content && this.content.isA("sap.fe.macros.Table")) {
55
+ const subSectionBlocks = subSection.getBlocks().filter(block => block.isA("sap.fe.templates.ObjectPage.controls.SubSectionBlock"));
56
+ if (subSectionBlocks.length === 1 && this.content && this.content.isA("sap.fe.macros.Table")) {
56
57
  const view = CommonUtils.getTargetView(this);
57
58
  const sectionLayout = view?.getViewData()?.sectionLayout;
58
59
  const tableControl = this.content.getTableDefinition().control;
@@ -91,4 +92,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
91
92
  }), _class2)) || _class);
92
93
  return SubSectionBlock;
93
94
  }, false);
94
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCbG9ja0Jhc2VGb3JtQWRqdXN0bWVudCIsInV4YXBMaWIiLCJTdWJTZWN0aW9uQmxvY2siLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsImdyb3VwIiwiZGVmYXVsdFZhbHVlIiwiX2RlYzMiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CbG9ja0Jhc2UiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImluaXQiLCJfYkNvbm5lY3RlZCIsIl9hcHBseUZvcm1BZGp1c3RtZW50Iiwic0Zvcm1BZGp1c3RtZW50IiwiZ2V0Rm9ybUFkanVzdG1lbnQiLCJvVmlldyIsIl9nZXRTZWxlY3RlZFZpZXdDb250ZW50Iiwib1BhcmVudCIsIl9vUGFyZW50T2JqZWN0UGFnZVN1YlNlY3Rpb24iLCJvRm9ybUFkanVzdG1lbnRGaWVsZHMiLCJOb25lIiwiX2NvbXB1dGVGb3JtQWRqdXN0bWVudEZpZWxkcyIsIl9vTGF5b3V0Q29uZmlnIiwiX2FkanVzdEZvcm0iLCJvbkFmdGVyUmVuZGVyaW5nIiwib0V2ZW50Iiwic3ViU2VjdGlvbiIsImdldEJsb2NrcyIsImNvbnRlbnQiLCJpc0EiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwic2VjdGlvbkxheW91dCIsImdldFZpZXdEYXRhIiwidGFibGVDb250cm9sIiwiZ2V0VGFibGVEZWZpbml0aW9uIiwiY29udHJvbCIsInJvd0NvdW50TW9kZSIsImNyZWF0aW9uTW9kZSIsIkNyZWF0aW9uTW9kZSIsIkNyZWF0aW9uUm93IiwiaGFzU3R5bGVDbGFzcyIsImFkZFN0eWxlQ2xhc3MiLCJzZXRNb2RlIiwic01vZGUiLCJzZXRQcm9wZXJ0eSIsImNvbm5lY3RUb01vZGVscyIsImdldEFnZ3JlZ2F0aW9uIiwiQmxvY2tCYXNlIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdWJTZWN0aW9uQmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IENyZWF0aW9uTW9kZSwgdHlwZSBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIFN1YlNlY3Rpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvc2VjdGlvbi9TdWJTZWN0aW9uXCI7XG5pbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEJsb2NrQmFzZSBmcm9tIFwic2FwL3V4YXAvQmxvY2tCYXNlXCI7XG5pbXBvcnQgdHlwZSB7IEJsb2NrQmFzZUNvbHVtbkxheW91dCB9IGZyb20gXCJzYXAvdXhhcC9saWJyYXJ5XCI7XG5pbXBvcnQgdXhhcExpYiBmcm9tIFwic2FwL3V4YXAvbGlicmFyeVwiO1xuY29uc3QgQmxvY2tCYXNlRm9ybUFkanVzdG1lbnQgPSB1eGFwTGliLkJsb2NrQmFzZUZvcm1BZGp1c3RtZW50O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKVxuY2xhc3MgU3ViU2VjdGlvbkJsb2NrIGV4dGVuZHMgQmxvY2tCYXNlIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAudXhhcC5CbG9ja0Jhc2VDb2x1bW5MYXlvdXRcIiwgZ3JvdXA6IFwiQmVoYXZpb3JcIiwgZGVmYXVsdFZhbHVlOiBcIjRcIiB9KVxuXHRjb2x1bW5MYXlvdXQhOiBCbG9ja0Jhc2VDb2x1bW5MYXlvdXQ7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAudWkuY29yZS5Db250cm9sXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRjb250ZW50ITogQ29udHJvbDtcblxuXHRwcml2YXRlIF9vUGFyZW50T2JqZWN0UGFnZVN1YlNlY3Rpb24hOiB7IF9vTGF5b3V0Q29uZmlnOiB1bmtub3duIH07XG5cblx0aW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5pbml0KCk7XG5cdFx0KHRoaXMgYXMgdW5rbm93biBhcyB7IF9iQ29ubmVjdGVkOiBib29sZWFuIH0pLl9iQ29ubmVjdGVkID0gdHJ1ZTtcblx0fVxuXG5cdF9hcHBseUZvcm1BZGp1c3RtZW50KCk6IHZvaWQge1xuXHRcdGNvbnN0IHNGb3JtQWRqdXN0bWVudCA9IHRoaXMuZ2V0Rm9ybUFkanVzdG1lbnQoKSxcblx0XHRcdG9WaWV3ID0gdGhpcy5fZ2V0U2VsZWN0ZWRWaWV3Q29udGVudCgpLFxuXHRcdFx0b1BhcmVudCA9IHRoaXMuX29QYXJlbnRPYmplY3RQYWdlU3ViU2VjdGlvbjtcblx0XHRsZXQgb0Zvcm1BZGp1c3RtZW50RmllbGRzO1xuXG5cdFx0aWYgKHNGb3JtQWRqdXN0bWVudCAhPT0gQmxvY2tCYXNlRm9ybUFkanVzdG1lbnQuTm9uZSAmJiBvVmlldyAmJiBvUGFyZW50KSB7XG5cdFx0XHRvRm9ybUFkanVzdG1lbnRGaWVsZHMgPSB0aGlzLl9jb21wdXRlRm9ybUFkanVzdG1lbnRGaWVsZHMoc0Zvcm1BZGp1c3RtZW50LCBvUGFyZW50Ll9vTGF5b3V0Q29uZmlnKTtcblxuXHRcdFx0dGhpcy5fYWRqdXN0Rm9ybShvVmlldywgb0Zvcm1BZGp1c3RtZW50RmllbGRzKTtcblx0XHR9XG5cdH1cblxuXHRvbkFmdGVyUmVuZGVyaW5nKG9FdmVudDogalF1ZXJ5LkV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc3ViU2VjdGlvbiA9IHRoaXMuX29QYXJlbnRPYmplY3RQYWdlU3ViU2VjdGlvbiBhcyB1bmtub3duIGFzIFN1YlNlY3Rpb247XG5cdFx0aWYgKHN1YlNlY3Rpb24uZ2V0QmxvY2tzKCkubGVuZ3RoID09PSAxICYmIHRoaXMuY29udGVudCAmJiB0aGlzLmNvbnRlbnQuaXNBPFRhYmxlQVBJPihcInNhcC5mZS5tYWNyb3MuVGFibGVcIikpIHtcblx0XHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdFx0Y29uc3Qgc2VjdGlvbkxheW91dCA9ICh2aWV3Py5nZXRWaWV3RGF0YSgpIGFzIE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzKT8uc2VjdGlvbkxheW91dDtcblx0XHRcdGNvbnN0IHRhYmxlQ29udHJvbCA9IHRoaXMuY29udGVudC5nZXRUYWJsZURlZmluaXRpb24oKS5jb250cm9sO1xuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdHRhYmxlQ29udHJvbC5yb3dDb3VudE1vZGUgPT09IFwiQXV0b1wiICYmXG5cdFx0XHRcdC8vIEV4Y2x1ZGUgQ3JlYXRpb25Sb3cgbW9kZSB1bmxlc3Mgc2VjdGlvbkxheW91dCBpcyBUYWJzOiB0aGUgZml0LWNvbnRhaW5lciBzdHlsZSBjcmVhdGVzIHdoaXRlc3BhY2UgaW4gdGhlIHN1YnNlY3Rpb24gaW4gZGlzcGxheSBtb2RlIHdoZW4gQ3JlYXRpb25Sb3cgaXMgdXNlZCBpbiBUYWJsZUNyZWF0aW9uT3B0aW9uc1xuXHRcdFx0XHQodGFibGVDb250cm9sLmNyZWF0aW9uTW9kZSAhPT0gQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93IHx8IHNlY3Rpb25MYXlvdXQgPT09IFwiVGFic1wiKSAmJlxuXHRcdFx0XHQhc3ViU2VjdGlvbi5oYXNTdHlsZUNsYXNzKFwic2FwVXhBUE9iamVjdFBhZ2VTdWJTZWN0aW9uRml0Q29udGFpbmVyXCIpXG5cdFx0XHQpIHtcblx0XHRcdFx0c3ViU2VjdGlvbi5hZGRTdHlsZUNsYXNzKFwic2FwVXhBUE9iamVjdFBhZ2VTdWJTZWN0aW9uRml0Q29udGFpbmVyXCIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc3VwZXIub25BZnRlclJlbmRlcmluZyhvRXZlbnQpO1xuXHR9XG5cblx0c2V0TW9kZShzTW9kZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcIm1vZGVcIiwgc01vZGUpO1xuXHRcdC8vIE9QVElPTkFMOiB0aGlzLmludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoXCIvbW9kZVwiLCBzTW9kZSk7XG5cdH1cblxuXHRjb25uZWN0VG9Nb2RlbHMoKTogdm9pZCB7XG5cdFx0Ly8gVmlldyBpcyBhbHJlYWR5IGNvbm5lY3RlZCB0byB0aGUgVUk1IG1vZGVsIHRyZWUsIGhlbmNlIG5vIGV4dHJhIGxvZ2ljIHJlcXVpcmVkIGhlcmVcblx0fVxuXG5cdC8vLyBTdWJTZWN0aW9uQmxvY2sgdXNlIGFnZ3JlZ2F0aW9uIGluc3RlYWQgb2YgYSB2aWV3LCBpLmUuIHJldHVybiB0aGF0IGFzIHRoZSB2aWV3IGNvbnRlbnRcblx0X2dldFNlbGVjdGVkVmlld0NvbnRlbnQoKTogTWFuYWdlZE9iamVjdCB8IE1hbmFnZWRPYmplY3RbXSB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKTtcblx0fVxufVxuXG5pbnRlcmZhY2UgU3ViU2VjdGlvbkJsb2NrIHtcblx0X2FkanVzdEZvcm0odmlldzogTWFuYWdlZE9iamVjdCB8IE1hbmFnZWRPYmplY3RbXSwgZm9ybUZpZWxkczogdW5rbm93bik6IHZvaWQ7XG5cdF9jb21wdXRlRm9ybUFkanVzdG1lbnRGaWVsZHMoc0Zvcm1BZGp1c3RtZW50OiBzdHJpbmcsIF9vTGF5b3V0Q29uZmlnOiB1bmtub3duKTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU3ViU2VjdGlvbkJsb2NrO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztFQVVBLE1BQU1BLHVCQUF1QixHQUFHQyxPQUFPLENBQUNELHVCQUF1QjtFQUFDLElBRTFERSxlQUFlLElBQUFDLElBQUEsR0FEcEJDLGNBQWMsQ0FBQyxzREFBc0QsQ0FBQyxFQUFBQyxLQUFBLEdBRXJFQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLGdDQUFnQztJQUFFQyxLQUFLLEVBQUUsVUFBVTtJQUFFQyxZQUFZLEVBQUU7RUFBSSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUcxRkMsV0FBVyxDQUFDO0lBQUVKLElBQUksRUFBRSxxQkFBcUI7SUFBRUssUUFBUSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFULElBQUEsQ0FBQVUsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxVQUFBO0lBQUEsU0FBQWIsZ0JBQUE7TUFBQSxJQUFBYyxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxVQUFBLENBQUFRLElBQUEsVUFBQUgsSUFBQTtNQUFBSSwwQkFBQSxDQUFBUixLQUFBLGtCQUFBUyxXQUFBLEVBQUFULEtBQUE7TUFBQVEsMEJBQUEsQ0FBQVIsS0FBQSxhQUFBVSxZQUFBLEVBQUFWLEtBQUE7TUFBQSxPQUFBQSxLQUFBO0lBQUE7SUFBQVcsY0FBQSxDQUFBekIsZUFBQSxFQUFBYSxVQUFBO0lBQUEsSUFBQWEsTUFBQSxHQUFBMUIsZUFBQSxDQUFBMkIsU0FBQTtJQUFBRCxNQUFBLENBSzlERSxJQUFJLEdBQUosU0FBQUEsSUFBSUEsQ0FBQSxFQUFTO01BQ1pmLFVBQUEsQ0FBQWMsU0FBQSxDQUFNQyxJQUFJLENBQUFQLElBQUE7TUFDVCxJQUFJLENBQXlDUSxXQUFXLEdBQUcsSUFBSTtJQUNqRSxDQUFDO0lBQUFILE1BQUEsQ0FFREksb0JBQW9CLEdBQXBCLFNBQUFBLG9CQUFvQkEsQ0FBQSxFQUFTO01BQzVCLE1BQU1DLGVBQWUsR0FBRyxJQUFJLENBQUNDLGlCQUFpQixDQUFDLENBQUM7UUFDL0NDLEtBQUssR0FBRyxJQUFJLENBQUNDLHVCQUF1QixDQUFDLENBQUM7UUFDdENDLE9BQU8sR0FBRyxJQUFJLENBQUNDLDRCQUE0QjtNQUM1QyxJQUFJQyxxQkFBcUI7TUFFekIsSUFBSU4sZUFBZSxLQUFLakMsdUJBQXVCLENBQUN3QyxJQUFJLElBQUlMLEtBQUssSUFBSUUsT0FBTyxFQUFFO1FBQ3pFRSxxQkFBcUIsR0FBRyxJQUFJLENBQUNFLDRCQUE0QixDQUFDUixlQUFlLEVBQUVJLE9BQU8sQ0FBQ0ssY0FBYyxDQUFDO1FBRWxHLElBQUksQ0FBQ0MsV0FBVyxDQUFDUixLQUFLLEVBQUVJLHFCQUFxQixDQUFDO01BQy9DO0lBQ0QsQ0FBQztJQUFBWCxNQUFBLENBRURnQixnQkFBZ0IsR0FBaEIsU0FBQUEsZ0JBQWdCQSxDQUFDQyxNQUFvQixFQUFvQjtNQUN4RCxNQUFNQyxVQUFVLEdBQUcsSUFBSSxDQUFDUiw0QkFBcUQ7TUFDN0UsSUFBSVEsVUFBVSxDQUFDQyxTQUFTLENBQUMsQ0FBQyxDQUFDNUIsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM2QixPQUFPLElBQUksSUFBSSxDQUFDQSxPQUFPLENBQUNDLEdBQUcsQ0FBVyxxQkFBcUIsQ0FBQyxFQUFFO1FBQzdHLE1BQU1DLElBQUksR0FBR0MsV0FBVyxDQUFDQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQzVDLE1BQU1DLGFBQWEsR0FBSUgsSUFBSSxFQUFFSSxXQUFXLENBQUMsQ0FBQyxFQUFpQ0QsYUFBYTtRQUN4RixNQUFNRSxZQUFZLEdBQUcsSUFBSSxDQUFDUCxPQUFPLENBQUNRLGtCQUFrQixDQUFDLENBQUMsQ0FBQ0MsT0FBTztRQUU5RCxJQUNDRixZQUFZLENBQUNHLFlBQVksS0FBSyxNQUFNO1FBQ3BDO1FBQ0NILFlBQVksQ0FBQ0ksWUFBWSxLQUFLQyxZQUFZLENBQUNDLFdBQVcsSUFBSVIsYUFBYSxLQUFLLE1BQU0sQ0FBQyxJQUNwRixDQUFDUCxVQUFVLENBQUNnQixhQUFhLENBQUMseUNBQXlDLENBQUMsRUFDbkU7VUFDRGhCLFVBQVUsQ0FBQ2lCLGFBQWEsQ0FBQyx5Q0FBeUMsQ0FBQztRQUNwRTtNQUNEO01BQ0EsT0FBQWhELFVBQUEsQ0FBQWMsU0FBQSxDQUFhZSxnQkFBZ0IsQ0FBQXJCLElBQUEsT0FBQ3NCLE1BQU07SUFDckMsQ0FBQztJQUFBakIsTUFBQSxDQUVEb0MsT0FBTyxHQUFQLFNBQUFBLE9BQU9BLENBQUNDLEtBQWEsRUFBUTtNQUM1QixJQUFJLENBQUNDLFdBQVcsQ0FBQyxNQUFNLEVBQUVELEtBQUssQ0FBQztNQUMvQjtJQUNELENBQUM7SUFBQXJDLE1BQUEsQ0FFRHVDLGVBQWUsR0FBZixTQUFBQSxlQUFlQSxDQUFBLEVBQVM7TUFDdkI7SUFBQTs7SUFHRDtJQUFBO0lBQUF2QyxNQUFBLENBQ0FRLHVCQUF1QixHQUF2QixTQUFBQSx1QkFBdUJBLENBQUEsRUFBMkM7TUFDakUsT0FBTyxJQUFJLENBQUNnQyxjQUFjLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFBQSxPQUFBbEUsZUFBQTtFQUFBLEVBMUQ0Qm1FLFNBQVMsR0FBQTVDLFdBQUEsR0FBQTZDLHlCQUFBLENBQUF4RCxPQUFBLENBQUFlLFNBQUEsbUJBQUF4QixLQUFBO0lBQUFrRSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWhELFlBQUEsR0FBQTRDLHlCQUFBLENBQUF4RCxPQUFBLENBQUFlLFNBQUEsY0FBQW5CLEtBQUE7SUFBQTZELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBNUQsT0FBQSxNQUFBRCxNQUFBO0VBQUEsT0FrRXhCWCxlQUFlO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCbG9ja0Jhc2VGb3JtQWRqdXN0bWVudCIsInV4YXBMaWIiLCJTdWJTZWN0aW9uQmxvY2siLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsImdyb3VwIiwiZGVmYXVsdFZhbHVlIiwiX2RlYzMiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CbG9ja0Jhc2UiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImluaXQiLCJfYkNvbm5lY3RlZCIsIl9hcHBseUZvcm1BZGp1c3RtZW50Iiwic0Zvcm1BZGp1c3RtZW50IiwiZ2V0Rm9ybUFkanVzdG1lbnQiLCJvVmlldyIsIl9nZXRTZWxlY3RlZFZpZXdDb250ZW50Iiwib1BhcmVudCIsIl9vUGFyZW50T2JqZWN0UGFnZVN1YlNlY3Rpb24iLCJvRm9ybUFkanVzdG1lbnRGaWVsZHMiLCJOb25lIiwiX2NvbXB1dGVGb3JtQWRqdXN0bWVudEZpZWxkcyIsIl9vTGF5b3V0Q29uZmlnIiwiX2FkanVzdEZvcm0iLCJvbkFmdGVyUmVuZGVyaW5nIiwib0V2ZW50Iiwic3ViU2VjdGlvbiIsInN1YlNlY3Rpb25CbG9ja3MiLCJnZXRCbG9ja3MiLCJmaWx0ZXIiLCJibG9jayIsImlzQSIsImNvbnRlbnQiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwic2VjdGlvbkxheW91dCIsImdldFZpZXdEYXRhIiwidGFibGVDb250cm9sIiwiZ2V0VGFibGVEZWZpbml0aW9uIiwiY29udHJvbCIsInJvd0NvdW50TW9kZSIsImNyZWF0aW9uTW9kZSIsIkNyZWF0aW9uTW9kZSIsIkNyZWF0aW9uUm93IiwiaGFzU3R5bGVDbGFzcyIsImFkZFN0eWxlQ2xhc3MiLCJzZXRNb2RlIiwic01vZGUiLCJzZXRQcm9wZXJ0eSIsImNvbm5lY3RUb01vZGVscyIsImdldEFnZ3JlZ2F0aW9uIiwiQmxvY2tCYXNlIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdWJTZWN0aW9uQmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IENyZWF0aW9uTW9kZSwgdHlwZSBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIFN1YlNlY3Rpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvc2VjdGlvbi9TdWJTZWN0aW9uXCI7XG5pbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEJsb2NrQmFzZSBmcm9tIFwic2FwL3V4YXAvQmxvY2tCYXNlXCI7XG5pbXBvcnQgdHlwZSB7IEJsb2NrQmFzZUNvbHVtbkxheW91dCB9IGZyb20gXCJzYXAvdXhhcC9saWJyYXJ5XCI7XG5pbXBvcnQgdXhhcExpYiBmcm9tIFwic2FwL3V4YXAvbGlicmFyeVwiO1xuY29uc3QgQmxvY2tCYXNlRm9ybUFkanVzdG1lbnQgPSB1eGFwTGliLkJsb2NrQmFzZUZvcm1BZGp1c3RtZW50O1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKVxuY2xhc3MgU3ViU2VjdGlvbkJsb2NrIGV4dGVuZHMgQmxvY2tCYXNlIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAudXhhcC5CbG9ja0Jhc2VDb2x1bW5MYXlvdXRcIiwgZ3JvdXA6IFwiQmVoYXZpb3JcIiwgZGVmYXVsdFZhbHVlOiBcIjRcIiB9KVxuXHRjb2x1bW5MYXlvdXQhOiBCbG9ja0Jhc2VDb2x1bW5MYXlvdXQ7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAudWkuY29yZS5Db250cm9sXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRjb250ZW50ITogQ29udHJvbDtcblxuXHRwcml2YXRlIF9vUGFyZW50T2JqZWN0UGFnZVN1YlNlY3Rpb24hOiB7IF9vTGF5b3V0Q29uZmlnOiB1bmtub3duIH07XG5cblx0aW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5pbml0KCk7XG5cdFx0KHRoaXMgYXMgdW5rbm93biBhcyB7IF9iQ29ubmVjdGVkOiBib29sZWFuIH0pLl9iQ29ubmVjdGVkID0gdHJ1ZTtcblx0fVxuXG5cdF9hcHBseUZvcm1BZGp1c3RtZW50KCk6IHZvaWQge1xuXHRcdGNvbnN0IHNGb3JtQWRqdXN0bWVudCA9IHRoaXMuZ2V0Rm9ybUFkanVzdG1lbnQoKSxcblx0XHRcdG9WaWV3ID0gdGhpcy5fZ2V0U2VsZWN0ZWRWaWV3Q29udGVudCgpLFxuXHRcdFx0b1BhcmVudCA9IHRoaXMuX29QYXJlbnRPYmplY3RQYWdlU3ViU2VjdGlvbjtcblx0XHRsZXQgb0Zvcm1BZGp1c3RtZW50RmllbGRzO1xuXG5cdFx0aWYgKHNGb3JtQWRqdXN0bWVudCAhPT0gQmxvY2tCYXNlRm9ybUFkanVzdG1lbnQuTm9uZSAmJiBvVmlldyAmJiBvUGFyZW50KSB7XG5cdFx0XHRvRm9ybUFkanVzdG1lbnRGaWVsZHMgPSB0aGlzLl9jb21wdXRlRm9ybUFkanVzdG1lbnRGaWVsZHMoc0Zvcm1BZGp1c3RtZW50LCBvUGFyZW50Ll9vTGF5b3V0Q29uZmlnKTtcblxuXHRcdFx0dGhpcy5fYWRqdXN0Rm9ybShvVmlldywgb0Zvcm1BZGp1c3RtZW50RmllbGRzKTtcblx0XHR9XG5cdH1cblxuXHRvbkFmdGVyUmVuZGVyaW5nKG9FdmVudDogalF1ZXJ5LkV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc3ViU2VjdGlvbiA9IHRoaXMuX29QYXJlbnRPYmplY3RQYWdlU3ViU2VjdGlvbiBhcyB1bmtub3duIGFzIFN1YlNlY3Rpb247XG5cdFx0Y29uc3Qgc3ViU2VjdGlvbkJsb2NrcyA9IHN1YlNlY3Rpb25cblx0XHRcdC5nZXRCbG9ja3MoKVxuXHRcdFx0LmZpbHRlcigoYmxvY2spID0+IGJsb2NrLmlzQShcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdWJTZWN0aW9uQmxvY2tcIikpO1xuXHRcdGlmIChzdWJTZWN0aW9uQmxvY2tzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLmNvbnRlbnQgJiYgdGhpcy5jb250ZW50LmlzQTxUYWJsZUFQST4oXCJzYXAuZmUubWFjcm9zLlRhYmxlXCIpKSB7XG5cdFx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRcdGNvbnN0IHNlY3Rpb25MYXlvdXQgPSAodmlldz8uZ2V0Vmlld0RhdGEoKSBhcyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyk/LnNlY3Rpb25MYXlvdXQ7XG5cdFx0XHRjb25zdCB0YWJsZUNvbnRyb2wgPSB0aGlzLmNvbnRlbnQuZ2V0VGFibGVEZWZpbml0aW9uKCkuY29udHJvbDtcblxuXHRcdFx0aWYgKFxuXHRcdFx0XHR0YWJsZUNvbnRyb2wucm93Q291bnRNb2RlID09PSBcIkF1dG9cIiAmJlxuXHRcdFx0XHQvLyBFeGNsdWRlIENyZWF0aW9uUm93IG1vZGUgdW5sZXNzIHNlY3Rpb25MYXlvdXQgaXMgVGFiczogdGhlIGZpdC1jb250YWluZXIgc3R5bGUgY3JlYXRlcyB3aGl0ZXNwYWNlIGluIHRoZSBzdWJzZWN0aW9uIGluIGRpc3BsYXkgbW9kZSB3aGVuIENyZWF0aW9uUm93IGlzIHVzZWQgaW4gVGFibGVDcmVhdGlvbk9wdGlvbnNcblx0XHRcdFx0KHRhYmxlQ29udHJvbC5jcmVhdGlvbk1vZGUgIT09IENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdyB8fCBzZWN0aW9uTGF5b3V0ID09PSBcIlRhYnNcIikgJiZcblx0XHRcdFx0IXN1YlNlY3Rpb24uaGFzU3R5bGVDbGFzcyhcInNhcFV4QVBPYmplY3RQYWdlU3ViU2VjdGlvbkZpdENvbnRhaW5lclwiKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHN1YlNlY3Rpb24uYWRkU3R5bGVDbGFzcyhcInNhcFV4QVBPYmplY3RQYWdlU3ViU2VjdGlvbkZpdENvbnRhaW5lclwiKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHN1cGVyLm9uQWZ0ZXJSZW5kZXJpbmcob0V2ZW50KTtcblx0fVxuXG5cdHNldE1vZGUoc01vZGU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJtb2RlXCIsIHNNb2RlKTtcblx0XHQvLyBPUFRJT05BTDogdGhpcy5pbnRlcm5hbE1vZGVsLnNldFByb3BlcnR5KFwiL21vZGVcIiwgc01vZGUpO1xuXHR9XG5cblx0Y29ubmVjdFRvTW9kZWxzKCk6IHZvaWQge1xuXHRcdC8vIFZpZXcgaXMgYWxyZWFkeSBjb25uZWN0ZWQgdG8gdGhlIFVJNSBtb2RlbCB0cmVlLCBoZW5jZSBubyBleHRyYSBsb2dpYyByZXF1aXJlZCBoZXJlXG5cdH1cblxuXHQvLy8gU3ViU2VjdGlvbkJsb2NrIHVzZSBhZ2dyZWdhdGlvbiBpbnN0ZWFkIG9mIGEgdmlldywgaS5lLiByZXR1cm4gdGhhdCBhcyB0aGUgdmlldyBjb250ZW50XG5cdF9nZXRTZWxlY3RlZFZpZXdDb250ZW50KCk6IE1hbmFnZWRPYmplY3QgfCBNYW5hZ2VkT2JqZWN0W10gfCBudWxsIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGlvbihcImNvbnRlbnRcIik7XG5cdH1cbn1cblxuaW50ZXJmYWNlIFN1YlNlY3Rpb25CbG9jayB7XG5cdF9hZGp1c3RGb3JtKHZpZXc6IE1hbmFnZWRPYmplY3QgfCBNYW5hZ2VkT2JqZWN0W10sIGZvcm1GaWVsZHM6IHVua25vd24pOiB2b2lkO1xuXHRfY29tcHV0ZUZvcm1BZGp1c3RtZW50RmllbGRzKHNGb3JtQWRqdXN0bWVudDogc3RyaW5nLCBfb0xheW91dENvbmZpZzogdW5rbm93bik6IHVua25vd247XG59XG5cbmV4cG9ydCBkZWZhdWx0IFN1YlNlY3Rpb25CbG9jaztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFVQSxNQUFNQSx1QkFBdUIsR0FBR0MsT0FBTyxDQUFDRCx1QkFBdUI7RUFBQyxJQUUxREUsZUFBZSxJQUFBQyxJQUFBLEdBRHBCQyxjQUFjLENBQUMsc0RBQXNELENBQUMsRUFBQUMsS0FBQSxHQUVyRUMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxnQ0FBZ0M7SUFBRUMsS0FBSyxFQUFFLFVBQVU7SUFBRUMsWUFBWSxFQUFFO0VBQUksQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHMUZDLFdBQVcsQ0FBQztJQUFFSixJQUFJLEVBQUUscUJBQXFCO0lBQUVLLFFBQVEsRUFBRTtFQUFNLENBQUMsQ0FBQyxFQUFBVCxJQUFBLENBQUFVLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMsVUFBQTtJQUFBLFNBQUFiLGdCQUFBO01BQUEsSUFBQWMsS0FBQTtNQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQUFDLElBQUEsT0FBQUMsS0FBQSxDQUFBSixJQUFBLEdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7UUFBQUYsSUFBQSxDQUFBRSxJQUFB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
@@ -39,7 +39,10 @@ class SubSectionBlock extends BlockBase {
39
39
 
40
40
  onAfterRendering(oEvent: jQuery.Event): void | undefined {
41
41
  const subSection = this._oParentObjectPageSubSection as unknown as SubSection;
42
- if (subSection.getBlocks().length === 1 && this.content && this.content.isA<TableAPI>("sap.fe.macros.Table")) {
42
+ const subSectionBlocks = subSection
43
+ .getBlocks()
44
+ .filter((block) => block.isA("sap.fe.templates.ObjectPage.controls.SubSectionBlock"));
45
+ if (subSectionBlocks.length === 1 && this.content && this.content.isA<TableAPI>("sap.fe.macros.Table")) {
43
46
  const view = CommonUtils.getTargetView(this);
44
47
  const sectionLayout = (view?.getViewData() as ObjectPageManifestSettings)?.sectionLayout;
45
48
  const tableControl = this.content.getTableDefinition().control;
@@ -4,7 +4,7 @@
4
4
  "id": "sap.fe.templates.ObjectPage",
5
5
  "type": "component",
6
6
  "applicationVersion": {
7
- "version": "1.148.1"
7
+ "version": "1.148.2"
8
8
  },
9
9
  "title": "Object Page",
10
10
  "tags": {
@@ -40,7 +40,7 @@
40
40
  >
41
41
  <template:if test="{sap.fe.i18n>T_COMMON_OBJECT_PAGE_OBJECT_INFO}">
42
42
  <f:title>
43
- <core:Title level="H4" text="{sap.fe.i18n>T_COMMON_OBJECT_PAGE_OBJECT_INFO}" />
43
+ <core:Title level="H3" text="{sap.fe.i18n>T_COMMON_OBJECT_PAGE_OBJECT_INFO}" />
44
44
  </f:title>
45
45
  </template:if>
46
46
  <f:dependents>
@@ -149,7 +149,7 @@
149
149
  >
150
150
  <template:if test="{subSection>title}">
151
151
  <f:title>
152
- <core:Title level="H4" text="{subSection>title}" />
152
+ <core:Title level="H3" text="{subSection>title}" />
153
153
  </f:title>
154
154
  </template:if>
155
155
  <f:formElements>
@@ -38,7 +38,7 @@ OP: 'sap/fe/templates/ObjectPage/ObjectPageTemplating'
38
38
  <template:if test="{header>aiNotice/contentFragmentName}">
39
39
  <template:then>
40
40
  <fpm:CustomFragment
41
- id="fe::expandedHeaderNotice"
41
+ id="{aiNoticeId>}"
42
42
  fragmentName="{header>aiNotice/contentFragmentName}"
43
43
  contextPath="{fullContextPath>}"
44
44
  />
@@ -19,7 +19,9 @@
19
19
  <template:with path="entityType>@com.sap.vocabularies.UI.v1.HeaderInfo" var="headerInfo">
20
20
  <template:with path="header>avatar" var="avatar">
21
21
  <uxap:expandedHeading>
22
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.ExpandedHeading" type="XML" />
22
+ <template:with path="header>aiNotice/expandedHeadingId" var="aiNoticeId">
23
+ <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.ExpandedHeading" type="XML" />
24
+ </template:with>
23
25
  </uxap:expandedHeading>
24
26
  <uxap:snappedHeading>
25
27
  <FlexBox renderType="Bare">
@@ -64,8 +66,10 @@
64
66
  </uxap:snappedHeading>
65
67
  <template:if test="{= !${header>hasContent} }">
66
68
  <uxap:heading>
67
- <!-- Default, we fall back to expanded heading -->
68
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.ExpandedHeading" type="XML" />
69
+ <!-- Falls back to the expanded heading; uses a distinct id since both slots coexist in the control tree. -->
70
+ <template:with path="header>aiNotice/defaultHeadingId" var="aiNoticeId">
71
+ <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.ExpandedHeading" type="XML" />
72
+ </template:with>
69
73
  </uxap:heading>
70
74
  </template:if>
71
75
  <uxap:snappedContent>
@@ -24,7 +24,7 @@
24
24
  dt:designtime="not-adaptable-visibility"
25
25
  id="{headerSection>id}"
26
26
  title="{headerSection>title}"
27
- titleLevel="H3"
27
+ titleLevel="H2"
28
28
  visible="{headerSection>visible}"
29
29
  titleUppercase="false"
30
30
  onSectionLoaded="{section>onSectionLoaded}"
@@ -32,7 +32,7 @@
32
32
  retrieveStateHandler="{headerSection>retrieveState}"
33
33
  >
34
34
  <macroControl:subSections>
35
- <macroSectionContent:SubSection id="fe::EditableHeaderSubSection" title="{headerSection>title}" titleLevel="H4">
35
+ <macroSectionContent:SubSection id="fe::EditableHeaderSubSection" title="{headerSection>title}" titleLevel="H3">
36
36
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.EditableHeaderFacet" type="XML" />
37
37
  </macroSectionContent:SubSection>
38
38
  </macroControl:subSections>
@@ -44,7 +44,7 @@
44
44
  <macroControl:Section
45
45
  id="{section>id}"
46
46
  title="{section>title}"
47
- titleLevel="H3"
47
+ titleLevel="H2"
48
48
  showTitle="{section>showTitle}"
49
49
  titleUppercase="false"
50
50
  visible="{section>visible}"
@@ -59,7 +59,7 @@
59
59
  <macroSectionContent:SubSection
60
60
  id="{subSection>id}"
61
61
  title="{subSection>title}"
62
- titleLevel="H4"
62
+ titleLevel="H3"
63
63
  showTitle="{subSection>showSubSectionTitle}"
64
64
  visible="{subSection>visible}"
65
65
  class="{subSection>class}"
@@ -36,7 +36,7 @@ sap.ui.define(["sap/f/library", "sap/fe/core/library", "sap/fe/macros/library",
36
36
  controls: [],
37
37
  elements: [],
38
38
  // eslint-disable-next-line no-template-curly-in-string
39
- version: "1.148.1",
39
+ version: "1.148.2",
40
40
  noLibraryCSS: true
41
41
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  });