@ui5/webcomponents-base 0.0.0-dff5837d7 → 0.0.0-e0658a650
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +3 -0
- package/CHANGELOG.md +453 -0
- package/README.md +53 -7
- package/bundle.esm.js +28 -17
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +6 -10
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +8 -0
- package/dist/Boot.js +44 -0
- package/dist/Boot.js.map +1 -0
- package/dist/CSP.d.ts +30 -0
- package/dist/CSP.js +51 -0
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +69 -30
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -0
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/dist/CustomElementsScopeUtils.js +90 -0
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +23 -0
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +11 -0
- package/dist/Device.js +82 -816
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -78
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +21 -69
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +22 -0
- package/dist/InitialConfiguration.js +119 -103
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -166
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +77 -0
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MediaRange.d.ts +36 -0
- package/dist/MediaRange.js +96 -0
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +85 -0
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +143 -0
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +53 -39
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +0 -0
- package/dist/StaticArea.js +4 -39
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +92 -98
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +6 -28
- package/dist/SystemCSSVars.js.map +1 -0
- package/dist/Theming.d.ts +3 -0
- package/dist/Theming.js +3 -2
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +371 -0
- package/dist/UI5Element.js +922 -969
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +147 -0
- package/dist/UI5ElementMetadata.js +261 -174
- 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 +104 -31
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +16 -0
- package/dist/asset-registries/Illustrations.js +46 -0
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +125 -114
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +10 -0
- package/dist/asset-registries/Themes.js +39 -76
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +71 -82
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/bundle.esm.72c1d211.js +56 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
- package/dist/assets-meta/IconCollectionsAlias.js +18 -0
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +23 -10
- 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 +48 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +31 -0
- package/dist/config/Language.js +44 -29
- 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 +45 -22
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoots.d.ts +4 -0
- package/dist/config/ThemeRoots.js +28 -0
- package/dist/config/ThemeRoots.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +66 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +17 -0
- package/dist/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +312 -278
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +24 -0
- package/dist/delegate/ResizeHandler.js +80 -62
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +43 -0
- package/dist/delegate/ScrollEnablement.js +159 -153
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +16 -0
- package/dist/features/F6Navigation.js +112 -0
- 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 +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +23 -0
- package/dist/features/OpenUI5Support.js +93 -86
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.js +5 -0
- package/dist/generated/css/FontFace.css.js +5 -0
- package/dist/generated/css/OverrideFontFace.css.js +5 -0
- package/dist/generated/css/SystemCSSVars.css.js +5 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +26 -0
- package/dist/getSharedResource.js.map +1 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +73 -28
- 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 +10 -8
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +24 -0
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +24 -0
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +28 -21
- 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 +38 -12
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +30 -0
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +241 -0
- package/dist/sap/base/assert.js +8 -0
- package/dist/sap/base/security/URLListValidator.js +148 -0
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/security/sanitizeHTML.js +16 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/base/util/now.js +7 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +44 -17
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +14 -0
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +63 -69
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +15 -15
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
- package/dist/theming/getEffectiveLinksHrefs.js +16 -0
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +30 -13
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +10 -0
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +73 -60
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +19 -0
- 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 +19 -0
- 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 +32 -13
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +18 -0
- package/dist/types/Float.js +18 -6
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +18 -0
- package/dist/types/Integer.js +18 -5
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +27 -0
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -17
- 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 +13 -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 +34 -0
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +6 -0
- package/dist/util/AriaLabelHelper.js +44 -0
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +23 -0
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +33 -0
- package/dist/util/ColorConversion.js +337 -0
- 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 +3 -0
- package/dist/util/FocusableElements.js +57 -61
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +6 -0
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +56 -0
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +74 -0
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +30 -0
- 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 +3 -0
- package/dist/util/TabbableElements.js +39 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +13 -0
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +12 -0
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +21 -0
- 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 +15 -0
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +9 -0
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +398 -0
- package/dist/util/getClassCopy.js +10 -0
- 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 +4 -0
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/dist/util/getFileExtension.d.ts +12 -0
- package/dist/util/getFileExtension.js +9 -11
- package/dist/util/getFileExtension.js.map +1 -0
- package/dist/util/getNormalizedTarget.d.ts +7 -0
- package/dist/util/getNormalizedTarget.js +14 -0
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +2 -0
- package/dist/util/getSingletonElementInstance.js +10 -0
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isDefaultSlotProvided.d.ts +2 -0
- package/dist/util/isDefaultSlotProvided.js +10 -0
- package/dist/util/isDefaultSlotProvided.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 +12 -0
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +2 -0
- package/dist/util/isElementTabbable.js +22 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +18 -18
- 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/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/index.js +1 -1
- package/lib/generate-asset-parameters/index.js +8 -5
- package/lib/generate-styles/index.js +26 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.js +48 -28
- package/package.json +21 -13
- package/src/AssetRegistry.ts +11 -0
- package/src/Boot.ts +61 -0
- package/src/CSP.ts +66 -0
- package/src/CustomElementsRegistry.ts +98 -0
- package/src/CustomElementsScope.ts +33 -0
- package/src/CustomElementsScopeUtils.ts +115 -0
- package/src/DOMObserver.ts +28 -0
- package/src/Device.ts +121 -0
- package/src/EventProvider.ts +87 -0
- package/src/FeaturesRegistry.ts +14 -0
- package/src/FontFace.ts +31 -0
- package/src/InitialConfiguration.ts +207 -0
- package/src/Keys.ts +295 -0
- package/src/ManagedStyles.ts +92 -0
- package/src/MediaRange.ts +109 -0
- package/src/{util/parseProperties.js → PropertiesFileFormat.ts} +14 -8
- package/src/Render.ts +180 -0
- package/src/RenderQueue.ts +71 -0
- package/src/Runtimes.ts +114 -0
- package/src/StaticArea.ts +3 -0
- package/src/StaticAreaItem.ts +113 -0
- package/src/SystemCSSVars.ts +10 -0
- package/src/Theming.ts +4 -0
- package/src/UI5Element.ts +1125 -0
- package/src/UI5ElementMetadata.ts +364 -0
- 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 +73 -0
- package/src/asset-registries/LocaleData.ts +172 -0
- package/src/asset-registries/Themes.ts +67 -0
- package/src/asset-registries/i18n.ts +118 -0
- package/src/assets-meta/IconCollectionsAlias.ts +18 -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.ts +59 -0
- package/src/config/Language.ts +72 -0
- 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/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +66 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +17 -0
- package/src/delegate/ItemNavigation.ts +393 -0
- package/src/delegate/ResizeHandler.ts +95 -0
- package/src/delegate/ScrollEnablement.ts +215 -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.ts +30 -0
- package/src/i18nBundle.ts +108 -0
- package/src/locale/{Locale.js → Locale.ts} +15 -5
- package/src/locale/RTLAwareRegistry.ts +16 -0
- package/src/locale/applyDirection.ts +18 -0
- package/src/locale/directionChange.ts +34 -0
- package/src/locale/getEffectiveDir.ts +28 -0
- package/src/locale/{getLocale.js → getLocale.ts} +20 -5
- 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/directives/style-map.js +72 -0
- package/src/renderer/executeTemplate.ts +40 -0
- package/src/theming/CustomStyle.ts +62 -0
- package/src/theming/ThemeLoaded.ts +24 -0
- package/src/theming/applyTheme.ts +90 -0
- package/src/theming/getConstructableStyle.ts +31 -0
- package/src/theming/getEffectiveLinksHrefs.ts +24 -0
- package/src/theming/getEffectiveStyle.ts +41 -0
- package/src/theming/getStylesString.ts +13 -0
- package/src/theming/getThemeDesignerTheme.ts +101 -0
- package/src/theming/preloadLinks.ts +24 -0
- 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.ts +20 -0
- 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 +22 -0
- package/src/updateShadowRoot.ts +37 -0
- package/src/util/AriaLabelHelper.ts +63 -0
- package/src/util/Caret.ts +28 -0
- package/src/util/ColorConversion.ts +394 -0
- package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
- package/src/util/FocusableElements.ts +80 -0
- package/src/util/HTMLSanitizer.ts +9 -0
- package/src/util/InvisibleMessage.ts +69 -0
- package/src/util/PopupUtils.ts +114 -0
- package/src/util/SlotsHelper.ts +39 -0
- package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
- package/src/util/TabbableElements.ts +56 -0
- package/src/util/arraysAreEqual.ts +15 -0
- package/src/util/clamp.ts +12 -0
- package/src/util/createLinkInHead.ts +25 -0
- package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
- package/src/util/debounce.ts +18 -0
- package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
- package/src/util/escapeRegex.ts +11 -0
- package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
- package/src/util/generateHighlightedMarkup.ts +43 -0
- package/src/util/getActiveElement.ts +11 -0
- package/src/util/getClassCopy.ts +12 -0
- package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
- package/src/util/getEffectiveContentDensity.ts +5 -0
- package/src/util/getEffectiveScrollbarStyle.ts +5 -0
- package/src/util/getFastNavigationGroups.ts +63 -0
- package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
- package/src/util/getNormalizedTarget.ts +16 -0
- package/src/util/getSingletonElementInstance.ts +13 -0
- package/src/util/isDefaultSlotProvided.ts +11 -0
- package/src/util/isElementClickable.ts +19 -0
- package/src/util/isElementHidden.ts +9 -0
- package/src/util/isElementInView.ts +15 -0
- package/src/util/isElementTabbable.ts +28 -0
- package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +7 -6
- package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
- package/src/validateThemeRoot.ts +58 -0
- package/tsconfig.json +13 -0
- package/used-modules.txt +10 -0
- package/bundle.es5.js +0 -28
- package/config/.eslintrc.js +0 -3
- package/config/rollup.config.js +0 -1
- package/dist/RenderScheduler.js +0 -178
- package/dist/SVGIconRegistry.js +0 -60
- package/dist/animations/config.js +0 -5
- package/dist/boot.js +0 -34
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -44
- package/dist/features/PropertiesFormatSupport.js +0 -8
- package/dist/features/browsersupport/Edge.js +0 -6
- package/dist/features/browsersupport/IE11.js +0 -41
- package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/resources/bundle.es5.js +0 -212
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/resources/bundle.esm.js +0 -129
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -13
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -37
- package/dist/test-resources/elements/WithStaticArea.js +0 -76
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -20
- package/dist/test-resources/pages/ConfigurationScript.html +0 -36
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
- package/dist/test-resources/specs/StaticArea.spec.js +0 -34
- package/dist/test-resources/specs/Theming.spec.js +0 -31
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
- package/dist/theming/CSSVarsPonyfill.js +0 -24
- package/dist/theming/adaptCSSForIE.js +0 -90
- package/dist/theming/createComponentStyleTag.js +0 -49
- package/dist/theming/createThemePropertiesStyleTag.js +0 -20
- package/dist/thirdparty/Array.from.js +0 -16
- package/dist/thirdparty/Array.prototype.fill.js +0 -44
- package/dist/thirdparty/Array.prototype.find.js +0 -46
- package/dist/thirdparty/Array.prototype.includes.js +0 -51
- package/dist/thirdparty/Element.prototype.closest.js +0 -11
- package/dist/thirdparty/Element.prototype.matches.js +0 -6
- package/dist/thirdparty/Map.prototype.keys.js +0 -9
- package/dist/thirdparty/Number.isInteger.js +0 -5
- package/dist/thirdparty/Number.isNaN.js +0 -1
- package/dist/thirdparty/Number.parseInt.js +0 -1
- package/dist/thirdparty/Object.assign.js +0 -31
- package/dist/thirdparty/Object.entries.js +0 -11
- package/dist/thirdparty/Symbol.js +0 -2
- package/dist/thirdparty/WeakSet.js +0 -27
- package/dist/thirdparty/es6-string-methods.js +0 -182
- package/dist/thirdparty/events-polyfills.js +0 -89
- package/dist/thirdparty/fetch.js +0 -1
- package/dist/thirdparty/template.js +0 -600
- package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/isSlot.js +0 -3
- package/dist/util/parseProperties.js +0 -89
- package/dist/util/setToArray.js +0 -10
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
- package/src/AssetRegistry.js +0 -10
- package/src/CustomElementsRegistry.js +0 -39
- package/src/Device.js +0 -823
- package/src/EventProvider.js +0 -81
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -73
- package/src/InitialConfiguration.js +0 -131
- package/src/Keys.js +0 -170
- package/src/RenderQueue.js +0 -42
- package/src/RenderScheduler.js +0 -178
- package/src/SVGIconRegistry.js +0 -60
- package/src/StaticArea.js +0 -41
- package/src/StaticAreaItem.js +0 -105
- package/src/SystemCSSVars.js +0 -31
- package/src/Theming.js +0 -3
- package/src/UI5Element.js +0 -992
- package/src/UI5ElementMetadata.js +0 -187
- 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 -31
- package/src/asset-registries/LocaleData.js +0 -125
- package/src/asset-registries/Themes.js +0 -87
- package/src/asset-registries/i18n.js +0 -106
- package/src/boot.js +0 -34
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/config/AnimationMode.js +0 -13
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -41
- package/src/config/NoConflict.js +0 -51
- package/src/config/Theme.js +0 -28
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/ItemNavigation.js +0 -282
- package/src/delegate/NativeResize.js +0 -44
- package/src/delegate/ResizeHandler.js +0 -65
- package/src/delegate/ScrollEnablement.js +0 -159
- package/src/features/OpenUI5Support.js +0 -90
- package/src/features/PropertiesFormatSupport.js +0 -8
- package/src/features/browsersupport/Edge.js +0 -6
- package/src/features/browsersupport/IE11.js +0 -41
- package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/src/i18nBundle.js +0 -33
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -15
- package/src/locale/languageChange.js +0 -22
- package/src/renderer/LitRenderer.js +0 -15
- package/src/renderer/ifDefined.js +0 -21
- package/src/theming/CSSVarsPonyfill.js +0 -24
- package/src/theming/CustomStyle.js +0 -19
- package/src/theming/adaptCSSForIE.js +0 -90
- package/src/theming/applyTheme.js +0 -81
- package/src/theming/createComponentStyleTag.js +0 -49
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/theming/getConstructableStyle.js +0 -25
- package/src/theming/getEffectiveStyle.js +0 -15
- package/src/theming/getThemeDesignerTheme.js +0 -67
- package/src/thirdparty/Array.from.js +0 -16
- package/src/thirdparty/Array.prototype.fill.js +0 -44
- package/src/thirdparty/Array.prototype.find.js +0 -46
- package/src/thirdparty/Array.prototype.includes.js +0 -51
- package/src/thirdparty/Element.prototype.closest.js +0 -11
- package/src/thirdparty/Element.prototype.matches.js +0 -6
- package/src/thirdparty/Map.prototype.keys.js +0 -9
- package/src/thirdparty/Number.isInteger.js +0 -5
- package/src/thirdparty/Number.isNaN.js +0 -1
- package/src/thirdparty/Number.parseInt.js +0 -1
- package/src/thirdparty/Object.assign.js +0 -31
- package/src/thirdparty/Object.entries.js +0 -11
- package/src/thirdparty/Symbol.js +0 -2
- package/src/thirdparty/WeakSet.js +0 -27
- package/src/thirdparty/es6-string-methods.js +0 -182
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/merge.js +0 -10
- package/src/thirdparty/template.js +0 -600
- package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- 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 -25
- package/src/types/Float.js +0 -10
- package/src/types/Integer.js +0 -9
- package/src/types/ItemNavigationBehavior.js +0 -21
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/util/FocusableElements.js +0 -66
- package/src/util/TabbableElements.js +0 -47
- package/src/util/findNodeOwner.js +0 -35
- 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/isSlot.js +0 -3
- package/src/util/setToArray.js +0 -10
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import DataType from "./types/DataType.js";
|
|
2
|
-
import isDescendantOf from "./util/isDescendantOf.js";
|
|
3
|
-
import { camelToKebabCase } from "./util/StringHelper.js";
|
|
4
|
-
import isSlot from "./util/isSlot.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* @class
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
class UI5ElementMetadata {
|
|
12
|
-
constructor(metadata) {
|
|
13
|
-
this.metadata = metadata;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Only intended for use by UI5Element.js
|
|
18
|
-
* @protected
|
|
19
|
-
*/
|
|
20
|
-
static validatePropertyValue(value, propData) {
|
|
21
|
-
const isMultiple = propData.multiple;
|
|
22
|
-
if (isMultiple) {
|
|
23
|
-
return value.map(propValue => validateSingleProperty(propValue, propData));
|
|
24
|
-
}
|
|
25
|
-
return validateSingleProperty(value, propData);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Only intended for use by UI5Element.js
|
|
30
|
-
* @protected
|
|
31
|
-
*/
|
|
32
|
-
static validateSlotValue(value, slotData) {
|
|
33
|
-
return validateSingleSlot(value, slotData);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Returns the tag of the UI5 Element
|
|
38
|
-
* @public
|
|
39
|
-
*/
|
|
40
|
-
getTag() {
|
|
41
|
-
return this.metadata.tag;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Used to get the tag we need to register for backwards compatibility
|
|
46
|
-
* @public
|
|
47
|
-
*/
|
|
48
|
-
getAltTag() {
|
|
49
|
-
return this.metadata.altTag;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Determines whether a property should have an attribute counterpart
|
|
54
|
-
* @public
|
|
55
|
-
* @param propName
|
|
56
|
-
* @returns {boolean}
|
|
57
|
-
*/
|
|
58
|
-
hasAttribute(propName) {
|
|
59
|
-
const propData = this.getProperties()[propName];
|
|
60
|
-
return propData.type !== Object && !propData.noAttribute;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Returns an array with the properties of the UI5 Element (in camelCase)
|
|
65
|
-
* @public
|
|
66
|
-
* @returns {string[]}
|
|
67
|
-
*/
|
|
68
|
-
getPropertiesList() {
|
|
69
|
-
return Object.keys(this.getProperties());
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Returns an array with the attributes of the UI5 Element (in kebab-case)
|
|
74
|
-
* @public
|
|
75
|
-
* @returns {string[]}
|
|
76
|
-
*/
|
|
77
|
-
getAttributesList() {
|
|
78
|
-
return this.getPropertiesList().filter(this.hasAttribute, this).map(camelToKebabCase);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Returns an object with key-value pairs of slots and their metadata definitions
|
|
83
|
-
* @public
|
|
84
|
-
*/
|
|
85
|
-
getSlots() {
|
|
86
|
-
return this.metadata.slots || {};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Determines whether this UI5 Element has a default slot of type Node, therefore can slot text
|
|
91
|
-
* @returns {boolean}
|
|
92
|
-
*/
|
|
93
|
-
canSlotText() {
|
|
94
|
-
const defaultSlot = this.getSlots().default;
|
|
95
|
-
return defaultSlot && defaultSlot.type === Node;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Determines whether this UI5 Element supports any slots
|
|
100
|
-
* @public
|
|
101
|
-
*/
|
|
102
|
-
hasSlots() {
|
|
103
|
-
return !!Object.entries(this.getSlots()).length;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Determines whether this UI5 Element supports any slots with "individualSlots: true"
|
|
108
|
-
* @public
|
|
109
|
-
*/
|
|
110
|
-
hasIndividualSlots() {
|
|
111
|
-
return this.slotsAreManaged() && Object.entries(this.getSlots()).some(([_slotName, slotData]) => slotData.individualSlots);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Determines whether this UI5 Element needs to invalidate if children are added/removed/changed
|
|
116
|
-
* @public
|
|
117
|
-
*/
|
|
118
|
-
slotsAreManaged() {
|
|
119
|
-
return !!this.metadata.managedSlots;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Returns an object with key-value pairs of properties and their metadata definitions
|
|
124
|
-
* @public
|
|
125
|
-
*/
|
|
126
|
-
getProperties() {
|
|
127
|
-
return this.metadata.properties || {};
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Returns an object with key-value pairs of events and their metadata definitions
|
|
132
|
-
* @public
|
|
133
|
-
*/
|
|
134
|
-
getEvents() {
|
|
135
|
-
return this.metadata.events || {};
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)
|
|
140
|
-
* @returns {boolean}
|
|
141
|
-
*/
|
|
142
|
-
isLanguageAware() {
|
|
143
|
-
return !!this.metadata.languageAware;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
const validateSingleProperty = (value, propData) => {
|
|
148
|
-
const propertyType = propData.type;
|
|
149
|
-
|
|
150
|
-
if (propertyType === Boolean) {
|
|
151
|
-
return typeof value === "boolean" ? value : false;
|
|
152
|
-
}
|
|
153
|
-
if (propertyType === String) {
|
|
154
|
-
return (typeof value === "string" || typeof value === "undefined" || value === null) ? value : value.toString();
|
|
155
|
-
}
|
|
156
|
-
if (propertyType === Object) {
|
|
157
|
-
return typeof value === "object" ? value : propData.defaultValue;
|
|
158
|
-
}
|
|
159
|
-
if (isDescendantOf(propertyType, DataType)) {
|
|
160
|
-
return propertyType.isValid(value) ? value : propData.defaultValue;
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const validateSingleSlot = (value, slotData) => {
|
|
165
|
-
if (value === null) {
|
|
166
|
-
return value;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const getSlottedNodes = el => {
|
|
170
|
-
if (isSlot(el)) {
|
|
171
|
-
return el.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
return [el];
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
const slottedNodes = getSlottedNodes(value);
|
|
178
|
-
slottedNodes.forEach(el => {
|
|
179
|
-
if (!(el instanceof slotData.type)) {
|
|
180
|
-
throw new Error(`${el} is not of type ${slotData.type}`);
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
return value;
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export default UI5ElementMetadata;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import AnimationQueue from "./AnimationQueue.js";
|
|
2
|
-
import animationConfig from "./config.js";
|
|
3
|
-
|
|
4
|
-
export default ({
|
|
5
|
-
beforeStart = animationConfig.identity,
|
|
6
|
-
duration = animationConfig.defaultDuration,
|
|
7
|
-
element = animationConfig.element,
|
|
8
|
-
progress: progressCallback = animationConfig.identity,
|
|
9
|
-
}) => {
|
|
10
|
-
let start = null;
|
|
11
|
-
let stopped = false;
|
|
12
|
-
let animationFrame;
|
|
13
|
-
let stop;
|
|
14
|
-
let animate;
|
|
15
|
-
|
|
16
|
-
const promise = new Promise((resolve, reject) => {
|
|
17
|
-
animate = timestamp => {
|
|
18
|
-
start = start || timestamp;
|
|
19
|
-
|
|
20
|
-
const timeElapsed = timestamp - start;
|
|
21
|
-
const remaining = duration - timeElapsed;
|
|
22
|
-
|
|
23
|
-
if (timeElapsed <= duration) {
|
|
24
|
-
const progress = 1 - remaining / duration; // easing formula (currently linear)
|
|
25
|
-
progressCallback(progress);
|
|
26
|
-
animationFrame = !stopped && requestAnimationFrame(animate);
|
|
27
|
-
} else {
|
|
28
|
-
progressCallback(1);
|
|
29
|
-
resolve();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
stop = () => {
|
|
34
|
-
stopped = true;
|
|
35
|
-
cancelAnimationFrame(animationFrame);
|
|
36
|
-
reject(new Error("animation stopped"));
|
|
37
|
-
};
|
|
38
|
-
}).catch(oReason => oReason);
|
|
39
|
-
|
|
40
|
-
AnimationQueue.push(element, () => {
|
|
41
|
-
beforeStart();
|
|
42
|
-
requestAnimationFrame(animate);
|
|
43
|
-
|
|
44
|
-
return new Promise(resolve => {
|
|
45
|
-
promise.then(() => resolve());
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
promise: () => promise,
|
|
51
|
-
stop: () => stop,
|
|
52
|
-
};
|
|
53
|
-
};
|
package/src/animations/config.js
DELETED
package/src/animations/scroll.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import animate from "./animate.js";
|
|
2
|
-
import animationConfig from "./config.js";
|
|
3
|
-
|
|
4
|
-
export default ({
|
|
5
|
-
element = animationConfig.element,
|
|
6
|
-
duration = animationConfig.duration,
|
|
7
|
-
progress: progressCallback = animationConfig.identity,
|
|
8
|
-
dx = 0,
|
|
9
|
-
dy = 0,
|
|
10
|
-
}) => {
|
|
11
|
-
let scrollLeft;
|
|
12
|
-
let scrollTop;
|
|
13
|
-
|
|
14
|
-
return animate({
|
|
15
|
-
beforeStart: () => {
|
|
16
|
-
scrollLeft = element.scrollLeft;
|
|
17
|
-
scrollTop = element.scrollTop;
|
|
18
|
-
},
|
|
19
|
-
duration,
|
|
20
|
-
element,
|
|
21
|
-
progress: progress => {
|
|
22
|
-
progressCallback(progress);
|
|
23
|
-
|
|
24
|
-
element.scrollLeft = scrollLeft + (progress * dx); // easing - linear
|
|
25
|
-
element.scrollTop = scrollTop + (progress * dy); // easing - linear
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { registerIcon, registerCollectionPromise } from "../SVGIconRegistry.js";
|
|
2
|
-
import { fetchJsonOnce } from "../util/FetchHelper.js";
|
|
3
|
-
|
|
4
|
-
const registerIconBundle = async (collectionName, bundleData) => {
|
|
5
|
-
let resolveFn;
|
|
6
|
-
const collectionFetched = new Promise(resolve => {
|
|
7
|
-
resolveFn = resolve;
|
|
8
|
-
});
|
|
9
|
-
registerCollectionPromise(collectionName, collectionFetched);
|
|
10
|
-
|
|
11
|
-
if (typeof bundleData !== "object") { // not inlined from build -> fetch it
|
|
12
|
-
bundleData = await fetchJsonOnce(bundleData);
|
|
13
|
-
}
|
|
14
|
-
fillRegistry(bundleData);
|
|
15
|
-
resolveFn();
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const fillRegistry = bundleData => {
|
|
19
|
-
Object.keys(bundleData.data).forEach(iconName => {
|
|
20
|
-
const iconData = bundleData.data[iconName];
|
|
21
|
-
|
|
22
|
-
registerIcon(iconName, {
|
|
23
|
-
pathData: iconData.path,
|
|
24
|
-
ltr: iconData.ltr,
|
|
25
|
-
accData: iconData.acc,
|
|
26
|
-
collection: bundleData.collection,
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { registerIconBundle }; // eslint-disable-line
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { fetchJsonOnce } from "../util/FetchHelper.js";
|
|
2
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
3
|
-
import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from "../generated/AssetParameters.js";
|
|
4
|
-
|
|
5
|
-
const resources = new Map();
|
|
6
|
-
const cldrData = {};
|
|
7
|
-
const cldrUrls = {};
|
|
8
|
-
|
|
9
|
-
// externally configurable mapping function for resolving (localeId -> URL)
|
|
10
|
-
// default implementation - ui5 CDN
|
|
11
|
-
let cldrMappingFn = locale => `https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/${locale}.json`;
|
|
12
|
-
|
|
13
|
-
const M_ISO639_OLD_TO_NEW = {
|
|
14
|
-
"iw": "he",
|
|
15
|
-
"ji": "yi",
|
|
16
|
-
"in": "id",
|
|
17
|
-
"sh": "sr",
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const calcLocale = (language, region, script) => {
|
|
21
|
-
// normalize language and handle special cases
|
|
22
|
-
language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
|
|
23
|
-
// Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
|
|
24
|
-
if (language === "no") {
|
|
25
|
-
language = "nb";
|
|
26
|
-
}
|
|
27
|
-
// Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
|
|
28
|
-
if (language === "zh" && !region) {
|
|
29
|
-
if (script === "Hans") {
|
|
30
|
-
region = "CN";
|
|
31
|
-
} else if (script === "Hant") {
|
|
32
|
-
region = "TW";
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// try language + region
|
|
37
|
-
let localeId = `${language}_${region}`;
|
|
38
|
-
if (!SUPPORTED_LOCALES.includes(localeId)) {
|
|
39
|
-
// fallback to language only
|
|
40
|
-
localeId = language;
|
|
41
|
-
}
|
|
42
|
-
if (!SUPPORTED_LOCALES.includes(localeId)) {
|
|
43
|
-
// fallback to english
|
|
44
|
-
localeId = DEFAULT_LOCALE;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return localeId;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const resolveMissingMappings = () => {
|
|
52
|
-
if (!cldrMappingFn) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const missingLocales = SUPPORTED_LOCALES.filter(locale => !cldrData[locale] && !cldrUrls[locale]);
|
|
57
|
-
missingLocales.forEach(locale => {
|
|
58
|
-
cldrUrls[locale] = cldrMappingFn(locale);
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const registerModuleContent = (moduleName, content) => {
|
|
63
|
-
resources.set(moduleName, content);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
const getModuleContent = moduleName => {
|
|
67
|
-
const moduleContent = resources.get(moduleName);
|
|
68
|
-
if (moduleContent) {
|
|
69
|
-
return moduleContent;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const missingModule = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
|
|
73
|
-
if (missingModule) {
|
|
74
|
-
throw new Error(`CLDR data for locale ${missingModule[1]} is not loaded!`);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
throw new Error(`Unknown module ${moduleName}`);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const fetchCldr = async (language, region, script) => {
|
|
81
|
-
resolveMissingMappings();
|
|
82
|
-
const localeId = calcLocale(language, region, script);
|
|
83
|
-
|
|
84
|
-
let cldrObj = cldrData[localeId];
|
|
85
|
-
const url = cldrUrls[localeId];
|
|
86
|
-
|
|
87
|
-
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
88
|
-
if (!cldrObj && OpenUI5Support) {
|
|
89
|
-
cldrObj = OpenUI5Support.getLocaleDataObject();
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (cldrObj) {
|
|
93
|
-
// inlined from build or fetched independently
|
|
94
|
-
registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrObj);
|
|
95
|
-
} else if (url) {
|
|
96
|
-
// fetch it
|
|
97
|
-
const cldrContent = await fetchJsonOnce(url);
|
|
98
|
-
registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrContent);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
const registerCldr = (locale, url) => {
|
|
103
|
-
cldrUrls[locale] = url;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
const setCldrData = (locale, data) => {
|
|
107
|
-
cldrData[locale] = data;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
const getCldrData = locale => {
|
|
111
|
-
return cldrData[locale];
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
const _registerMappingFunction = mappingFn => {
|
|
115
|
-
cldrMappingFn = mappingFn;
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export {
|
|
119
|
-
fetchCldr,
|
|
120
|
-
registerCldr,
|
|
121
|
-
setCldrData,
|
|
122
|
-
getCldrData,
|
|
123
|
-
getModuleContent,
|
|
124
|
-
_registerMappingFunction,
|
|
125
|
-
};
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { fetchJsonOnce, fetchTextOnce } from "../util/FetchHelper.js";
|
|
2
|
-
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
|
|
3
|
-
import getFileExtension from "../util/getFileExtension.js";
|
|
4
|
-
|
|
5
|
-
const themeURLs = new Map();
|
|
6
|
-
const themeStyles = new Map();
|
|
7
|
-
const registeredPackages = new Set();
|
|
8
|
-
const registeredThemes = new Set();
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Used to provide CSS Vars for a specific theme for a specific package.
|
|
12
|
-
* The CSS Vars can be passed directly as a string (containing them), as an object with a "_" property(containing them in the "_" property), or as a URL.
|
|
13
|
-
* This URL must point to a JSON file, containing a "_" property.
|
|
14
|
-
*
|
|
15
|
-
* Example usage:
|
|
16
|
-
* 1) Pass the CSS Vars as a string directly.
|
|
17
|
-
* registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
|
|
18
|
-
* 2) Pass the CSS Vars as an object directly
|
|
19
|
-
* registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
|
|
20
|
-
* 3) Pass a URL to a CSS file, containing the CSS Vars. Will be fetched on demand, not upon registration.
|
|
21
|
-
* registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.css");
|
|
22
|
-
* 4) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
|
|
23
|
-
* registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
|
|
24
|
-
*
|
|
25
|
-
* @public
|
|
26
|
-
* @param packageName - the NPM package for which CSS Vars are registered
|
|
27
|
-
* @param themeName - the theme which the CSS Vars implement
|
|
28
|
-
* @param style - can be one of four options: a string, an object with a "_" property, URL to a CSS file, or URL to a JSON file with a "_" property
|
|
29
|
-
*/
|
|
30
|
-
const registerThemeProperties = (packageName, themeName, style) => {
|
|
31
|
-
if (style._) {
|
|
32
|
-
// JSON object like ({"_": ":root"})
|
|
33
|
-
themeStyles.set(`${packageName}_${themeName}`, style._);
|
|
34
|
-
} else if (style.includes(":root") || style === "") {
|
|
35
|
-
// pure string, including empty string
|
|
36
|
-
themeStyles.set(`${packageName}_${themeName}`, style);
|
|
37
|
-
} else {
|
|
38
|
-
// url for fetching
|
|
39
|
-
themeURLs.set(`${packageName}_${themeName}`, style);
|
|
40
|
-
}
|
|
41
|
-
registeredPackages.add(packageName);
|
|
42
|
-
registeredThemes.add(themeName);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const getThemeProperties = async (packageName, themeName) => {
|
|
46
|
-
const style = themeStyles.get(`${packageName}_${themeName}`);
|
|
47
|
-
if (style !== undefined) { // it's valid for style to be an empty string
|
|
48
|
-
return style;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (!registeredThemes.has(themeName)) {
|
|
52
|
-
const regThemesStr = [...registeredThemes.values()].join(", ");
|
|
53
|
-
console.warn(`You have requested a non-registered theme - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
|
|
54
|
-
return themeStyles.get(`${packageName}_${DEFAULT_THEME}`);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const data = await fetchThemeProperties(packageName, themeName);
|
|
58
|
-
const themeProps = data._ || data;
|
|
59
|
-
|
|
60
|
-
themeStyles.set(`${packageName}_${themeName}`, themeProps);
|
|
61
|
-
return themeProps;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const fetchThemeProperties = async (packageName, themeName) => {
|
|
65
|
-
const url = themeURLs.get(`${packageName}_${themeName}`);
|
|
66
|
-
|
|
67
|
-
if (!url) {
|
|
68
|
-
throw new Error(`You have to import the ${packageName}/dist/Assets.js module to switch to additional themes`);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return getFileExtension(url) === ".css" ? fetchTextOnce(url) : fetchJsonOnce(url);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
const getRegisteredPackages = () => {
|
|
75
|
-
return registeredPackages;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const isThemeRegistered = theme => {
|
|
79
|
-
return registeredThemes.has(theme);
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export {
|
|
83
|
-
registerThemeProperties,
|
|
84
|
-
getThemeProperties,
|
|
85
|
-
getRegisteredPackages,
|
|
86
|
-
isThemeRegistered,
|
|
87
|
-
};
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
2
|
-
import getLocale from "../locale/getLocale.js";
|
|
3
|
-
import { attachLanguageChange } from "../locale/languageChange.js";
|
|
4
|
-
import { fetchTextOnce } from "../util/FetchHelper.js";
|
|
5
|
-
import normalizeLocale from "../locale/normalizeLocale.js";
|
|
6
|
-
import nextFallbackLocale from "../locale/nextFallbackLocale.js";
|
|
7
|
-
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
8
|
-
|
|
9
|
-
const bundleData = new Map();
|
|
10
|
-
const bundleURLs = new Map();
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Sets a map with texts and ID the are related to.
|
|
14
|
-
* @param {string} packageName package ID that the i18n bundle will be related to
|
|
15
|
-
* @param {Object} data an object with string locales as keys and text translataions as values
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
const setI18nBundleData = (packageName, data) => {
|
|
19
|
-
bundleData.set(packageName, data);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const getI18nBundleData = packageName => {
|
|
23
|
-
return bundleData.get(packageName);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Registers a map of locale/url information, to be used by the <code>fetchI18nBundle</code> method.
|
|
28
|
-
* Note: In order to be able to register ".properties" files, you must import the following module:
|
|
29
|
-
* import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";
|
|
30
|
-
*
|
|
31
|
-
* @param {string} packageName package ID that the i18n bundle will be related to
|
|
32
|
-
* @param {Object} bundle an object with string locales as keys and the URLs (in .json or .properties format - see the note above) where the corresponding locale can be fetched from, f.e {"en": "path/en.json", ...}
|
|
33
|
-
*
|
|
34
|
-
* @public
|
|
35
|
-
*/
|
|
36
|
-
const registerI18nBundle = (packageName, bundle) => {
|
|
37
|
-
const oldBundle = bundleURLs.get(packageName) || {};
|
|
38
|
-
bundleURLs.set(packageName, Object.assign({}, oldBundle, bundle));
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* This method preforms the asynchronous task of fetching the actual text resources. It will fetch
|
|
43
|
-
* each text resource over the network once (even for multiple calls to the same method).
|
|
44
|
-
* It should be fully finished before the i18nBundle class is created in the webcomponents.
|
|
45
|
-
* This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.
|
|
46
|
-
* To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>
|
|
47
|
-
* @param {packageName} packageName the NPM package name
|
|
48
|
-
* @public
|
|
49
|
-
*/
|
|
50
|
-
const fetchI18nBundle = async packageName => {
|
|
51
|
-
const bundlesForPackage = bundleURLs.get(packageName);
|
|
52
|
-
|
|
53
|
-
if (!bundlesForPackage) {
|
|
54
|
-
console.warn(`Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
|
|
55
|
-
` You need to import ${packageName}/dist/Assets.js with a build tool that supports JSON imports.`); /* eslint-disable-line */
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const language = getLocale().getLanguage();
|
|
60
|
-
|
|
61
|
-
let localeId = normalizeLocale(language);
|
|
62
|
-
while (localeId !== DEFAULT_LANGUAGE && !bundlesForPackage[localeId]) {
|
|
63
|
-
localeId = nextFallbackLocale(localeId);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (!bundlesForPackage[localeId]) {
|
|
67
|
-
setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const bundleURL = bundlesForPackage[localeId];
|
|
72
|
-
|
|
73
|
-
if (typeof bundleURL === "object") { // inlined from build
|
|
74
|
-
setI18nBundleData(packageName, bundleURL);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const content = await fetchTextOnce(bundleURL);
|
|
79
|
-
let parser;
|
|
80
|
-
if (content.startsWith("{")) {
|
|
81
|
-
parser = JSON.parse;
|
|
82
|
-
} else {
|
|
83
|
-
const PropertiesFormatSupport = getFeature("PropertiesFormatSupport");
|
|
84
|
-
if (!PropertiesFormatSupport) {
|
|
85
|
-
throw new Error(`In order to support .properties files, please: import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";`);
|
|
86
|
-
}
|
|
87
|
-
parser = PropertiesFormatSupport.parser;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const data = parser(content);
|
|
91
|
-
|
|
92
|
-
setI18nBundleData(packageName, data);
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
|
|
96
|
-
attachLanguageChange(() => {
|
|
97
|
-
const allPackages = [...bundleData.keys()];
|
|
98
|
-
return Promise.all(allPackages.map(fetchI18nBundle));
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
export {
|
|
102
|
-
fetchI18nBundle,
|
|
103
|
-
registerI18nBundle,
|
|
104
|
-
setI18nBundleData,
|
|
105
|
-
getI18nBundleData,
|
|
106
|
-
};
|
package/src/boot.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import whenDOMReady from "./util/whenDOMReady.js";
|
|
2
|
-
import insertFontFace from "./FontFace.js";
|
|
3
|
-
import insertSystemCSSVars from "./SystemCSSVars.js";
|
|
4
|
-
import { getTheme } from "./config/Theme.js";
|
|
5
|
-
import applyTheme from "./theming/applyTheme.js";
|
|
6
|
-
import whenPolyfillLoaded from "./compatibility/whenPolyfillLoaded.js";
|
|
7
|
-
import { getFeature } from "./FeaturesRegistry.js";
|
|
8
|
-
|
|
9
|
-
let bootPromise;
|
|
10
|
-
|
|
11
|
-
const boot = () => {
|
|
12
|
-
if (bootPromise) {
|
|
13
|
-
return bootPromise;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
bootPromise = new Promise(async resolve => {
|
|
17
|
-
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
18
|
-
if (OpenUI5Support) {
|
|
19
|
-
await OpenUI5Support.init();
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
await whenDOMReady();
|
|
23
|
-
await applyTheme(getTheme());
|
|
24
|
-
OpenUI5Support && OpenUI5Support.attachListeners();
|
|
25
|
-
insertFontFace();
|
|
26
|
-
insertSystemCSSVars();
|
|
27
|
-
await whenPolyfillLoaded();
|
|
28
|
-
resolve();
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
return bootPromise;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export default boot;
|