diff --git a/docs/Configuration.md b/docs/Configuration.md
index f25f2667204f..c02e5079b319 100644
--- a/docs/Configuration.md
+++ b/docs/Configuration.md
@@ -11,6 +11,7 @@ theme | sap_fiori_3, sap_belize, sap_belize_hcb | sap_fiori_3 |
language | en, de, es, etc... | en | Language to be used for translatable texts
[RTL](#rtl) | true, false | false | When true, sets global text direction to right-to-left
compactSize | true, false | false | When set, enforces compact density (smaller margins/paddings)
+[animationMode](#animationMode) | full, basic, minimal, none | full | Defines different animation scenarios or levels
calendarType | Gregorian, Islamic, Buddhist, Japanese, Persian | Gregorian | Default calendar type for date-related web components
[noConflict](#noConflict) | true, false | Object | false | When set to true, all events will be fired with a "ui5-" prefix only
[formatSettings](#formatSettings)| See the [Format settings](#formatSettings) section below | Empty object | Allows to override locale-specific configuration
@@ -22,6 +23,17 @@ When the `rtl` setting is set to `true`, UI5 Web Components will adjust their st
However, you should also set the HTML attribute `dir` to `rtl` on the `body` or `html` or any other relevant region of your application
so that the rest of your application is also affected.
+
+###Animation Mode
+
+Animation modes allow to specify different animation scenarios or levels.
+ - When `full` all animations run unrestricted.
+ - When `basic` more light-weight set of animations would run.
+ - When `minimal` animations of fundamental functionality are included.
+ - When `none` all animations are completely suspended.
+
+*Please note that each component determines which animations would run for a specific mode.*
+
### No conflict
@@ -100,6 +112,7 @@ import { getTheme, setTheme } from "@ui5/webcomponents-base/dist/config/Theme.js
import { getNoConflict, setNoConflict } from "@ui5/webcomponents-base/dist/config/NoConflict.js";
import { getCompactSize } from "@ui5/webcomponents-base/dist/config/CompactSize.js";
import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js";
+import { getCompactSize } from "@ui5/webcomponents-base/dist/config/AnimationMode.js";
import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
import { getFirstDayOfWeek } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
diff --git a/packages/base/src/InitialConfiguration.js b/packages/base/src/InitialConfiguration.js
index d8f5e713357a..bfc6e7dc80f7 100644
--- a/packages/base/src/InitialConfiguration.js
+++ b/packages/base/src/InitialConfiguration.js
@@ -1,6 +1,7 @@
let initialized = false;
const initialConfig = {
+ animationMode: "full",
theme: "sap_fiori_3",
rtl: null,
language: null,
@@ -11,6 +12,11 @@ const initialConfig = {
};
/* General settings */
+const getAnimationMode = () => {
+ initConfiguration();
+ return initialConfig.animationMode;
+};
+
const getTheme = () => {
initConfiguration();
return initialConfig.theme;
@@ -109,6 +115,7 @@ const initConfiguration = () => {
};
export {
+ getAnimationMode,
getTheme,
getRTL,
getLanguage,
diff --git a/packages/base/src/config/AnimationMode.js b/packages/base/src/config/AnimationMode.js
new file mode 100644
index 000000000000..18837bf029ce
--- /dev/null
+++ b/packages/base/src/config/AnimationMode.js
@@ -0,0 +1,9 @@
+import { getAnimationMode as getConfiguredAnimationMode } from "../InitialConfiguration.js";
+
+const animationMode = getConfiguredAnimationMode();
+
+const getAnimationMode = () => {
+ return animationMode;
+};
+
+export { getAnimationMode }; // eslint-disable-line
diff --git a/packages/base/src/types/AnimationMode.js b/packages/base/src/types/AnimationMode.js
new file mode 100644
index 000000000000..f3f2fb08c651
--- /dev/null
+++ b/packages/base/src/types/AnimationMode.js
@@ -0,0 +1,7 @@
+const AnimationMode = {
+ Full: "full",
+ Basic: "basic",
+ Minimal: "minimal",
+ None: "none",
+};
+export default AnimationMode;
diff --git a/packages/main/bundle.esm.js b/packages/main/bundle.esm.js
index 19fc4e293189..0bcf08b1ce60 100644
--- a/packages/main/bundle.esm.js
+++ b/packages/main/bundle.esm.js
@@ -63,6 +63,7 @@ window.isIE = isIE; // attached to the window object for testing purposes
// Note: keep in sync with rollup.config value for IIFE
+import { getAnimationMode } from "@ui5/webcomponents-base/dist/config/AnimationMode.js";
import { getTheme, setTheme } from "@ui5/webcomponents-base/dist/config/Theme.js";
import { setNoConflict } from "@ui5/webcomponents-base/dist/config/NoConflict.js";
import { getCompactSize } from "@ui5/webcomponents-base/dist/config/CompactSize.js";
@@ -70,6 +71,7 @@ import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js";
import { getRegisteredNames as getIconNames } from "@ui5/webcomponents-base/dist/SVGIconRegistry.js"
window["sap-ui-webcomponents-main-bundle"] = {
configuration : {
+ getAnimationMode,
getTheme,
setTheme,
setNoConflict,
diff --git a/packages/main/src/Panel.hbs b/packages/main/src/Panel.hbs
index 36f797771c9c..86812b1c4ff3 100644
--- a/packages/main/src/Panel.hbs
+++ b/packages/main/src/Panel.hbs
@@ -19,7 +19,7 @@
>