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 @@ > + + + + + + + Animations off + + + + + + + + + + + + + + This is a demo how to use the "expand" event.
+ Some short text. +
+ + +
+ Expandable but not expanded +
+ This is a demo how to use the "expand" event.
+ Some short text. +

+ + + + +