@ui5/webcomponents-base 0.0.0-cf50976ce → 0.0.0-d4d43327a
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 +2 -0
- package/CHANGELOG.md +167 -0
- package/bundle.esm.js +8 -2
- 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 +9 -0
- package/dist/Boot.js +43 -45
- 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 +66 -83
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +10 -29
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/dist/CustomElementsScopeUtils.js +34 -52
- 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 +145 -100
- 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 -10
- 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 -291
- 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 +49 -70
- 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 +84 -86
- 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 -1007
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +277 -313
- 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 -119
- 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 -132
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +11 -0
- package/dist/asset-registries/Themes.js +36 -68
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +52 -80
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/Boot.4539908a.js +9 -0
- package/dist/assets/Boot.6335ce08.css +1 -0
- package/dist/assets/bundle.esm.a14a2ceb.js +52 -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 +88 -37
- 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 +34 -36
- 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/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 -317
- 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 +145 -104
- 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 +89 -112
- 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/VersionInfo.js +3 -3
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -5
- 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 +28 -39
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +12 -16
- 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/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +33 -45
- 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 -64
- 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 +12 -22
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +24 -31
- 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 +72 -79
- 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 +14 -13
- 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 -16
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +15 -0
- package/dist/util/AriaLabelHelper.js +166 -34
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +16 -25
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +311 -372
- 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 +63 -71
- 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 +40 -53
- 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 -47
- 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 +8 -7
- 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 +26 -27
- 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 +1 -2
- 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 +7 -9
- 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-styles/index.js +10 -5
- package/package-scripts.js +22 -7
- package/package.json +4 -4
- package/src/Boot.ts +76 -0
- package/src/{CSP.js → CSP.ts} +14 -7
- package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
- package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
- package/src/{CustomElementsScopeUtils.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.js → Runtimes.ts} +15 -8
- package/src/{StaticAreaItem.js → StaticAreaItem.ts} +30 -18
- package/src/{UI5Element.js → UI5Element.ts} +280 -166
- package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
- 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} +36 -28
- package/src/asset-registries/{Themes.js → Themes.ts} +19 -29
- package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
- 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/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} +56 -19
- 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} +45 -23
- 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.js → executeTemplate.ts} +11 -5
- package/src/theming/{CustomStyle.js → CustomStyle.ts} +16 -12
- package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
- package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
- package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
- package/src/theming/getEffectiveLinksHrefs.ts +26 -0
- package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
- package/src/theming/getStylesString.ts +15 -0
- package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
- 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.js → DOMReference.ts} +6 -2
- 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.js → Caret.ts} +5 -9
- package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
- 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} +6 -6
- 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.js → generateHighlightedMarkup.ts} +7 -6
- 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/getFastNavigationGroups.ts +63 -0
- package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
- package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
- 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/dist/RenderScheduler.js +0 -44
- package/dist/animations/config.js +0 -5
- package/dist/assets/bundle.esm.83f057b4.js +0 -43
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/isDefaultSlotProvided.js +0 -11
- 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 -59
- package/src/DOMObserver.js +0 -65
- package/src/Device.js +0 -121
- package/src/FeaturesRegistry.js +0 -14
- package/src/Keys.js +0 -295
- 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 -135
- package/src/asset-registries/Illustrations.js +0 -30
- 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/Icons.js +0 -52
- package/src/config/NoConflict.js +0 -51
- package/src/config/Theme.js +0 -53
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -188
- package/src/features/F6Navigation.js +0 -110
- package/src/features/OpenUI5Enablement.js +0 -119
- package/src/features/OpenUI5Support.js +0 -125
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/languageChange.js +0 -22
- package/src/renderer/LitRenderer.js +0 -52
- package/src/theming/getEffectiveLinksHrefs.js +0 -27
- package/src/theming/getStylesString.js +0 -15
- 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 -29
- package/src/util/AriaLabelHelper.js +0 -39
- package/src/util/FocusableElements.js +0 -79
- package/src/util/PopupUtils.js +0 -93
- package/src/util/TabbableElements.js +0 -51
- package/src/util/escapeRegex.js +0 -10
- package/src/util/getEffectiveContentDensity.js +0 -5
- package/src/util/isDefaultSlotProvided.js +0 -11
- 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
- /package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
|
|
2
2
|
import { getLanguage as getConfigLanguage } from "../config/Language.js";
|
|
3
3
|
import Locale from "./Locale.js";
|
|
4
|
+
import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
|
|
4
5
|
|
|
5
|
-
const cache = new Map();
|
|
6
|
+
const cache = new Map<string, Locale>();
|
|
6
7
|
|
|
7
|
-
const getLocaleInstance = lang => {
|
|
8
|
+
const getLocaleInstance = (lang: string) => {
|
|
8
9
|
if (!cache.has(lang)) {
|
|
9
10
|
cache.set(lang, new Locale(lang));
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
return cache.get(lang)
|
|
13
|
+
return cache.get(lang)!;
|
|
13
14
|
};
|
|
14
15
|
|
|
15
|
-
const convertToLocaleOrNull = lang => {
|
|
16
|
+
const convertToLocaleOrNull = (lang: string) => {
|
|
16
17
|
try {
|
|
17
18
|
if (lang && typeof lang === "string") {
|
|
18
19
|
return getLocaleInstance(lang);
|
|
@@ -20,19 +21,23 @@ const convertToLocaleOrNull = lang => {
|
|
|
20
21
|
} catch (e) {
|
|
21
22
|
// ignore
|
|
22
23
|
}
|
|
24
|
+
|
|
25
|
+
return new Locale(DEFAULT_LOCALE);
|
|
23
26
|
};
|
|
24
27
|
|
|
25
28
|
/**
|
|
26
29
|
* Returns the locale based on the parameter or configured language Configuration#getLanguage
|
|
27
30
|
* If no language has been configured - a new locale based on browser language is returned
|
|
28
31
|
*/
|
|
29
|
-
const getLocale = lang => {
|
|
32
|
+
const getLocale = (lang?: string): Locale => {
|
|
30
33
|
if (lang) {
|
|
31
34
|
return convertToLocaleOrNull(lang);
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
const configLanguage = getConfigLanguage();
|
|
38
|
+
|
|
39
|
+
if (configLanguage) {
|
|
40
|
+
return getLocaleInstance(configLanguage);
|
|
36
41
|
}
|
|
37
42
|
|
|
38
43
|
return convertToLocaleOrNull(detectNavigatorLanguage());
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import EventProvider from "../EventProvider.js";
|
|
2
|
+
|
|
3
|
+
type LanguageChangeCallback = (lang: string) => Promise<void | Array<void>>;
|
|
4
|
+
|
|
5
|
+
const eventProvider = new EventProvider<string, Promise<void | Array<void>>>();
|
|
6
|
+
const LANG_CHANGE = "languageChange";
|
|
7
|
+
|
|
8
|
+
const attachLanguageChange = (listener: LanguageChangeCallback) => {
|
|
9
|
+
eventProvider.attachEvent(LANG_CHANGE, listener);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const detachLanguageChange = (listener: LanguageChangeCallback) => {
|
|
13
|
+
eventProvider.detachEvent(LANG_CHANGE, listener);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const fireLanguageChange = (lang: string) => {
|
|
17
|
+
return eventProvider.fireEventAsync(LANG_CHANGE, lang);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
attachLanguageChange,
|
|
22
|
+
detachLanguageChange,
|
|
23
|
+
fireLanguageChange,
|
|
24
|
+
};
|
|
@@ -6,7 +6,7 @@ import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
|
|
|
6
6
|
* @param {string} locale Locale string in Java format (underscores) or null
|
|
7
7
|
* @returns {string} Next fallback Locale or "en" if no fallbacks found.
|
|
8
8
|
*/
|
|
9
|
-
const nextFallbackLocale = locale => {
|
|
9
|
+
const nextFallbackLocale = (locale: string) => {
|
|
10
10
|
if (!locale) {
|
|
11
11
|
return DEFAULT_LOCALE;
|
|
12
12
|
}
|
|
@@ -7,7 +7,7 @@ const SAPSupportabilityLocales = /(?:^|-)(saptrc|sappsd)(?:-|$)/i;
|
|
|
7
7
|
const M_ISO639_NEW_TO_OLD = {
|
|
8
8
|
"he": "iw",
|
|
9
9
|
"yi": "ji",
|
|
10
|
-
"
|
|
10
|
+
"nb": "no",
|
|
11
11
|
"sr": "sh",
|
|
12
12
|
};
|
|
13
13
|
|
|
@@ -16,7 +16,7 @@ const M_ISO639_NEW_TO_OLD = {
|
|
|
16
16
|
* @param {string} locale locale to normalize
|
|
17
17
|
* @returns {string} Normalized locale, "undefined" if the locale can't be normalized or the default locale, if no locale provided.
|
|
18
18
|
*/
|
|
19
|
-
const normalizeLocale = locale => {
|
|
19
|
+
const normalizeLocale = (locale: string) => {
|
|
20
20
|
let m;
|
|
21
21
|
|
|
22
22
|
if (!locale) {
|
|
@@ -30,7 +30,7 @@ const normalizeLocale = locale => {
|
|
|
30
30
|
const variants = m[4] ? m[4].slice(1) : undefined;
|
|
31
31
|
const isPrivate = m[6];
|
|
32
32
|
|
|
33
|
-
language = M_ISO639_NEW_TO_OLD[language] || language;
|
|
33
|
+
language = M_ISO639_NEW_TO_OLD[language as keyof typeof M_ISO639_NEW_TO_OLD] || language;
|
|
34
34
|
|
|
35
35
|
// recognize and convert special SAP supportability locales (overwrites m[]!)
|
|
36
36
|
if ((isPrivate && (m = SAPSupportabilityLocales.exec(isPrivate))) /* eslint-disable-line */ ||
|
|
@@ -49,6 +49,8 @@ const normalizeLocale = locale => {
|
|
|
49
49
|
|
|
50
50
|
return language + (region ? "_" + region + (variants ? "_" + variants.replace("-", "_") : "") : ""); /* eslint-disable-line */
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
return DEFAULT_LOCALE;
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
export default normalizeLocale;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
render,
|
|
3
|
+
html,
|
|
4
|
+
svg,
|
|
5
|
+
TemplateResult,
|
|
6
|
+
} from "lit-html";
|
|
7
|
+
|
|
8
|
+
import { getFeature } from "../FeaturesRegistry.js";
|
|
9
|
+
import type { LitStatic } from "../CustomElementsScope.js";
|
|
10
|
+
import type OpenUI5Enablement from "../features/OpenUI5Enablement.js";
|
|
11
|
+
import type UI5Element from "../UI5Element.js";
|
|
12
|
+
import type { Renderer, RendererOptions } from "../UI5Element.js";
|
|
13
|
+
import { TemplateFunctionResult } from "./executeTemplate.js";
|
|
14
|
+
|
|
15
|
+
const effectiveHtml = (strings: TemplateStringsArray, ...values: Array<unknown>) => {
|
|
16
|
+
const litStatic = getFeature<typeof LitStatic>("LitStatic");
|
|
17
|
+
const fn = litStatic ? litStatic.html : html;
|
|
18
|
+
return fn(strings, ...values);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const effectiveSvg = (strings: TemplateStringsArray, ...values: Array<unknown>) => {
|
|
22
|
+
const litStatic = getFeature<typeof LitStatic>("LitStatic");
|
|
23
|
+
const fn = litStatic ? litStatic.svg : svg;
|
|
24
|
+
return fn(strings, ...values);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const litRender: Renderer = (templateResult: TemplateFunctionResult, container: HTMLElement | DocumentFragment, styleStrOrHrefsArr: string | Array<string> | undefined, forStaticArea: boolean, options: RendererOptions) => {
|
|
28
|
+
const openUI5Enablement = getFeature<typeof OpenUI5Enablement>("OpenUI5Enablement");
|
|
29
|
+
if (openUI5Enablement && !forStaticArea) {
|
|
30
|
+
templateResult = openUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml, options.host as UI5Element, templateResult as TemplateResult);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (typeof styleStrOrHrefsArr === "string") {
|
|
34
|
+
templateResult = effectiveHtml`<style>${styleStrOrHrefsArr}</style>${templateResult}`;
|
|
35
|
+
} else if (Array.isArray(styleStrOrHrefsArr) && styleStrOrHrefsArr.length) {
|
|
36
|
+
templateResult = effectiveHtml`${styleStrOrHrefsArr.map(href => effectiveHtml`<link type="text/css" rel="stylesheet" href="${href}">`)}${templateResult}`;
|
|
37
|
+
}
|
|
38
|
+
render(templateResult as TemplateResult, container, options);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const scopeTag = (tag: string, tags: Array<string>, suffix: string) => {
|
|
42
|
+
const litStatic = getFeature<typeof LitStatic>("LitStatic");
|
|
43
|
+
if (litStatic) {
|
|
44
|
+
return litStatic.unsafeStatic((tags || []).includes(tag) ? `${tag}-${suffix}` : tag);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
effectiveHtml as html,
|
|
50
|
+
effectiveSvg as svg,
|
|
51
|
+
};
|
|
52
|
+
export { scopeTag };
|
|
53
|
+
export { repeat } from "lit-html/directives/repeat.js";
|
|
54
|
+
export { classMap } from "lit-html/directives/class-map.js";
|
|
55
|
+
// @ts-ignore style-map is a JS file
|
|
56
|
+
export { styleMap } from "./directives/style-map.js";
|
|
57
|
+
export { ifDefined } from "lit-html/directives/if-defined.js";
|
|
58
|
+
export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
|
|
59
|
+
|
|
60
|
+
export default litRender;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../CustomElementsScopeUtils.js";
|
|
2
|
+
import type UI5Element from "../UI5Element.js";
|
|
3
|
+
|
|
4
|
+
type TemplateFunctionResult = object;
|
|
5
|
+
type TemplateFunction = (component: UI5Element, tagsToScope: Array<string>, scope: string | undefined) => TemplateFunctionResult;
|
|
2
6
|
|
|
3
7
|
/**
|
|
4
8
|
* Runs a component's template with the component's current state, while also scoping HTML
|
|
@@ -6,9 +10,8 @@ import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../Cus
|
|
|
6
10
|
* @param template - the template to execute
|
|
7
11
|
* @param component - the component
|
|
8
12
|
* @public
|
|
9
|
-
* @returns {*}
|
|
10
13
|
*/
|
|
11
|
-
const executeTemplate = (template, component) => {
|
|
14
|
+
const executeTemplate = (template: TemplateFunction, component: UI5Element): TemplateFunctionResult => {
|
|
12
15
|
const tagsToScope = getTagsToScope(component);
|
|
13
16
|
const scope = getCustomElementsScopingSuffix();
|
|
14
17
|
return template(component, tagsToScope, scope);
|
|
@@ -20,9 +23,11 @@ const executeTemplate = (template, component) => {
|
|
|
20
23
|
* @returns {Array[]}
|
|
21
24
|
* @private
|
|
22
25
|
*/
|
|
23
|
-
const getTagsToScope = component => {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
+
const getTagsToScope = (component: UI5Element) => {
|
|
27
|
+
const ctor = component.constructor as typeof UI5Element;
|
|
28
|
+
|
|
29
|
+
const componentTag = ctor.getMetadata().getPureTag();
|
|
30
|
+
const tagsToScope = ctor.getUniqueDependencies().map((dep: typeof UI5Element) => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
|
|
26
31
|
|
|
27
32
|
if (shouldScopeCustomElement(componentTag)) {
|
|
28
33
|
tagsToScope.push(componentTag);
|
|
@@ -32,3 +37,4 @@ const getTagsToScope = component => {
|
|
|
32
37
|
};
|
|
33
38
|
|
|
34
39
|
export default executeTemplate;
|
|
40
|
+
export type { TemplateFunction, TemplateFunctionResult };
|
|
@@ -2,34 +2,37 @@ import { reRenderAllUI5Elements } from "../Render.js";
|
|
|
2
2
|
import getSharedResource from "../getSharedResource.js";
|
|
3
3
|
import EventProvider from "../EventProvider.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
type CustomCSSChangeCallback = (tag: string) => void;
|
|
6
|
+
|
|
7
|
+
const getEventProvider = () => getSharedResource("CustomStyle.eventProvider", new EventProvider<string, void>());
|
|
6
8
|
const CUSTOM_CSS_CHANGE = "CustomCSSChange";
|
|
7
9
|
|
|
8
|
-
const attachCustomCSSChange = listener => {
|
|
9
|
-
|
|
10
|
+
const attachCustomCSSChange = (listener: CustomCSSChangeCallback) => {
|
|
11
|
+
getEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
10
12
|
};
|
|
11
13
|
|
|
12
|
-
const detachCustomCSSChange = listener => {
|
|
13
|
-
|
|
14
|
+
const detachCustomCSSChange = (listener: CustomCSSChangeCallback) => {
|
|
15
|
+
getEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
14
16
|
};
|
|
15
17
|
|
|
16
|
-
const fireCustomCSSChange = tag => {
|
|
17
|
-
return
|
|
18
|
+
const fireCustomCSSChange = (tag: string) => {
|
|
19
|
+
return getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);
|
|
18
20
|
};
|
|
19
21
|
|
|
20
|
-
const
|
|
22
|
+
const getCustomCSSFor = () => getSharedResource<Record<string, Array<string>>>("CustomStyle.customCSSFor", {});
|
|
21
23
|
|
|
22
24
|
// Listen to the eventProvider, in case other copies of this CustomStyle module fire this
|
|
23
25
|
// event, and this copy would therefore need to reRender the ui5 webcomponents; but
|
|
24
26
|
// don't reRender if it was this copy that fired the event to begin with.
|
|
25
|
-
let skipRerender;
|
|
26
|
-
attachCustomCSSChange(tag => {
|
|
27
|
+
let skipRerender: boolean;
|
|
28
|
+
attachCustomCSSChange((tag: string) => {
|
|
27
29
|
if (!skipRerender) {
|
|
28
30
|
reRenderAllUI5Elements({ tag });
|
|
29
31
|
}
|
|
30
32
|
});
|
|
31
33
|
|
|
32
|
-
const addCustomCSS = (tag, css) => {
|
|
34
|
+
const addCustomCSS = (tag: string, css: string) => {
|
|
35
|
+
const customCSSFor = getCustomCSSFor();
|
|
33
36
|
if (!customCSSFor[tag]) {
|
|
34
37
|
customCSSFor[tag] = [];
|
|
35
38
|
}
|
|
@@ -48,7 +51,8 @@ const addCustomCSS = (tag, css) => {
|
|
|
48
51
|
return reRenderAllUI5Elements({ tag });
|
|
49
52
|
};
|
|
50
53
|
|
|
51
|
-
const getCustomCSS = tag => {
|
|
54
|
+
const getCustomCSS = (tag: string) => {
|
|
55
|
+
const customCSSFor = getCustomCSSFor();
|
|
52
56
|
return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
|
|
53
57
|
};
|
|
54
58
|
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import EventProvider from "../EventProvider.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
type ThemeLoadedCallback = (theme: string) => void;
|
|
4
|
+
|
|
5
|
+
const eventProvider = new EventProvider<string, void>();
|
|
4
6
|
const THEME_LOADED = "themeLoaded";
|
|
5
7
|
|
|
6
|
-
const attachThemeLoaded = listener => {
|
|
8
|
+
const attachThemeLoaded = (listener: ThemeLoadedCallback) => {
|
|
7
9
|
eventProvider.attachEvent(THEME_LOADED, listener);
|
|
8
10
|
};
|
|
9
11
|
|
|
10
|
-
const detachThemeLoaded = listener => {
|
|
12
|
+
const detachThemeLoaded = (listener: ThemeLoadedCallback) => {
|
|
11
13
|
eventProvider.detachEvent(THEME_LOADED, listener);
|
|
12
14
|
};
|
|
13
15
|
|
|
14
|
-
const fireThemeLoaded = theme => {
|
|
16
|
+
const fireThemeLoaded = (theme: string) => {
|
|
15
17
|
return eventProvider.fireEvent(THEME_LOADED, theme);
|
|
16
18
|
};
|
|
17
19
|
|
|
@@ -3,6 +3,9 @@ import { removeStyle, createOrUpdateStyle } from "../ManagedStyles.js";
|
|
|
3
3
|
import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
|
|
4
4
|
import { fireThemeLoaded } from "./ThemeLoaded.js";
|
|
5
5
|
import { getFeature } from "../FeaturesRegistry.js";
|
|
6
|
+
import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoots.js";
|
|
7
|
+
import type OpenUI5Support from "../features/OpenUI5Support.js";
|
|
8
|
+
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
|
|
6
9
|
|
|
7
10
|
const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
|
|
8
11
|
|
|
@@ -11,7 +14,7 @@ const isThemeBaseRegistered = () => {
|
|
|
11
14
|
return registeredPackages.has(BASE_THEME_PACKAGE);
|
|
12
15
|
};
|
|
13
16
|
|
|
14
|
-
const loadThemeBase = async theme => {
|
|
17
|
+
const loadThemeBase = async (theme: string) => {
|
|
15
18
|
if (!isThemeBaseRegistered()) {
|
|
16
19
|
return;
|
|
17
20
|
}
|
|
@@ -26,9 +29,10 @@ const deleteThemeBase = () => {
|
|
|
26
29
|
removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
|
|
27
30
|
};
|
|
28
31
|
|
|
29
|
-
const loadComponentPackages = async theme => {
|
|
32
|
+
const loadComponentPackages = async (theme: string) => {
|
|
30
33
|
const registeredPackages = getRegisteredPackages();
|
|
31
|
-
|
|
34
|
+
|
|
35
|
+
const packagesStylesPromises = [...registeredPackages].map(async packageName => {
|
|
32
36
|
if (packageName === BASE_THEME_PACKAGE) {
|
|
33
37
|
return;
|
|
34
38
|
}
|
|
@@ -38,9 +42,11 @@ const loadComponentPackages = async theme => {
|
|
|
38
42
|
createOrUpdateStyle(cssData, "data-ui5-theme-properties", packageName);
|
|
39
43
|
}
|
|
40
44
|
});
|
|
45
|
+
|
|
46
|
+
return Promise.all(packagesStylesPromises);
|
|
41
47
|
};
|
|
42
48
|
|
|
43
|
-
const detectExternalTheme = () => {
|
|
49
|
+
const detectExternalTheme = async (theme: string) => {
|
|
44
50
|
// If theme designer theme is detected, use this
|
|
45
51
|
const extTheme = getThemeDesignerTheme();
|
|
46
52
|
if (extTheme) {
|
|
@@ -48,19 +54,24 @@ const detectExternalTheme = () => {
|
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
// If OpenUI5Support is enabled, try to find out if it loaded variables
|
|
51
|
-
const
|
|
52
|
-
if (
|
|
53
|
-
const varsLoaded =
|
|
57
|
+
const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
|
|
58
|
+
if (openUI5Support) {
|
|
59
|
+
const varsLoaded = openUI5Support.cssVariablesLoaded();
|
|
54
60
|
if (varsLoaded) {
|
|
55
61
|
return {
|
|
56
|
-
themeName:
|
|
62
|
+
themeName: openUI5Support.getConfigurationSettingsObject()?.theme, // just themeName
|
|
63
|
+
baseThemeName: "", // baseThemeName is only relevant for custom themes
|
|
57
64
|
};
|
|
58
65
|
}
|
|
66
|
+
} else if (getThemeRoot()) {
|
|
67
|
+
await attachCustomThemeStylesToHead(theme);
|
|
68
|
+
|
|
69
|
+
return getThemeDesignerTheme();
|
|
59
70
|
}
|
|
60
71
|
};
|
|
61
72
|
|
|
62
|
-
const applyTheme = async theme => {
|
|
63
|
-
const extTheme = detectExternalTheme();
|
|
73
|
+
const applyTheme = async (theme: string) => {
|
|
74
|
+
const extTheme = await detectExternalTheme(theme);
|
|
64
75
|
|
|
65
76
|
// Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
|
|
66
77
|
if (!extTheme || theme !== extTheme.themeName) {
|
|
@@ -71,7 +82,7 @@ const applyTheme = async theme => {
|
|
|
71
82
|
|
|
72
83
|
// Always load component packages properties. For non-registered themes, try with the base theme, if any
|
|
73
84
|
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
|
|
74
|
-
await loadComponentPackages(packagesTheme);
|
|
85
|
+
await loadComponentPackages(packagesTheme || DEFAULT_THEME);
|
|
75
86
|
|
|
76
87
|
fireThemeLoaded(theme);
|
|
77
88
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import getEffectiveStyle from "./getEffectiveStyle.js";
|
|
2
2
|
import { attachCustomCSSChange } from "./CustomStyle.js";
|
|
3
|
+
import UI5Element from "../UI5Element.js";
|
|
3
4
|
|
|
4
|
-
const constructableStyleMap = new Map();
|
|
5
|
+
const constructableStyleMap = new Map<string, Array<CSSStyleSheet>>();
|
|
5
6
|
|
|
6
|
-
attachCustomCSSChange(tag => {
|
|
7
|
+
attachCustomCSSChange((tag: string) => {
|
|
7
8
|
constructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
|
|
8
9
|
});
|
|
9
10
|
|
|
@@ -13,7 +14,7 @@ attachCustomCSSChange(tag => {
|
|
|
13
14
|
* @param ElementClass
|
|
14
15
|
* @returns {*}
|
|
15
16
|
*/
|
|
16
|
-
const getConstructableStyle = (ElementClass, forStaticArea = false) => {
|
|
17
|
+
const getConstructableStyle = (ElementClass: typeof UI5Element, forStaticArea = false) => {
|
|
17
18
|
const tag = ElementClass.getMetadata().getTag();
|
|
18
19
|
const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
|
|
19
20
|
|
|
@@ -24,7 +25,7 @@ const getConstructableStyle = (ElementClass, forStaticArea = false) => {
|
|
|
24
25
|
constructableStyleMap.set(key, [style]);
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
return constructableStyleMap.get(key)
|
|
28
|
+
return constructableStyleMap.get(key)!;
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
export default getConstructableStyle;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getUrl } from "../CSP.js";
|
|
2
|
+
import { getFeature } from "../FeaturesRegistry.js";
|
|
3
|
+
import type UI5Element from "../UI5Element.js";
|
|
4
|
+
import type OpenUI5Enablement from "../features/OpenUI5Enablement.js";
|
|
5
|
+
import type { ComponentStylesData, StyleDataCSP } from "../types.js";
|
|
6
|
+
|
|
7
|
+
const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
|
|
8
|
+
|
|
9
|
+
const getEffectiveLinksHrefs = (ElementClass: typeof UI5Element, forStaticArea = false) => {
|
|
10
|
+
const stylesData: ComponentStylesData = ElementClass[forStaticArea ? "staticAreaStyles" : "styles"];
|
|
11
|
+
|
|
12
|
+
if (!stylesData) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const stylesDataArray: ComponentStylesData = Array.isArray(stylesData) ? stylesData : [stylesData];
|
|
17
|
+
|
|
18
|
+
const openUI5Enablement = getFeature<typeof OpenUI5Enablement>("OpenUI5Enablement");
|
|
19
|
+
if (openUI5Enablement) {
|
|
20
|
+
stylesDataArray.push(openUI5Enablement.getBusyIndicatorStyles());
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return stylesDataArray.flat(MAX_DEPTH_INHERITED_CLASSES).filter(data => !!data).map(data => getUrl((data as StyleDataCSP).packageName, (data as StyleDataCSP).fileName));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default getEffectiveLinksHrefs;
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { getCustomCSS, attachCustomCSSChange } from "./CustomStyle.js";
|
|
2
2
|
import getStylesString from "./getStylesString.js";
|
|
3
3
|
import { getFeature } from "../FeaturesRegistry.js";
|
|
4
|
+
import type UI5Element from "../UI5Element.js";
|
|
5
|
+
import OpenUI5Enablement from "../features/OpenUI5Enablement.js";
|
|
4
6
|
|
|
5
|
-
const effectiveStyleMap = new Map();
|
|
7
|
+
const effectiveStyleMap = new Map<string, string>();
|
|
6
8
|
|
|
7
|
-
attachCustomCSSChange(tag => {
|
|
9
|
+
attachCustomCSSChange((tag: string) => {
|
|
8
10
|
effectiveStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
|
|
9
11
|
});
|
|
10
12
|
|
|
11
|
-
const getEffectiveStyle = (ElementClass, forStaticArea = false) => {
|
|
13
|
+
const getEffectiveStyle = (ElementClass: typeof UI5Element, forStaticArea = false) => {
|
|
12
14
|
const tag = ElementClass.getMetadata().getTag();
|
|
13
15
|
const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
|
|
14
|
-
const
|
|
16
|
+
const openUI5Enablement = getFeature<typeof OpenUI5Enablement>("OpenUI5Enablement");
|
|
15
17
|
|
|
16
18
|
if (!effectiveStyleMap.has(key)) {
|
|
17
19
|
let effectiveStyle;
|
|
18
20
|
let busyIndicatorStyles = "";
|
|
19
21
|
|
|
20
|
-
if (
|
|
21
|
-
busyIndicatorStyles = getStylesString(
|
|
22
|
+
if (openUI5Enablement) {
|
|
23
|
+
busyIndicatorStyles = getStylesString(openUI5Enablement.getBusyIndicatorStyles());
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
if (forStaticArea) {
|
|
@@ -33,7 +35,7 @@ const getEffectiveStyle = (ElementClass, forStaticArea = false) => {
|
|
|
33
35
|
effectiveStyleMap.set(key, effectiveStyle);
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
return effectiveStyleMap.get(key)
|
|
38
|
+
return effectiveStyleMap.get(key)!; // The key is guaranteed to exist
|
|
37
39
|
};
|
|
38
40
|
|
|
39
41
|
export default getEffectiveStyle;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ComponentStylesData, StyleData } from "../types.js";
|
|
2
|
+
|
|
3
|
+
const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
|
|
4
|
+
|
|
5
|
+
const getStylesString = (styles: ComponentStylesData) => {
|
|
6
|
+
if (Array.isArray(styles)) {
|
|
7
|
+
return (styles.filter(style => !!style).flat(MAX_DEPTH_INHERITED_CLASSES) as Array<StyleData>).map((style: StyleData) => {
|
|
8
|
+
return typeof style === "string" ? style : style.content;
|
|
9
|
+
}).join(" ");
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return typeof styles === "string" ? styles : styles.content;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default getStylesString;
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
type ThemeDescriptor = {
|
|
2
|
+
themeName: string,
|
|
3
|
+
baseThemeName?: string,
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
type ThemeMetadata = {
|
|
7
|
+
Path: string,
|
|
8
|
+
Extends: Array<string>,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const warnings = new Set<string>();
|
|
2
12
|
|
|
3
13
|
const getThemeMetadata = () => {
|
|
4
14
|
// Check if the class was already applied, most commonly to the link/style tag with the CSS Variables
|
|
@@ -8,7 +18,7 @@ const getThemeMetadata = () => {
|
|
|
8
18
|
}
|
|
9
19
|
|
|
10
20
|
el = document.createElement("span");
|
|
11
|
-
el.style.display = "none";
|
|
21
|
+
(el as HTMLSpanElement).style.display = "none";
|
|
12
22
|
|
|
13
23
|
// Try with sapThemeMetaData-Base-baseLib first
|
|
14
24
|
el.classList.add("sapThemeMetaData-Base-baseLib");
|
|
@@ -26,7 +36,7 @@ const getThemeMetadata = () => {
|
|
|
26
36
|
return metadata;
|
|
27
37
|
};
|
|
28
38
|
|
|
29
|
-
const parseThemeMetadata = metadataString => {
|
|
39
|
+
const parseThemeMetadata = (metadataString: string) => {
|
|
30
40
|
const params = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(metadataString);
|
|
31
41
|
if (params && params.length >= 2) {
|
|
32
42
|
let paramsString = params[1];
|
|
@@ -43,7 +53,7 @@ const parseThemeMetadata = metadataString => {
|
|
|
43
53
|
}
|
|
44
54
|
}
|
|
45
55
|
try {
|
|
46
|
-
return JSON.parse(paramsString);
|
|
56
|
+
return JSON.parse(paramsString) as ThemeMetadata;
|
|
47
57
|
} catch (ex) {
|
|
48
58
|
if (!warnings.has("parse")) {
|
|
49
59
|
console.warn("Malformed theme metadata string, unable to parse JSON"); // eslint-disable-line
|
|
@@ -53,12 +63,12 @@ const parseThemeMetadata = metadataString => {
|
|
|
53
63
|
}
|
|
54
64
|
};
|
|
55
65
|
|
|
56
|
-
const processThemeMetadata = metadata => {
|
|
66
|
+
const processThemeMetadata = (metadata: ThemeMetadata): ThemeDescriptor | undefined => {
|
|
57
67
|
let themeName;
|
|
58
68
|
let baseThemeName;
|
|
59
69
|
|
|
60
70
|
try {
|
|
61
|
-
themeName = metadata.Path.match(/\.([^.]+)\.css_variables$/)[1];
|
|
71
|
+
themeName = metadata.Path.match(/\.([^.]+)\.css_variables$/)![1];
|
|
62
72
|
baseThemeName = metadata.Extends[0];
|
|
63
73
|
} catch (ex) {
|
|
64
74
|
if (!warnings.has("object")) {
|
|
@@ -74,14 +84,18 @@ const processThemeMetadata = metadata => {
|
|
|
74
84
|
};
|
|
75
85
|
};
|
|
76
86
|
|
|
77
|
-
const getThemeDesignerTheme = () => {
|
|
87
|
+
const getThemeDesignerTheme = (): ThemeDescriptor | undefined => {
|
|
78
88
|
const metadataString = getThemeMetadata();
|
|
79
89
|
if (!metadataString || metadataString === "none") {
|
|
80
90
|
return;
|
|
81
91
|
}
|
|
82
92
|
|
|
83
93
|
const metadata = parseThemeMetadata(metadataString);
|
|
84
|
-
|
|
94
|
+
|
|
95
|
+
if (metadata) {
|
|
96
|
+
return processThemeMetadata(metadata);
|
|
97
|
+
}
|
|
85
98
|
};
|
|
86
99
|
|
|
87
100
|
export default getThemeDesignerTheme;
|
|
101
|
+
export type { ThemeDescriptor };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import getEffectiveLinksHrefs from "./getEffectiveLinksHrefs.js";
|
|
2
2
|
import createLinkInHead from "../util/createLinkInHead.js";
|
|
3
3
|
import { shouldUseLinks, shouldPreloadLinks } from "../CSP.js";
|
|
4
|
+
import type UI5Element from "../UI5Element.js";
|
|
4
5
|
|
|
5
|
-
const preloaded = new Set();
|
|
6
|
+
const preloaded = new Set<string>();
|
|
6
7
|
|
|
7
|
-
const preloadLinks = ElementClass => {
|
|
8
|
+
const preloadLinks = (ElementClass: typeof UI5Element) => {
|
|
8
9
|
if (!shouldUseLinks() || !shouldPreloadLinks()) {
|
|
9
10
|
return;
|
|
10
11
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import isPlainObject from './isPlainObject.js';
|
|
2
2
|
var oToken = Object.create(null);
|
|
3
|
-
var fnMerge = function () {
|
|
3
|
+
var fnMerge = function (arg1?: any, arg2?: any, arg3?: any, arg4?: any) {
|
|
4
4
|
var src, copyIsArray, copy, name, options, clone, target = arguments[2] || {}, i = 3, length = arguments.length, deep = arguments[0] || false, skipToken = arguments[1] ? undefined : oToken;
|
|
5
5
|
if (typeof target !== 'object' && typeof target !== 'function') {
|
|
6
6
|
target = {};
|
|
@@ -29,4 +29,4 @@ var fnMerge = function () {
|
|
|
29
29
|
}
|
|
30
30
|
return target;
|
|
31
31
|
};
|
|
32
|
-
export default fnMerge;
|
|
32
|
+
export default fnMerge;
|
|
@@ -3,7 +3,7 @@ var hasOwn = class2type.hasOwnProperty;
|
|
|
3
3
|
var toString = class2type.toString;
|
|
4
4
|
var fnToString = hasOwn.toString;
|
|
5
5
|
var ObjectFunctionString = fnToString.call(Object);
|
|
6
|
-
var fnIsPlainObject = function (obj) {
|
|
6
|
+
var fnIsPlainObject = function (obj: object) {
|
|
7
7
|
var proto, Ctor;
|
|
8
8
|
if (!obj || toString.call(obj) !== "[object Object]") {
|
|
9
9
|
return false;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different types of AnimationMode.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webc.base.types.AnimationMode
|
|
9
|
+
*/
|
|
10
|
+
enum AnimationMode {
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
* @type {Full}
|
|
14
|
+
*/
|
|
15
|
+
Full = "full",
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
* @type {Basic}
|
|
19
|
+
*/
|
|
20
|
+
Basic = "basic",
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
* @type {Minimal}
|
|
24
|
+
*/
|
|
25
|
+
Minimal = "minimal",
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
* @type {None}
|
|
29
|
+
*/
|
|
30
|
+
None = "none",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default AnimationMode;
|