@sapui5/sap.ui.richtexteditor 1.134.0 → 1.136.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 (42) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/richtexteditor/.library +2 -2
  3. package/src/sap/ui/richtexteditor/RTESplitButton.js +2 -2
  4. package/src/sap/ui/richtexteditor/RTESplitButtonRenderer.js +1 -1
  5. package/src/sap/ui/richtexteditor/RichTextEditor.js +17 -15
  6. package/src/sap/ui/richtexteditor/RichTextEditorRenderer.js +25 -1
  7. package/src/sap/ui/richtexteditor/ToolbarWrapper.js +1 -1
  8. package/src/sap/ui/richtexteditor/ToolbarWrapperRenderer.js +1 -1
  9. package/src/sap/ui/richtexteditor/js/styles/RichTextEditor.css +3 -0
  10. package/src/sap/ui/richtexteditor/library.js +2 -2
  11. package/src/sap/ui/richtexteditor/messagebundle_de.properties +2 -2
  12. package/src/sap/ui/richtexteditor/messagebundle_fr.properties +1 -1
  13. package/src/sap/ui/richtexteditor/themes/base/RichTextEditor.less +41 -4
  14. package/src/sap/ui/richtexteditor/themes/base/library.source.less +1 -1
  15. package/src/sap/ui/richtexteditor/themes/sap_belize/RichTextEditor.less +1 -6
  16. package/src/sap/ui/richtexteditor/themes/sap_belize/library.source.less +1 -1
  17. package/src/sap/ui/richtexteditor/themes/sap_belize_base/RichTextEditor.less +64 -3
  18. package/src/sap/ui/richtexteditor/themes/sap_belize_base/library.source.less +1 -1
  19. package/src/sap/ui/richtexteditor/themes/sap_belize_hcb/RichTextEditor.less +8 -0
  20. package/src/sap/ui/richtexteditor/themes/sap_belize_hcb/library.source.less +1 -1
  21. package/src/sap/ui/richtexteditor/themes/sap_belize_hcw/RichTextEditor.less +7 -0
  22. package/src/sap/ui/richtexteditor/themes/sap_belize_hcw/library.source.less +1 -1
  23. package/src/sap/ui/richtexteditor/themes/sap_belize_plus/library.source.less +1 -1
  24. package/src/sap/ui/richtexteditor/themes/sap_bluecrystal/library.source.less +1 -1
  25. package/src/sap/ui/richtexteditor/themes/sap_bluecrystal_base/RichTextEditor.less +31 -2
  26. package/src/sap/ui/richtexteditor/themes/sap_bluecrystal_base/library.source.less +1 -1
  27. package/src/sap/ui/richtexteditor/themes/sap_fiori_3/RichTextEditor.less +4 -4
  28. package/src/sap/ui/richtexteditor/themes/sap_fiori_3/library.source.less +1 -1
  29. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_dark/RichTextEditor.less +4 -4
  30. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_dark/library.source.less +1 -1
  31. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcb/RichTextEditor.less +0 -4
  32. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcb/library.source.less +1 -1
  33. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcw/RichTextEditor.less +0 -4
  34. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcw/library.source.less +1 -1
  35. package/src/sap/ui/richtexteditor/themes/sap_horizon/RichTextEditor.less +4 -4
  36. package/src/sap/ui/richtexteditor/themes/sap_horizon/library.source.less +1 -1
  37. package/src/sap/ui/richtexteditor/themes/sap_horizon_dark/RichTextEditor.less +3 -3
  38. package/src/sap/ui/richtexteditor/themes/sap_horizon_dark/library.source.less +1 -1
  39. package/src/sap/ui/richtexteditor/themes/sap_horizon_hcb/RichTextEditor.less +3 -3
  40. package/src/sap/ui/richtexteditor/themes/sap_horizon_hcb/library.source.less +1 -1
  41. package/src/sap/ui/richtexteditor/themes/sap_horizon_hcw/RichTextEditor.less +3 -3
  42. package/src/sap/ui/richtexteditor/themes/sap_horizon_hcw/library.source.less +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ui.richtexteditor",
3
- "version": "1.134.0",
3
+ "version": "1.136.0",
4
4
  "description": "SAPUI5 Library sap.ui.richtexteditor",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "author": "SAP SE (https://www.sap.com)",
@@ -4,8 +4,8 @@
4
4
  <name>sap.ui.richtexteditor</name>
5
5
  <vendor>SAP SE</vendor>
6
6
  <copyright>SAPUI5
7
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.</copyright>
8
- <version>1.134.0</version>
7
+ * (c) Copyright 2025 SAP SE. All rights reserved.</copyright>
8
+ <version>1.136.0</version>
9
9
 
10
10
  <documentation>A rich text editor (RTE) control. Requires installation of an additional rich text editor library.</documentation>
11
11
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
  // Provides control sap.ui.richtexteditor.RTESplitButton.
6
6
  sap.ui.define([
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @alias sap.ui.richtexteditor.RTESplitButton
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.134.0
27
+ * @version 1.136.0
28
28
  */
29
29
  var RTESplitButton = SplitButton.extend("sap.ui.richtexteditor.RTESplitButton", {
30
30
  metadata: {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
  // Provides default renderer for control sap.ui.richtexteditor.RTESplitButton
6
6
  sap.ui.define(['sap/m/SplitButtonRenderer', 'sap/ui/core/Renderer'],
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  // Provides control sap.ui.richtexteditor.RichTextEditor.
@@ -355,6 +355,13 @@ sap.ui.define([
355
355
  beforeEditorInit: {}
356
356
  },
357
357
  aggregations: {
358
+ /**
359
+ * Defines the footer of the control. The footer will be available only with custom toolbar.
360
+ * <b>Note:</b> The footer aggregation accepts only controls inheriting <code>sap.m.IBar</code>.
361
+ *
362
+ * @experimental As of version 1.135
363
+ */
364
+ footer: {type: "sap.ui.core.Control", multiple: false},
358
365
  /**
359
366
  * Custom toolbar wrapper.
360
367
  * The wrapper gets instantiated when customToolbar property is set to true.
@@ -675,11 +682,6 @@ sap.ui.define([
675
682
  this._textAreaId = this.getId() + "-textarea";
676
683
  this._iframeId = this._textAreaId + "_ifr";
677
684
 
678
- this._textAreaDom = document.createElement("textarea");
679
- this._textAreaDom.id = this._textAreaId;
680
- this._textAreaDom.style.height = "100%";
681
- this._textAreaDom.style.width = "100%";
682
-
683
685
  this.setEditorType(sEditorType);
684
686
 
685
687
  this._setupToolbar();
@@ -1550,17 +1552,11 @@ sap.ui.define([
1550
1552
  } else if (oDomRef) {
1551
1553
 
1552
1554
  switch (this._tinyMCEStatus) {
1553
- case EditorStatus.Initializing:
1554
- oDomRef.appendChild(this._textAreaDom);
1555
- break;
1556
1555
  case EditorStatus.Loaded:
1557
1556
  case EditorStatus.Loading:
1558
- this.getDomRef().appendChild(this._textAreaDom);
1559
1557
  this.reinitializeTinyMCE();
1560
1558
  break;
1561
1559
  case EditorStatus.Ready:
1562
- // We need to reinitialize TinyMCE so changes will be shown.
1563
- oDomRef.appendChild(this._textAreaDom);
1564
1560
  this.reinitializeTinyMCE();
1565
1561
  break;
1566
1562
 
@@ -1681,7 +1677,7 @@ sap.ui.define([
1681
1677
  this._pTinyMCEInitialized = new Promise(function(fnResolve, fnReject) {
1682
1678
  this._bInitializationPending = false;
1683
1679
  this._tinyMCEStatus = EditorStatus.Initializing;
1684
- this._textAreaDom.value = this._patchTinyMCEValue(this.getValue());
1680
+ this._getTextAreaDOM().value = this._patchTinyMCEValue(this.getValue());
1685
1681
  window.tinymce.init(this._createConfigTinyMCE(function() {
1686
1682
  this._tinyMCEStatus = EditorStatus.Ready;
1687
1683
  // Wee need to add a timeout here, as the promise resolves before other asynchronous tasks like the
@@ -1696,6 +1692,10 @@ sap.ui.define([
1696
1692
  }.bind(this));
1697
1693
  };
1698
1694
 
1695
+ RichTextEditor.prototype._getTextAreaDOM = function() {
1696
+ return this.getDomRef().querySelector("textarea");
1697
+ };
1698
+
1699
1699
  /**
1700
1700
  * Patches the value which would be inserted in TinyMCE.
1701
1701
  *
@@ -1909,7 +1909,9 @@ sap.ui.define([
1909
1909
  /*eslint-disable camelcase */
1910
1910
  var oConfig = {
1911
1911
  // The following line only covers the editor content, not the UI in general
1912
- height: "calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))",
1912
+ height: !this.getAggregation("footer")
1913
+ ? "calc(100% - var(--_sap_ui_richtexteditor__footer_height))"
1914
+ : "calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))",
1913
1915
  directionality: this._getTextDirection(),
1914
1916
  selector: "[id='" + this._textAreaId + "']",
1915
1917
  theme: "silver",
@@ -1922,7 +1924,7 @@ sap.ui.define([
1922
1924
  toolbar_items_size: 'small',
1923
1925
  toolbar: aButtonRows,
1924
1926
  toolbar_mode: "sliding",
1925
- content_style: `body { font-family: verdana, geneva, sans-serif; }`,
1927
+ content_css: [sap.ui.require.toUrl("sap/ui/richtexteditor/js/styles/RichTextEditor.css")],
1926
1928
  statusbar: false, // disables display of the status bar at the bottom of the editor
1927
1929
  image_advtab: true, // Adds an "Advanced" tab to the image dialog allowing you to add custom styles, spacing and borders to images
1928
1930
  readonly: !this.getEditable(),
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
  // Provides default renderer for control sap.ui.richtexteditor.RichTextEditor
6
6
  sap.ui.define(["sap/ui/core/Lib"],
@@ -76,7 +76,31 @@ sap.ui.define(["sap/ui/core/Lib"],
76
76
  if (this[sRenderMethodName] && typeof this[sRenderMethodName] === "function") {
77
77
  this[sRenderMethodName].call(this, rm, oRichTextEditor);
78
78
  }
79
+ const footer = oRichTextEditor.getFooter();
79
80
 
81
+ rm.openStart("div", oRichTextEditor.getId() + "-textareaWrapper");
82
+ rm.class("sapUiRTETextAreaWrapper");
83
+
84
+ if (footer) {
85
+ rm.class("sapUiRTEFooter");
86
+ }
87
+
88
+ rm.openEnd();
89
+
90
+ rm.openStart("textarea", oRichTextEditor.getId() + "-textarea");
91
+ rm.style("height", "100%");
92
+ rm.style("width", "100%");
93
+
94
+ rm.openEnd();
95
+
96
+ rm.close("textarea");
97
+
98
+ // Footer should be rendered only in case of custom toolbar.
99
+ if (footer && bCustomToolbar) {
100
+ rm.renderControl(footer);
101
+ }
102
+
103
+ rm.close("div");
80
104
  rm.close("div");
81
105
  };
82
106
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  // Provides control sap.ui.richtexteditor.ToolbarWrapper.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
  // Provides default renderer for control sap.ui.richtexteditor.ToolbarWrapper
6
6
  sap.ui.define([],
@@ -0,0 +1,3 @@
1
+ body {
2
+ font-family: verdana, geneva, sans-serif;
3
+ }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  /**
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  "sap.ui.richtexteditor.RTESplitButton"
38
38
  ],
39
39
  elements: [],
40
- version: "1.134.0"
40
+ version: "1.136.0"
41
41
  });
42
42
 
43
43
  /**
@@ -69,7 +69,7 @@ UNDO_BUTTON_TOOLTIP=R\u00FCckg\u00E4ngig machen
69
69
  REDO_BUTTON_TOOLTIP=Wiederherstellen
70
70
 
71
71
  #XTOL: Tooltip for link button
72
- LINK_BUTTON_TOOLTIP=Link einf\u00FCgen / bearbeiten
72
+ LINK_BUTTON_TOOLTIP=Link einf\u00FCgen/bearbeiten
73
73
 
74
74
  #XTOL: Tooltip for unlink button
75
75
  UNLINK_BUTTON_TOOLTIP=Link entfernen
@@ -111,7 +111,7 @@ TEXTALIGH_LEFT=Links
111
111
  TEXTALIGH_RIGHT=Rechts
112
112
 
113
113
  #XTOL: Heading for center alignment option from alignment menu
114
- TEXTALIGH_CENTER=Mitte
114
+ TEXTALIGH_CENTER=Zentriert
115
115
 
116
116
  #XTOL: Heading for full alignment option from alignment menu
117
117
  TEXTALIGH_FULL=Blocksatz
@@ -132,7 +132,7 @@ INSERT_IMAGE_RATIO=G\u00E9rer le ratio d'aspect
132
132
  DIALOG_OK_BUTTON=OK
133
133
 
134
134
  #XBUT: Cancel button for inserting content dialog
135
- DIALOG_CANCEL_BUTTON=Interrompre
135
+ DIALOG_CANCEL_BUTTON=Annuler
136
136
 
137
137
  #XFLD: Label for url input for inserting link
138
138
  INSERT_LINK_URL=URL
@@ -1,8 +1,15 @@
1
1
  .sapUiRTE {
2
2
  display: inline-block;
3
3
  min-height: 200px;
4
+
5
+ }
6
+
7
+ .sapUiRTE {
8
+ --_sap_ui_richtexteditor__wrapper-border: 4px;
4
9
  }
5
10
 
11
+ /* ====== Custom Toolbar ====== */
12
+
6
13
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
14
  --_sap_ui_richtexteditor__toolbar_height: 2.75rem;
8
15
  }
@@ -16,6 +23,21 @@
16
23
  --_sap_ui_richtexteditor__toolbar_height: 2rem;
17
24
  }
18
25
 
26
+ /* ====== Footer Toolbar ====== */
27
+
28
+ .sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter {
29
+ --_sap_ui_richtexteditor__footer_height: 2.75rem;
30
+ }
31
+
32
+ .sapUiRTE .sapUiRTETextAreaWrapper:not(.sapUiRTEFooter) {
33
+ --_sap_ui_richtexteditor__footer_height: 0rem;
34
+ }
35
+
36
+ .sapUiSizeCompact.sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter,
37
+ .sapUiSizeCompact .sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter {
38
+ --_sap_ui_richtexteditor__footer_height: 2rem;
39
+ }
40
+
19
41
  /* This fixes the focus of the split buttons in Edge */
20
42
  html[data-sap-ui-browser^="ed"] {
21
43
  .sapUiRTE.sapUiRTEWithCustomToolbar .sapUiRTECustomToolbar .sapMBtnBase.sapMSBText .sapMBtnFocusDiv {
@@ -25,22 +47,24 @@ html[data-sap-ui-browser^="ed"] {
25
47
 
26
48
  .sapUiRTE .sapUiRteEditorContainer {
27
49
  border-radius: 0;
28
- border-width: 1px;
29
50
  .tox-editor-container
30
51
  .tox-editor-header {
31
52
  padding: 0;
32
53
  }
33
54
 
34
- min-height: ~"calc(200px - var(--_sap_ui_richtexteditor__toolbar_height))";
55
+ min-height: ~"calc(200px - var(--_sap_ui_richtexteditor__toolbar_height) - var(--_sap_ui_richtexteditor__footer_height) - var(--_sap_ui_richtexteditor__wrapper-border))";
35
56
  }
36
57
 
37
58
  .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
59
+ border: none !important;
38
60
  box-sizing: border-box;
39
- border-top: 0;
40
- border-color: @sapUiFieldBorderColor;
41
61
  box-shadow: none;
42
62
  }
43
63
 
64
+ .sapUiRTEWithCustomToolbar .sapUiRTETextAreaWrapper {
65
+ border: 1px solid @sapUiFieldBorderColor;
66
+ }
67
+
44
68
  .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
45
69
  .mce-container.mce-panel.mce-first,
46
70
  .mce-container.mce-panel.mce-last {
@@ -81,3 +105,16 @@ svg.rteFontColorIcon .outline {
81
105
  -1px 1px 0 @sapUiContentForegroundBorderColor,
82
106
  1px 1px 0 @sapUiContentForegroundBorderColor;
83
107
  }
108
+
109
+ .sapUiRTE .sapUiRTETextAreaWrapper {
110
+ box-sizing: border-box;
111
+ height: ~"calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))";
112
+ }
113
+
114
+ .sapUiRTE .sapUiRTEFooter .sapMIBar {
115
+ box-sizing: border-box;
116
+ }
117
+
118
+ .sapUiRTE .sapUiRTEFooter .sapMIBar .sapMBarRight {
119
+ padding-right: 4px;
120
+ }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../../../../../sap/ui/core/themes/base/base.less";
@@ -3,11 +3,6 @@
3
3
  /* Belize theme */
4
4
  /* ==================================================== */
5
5
 
6
- /*RichTextEditor with Custom toolbar*/
7
- .sapUiRTE.sapUiRTEWithCustomToolbar {
8
- --_sap_ui_richtexteditor__toolbar_height: 3rem;
9
- }
10
-
11
6
  .sapUiRTE.sapUiRTEWithCustomToolbar .sapUiRTECustomToolbar {
12
7
 
13
8
  .sapMBarChild ~ .sapMBarChild {
@@ -30,4 +25,4 @@
30
25
  right: 0.25rem;
31
26
  }
32
27
  }
33
- }
28
+ }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  /* ============================================================================ */
@@ -3,8 +3,18 @@
3
3
  min-height: 200px;
4
4
  }
5
5
 
6
+ .sapUiRTE {
7
+ --_sap_ui_richtexteditor__wrapper-border: 0px;
8
+ }
9
+
10
+ .sapUiRTE .sapUiRTEFooter {
11
+ --_sap_ui_richtexteditor__wrapper-border: 2px;
12
+ }
13
+
14
+ /* ====== Custom Toolbar ====== */
15
+
6
16
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
- --_sap_ui_richtexteditor__toolbar_height: 2.75rem;
17
+ --_sap_ui_richtexteditor__toolbar_height: 3rem;
8
18
  }
9
19
 
10
20
  .sapUiRTE:not(.sapUiRTEWithCustomToolbar) {
@@ -16,6 +26,21 @@
16
26
  --_sap_ui_richtexteditor__toolbar_height: 2rem;
17
27
  }
18
28
 
29
+ /* ====== Footer Toolbar ====== */
30
+
31
+ .sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter {
32
+ --_sap_ui_richtexteditor__footer_height: 3rem;
33
+ }
34
+
35
+ .sapUiRTE .sapUiRTETextAreaWrapper:not(.sapUiRTEFooter) {
36
+ --_sap_ui_richtexteditor__footer_height: 0rem;
37
+ }
38
+
39
+ .sapUiSizeCompact.sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter,
40
+ .sapUiSizeCompact .sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter {
41
+ --_sap_ui_richtexteditor__footer_height: 2rem;
42
+ }
43
+
19
44
  /* This fixes the focus of the split buttons in Edge */
20
45
  html[data-sap-ui-browser^="ed"] {
21
46
  .sapUiRTE.sapUiRTEWithCustomToolbar .sapUiRTECustomToolbar .sapMBtnBase.sapMSBText .sapMBtnFocusDiv {
@@ -31,12 +56,15 @@ html[data-sap-ui-browser^="ed"] {
31
56
  padding: 0;
32
57
  }
33
58
 
34
- min-height: ~"calc(200px - var(--_sap_ui_richtexteditor__toolbar_height))";
59
+ min-height: ~"calc(200px - var(--_sap_ui_richtexteditor__toolbar_height) - var(--_sap_ui_richtexteditor__footer_height) - var(--_sap_ui_richtexteditor__wrapper-border))";
60
+ }
61
+
62
+ .sapUiRTEWithCustomToolbar .sapUiRTEFooter .sapUiRteEditorContainer {
63
+ border: 0;
35
64
  }
36
65
 
37
66
  .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
38
67
  box-sizing: border-box;
39
- border-top: 0;
40
68
  border-color: @sapUiFieldBorderColor;
41
69
  box-shadow: none;
42
70
  }
@@ -81,3 +109,36 @@ svg.rteFontColorIcon .outline {
81
109
  -1px 1px 0 @sapUiContentForegroundBorderColor,
82
110
  1px 1px 0 @sapUiContentForegroundBorderColor;
83
111
  }
112
+
113
+ .sapUiRTE .sapUiRTETextAreaWrapper {
114
+ box-sizing: border-box;
115
+ height: ~"calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))";
116
+ }
117
+
118
+ .sapUiRTE .sapUiRTEFooter .sapMIBar {
119
+ box-sizing: border-box;
120
+ }
121
+
122
+ .sapUiRTE .sapUiRTEFooter .sapMIBar .sapMBarRight {
123
+ padding-right: 4px;
124
+ }
125
+
126
+ .sapUiRTE.sapUiRTEWithCustomToolbar {
127
+
128
+ .sapUiRTETextAreaWrapper.sapUiRTEFooter {
129
+ border: @sapUiContentFocusWidth solid @sapUiFieldBorderColor;
130
+ }
131
+
132
+ .sapUiRTECustomToolbar.sapMTB.sapMTBStandard {
133
+ border-bottom: none;
134
+ }
135
+ }
136
+
137
+ .sapUiRTE .sapUiRTEFooter .sapMIBar {
138
+ box-sizing: border-box;
139
+ }
140
+
141
+ .sapUiRTE .sapUiRTEFooter .sapMIBar .sapMBarRight {
142
+ padding-right: 4px;
143
+ }
144
+
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../../../../../sap/ui/core/themes/base/base.less";
@@ -3,6 +3,14 @@
3
3
  /* Belize High Contrast Black Theme */
4
4
  /* ==================================================== */
5
5
 
6
+ .sapUiRTE {
7
+ --_sap_ui_richtexteditor__wrapper-border: 0px;
8
+ }
9
+
10
+ .sapUiRTE .sapUiRTEFooter {
11
+ --_sap_ui_richtexteditor__wrapper-border: 4px;
12
+ }
13
+
6
14
  /*RichTextEditor with Custom toolbar*/
7
15
  .sapUiRTE.sapUiRTEWithCustomToolbar .sapUiRTECustomToolbar {
8
16
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  /* ============================================================================ */
@@ -3,6 +3,13 @@
3
3
  /* Belize High Contrast White Theme */
4
4
  /* ==================================================== */
5
5
 
6
+ .sapUiRTE {
7
+ --_sap_ui_richtexteditor__wrapper-border: 0px;
8
+ }
9
+
10
+ .sapUiRTE .sapUiRTEFooter {
11
+ --_sap_ui_richtexteditor__wrapper-border: 4px;
12
+ }
6
13
 
7
14
  /*RichTextEditor with Custom toolbar*/
8
15
  .sapUiRTE.sapUiRTEWithCustomToolbar .sapUiRTECustomToolbar {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  /* ============================================================================ */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../sap_belize/library.source.less";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  /* ============================================================================== */
@@ -3,8 +3,10 @@
3
3
  min-height: 200px;
4
4
  }
5
5
 
6
+ /* ====== Custom Toolbar ====== */
7
+
6
8
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
- --_sap_ui_richtexteditor__toolbar_height: 2.75rem;
9
+ --_sap_ui_richtexteditor__toolbar_height: 3rem;
8
10
  }
9
11
 
10
12
  .sapUiRTE:not(.sapUiRTEWithCustomToolbar) {
@@ -16,6 +18,21 @@
16
18
  --_sap_ui_richtexteditor__toolbar_height: 2rem;
17
19
  }
18
20
 
21
+ /* ====== Footer Toolbar ====== */
22
+
23
+ .sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter {
24
+ --_sap_ui_richtexteditor__footer_height: 3rem;
25
+ }
26
+
27
+ .sapUiRTE .sapUiRTETextAreaWrapper:not(.sapUiRTEFooter) {
28
+ --_sap_ui_richtexteditor__footer_height: 0rem;
29
+ }
30
+
31
+ .sapUiSizeCompact.sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter,
32
+ .sapUiSizeCompact .sapUiRTE .sapUiRTETextAreaWrapper.sapUiRTEFooter {
33
+ --_sap_ui_richtexteditor__footer_height: 2rem;
34
+ }
35
+
19
36
  /* This fixes the focus of the split buttons in Edge */
20
37
  html[data-sap-ui-browser^="ed"] {
21
38
  .sapUiRTE.sapUiRTEWithCustomToolbar .sapUiRTECustomToolbar .sapMBtnBase.sapMSBText .sapMBtnFocusDiv {
@@ -31,7 +48,7 @@ html[data-sap-ui-browser^="ed"] {
31
48
  padding: 0;
32
49
  }
33
50
 
34
- min-height: ~"calc(200px - var(--_sap_ui_richtexteditor__toolbar_height))";
51
+ min-height: ~"calc(200px - 2 * var(--_sap_ui_richtexteditor__toolbar_height))";
35
52
  }
36
53
 
37
54
  .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
@@ -81,3 +98,15 @@ svg.rteFontColorIcon .outline {
81
98
  -1px 1px 0 @sapUiContentForegroundBorderColor,
82
99
  1px 1px 0 @sapUiContentForegroundBorderColor;
83
100
  }
101
+
102
+ .sapUiRTE .sapUiRTETextAreaWrapper {
103
+ box-sizing: border-box;
104
+ height: ~"calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))";
105
+ }
106
+
107
+ .sapUiRTE.sapUiRTEWithCustomToolbar {
108
+
109
+ .sapUiRTECustomToolbar.sapMTB.sapMTBStandard {
110
+ border-bottom: none;
111
+ }
112
+ }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../../../../../sap/ui/core/themes/base/base.less";
@@ -3,10 +3,10 @@
3
3
  /* Fiori 3 theme */
4
4
  /* ==================================================== */
5
5
 
6
+ .sapUiRTE {
7
+ --_sap_ui_richtexteditor__wrapper-border: 2px;
8
+ }
9
+
6
10
  .sapUiRTEWithCustomToolbar .sapMTB.sapUiRTECustomToolbar {
7
11
  border-bottom: none;
8
12
  }
9
-
10
- .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
11
- border-top: 1px solid @sapUiFieldBorderColor;
12
- }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -3,10 +3,10 @@
3
3
  /* Fiori 3 Dark theme */
4
4
  /* ==================================================== */
5
5
 
6
+ .sapUiRTE {
7
+ --_sap_ui_richtexteditor__wrapper-border: 2px;
8
+ }
9
+
6
10
  .sapUiRTEWithCustomToolbar .sapMTB.sapUiRTECustomToolbar {
7
11
  border-bottom: none;
8
12
  }
9
-
10
- .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
11
- border-top: 1px solid @sapUiFieldBorderColor;
12
- }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -6,7 +6,3 @@
6
6
  .sapUiRTEWithCustomToolbar .sapMTB.sapUiRTECustomToolbar {
7
7
  border-bottom: none;
8
8
  }
9
-
10
- .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
11
- border-top: 1px solid @sapUiFieldBorderColor;
12
- }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -6,7 +6,3 @@
6
6
  .sapUiRTEWithCustomToolbar .sapMTB.sapUiRTECustomToolbar {
7
7
  border-bottom: none;
8
8
  }
9
-
10
- .sapUiRTEWithCustomToolbar .sapUiRteEditorContainer {
11
- border-top: 1px solid @sapUiFieldBorderColor;
12
- }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -5,9 +5,9 @@
5
5
 
6
6
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
7
 
8
- .sapUiRteEditorContainer {
9
- border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor !important;
10
- };
8
+ .sapUiRTETextAreaWrapper {
9
+ border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor;
10
+ }
11
11
 
12
12
  .sapUiRTECustomToolbar.sapMTB.sapMTBStandard {
13
13
  border-bottom: none;
@@ -27,4 +27,4 @@
27
27
  .sapMBtn:not(.sapMSBArrow) .sapMBtnInner .sapMBtnIcon {
28
28
  top: 0.0625rem;
29
29
  }
30
- }
30
+ }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -5,9 +5,9 @@
5
5
 
6
6
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
7
 
8
- .sapUiRteEditorContainer {
9
- border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor !important;
10
- };
8
+ .sapUiRTETextAreaWrapper {
9
+ border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor;
10
+ }
11
11
 
12
12
  .sapUiRTECustomToolbar.sapMTB.sapMTBStandard {
13
13
  border-bottom: none;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -5,9 +5,9 @@
5
5
 
6
6
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
7
 
8
- .sapUiRteEditorContainer {
9
- border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor !important;
10
- };
8
+ .sapUiRTETextAreaWrapper {
9
+ border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor;
10
+ }
11
11
 
12
12
  .sapUiRTECustomToolbar.sapMTB.sapMTBStandard {
13
13
  border-bottom: none;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";
@@ -5,9 +5,9 @@
5
5
 
6
6
  .sapUiRTE.sapUiRTEWithCustomToolbar {
7
7
 
8
- .sapUiRteEditorContainer {
9
- border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor !important;
10
- };
8
+ .sapUiRTETextAreaWrapper {
9
+ border: @sapUiContentFocusWidth solid @sapUiFieldActiveBorderColor;
10
+ }
11
11
 
12
12
  .sapUiRTECustomToolbar.sapMTB.sapMTBStandard {
13
13
  border-bottom: none;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAPUI5
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved.
3
+ * (c) Copyright 2025 SAP SE. All rights reserved.
4
4
  */
5
5
 
6
6
  @import "../base/library.source.less";