diff --git a/docs/2-advanced/01-configuration.md b/docs/2-advanced/01-configuration.md
index 8f4a1443ff05..6c434e848f86 100644
--- a/docs/2-advanced/01-configuration.md
+++ b/docs/2-advanced/01-configuration.md
@@ -52,7 +52,12 @@ Example:
import { setTheme } from "@ui5/webcomponents-base/dist/config/Theme.js";
setTheme("sap_belize_hcb");
```
-
+
+- To reset the theme to the default one:
+```js
+import { setTheme, getDefaultTheme } from "@ui5/webcomponents-base/dist/config/Theme.js";
+setTheme(getDefaultTheme());
+```
### language
@@ -88,6 +93,12 @@ import { setLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
setLanguage("fr");
```
+- To reset the langauge to the default one:
+```js
+import { setLanguage, getDefaultLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
+setLanguage(getDefaultLanguage());
+```
+
### animationMode
diff --git a/packages/base/src/config/Language.ts b/packages/base/src/config/Language.ts
index bb6dd074b3e1..27e121b05cf2 100644
--- a/packages/base/src/config/Language.ts
+++ b/packages/base/src/config/Language.ts
@@ -4,6 +4,7 @@ import {
} from "../InitialConfiguration.js";
import { fireLanguageChange } from "../locale/languageChange.js";
import { reRenderAllUI5Elements } from "../Render.js";
+import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
let curLanguage: string | undefined;
let fetchDefaultLanguage: boolean;
@@ -39,6 +40,18 @@ const setLanguage = async (language: string): Promise => {
await reRenderAllUI5Elements({ languageAware: true });
};
+/**
+ * Returns the default languague.
+ *
+ * Note: Default language might be different than the configurated one.
+ *
+ * @public
+ * @returns {string}
+ */
+const getDefaultLanguage = (): string => {
+ return DEFAULT_LANGUAGE;
+};
+
/**
* Defines if the default language, that is inlined, should be
* fetched over the network instead of using the inlined one.
@@ -67,6 +80,7 @@ const getFetchDefaultLanguage = (): boolean => {
export {
getLanguage,
setLanguage,
+ getDefaultLanguage,
setFetchDefaultLanguage,
getFetchDefaultLanguage,
};
diff --git a/packages/base/src/config/Theme.ts b/packages/base/src/config/Theme.ts
index 71bcc156ff6c..568c4d709b5e 100644
--- a/packages/base/src/config/Theme.ts
+++ b/packages/base/src/config/Theme.ts
@@ -1,6 +1,7 @@
import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
import { reRenderAllUI5Elements } from "../Render.js";
import applyTheme from "../theming/applyTheme.js";
+import { DEFAULT_THEME } from "../generated/AssetParameters.js";
let curTheme: string;
@@ -35,6 +36,18 @@ const setTheme = async (theme: string): Promise => {
await reRenderAllUI5Elements({ themeAware: true });
};
+/**
+ * Returns the default theme.
+ *
+ * Note: Default theme might be different than the configurated one.
+ *
+ * @public
+ * @returns {string}
+ */
+const getDefaultTheme = (): string => {
+ return DEFAULT_THEME;
+};
+
/**
* Returns if the given theme name is the one currently applied.
* @private
@@ -61,4 +74,5 @@ export {
setTheme,
isTheme,
isThemeFamily,
+ getDefaultTheme,
};