@sapui5/sap.ui.richtexteditor 1.133.1 → 1.135.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 (22) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/richtexteditor/.library +1 -1
  3. package/src/sap/ui/richtexteditor/RTESplitButton.js +1 -1
  4. package/src/sap/ui/richtexteditor/RichTextEditor.js +15 -13
  5. package/src/sap/ui/richtexteditor/RichTextEditorRenderer.js +24 -0
  6. package/src/sap/ui/richtexteditor/ToolbarWrapper.js +31 -10
  7. package/src/sap/ui/richtexteditor/library.js +1 -1
  8. package/src/sap/ui/richtexteditor/messagebundle_fr.properties +1 -1
  9. package/src/sap/ui/richtexteditor/themes/base/RichTextEditor.less +41 -4
  10. package/src/sap/ui/richtexteditor/themes/sap_belize/RichTextEditor.less +1 -6
  11. package/src/sap/ui/richtexteditor/themes/sap_belize_base/RichTextEditor.less +64 -3
  12. package/src/sap/ui/richtexteditor/themes/sap_belize_hcb/RichTextEditor.less +8 -0
  13. package/src/sap/ui/richtexteditor/themes/sap_belize_hcw/RichTextEditor.less +7 -0
  14. package/src/sap/ui/richtexteditor/themes/sap_bluecrystal_base/RichTextEditor.less +31 -2
  15. package/src/sap/ui/richtexteditor/themes/sap_fiori_3/RichTextEditor.less +4 -4
  16. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_dark/RichTextEditor.less +4 -4
  17. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcb/RichTextEditor.less +0 -4
  18. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcw/RichTextEditor.less +0 -4
  19. package/src/sap/ui/richtexteditor/themes/sap_horizon/RichTextEditor.less +4 -4
  20. package/src/sap/ui/richtexteditor/themes/sap_horizon_dark/RichTextEditor.less +3 -3
  21. package/src/sap/ui/richtexteditor/themes/sap_horizon_hcb/RichTextEditor.less +3 -3
  22. package/src/sap/ui/richtexteditor/themes/sap_horizon_hcw/RichTextEditor.less +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ui.richtexteditor",
3
- "version": "1.133.1",
3
+ "version": "1.135.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)",
@@ -5,7 +5,7 @@
5
5
  <vendor>SAP SE</vendor>
6
6
  <copyright>SAPUI5
7
7
  * (c) Copyright 2009-2024 SAP SE. All rights reserved.</copyright>
8
- <version>1.133.1</version>
8
+ <version>1.135.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
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @alias sap.ui.richtexteditor.RTESplitButton
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.133.1
27
+ * @version 1.135.0
28
28
  */
29
29
  var RTESplitButton = SplitButton.extend("sap.ui.richtexteditor.RTESplitButton", {
30
30
  metadata: {
@@ -355,6 +355,11 @@ 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
+ * @experimental As of version 1.135
361
+ */
362
+ footer: {type: "sap.ui.richtexteditor.IToolbar", multiple: false},
358
363
  /**
359
364
  * Custom toolbar wrapper.
360
365
  * The wrapper gets instantiated when customToolbar property is set to true.
@@ -675,11 +680,6 @@ sap.ui.define([
675
680
  this._textAreaId = this.getId() + "-textarea";
676
681
  this._iframeId = this._textAreaId + "_ifr";
677
682
 
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
683
  this.setEditorType(sEditorType);
684
684
 
685
685
  this._setupToolbar();
@@ -1550,17 +1550,11 @@ sap.ui.define([
1550
1550
  } else if (oDomRef) {
1551
1551
 
1552
1552
  switch (this._tinyMCEStatus) {
1553
- case EditorStatus.Initializing:
1554
- oDomRef.appendChild(this._textAreaDom);
1555
- break;
1556
1553
  case EditorStatus.Loaded:
1557
1554
  case EditorStatus.Loading:
1558
- this.getDomRef().appendChild(this._textAreaDom);
1559
1555
  this.reinitializeTinyMCE();
1560
1556
  break;
1561
1557
  case EditorStatus.Ready:
1562
- // We need to reinitialize TinyMCE so changes will be shown.
1563
- oDomRef.appendChild(this._textAreaDom);
1564
1558
  this.reinitializeTinyMCE();
1565
1559
  break;
1566
1560
 
@@ -1681,7 +1675,7 @@ sap.ui.define([
1681
1675
  this._pTinyMCEInitialized = new Promise(function(fnResolve, fnReject) {
1682
1676
  this._bInitializationPending = false;
1683
1677
  this._tinyMCEStatus = EditorStatus.Initializing;
1684
- this._textAreaDom.value = this._patchTinyMCEValue(this.getValue());
1678
+ this._getTextAreaDOM().value = this._patchTinyMCEValue(this.getValue());
1685
1679
  window.tinymce.init(this._createConfigTinyMCE(function() {
1686
1680
  this._tinyMCEStatus = EditorStatus.Ready;
1687
1681
  // Wee need to add a timeout here, as the promise resolves before other asynchronous tasks like the
@@ -1696,6 +1690,10 @@ sap.ui.define([
1696
1690
  }.bind(this));
1697
1691
  };
1698
1692
 
1693
+ RichTextEditor.prototype._getTextAreaDOM = function() {
1694
+ return this.getDomRef().querySelector("textarea");
1695
+ };
1696
+
1699
1697
  /**
1700
1698
  * Patches the value which would be inserted in TinyMCE.
1701
1699
  *
@@ -1909,7 +1907,9 @@ sap.ui.define([
1909
1907
  /*eslint-disable camelcase */
1910
1908
  var oConfig = {
1911
1909
  // The following line only covers the editor content, not the UI in general
1912
- height: "calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))",
1910
+ height: !this.getAggregation("footer")
1911
+ ? "calc(100% - var(--_sap_ui_richtexteditor__footer_height))"
1912
+ : "calc(100% - var(--_sap_ui_richtexteditor__toolbar_height))",
1913
1913
  directionality: this._getTextDirection(),
1914
1914
  selector: "[id='" + this._textAreaId + "']",
1915
1915
  theme: "silver",
@@ -1927,6 +1927,8 @@ sap.ui.define([
1927
1927
  image_advtab: true, // Adds an "Advanced" tab to the image dialog allowing you to add custom styles, spacing and borders to images
1928
1928
  readonly: !this.getEditable(),
1929
1929
  nowrap: !this.getWrapping(),
1930
+ convert_unsafe_embeds: true, // default for v.7, remove after upgrade
1931
+ sandbox_iframes: true, // default for v.7, remove after upgrade
1930
1932
  init_instance_callback: function(oEditor) {
1931
1933
  this._oEditor = oEditor;
1932
1934
  fnOnInit();
@@ -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
 
@@ -460,17 +460,31 @@ sap.ui.define([
460
460
  case "Unlink":
461
461
  _syncLink(oNativeEditor, oControl, false);
462
462
  break;
463
- case "FontSize":
464
- // queryCommandValue("FontSize") always returns empty string in FireFox - to be fixed
465
- // Synchronize the selected item of the Font Name Select with the applied font size style
466
- var sCommandValue = oNativeEditor.getDoc().queryCommandValue(sEditorCommand),
467
- sItemId = oControl.getId() + sCommandValue;
463
+ case "FontSize": {
464
+ const pxToPt = function (px) {
465
+ return px * 0.75; // 1px = 0.75pt
466
+ };
467
+ const sOriginalFontSize = oNativeEditor.queryCommandValue(sEditorCommand).replace(/\s+/g, "");
468
+ let sParsedFontSize = sOriginalFontSize;
469
+
470
+ // if the value is in px, convert it to pt
471
+ if (sOriginalFontSize.includes("px")) {
472
+ sParsedFontSize = pxToPt(parseFloat(sOriginalFontSize)) + "pt";
473
+ }
468
474
 
469
- // the selected item should be changed, only when the new one is different
470
- if (oControl.getSelectedItemId() !== sItemId && sCommandValue) {
471
- oControl.setSelectedItemId(sItemId);
475
+ if (sOriginalFontSize) {
476
+ // check if the item is one of the predefined font sizes
477
+ const oMatchingItem = oControl.getItems().find((oItem) => oItem.getKey() === sParsedFontSize);
478
+
479
+ if (oMatchingItem) {
480
+ oControl.setSelectedItem(oMatchingItem);
481
+ } else {
482
+ oControl.setSelectedKey("custom-font-size");
483
+ oControl.getSelectedItem().setText(sOriginalFontSize);
484
+ }
472
485
  }
473
486
  break;
487
+ }
474
488
  default:
475
489
  // Synchronize the pressed state of the OverflowToolbarToggleButtons
476
490
  oControl.getMetadata().getName() === "sap.m.OverflowToolbarToggleButton" &&
@@ -625,7 +639,8 @@ sap.ui.define([
625
639
  EditorCommands["FontSize"].forEach(function (item) {
626
640
  oItem = {
627
641
  id: this._getId("FontSize" + number),
628
- text: item + " pt"
642
+ text: item + " pt",
643
+ key: item + "pt"
629
644
  };
630
645
  aItems.push(new Item(oItem));
631
646
  number++;
@@ -1606,7 +1621,13 @@ sap.ui.define([
1606
1621
  id: this._getId("FontSize"),
1607
1622
  ariaLabelledBy: oInvisibleTextFontSize,
1608
1623
  selectedItemId: this._getId("FontSize2"),
1609
- items: this._createFontSizeSelectItems(),
1624
+ items: [
1625
+ this._createFontSizeSelectItems(),
1626
+ new Item({
1627
+ key: "custom-font-size",
1628
+ enabled: false
1629
+ })
1630
+ ],
1610
1631
  change: function (oEvent) {
1611
1632
  var oItem;
1612
1633
 
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  "sap.ui.richtexteditor.RTESplitButton"
38
38
  ],
39
39
  elements: [],
40
- version: "1.133.1"
40
+ version: "1.135.0"
41
41
  });
42
42
 
43
43
  /**
@@ -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
+ }
@@ -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
+ }
@@ -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
+
@@ -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
 
@@ -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 {
@@ -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
+ }
@@ -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
- }
@@ -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
- }
@@ -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
- }
@@ -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
- }
@@ -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
+ }
@@ -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;
@@ -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;
@@ -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;