@ui5/webcomponents-base 0.0.0-e463d2345 → 0.0.0-e818f286e
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/.eslintignore +4 -0
- package/CHANGELOG.md +437 -0
- package/README.md +53 -7
- package/bundle.esm.js +24 -20
- package/dist/AssetRegistry.js +8 -6
- package/dist/Boot.js +59 -0
- package/dist/CSP.js +59 -0
- package/dist/CustomElementsRegistry.js +95 -0
- package/dist/CustomElementsScope.js +30 -0
- package/dist/CustomElementsScopeUtils.js +108 -0
- package/dist/DOMObserver.js +65 -0
- package/dist/Device.js +71 -773
- package/dist/EventProvider.js +38 -26
- package/dist/FeaturesRegistry.js +4 -1
- package/dist/FontFace.js +20 -56
- package/dist/InitialConfiguration.js +64 -17
- package/dist/Keys.js +295 -0
- package/dist/ManagedStyles.js +83 -0
- package/dist/MediaRange.js +109 -0
- package/dist/PropertiesFileFormat.js +95 -0
- package/dist/Render.js +175 -0
- package/dist/RenderQueue.js +41 -17
- package/dist/RenderScheduler.js +24 -145
- package/dist/Runtimes.js +107 -0
- package/dist/StaticArea.js +2 -34
- package/dist/StaticAreaItem.js +69 -35
- package/dist/SystemCSSVars.js +10 -0
- package/dist/Theming.js +3 -44
- package/dist/UI5Element.js +497 -306
- package/dist/UI5ElementMetadata.js +198 -19
- package/dist/asset-registries/Icons.js +125 -14
- package/dist/asset-registries/Illustrations.js +30 -0
- package/dist/asset-registries/LocaleData.js +114 -51
- package/dist/asset-registries/Themes.js +37 -30
- package/dist/asset-registries/i18n.js +81 -33
- package/dist/assets/bundle.esm.81ba431e.js +43 -0
- package/dist/assets-meta/IconCollectionsAlias.js +18 -0
- package/dist/config/AnimationMode.js +16 -2
- package/dist/config/CalendarType.js +7 -7
- package/dist/config/FormatSettings.js +5 -1
- package/dist/config/Icons.js +52 -0
- package/dist/config/Language.js +62 -3
- package/dist/config/NoConflict.js +10 -3
- package/dist/config/Theme.js +32 -3
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +75 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +17 -0
- package/dist/delegate/ItemNavigation.js +249 -127
- package/dist/delegate/ResizeHandler.js +78 -38
- package/dist/delegate/ScrollEnablement.js +122 -14
- package/dist/features/F6Navigation.js +110 -0
- package/dist/features/OpenUI5Enablement.js +119 -0
- package/dist/features/OpenUI5Support.js +125 -0
- package/dist/generated/AssetParameters.js +13 -0
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.js +5 -0
- package/dist/generated/css/FontFace.css.js +5 -0
- package/dist/generated/css/OverrideFontFace.css.js +5 -0
- package/dist/generated/css/SystemCSSVars.css.js +5 -0
- package/dist/getSharedResource.js +30 -0
- package/dist/i18nBundle.js +62 -11
- package/{src → dist/locale}/Locale.js +0 -10
- package/dist/locale/RTLAwareRegistry.js +14 -0
- package/dist/locale/applyDirection.js +17 -0
- package/dist/locale/directionChange.js +32 -0
- package/dist/locale/getEffectiveDir.js +28 -0
- package/dist/locale/getLocale.js +41 -0
- package/dist/locale/languageChange.js +22 -0
- package/dist/locale/nextFallbackLocale.js +28 -0
- package/dist/{util → locale}/normalizeLocale.js +8 -31
- package/dist/renderer/LitRenderer.js +44 -7
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/executeTemplate.js +34 -0
- package/dist/sap/base/Log.js +241 -0
- package/dist/sap/base/assert.js +8 -0
- package/dist/sap/base/security/URLListValidator.js +148 -0
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/security/sanitizeHTML.js +16 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/base/util/now.js +7 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
- package/dist/theming/CustomStyle.js +47 -6
- package/dist/theming/ThemeLoaded.js +22 -0
- package/dist/theming/applyTheme.js +79 -0
- package/dist/theming/getConstructableStyle.js +30 -0
- package/dist/theming/getEffectiveLinksHrefs.js +27 -0
- package/dist/theming/getEffectiveStyle.js +39 -0
- package/dist/theming/getStylesString.js +15 -0
- package/dist/theming/getThemeDesignerTheme.js +87 -0
- package/dist/theming/preloadLinks.js +23 -0
- package/dist/thirdparty/_merge.js +32 -0
- package/dist/thirdparty/isPlainObject.js +18 -0
- package/dist/thirdparty/merge.js +10 -0
- package/dist/types/CSSColor.js +9 -0
- package/dist/{dates → types}/CalendarType.js +2 -2
- package/dist/types/DataType.js +13 -1
- package/dist/types/Float.js +14 -0
- package/dist/types/Integer.js +4 -0
- package/dist/types/InvisibleMessageMode.js +30 -0
- package/dist/types/ItemNavigationBehavior.js +2 -7
- package/dist/types/NavigationMode.js +1 -0
- package/dist/types/PopupState.js +1 -1
- package/dist/types/ValueState.js +2 -1
- package/dist/updateShadowRoot.js +29 -0
- package/dist/util/AriaLabelHelper.js +39 -0
- package/dist/util/Caret.js +32 -0
- package/dist/util/ColorConversion.js +398 -0
- package/dist/util/FocusableElements.js +30 -11
- package/dist/util/HTMLSanitizer.js +7 -0
- package/dist/util/InvisibleMessage.js +69 -0
- package/dist/util/PopupUtils.js +93 -0
- package/dist/util/SlotsHelper.js +43 -0
- package/dist/util/StringHelper.js +17 -2
- package/dist/util/TabbableElements.js +9 -2
- package/dist/util/arraysAreEqual.js +15 -0
- package/dist/util/clamp.js +12 -0
- package/dist/util/createLinkInHead.js +19 -0
- package/dist/util/debounce.js +17 -0
- package/dist/util/detectNavigatorLanguage.js +3 -1
- package/dist/util/escapeRegex.js +10 -0
- package/dist/util/generateHighlightedMarkup.js +42 -0
- package/dist/util/getActiveElement.js +11 -0
- package/dist/util/getClassCopy.js +10 -0
- package/dist/util/getEffectiveContentDensity.js +5 -0
- package/dist/util/getFileExtension.js +21 -0
- package/dist/util/getNormalizedTarget.js +16 -0
- package/dist/util/getSingletonElementInstance.js +13 -0
- package/dist/util/isDefaultSlotProvided.js +11 -0
- package/dist/util/isElementInView.js +15 -0
- package/dist/util/isNodeHidden.js +1 -5
- package/dist/util/isNodeTabbable.js +4 -4
- package/dist/util/isValidPropertyName.js +11 -2
- package/dist/util/setToArray.js +10 -0
- package/hash.txt +1 -0
- package/index.js +1 -1
- package/lib/generate-asset-parameters/index.js +25 -0
- package/lib/generate-styles/index.js +26 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.js +41 -27
- package/package.json +22 -14
- package/src/AssetRegistry.js +8 -6
- package/src/Boot.js +59 -0
- package/src/CSP.js +59 -0
- package/src/CustomElementsRegistry.js +95 -0
- package/src/CustomElementsScope.js +30 -0
- package/src/CustomElementsScopeUtils.js +108 -0
- package/src/DOMObserver.js +65 -0
- package/src/Device.js +71 -773
- package/src/EventProvider.js +38 -26
- package/src/FeaturesRegistry.js +4 -1
- package/src/FontFace.js +20 -56
- package/src/InitialConfiguration.js +64 -17
- package/src/Keys.js +295 -0
- package/src/ManagedStyles.js +83 -0
- package/src/MediaRange.js +109 -0
- package/src/PropertiesFileFormat.js +95 -0
- package/src/Render.js +175 -0
- package/src/RenderQueue.js +41 -17
- package/src/RenderScheduler.js +24 -145
- package/src/Runtimes.js +107 -0
- package/src/StaticArea.js +2 -34
- package/src/StaticAreaItem.js +69 -35
- package/src/SystemCSSVars.js +10 -0
- package/src/Theming.js +3 -44
- package/src/UI5Element.js +497 -306
- package/src/UI5ElementMetadata.js +198 -19
- package/src/asset-registries/Icons.js +125 -14
- package/src/asset-registries/Illustrations.js +30 -0
- package/src/asset-registries/LocaleData.js +114 -51
- package/src/asset-registries/Themes.js +37 -30
- package/src/asset-registries/i18n.js +81 -33
- package/src/assets-meta/IconCollectionsAlias.js +18 -0
- package/src/config/AnimationMode.js +16 -2
- package/src/config/CalendarType.js +7 -7
- package/src/config/FormatSettings.js +5 -1
- package/src/config/Icons.js +52 -0
- package/src/config/Language.js +62 -3
- package/src/config/NoConflict.js +10 -3
- package/src/config/Theme.js +32 -3
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +75 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +17 -0
- package/src/delegate/ItemNavigation.js +249 -127
- package/src/delegate/ResizeHandler.js +78 -38
- package/src/delegate/ScrollEnablement.js +122 -14
- package/src/features/F6Navigation.js +110 -0
- package/src/features/OpenUI5Enablement.js +119 -0
- package/src/features/OpenUI5Support.js +125 -0
- package/src/getSharedResource.js +30 -0
- package/src/i18nBundle.js +62 -11
- package/{dist → src/locale}/Locale.js +0 -10
- package/src/locale/RTLAwareRegistry.js +14 -0
- package/src/locale/applyDirection.js +17 -0
- package/src/locale/directionChange.js +32 -0
- package/src/locale/getEffectiveDir.js +28 -0
- package/src/locale/getLocale.js +41 -0
- package/src/locale/languageChange.js +22 -0
- package/src/locale/nextFallbackLocale.js +28 -0
- package/src/{util → locale}/normalizeLocale.js +8 -31
- package/src/renderer/LitRenderer.js +44 -7
- package/src/renderer/directives/style-map.js +72 -0
- package/src/renderer/executeTemplate.js +34 -0
- package/src/theming/CustomStyle.js +47 -6
- package/src/theming/ThemeLoaded.js +22 -0
- package/src/theming/applyTheme.js +79 -0
- package/src/theming/getConstructableStyle.js +30 -0
- package/src/theming/getEffectiveLinksHrefs.js +27 -0
- package/src/theming/getEffectiveStyle.js +39 -0
- package/src/theming/getStylesString.js +15 -0
- package/src/theming/getThemeDesignerTheme.js +87 -0
- package/src/theming/preloadLinks.js +23 -0
- package/src/thirdparty/_merge.js +32 -0
- package/src/thirdparty/isPlainObject.js +18 -0
- package/src/thirdparty/merge.js +10 -0
- package/src/types/CSSColor.js +9 -0
- package/src/{dates → types}/CalendarType.js +2 -2
- package/src/types/DataType.js +13 -1
- package/src/types/Float.js +14 -0
- package/src/types/Integer.js +4 -0
- package/src/types/InvisibleMessageMode.js +30 -0
- package/src/types/ItemNavigationBehavior.js +2 -7
- package/src/types/NavigationMode.js +1 -0
- package/src/types/PopupState.js +1 -1
- package/src/types/ValueState.js +2 -1
- package/src/updateShadowRoot.js +29 -0
- package/src/util/AriaLabelHelper.js +39 -0
- package/src/util/Caret.js +32 -0
- package/src/util/ColorConversion.js +398 -0
- package/src/util/FocusableElements.js +30 -11
- package/src/util/HTMLSanitizer.js +7 -0
- package/src/util/InvisibleMessage.js +69 -0
- package/src/util/PopupUtils.js +93 -0
- package/src/util/SlotsHelper.js +43 -0
- package/src/util/StringHelper.js +17 -2
- package/src/util/TabbableElements.js +9 -2
- package/src/util/arraysAreEqual.js +15 -0
- package/src/util/clamp.js +12 -0
- package/src/util/createLinkInHead.js +19 -0
- package/src/util/debounce.js +17 -0
- package/src/util/detectNavigatorLanguage.js +3 -1
- package/src/util/escapeRegex.js +10 -0
- package/src/util/generateHighlightedMarkup.js +42 -0
- package/src/util/getActiveElement.js +11 -0
- package/src/util/getClassCopy.js +10 -0
- package/src/util/getEffectiveContentDensity.js +5 -0
- package/src/util/getFileExtension.js +21 -0
- package/src/util/getNormalizedTarget.js +16 -0
- package/src/util/getSingletonElementInstance.js +13 -0
- package/src/util/isDefaultSlotProvided.js +11 -0
- package/src/util/isElementInView.js +15 -0
- package/src/util/isNodeHidden.js +1 -5
- package/src/util/isNodeTabbable.js +4 -4
- package/src/util/isValidPropertyName.js +11 -2
- package/src/util/setToArray.js +10 -0
- package/used-modules.txt +10 -0
- package/bundle.es5.js +0 -28
- package/config/.eslintrc.js +0 -3
- package/config/rollup.config.js +0 -1
- package/dist/Assets.js +0 -2
- package/dist/CSS.js +0 -48
- package/dist/FormatSettings.js +0 -31
- package/dist/LocaleProvider.js +0 -34
- package/dist/ResourceLoaderOverrides.js +0 -38
- package/dist/SVGIconRegistry.js +0 -54
- package/dist/boot.js +0 -25
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/dates/CalendarDate.js +0 -203
- package/dist/dates/CalendarUtils.js +0 -99
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -44
- package/dist/events/PseudoEvents.js +0 -58
- package/dist/features/browsersupport/Edge.js +0 -6
- package/dist/features/browsersupport/IE11.js +0 -41
- package/dist/features/calendar/Buddhist.js +0 -1
- package/dist/features/calendar/Islamic.js +0 -1
- package/dist/features/calendar/Japanese.js +0 -1
- package/dist/features/calendar/Persian.js +0 -1
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
- package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
- package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
- package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
- package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
- package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
- package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
- package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
- package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
- package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
- package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
- package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
- package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
- package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
- package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
- package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
- package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
- package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
- package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
- package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
- package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
- package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
- package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
- package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
- package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
- package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
- package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
- package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
- package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
- package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
- package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
- package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
- package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
- package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
- package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
- package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
- package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
- package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
- package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
- package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
- package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
- package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
- package/dist/json-imports/LocaleData.js +0 -171
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/resources/bundle.es5.js +0 -12643
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/resources/bundle.esm.js +0 -7450
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/shims/Core-shim.js +0 -52
- package/dist/shims/jquery-shim.js +0 -89
- package/dist/test-resources/assets/Themes.js +0 -11
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -83
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -36
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -20
- package/dist/test-resources/pages/ConfigurationScript.html +0 -36
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
- package/dist/test-resources/specs/Theming.spec.js +0 -31
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
- package/dist/theming/StyleInjection.js +0 -67
- package/dist/thirdparty/Array.from.js +0 -16
- package/dist/thirdparty/Array.prototype.fill.js +0 -44
- package/dist/thirdparty/Array.prototype.find.js +0 -46
- package/dist/thirdparty/Array.prototype.includes.js +0 -51
- package/dist/thirdparty/Element.prototype.closest.js +0 -11
- package/dist/thirdparty/Element.prototype.matches.js +0 -6
- package/dist/thirdparty/Map.prototype.keys.js +0 -9
- package/dist/thirdparty/Number.isInteger.js +0 -5
- package/dist/thirdparty/Number.isNaN.js +0 -1
- package/dist/thirdparty/Number.parseInt.js +0 -1
- package/dist/thirdparty/Object.assign.js +0 -31
- package/dist/thirdparty/Object.entries.js +0 -11
- package/dist/thirdparty/Symbol.js +0 -2
- package/dist/thirdparty/WeakSet.js +0 -27
- package/dist/thirdparty/events-polyfills.js +0 -89
- package/dist/thirdparty/fetch.js +0 -1
- package/dist/thirdparty/template.js +0 -600
- package/dist/util/CSSTransformUtils.js +0 -90
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
- package/src/Assets.js +0 -2
- package/src/CSS.js +0 -48
- package/src/FormatSettings.js +0 -31
- package/src/LocaleProvider.js +0 -34
- package/src/ResourceLoaderOverrides.js +0 -38
- package/src/SVGIconRegistry.js +0 -54
- package/src/boot.js +0 -25
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/dates/CalendarDate.js +0 -203
- package/src/dates/CalendarUtils.js +0 -99
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/NativeResize.js +0 -44
- package/src/events/PseudoEvents.js +0 -58
- package/src/features/browsersupport/Edge.js +0 -6
- package/src/features/browsersupport/IE11.js +0 -41
- package/src/features/calendar/Buddhist.js +0 -1
- package/src/features/calendar/Islamic.js +0 -1
- package/src/features/calendar/Japanese.js +0 -1
- package/src/features/calendar/Persian.js +0 -1
- package/src/json-imports/LocaleData.js +0 -171
- package/src/renderer/ifDefined.js +0 -21
- package/src/shims/Core-shim.js +0 -52
- package/src/shims/jquery-shim.js +0 -89
- package/src/theming/StyleInjection.js +0 -67
- package/src/thirdparty/Array.from.js +0 -16
- package/src/thirdparty/Array.prototype.fill.js +0 -44
- package/src/thirdparty/Array.prototype.find.js +0 -46
- package/src/thirdparty/Array.prototype.includes.js +0 -51
- package/src/thirdparty/Element.prototype.closest.js +0 -11
- package/src/thirdparty/Element.prototype.matches.js +0 -6
- package/src/thirdparty/Map.prototype.keys.js +0 -9
- package/src/thirdparty/Number.isInteger.js +0 -5
- package/src/thirdparty/Number.isNaN.js +0 -1
- package/src/thirdparty/Number.parseInt.js +0 -1
- package/src/thirdparty/Object.assign.js +0 -31
- package/src/thirdparty/Object.entries.js +0 -11
- package/src/thirdparty/Symbol.js +0 -2
- package/src/thirdparty/WeakSet.js +0 -27
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/template.js +0 -600
- package/src/util/CSSTransformUtils.js +0 -90
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
|
|
2
2
|
|
|
3
|
-
const themeURLs = new Map();
|
|
4
3
|
const themeStyles = new Map();
|
|
4
|
+
const loaders = new Map();
|
|
5
5
|
const registeredPackages = new Set();
|
|
6
6
|
const registeredThemes = new Set();
|
|
7
7
|
|
|
@@ -13,63 +13,70 @@ const registeredThemes = new Set();
|
|
|
13
13
|
* Example usage:
|
|
14
14
|
* 1) Pass the CSS Vars as a string directly.
|
|
15
15
|
* registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
|
|
16
|
-
* 2) Pass the CSS Vars as an object directly
|
|
17
|
-
* registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
|
|
18
|
-
* 3) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
|
|
19
|
-
* registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
|
|
20
16
|
*
|
|
21
17
|
* @public
|
|
22
18
|
* @param packageName - the NPM package for which CSS Vars are registered
|
|
23
19
|
* @param themeName - the theme which the CSS Vars implement
|
|
24
|
-
* @param style -
|
|
20
|
+
* @param style - the style content directly
|
|
21
|
+
* @deprecated
|
|
25
22
|
*/
|
|
26
|
-
const registerThemeProperties = (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
themeStyles.set(`${packageName}_${themeName}`, style);
|
|
33
|
-
} else {
|
|
34
|
-
// url for fetching
|
|
35
|
-
themeURLs.set(`${packageName}_${themeName}`, style);
|
|
36
|
-
}
|
|
23
|
+
const registerThemeProperties = (_packageName, _themeName, _style) => {
|
|
24
|
+
throw new Error("`registerThemeProperties` has been depracated. Use `registerThemePropertiesLoader` instead.");
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const registerThemePropertiesLoader = (packageName, themeName, loader) => {
|
|
28
|
+
loaders.set(`${packageName}/${themeName}`, loader);
|
|
37
29
|
registeredPackages.add(packageName);
|
|
38
30
|
registeredThemes.add(themeName);
|
|
39
31
|
};
|
|
40
32
|
|
|
41
33
|
const getThemeProperties = async (packageName, themeName) => {
|
|
42
34
|
const style = themeStyles.get(`${packageName}_${themeName}`);
|
|
43
|
-
if (style) {
|
|
35
|
+
if (style !== undefined) { // it's valid for style to be an empty string
|
|
44
36
|
return style;
|
|
45
37
|
}
|
|
46
38
|
|
|
47
39
|
if (!registeredThemes.has(themeName)) {
|
|
48
40
|
const regThemesStr = [...registeredThemes.values()].join(", ");
|
|
49
|
-
console.warn(`You have requested a non-registered theme - falling back to
|
|
50
|
-
return
|
|
41
|
+
console.warn(`You have requested a non-registered theme ${themeName} - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
|
|
42
|
+
return _getThemeProperties(packageName, DEFAULT_THEME);
|
|
51
43
|
}
|
|
52
44
|
|
|
53
|
-
|
|
54
|
-
themeStyles.set(`${packageName}_${themeName}`, data._);
|
|
55
|
-
return data._;
|
|
45
|
+
return _getThemeProperties(packageName, themeName);
|
|
56
46
|
};
|
|
57
47
|
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
const _getThemeProperties = async (packageName, themeName) => {
|
|
49
|
+
const loader = loaders.get(`${packageName}/${themeName}`);
|
|
50
|
+
if (!loader) {
|
|
51
|
+
// no themes for package
|
|
52
|
+
console.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */
|
|
53
|
+
return;
|
|
63
54
|
}
|
|
64
|
-
|
|
55
|
+
let data;
|
|
56
|
+
try {
|
|
57
|
+
data = await loader(themeName);
|
|
58
|
+
} catch (e) {
|
|
59
|
+
console.error(packageName, e.message); /* eslint-disable-line */
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const themeProps = data._ || data;
|
|
63
|
+
|
|
64
|
+
themeStyles.set(`${packageName}_${themeName}`, themeProps);
|
|
65
|
+
return themeProps;
|
|
65
66
|
};
|
|
66
67
|
|
|
67
68
|
const getRegisteredPackages = () => {
|
|
68
69
|
return registeredPackages;
|
|
69
70
|
};
|
|
70
71
|
|
|
72
|
+
const isThemeRegistered = theme => {
|
|
73
|
+
return registeredThemes.has(theme);
|
|
74
|
+
};
|
|
75
|
+
|
|
71
76
|
export {
|
|
77
|
+
registerThemePropertiesLoader,
|
|
72
78
|
registerThemeProperties,
|
|
73
79
|
getThemeProperties,
|
|
74
80
|
getRegisteredPackages,
|
|
81
|
+
isThemeRegistered,
|
|
75
82
|
};
|
|
@@ -1,19 +1,33 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
1
|
+
import getLocale from "../locale/getLocale.js";
|
|
2
|
+
import { attachLanguageChange } from "../locale/languageChange.js";
|
|
3
|
+
import normalizeLocale from "../locale/normalizeLocale.js";
|
|
4
|
+
import nextFallbackLocale from "../locale/nextFallbackLocale.js";
|
|
5
|
+
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
6
|
+
import { getFetchDefaultLanguage } from "../config/Language.js";
|
|
7
|
+
|
|
8
|
+
// contains package names for which the warning has been shown
|
|
9
|
+
const warningShown = new Set();
|
|
10
|
+
const reportedErrors = new Set();
|
|
6
11
|
|
|
7
12
|
const bundleData = new Map();
|
|
8
|
-
const
|
|
13
|
+
const bundlePromises = new Map();
|
|
14
|
+
const loaders = new Map();
|
|
9
15
|
|
|
10
16
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @param {Object} data an object with string locales as keys and text translataions as values
|
|
17
|
+
* Registers i18n loader function for given package and locale.
|
|
18
|
+
*
|
|
14
19
|
* @public
|
|
20
|
+
* @param {string} packageName for which package this loader can fetch data
|
|
21
|
+
* @param {string} localeId locale that this loader can handle
|
|
22
|
+
* @param {function} loader async function that will be passed a localeId and should return a JSON object
|
|
15
23
|
*/
|
|
16
|
-
const
|
|
24
|
+
const registerI18nLoader = (packageName, localeId, loader) => {
|
|
25
|
+
// register loader by key
|
|
26
|
+
const bundleKey = `${packageName}/${localeId}`;
|
|
27
|
+
loaders.set(bundleKey, loader);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const _setI18nBundleData = (packageName, data) => {
|
|
17
31
|
bundleData.set(packageName, data);
|
|
18
32
|
};
|
|
19
33
|
|
|
@@ -22,13 +36,36 @@ const getI18nBundleData = packageName => {
|
|
|
22
36
|
};
|
|
23
37
|
|
|
24
38
|
/**
|
|
25
|
-
* Registers a map of locale/url information, to be used by the <code>fetchI18nBundle</code> method.
|
|
26
|
-
* @param {string} packageName package ID that the i18n bundle will be related to
|
|
27
|
-
* @param {Object} bundle an object with string locales as keys and the URLs of where the corresponding locale can be fetched from, f.e {"en": "path/en.json", ...}
|
|
28
39
|
* @public
|
|
40
|
+
* @deprecated
|
|
29
41
|
*/
|
|
30
|
-
const registerI18nBundle = (
|
|
31
|
-
|
|
42
|
+
const registerI18nBundle = (_packageName, _bundle) => {
|
|
43
|
+
throw new Error("This method has been removed. Use `registerI18nLoader` instead.");
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const _hasLoader = (packageName, localeId) => {
|
|
47
|
+
const bundleKey = `${packageName}/${localeId}`;
|
|
48
|
+
return loaders.has(bundleKey);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// load bundle over the network once
|
|
52
|
+
const _loadMessageBundleOnce = (packageName, localeId) => {
|
|
53
|
+
const bundleKey = `${packageName}/${localeId}`;
|
|
54
|
+
const loadMessageBundle = loaders.get(bundleKey);
|
|
55
|
+
|
|
56
|
+
if (!bundlePromises.get(bundleKey)) {
|
|
57
|
+
bundlePromises.set(bundleKey, loadMessageBundle(localeId));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return bundlePromises.get(bundleKey);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const _showAssetsWarningOnce = packageName => {
|
|
64
|
+
if (!warningShown.has(packageName)) {
|
|
65
|
+
console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
|
|
66
|
+
` Add \`import "${packageName}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`); /* eslint-disable-line */
|
|
67
|
+
warningShown.add(packageName);
|
|
68
|
+
}
|
|
32
69
|
};
|
|
33
70
|
|
|
34
71
|
/**
|
|
@@ -41,35 +78,46 @@ const registerI18nBundle = (packageName, bundle) => {
|
|
|
41
78
|
* @public
|
|
42
79
|
*/
|
|
43
80
|
const fetchI18nBundle = async packageName => {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
console.warn(`Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
|
|
48
|
-
` You need to import ${packageName}/dist/Assets.js with a build tool that supports JSON imports.`); /* eslint-disable-line */
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const language = getLanguage();
|
|
81
|
+
const language = getLocale().getLanguage();
|
|
82
|
+
const region = getLocale().getRegion();
|
|
83
|
+
let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
|
|
53
84
|
|
|
54
|
-
|
|
55
|
-
while (!bundlesForPackage[localeId]) {
|
|
85
|
+
while (localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId)) {
|
|
56
86
|
localeId = nextFallbackLocale(localeId);
|
|
57
87
|
}
|
|
58
88
|
|
|
59
|
-
|
|
89
|
+
// use default language unless configured to always fetch it from the network
|
|
90
|
+
const fetchDefaultLanguage = getFetchDefaultLanguage();
|
|
91
|
+
if (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {
|
|
92
|
+
_setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
60
95
|
|
|
61
|
-
if (
|
|
62
|
-
|
|
63
|
-
return
|
|
96
|
+
if (!_hasLoader(packageName, localeId)) {
|
|
97
|
+
_showAssetsWarningOnce(packageName);
|
|
98
|
+
return;
|
|
64
99
|
}
|
|
65
100
|
|
|
66
|
-
|
|
67
|
-
|
|
101
|
+
try {
|
|
102
|
+
const data = await _loadMessageBundleOnce(packageName, localeId);
|
|
103
|
+
_setI18nBundleData(packageName, data);
|
|
104
|
+
} catch (e) {
|
|
105
|
+
if (!reportedErrors.has(e.message)) {
|
|
106
|
+
reportedErrors.add(e.message);
|
|
107
|
+
console.error(e.message); /* eslint-disable-line */
|
|
108
|
+
}
|
|
109
|
+
}
|
|
68
110
|
};
|
|
69
111
|
|
|
112
|
+
// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
|
|
113
|
+
attachLanguageChange(() => {
|
|
114
|
+
const allPackages = [...bundleData.keys()];
|
|
115
|
+
return Promise.all(allPackages.map(fetchI18nBundle));
|
|
116
|
+
});
|
|
117
|
+
|
|
70
118
|
export {
|
|
119
|
+
registerI18nLoader,
|
|
71
120
|
fetchI18nBundle,
|
|
72
121
|
registerI18nBundle,
|
|
73
|
-
setI18nBundleData,
|
|
74
122
|
getI18nBundleData,
|
|
75
123
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported icon collection names and aliases.
|
|
3
|
+
*
|
|
4
|
+
* Users might specify a collection, using both the key and the value in the following key-value pairs,
|
|
5
|
+
* e.g the following pairs are completely exchangeable:
|
|
6
|
+
* "SAP-icons-TNT/actor" and "tnt/actor", "BusinessSuiteInAppSymbols/3d" and "business-suite/3d",
|
|
7
|
+
* "SAP-icons-v5/accept" and "horizon/accept".
|
|
8
|
+
*
|
|
9
|
+
* Note: technically, in the code we maintain the collections under the "value" name - "tnt", "business-suite",
|
|
10
|
+
* SAP-icons-v5" and "SAP-icons"(which does not have an alias).
|
|
11
|
+
*/
|
|
12
|
+
const IconCollectionsAlias = {
|
|
13
|
+
"SAP-icons-TNT": "tnt",
|
|
14
|
+
"BusinessSuiteInAppSymbols": "business-suite",
|
|
15
|
+
"horizon": "SAP-icons-v5",
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default IconCollectionsAlias;
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { getAnimationMode as getConfiguredAnimationMode } from "../InitialConfiguration.js";
|
|
2
|
+
import AnimationMode from "../types/AnimationMode.js";
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
let animationMode;
|
|
4
5
|
|
|
5
6
|
const getAnimationMode = () => {
|
|
7
|
+
if (animationMode === undefined) {
|
|
8
|
+
animationMode = getConfiguredAnimationMode();
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
return animationMode;
|
|
7
12
|
};
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
const setAnimationMode = newAnimationMode => {
|
|
15
|
+
if (Object.values(AnimationMode).includes(newAnimationMode)) {
|
|
16
|
+
animationMode = newAnimationMode;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
getAnimationMode,
|
|
22
|
+
setAnimationMode,
|
|
23
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import CalendarType from "
|
|
1
|
+
import CalendarType from "../types/CalendarType.js";
|
|
2
2
|
import { getCalendarType as getConfiguredCalendarType } from "../InitialConfiguration.js";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
let calendarType;
|
|
5
5
|
|
|
6
6
|
const getCalendarType = () => {
|
|
7
|
-
if (calendarType) {
|
|
8
|
-
|
|
7
|
+
if (calendarType === undefined) {
|
|
8
|
+
calendarType = getConfiguredCalendarType();
|
|
9
|
+
}
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
11
|
+
if (CalendarType.isValid(calendarType)) {
|
|
12
|
+
return calendarType;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
return CalendarType.Gregorian;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { getFormatSettings } from "../InitialConfiguration.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
let formatSettings;
|
|
4
4
|
|
|
5
5
|
const getFirstDayOfWeek = () => {
|
|
6
|
+
if (formatSettings === undefined) {
|
|
7
|
+
formatSettings = getFormatSettings();
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
return formatSettings.firstDayOfWeek;
|
|
7
11
|
};
|
|
8
12
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getTheme, isThemeFamily } from "./Theme.js";
|
|
2
|
+
|
|
3
|
+
const IconCollectionConfiguration = new Map();
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Sets the default icon collection (v4 or v5) per theme,
|
|
7
|
+
* which will be applied in case icon collection is not specified.
|
|
8
|
+
*
|
|
9
|
+
* Note: by default SAP-icons-v5 is used in SAP Horizon and SAP-icons-v4 for all the rest.
|
|
10
|
+
* @param {String} theme
|
|
11
|
+
* @param {String} collectionName
|
|
12
|
+
*/
|
|
13
|
+
const setDefaultIconCollection = (theme, collectionName) => {
|
|
14
|
+
if (collectionName === "horizon") {
|
|
15
|
+
collectionName = "SAP-icons-v5";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
IconCollectionConfiguration.set(theme, collectionName);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Returns the default icon collection (v4 or v5) for given theme,
|
|
23
|
+
* that is configured.
|
|
24
|
+
*
|
|
25
|
+
* @param {String} theme
|
|
26
|
+
* @returns {String}
|
|
27
|
+
*/
|
|
28
|
+
const getDefaultIconCollection = theme => {
|
|
29
|
+
return IconCollectionConfiguration.get(theme);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Returns the effective icon collection that will be applied for icon web components
|
|
34
|
+
* whenever namespace is not specified.
|
|
35
|
+
* @returns {String}
|
|
36
|
+
*/
|
|
37
|
+
const getEffectiveDefaultIconCollection = () => {
|
|
38
|
+
const currentTheme = getTheme();
|
|
39
|
+
const currentThemeConfiguration = IconCollectionConfiguration.get(currentTheme);
|
|
40
|
+
|
|
41
|
+
if (currentThemeConfiguration) {
|
|
42
|
+
return currentThemeConfiguration;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return isThemeFamily("sap_horizon") ? "SAP-icons-v5" : "SAP-icons";
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
setDefaultIconCollection,
|
|
50
|
+
getDefaultIconCollection,
|
|
51
|
+
getEffectiveDefaultIconCollection,
|
|
52
|
+
};
|
package/src/config/Language.js
CHANGED
|
@@ -1,9 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
getLanguage as getConfiguredLanguage,
|
|
3
|
+
getFetchDefaultLanguage as getConfiguredFetchDefaultLanguage,
|
|
4
|
+
} from "../InitialConfiguration.js";
|
|
5
|
+
import { fireLanguageChange } from "../locale/languageChange.js";
|
|
6
|
+
import { reRenderAllUI5Elements } from "../Render.js";
|
|
2
7
|
|
|
3
|
-
|
|
8
|
+
let language;
|
|
9
|
+
let fetchDefaultLanguage;
|
|
4
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Returns the currently configured language, or the browser language as a fallback
|
|
13
|
+
* @returns {String}
|
|
14
|
+
*/
|
|
5
15
|
const getLanguage = () => {
|
|
16
|
+
if (language === undefined) {
|
|
17
|
+
language = getConfiguredLanguage();
|
|
18
|
+
}
|
|
6
19
|
return language;
|
|
7
20
|
};
|
|
8
21
|
|
|
9
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Changes the current language, re-fetches all message bundles, updates all language-aware components
|
|
24
|
+
* and returns a promise that resolves when all rendering is done
|
|
25
|
+
*
|
|
26
|
+
* @param newLanguage
|
|
27
|
+
* @returns {Promise<void>}
|
|
28
|
+
*/
|
|
29
|
+
const setLanguage = async newLanguage => {
|
|
30
|
+
if (language === newLanguage) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
language = newLanguage;
|
|
35
|
+
|
|
36
|
+
await fireLanguageChange(newLanguage);
|
|
37
|
+
await reRenderAllUI5Elements({ languageAware: true });
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Defines if the default language, that is inlined, should be
|
|
42
|
+
* fetched over the network instead of using the inlined one.
|
|
43
|
+
* <b>Note:</b> By default the language will not be fetched.
|
|
44
|
+
*
|
|
45
|
+
* @param {Boolean} fetchDefaultLanguage
|
|
46
|
+
*/
|
|
47
|
+
const setFetchDefaultLanguage = fetchDefaultLang => {
|
|
48
|
+
fetchDefaultLanguage = fetchDefaultLang;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Returns if the default language, that is inlined, should be fetched over the network.
|
|
53
|
+
* @returns {Boolean}
|
|
54
|
+
*/
|
|
55
|
+
const getFetchDefaultLanguage = () => {
|
|
56
|
+
if (fetchDefaultLanguage === undefined) {
|
|
57
|
+
setFetchDefaultLanguage(getConfiguredFetchDefaultLanguage());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return fetchDefaultLanguage;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export {
|
|
64
|
+
getLanguage,
|
|
65
|
+
setLanguage,
|
|
66
|
+
setFetchDefaultLanguage,
|
|
67
|
+
getFetchDefaultLanguage,
|
|
68
|
+
};
|
package/src/config/NoConflict.js
CHANGED
|
@@ -9,24 +9,31 @@ const shouldFireOriginalEvent = eventName => {
|
|
|
9
9
|
return excludeList.includes(eventName);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
let noConflict
|
|
12
|
+
let noConflict;
|
|
13
13
|
|
|
14
14
|
const shouldNotFireOriginalEvent = eventName => {
|
|
15
|
-
|
|
15
|
+
const nc = getNoConflict();
|
|
16
|
+
return !(nc.events && nc.events.includes && nc.events.includes(eventName));
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
const getNoConflict = () => {
|
|
20
|
+
if (noConflict === undefined) {
|
|
21
|
+
noConflict = getConfiguredNoConflict();
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
return noConflict;
|
|
20
25
|
};
|
|
21
26
|
|
|
22
27
|
const skipOriginalEvent = eventName => {
|
|
28
|
+
const nc = getNoConflict();
|
|
29
|
+
|
|
23
30
|
// Always fire these events
|
|
24
31
|
if (shouldFireOriginalEvent(eventName)) {
|
|
25
32
|
return false;
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
// Read from the configuration
|
|
29
|
-
if (
|
|
36
|
+
if (nc === true) {
|
|
30
37
|
return true;
|
|
31
38
|
}
|
|
32
39
|
|
package/src/config/Theme.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
|
|
2
|
-
import {
|
|
2
|
+
import { reRenderAllUI5Elements } from "../Render.js";
|
|
3
|
+
import applyTheme from "../theming/applyTheme.js";
|
|
3
4
|
|
|
4
|
-
let theme
|
|
5
|
+
let theme;
|
|
5
6
|
|
|
6
7
|
const getTheme = () => {
|
|
8
|
+
if (theme === undefined) {
|
|
9
|
+
theme = getConfiguredTheme();
|
|
10
|
+
}
|
|
11
|
+
|
|
7
12
|
return theme;
|
|
8
13
|
};
|
|
9
14
|
|
|
@@ -15,10 +20,34 @@ const setTheme = async newTheme => {
|
|
|
15
20
|
theme = newTheme;
|
|
16
21
|
|
|
17
22
|
// Update CSS Custom Properties
|
|
18
|
-
await
|
|
23
|
+
await applyTheme(theme);
|
|
24
|
+
await reRenderAllUI5Elements({ themeAware: true });
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Returns if the given theme name is the one currently applied.
|
|
29
|
+
* @private
|
|
30
|
+
* @param {String}
|
|
31
|
+
* @returns {boolean}
|
|
32
|
+
*/
|
|
33
|
+
const isTheme = _theme => {
|
|
34
|
+
const currentTheme = getTheme();
|
|
35
|
+
return currentTheme === _theme || currentTheme === `${_theme}_exp`;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Returns if the current theme is part of given theme family
|
|
40
|
+
* @private
|
|
41
|
+
* @param {String} the theme family
|
|
42
|
+
* @returns {boolean}
|
|
43
|
+
*/
|
|
44
|
+
const isThemeFamily = _theme => {
|
|
45
|
+
return getTheme().startsWith(_theme);
|
|
19
46
|
};
|
|
20
47
|
|
|
21
48
|
export {
|
|
22
49
|
getTheme,
|
|
23
50
|
setTheme,
|
|
51
|
+
isTheme,
|
|
52
|
+
isThemeFamily,
|
|
24
53
|
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
.busy-indicator-wrapper {
|
|
2
|
+
position: relative;
|
|
3
|
+
height: 100%;
|
|
4
|
+
width: 100%;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.busy-indicator-overlay {
|
|
8
|
+
display: var(--ui5_web_components_busy_indicator_display);
|
|
9
|
+
position: absolute;
|
|
10
|
+
inset: 0;
|
|
11
|
+
background: var(--ui5_web_components_busy_indicator_background-color);
|
|
12
|
+
z-index: 99;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.busy-indicator-busy-area {
|
|
16
|
+
display: var(--ui5_web_components_busy_indicator_display);
|
|
17
|
+
position: absolute;
|
|
18
|
+
z-index: 99;
|
|
19
|
+
inset: 0;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
align-items: center;
|
|
22
|
+
background-color: inherit;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
color: var(--_ui5_busy_indicator_color);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host([__is-busy]) .busy-indicator-wrapper > :not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]) {
|
|
28
|
+
--ui5_web_components_busy_indicator_display: none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.busy-indicator-busy-area:focus {
|
|
32
|
+
outline: var(--_ui5_busy_indicator_focus_outline);
|
|
33
|
+
outline-offset: -.125rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.busy-indicator-circle {
|
|
37
|
+
width: 1rem;
|
|
38
|
+
height: 1rem;
|
|
39
|
+
display: inline-block;
|
|
40
|
+
background-color: currentColor;
|
|
41
|
+
border-radius: 50%;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.circle-animation-0 {
|
|
45
|
+
animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.circle-animation-1 {
|
|
49
|
+
animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
|
|
50
|
+
animation-delay: 200ms;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.circle-animation-2 {
|
|
54
|
+
animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
|
|
55
|
+
animation-delay: 400ms;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.sapUiLocalBusy {
|
|
59
|
+
--ui5_web_components_busy_indicator_display: none;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.busy-indicator-wrapper [ui5-busy-indicator] {
|
|
63
|
+
display: none;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@keyframes grow {
|
|
67
|
+
0%, 50%, 100% {
|
|
68
|
+
-webkit-transform: scale(0.5);
|
|
69
|
+
-moz-transform: scale(0.5);
|
|
70
|
+
-ms-transform: scale(0.5);
|
|
71
|
+
transform: scale(0.5);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
25% {
|
|
75
|
+
-webkit-transform: scale(1);
|
|
76
|
+
-moz-transform: scale(1);
|
|
77
|
+
-ms-transform: scale(1);
|
|
78
|
+
transform: scale(1);
|
|
79
|
+
}
|
|
80
|
+
}
|