@ui5/webcomponents-base 0.0.0-db2be6526 → 0.0.0-db622d8a8
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 +7 -5
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +621 -0
- package/README.md +32 -6
- package/bundle.esm.js +20 -11
- package/config/wdio.conf.cjs +400 -0
- package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
- package/dist/AssetRegistry.js +2 -7
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +9 -0
- package/dist/Boot.js +56 -28
- 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 -108
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/{src/CustomElementsScope.js → 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 +148 -89
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -82
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +16 -121
- package/dist/FontFace.js.map +1 -0
- package/dist/IgnoreCustomElements.d.ts +27 -0
- package/dist/IgnoreCustomElements.js +39 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +27 -0
- package/dist/InitialConfiguration.js +121 -131
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -244
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +77 -29
- 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 +82 -112
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +52 -62
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +3 -0
- package/dist/StaticArea.js +5 -1
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +88 -93
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +5 -25
- package/dist/SystemCSSVars.js.map +1 -0
- package/{src/Theming.js → dist/Theming.d.ts} +0 -1
- package/dist/Theming.js +1 -1
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +380 -0
- package/dist/UI5Element.js +931 -989
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +278 -298
- 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 +38 -0
- package/dist/asset-registries/Icons.js +109 -112
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +17 -0
- package/dist/asset-registries/Illustrations.js +41 -25
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +104 -127
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +11 -0
- package/dist/asset-registries/Themes.js +40 -66
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +61 -81
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/Boot.34b7cea0.css +1 -0
- package/dist/assets/Boot.48b53df7.js +9 -0
- package/dist/assets/bundle.esm.7885cd75.js +50 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
- package/dist/assets-meta/IconCollectionsAlias.js +38 -0
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +21 -18
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +8 -0
- package/dist/config/CalendarType.js +13 -12
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +15 -0
- package/dist/config/FormatSettings.js +15 -9
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +55 -0
- package/dist/config/Icons.js +103 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +40 -0
- package/dist/config/Language.js +43 -43
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +41 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/RTL.d.ts +7 -0
- package/dist/config/RTL.js +26 -20
- package/dist/config/RTL.js.map +1 -0
- package/dist/config/Theme.d.ts +38 -0
- package/dist/config/Theme.js +64 -22
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoot.d.ts +29 -0
- package/dist/config/ThemeRoot.js +59 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +30 -0
- package/dist/config/Timezone.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/decorators/customElement.d.ts +23 -0
- package/dist/decorators/customElement.js +37 -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/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/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +277 -312
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +25 -0
- package/dist/delegate/ResizeHandler.js +72 -91
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +157 -180
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +19 -0
- package/dist/features/F6Navigation.js +151 -0
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/LegacyDateFormats.d.ts +18 -0
- package/dist/features/LegacyDateFormats.js +20 -0
- package/dist/features/LegacyDateFormats.js.map +1 -0
- package/dist/features/OpenUI5Element.d.ts +9 -0
- package/dist/features/OpenUI5Element.js +5 -0
- package/dist/features/OpenUI5Element.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +11 -0
- package/dist/features/OpenUI5Enablement.js +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +26 -0
- package/dist/features/OpenUI5Support.js +93 -119
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +3 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -0
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -0
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -0
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +28 -18
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +40 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +57 -64
- package/dist/i18nBundle.js.map +1 -0
- package/dist/locale/Locale.d.ts +22 -0
- package/dist/locale/Locale.js +75 -87
- package/dist/locale/Locale.js.map +1 -0
- package/dist/locale/RTLAwareRegistry.d.ts +4 -0
- package/dist/locale/RTLAwareRegistry.js +6 -11
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +10 -0
- package/dist/locale/applyDirection.js +7 -7
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +7 -15
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +20 -24
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +26 -29
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +8 -16
- package/dist/locale/languageChange.js.map +1 -0
- package/dist/locale/nextFallbackLocale.d.ts +8 -0
- package/dist/locale/nextFallbackLocale.js +15 -19
- package/dist/locale/nextFallbackLocale.js.map +1 -0
- package/dist/locale/normalizeLocale.d.ts +7 -0
- package/dist/locale/normalizeLocale.js +34 -41
- package/dist/locale/normalizeLocale.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +31 -22
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +28 -29
- package/dist/sap/base/assert.js +5 -6
- package/dist/sap/base/security/URLListValidator.js +13 -2
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +39 -31
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +8 -16
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/ThemeRegistered.d.ts +4 -0
- package/dist/theming/ThemeRegistered.js +11 -0
- package/dist/theming/ThemeRegistered.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +62 -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 +17 -0
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +25 -23
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -11
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +73 -61
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +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 +15 -0
- package/dist/types/CSSColor.js +14 -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 +17 -0
- package/dist/types/Float.js +17 -10
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +17 -0
- package/dist/types/Integer.js +17 -9
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +20 -23
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -12
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +32 -0
- package/dist/types/NavigationMode.js +33 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/ValueState.d.ts +42 -0
- package/dist/types/ValueState.js +41 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +8 -0
- package/dist/updateShadowRoot.js +31 -16
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +15 -0
- package/dist/util/AriaLabelHelper.js +166 -36
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +16 -38
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +315 -348
- package/dist/util/ColorConversion.js.map +1 -0
- package/dist/util/FetchHelper.d.ts +3 -0
- package/dist/util/FetchHelper.js +19 -25
- package/dist/util/FetchHelper.js.map +1 -0
- package/dist/util/FocusableElements.d.ts +4 -0
- package/dist/util/FocusableElements.js +67 -72
- package/dist/util/FocusableElements.js.map +1 -0
- package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
- package/dist/util/HTMLSanitizer.js +4 -5
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +42 -44
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +58 -77
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +22 -35
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
- 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 +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 +6 -8
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +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/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
- 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 +11 -0
- package/dist/util/getSingletonElementInstance.js +17 -11
- 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 +48 -0
- package/dist/validateThemeRoot.js.map +1 -0
- package/index.js +227 -1
- package/lib/generate-asset-parameters/index.js +11 -5
- package/lib/generate-styles/index.js +31 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.cjs +71 -0
- package/package.json +9 -6
- 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/tsconfig.json +14 -0
- package/used-modules.txt +4 -1
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -44
- package/dist/animations/config.js +0 -5
- package/dist/isLegacyBrowser.js +0 -3
- package/dist/resources/bundle.esm.js +0 -37
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -17
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -41
- package/dist/test-resources/elements/WithStaticArea.js +0 -77
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -18
- package/dist/test-resources/pages/ConfigurationScript.html +0 -34
- package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
- package/dist/test-resources/pages/i18n.html +0 -33
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
- package/dist/test-resources/specs/EventProvider.spec.js +0 -63
- package/dist/test-resources/specs/StaticArea.spec.js +0 -78
- package/dist/test-resources/specs/Theming.spec.js +0 -33
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
- package/dist/theming/createThemePropertiesStyleTag.js +0 -16
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/encodeCSS.js +0 -24
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/setToArray.js +0 -10
- package/hash.txt +0 -1
- package/package-scripts.js +0 -62
- package/src/Boot.js +0 -43
- package/src/CustomElementsRegistry.js +0 -39
- package/src/DOMObserver.js +0 -65
- package/src/Device.js +0 -107
- package/src/EventProvider.js +0 -85
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -130
- package/src/InitialConfiguration.js +0 -166
- package/src/Keys.js +0 -248
- package/src/ManagedStyles.js +0 -36
- package/src/MediaRange.js +0 -109
- package/src/PropertiesFileFormat.js +0 -95
- package/src/Render.js +0 -173
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -44
- package/src/StaticArea.js +0 -3
- package/src/StaticAreaItem.js +0 -107
- package/src/SystemCSSVars.js +0 -29
- package/src/UI5Element.js +0 -1026
- package/src/UI5ElementMetadata.js +0 -311
- package/src/animations/AnimationQueue.js +0 -42
- package/src/animations/animate.js +0 -53
- package/src/animations/config.js +0 -5
- package/src/animations/scroll.js +0 -28
- package/src/animations/slideDown.js +0 -79
- package/src/animations/slideUp.js +0 -71
- package/src/asset-registries/Icons.js +0 -128
- package/src/asset-registries/Illustrations.js +0 -30
- package/src/asset-registries/LocaleData.js +0 -159
- package/src/asset-registries/Themes.js +0 -78
- package/src/asset-registries/i18n.js +0 -121
- package/src/config/AnimationMode.js +0 -23
- package/src/config/CalendarType.js +0 -18
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -68
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -28
- package/src/delegate/ItemNavigation.js +0 -351
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -188
- package/src/features/OpenUI5Support.js +0 -125
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -86
- package/src/isLegacyBrowser.js +0 -3
- package/src/locale/Locale.js +0 -91
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -17
- package/src/locale/directionChange.js +0 -32
- package/src/locale/getEffectiveDir.js +0 -28
- package/src/locale/getLocale.js +0 -41
- package/src/locale/languageChange.js +0 -22
- package/src/locale/nextFallbackLocale.js +0 -28
- package/src/locale/normalizeLocale.js +0 -54
- package/src/renderer/LitRenderer.js +0 -32
- package/src/renderer/executeTemplate.js +0 -17
- package/src/theming/CustomStyle.js +0 -40
- package/src/theming/ThemeLoaded.js +0 -22
- package/src/theming/applyTheme.js +0 -78
- package/src/theming/createThemePropertiesStyleTag.js +0 -16
- package/src/theming/getConstructableStyle.js +0 -30
- package/src/theming/getEffectiveStyle.js +0 -30
- package/src/theming/getStylesString.js +0 -13
- package/src/theming/getThemeDesignerTheme.js +0 -68
- package/src/thirdparty/_merge.js +0 -32
- package/src/thirdparty/isPlainObject.js +0 -18
- package/src/thirdparty/merge.js +0 -10
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSColor.js +0 -9
- 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 -26
- package/src/util/AriaLabelHelper.js +0 -41
- package/src/util/Caret.js +0 -45
- package/src/util/ColorConversion.js +0 -370
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -77
- package/src/util/InvisibleMessage.js +0 -58
- package/src/util/PopupUtils.js +0 -93
- package/src/util/SlotsHelper.js +0 -43
- package/src/util/StringHelper.js +0 -26
- package/src/util/TabbableElements.js +0 -47
- package/src/util/arraysAreEqual.js +0 -15
- package/src/util/createStyleInHead.js +0 -18
- package/src/util/debounce.js +0 -17
- package/src/util/detectNavigatorLanguage.js +0 -13
- package/src/util/encodeCSS.js +0 -24
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/formatMessage.js +0 -23
- package/src/util/getActiveElement.js +0 -11
- package/src/util/getClassCopy.js +0 -10
- package/src/util/getDesigntimePropertyAsArray.js +0 -4
- package/src/util/getEffectiveContentDensity.js +0 -5
- package/src/util/getSingletonElementInstance.js +0 -13
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isElementInView.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/isValidPropertyName.js +0 -29
- package/src/util/setToArray.js +0 -10
- package/src/util/whenDOMReady.js +0 -13
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import getSharedResource from "../getSharedResource.js";
|
|
2
|
-
|
|
3
|
-
const loaders = new Map();
|
|
4
|
-
const registry = getSharedResource("SVGIcons.registry", new Map());
|
|
5
|
-
const iconCollectionPromises = getSharedResource("SVGIcons.promises", new Map());
|
|
6
|
-
|
|
7
|
-
const ICON_NOT_FOUND = "ICON_NOT_FOUND";
|
|
8
|
-
const DEFAULT_COLLECTION = "SAP-icons";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated
|
|
12
|
-
*/
|
|
13
|
-
const registerIconBundle = async (collectionName, bundleData) => {
|
|
14
|
-
throw new Error("This method has been removed. Use `registerIconLoader` instead.");
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const registerIconLoader = async (collectionName, loader) => {
|
|
18
|
-
loaders.set(collectionName, loader);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const _loadIconCollectionOnce = async collectionName => {
|
|
22
|
-
if (!iconCollectionPromises.has(collectionName)) {
|
|
23
|
-
if (!loaders.has(collectionName)) {
|
|
24
|
-
throw new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);
|
|
25
|
-
}
|
|
26
|
-
const loadIcons = loaders.get(collectionName);
|
|
27
|
-
iconCollectionPromises.set(collectionName, loadIcons(collectionName));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return iconCollectionPromises.get(collectionName);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const _fillRegistry = bundleData => {
|
|
34
|
-
Object.keys(bundleData.data).forEach(iconName => {
|
|
35
|
-
const iconData = bundleData.data[iconName];
|
|
36
|
-
|
|
37
|
-
registerIcon(iconName, {
|
|
38
|
-
pathData: iconData.path,
|
|
39
|
-
ltr: iconData.ltr,
|
|
40
|
-
accData: iconData.acc,
|
|
41
|
-
collection: bundleData.collection,
|
|
42
|
-
packageName: bundleData.packageName,
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
// set
|
|
48
|
-
const registerIcon = (name, { pathData, ltr, accData, collection, packageName } = {}) => { // eslint-disable-line
|
|
49
|
-
if (!collection) {
|
|
50
|
-
collection = DEFAULT_COLLECTION;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const key = `${collection}/${name}`;
|
|
54
|
-
registry.set(key, {
|
|
55
|
-
pathData,
|
|
56
|
-
ltr,
|
|
57
|
-
accData,
|
|
58
|
-
packageName,
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const _parseName = name => {
|
|
63
|
-
// silently support ui5-compatible URIs
|
|
64
|
-
if (name.startsWith("sap-icon://")) {
|
|
65
|
-
name = name.replace("sap-icon://", "");
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
let collection;
|
|
69
|
-
[name, collection] = name.split("/").reverse();
|
|
70
|
-
collection = collection || DEFAULT_COLLECTION;
|
|
71
|
-
// hardcoded alias in case icon explorer is used, resolve `SAP-icons-TNT` to `tnt`
|
|
72
|
-
// aliases can be made a feature in the future if more collections need it or more aliases are needed.
|
|
73
|
-
if (collection === "SAP-icons-TNT") {
|
|
74
|
-
collection = "tnt";
|
|
75
|
-
}
|
|
76
|
-
// hardcoded alias in case icon explorer is used, resolve `BusinessSuiteInAppSymbols` to `business-suite`
|
|
77
|
-
// aliases can be made a feature in the future if more collections need it or more aliases are needed.
|
|
78
|
-
if (collection === "BusinessSuiteInAppSymbols") {
|
|
79
|
-
collection = "business-suite";
|
|
80
|
-
name = name.replace("icon-", "");
|
|
81
|
-
}
|
|
82
|
-
const registryKey = `${collection}/${name}`;
|
|
83
|
-
return { name, collection, registryKey };
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
const getIconDataSync = nameProp => {
|
|
87
|
-
const { registryKey } = _parseName(nameProp);
|
|
88
|
-
return registry.get(registryKey);
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const getIconData = async nameProp => {
|
|
92
|
-
const { collection, registryKey } = _parseName(nameProp);
|
|
93
|
-
|
|
94
|
-
let iconData = ICON_NOT_FOUND;
|
|
95
|
-
try {
|
|
96
|
-
iconData = await _loadIconCollectionOnce(collection);
|
|
97
|
-
} catch (e) {
|
|
98
|
-
console.error(e.message); /* eslint-disable-line */
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (iconData === ICON_NOT_FOUND) {
|
|
102
|
-
return iconData;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (!registry.has(registryKey)) {
|
|
106
|
-
// not filled by another await. many getters will await on the same loader, but fill only once
|
|
107
|
-
_fillRegistry(iconData);
|
|
108
|
-
}
|
|
109
|
-
return registry.get(registryKey);
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
// test page usage only
|
|
113
|
-
const _getRegisteredNames = async () => {
|
|
114
|
-
// fetch one icon of each collection to trigger the bundle load
|
|
115
|
-
await getIconData("edit");
|
|
116
|
-
await getIconData("tnt/arrow");
|
|
117
|
-
await getIconData("business-suite/3d");
|
|
118
|
-
return Array.from(registry.keys());
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
export {
|
|
122
|
-
registerIconBundle,
|
|
123
|
-
registerIconLoader,
|
|
124
|
-
getIconData,
|
|
125
|
-
getIconDataSync,
|
|
126
|
-
registerIcon,
|
|
127
|
-
_getRegisteredNames,
|
|
128
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import getSharedResource from "../getSharedResource.js";
|
|
2
|
-
|
|
3
|
-
const registry = getSharedResource("SVGIllustration.registry", new Map());
|
|
4
|
-
const ILLUSTRATION_NOT_FOUND = "ILLUSTRATION_NOT_FOUND";
|
|
5
|
-
|
|
6
|
-
const registerIllustration = (name, { dialogSvg, sceneSvg, spotSvg, set, title, subtitle } = {}) => { // eslint-disable-line
|
|
7
|
-
registry.set(`${set}/${name}`, {
|
|
8
|
-
dialogSvg,
|
|
9
|
-
sceneSvg,
|
|
10
|
-
spotSvg,
|
|
11
|
-
title,
|
|
12
|
-
subtitle,
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const getIllustrationDataSync = nameProp => {
|
|
17
|
-
let set = "fiori";
|
|
18
|
-
|
|
19
|
-
if (nameProp.startsWith("Tnt")) {
|
|
20
|
-
set = "tnt";
|
|
21
|
-
nameProp = nameProp.replace(/^Tnt/, "");
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return registry.get(`${set}/${nameProp}`) || ILLUSTRATION_NOT_FOUND;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
getIllustrationDataSync,
|
|
29
|
-
registerIllustration,
|
|
30
|
-
};
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { attachLanguageChange } from "../locale/languageChange.js";
|
|
2
|
-
import getLocale from "../locale/getLocale.js";
|
|
3
|
-
import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from "../generated/AssetParameters.js";
|
|
4
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
5
|
-
|
|
6
|
-
const localeDataMap = new Map();
|
|
7
|
-
const loaders = new Map();
|
|
8
|
-
const cldrPromises = new Map();
|
|
9
|
-
const reportedErrors = new Set();
|
|
10
|
-
let warningShown = false;
|
|
11
|
-
|
|
12
|
-
const M_ISO639_OLD_TO_NEW = {
|
|
13
|
-
"iw": "he",
|
|
14
|
-
"ji": "yi",
|
|
15
|
-
"in": "id",
|
|
16
|
-
"sh": "sr",
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const DEV_MODE = false;
|
|
20
|
-
|
|
21
|
-
const _showAssetsWarningOnce = localeId => {
|
|
22
|
-
if (warningShown) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (!DEV_MODE) {
|
|
27
|
-
console.warn(`[LocaleData] Supported locale "${localeId}" not configured, import the "Assets.js" module from the webcomponents package you are using.`); /* eslint-disable-line */
|
|
28
|
-
} else {
|
|
29
|
-
console.warn(`[LocaleData] Note: in dev mode, CLDR assets might be disabled for performance reasons. Try running "ENABLE_CLDR=1 yarn start" to test CLDR assets.`); /* eslint-disable-line */
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
warningShown = true;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const calcLocale = (language, region, script) => {
|
|
36
|
-
// normalize language and handle special cases
|
|
37
|
-
language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
|
|
38
|
-
// Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
|
|
39
|
-
if (language === "no") {
|
|
40
|
-
language = "nb";
|
|
41
|
-
}
|
|
42
|
-
// Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
|
|
43
|
-
if (language === "zh" && !region) {
|
|
44
|
-
if (script === "Hans") {
|
|
45
|
-
region = "CN";
|
|
46
|
-
} else if (script === "Hant") {
|
|
47
|
-
region = "TW";
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// try language + region
|
|
52
|
-
let localeId = `${language}_${region}`;
|
|
53
|
-
if (SUPPORTED_LOCALES.includes(localeId)) {
|
|
54
|
-
if (loaders.has(localeId)) {
|
|
55
|
-
// supported and has loader
|
|
56
|
-
return localeId;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// supported, no loader - fallback to default and warn
|
|
60
|
-
_showAssetsWarningOnce(localeId);
|
|
61
|
-
return DEFAULT_LOCALE;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// not supported, try language only
|
|
65
|
-
localeId = language;
|
|
66
|
-
if (SUPPORTED_LOCALES.includes(localeId)) {
|
|
67
|
-
if (loaders.has(localeId)) {
|
|
68
|
-
// supported and has loader
|
|
69
|
-
return localeId;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// supported, no loader - fallback to default and warn
|
|
73
|
-
_showAssetsWarningOnce(localeId);
|
|
74
|
-
return DEFAULT_LOCALE;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// not supported - fallback to default locale
|
|
78
|
-
return DEFAULT_LOCALE;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// internal set data
|
|
82
|
-
const setLocaleData = (localeId, content) => {
|
|
83
|
-
localeDataMap.set(localeId, content);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
// external getSync
|
|
87
|
-
const getLocaleData = localeId => {
|
|
88
|
-
// if there is no loader, the default fallback was fetched and a warning was given - use default locale instead
|
|
89
|
-
if (!loaders.has(localeId)) {
|
|
90
|
-
localeId = DEFAULT_LOCALE;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const content = localeDataMap.get(localeId);
|
|
94
|
-
if (!content) {
|
|
95
|
-
throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return content;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
// load bundle over the network once
|
|
102
|
-
const _loadCldrOnce = localeId => {
|
|
103
|
-
const loadCldr = loaders.get(localeId);
|
|
104
|
-
|
|
105
|
-
if (!cldrPromises.get(localeId)) {
|
|
106
|
-
cldrPromises.set(localeId, loadCldr(localeId));
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return cldrPromises.get(localeId);
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
// external getAsync
|
|
113
|
-
const fetchCldr = async (language, region, script) => {
|
|
114
|
-
const localeId = calcLocale(language, region, script);
|
|
115
|
-
|
|
116
|
-
// reuse OpenUI5 CLDR if present
|
|
117
|
-
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
118
|
-
if (OpenUI5Support) {
|
|
119
|
-
const cldrContent = OpenUI5Support.getLocaleDataObject();
|
|
120
|
-
if (cldrContent) {
|
|
121
|
-
// only if openui5 actually returned valid content
|
|
122
|
-
setLocaleData(localeId, cldrContent);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// fetch it
|
|
128
|
-
try {
|
|
129
|
-
const cldrContent = await _loadCldrOnce(localeId);
|
|
130
|
-
setLocaleData(localeId, cldrContent);
|
|
131
|
-
} catch (e) {
|
|
132
|
-
if (!reportedErrors.has(e.message)) {
|
|
133
|
-
reportedErrors.add(e.message);
|
|
134
|
-
console.error(e.message); /* eslint-disable-line */
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
const registerLocaleDataLoader = (localeId, loader) => {
|
|
140
|
-
loaders.set(localeId, loader);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
// register default loader for "en" from ui5 CDN (dev workflow without assets)
|
|
144
|
-
registerLocaleDataLoader("en", async runtimeLocaleId => {
|
|
145
|
-
return (await fetch(`https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/en.json`)).json();
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
// When the language changes dynamically (the user calls setLanguage),
|
|
149
|
-
// re-fetch the required CDRD data.
|
|
150
|
-
attachLanguageChange(() => {
|
|
151
|
-
const locale = getLocale();
|
|
152
|
-
return fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
export {
|
|
156
|
-
registerLocaleDataLoader,
|
|
157
|
-
fetchCldr,
|
|
158
|
-
getLocaleData,
|
|
159
|
-
};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
|
|
2
|
-
|
|
3
|
-
const themeStyles = new Map();
|
|
4
|
-
const loaders = new Map();
|
|
5
|
-
const registeredPackages = new Set();
|
|
6
|
-
const registeredThemes = new Set();
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Used to provide CSS Vars for a specific theme for a specific package.
|
|
10
|
-
* 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.
|
|
11
|
-
* This URL must point to a JSON file, containing a "_" property.
|
|
12
|
-
*
|
|
13
|
-
* Example usage:
|
|
14
|
-
* 1) Pass the CSS Vars as a string directly.
|
|
15
|
-
* registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
|
|
16
|
-
*
|
|
17
|
-
* @public
|
|
18
|
-
* @param packageName - the NPM package for which CSS Vars are registered
|
|
19
|
-
* @param themeName - the theme which the CSS Vars implement
|
|
20
|
-
* @param style - the style content directly
|
|
21
|
-
* @deprecated
|
|
22
|
-
*/
|
|
23
|
-
const registerThemeProperties = (_packageName, _themeName, _style) => {
|
|
24
|
-
throw new Error("`registerThemeProperties` has been depracated. Use `registerThemePropertiesLoader` instead.");
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const registerThemePropertiesLoader = (packageName, themeName, loader) => {
|
|
28
|
-
loaders.set(`${packageName}/${themeName}`, loader);
|
|
29
|
-
registeredPackages.add(packageName);
|
|
30
|
-
registeredThemes.add(themeName);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const getThemeProperties = async (packageName, themeName) => {
|
|
34
|
-
const style = themeStyles.get(`${packageName}_${themeName}`);
|
|
35
|
-
if (style !== undefined) { // it's valid for style to be an empty string
|
|
36
|
-
return style;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (!registeredThemes.has(themeName)) {
|
|
40
|
-
const regThemesStr = [...registeredThemes.values()].join(", ");
|
|
41
|
-
console.warn(`You have requested a non-registered theme - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
|
|
42
|
-
return themeStyles.get(`${packageName}_${DEFAULT_THEME}`);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const loader = loaders.get(`${packageName}/${themeName}`);
|
|
46
|
-
if (!loader) {
|
|
47
|
-
// no themes for package
|
|
48
|
-
console.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
let data;
|
|
52
|
-
try {
|
|
53
|
-
data = await loader(themeName);
|
|
54
|
-
} catch (e) {
|
|
55
|
-
console.error(packageName, e.message); /* eslint-disable-line */
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const themeProps = data._ || data;
|
|
59
|
-
|
|
60
|
-
themeStyles.set(`${packageName}_${themeName}`, themeProps);
|
|
61
|
-
return themeProps;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const getRegisteredPackages = () => {
|
|
65
|
-
return registeredPackages;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
const isThemeRegistered = theme => {
|
|
69
|
-
return registeredThemes.has(theme);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export {
|
|
73
|
-
registerThemePropertiesLoader,
|
|
74
|
-
registerThemeProperties,
|
|
75
|
-
getThemeProperties,
|
|
76
|
-
getRegisteredPackages,
|
|
77
|
-
isThemeRegistered,
|
|
78
|
-
};
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import getLocale from "../locale/getLocale.js";
|
|
2
|
-
import { attachLanguageChange } from "../locale/languageChange.js";
|
|
3
|
-
import normalizeLocale from "../locale/normalizeLocale.js";
|
|
4
|
-
import nextFallbackLocale from "../locale/nextFallbackLocale.js";
|
|
5
|
-
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
6
|
-
import { getFetchDefaultLanguage } from "../config/Language.js";
|
|
7
|
-
|
|
8
|
-
// contains package names for which the warning has been shown
|
|
9
|
-
const warningShown = new Set();
|
|
10
|
-
const reportedErrors = new Set();
|
|
11
|
-
|
|
12
|
-
const bundleData = new Map();
|
|
13
|
-
const bundlePromises = new Map();
|
|
14
|
-
const loaders = new Map();
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
* @param {string} packageName for which package this loader can fetch data
|
|
19
|
-
* @param {function} loader async function that will be passed a localeId and should return a JSON object
|
|
20
|
-
* @param {Array} localeIds Array of locale IDs that this loader can handle
|
|
21
|
-
*/
|
|
22
|
-
const registerI18nLoader = (packageName, localeId, loader) => {
|
|
23
|
-
// register loader by key
|
|
24
|
-
const bundleKey = `${packageName}/${localeId}`;
|
|
25
|
-
loaders.set(bundleKey, loader);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const _setI18nBundleData = (packageName, data) => {
|
|
29
|
-
bundleData.set(packageName, data);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const getI18nBundleData = packageName => {
|
|
33
|
-
return bundleData.get(packageName);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @public
|
|
38
|
-
* @deprecated
|
|
39
|
-
*/
|
|
40
|
-
const registerI18nBundle = (_packageName, _bundle) => {
|
|
41
|
-
throw new Error("This method has been removed. Use `registerI18nLoader` instead.");
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const _hasLoader = (packageName, localeId) => {
|
|
45
|
-
const bundleKey = `${packageName}/${localeId}`;
|
|
46
|
-
return loaders.has(bundleKey);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// load bundle over the network once
|
|
50
|
-
const _loadMessageBundleOnce = (packageName, localeId) => {
|
|
51
|
-
const bundleKey = `${packageName}/${localeId}`;
|
|
52
|
-
const loadMessageBundle = loaders.get(bundleKey);
|
|
53
|
-
|
|
54
|
-
if (!bundlePromises.get(bundleKey)) {
|
|
55
|
-
bundlePromises.set(bundleKey, loadMessageBundle(localeId));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return bundlePromises.get(bundleKey);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const _showAssetsWarningOnce = packageName => {
|
|
62
|
-
if (!warningShown.has(packageName)) {
|
|
63
|
-
console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
|
|
64
|
-
` Add \`import "${packageName}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`); /* eslint-disable-line */
|
|
65
|
-
warningShown.add(packageName);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* This method preforms the asynchronous task of fetching the actual text resources. It will fetch
|
|
71
|
-
* each text resource over the network once (even for multiple calls to the same method).
|
|
72
|
-
* It should be fully finished before the i18nBundle class is created in the webcomponents.
|
|
73
|
-
* This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.
|
|
74
|
-
* To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>
|
|
75
|
-
* @param {packageName} packageName the NPM package name
|
|
76
|
-
* @public
|
|
77
|
-
*/
|
|
78
|
-
const fetchI18nBundle = async packageName => {
|
|
79
|
-
const language = getLocale().getLanguage();
|
|
80
|
-
const region = getLocale().getRegion();
|
|
81
|
-
let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
|
|
82
|
-
|
|
83
|
-
while (localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId)) {
|
|
84
|
-
localeId = nextFallbackLocale(localeId);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// use default language unless configured to always fetch it from the network
|
|
88
|
-
const fetchDefaultLanguage = getFetchDefaultLanguage();
|
|
89
|
-
if (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {
|
|
90
|
-
_setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (!_hasLoader(packageName, localeId)) {
|
|
95
|
-
_showAssetsWarningOnce(packageName);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
try {
|
|
100
|
-
const data = await _loadMessageBundleOnce(packageName, localeId);
|
|
101
|
-
_setI18nBundleData(packageName, data);
|
|
102
|
-
} catch (e) {
|
|
103
|
-
if (!reportedErrors.has(e.message)) {
|
|
104
|
-
reportedErrors.add(e.message);
|
|
105
|
-
console.error(e.message); /* eslint-disable-line */
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
|
|
111
|
-
attachLanguageChange(() => {
|
|
112
|
-
const allPackages = [...bundleData.keys()];
|
|
113
|
-
return Promise.all(allPackages.map(fetchI18nBundle));
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
export {
|
|
117
|
-
registerI18nLoader,
|
|
118
|
-
fetchI18nBundle,
|
|
119
|
-
registerI18nBundle,
|
|
120
|
-
getI18nBundleData,
|
|
121
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { getAnimationMode as getConfiguredAnimationMode } from "../InitialConfiguration.js";
|
|
2
|
-
import AnimationMode from "../types/AnimationMode.js";
|
|
3
|
-
|
|
4
|
-
let animationMode;
|
|
5
|
-
|
|
6
|
-
const getAnimationMode = () => {
|
|
7
|
-
if (animationMode === undefined) {
|
|
8
|
-
animationMode = getConfiguredAnimationMode();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return animationMode;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const setAnimationMode = newAnimationMode => {
|
|
15
|
-
if (Object.values(AnimationMode).includes(newAnimationMode)) {
|
|
16
|
-
animationMode = newAnimationMode;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export {
|
|
21
|
-
getAnimationMode,
|
|
22
|
-
setAnimationMode,
|
|
23
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import CalendarType from "../types/CalendarType.js";
|
|
2
|
-
import { getCalendarType as getConfiguredCalendarType } from "../InitialConfiguration.js";
|
|
3
|
-
|
|
4
|
-
let calendarType;
|
|
5
|
-
|
|
6
|
-
const getCalendarType = () => {
|
|
7
|
-
if (calendarType === undefined) {
|
|
8
|
-
calendarType = getConfiguredCalendarType();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
if (CalendarType.isValid(calendarType)) {
|
|
12
|
-
return calendarType;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return CalendarType.Gregorian;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export { getCalendarType }; // eslint-disable-line
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { getFormatSettings } from "../InitialConfiguration.js";
|
|
2
|
-
|
|
3
|
-
let formatSettings;
|
|
4
|
-
|
|
5
|
-
const getFirstDayOfWeek = () => {
|
|
6
|
-
if (formatSettings === undefined) {
|
|
7
|
-
formatSettings = getFormatSettings();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
return formatSettings.firstDayOfWeek;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export { getFirstDayOfWeek }; // eslint-disable-line
|
package/src/config/Language.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getLanguage as getConfiguredLanguage,
|
|
3
|
-
getFetchDefaultLanguage as getConfiguredFetchDefaultLanguage,
|
|
4
|
-
} from "../InitialConfiguration.js";
|
|
5
|
-
import { fireLanguageChange } from "../locale/languageChange.js";
|
|
6
|
-
import { reRenderAllUI5Elements } from "../Render.js";
|
|
7
|
-
|
|
8
|
-
let language;
|
|
9
|
-
let fetchDefaultLanguage;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Returns the currently configured language, or the browser language as a fallback
|
|
13
|
-
* @returns {String}
|
|
14
|
-
*/
|
|
15
|
-
const getLanguage = () => {
|
|
16
|
-
if (language === undefined) {
|
|
17
|
-
language = getConfiguredLanguage();
|
|
18
|
-
}
|
|
19
|
-
return language;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Changes the current language, re-fetches all message bundles, updates all language-aware components
|
|
24
|
-
* and returns a promise that resolves when all rendering is done
|
|
25
|
-
*
|
|
26
|
-
* @param newLanguage
|
|
27
|
-
* @returns {Promise<void>}
|
|
28
|
-
*/
|
|
29
|
-
const setLanguage = async newLanguage => {
|
|
30
|
-
if (language === newLanguage) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
language = newLanguage;
|
|
35
|
-
|
|
36
|
-
await fireLanguageChange(newLanguage);
|
|
37
|
-
await reRenderAllUI5Elements({ languageAware: true });
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Defines if the default language, that is inlined, should be
|
|
42
|
-
* fetched over the network instead of using the inlined one.
|
|
43
|
-
* <b>Note:</b> By default the language will not be fetched.
|
|
44
|
-
*
|
|
45
|
-
* @param {Boolean} fetchDefaultLanguage
|
|
46
|
-
*/
|
|
47
|
-
const setFetchDefaultLanguage = fetchDefaultLang => {
|
|
48
|
-
fetchDefaultLanguage = fetchDefaultLang;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Returns if the default language, that is inlined, should be fetched over the network.
|
|
53
|
-
* @returns {Boolean}
|
|
54
|
-
*/
|
|
55
|
-
const getFetchDefaultLanguage = () => {
|
|
56
|
-
if (fetchDefaultLanguage === undefined) {
|
|
57
|
-
setFetchDefaultLanguage(getConfiguredFetchDefaultLanguage());
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return fetchDefaultLanguage;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export {
|
|
64
|
-
getLanguage,
|
|
65
|
-
setLanguage,
|
|
66
|
-
setFetchDefaultLanguage,
|
|
67
|
-
getFetchDefaultLanguage,
|
|
68
|
-
};
|
package/src/config/NoConflict.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { getNoConflict as getConfiguredNoConflict } from "../InitialConfiguration.js";
|
|
2
|
-
|
|
3
|
-
// Fire these events even with noConflict: true
|
|
4
|
-
const excludeList = [
|
|
5
|
-
"value-changed",
|
|
6
|
-
];
|
|
7
|
-
|
|
8
|
-
const shouldFireOriginalEvent = eventName => {
|
|
9
|
-
return excludeList.includes(eventName);
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
let noConflict;
|
|
13
|
-
|
|
14
|
-
const shouldNotFireOriginalEvent = eventName => {
|
|
15
|
-
const nc = getNoConflict();
|
|
16
|
-
return !(nc.events && nc.events.includes && nc.events.includes(eventName));
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const getNoConflict = () => {
|
|
20
|
-
if (noConflict === undefined) {
|
|
21
|
-
noConflict = getConfiguredNoConflict();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return noConflict;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const skipOriginalEvent = eventName => {
|
|
28
|
-
const nc = getNoConflict();
|
|
29
|
-
|
|
30
|
-
// Always fire these events
|
|
31
|
-
if (shouldFireOriginalEvent(eventName)) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Read from the configuration
|
|
36
|
-
if (nc === true) {
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return !shouldNotFireOriginalEvent(eventName);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const setNoConflict = noConflictData => {
|
|
44
|
-
noConflict = noConflictData;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export {
|
|
48
|
-
getNoConflict,
|
|
49
|
-
setNoConflict,
|
|
50
|
-
skipOriginalEvent,
|
|
51
|
-
};
|