From 87465220f2f80210ee47d0ee68a1cfaef04183ab Mon Sep 17 00:00:00 2001 From: Teodor Taushanov Date: Thu, 11 Sep 2025 16:45:39 +0300 Subject: [PATCH 1/2] fix(OpenUI5Support): override default [popover] styles --- packages/base/src/css/OpenUI5PopupStyles.css | 5 +++++ packages/base/src/features/insertOpenUI5PopupStyles.ts | 10 ++++++++++ packages/base/src/features/patchPopup.ts | 2 ++ 3 files changed, 17 insertions(+) create mode 100644 packages/base/src/css/OpenUI5PopupStyles.css create mode 100644 packages/base/src/features/insertOpenUI5PopupStyles.ts diff --git a/packages/base/src/css/OpenUI5PopupStyles.css b/packages/base/src/css/OpenUI5PopupStyles.css new file mode 100644 index 000000000000..d2fec56c192f --- /dev/null +++ b/packages/base/src/css/OpenUI5PopupStyles.css @@ -0,0 +1,5 @@ +[popover] { + border: none; + overflow: visible; + margin: 0; +} \ No newline at end of file diff --git a/packages/base/src/features/insertOpenUI5PopupStyles.ts b/packages/base/src/features/insertOpenUI5PopupStyles.ts new file mode 100644 index 000000000000..d64c5d4a6df8 --- /dev/null +++ b/packages/base/src/features/insertOpenUI5PopupStyles.ts @@ -0,0 +1,10 @@ +import { hasStyle, createStyle } from "../ManagedStyles.js"; +import openUI5PopupStyles from "../generated/css/OpenUI5PopupStyles.css.js"; + +const insertOpenUI5PopupStyles = () => { + if (!hasStyle("data-ui5-popup-styles")) { + createStyle(openUI5PopupStyles, "data-ui5-popup-styles"); + } +}; + +export default insertOpenUI5PopupStyles; diff --git a/packages/base/src/features/patchPopup.ts b/packages/base/src/features/patchPopup.ts index a50cf88d4e73..2fed7df47f05 100644 --- a/packages/base/src/features/patchPopup.ts +++ b/packages/base/src/features/patchPopup.ts @@ -1,5 +1,6 @@ // OpenUI5's Control.js subset import getSharedResource from "../getSharedResource.js"; +import insertOpenUI5PopupStyles from "./insertOpenUI5PopupStyles.js"; type Control = { getDomRef: () => HTMLElement | null, @@ -137,6 +138,7 @@ const createGlobalStyles = () => { }; const patchPopup = (Popup: OpenUI5Popup) => { + insertOpenUI5PopupStyles(); patchOpen(Popup); // Popup.prototype.open patchClosed(Popup); // Popup.prototype._closed createGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen) From 4fb3545a25842e2ffa7938d180f16f29434d589b Mon Sep 17 00:00:00 2001 From: Teodor Taushanov Date: Fri, 12 Sep 2025 13:23:50 +0300 Subject: [PATCH 2/2] chore: make selector more specific --- packages/base/src/css/OpenUI5PopupStyles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/base/src/css/OpenUI5PopupStyles.css b/packages/base/src/css/OpenUI5PopupStyles.css index d2fec56c192f..49dad81fd254 100644 --- a/packages/base/src/css/OpenUI5PopupStyles.css +++ b/packages/base/src/css/OpenUI5PopupStyles.css @@ -1,4 +1,4 @@ -[popover] { +[data-sap-ui-popup][popover] { border: none; overflow: visible; margin: 0;