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, };