@ui5/webcomponents-base 0.0.0-e818f286e → 0.0.0-ee3bbe46b
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 +1 -0
- package/CHANGELOG.md +75 -0
- package/bundle.esm.js +5 -1
- 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 +29 -44
- 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 +53 -83
- 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 +373 -0
- package/dist/UI5Element.js +928 -994
- 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 +85 -116
- 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 +10 -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/bundle.esm.97ee5164.js +56 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
- package/dist/assets-meta/IconCollectionsAlias.js +4 -4
- 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 +11 -0
- package/dist/config/FormatSettings.js +10 -8
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +30 -0
- package/dist/config/Icons.js +28 -32
- 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 +23 -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/css/FontFace.css +9 -18
- package/dist/decorators/customElement.d.ts +8 -0
- package/dist/decorators/customElement.js +16 -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 +24 -0
- package/dist/delegate/ResizeHandler.js +68 -91
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +48 -0
- package/dist/delegate/ScrollEnablement.js +157 -180
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +16 -0
- package/dist/features/F6Navigation.js +106 -104
- package/dist/features/F6Navigation.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 +23 -0
- package/dist/features/OpenUI5Support.js +91 -119
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/css/FontFace.css.js +1 -1
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +12 -16
- package/dist/getSharedResource.js.map +1 -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 +29 -43
- 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 +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 +17 -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 +21 -16
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +6 -0
- package/dist/util/AriaLabelHelper.js +37 -32
- 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 +54 -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 +57 -76
- 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 +400 -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 +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/global.d.ts +44 -0
- package/lib/generate-styles/index.js +1 -1
- package/package-scripts.js +15 -4
- package/package.json +4 -4
- package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
- package/src/Boot.ts +61 -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.js → Device.ts} +17 -14
- 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} +53 -12
- 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/{StaticArea.js → StaticArea.ts} +0 -0
- package/src/{StaticAreaItem.js → StaticAreaItem.ts} +30 -18
- package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
- package/src/{Theming.js → Theming.ts} +0 -0
- package/src/{UI5Element.js → UI5Element.ts} +270 -148
- 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.js → Icons.ts} +64 -37
- 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} +14 -29
- package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
- package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
- package/src/config/AnimationMode.ts +33 -0
- package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
- package/src/config/FormatSettings.ts +21 -0
- package/src/config/{Icons.js → Icons.ts} +19 -12
- package/src/config/{Language.js → Language.ts} +22 -18
- package/src/config/NoConflict.ts +67 -0
- package/src/config/{RTL.js → RTL.ts} +14 -4
- package/src/config/Theme.ts +64 -0
- package/src/config/ThemeRoots.ts +41 -0
- package/src/css/FontFace.css +9 -18
- package/src/decorators/customElement.ts +17 -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.js → ResizeHandler.ts} +25 -36
- package/src/delegate/ScrollEnablement.ts +221 -0
- package/src/features/F6Navigation.ts +141 -0
- package/src/features/OpenUI5Element.ts +11 -0
- package/src/features/OpenUI5Enablement.ts +117 -0
- package/src/features/OpenUI5Support.ts +148 -0
- package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
- 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} +4 -2
- package/src/renderer/LitRenderer.ts +60 -0
- package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
- package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
- 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.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 +28 -0
- package/src/updateShadowRoot.ts +37 -0
- package/src/util/AriaLabelHelper.ts +63 -0
- package/src/util/{Caret.js → Caret.ts} +5 -9
- package/src/util/{ColorConversion.js → ColorConversion.ts} +182 -181
- package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
- package/src/util/FocusableElements.ts +82 -0
- package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
- package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
- package/src/util/PopupUtils.ts +114 -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/{getActiveElement.js → getActiveElement.ts} +0 -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.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.81ba431e.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/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/Illustrations.js +0 -30
- 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 -53
- 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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import createStyleInHead from "./util/createStyleInHead.js";
|
|
2
|
+
import createLinkInHead from "./util/createLinkInHead.js";
|
|
3
|
+
import { shouldUseLinks, getUrl } from "./CSP.js";
|
|
4
|
+
import { StyleData, StyleDataCSP } from "./types.js";
|
|
5
|
+
|
|
6
|
+
const getStyleId = (name: string, value: string) => {
|
|
7
|
+
return value ? `${name}|${value}` : name;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const createStyle = (data: StyleData, name: string, value = "") => {
|
|
11
|
+
const content = typeof data === "string" ? data : data.content;
|
|
12
|
+
|
|
13
|
+
if (shouldUseLinks()) {
|
|
14
|
+
const attributes = {} as Record<string, any>;
|
|
15
|
+
attributes[name] = value;
|
|
16
|
+
const href = getUrl((data as StyleDataCSP).packageName, (data as StyleDataCSP).fileName);
|
|
17
|
+
createLinkInHead(href, attributes);
|
|
18
|
+
} else if (document.adoptedStyleSheets) {
|
|
19
|
+
const stylesheet = new CSSStyleSheet();
|
|
20
|
+
stylesheet.replaceSync(content);
|
|
21
|
+
(stylesheet as Record<string, any>)._ui5StyleId = getStyleId(name, value); // set an id so that we can find the style later
|
|
22
|
+
document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];
|
|
23
|
+
} else {
|
|
24
|
+
const attributes = {} as Record<string, any>;
|
|
25
|
+
attributes[name] = value;
|
|
26
|
+
createStyleInHead(content, attributes);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const updateStyle = (data: StyleData, name: string, value = "") => {
|
|
31
|
+
const content = typeof data === "string" ? data : data.content;
|
|
32
|
+
|
|
33
|
+
if (shouldUseLinks()) {
|
|
34
|
+
const link = document.querySelector(`head>link[${name}="${value}"]`) as HTMLLinkElement;
|
|
35
|
+
link.href = getUrl((data as StyleDataCSP).packageName, (data as StyleDataCSP).fileName);
|
|
36
|
+
} else if (document.adoptedStyleSheets) {
|
|
37
|
+
const stylesheet = document.adoptedStyleSheets.find(sh => (sh as Record<string, any>)._ui5StyleId === getStyleId(name, value));
|
|
38
|
+
if (stylesheet) {
|
|
39
|
+
stylesheet.replaceSync(content || "");
|
|
40
|
+
}
|
|
41
|
+
} else {
|
|
42
|
+
const style = document.querySelector(`head>style[${name}="${value}"]`);
|
|
43
|
+
if (style) {
|
|
44
|
+
style.textContent = content || "";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const hasStyle = (name: string, value = "") => {
|
|
50
|
+
if (shouldUseLinks()) {
|
|
51
|
+
return !!document.querySelector(`head>link[${name}="${value}"]`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (document.adoptedStyleSheets) {
|
|
55
|
+
return !!document.adoptedStyleSheets.find(sh => (sh as Record<string, any>)._ui5StyleId === getStyleId(name, value));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return !!document.querySelector(`head>style[${name}="${value}"]`);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const removeStyle = (name: string, value = "") => {
|
|
62
|
+
if (shouldUseLinks()) {
|
|
63
|
+
const linkElement = document.querySelector(`head>link[${name}="${value}"]`);
|
|
64
|
+
linkElement?.parentElement?.removeChild(linkElement);
|
|
65
|
+
} else if (document.adoptedStyleSheets) {
|
|
66
|
+
document.adoptedStyleSheets = document.adoptedStyleSheets.filter(sh => (sh as Record<string, any>)._ui5StyleId !== getStyleId(name, value));
|
|
67
|
+
} else {
|
|
68
|
+
const styleElement = document.querySelector(`head > style[${name}="${value}"]`);
|
|
69
|
+
styleElement?.parentElement?.removeChild(styleElement);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const createOrUpdateStyle = (data: StyleData, name: string, value = "") => {
|
|
74
|
+
if (hasStyle(name, value)) {
|
|
75
|
+
updateStyle(data, name, value);
|
|
76
|
+
} else {
|
|
77
|
+
createStyle(data, name, value);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
createStyle,
|
|
83
|
+
hasStyle,
|
|
84
|
+
updateStyle,
|
|
85
|
+
removeStyle,
|
|
86
|
+
createOrUpdateStyle,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export type {
|
|
90
|
+
StyleData,
|
|
91
|
+
StyleDataCSP,
|
|
92
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const markedEvents = new WeakMap<Event, string>();
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Marks the given event with random marker.
|
|
5
|
+
*/
|
|
6
|
+
const markEvent = (event: Event, value: string) => {
|
|
7
|
+
markedEvents.set(event, value);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Returns the marker for the given event.
|
|
12
|
+
*/
|
|
13
|
+
const getEventMark = (event: Event): string | undefined => {
|
|
14
|
+
return markedEvents.get(event);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
markEvent,
|
|
19
|
+
getEventMark,
|
|
20
|
+
};
|
|
@@ -1,4 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
type Range = Map<string, Array<number>>;
|
|
2
|
+
|
|
3
|
+
const mediaRanges = new Map<string, Range>();
|
|
4
|
+
|
|
5
|
+
const DEAFULT_RANGE_SET: Range = new Map<string, Array<number>>();
|
|
6
|
+
DEAFULT_RANGE_SET.set("S", [0, 599]);
|
|
7
|
+
DEAFULT_RANGE_SET.set("M", [600, 1023]);
|
|
8
|
+
DEAFULT_RANGE_SET.set("L", [1024, 1439]);
|
|
9
|
+
DEAFULT_RANGE_SET.set("XL", [1440, Infinity]);
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Enumeration containing the names and settings of predefined screen width media query range sets.
|
|
13
|
+
*
|
|
14
|
+
* @namespace
|
|
15
|
+
* @name MediaRange.RANGESETS
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
enum RANGESETS {
|
|
19
|
+
/**
|
|
20
|
+
* A 4-step range set (S-M-L-XL).
|
|
21
|
+
*
|
|
22
|
+
* The ranges of this set are:
|
|
23
|
+
* <ul>
|
|
24
|
+
* <li><code>"S"</code>: For screens smaller than 600 pixels.</li>
|
|
25
|
+
* <li><code>"M"</code>: For screens greater than or equal to 600 pixels and smaller than 1024 pixels.</li>
|
|
26
|
+
* <li><code>"L"</code>: For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.</li>
|
|
27
|
+
* <li><code>"XL"</code>: For screens greater than or equal to 1440 pixels.</li>
|
|
28
|
+
* </ul>
|
|
29
|
+
*
|
|
30
|
+
* @name MediaRange.RANGESETS.RANGE_4STEPS
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
RANGE_4STEPS = "4Step",
|
|
34
|
+
}
|
|
2
35
|
|
|
3
36
|
/**
|
|
4
37
|
* Initializes a screen width media query range set.
|
|
@@ -18,20 +51,11 @@ const querySets = {};
|
|
|
18
51
|
*
|
|
19
52
|
* @param {string} name The name of the range set to be initialized.
|
|
20
53
|
* The name must be a valid id and consist only of letters and numeric digits.
|
|
21
|
-
*
|
|
22
|
-
* @param {int[]} [borders] The range borders
|
|
23
|
-
*
|
|
24
|
-
* @param {string[]} [names] The names of the ranges. The names must be a valid id and consist only of letters and digits.
|
|
25
|
-
*
|
|
54
|
+
* @param {Range} [range] The given range set.
|
|
26
55
|
* @name MediaRange.initRangeSet
|
|
27
|
-
* @function
|
|
28
|
-
* @public
|
|
29
56
|
*/
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
borders,
|
|
33
|
-
names,
|
|
34
|
-
};
|
|
57
|
+
const initRangeSet = (name: string, range: Range) => {
|
|
58
|
+
mediaRanges.set(name, range);
|
|
35
59
|
};
|
|
36
60
|
|
|
37
61
|
/**
|
|
@@ -41,54 +65,31 @@ const _initRangeSet = (name, borders, names) => {
|
|
|
41
65
|
* otherwise it is determined for the current window size.
|
|
42
66
|
*
|
|
43
67
|
* @param {string} name The name of the range set. The range set must be initialized beforehand ({@link MediaRange.initRangeSet})
|
|
44
|
-
* @param {
|
|
45
|
-
*
|
|
68
|
+
* @param {number} [width] An optional width, based on which the range should be determined;
|
|
69
|
+
* If <code>width</code> is not provided, the window size will be used.
|
|
46
70
|
* @returns {string} The name of the current active interval of the range set.
|
|
47
71
|
*
|
|
48
72
|
* @name MediaRange.getCurrentRange
|
|
49
73
|
* @function
|
|
50
74
|
* @public
|
|
51
75
|
*/
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
let i = 0;
|
|
76
|
+
const getCurrentRange = (name: string, width = window.innerWidth): string => {
|
|
77
|
+
let rangeSet = mediaRanges.get(name);
|
|
55
78
|
|
|
56
|
-
if (!
|
|
57
|
-
|
|
79
|
+
if (!rangeSet) {
|
|
80
|
+
rangeSet = mediaRanges.get(RANGESETS.RANGE_4STEPS)!;
|
|
58
81
|
}
|
|
59
82
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return querySet.names[i];
|
|
63
|
-
}
|
|
64
|
-
}
|
|
83
|
+
let currentRangeName;
|
|
84
|
+
const effectiveWidth = Math.floor(width);
|
|
65
85
|
|
|
66
|
-
|
|
67
|
-
|
|
86
|
+
rangeSet.forEach((value, key) => {
|
|
87
|
+
if (effectiveWidth >= value[0] && effectiveWidth <= value[1]) {
|
|
88
|
+
currentRangeName = key;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
68
91
|
|
|
69
|
-
|
|
70
|
-
* Enumeration containing the names and settings of predefined screen width media query range sets.
|
|
71
|
-
*
|
|
72
|
-
* @namespace
|
|
73
|
-
* @name MediaRange.RANGESETS
|
|
74
|
-
* @public
|
|
75
|
-
*/
|
|
76
|
-
const RANGESETS = {
|
|
77
|
-
/**
|
|
78
|
-
* A 4-step range set (S-M-L-XL).
|
|
79
|
-
*
|
|
80
|
-
* The ranges of this set are:
|
|
81
|
-
* <ul>
|
|
82
|
-
* <li><code>"S"</code>: For screens smaller than 600 pixels.</li>
|
|
83
|
-
* <li><code>"M"</code>: For screens greater than or equal to 600 pixels and smaller than 1024 pixels.</li>
|
|
84
|
-
* <li><code>"L"</code>: For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.</li>
|
|
85
|
-
* <li><code>"XL"</code>: For screens greater than or equal to 1440 pixels.</li>
|
|
86
|
-
* </ul>
|
|
87
|
-
*
|
|
88
|
-
* @name MediaRange.RANGESETS.RANGE_4STEPS
|
|
89
|
-
* @public
|
|
90
|
-
*/
|
|
91
|
-
RANGE_4STEPS: "4Step",
|
|
92
|
+
return currentRangeName || [...rangeSet.keys()][0];
|
|
92
93
|
};
|
|
93
94
|
|
|
94
95
|
/**
|
|
@@ -100,10 +101,10 @@ const RANGESETS = {
|
|
|
100
101
|
|
|
101
102
|
const MediaRange = {
|
|
102
103
|
RANGESETS,
|
|
103
|
-
initRangeSet
|
|
104
|
-
getCurrentRange
|
|
104
|
+
initRangeSet,
|
|
105
|
+
getCurrentRange,
|
|
105
106
|
};
|
|
106
107
|
|
|
107
|
-
MediaRange.initRangeSet(MediaRange.RANGESETS.RANGE_4STEPS,
|
|
108
|
+
MediaRange.initRangeSet(MediaRange.RANGESETS.RANGE_4STEPS, DEAFULT_RANGE_SET);
|
|
108
109
|
|
|
109
110
|
export default MediaRange;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const flatstr = typeof chrome === "object" || typeof v8 === "object" ? (s, iConcatOps) => {
|
|
1
|
+
const flatstr = typeof window.chrome === "object" || typeof window.v8 === "object" ? (s: string, iConcatOps: number) => {
|
|
2
2
|
if (iConcatOps > 2 && 40 * iConcatOps > s.length) {
|
|
3
3
|
Number(s);
|
|
4
4
|
}
|
|
5
5
|
return s;
|
|
6
|
-
} : s => s;
|
|
6
|
+
} : (s: string) => s;
|
|
7
7
|
|
|
8
8
|
const rLines = /(?:\r\n|\r|\n|^)[ \t\f]*/;
|
|
9
9
|
const rEscapesOrSeparator = /(\\u[0-9a-fA-F]{0,4})|(\\.)|(\\$)|([ \t\f]*[ \t\f:=][ \t\f]*)/g;
|
|
@@ -21,20 +21,20 @@ const mEscapes = {
|
|
|
21
21
|
* @returns a object with key/value pairs parsed from the .properties file format
|
|
22
22
|
* @public
|
|
23
23
|
*/
|
|
24
|
-
const parseProperties = sText => {
|
|
24
|
+
const parseProperties = (sText: string) => {
|
|
25
25
|
const properties = {},
|
|
26
26
|
aLines = sText.split(rLines);
|
|
27
27
|
|
|
28
28
|
let sLine,
|
|
29
29
|
rMatcher,
|
|
30
30
|
sKey,
|
|
31
|
-
sValue,
|
|
31
|
+
sValue: string,
|
|
32
32
|
i,
|
|
33
33
|
m,
|
|
34
34
|
iLastIndex,
|
|
35
|
-
iConcatOps;
|
|
35
|
+
iConcatOps: number;
|
|
36
36
|
|
|
37
|
-
const append = s => {
|
|
37
|
+
const append = (s: string) => {
|
|
38
38
|
if (sValue) {
|
|
39
39
|
sValue = `${sValue}${s}`;
|
|
40
40
|
iConcatOps++;
|
|
@@ -66,7 +66,7 @@ const parseProperties = sText => {
|
|
|
66
66
|
}
|
|
67
67
|
append(String.fromCharCode(parseInt(m[1].slice(2), 16)));
|
|
68
68
|
} else if (m[2]) {
|
|
69
|
-
append(mEscapes[m[2]] || m[2].slice(1));
|
|
69
|
+
append(mEscapes[m[2] as keyof typeof mEscapes] || m[2].slice(1));
|
|
70
70
|
} else if (m[3]) {
|
|
71
71
|
sLine = aLines[++i];
|
|
72
72
|
iLastIndex = 0;
|
|
@@ -86,7 +86,7 @@ const parseProperties = sText => {
|
|
|
86
86
|
sKey = sValue;
|
|
87
87
|
sValue = "";
|
|
88
88
|
}
|
|
89
|
-
properties[sKey] = flatstr(sValue, sValue ? iConcatOps : 0);
|
|
89
|
+
(properties as Record<string, any>)[sKey] = flatstr(sValue, sValue ? iConcatOps! : 0);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
return properties;
|
|
@@ -2,18 +2,22 @@ import EventProvider from "./EventProvider.js";
|
|
|
2
2
|
import RenderQueue from "./RenderQueue.js";
|
|
3
3
|
import { getAllRegisteredTags } from "./CustomElementsRegistry.js";
|
|
4
4
|
import { isRtlAware } from "./locale/RTLAwareRegistry.js";
|
|
5
|
+
import type UI5Element from "./UI5Element.js";
|
|
6
|
+
import { PromiseResolve, Timeout } from "./types.js";
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
type BeforeComponentRenderCallback = (webComponent: UI5Element) => void;
|
|
9
|
+
|
|
10
|
+
const registeredElements = new Set<UI5Element>();
|
|
11
|
+
const eventProvider = new EventProvider<UI5Element, void>();
|
|
8
12
|
|
|
9
13
|
const invalidatedWebComponents = new RenderQueue(); // Queue for invalidated web components
|
|
10
14
|
|
|
11
|
-
let renderTaskPromise,
|
|
12
|
-
renderTaskPromiseResolve;
|
|
15
|
+
let renderTaskPromise: Promise<void> | undefined,
|
|
16
|
+
renderTaskPromiseResolve: PromiseResolve | undefined;
|
|
13
17
|
|
|
14
|
-
let mutationObserverTimer;
|
|
18
|
+
let mutationObserverTimer: Timeout | undefined;
|
|
15
19
|
|
|
16
|
-
let queuePromise;
|
|
20
|
+
let queuePromise: Promise<void> | null;
|
|
17
21
|
|
|
18
22
|
/**
|
|
19
23
|
* Schedules a render task (if not already scheduled) to render the component
|
|
@@ -21,7 +25,7 @@ let queuePromise;
|
|
|
21
25
|
* @param webComponent
|
|
22
26
|
* @returns {Promise}
|
|
23
27
|
*/
|
|
24
|
-
const renderDeferred = async webComponent => {
|
|
28
|
+
const renderDeferred = async (webComponent: UI5Element) => {
|
|
25
29
|
// Enqueue the web component
|
|
26
30
|
invalidatedWebComponents.add(webComponent);
|
|
27
31
|
|
|
@@ -34,7 +38,7 @@ const renderDeferred = async webComponent => {
|
|
|
34
38
|
*
|
|
35
39
|
* @param webComponent
|
|
36
40
|
*/
|
|
37
|
-
const renderImmediately = webComponent => {
|
|
41
|
+
const renderImmediately = (webComponent: UI5Element) => {
|
|
38
42
|
eventProvider.fireEvent("beforeComponentRender", webComponent);
|
|
39
43
|
registeredElements.add(webComponent);
|
|
40
44
|
webComponent._render();
|
|
@@ -45,7 +49,7 @@ const renderImmediately = webComponent => {
|
|
|
45
49
|
*
|
|
46
50
|
* @param webComponent
|
|
47
51
|
*/
|
|
48
|
-
const cancelRender = webComponent => {
|
|
52
|
+
const cancelRender = (webComponent: UI5Element) => {
|
|
49
53
|
invalidatedWebComponents.remove(webComponent);
|
|
50
54
|
registeredElements.delete(webComponent);
|
|
51
55
|
};
|
|
@@ -55,7 +59,7 @@ const cancelRender = webComponent => {
|
|
|
55
59
|
*/
|
|
56
60
|
const scheduleRenderTask = async () => {
|
|
57
61
|
if (!queuePromise) {
|
|
58
|
-
queuePromise = new Promise(resolve => {
|
|
62
|
+
queuePromise = new Promise<void>(resolve => {
|
|
59
63
|
window.requestAnimationFrame(() => {
|
|
60
64
|
// Render all components in the queue
|
|
61
65
|
|
|
@@ -91,7 +95,7 @@ const whenDOMUpdated = () => {
|
|
|
91
95
|
return renderTaskPromise;
|
|
92
96
|
}
|
|
93
97
|
|
|
94
|
-
renderTaskPromise = new Promise(resolve => {
|
|
98
|
+
renderTaskPromise = new Promise<void>(resolve => {
|
|
95
99
|
renderTaskPromiseResolve = resolve;
|
|
96
100
|
window.requestAnimationFrame(() => {
|
|
97
101
|
if (invalidatedWebComponents.isEmpty()) {
|
|
@@ -140,15 +144,16 @@ const _resolveTaskPromise = () => {
|
|
|
140
144
|
* etc...
|
|
141
145
|
*
|
|
142
146
|
* @public
|
|
143
|
-
* @param {
|
|
147
|
+
* @param {object|undefined} filters - Object with keys that can be "rtlAware" or "languageAware"
|
|
144
148
|
* @returns {Promise<void>}
|
|
145
149
|
*/
|
|
146
|
-
const reRenderAllUI5Elements = async filters => {
|
|
147
|
-
registeredElements.forEach(element => {
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
const
|
|
151
|
-
const
|
|
150
|
+
const reRenderAllUI5Elements = async (filters?: {tag?: string, rtlAware?: boolean, languageAware?: boolean, themeAware?: boolean}) => {
|
|
151
|
+
registeredElements.forEach((element: UI5Element) => {
|
|
152
|
+
const ctor = element.constructor as typeof UI5Element;
|
|
153
|
+
const tag = ctor.getMetadata().getTag();
|
|
154
|
+
const rtlAware = isRtlAware(ctor);
|
|
155
|
+
const languageAware = ctor.getMetadata().isLanguageAware();
|
|
156
|
+
const themeAware = ctor.getMetadata().isThemeAware();
|
|
152
157
|
if (!filters || (filters.tag === tag) || (filters.rtlAware && rtlAware) || (filters.languageAware && languageAware) || (filters.themeAware && themeAware)) {
|
|
153
158
|
renderDeferred(element);
|
|
154
159
|
}
|
|
@@ -156,11 +161,11 @@ const reRenderAllUI5Elements = async filters => {
|
|
|
156
161
|
await renderFinished();
|
|
157
162
|
};
|
|
158
163
|
|
|
159
|
-
const attachBeforeComponentRender = listener => {
|
|
164
|
+
const attachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {
|
|
160
165
|
eventProvider.attachEvent("beforeComponentRender", listener);
|
|
161
166
|
};
|
|
162
167
|
|
|
163
|
-
const detachBeforeComponentRender = listener => {
|
|
168
|
+
const detachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {
|
|
164
169
|
eventProvider.detachEvent("beforeComponentRender", listener);
|
|
165
170
|
};
|
|
166
171
|
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import type UI5Element from "./UI5Element.js";
|
|
2
|
+
|
|
1
3
|
const MAX_PROCESS_COUNT = 10;
|
|
2
4
|
|
|
3
5
|
class RenderQueue {
|
|
6
|
+
list: Array<UI5Element>;
|
|
7
|
+
lookup: Set<UI5Element>;
|
|
8
|
+
|
|
4
9
|
constructor() {
|
|
5
10
|
this.list = []; // Used to store the web components in order
|
|
6
11
|
this.lookup = new Set(); // Used for faster search
|
|
7
12
|
}
|
|
8
13
|
|
|
9
|
-
add(webComponent) {
|
|
14
|
+
add(webComponent: UI5Element) {
|
|
10
15
|
if (this.lookup.has(webComponent)) {
|
|
11
16
|
return;
|
|
12
17
|
}
|
|
@@ -15,7 +20,7 @@ class RenderQueue {
|
|
|
15
20
|
this.lookup.add(webComponent);
|
|
16
21
|
}
|
|
17
22
|
|
|
18
|
-
remove(webComponent) {
|
|
23
|
+
remove(webComponent: UI5Element) {
|
|
19
24
|
if (!this.lookup.has(webComponent)) {
|
|
20
25
|
return;
|
|
21
26
|
}
|
|
@@ -36,7 +41,7 @@ class RenderQueue {
|
|
|
36
41
|
return this.list.length === 0;
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
isAdded(webComponent) {
|
|
44
|
+
isAdded(webComponent: UI5Element) {
|
|
40
45
|
return this.lookup.has(webComponent);
|
|
41
46
|
}
|
|
42
47
|
|
|
@@ -46,9 +51,9 @@ class RenderQueue {
|
|
|
46
51
|
*
|
|
47
52
|
* @param callback - function with one argument (the web component to be processed)
|
|
48
53
|
*/
|
|
49
|
-
process(callback) {
|
|
54
|
+
process(callback: (el: UI5Element) => void) {
|
|
50
55
|
let webComponent;
|
|
51
|
-
const stats = new Map();
|
|
56
|
+
const stats = new Map<UI5Element, number>();
|
|
52
57
|
|
|
53
58
|
webComponent = this.shift();
|
|
54
59
|
while (webComponent) {
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import VersionInfo from "./generated/VersionInfo.js";
|
|
2
2
|
import getSharedResource from "./getSharedResource.js";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
type RuntimeData = VersionInfo & {
|
|
5
|
+
alias: string,
|
|
6
|
+
description: string,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
let currentRuntimeIndex: number;
|
|
5
10
|
let currentRuntimeAlias = "";
|
|
6
11
|
|
|
7
|
-
const compareCache = new Map();
|
|
12
|
+
const compareCache = new Map<string, number>();
|
|
8
13
|
|
|
9
14
|
/**
|
|
10
15
|
* Central registry where all runtimes register themselves by pushing an object.
|
|
11
16
|
* The index in the registry servers as an ID for the runtime.
|
|
12
17
|
* @type {*}
|
|
13
18
|
*/
|
|
14
|
-
const Runtimes = getSharedResource("Runtimes", []);
|
|
19
|
+
const Runtimes = getSharedResource<Array<RuntimeData>>("Runtimes", []);
|
|
15
20
|
|
|
16
21
|
/**
|
|
17
22
|
* Registers the current runtime in the shared runtimes resource registry
|
|
@@ -19,10 +24,12 @@ const Runtimes = getSharedResource("Runtimes", []);
|
|
|
19
24
|
const registerCurrentRuntime = () => {
|
|
20
25
|
if (currentRuntimeIndex === undefined) {
|
|
21
26
|
currentRuntimeIndex = Runtimes.length;
|
|
27
|
+
const versionInfo = VersionInfo;
|
|
28
|
+
|
|
22
29
|
Runtimes.push({
|
|
23
|
-
...
|
|
30
|
+
...versionInfo,
|
|
24
31
|
alias: currentRuntimeAlias,
|
|
25
|
-
description: `Runtime ${currentRuntimeIndex} - ver ${
|
|
32
|
+
description: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : ""}`,
|
|
26
33
|
});
|
|
27
34
|
}
|
|
28
35
|
};
|
|
@@ -41,10 +48,10 @@ const getCurrentRuntimeIndex = () => {
|
|
|
41
48
|
* @param index2 The index of the second runtime to compare
|
|
42
49
|
* @returns {number}
|
|
43
50
|
*/
|
|
44
|
-
const compareRuntimes = (index1, index2) => {
|
|
51
|
+
const compareRuntimes = (index1: number, index2: number) => {
|
|
45
52
|
const cacheIndex = `${index1},${index2}`;
|
|
46
53
|
if (compareCache.has(cacheIndex)) {
|
|
47
|
-
return compareCache.get(cacheIndex)
|
|
54
|
+
return compareCache.get(cacheIndex)!;
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
const runtime1 = Runtimes[index1];
|
|
@@ -90,7 +97,7 @@ const compareRuntimes = (index1, index2) => {
|
|
|
90
97
|
* Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings
|
|
91
98
|
* @param alias
|
|
92
99
|
*/
|
|
93
|
-
const setRuntimeAlias = alias => {
|
|
100
|
+
const setRuntimeAlias = (alias: string) => {
|
|
94
101
|
currentRuntimeAlias = alias;
|
|
95
102
|
};
|
|
96
103
|
|
|
File without changes
|
|
@@ -4,6 +4,10 @@ import { renderFinished } from "./Render.js";
|
|
|
4
4
|
import getEffectiveContentDensity from "./util/getEffectiveContentDensity.js";
|
|
5
5
|
import { getEffectiveScopingSuffixForTag } from "./CustomElementsScopeUtils.js";
|
|
6
6
|
import getEffectiveDir from "./locale/getEffectiveDir.js";
|
|
7
|
+
import type UI5Element from "./UI5Element.js";
|
|
8
|
+
|
|
9
|
+
const pureTagName = "ui5-static-area-item";
|
|
10
|
+
const popupIntegrationAttr = "data-sap-ui-integration-popup-content";
|
|
7
11
|
|
|
8
12
|
/**
|
|
9
13
|
*
|
|
@@ -12,6 +16,9 @@ import getEffectiveDir from "./locale/getEffectiveDir.js";
|
|
|
12
16
|
* @private
|
|
13
17
|
*/
|
|
14
18
|
class StaticAreaItem extends HTMLElement {
|
|
19
|
+
_rendered: boolean;
|
|
20
|
+
ownerElement?: UI5Element;
|
|
21
|
+
|
|
15
22
|
constructor() {
|
|
16
23
|
super();
|
|
17
24
|
this._rendered = false;
|
|
@@ -19,26 +26,25 @@ class StaticAreaItem extends HTMLElement {
|
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
/**
|
|
22
|
-
* @
|
|
23
|
-
* @param ownerElement The UI5Element instance that owns this static area item
|
|
29
|
+
* @param {UI5Element} ownerElement the UI5Element instance that owns this static area item
|
|
24
30
|
*/
|
|
25
|
-
setOwnerElement(ownerElement) {
|
|
31
|
+
setOwnerElement(ownerElement: UI5Element) {
|
|
26
32
|
this.ownerElement = ownerElement;
|
|
27
33
|
this.classList.add(this.ownerElement._id); // used for getting the popover in the tests
|
|
28
34
|
if (this.ownerElement.hasAttribute("data-ui5-static-stable")) {
|
|
29
|
-
this.setAttribute("data-ui5-stable", this.ownerElement.getAttribute("data-ui5-static-stable")); // stable selector
|
|
35
|
+
this.setAttribute("data-ui5-stable", this.ownerElement.getAttribute("data-ui5-static-stable")!); // stable selector
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
/**
|
|
34
40
|
* Updates the shadow root of the static area item with the latest state, if rendered
|
|
35
|
-
* @protected
|
|
36
41
|
*/
|
|
37
42
|
update() {
|
|
38
43
|
if (this._rendered) {
|
|
44
|
+
this._updateAdditionalAttrs();
|
|
39
45
|
this._updateContentDensity();
|
|
40
46
|
this._updateDirection();
|
|
41
|
-
updateShadowRoot(this.ownerElement
|
|
47
|
+
updateShadowRoot(this.ownerElement!, true);
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
|
|
@@ -47,7 +53,7 @@ class StaticAreaItem extends HTMLElement {
|
|
|
47
53
|
* @private
|
|
48
54
|
*/
|
|
49
55
|
_updateContentDensity() {
|
|
50
|
-
if (getEffectiveContentDensity(this.ownerElement) === "compact") {
|
|
56
|
+
if (getEffectiveContentDensity(this.ownerElement!) === "compact") {
|
|
51
57
|
this.classList.add("sapUiSizeCompact");
|
|
52
58
|
this.classList.add("ui5-content-density-compact");
|
|
53
59
|
} else {
|
|
@@ -57,14 +63,21 @@ class StaticAreaItem extends HTMLElement {
|
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
_updateDirection() {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
if (this.ownerElement) {
|
|
67
|
+
const dir = getEffectiveDir(this.ownerElement);
|
|
68
|
+
if (dir) {
|
|
69
|
+
this.setAttribute("dir", dir);
|
|
70
|
+
} else {
|
|
71
|
+
this.removeAttribute("dir");
|
|
72
|
+
}
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
75
|
|
|
76
|
+
_updateAdditionalAttrs() {
|
|
77
|
+
this.setAttribute(pureTagName, "");
|
|
78
|
+
this.setAttribute(popupIntegrationAttr, "");
|
|
79
|
+
}
|
|
80
|
+
|
|
68
81
|
/**
|
|
69
82
|
* @protected
|
|
70
83
|
* Returns reference to the DOM element where the current fragment is added.
|
|
@@ -73,20 +86,19 @@ class StaticAreaItem extends HTMLElement {
|
|
|
73
86
|
this._updateContentDensity();
|
|
74
87
|
if (!this._rendered) {
|
|
75
88
|
this._rendered = true;
|
|
76
|
-
updateShadowRoot(this.ownerElement
|
|
89
|
+
updateShadowRoot(this.ownerElement!, true);
|
|
77
90
|
}
|
|
78
91
|
await renderFinished(); // Wait for the content of the ui5-static-area-item to be rendered
|
|
79
92
|
return this.shadowRoot;
|
|
80
93
|
}
|
|
81
94
|
|
|
82
95
|
static getTag() {
|
|
83
|
-
const
|
|
84
|
-
const suffix = getEffectiveScopingSuffixForTag(pureTag);
|
|
96
|
+
const suffix = getEffectiveScopingSuffixForTag(pureTagName);
|
|
85
97
|
if (!suffix) {
|
|
86
|
-
return
|
|
98
|
+
return pureTagName;
|
|
87
99
|
}
|
|
88
100
|
|
|
89
|
-
return `${
|
|
101
|
+
return `${pureTagName}-${suffix}`;
|
|
90
102
|
}
|
|
91
103
|
|
|
92
104
|
static createInstance() {
|
|
@@ -94,7 +106,7 @@ class StaticAreaItem extends HTMLElement {
|
|
|
94
106
|
customElements.define(StaticAreaItem.getTag(), StaticAreaItem);
|
|
95
107
|
}
|
|
96
108
|
|
|
97
|
-
return document.createElement(this.getTag());
|
|
109
|
+
return document.createElement(this.getTag()) as StaticAreaItem;
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
|
|
File without changes
|
|
File without changes
|