@ui5/webcomponents-base 0.0.0-4180fe799 → 0.0.0-4738ea0dc
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 +3 -1
- package/CHANGELOG.md +437 -0
- package/README.md +28 -6
- package/bundle.esm.js +15 -11
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +2 -7
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +8 -0
- package/dist/Boot.js +35 -30
- package/dist/Boot.js.map +1 -0
- package/dist/CSP.d.ts +30 -0
- package/dist/CSP.js +16 -24
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +69 -30
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -108
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/dist/CustomElementsScopeUtils.js +90 -0
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +12 -54
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +12 -0
- package/dist/Device.js +148 -89
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -82
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +14 -19
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +22 -0
- package/dist/InitialConfiguration.js +112 -131
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -244
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +62 -68
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MarkedEvents.d.ts +9 -0
- package/dist/MarkedEvents.js +15 -0
- package/dist/MarkedEvents.js.map +1 -0
- package/dist/MediaRange.d.ts +37 -0
- package/dist/MediaRange.js +54 -65
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +72 -82
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +81 -113
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +52 -62
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +0 -0
- package/dist/StaticArea.js +4 -1
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +85 -84
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +4 -5
- package/dist/SystemCSSVars.js.map +1 -0
- package/dist/Theming.d.ts +3 -0
- package/dist/Theming.js +1 -1
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +378 -0
- package/dist/UI5Element.js +917 -980
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +278 -306
- package/dist/UI5ElementMetadata.js.map +1 -0
- package/dist/animations/AnimationQueue.d.ts +8 -0
- package/dist/animations/AnimationQueue.js +31 -38
- package/dist/animations/AnimationQueue.js.map +1 -0
- package/dist/animations/animate.d.ts +14 -0
- package/dist/animations/animate.js +46 -51
- package/dist/animations/animate.js.map +1 -0
- package/dist/animations/scroll.d.ts +5 -0
- package/dist/animations/scroll.js +18 -27
- package/dist/animations/scroll.js.map +1 -0
- package/dist/animations/slideDown.d.ts +5 -0
- package/dist/animations/slideDown.js +53 -78
- package/dist/animations/slideDown.js.map +1 -0
- package/dist/animations/slideUp.d.ts +5 -0
- package/dist/animations/slideUp.js +49 -70
- package/dist/animations/slideUp.js.map +1 -0
- package/dist/api.json +1 -0
- package/dist/asset-registries/Icons.d.ts +30 -0
- package/dist/asset-registries/Icons.js +88 -123
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +17 -0
- package/dist/asset-registries/Illustrations.js +41 -25
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +104 -127
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +11 -0
- package/dist/asset-registries/Themes.js +38 -66
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +55 -81
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/bundle.esm.0059c2ef.js +60 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
- package/dist/assets-meta/IconCollectionsAlias.js +30 -10
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +21 -18
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +8 -0
- package/dist/config/CalendarType.js +13 -12
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +15 -0
- package/dist/config/FormatSettings.js +15 -9
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +55 -0
- package/dist/config/Icons.js +103 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +31 -0
- package/dist/config/Language.js +31 -43
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +40 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/RTL.d.ts +7 -0
- package/dist/config/RTL.js +26 -20
- package/dist/config/RTL.js.map +1 -0
- package/dist/config/Theme.d.ts +28 -0
- package/dist/config/Theme.js +38 -29
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoots.d.ts +4 -0
- package/dist/config/ThemeRoots.js +28 -0
- package/dist/config/ThemeRoots.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +31 -10
- package/dist/decorators/customElement.d.ts +23 -0
- package/dist/decorators/customElement.js +31 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event.d.ts +10 -0
- package/dist/decorators/event.js +24 -0
- package/dist/decorators/event.js.map +1 -0
- package/dist/decorators/fastNavigation.d.ts +7 -0
- package/dist/decorators/fastNavigation.js +13 -0
- package/dist/decorators/fastNavigation.js.map +1 -0
- package/dist/decorators/languageAware.d.ts +7 -0
- package/dist/decorators/languageAware.js +13 -0
- package/dist/decorators/languageAware.js.map +1 -0
- package/dist/decorators/property.d.ts +9 -0
- package/dist/decorators/property.js +24 -0
- package/dist/decorators/property.js.map +1 -0
- package/dist/decorators/slot.d.ts +9 -0
- package/dist/decorators/slot.js +37 -0
- package/dist/decorators/slot.js.map +1 -0
- package/dist/decorators/themeAware.d.ts +7 -0
- package/dist/decorators/themeAware.js +13 -0
- package/dist/decorators/themeAware.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +277 -312
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +25 -0
- package/dist/delegate/ResizeHandler.js +70 -91
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +157 -180
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +19 -0
- package/dist/features/F6Navigation.js +151 -0
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/LegacyDateFormats.d.ts +18 -0
- package/dist/features/LegacyDateFormats.js +20 -0
- package/dist/features/LegacyDateFormats.js.map +1 -0
- package/dist/features/OpenUI5Element.d.ts +9 -0
- package/dist/features/OpenUI5Element.js +5 -0
- package/dist/features/OpenUI5Element.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +11 -0
- package/dist/features/OpenUI5Enablement.js +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +25 -0
- package/dist/features/OpenUI5Support.js +92 -119
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -5
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -5
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -5
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +21 -17
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +38 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +56 -64
- package/dist/i18nBundle.js.map +1 -0
- package/dist/locale/Locale.d.ts +22 -0
- package/dist/locale/Locale.js +75 -87
- package/dist/locale/Locale.js.map +1 -0
- package/dist/locale/RTLAwareRegistry.d.ts +4 -0
- package/dist/locale/RTLAwareRegistry.js +6 -11
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +10 -0
- package/dist/locale/applyDirection.js +7 -7
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +7 -15
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +20 -24
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +26 -29
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +8 -16
- package/dist/locale/languageChange.js.map +1 -0
- package/dist/locale/nextFallbackLocale.d.ts +8 -0
- package/dist/locale/nextFallbackLocale.js +15 -19
- package/dist/locale/nextFallbackLocale.js.map +1 -0
- package/dist/locale/normalizeLocale.d.ts +7 -0
- package/dist/locale/normalizeLocale.js +34 -41
- package/dist/locale/normalizeLocale.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +31 -24
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +28 -29
- package/dist/sap/base/assert.js +5 -6
- package/dist/sap/base/security/URLListValidator.js +13 -2
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +39 -31
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +8 -16
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +60 -60
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +12 -17
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
- package/dist/theming/getEffectiveLinksHrefs.js +13 -16
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +25 -23
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -13
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +73 -61
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +13 -17
- package/dist/theming/preloadLinks.js.map +1 -0
- package/dist/thirdparty/_merge.d.ts +2 -0
- package/dist/thirdparty/_merge.js +7 -4
- package/dist/thirdparty/_merge.js.map +1 -0
- package/dist/thirdparty/isPlainObject.d.ts +2 -0
- package/dist/thirdparty/isPlainObject.js +11 -10
- package/dist/thirdparty/isPlainObject.js.map +1 -0
- package/dist/thirdparty/merge.d.ts +2 -0
- package/dist/thirdparty/merge.js +4 -8
- package/dist/thirdparty/merge.js.map +1 -0
- package/dist/types/AnimationMode.d.ts +32 -0
- package/dist/types/AnimationMode.js +33 -6
- package/dist/types/AnimationMode.js.map +1 -0
- package/dist/types/CSSColor.d.ts +16 -0
- package/dist/types/CSSColor.js +15 -5
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CalendarType.d.ts +37 -0
- package/dist/types/CalendarType.js +35 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +17 -0
- package/dist/types/DOMReference.js +25 -0
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +25 -0
- package/dist/types/DataType.js +33 -26
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +18 -0
- package/dist/types/Float.js +18 -10
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +18 -0
- package/dist/types/Integer.js +18 -9
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +20 -23
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -12
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +32 -0
- package/dist/types/NavigationMode.js +33 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/ValueState.d.ts +42 -0
- package/dist/types/ValueState.js +41 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +8 -0
- package/dist/updateShadowRoot.js +25 -17
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +15 -0
- package/dist/util/AriaLabelHelper.js +166 -36
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +16 -38
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +315 -348
- package/dist/util/ColorConversion.js.map +1 -0
- package/dist/util/FetchHelper.d.ts +3 -0
- package/dist/util/FetchHelper.js +19 -25
- package/dist/util/FetchHelper.js.map +1 -0
- package/dist/util/FocusableElements.d.ts +4 -0
- package/dist/util/FocusableElements.js +66 -72
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +4 -5
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +42 -44
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +58 -77
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +22 -35
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +2 -2
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +14 -12
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/createStyleInHead.d.ts +8 -0
- package/dist/util/createStyleInHead.js +10 -10
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +6 -8
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +398 -0
- package/dist/util/getClassCopy.js +7 -7
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +4 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +2 -3
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/dist/util/getFileExtension.d.ts +12 -0
- package/dist/util/getFileExtension.js +9 -11
- package/dist/util/getFileExtension.js.map +1 -0
- package/dist/util/getNormalizedTarget.d.ts +7 -0
- package/dist/util/getNormalizedTarget.js +14 -0
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +2 -0
- package/dist/util/getSingletonElementInstance.js +7 -10
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +6 -9
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +9 -0
- package/dist/util/isElementTabbable.js +30 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +16 -17
- package/dist/util/isValidPropertyName.js.map +1 -0
- package/dist/util/whenDOMReady.d.ts +2 -0
- package/dist/util/whenDOMReady.js +11 -10
- package/dist/util/whenDOMReady.js.map +1 -0
- package/dist/util/willShowContent.d.ts +2 -0
- package/dist/util/willShowContent.js +7 -0
- package/dist/util/willShowContent.js.map +1 -0
- package/dist/validateThemeRoot.d.ts +2 -0
- package/dist/validateThemeRoot.js +47 -0
- package/dist/validateThemeRoot.js.map +1 -0
- package/lib/generate-asset-parameters/index.js +8 -4
- package/lib/generate-styles/index.js +24 -11
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.js +34 -28
- package/package.json +7 -6
- package/src/Boot.ts +65 -0
- package/src/{CSP.js → CSP.ts} +14 -7
- package/src/CustomElementsRegistry.ts +98 -0
- package/src/CustomElementsScope.ts +33 -0
- package/src/{CustomElementsScope.js → CustomElementsScopeUtils.ts} +14 -7
- package/src/DOMObserver.ts +28 -0
- package/src/Device.ts +203 -0
- package/src/{EventProvider.js → EventProvider.ts} +9 -7
- package/src/FeaturesRegistry.ts +14 -0
- package/src/{FontFace.js → FontFace.ts} +3 -2
- package/src/{InitialConfiguration.js → InitialConfiguration.ts} +54 -13
- package/src/Keys.ts +295 -0
- package/src/ManagedStyles.ts +92 -0
- package/src/MarkedEvents.ts +20 -0
- package/src/{MediaRange.js → MediaRange.ts} +54 -53
- package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
- package/src/{Render.js → Render.ts} +25 -20
- package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
- package/src/Runtimes.ts +114 -0
- package/src/{StaticAreaItem.js → StaticAreaItem.ts} +33 -18
- package/src/{UI5Element.js → UI5Element.ts} +289 -148
- package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +129 -59
- package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
- package/src/animations/animate.ts +64 -0
- package/src/animations/scroll.ts +21 -0
- package/src/animations/{slideDown.js → slideDown.ts} +27 -34
- package/src/animations/{slideUp.js → slideUp.ts} +28 -32
- package/src/asset-registries/Icons.ts +161 -0
- package/src/asset-registries/Illustrations.ts +75 -0
- package/src/asset-registries/{LocaleData.js → LocaleData.ts} +42 -29
- package/src/asset-registries/Themes.ts +72 -0
- package/src/asset-registries/{i18n.js → i18n.ts} +21 -24
- package/src/assets-meta/IconCollectionsAlias.ts +41 -0
- package/src/config/AnimationMode.ts +33 -0
- package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
- package/src/config/FormatSettings.ts +35 -0
- package/src/config/Icons.ts +126 -0
- package/src/config/{Language.js → Language.ts} +22 -18
- package/src/config/NoConflict.ts +67 -0
- package/src/config/{RTL.js → RTL.ts} +18 -4
- package/src/config/Theme.ts +64 -0
- package/src/config/ThemeRoots.ts +41 -0
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +31 -10
- package/src/decorators/customElement.ts +57 -0
- package/src/decorators/event.ts +28 -0
- package/src/decorators/fastNavigation.ts +14 -0
- package/src/decorators/languageAware.ts +14 -0
- package/src/decorators/property.ts +30 -0
- package/src/decorators/slot.ts +49 -0
- package/src/decorators/themeAware.ts +14 -0
- package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +65 -23
- package/src/delegate/ResizeHandler.ts +100 -0
- package/src/delegate/ScrollEnablement.ts +224 -0
- package/src/features/F6Navigation.ts +195 -0
- package/src/features/LegacyDateFormats.ts +40 -0
- package/src/features/OpenUI5Element.ts +11 -0
- package/src/features/OpenUI5Enablement.ts +117 -0
- package/src/features/OpenUI5Support.ts +153 -0
- package/src/generated/css/BusyIndicator.css.ts +9 -0
- package/src/generated/css/FontFace.css.ts +9 -0
- package/src/generated/css/OverrideFontFace.css.ts +9 -0
- package/src/generated/css/SystemCSSVars.css.ts +9 -0
- package/src/{getSharedResource.js → getSharedResource.ts} +13 -4
- package/src/global.d.ts +38 -0
- package/src/{i18nBundle.js → i18nBundle.ts} +44 -22
- package/src/locale/{Locale.js → Locale.ts} +15 -5
- package/src/locale/RTLAwareRegistry.ts +16 -0
- package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
- package/src/locale/{directionChange.js → directionChange.ts} +6 -4
- package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
- package/src/locale/{getLocale.js → getLocale.ts} +12 -7
- package/src/locale/languageChange.ts +24 -0
- package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
- package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
- package/src/renderer/LitRenderer.ts +60 -0
- package/src/renderer/executeTemplate.ts +40 -0
- package/src/theming/CustomStyle.ts +64 -0
- package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
- package/src/theming/{applyTheme.js → applyTheme.ts} +30 -15
- package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
- package/src/theming/getEffectiveLinksHrefs.ts +26 -0
- package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +15 -4
- package/src/theming/getStylesString.ts +15 -0
- package/src/theming/getThemeDesignerTheme.ts +101 -0
- package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
- package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
- package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
- package/src/thirdparty/merge.ts +5 -0
- package/src/types/AnimationMode.ts +33 -0
- package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
- package/src/types/CalendarType.ts +38 -0
- package/src/types/DOMReference.ts +28 -0
- package/src/types/DataType.ts +51 -0
- package/src/types/Float.ts +25 -0
- package/src/types/Integer.ts +25 -0
- package/src/types/InvisibleMessageMode.ts +27 -0
- package/src/types/ItemNavigationBehavior.ts +26 -0
- package/src/types/NavigationMode.ts +33 -0
- package/src/types/ValueState.ts +47 -0
- package/src/types.ts +30 -0
- package/src/updateShadowRoot.ts +42 -0
- package/src/util/AriaLabelHelper.ts +218 -0
- package/src/util/Caret.ts +28 -0
- package/src/util/ColorConversion.ts +399 -0
- package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
- package/src/util/FocusableElements.ts +92 -0
- package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
- package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +25 -14
- package/src/util/PopupUtils.ts +112 -0
- package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
- package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
- package/src/util/TabbableElements.ts +70 -0
- package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
- package/src/util/{clamp.js → clamp.ts} +1 -1
- package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
- package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
- package/src/util/{debounce.js → debounce.ts} +5 -4
- package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
- package/src/util/escapeRegex.ts +11 -0
- package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
- package/src/util/generateHighlightedMarkup.ts +43 -0
- package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
- package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
- package/src/util/getEffectiveContentDensity.ts +5 -0
- package/src/util/getEffectiveScrollbarStyle.ts +5 -0
- package/src/util/getFastNavigationGroups.ts +63 -0
- package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
- package/src/util/getNormalizedTarget.ts +16 -0
- package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
- package/src/util/isElementClickable.ts +19 -0
- package/src/util/isElementHidden.ts +9 -0
- package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
- package/src/util/isElementTabbable.ts +37 -0
- package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
- package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
- package/src/util/willShowContent.ts +7 -0
- package/src/validateThemeRoot.ts +58 -0
- package/tsconfig.json +13 -0
- package/used-modules.txt +4 -1
- package/config/.eslintrc.js +0 -3
- package/config/rollup.config.js +0 -1
- package/dist/RenderScheduler.js +0 -44
- package/dist/animations/config.js +0 -5
- package/dist/isLegacyBrowser.js +0 -3
- package/dist/resources/bundle.esm.js +0 -37
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -17
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- 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 -41
- package/dist/test-resources/elements/WithStaticArea.js +0 -77
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -18
- package/dist/test-resources/pages/ConfigurationScript.html +0 -34
- package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
- package/dist/test-resources/pages/i18n.html +0 -33
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
- package/dist/test-resources/specs/EventProvider.spec.js +0 -63
- package/dist/test-resources/specs/StaticArea.spec.js +0 -78
- package/dist/test-resources/specs/Theming.spec.js +0 -33
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/encodeCSS.js +0 -24
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/setToArray.js +0 -10
- package/hash.txt +0 -1
- package/src/Boot.js +0 -43
- package/src/CustomElementsRegistry.js +0 -39
- package/src/DOMObserver.js +0 -65
- package/src/Device.js +0 -107
- package/src/FeaturesRegistry.js +0 -11
- package/src/Keys.js +0 -248
- package/src/ManagedStyles.js +0 -83
- package/src/RenderScheduler.js +0 -44
- package/src/animations/animate.js +0 -53
- package/src/animations/config.js +0 -5
- package/src/animations/scroll.js +0 -28
- package/src/asset-registries/Icons.js +0 -139
- package/src/asset-registries/Illustrations.js +0 -30
- package/src/asset-registries/Themes.js +0 -78
- package/src/assets-meta/IconCollectionsAlias.js +0 -18
- package/src/config/AnimationMode.js +0 -23
- package/src/config/FormatSettings.js +0 -13
- package/src/config/NoConflict.js +0 -51
- package/src/config/Theme.js +0 -42
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -188
- package/src/features/OpenUI5Support.js +0 -125
- package/src/isLegacyBrowser.js +0 -3
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/languageChange.js +0 -22
- package/src/renderer/LitRenderer.js +0 -34
- package/src/renderer/executeTemplate.js +0 -17
- package/src/theming/CustomStyle.js +0 -40
- package/src/theming/getEffectiveLinksHrefs.js +0 -20
- package/src/theming/getStylesString.js +0 -15
- package/src/theming/getThemeDesignerTheme.js +0 -68
- package/src/thirdparty/merge.js +0 -10
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -37
- package/src/types/Float.js +0 -14
- package/src/types/Integer.js +0 -13
- package/src/types/InvisibleMessageMode.js +0 -30
- package/src/types/ItemNavigationBehavior.js +0 -16
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/updateShadowRoot.js +0 -30
- package/src/util/AriaLabelHelper.js +0 -41
- package/src/util/Caret.js +0 -45
- package/src/util/ColorConversion.js +0 -370
- package/src/util/FocusableElements.js +0 -77
- package/src/util/PopupUtils.js +0 -93
- package/src/util/TabbableElements.js +0 -47
- package/src/util/encodeCSS.js +0 -24
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/getEffectiveContentDensity.js +0 -5
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isNodeClickable.js +0 -19
- package/src/util/isNodeHidden.js +0 -9
- package/src/util/isNodeTabbable.js +0 -28
- package/src/util/setToArray.js +0 -10
- /package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
- /package/src/{StaticArea.js → StaticArea.ts} +0 -0
- /package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
- /package/src/{Theming.js → Theming.ts} +0 -0
- /package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import getSharedResource from "./getSharedResource.js";
|
|
2
|
+
import { getCurrentRuntimeIndex, compareRuntimes, getAllRuntimes } from "./Runtimes.js";
|
|
3
|
+
import { Timeout } from "./types.js";
|
|
4
|
+
|
|
5
|
+
const Tags = getSharedResource<Map<string, number>>("Tags", new Map());
|
|
6
|
+
const Definitions = new Set<string>();
|
|
7
|
+
|
|
8
|
+
let Failures = new Map<number, Set<string>>();
|
|
9
|
+
let failureTimeout: Timeout | undefined;
|
|
10
|
+
|
|
11
|
+
const UNKNOWN_RUNTIME = -1;
|
|
12
|
+
|
|
13
|
+
const registerTag = (tag: string) => {
|
|
14
|
+
Definitions.add(tag);
|
|
15
|
+
Tags.set(tag, getCurrentRuntimeIndex());
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const isTagRegistered = (tag: string) => {
|
|
19
|
+
return Definitions.has(tag);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const getAllRegisteredTags = () => {
|
|
23
|
+
return [...Definitions.values()];
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const recordTagRegistrationFailure = (tag: string) => {
|
|
27
|
+
let tagRegRuntimeIndex = Tags.get(tag);
|
|
28
|
+
if (tagRegRuntimeIndex === undefined) {
|
|
29
|
+
tagRegRuntimeIndex = UNKNOWN_RUNTIME; // If the tag is taken, but not registered in Tags, then a version before 1.1.0 defined it => use the "unknown" key
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (!Failures.has(tagRegRuntimeIndex)) {
|
|
33
|
+
Failures.set(tagRegRuntimeIndex, new Set());
|
|
34
|
+
}
|
|
35
|
+
Failures.get(tagRegRuntimeIndex)!.add(tag);
|
|
36
|
+
|
|
37
|
+
if (!failureTimeout) {
|
|
38
|
+
failureTimeout = setTimeout(() => {
|
|
39
|
+
displayFailedRegistrations();
|
|
40
|
+
Failures = new Map();
|
|
41
|
+
failureTimeout = undefined;
|
|
42
|
+
}, 1000);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const displayFailedRegistrations = () => {
|
|
47
|
+
const allRuntimes = getAllRuntimes();
|
|
48
|
+
const currentRuntimeIndex = getCurrentRuntimeIndex();
|
|
49
|
+
const currentRuntime = allRuntimes[currentRuntimeIndex];
|
|
50
|
+
|
|
51
|
+
let message = `Multiple UI5 Web Components instances detected.`;
|
|
52
|
+
|
|
53
|
+
if (allRuntimes.length > 1) {
|
|
54
|
+
message = `${message}\nLoading order (versions before 1.1.0 not listed): ${allRuntimes.map(runtime => `\n${runtime.description}`).join("")}`;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
[...Failures.keys()].forEach(otherRuntimeIndex => {
|
|
58
|
+
let comparison: number;
|
|
59
|
+
let otherRuntime;
|
|
60
|
+
|
|
61
|
+
if (otherRuntimeIndex === UNKNOWN_RUNTIME) { // version < 1.1.0 defined the tag
|
|
62
|
+
comparison = 1; // the current runtime is considered newer
|
|
63
|
+
otherRuntime = {
|
|
64
|
+
description: `Older unknown runtime`,
|
|
65
|
+
};
|
|
66
|
+
} else {
|
|
67
|
+
comparison = compareRuntimes(currentRuntimeIndex, otherRuntimeIndex);
|
|
68
|
+
otherRuntime = allRuntimes[otherRuntimeIndex];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
let compareWord;
|
|
72
|
+
if (comparison > 0) {
|
|
73
|
+
compareWord = "an older";
|
|
74
|
+
} else if (comparison < 0) {
|
|
75
|
+
compareWord = "a newer";
|
|
76
|
+
} else {
|
|
77
|
+
compareWord = "the same";
|
|
78
|
+
}
|
|
79
|
+
message = `${message}\n\n"${currentRuntime.description}" failed to define ${Failures.get(otherRuntimeIndex)!.size} tag(s) as they were defined by a runtime of ${compareWord} version "${otherRuntime.description}": ${([...Failures.get(otherRuntimeIndex)!]).sort().join(", ")}.`;
|
|
80
|
+
|
|
81
|
+
if (comparison > 0) {
|
|
82
|
+
message = `${message}\nWARNING! If your code uses features of the above web components, unavailable in ${otherRuntime.description}, it might not work as expected!`;
|
|
83
|
+
} else {
|
|
84
|
+
message = `${message}\nSince the above web components were defined by the same or newer version runtime, they should be compatible with your code.`;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
message = `${message}\n\nTo prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`;
|
|
89
|
+
|
|
90
|
+
console.warn(message); // eslint-disable-line
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export {
|
|
94
|
+
registerTag,
|
|
95
|
+
isTagRegistered,
|
|
96
|
+
getAllRegisteredTags,
|
|
97
|
+
recordTagRegistrationFailure,
|
|
98
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
html,
|
|
3
|
+
svg,
|
|
4
|
+
unsafeStatic,
|
|
5
|
+
} from "lit-html/static.js";
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
setCustomElementsScopingSuffix,
|
|
9
|
+
getCustomElementsScopingSuffix,
|
|
10
|
+
setCustomElementsScopingRules,
|
|
11
|
+
getCustomElementsScopingRules,
|
|
12
|
+
shouldScopeCustomElement,
|
|
13
|
+
getEffectiveScopingSuffixForTag,
|
|
14
|
+
} from "./CustomElementsScopeUtils.js";
|
|
15
|
+
import { registerFeature } from "./FeaturesRegistry.js";
|
|
16
|
+
|
|
17
|
+
class LitStatic {
|
|
18
|
+
static html = html;
|
|
19
|
+
static svg = svg;
|
|
20
|
+
static unsafeStatic: (value: string) => object = unsafeStatic;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
registerFeature("LitStatic", LitStatic);
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
LitStatic,
|
|
27
|
+
setCustomElementsScopingSuffix,
|
|
28
|
+
getCustomElementsScopingSuffix,
|
|
29
|
+
setCustomElementsScopingRules,
|
|
30
|
+
getCustomElementsScopingRules,
|
|
31
|
+
shouldScopeCustomElement,
|
|
32
|
+
getEffectiveScopingSuffixForTag,
|
|
33
|
+
};
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
let suf;
|
|
2
|
-
|
|
1
|
+
let suf: string;
|
|
2
|
+
|
|
3
|
+
type Rules = {
|
|
4
|
+
include: Array<RegExp>,
|
|
5
|
+
exclude: Array<RegExp>,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
let rulesObj: Rules = {
|
|
3
9
|
include: [/^ui5-/],
|
|
4
10
|
exclude: [],
|
|
5
11
|
};
|
|
6
|
-
|
|
12
|
+
|
|
13
|
+
const tagsCache = new Map<string, boolean>(); // true/false means the tag should/should not be cached, undefined means not known yet.
|
|
7
14
|
|
|
8
15
|
/**
|
|
9
16
|
* Sets the suffix to be used for custom elements scoping, f.e. pass "demo" to get tags such as "ui5-button-demo".
|
|
@@ -12,7 +19,7 @@ const tagsCache = new Map(); // true/false means the tag should/should not be ca
|
|
|
12
19
|
* @public
|
|
13
20
|
* @param suffix The scoping suffix
|
|
14
21
|
*/
|
|
15
|
-
const setCustomElementsScopingSuffix = suffix => {
|
|
22
|
+
const setCustomElementsScopingSuffix = (suffix: string) => {
|
|
16
23
|
if (!suffix.match(/^[a-zA-Z0-9_-]+$/)) {
|
|
17
24
|
throw new Error("Only alphanumeric characters and dashes allowed for the scoping suffix");
|
|
18
25
|
}
|
|
@@ -39,7 +46,7 @@ const getCustomElementsScopingSuffix = () => {
|
|
|
39
46
|
* @param rules Object with "include" and "exclude" properties, both arrays of regular expressions. Note that "include"
|
|
40
47
|
* rules are applied first and "exclude" rules second.
|
|
41
48
|
*/
|
|
42
|
-
const setCustomElementsScopingRules = rules => {
|
|
49
|
+
const setCustomElementsScopingRules = (rules: Rules) => {
|
|
43
50
|
if (!rules || !rules.include) {
|
|
44
51
|
throw new Error(`"rules" must be an object with at least an "include" property`);
|
|
45
52
|
}
|
|
@@ -76,7 +83,7 @@ const getCustomElementsScopingRules = () => {
|
|
|
76
83
|
* @public
|
|
77
84
|
* @param tag
|
|
78
85
|
*/
|
|
79
|
-
const shouldScopeCustomElement = tag => {
|
|
86
|
+
const shouldScopeCustomElement = (tag: string) => {
|
|
80
87
|
if (!tagsCache.has(tag)) {
|
|
81
88
|
const result = rulesObj.include.some(rule => tag.match(rule)) && !rulesObj.exclude.some(rule => tag.match(rule));
|
|
82
89
|
tagsCache.set(tag, result);
|
|
@@ -92,7 +99,7 @@ const shouldScopeCustomElement = tag => {
|
|
|
92
99
|
* @param tag
|
|
93
100
|
* @returns {String}
|
|
94
101
|
*/
|
|
95
|
-
const getEffectiveScopingSuffixForTag = tag => {
|
|
102
|
+
const getEffectiveScopingSuffixForTag = (tag: string) => {
|
|
96
103
|
if (shouldScopeCustomElement(tag)) {
|
|
97
104
|
return getCustomElementsScopingSuffix();
|
|
98
105
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const observers = new WeakMap<Node, MutationObserver>();
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @param node
|
|
5
|
+
* @param callback
|
|
6
|
+
* @param options
|
|
7
|
+
*/
|
|
8
|
+
const observeDOMNode = (node: Node, callback: MutationCallback, options?: MutationObserverInit) => {
|
|
9
|
+
const observer = new MutationObserver(callback);
|
|
10
|
+
observers.set(node, observer);
|
|
11
|
+
observer.observe(node, options);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param node
|
|
16
|
+
*/
|
|
17
|
+
const unobserveDOMNode = (node: Node) => {
|
|
18
|
+
const observer = observers.get(node);
|
|
19
|
+
if (observer) {
|
|
20
|
+
observer.disconnect();
|
|
21
|
+
observers.delete(node);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
observeDOMNode,
|
|
27
|
+
unobserveDOMNode,
|
|
28
|
+
};
|
package/src/Device.ts
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
const isSSR = typeof document === "undefined";
|
|
2
|
+
|
|
3
|
+
const internals = {
|
|
4
|
+
get userAgent() {
|
|
5
|
+
if (isSSR) {
|
|
6
|
+
return "";
|
|
7
|
+
}
|
|
8
|
+
return navigator.userAgent;
|
|
9
|
+
},
|
|
10
|
+
get touch() {
|
|
11
|
+
if (isSSR) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return "ontouchstart" in window || navigator.maxTouchPoints > 0;
|
|
15
|
+
},
|
|
16
|
+
get ie() {
|
|
17
|
+
if (isSSR) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return /(msie|trident)/i.test(internals.userAgent);
|
|
21
|
+
},
|
|
22
|
+
get chrome() {
|
|
23
|
+
if (isSSR) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return !internals.ie && /(Chrome|CriOS)/.test(internals.userAgent);
|
|
27
|
+
},
|
|
28
|
+
get firefox() {
|
|
29
|
+
if (isSSR) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return /Firefox/.test(internals.userAgent);
|
|
33
|
+
},
|
|
34
|
+
get safari() {
|
|
35
|
+
if (isSSR) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return !internals.ie && !internals.chrome && /(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(internals.userAgent);
|
|
39
|
+
},
|
|
40
|
+
get webkit() {
|
|
41
|
+
if (isSSR) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return !internals.ie && /webkit/.test(internals.userAgent);
|
|
45
|
+
},
|
|
46
|
+
get windows() {
|
|
47
|
+
if (isSSR) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return navigator.platform.indexOf("Win") !== -1;
|
|
51
|
+
},
|
|
52
|
+
get iOS() {
|
|
53
|
+
if (isSSR) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return !!(navigator.platform.match(/iPhone|iPad|iPod/)) || !!(internals.userAgent.match(/Mac/) && "ontouchend" in document);
|
|
57
|
+
},
|
|
58
|
+
get android() {
|
|
59
|
+
if (isSSR) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
return !internals.windows && /Android/.test(internals.userAgent);
|
|
63
|
+
},
|
|
64
|
+
get androidPhone() {
|
|
65
|
+
if (isSSR) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return internals.android && /(?=android)(?=.*mobile)/i.test(internals.userAgent);
|
|
69
|
+
},
|
|
70
|
+
get ipad() {
|
|
71
|
+
if (isSSR) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
// With iOS 13 the string 'iPad' was removed from the user agent string through a browser setting, which is applied on all sites by default:
|
|
75
|
+
// "Request Desktop Website -> All websites" (for more infos see: https://forums.developer.apple.com/thread/119186).
|
|
76
|
+
// Therefore the OS is detected as MACINTOSH instead of iOS and the device is a tablet if the Device.support.touch is true.
|
|
77
|
+
return /ipad/i.test(internals.userAgent) || (/Macintosh/i.test(internals.userAgent) && "ontouchend" in document);
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
let windowsVersion: number;
|
|
82
|
+
let webkitVersion: number;
|
|
83
|
+
let tablet: boolean;
|
|
84
|
+
|
|
85
|
+
const isWindows8OrAbove = () => {
|
|
86
|
+
if (isSSR) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (!internals.windows) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (windowsVersion === undefined) {
|
|
95
|
+
const matches = internals.userAgent.match(/Windows NT (\d+).(\d)/);
|
|
96
|
+
windowsVersion = matches ? parseFloat(matches[1]) : 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return windowsVersion >= 8;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
const isWebkit537OrAbove = () => {
|
|
103
|
+
if (isSSR) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (!internals.webkit) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (webkitVersion === undefined) {
|
|
112
|
+
const matches = internals.userAgent.match(/(webkit)[ /]([\w.]+)/);
|
|
113
|
+
webkitVersion = matches ? parseFloat(matches[1]) : 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return webkitVersion >= 537.10;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
const detectTablet = () => {
|
|
120
|
+
if (isSSR) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (tablet !== undefined) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (internals.ipad) {
|
|
129
|
+
tablet = true;
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (internals.touch) {
|
|
134
|
+
if (isWindows8OrAbove()) {
|
|
135
|
+
tablet = true;
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (internals.chrome && internals.android) {
|
|
140
|
+
tablet = !/Mobile Safari\/[.0-9]+/.test(internals.userAgent);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
let densityFactor = window.devicePixelRatio ? window.devicePixelRatio : 1; // may be undefined in Windows Phone devices
|
|
145
|
+
if (internals.android && isWebkit537OrAbove()) {
|
|
146
|
+
densityFactor = 1;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
tablet = (Math.min(window.screen.width / densityFactor, window.screen.height / densityFactor) >= 600);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
tablet = (internals.ie && internals.userAgent.indexOf("Touch") !== -1) || (internals.android && !internals.androidPhone);
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
const supportsTouch = (): boolean => internals.touch;
|
|
157
|
+
const isIE = (): boolean => internals.ie;
|
|
158
|
+
const isSafari = (): boolean => internals.safari;
|
|
159
|
+
const isChrome = (): boolean => internals.chrome;
|
|
160
|
+
const isFirefox = (): boolean => internals.firefox;
|
|
161
|
+
|
|
162
|
+
const isTablet = (): boolean => {
|
|
163
|
+
detectTablet();
|
|
164
|
+
return (internals.touch || isWindows8OrAbove()) && tablet;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
const isPhone = (): boolean => {
|
|
168
|
+
detectTablet();
|
|
169
|
+
return internals.touch && !tablet;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
const isDesktop = (): boolean => {
|
|
173
|
+
if (isSSR) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
return (!isTablet() && !isPhone()) || isWindows8OrAbove();
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
const isCombi = (): boolean => {
|
|
180
|
+
return isTablet() && isDesktop();
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
const isIOS = (): boolean => {
|
|
184
|
+
return internals.iOS;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
const isAndroid = (): boolean => {
|
|
188
|
+
return internals.android || internals.androidPhone;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export {
|
|
192
|
+
supportsTouch,
|
|
193
|
+
isIE,
|
|
194
|
+
isSafari,
|
|
195
|
+
isChrome,
|
|
196
|
+
isFirefox,
|
|
197
|
+
isPhone,
|
|
198
|
+
isTablet,
|
|
199
|
+
isDesktop,
|
|
200
|
+
isCombi,
|
|
201
|
+
isIOS,
|
|
202
|
+
isAndroid,
|
|
203
|
+
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
class EventProvider {
|
|
1
|
+
class EventProvider<EventListenerParam, EventListenerReturn> {
|
|
2
|
+
_eventRegistry: Map<string, Array<(param: EventListenerParam) => EventListenerReturn>>;
|
|
3
|
+
|
|
2
4
|
constructor() {
|
|
3
5
|
this._eventRegistry = new Map();
|
|
4
6
|
}
|
|
5
7
|
|
|
6
|
-
attachEvent(eventName, fnFunction) {
|
|
8
|
+
attachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {
|
|
7
9
|
const eventRegistry = this._eventRegistry;
|
|
8
10
|
const eventListeners = eventRegistry.get(eventName);
|
|
9
11
|
|
|
@@ -17,7 +19,7 @@ class EventProvider {
|
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
detachEvent(eventName, fnFunction) {
|
|
22
|
+
detachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {
|
|
21
23
|
const eventRegistry = this._eventRegistry;
|
|
22
24
|
const eventListeners = eventRegistry.get(eventName);
|
|
23
25
|
|
|
@@ -42,7 +44,7 @@ class EventProvider {
|
|
|
42
44
|
* @param data optional data to pass to each event listener
|
|
43
45
|
* @returns {Array} an array with the results of all event listeners
|
|
44
46
|
*/
|
|
45
|
-
fireEvent(eventName, data) {
|
|
47
|
+
fireEvent(eventName: string, data: EventListenerParam) {
|
|
46
48
|
const eventRegistry = this._eventRegistry;
|
|
47
49
|
const eventListeners = eventRegistry.get(eventName);
|
|
48
50
|
|
|
@@ -62,11 +64,11 @@ class EventProvider {
|
|
|
62
64
|
* @param data optional data to pass to each event listener
|
|
63
65
|
* @returns {Promise} a promise that will resolve when all listeners have resolved
|
|
64
66
|
*/
|
|
65
|
-
fireEventAsync(eventName, data) {
|
|
67
|
+
fireEventAsync(eventName: string, data: EventListenerParam) {
|
|
66
68
|
return Promise.all(this.fireEvent(eventName, data));
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
isHandlerAttached(eventName, fnFunction) {
|
|
71
|
+
isHandlerAttached(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {
|
|
70
72
|
const eventRegistry = this._eventRegistry;
|
|
71
73
|
const eventListeners = eventRegistry.get(eventName);
|
|
72
74
|
|
|
@@ -77,7 +79,7 @@ class EventProvider {
|
|
|
77
79
|
return eventListeners.includes(fnFunction);
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
hasListeners(eventName) {
|
|
82
|
+
hasListeners(eventName: string) {
|
|
81
83
|
return !!this._eventRegistry.get(eventName);
|
|
82
84
|
}
|
|
83
85
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const features = new Map<string, any>();
|
|
2
|
+
|
|
3
|
+
const registerFeature = (name: string, feature: object) => {
|
|
4
|
+
features.set(name, feature);
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
const getFeature = <T>(name: string): T => {
|
|
8
|
+
return features.get(name) as T;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
registerFeature,
|
|
13
|
+
getFeature,
|
|
14
|
+
};
|
|
@@ -2,12 +2,13 @@ import { hasStyle, createStyle } from "./ManagedStyles.js";
|
|
|
2
2
|
import { getFeature } from "./FeaturesRegistry.js";
|
|
3
3
|
import fontFaceCSS from "./generated/css/FontFace.css.js";
|
|
4
4
|
import overrideFontFaceCSS from "./generated/css/OverrideFontFace.css.js";
|
|
5
|
+
import type OpenUI5Support from "./features/OpenUI5Support.js";
|
|
5
6
|
|
|
6
7
|
const insertFontFace = () => {
|
|
7
|
-
const
|
|
8
|
+
const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
|
|
8
9
|
|
|
9
10
|
// Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded
|
|
10
|
-
if (!
|
|
11
|
+
if (!openUI5Support || !openUI5Support.isLoaded()) {
|
|
11
12
|
insertMainFontFace();
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -1,15 +1,34 @@
|
|
|
1
1
|
import merge from "./thirdparty/merge.js";
|
|
2
2
|
import { getFeature } from "./FeaturesRegistry.js";
|
|
3
3
|
import { DEFAULT_THEME } from "./generated/AssetParameters.js";
|
|
4
|
+
import validateThemeRoot from "./validateThemeRoot.js";
|
|
5
|
+
import type OpenUI5Support from "./features/OpenUI5Support";
|
|
6
|
+
import type { FormatSettings } from "./config/FormatSettings.js";
|
|
7
|
+
import AnimationMode from "./types/AnimationMode.js";
|
|
8
|
+
import CalendarType from "./types/CalendarType.js";
|
|
4
9
|
|
|
5
10
|
let initialized = false;
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
type InitialConfig = {
|
|
13
|
+
[key: string]: any,
|
|
14
|
+
animationMode: AnimationMode,
|
|
15
|
+
theme: string,
|
|
16
|
+
themeRoot: string | undefined,
|
|
17
|
+
rtl: boolean | undefined,
|
|
18
|
+
language: string | undefined,
|
|
19
|
+
calendarType: CalendarType | undefined,
|
|
20
|
+
noConflict: boolean,
|
|
21
|
+
formatSettings: FormatSettings,
|
|
22
|
+
fetchDefaultLanguage: boolean,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
let initialConfig: InitialConfig = {
|
|
26
|
+
animationMode: AnimationMode.Full,
|
|
9
27
|
theme: DEFAULT_THEME,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
28
|
+
themeRoot: undefined,
|
|
29
|
+
rtl: undefined,
|
|
30
|
+
language: undefined,
|
|
31
|
+
calendarType: undefined,
|
|
13
32
|
noConflict: false, // no URL
|
|
14
33
|
formatSettings: {},
|
|
15
34
|
fetchDefaultLanguage: false,
|
|
@@ -26,6 +45,11 @@ const getTheme = () => {
|
|
|
26
45
|
return initialConfig.theme;
|
|
27
46
|
};
|
|
28
47
|
|
|
48
|
+
const getThemeRoot = () => {
|
|
49
|
+
initConfiguration();
|
|
50
|
+
return initialConfig.themeRoot;
|
|
51
|
+
};
|
|
52
|
+
|
|
29
53
|
const getRTL = () => {
|
|
30
54
|
initConfiguration();
|
|
31
55
|
return initialConfig.rtl;
|
|
@@ -51,6 +75,10 @@ const getNoConflict = () => {
|
|
|
51
75
|
return initialConfig.noConflict;
|
|
52
76
|
};
|
|
53
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Get the configured calendar type
|
|
80
|
+
* @returns { String } the name of the configured calendar type
|
|
81
|
+
*/
|
|
54
82
|
const getCalendarType = () => {
|
|
55
83
|
initConfiguration();
|
|
56
84
|
return initialConfig.calendarType;
|
|
@@ -106,7 +134,13 @@ const parseURLParameters = () => {
|
|
|
106
134
|
});
|
|
107
135
|
};
|
|
108
136
|
|
|
109
|
-
const
|
|
137
|
+
const normalizeThemeRootParamValue = (value: string) => {
|
|
138
|
+
const themeRoot = value.split("@")[1];
|
|
139
|
+
|
|
140
|
+
return validateThemeRoot(themeRoot);
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
const normalizeThemeParamValue = (param: string, value: string) => {
|
|
110
144
|
if (param === "theme" && value.includes("@")) { // the theme parameter might have @<URL-TO-THEME> in the value - strip this
|
|
111
145
|
return value.split("@")[0];
|
|
112
146
|
}
|
|
@@ -114,7 +148,7 @@ const normalizeParamValue = (param, value) => {
|
|
|
114
148
|
return value;
|
|
115
149
|
};
|
|
116
150
|
|
|
117
|
-
const applyURLParam = (key, value, paramType) => {
|
|
151
|
+
const applyURLParam = (key: string, value: string, paramType: string) => {
|
|
118
152
|
const lowerCaseValue = value.toLowerCase();
|
|
119
153
|
const param = key.split(`${paramType}-`)[1];
|
|
120
154
|
|
|
@@ -122,23 +156,29 @@ const applyURLParam = (key, value, paramType) => {
|
|
|
122
156
|
value = booleanMapping.get(lowerCaseValue);
|
|
123
157
|
}
|
|
124
158
|
|
|
125
|
-
|
|
159
|
+
if (param === "theme") {
|
|
160
|
+
initialConfig.theme = normalizeThemeParamValue(param, value);
|
|
126
161
|
|
|
127
|
-
|
|
162
|
+
if (value && value.includes("@")) {
|
|
163
|
+
initialConfig.themeRoot = normalizeThemeRootParamValue(value);
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
initialConfig[param] = value;
|
|
167
|
+
}
|
|
128
168
|
};
|
|
129
169
|
|
|
130
170
|
const applyOpenUI5Configuration = () => {
|
|
131
|
-
const
|
|
132
|
-
if (!
|
|
171
|
+
const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
|
|
172
|
+
if (!openUI5Support || !openUI5Support.isLoaded()) {
|
|
133
173
|
return;
|
|
134
174
|
}
|
|
135
175
|
|
|
136
|
-
const OpenUI5Config =
|
|
176
|
+
const OpenUI5Config = openUI5Support.getConfigurationSettingsObject();
|
|
137
177
|
initialConfig = merge(initialConfig, OpenUI5Config);
|
|
138
178
|
};
|
|
139
179
|
|
|
140
180
|
const initConfiguration = () => {
|
|
141
|
-
if (initialized) {
|
|
181
|
+
if (typeof document === "undefined" || initialized) {
|
|
142
182
|
return;
|
|
143
183
|
}
|
|
144
184
|
|
|
@@ -157,6 +197,7 @@ const initConfiguration = () => {
|
|
|
157
197
|
export {
|
|
158
198
|
getAnimationMode,
|
|
159
199
|
getTheme,
|
|
200
|
+
getThemeRoot,
|
|
160
201
|
getRTL,
|
|
161
202
|
getLanguage,
|
|
162
203
|
getFetchDefaultLanguage,
|