@ui5/webcomponents-base 2.24.0-rc.0 → 2.24.0-rc.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.
- package/CHANGELOG.md +22 -0
- package/dist/.tsbuildinfobuild +1 -1
- package/dist/FeaturesRegistry.d.ts +2 -1
- package/dist/FeaturesRegistry.js +4 -1
- package/dist/FeaturesRegistry.js.map +1 -1
- package/dist/FontFace.js +2 -4
- package/dist/FontFace.js.map +1 -1
- package/dist/ManagedStyles.js +3 -0
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/Runtimes.js +41 -0
- package/dist/Runtimes.js.map +1 -1
- package/dist/ScrollbarStyles.js +2 -4
- package/dist/ScrollbarStyles.js.map +1 -1
- package/dist/features/OpenUI5Support.d.ts +2 -0
- package/dist/features/OpenUI5Support.js +5 -0
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/features/insertOpenUI5PopupStyles.js +2 -4
- package/dist/features/insertOpenUI5PopupStyles.js.map +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/VersionInfo.js.map +1 -1
- package/dist/prod/Boot.js +1 -1
- package/dist/prod/Boot.js.map +2 -2
- package/dist/prod/FeaturesRegistry.js +1 -1
- package/dist/prod/FeaturesRegistry.js.map +3 -3
- package/dist/prod/FontFace.js +1 -1
- package/dist/prod/FontFace.js.map +3 -3
- package/dist/prod/ManagedStyles.js +1 -1
- package/dist/prod/ManagedStyles.js.map +2 -2
- package/dist/prod/Runtimes.js +1 -1
- package/dist/prod/Runtimes.js.map +3 -3
- package/dist/prod/ScrollbarStyles.js +1 -1
- package/dist/prod/ScrollbarStyles.js.map +3 -3
- package/dist/prod/features/OpenUI5Support.js +1 -1
- package/dist/prod/features/OpenUI5Support.js.map +2 -2
- package/dist/prod/features/insertOpenUI5PopupStyles.js +1 -1
- package/dist/prod/features/insertOpenUI5PopupStyles.js.map +3 -3
- package/dist/prod/features/patchPopup.js +1 -1
- package/dist/prod/features/patchPopup.js.map +2 -2
- package/dist/prod/generated/VersionInfo.js +1 -1
- package/dist/prod/generated/VersionInfo.js.map +1 -1
- package/dist/prod/util/createInstanceChecker.js +1 -1
- package/dist/prod/util/createInstanceChecker.js.map +2 -2
- package/dist/util/createInstanceChecker.js +1 -1
- package/dist/util/createInstanceChecker.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";import{
|
|
1
|
+
"use strict";import{createOrUpdateStyle as r}from"./ManagedStyles.js";import t from"./generated/css/ScrollbarStyles.css.js";const l=()=>{r(t,"data-ui5-scrollbar-styles")};export default l;
|
|
2
2
|
//# sourceMappingURL=ScrollbarStyles.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ScrollbarStyles.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "aAAA,OAAS,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { createOrUpdateStyle } from \"./ManagedStyles.js\";\nimport scrollbarStyles from \"./generated/css/ScrollbarStyles.css.js\";\n\nconst insertScrollbarStyles = () => {\n\tcreateOrUpdateStyle(scrollbarStyles, \"data-ui5-scrollbar-styles\");\n};\n\nexport default insertScrollbarStyles;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAS,uBAAAA,MAA2B,qBACpC,OAAOC,MAAqB,yCAE5B,MAAMC,EAAwB,IAAM,CACnCF,EAAoBC,EAAiB,2BAA2B,CACjE,EAEA,eAAeC",
|
|
6
|
+
"names": ["createOrUpdateStyle", "scrollbarStyles", "insertScrollbarStyles"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";import l from"./patchPatcher.js";import{patchPopup as
|
|
1
|
+
"use strict";import l from"./patchPatcher.js";import{patchPopup as d,addOpenedPopup as u,removeOpenedPopup as m,getTopmostPopup as p}from"./patchPopup.js";import{registerFeature as f}from"../FeaturesRegistry.js";import{setTheme as g}from"../config/Theme.js";import{secondaryBoot as C}from"../Boot.js";const h=100;class e{static{this.enablePolling=!1}static isAtLeastVersion(t){if(!window.sap.ui.version)return!0;const i=window.sap.ui.version.split(".");return!i||i.length<2?!1:parseInt(i[0])>1||parseInt(i[1])>=t}static isOpenUI5Detected(){return typeof window.sap?.ui?.require=="function"}static isOpenUI5LoadedFirst(){return e._loadedFirst}static{this.OpenUI5DelayedInit=async()=>{e._loadedFirst=!1,e.init(),await C()}}static awaitForOpenUI5(){if(e.enablePolling){const t=setInterval(()=>{e.isOpenUI5Detected()&&(clearInterval(t),e.OpenUI5DelayedInit())},h)}else document.addEventListener("sap-ui-core-ready",()=>{e.OpenUI5DelayedInit()})}static init(){return e.isOpenUI5Detected()?(e._loadedFirst??=!0,e.initPromise||(e.initPromise=new Promise(t=>{window.sap.ui.require(["sap/ui/core/Core"],async a=>{const i=()=>{let n=["sap/ui/core/Popup","sap/m/Dialog","sap/ui/core/Patcher","sap/ui/core/LocaleData"];e.isAtLeastVersion(116)&&(n=[...n,"sap/base/i18n/Formatting","sap/base/i18n/Localization","sap/ui/core/ControlBehavior","sap/ui/core/Theming","sap/ui/core/date/CalendarUtils"]),window.sap.ui.require(n,(o,r,s)=>{l(s),d(o,r),t()})};e.isAtLeastVersion(116)?(await a.ready(),i()):a.attachInit(i)})})),e.initPromise):e.awaitForOpenUI5()}static getConfigurationSettingsObject(){if(!e.isOpenUI5Detected())return{};if(e.isAtLeastVersion(116)){const n=window.sap.ui.require("sap/ui/core/ControlBehavior"),o=window.sap.ui.require("sap/base/i18n/Localization"),r=window.sap.ui.require("sap/ui/core/Theming"),s=window.sap.ui.require("sap/base/i18n/Formatting"),c=window.sap.ui.require("sap/ui/core/date/CalendarUtils");return{animationMode:n.getAnimationMode(),language:o.getLanguage(),theme:r.getTheme(),themeRoot:r.getThemeRoot(),rtl:o.getRTL(),timezone:o.getTimezone(),calendarType:s.getCalendarType(),formatSettings:{firstDayOfWeek:c.getWeekConfigurationValues().firstDayOfWeek,legacyDateCalendarCustomizing:s.getCustomIslamicCalendarData?.()??s.getLegacyDateCalendarCustomizing?.()}}}const a=window.sap.ui.require("sap/ui/core/Core").getConfiguration(),i=window.sap.ui.require("sap/ui/core/LocaleData");return{animationMode:a.getAnimationMode(),language:a.getLanguage(),theme:a.getTheme(),themeRoot:typeof a.getThemeRoot=="function"?a.getThemeRoot():void 0,rtl:a.getRTL(),timezone:typeof a.getTimezone=="function"?a.getTimezone():void 0,calendarType:a.getCalendarType(),formatSettings:{firstDayOfWeek:i?i.getInstance(a.getLocale()).getFirstDayOfWeek():void 0,legacyDateCalendarCustomizing:a.getFormatSettings().getLegacyDateCalendarCustomizing()}}}static getLocaleDataObject(){if(!e.isOpenUI5Detected())return;const t=window.sap.ui.require("sap/ui/core/LocaleData");if(e.isAtLeastVersion(116)){const n=window.sap.ui.require("sap/base/i18n/Localization");return t.getInstance(n.getLanguageTag())._get()}const i=window.sap.ui.require("sap/ui/core/Core").getConfiguration();return t.getInstance(i.getLocale())._get()}static _listenForThemeChange(){if(e.isAtLeastVersion(116)){const t=window.sap.ui.require("sap/ui/core/Theming");t.attachApplied(()=>{g(t.getTheme())})}else{const t=window.sap.ui.require("sap/ui/core/Core"),a=t.getConfiguration();t.attachThemeChanged(()=>{g(a.getTheme())})}}static attachListeners(){return e.isOpenUI5Detected()?(e._listenForThemeChange(),!0):!1}static cssVariablesLoaded(){if(!e.isOpenUI5Detected())return;const t=[...document.head.children].find(a=>a.id==="sap-ui-theme-sap.ui.core");return t?e.isAtLeastVersion(127)?!!t.href.match(/\/css(-|_)variables\.css/)||!!t.href.match(/\/library\.css/):!!t.href.match(/\/css(-|_)variables\.css/):!1}static addOpenedPopup(t){u(t)}static removeOpenedPopup(t){m(t)}static getTopmostPopup(){return p()}}f("OpenUI5Support",e);export default e;
|
|
2
2
|
//# sourceMappingURL=OpenUI5Support.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/features/OpenUI5Support.ts"],
|
|
4
|
-
"sourcesContent": ["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { secondaryBoot } from \"../Boot.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst OPENUI5_POLLING_INTERVAL = 100;\n\nclass OpenUI5Support {\n\tstatic enablePolling = false; // set to true for old OpenUI5 versions\n\n\tstatic isAtLeastVersion(minor: number) {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= minor;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\t/**\n\t * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.\n\t */\n\tstatic OpenUI5DelayedInit = async () => {\n\t\tOpenUI5Support.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected\n\t\tawait secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded\n\t}\n\n\tstatic awaitForOpenUI5() {\n\t\tif (OpenUI5Support.enablePolling) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tif (OpenUI5Support.isOpenUI5Detected()) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t\t}\n\t\t\t}, OPENUI5_POLLING_INTERVAL);\n\t\t} else {\n\t\t\tdocument.addEventListener(\"sap-ui-core-ready\", () => {\n\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn OpenUI5Support.awaitForOpenUI5();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/m/Dialog\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup, Dialog);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: typeof config.getThemeRoot === \"function\" ? config.getThemeRoot() : undefined,\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: typeof config.getTimezone === \"function\" ? config.getTimezone() : undefined,\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t\treturn true;\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The file name is \"css_variables.css\" until 1.127 and \"library.css\" from 1.127 onwards\n\t\tif (OpenUI5Support.isAtLeastVersion(127)) {\n\t\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/) || !!link.href.match(/\\/library\\.css/);\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n\n\tstatic addOpenedPopup(popupInfo: PopupInfo) {\n\t\taddOpenedPopup(popupInfo);\n\t}\n\n\tstatic removeOpenedPopup(popup: object) {\n\t\tremoveOpenedPopup(popup);\n\t}\n\n\tstatic getTopmostPopup() {\n\t\treturn getTopmostPopup();\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"],
|
|
5
|
-
"mappings": "aAAA,OAAOA,MAAkB,oBAEzB,OACC,cAAAC,EACA,kBAAAC,EACA,qBAAAC,EACA,mBAAAC,MACM,kBAEP,OAAS,mBAAAC,MAAuB,yBAChC,OAAS,YAAAC,MAAgB,qBAGzB,OAAS,iBAAAC,MAAqB,aA6D9B,MAAMC,EAA2B,IAEjC,MAAMC,CAAe,CACpB,YAAO,cAAgB,
|
|
4
|
+
"sourcesContent": ["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { secondaryBoot } from \"../Boot.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst OPENUI5_POLLING_INTERVAL = 100;\n\nclass OpenUI5Support {\n\tstatic enablePolling = false; // set to true for old OpenUI5 versions\n\tstatic _loadedFirst: boolean | undefined;\n\n\tstatic isAtLeastVersion(minor: number) {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= minor;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic isOpenUI5LoadedFirst() {\n\t\treturn OpenUI5Support._loadedFirst;\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\t/**\n\t * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.\n\t */\n\tstatic OpenUI5DelayedInit = async () => {\n\t\tOpenUI5Support._loadedFirst = false;\n\t\tOpenUI5Support.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected\n\t\tawait secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded\n\t}\n\n\tstatic awaitForOpenUI5() {\n\t\tif (OpenUI5Support.enablePolling) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tif (OpenUI5Support.isOpenUI5Detected()) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t\t}\n\t\t\t}, OPENUI5_POLLING_INTERVAL);\n\t\t} else {\n\t\t\tdocument.addEventListener(\"sap-ui-core-ready\", () => {\n\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn OpenUI5Support.awaitForOpenUI5();\n\t\t}\n\n\t\tOpenUI5Support._loadedFirst ??= true;\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/m/Dialog\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup, Dialog);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: typeof config.getThemeRoot === \"function\" ? config.getThemeRoot() : undefined,\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: typeof config.getTimezone === \"function\" ? config.getTimezone() : undefined,\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t\treturn true;\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The file name is \"css_variables.css\" until 1.127 and \"library.css\" from 1.127 onwards\n\t\tif (OpenUI5Support.isAtLeastVersion(127)) {\n\t\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/) || !!link.href.match(/\\/library\\.css/);\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n\n\tstatic addOpenedPopup(popupInfo: PopupInfo) {\n\t\taddOpenedPopup(popupInfo);\n\t}\n\n\tstatic removeOpenedPopup(popup: object) {\n\t\tremoveOpenedPopup(popup);\n\t}\n\n\tstatic getTopmostPopup() {\n\t\treturn getTopmostPopup();\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["patchPatcher", "patchPopup", "addOpenedPopup", "removeOpenedPopup", "getTopmostPopup", "registerFeature", "setTheme", "secondaryBoot", "OPENUI5_POLLING_INTERVAL", "OpenUI5Support", "minor", "parts", "interval", "resolve", "Core", "callback", "deps", "Popup", "Dialog", "Patcher", "ControlBehavior", "Localization", "Theming", "Formatting", "CalendarUtils", "config", "LocaleData", "link", "el", "popupInfo", "popup"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";import{
|
|
1
|
+
"use strict";import{createOrUpdateStyle as p}from"../ManagedStyles.js";import t from"../generated/css/OpenUI5PopupStyles.css.js";const e=()=>{p(t,"data-ui5-popup-styles")};export default e;
|
|
2
2
|
//# sourceMappingURL=insertOpenUI5PopupStyles.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/features/insertOpenUI5PopupStyles.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "aAAA,OAAS,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { createOrUpdateStyle } from \"../ManagedStyles.js\";\nimport openUI5PopupStyles from \"../generated/css/OpenUI5PopupStyles.css.js\";\n\nconst insertOpenUI5PopupStyles = () => {\n\tcreateOrUpdateStyle(openUI5PopupStyles, \"data-ui5-popup-styles\");\n};\n\nexport default insertOpenUI5PopupStyles;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAS,uBAAAA,MAA2B,sBACpC,OAAOC,MAAwB,6CAE/B,MAAMC,EAA2B,IAAM,CACtCF,EAAoBC,EAAoB,uBAAuB,CAChE,EAEA,eAAeC",
|
|
6
|
+
"names": ["createOrUpdateStyle", "openUI5PopupStyles", "insertOpenUI5PopupStyles"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";import u from"../getSharedResource.js";import
|
|
1
|
+
"use strict";import u from"../getSharedResource.js";import f from"./insertOpenUI5PopupStyles.js";import i from"../generated/VersionInfo.js";import{compareVersions as h}from"../Runtimes.js";const t=u("PatchedFunctions",{}),a=o=>{const e=t[o];return!e||!e.version?!0:h(i,e.version)>0},p=u("AllOpenedPopupsRegistry",{openedRegistry:[]}),y=o=>{p.openedRegistry.push(o)},d=o=>{const e=p.openedRegistry.findIndex(n=>n.instance===o);e===p.openedRegistry.length-1&&O(),e>-1&&p.openedRegistry.splice(e,1)},g=()=>p.openedRegistry.length===0?null:p.openedRegistry[p.openedRegistry.length-1].instance,P=o=>{for(let e=p.openedRegistry.length-1;e>=0;e--){const n=p.openedRegistry[e];if(n.type==="WebComponent")return!0;if(n.instance===o)break}return!1},c=o=>{const e=o.getContent();return e instanceof HTMLElement?e:e?.getDomRef()||null},v=o=>{if(!["OPENING","OPEN"].includes(o.getOpenState())||!l())return;const n=c(o);if(!n)return;const s=document.getElementById("sap-ui-blocklayer-popup");o.getModal()&&s&&(s.setAttribute("popover","manual"),s.hidePopover(),s.showPopover()),n.setAttribute("popover","manual"),n.hidePopover(),n.showPopover()},I=o=>{const e=c(o);if(e&&(e.hasAttribute("popover")&&(e.hidePopover(),e.removeAttribute("popover")),g()===o&&o.getModal())){const n=document.getElementById("sap-ui-blocklayer-popup");n&&n.hasAttribute("popover")&&n.hidePopover()}},O=()=>{if(!l())return;const o=p.openedRegistry[p.openedRegistry.length-2];if(!o||o.type!=="OpenUI5"||!o.instance.getModal())return;const e=c(o.instance),n=document.getElementById("sap-ui-blocklayer-popup");e?.hidePopover(),n?.showPopover(),e?.showPopover()},l=(o=document)=>o.querySelector(":popover-open")?!0:Array.from(o.querySelectorAll("*")).some(e=>{const n=e.shadowRoot;return n&&l(n)}),m=o=>{const e="Dialog.prototype.onsapescape";a(e)&&(t[e]={version:i,originalFn:t[e]?.originalFn??o.prototype.onsapescape});const n=t[e].originalFn;o.prototype.onsapescape=function(...r){P(this.oPopup)||n.apply(this,r)}},R=o=>{const e="Popup.prototype.open";a(e)&&(t[e]={version:i,originalFn:t[e]?.originalFn??o.prototype.open});const n=t[e].originalFn;o.prototype.open=function(...r){n.apply(this,r),v(this),y({type:"OpenUI5",instance:this})}},F=o=>{const e="Popup.prototype._closed";a(e)&&(t[e]={version:i,originalFn:t[e]?.originalFn??o.prototype._closed});const n=t[e].originalFn;o.prototype._closed=function(...r){I(this),n.apply(this,r),d(this)}},U=o=>{const e="Popup.prototype.onFocusEvent";a(e)&&(t[e]={version:i,originalFn:t[e]?.originalFn??o.prototype.onFocusEvent});const n=t[e].originalFn;o.prototype.onFocusEvent=function(...r){P(this)||n.apply(this,r)}},C=()=>{const o=new CSSStyleSheet;o.replaceSync(".sapMPopup-CTX:popover-open { inset: unset; }"),document.adoptedStyleSheets=[...document.adoptedStyleSheets,o]},b=(o,e)=>{f(),R(o),F(o),C(),U(o),m(e)};export{b as patchPopup,y as addOpenedPopup,d as removeOpenedPopup,g as getTopmostPopup};
|
|
2
2
|
//# sourceMappingURL=patchPopup.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/features/patchPopup.ts"],
|
|
4
|
-
"sourcesContent": ["// OpenUI5's Control.js subset\nimport getSharedResource from \"../getSharedResource.js\";\nimport insertOpenUI5PopupStyles from \"./insertOpenUI5PopupStyles.js\";\nimport VersionInfo from \"../generated/VersionInfo.js\";\nimport { compareVersions } from \"../Runtimes.js\";\n\ntype PatchedFunctionRecord = {\n\tversion: VersionInfo | undefined;\n\toriginalFn: (...args: any[]) => any;\n};\n\ntype PatchedFunctionsRegistry = Record<string, PatchedFunctionRecord>;\n\nconst PatchedFunctions = getSharedResource<PatchedFunctionsRegistry>(\"PatchedFunctions\", {});\n\nconst shouldRepatch = (key: string): boolean => {\n\tconst existing = PatchedFunctions[key];\n\tif (!existing) {\n\t\treturn true;\n\t}\n\n\tif (!existing.version) {\n\t\treturn true;\n\t}\n\treturn compareVersions(VersionInfo, existing.version) > 0;\n};\n\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\topen: (...args: any[]) => void,\n\t_closed: (...args: any[]) => void,\n\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\tonFocusEvent: (...args: any[]) => void,\n\tgetModal: () => boolean\n};\n\ntype OpenUI5PopupClass = {\n\tprototype: OpenUI5Popup\n};\n\ntype OpenUI5DialogClass = {\n\tprototype: {\n\t\tonsapescape: (...args: any[]) => void,\n\t\toPopup: OpenUI5Popup,\n\t}\n};\n\ntype PopupInfo = {\n\ttype: \"WebComponent\";\n\tinstance: object;\n} | {\n\ttype: \"OpenUI5\";\n\tinstance: OpenUI5Popup;\n};\n\n// contains all OpenUI5 and Web Component popups that are currently opened\nconst AllOpenedPopupsRegistry = getSharedResource<{ openedRegistry: Array<PopupInfo> }>(\"AllOpenedPopupsRegistry\", { openedRegistry: [] });\n\nconst addOpenedPopup = (popupInfo: PopupInfo) => {\n\tAllOpenedPopupsRegistry.openedRegistry.push(popupInfo);\n};\n\nconst removeOpenedPopup = (popup: object) => {\n\tconst index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);\n\n\tif (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {\n\t\tfixTopmostOpenUI5Popup();\n\t}\n\n\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\n\tif (AllOpenedPopupsRegistry.openedRegistry.length === 0) {\n\t\treturn null;\n\t}\n\treturn AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;\n};\n\n/**\n * Determines whether there is a Web Component popup opened above (a specified popup).\n *\n * @param {object} popup The popup instance to check against.\n * @returns {boolean} `true` if a Web Component popup is opened above (the given popup instance); otherwise `false`.\n */\nconst hasWebComponentPopupAbove = (popup: object) => {\n\tfor (let i = AllOpenedPopupsRegistry.openedRegistry.length - 1; i >= 0; i--) {\n\t\tconst popupInfo = AllOpenedPopupsRegistry.openedRegistry[i];\n\t\tif (popupInfo.type === \"WebComponent\") {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (popupInfo.instance === popup) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst getPopupContentElement = (popup: OpenUI5Popup): HTMLElement | null => {\n\tconst content = popup.getContent();\n\treturn content instanceof HTMLElement ? content : content?.getDomRef() || null;\n};\n\nconst openNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(popup.getOpenState());\n\tif (!openingInitiated || !isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tif (popup.getModal() && openUI5BlockLayer) {\n\t\topenUI5BlockLayer.setAttribute(\"popover\", \"manual\");\n\t\topenUI5BlockLayer.hidePopover();\n\t\topenUI5BlockLayer.showPopover();\n\t}\n\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n\n\tif (getTopmostPopup() !== popup) {\n\t\treturn;\n\t}\n\n\t// The OpenUI5 block layer is only one for all modal OpenUI5 popups,\n\t// and it is displayed above all opened pupups - OpenUI5 and Web Components,\n\t// as a result, we need to hide this block layer.\n\t// If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything\n\t// If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.\n\tif (popup.getModal()) {\n\t\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\t\tif (openUI5BlockLayer && openUI5BlockLayer.hasAttribute(\"popover\")) {\n\t\t\topenUI5BlockLayer.hidePopover();\n\t\t}\n\t}\n};\n\nconst fixTopmostOpenUI5Popup = () => {\n\tif (!isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];\n\tif (!prevPopup\n\t\t|| prevPopup.type !== \"OpenUI5\"\n\t\t|| !prevPopup.instance.getModal()) {\n\t\treturn;\n\t}\n\n\tconst content = getPopupContentElement(prevPopup.instance);\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tcontent?.hidePopover();\n\topenUI5BlockLayer?.showPopover();\n\n\tcontent?.showPopover();\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchDialog = (Dialog: OpenUI5DialogClass) => {\n\tconst key = \"Dialog.prototype.onsapescape\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Dialog.prototype.onsapescape };\n\t}\n\tconst origOnsapescape = PatchedFunctions[key].originalFn;\n\tDialog.prototype.onsapescape = function onsapescape(...args: any[]) {\n\t\tif (hasWebComponentPopupAbove(this.oPopup)) {\n\t\t\treturn;\n\t\t}\n\n\t\torigOnsapescape.apply(this, args);\n\t};\n};\n\nconst patchOpen = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype.open\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.open };\n\t}\n\tconst origOpen = PatchedFunctions[key].originalFn;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\topenNativePopoverForOpenUI5(this);\n\n\t\taddOpenedPopup({\n\t\t\ttype: \"OpenUI5\",\n\t\t\tinstance: this,\n\t\t});\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype._closed\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype._closed };\n\t}\n\tconst _origClosed = PatchedFunctions[key].originalFn;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tcloseNativePopoverForOpenUI5(this);\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype.onFocusEvent\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.onFocusEvent };\n\t}\n\tconst origFocusEvent = PatchedFunctions[key].originalFn;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(...args: any[]) {\n\t\tif (!hasWebComponentPopupAbove(this)) {\n\t\t\torigFocusEvent.apply(this, args);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => {\n\tinsertOpenUI5PopupStyles();\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n\tpatchDialog(Dialog); // Dialog.prototype.onsapescape\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["// OpenUI5's Control.js subset\nimport getSharedResource from \"../getSharedResource.js\";\nimport insertOpenUI5PopupStyles from \"./insertOpenUI5PopupStyles.js\";\nimport VersionInfo from \"../generated/VersionInfo.js\";\nimport { compareVersions } from \"../Runtimes.js\";\n\ntype PatchedFunctionRecord = {\n\tversion: VersionInfo | undefined;\n\toriginalFn: (...args: any[]) => any;\n};\n\ntype PatchedFunctionsRegistry = Record<string, PatchedFunctionRecord>;\n\nconst PatchedFunctions = getSharedResource<PatchedFunctionsRegistry>(\"PatchedFunctions\", {});\n\nconst shouldRepatch = (key: string): boolean => {\n\tconst existing = PatchedFunctions[key];\n\tif (!existing) {\n\t\treturn true;\n\t}\n\n\tif (!existing.version) {\n\t\treturn true;\n\t}\n\treturn compareVersions(VersionInfo, existing.version) > 0;\n};\n\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\topen: (...args: any[]) => void,\n\t_closed: (...args: any[]) => void,\n\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\tonFocusEvent: (...args: any[]) => void,\n\tgetModal: () => boolean\n};\n\ntype OpenUI5PopupClass = {\n\tprototype: OpenUI5Popup\n};\n\ntype OpenUI5DialogClass = {\n\tprototype: {\n\t\tonsapescape: (...args: any[]) => void,\n\t\toPopup: OpenUI5Popup,\n\t}\n};\n\ntype PopupInfo = {\n\ttype: \"WebComponent\";\n\tinstance: object;\n} | {\n\ttype: \"OpenUI5\";\n\tinstance: OpenUI5Popup;\n};\n\n// contains all OpenUI5 and Web Component popups that are currently opened\nconst AllOpenedPopupsRegistry = getSharedResource<{ openedRegistry: Array<PopupInfo> }>(\"AllOpenedPopupsRegistry\", { openedRegistry: [] });\n\nconst addOpenedPopup = (popupInfo: PopupInfo) => {\n\tAllOpenedPopupsRegistry.openedRegistry.push(popupInfo);\n};\n\nconst removeOpenedPopup = (popup: object) => {\n\tconst index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);\n\n\tif (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {\n\t\tfixTopmostOpenUI5Popup();\n\t}\n\n\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\n\tif (AllOpenedPopupsRegistry.openedRegistry.length === 0) {\n\t\treturn null;\n\t}\n\treturn AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;\n};\n\n/**\n * Determines whether there is a Web Component popup opened above (a specified popup).\n *\n * @param {object} popup The popup instance to check against.\n * @returns {boolean} `true` if a Web Component popup is opened above (the given popup instance); otherwise `false`.\n */\nconst hasWebComponentPopupAbove = (popup: object) => {\n\tfor (let i = AllOpenedPopupsRegistry.openedRegistry.length - 1; i >= 0; i--) {\n\t\tconst popupInfo = AllOpenedPopupsRegistry.openedRegistry[i];\n\t\tif (popupInfo.type === \"WebComponent\") {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (popupInfo.instance === popup) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst getPopupContentElement = (popup: OpenUI5Popup): HTMLElement | null => {\n\tconst content = popup.getContent();\n\treturn content instanceof HTMLElement ? content : content?.getDomRef() || null;\n};\n\nconst openNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(popup.getOpenState());\n\tif (!openingInitiated || !isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tif (popup.getModal() && openUI5BlockLayer) {\n\t\topenUI5BlockLayer.setAttribute(\"popover\", \"manual\");\n\t\topenUI5BlockLayer.hidePopover();\n\t\topenUI5BlockLayer.showPopover();\n\t}\n\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.hidePopover();\n\tdomRef.showPopover();\n};\n\nconst closeNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n\n\tif (getTopmostPopup() !== popup) {\n\t\treturn;\n\t}\n\n\t// The OpenUI5 block layer is only one for all modal OpenUI5 popups,\n\t// and it is displayed above all opened pupups - OpenUI5 and Web Components,\n\t// as a result, we need to hide this block layer.\n\t// If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything\n\t// If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.\n\tif (popup.getModal()) {\n\t\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\t\tif (openUI5BlockLayer && openUI5BlockLayer.hasAttribute(\"popover\")) {\n\t\t\topenUI5BlockLayer.hidePopover();\n\t\t}\n\t}\n};\n\nconst fixTopmostOpenUI5Popup = () => {\n\tif (!isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];\n\tif (!prevPopup\n\t\t|| prevPopup.type !== \"OpenUI5\"\n\t\t|| !prevPopup.instance.getModal()) {\n\t\treturn;\n\t}\n\n\tconst content = getPopupContentElement(prevPopup.instance);\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tcontent?.hidePopover();\n\topenUI5BlockLayer?.showPopover();\n\n\tcontent?.showPopover();\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchDialog = (Dialog: OpenUI5DialogClass) => {\n\tconst key = \"Dialog.prototype.onsapescape\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Dialog.prototype.onsapescape };\n\t}\n\tconst origOnsapescape = PatchedFunctions[key].originalFn;\n\tDialog.prototype.onsapescape = function onsapescape(...args: any[]) {\n\t\tif (hasWebComponentPopupAbove(this.oPopup)) {\n\t\t\treturn;\n\t\t}\n\n\t\torigOnsapescape.apply(this, args);\n\t};\n};\n\nconst patchOpen = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype.open\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.open };\n\t}\n\tconst origOpen = PatchedFunctions[key].originalFn;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\topenNativePopoverForOpenUI5(this);\n\n\t\taddOpenedPopup({\n\t\t\ttype: \"OpenUI5\",\n\t\t\tinstance: this,\n\t\t});\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype._closed\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype._closed };\n\t}\n\tconst _origClosed = PatchedFunctions[key].originalFn;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tcloseNativePopoverForOpenUI5(this);\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype.onFocusEvent\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.onFocusEvent };\n\t}\n\tconst origFocusEvent = PatchedFunctions[key].originalFn;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(...args: any[]) {\n\t\tif (!hasWebComponentPopupAbove(this)) {\n\t\t\torigFocusEvent.apply(this, args);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => {\n\tinsertOpenUI5PopupStyles();\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n\tpatchDialog(Dialog); // Dialog.prototype.onsapescape\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["getSharedResource", "insertOpenUI5PopupStyles", "VersionInfo", "compareVersions", "PatchedFunctions", "shouldRepatch", "key", "existing", "AllOpenedPopupsRegistry", "addOpenedPopup", "popupInfo", "removeOpenedPopup", "popup", "index", "el", "fixTopmostOpenUI5Popup", "getTopmostPopup", "hasWebComponentPopupAbove", "i", "getPopupContentElement", "content", "openNativePopoverForOpenUI5", "isNativePopoverOpen", "domRef", "openUI5BlockLayer", "closeNativePopoverForOpenUI5", "prevPopup", "root", "element", "shadowRoot", "patchDialog", "Dialog", "origOnsapescape", "args", "patchOpen", "Popup", "origOpen", "patchClosed", "_origClosed", "patchFocusEvent", "origFocusEvent", "createGlobalStyles", "stylesheet", "patchPopup"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e={version:"2.24.0-rc.
|
|
1
|
+
"use strict";const e={version:"2.24.0-rc.2",major:2,minor:24,patch:0,suffix:"-rc.2",isNext:!1,buildTime:1782379619};export default e;
|
|
2
2
|
//# sourceMappingURL=VersionInfo.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/generated/VersionInfo.ts"],
|
|
4
|
-
"sourcesContent": ["const VersionInfo = {\n\tversion: \"2.24.0-rc.
|
|
4
|
+
"sourcesContent": ["const VersionInfo = {\n\tversion: \"2.24.0-rc.2\",\n\tmajor: 2,\n\tminor: 24,\n\tpatch: 0,\n\tsuffix: \"-rc.2\",\n\tisNext: false,\n\tbuildTime: 1782379619,\n};\nexport default VersionInfo;"],
|
|
5
5
|
"mappings": "aAAA,MAAMA,EAAc,CACnB,QAAS,cACT,MAAO,EACP,MAAO,GACP,MAAO,EACP,OAAQ,QACR,OAAQ,GACR,UAAW,UACZ,EACA,eAAeA",
|
|
6
6
|
"names": ["VersionInfo"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function r(n){return e=>e
|
|
1
|
+
"use strict";function r(n){return e=>e!=null&&n in e&&e[n]===!0}export default r;
|
|
2
2
|
//# sourceMappingURL=createInstanceChecker.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/createInstanceChecker.ts"],
|
|
4
|
-
"sourcesContent": ["// createInstanceChecker<A>(\"isAItem\")\nfunction createChecker<T, P extends keyof T = keyof T>(prop: P) {\n\treturn (object: any): object is T => {\n\t\treturn object !== undefined && prop in object && object[prop] === true;\n\t};\n}\n\nexport default createChecker;\n"],
|
|
5
|
-
"mappings": "aACA,SAASA,EAA8CC,EAAS,CAC/D,OAAQC,
|
|
4
|
+
"sourcesContent": ["// createInstanceChecker<A>(\"isAItem\")\nfunction createChecker<T, P extends keyof T = keyof T>(prop: P) {\n\treturn (object: any): object is T => {\n\t\treturn object !== undefined && object !== null && prop in object && object[prop] === true;\n\t};\n}\n\nexport default createChecker;\n"],
|
|
5
|
+
"mappings": "aACA,SAASA,EAA8CC,EAAS,CAC/D,OAAQC,GACwBA,GAAW,MAAQD,KAAQC,GAAUA,EAAOD,CAAI,IAAM,EAEvF,CAEA,eAAeD",
|
|
6
6
|
"names": ["createChecker", "prop", "object"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// createInstanceChecker<A>("isAItem")
|
|
2
2
|
function createChecker(prop) {
|
|
3
3
|
return (object) => {
|
|
4
|
-
return object !== undefined && prop in object && object[prop] === true;
|
|
4
|
+
return object !== undefined && object !== null && prop in object && object[prop] === true;
|
|
5
5
|
};
|
|
6
6
|
}
|
|
7
7
|
export default createChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInstanceChecker.js","sourceRoot":"","sources":["../../src/util/createInstanceChecker.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,SAAS,aAAa,CAAiC,IAAO;IAC7D,OAAO,CAAC,MAAW,EAAe,EAAE;QACnC,OAAO,MAAM,KAAK,SAAS,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"createInstanceChecker.js","sourceRoot":"","sources":["../../src/util/createInstanceChecker.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,SAAS,aAAa,CAAiC,IAAO;IAC7D,OAAO,CAAC,MAAW,EAAe,EAAE;QACnC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3F,CAAC,CAAC;AACH,CAAC;AAED,eAAe,aAAa,CAAC","sourcesContent":["// createInstanceChecker<A>(\"isAItem\")\nfunction createChecker<T, P extends keyof T = keyof T>(prop: P) {\n\treturn (object: any): object is T => {\n\t\treturn object !== undefined && object !== null && prop in object && object[prop] === true;\n\t};\n}\n\nexport default createChecker;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/webcomponents-base",
|
|
3
|
-
"version": "2.24.0-rc.
|
|
3
|
+
"version": "2.24.0-rc.2",
|
|
4
4
|
"description": "UI5 Web Components: webcomponents.base",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@openui5/sap.ui.core": "1.146.0",
|
|
67
67
|
"@sap-theming/theming-base-content": "11.36.3",
|
|
68
68
|
"@ui5/cypress-internal": "0.1.0",
|
|
69
|
-
"@ui5/webcomponents-tools": "2.24.0-rc.
|
|
69
|
+
"@ui5/webcomponents-tools": "2.24.0-rc.2",
|
|
70
70
|
"clean-css": "^5.2.2",
|
|
71
71
|
"cypress": "15.9.0",
|
|
72
72
|
"mocha": "^11.7.2",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
"customElements": "dist/custom-elements.json",
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "18349a587d0be176c8a8ae7b717fac3cd887f285"
|
|
89
89
|
}
|