@ui5/webcomponents-base 0.0.0-b4cbc43ba → 0.0.0-b93bc8b37
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 +8 -3
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +614 -0
- package/README.md +53 -7
- package/bundle.esm.js +27 -18
- package/config/wdio.conf.cjs +400 -0
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +6 -12
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +9 -0
- package/dist/Boot.js +57 -34
- 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 -50
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +12 -0
- package/dist/Device.js +159 -816
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -88
- 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 +17 -110
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +27 -0
- package/dist/InitialConfiguration.js +124 -118
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -217
- 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/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 +98 -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 +82 -113
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +52 -62
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +3 -0
- package/dist/StaticArea.js +7 -0
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +87 -68
- 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/{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 +378 -0
- package/dist/UI5Element.js +919 -996
- 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 +125 -32
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +17 -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 +119 -118
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +11 -0
- package/dist/asset-registries/Themes.js +41 -77
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +77 -86
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/Boot.34b7cea0.css +1 -0
- package/dist/assets/Boot.943283a1.js +9 -0
- package/dist/assets/bundle.esm.de818fe7.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 +48 -48
- 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/ThemeRoots.d.ts +4 -0
- package/dist/config/ThemeRoots.js +28 -0
- package/dist/config/ThemeRoots.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 +280 -257
- 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 +159 -176
- 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 +95 -86
- 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.js +11 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +22 -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 +68 -42
- 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 +34 -24
- 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 +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +240 -0
- package/dist/sap/base/assert.js +7 -0
- package/dist/sap/base/security/URLListValidator.js +159 -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 +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 -65
- 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 -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 +15 -0
- package/dist/types/CSSColor.js +18 -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 +33 -14
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +17 -0
- package/dist/types/Float.js +17 -6
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +17 -0
- package/dist/types/Integer.js +17 -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 -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 +27 -15
- 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 +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 +4 -0
- package/dist/util/FocusableElements.js +67 -68
- 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 +22 -35
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +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 +6 -8
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +398 -0
- package/dist/util/getClassCopy.js +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 +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 +2 -0
- package/dist/util/getSingletonElementInstance.js +7 -10
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +12 -0
- 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 +228 -2
- package/lib/generate-asset-parameters/index.js +11 -6
- 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 +21 -10
- 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/renderer/directives/style-map.js +72 -0
- package/tsconfig.json +14 -0
- package/used-modules.txt +10 -0
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -44
- package/dist/SVGIconRegistry.js +0 -73
- package/dist/animations/config.js +0 -5
- package/dist/config/AssetsPath.js +0 -17
- package/dist/features/PropertiesFormatSupport.js +0 -8
- package/dist/isLegacyBrowser.js +0 -3
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/renderer/scopeHTML.js +0 -32
- package/dist/resources/bundle.esm.js +0 -121
- 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 -76
- package/dist/test-resources/pages/AllTestElements.html +0 -39
- 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 -40
- 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 -240
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -73
- 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/createThemePropertiesStyleTag.js +0 -20
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/EffectiveAssetPath.js +0 -27
- 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/parseProperties.js +0 -89
- package/dist/util/setToArray.js +0 -10
- package/package-scripts.js +0 -46
- package/src/AssetRegistry.js +0 -12
- package/src/Boot.js +0 -48
- package/src/CustomElementsRegistry.js +0 -39
- package/src/DOMObserver.js +0 -61
- package/src/Device.js +0 -823
- package/src/EventProvider.js +0 -91
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -118
- package/src/InitialConfiguration.js +0 -150
- package/src/Keys.js +0 -221
- package/src/Render.js +0 -174
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -44
- package/src/SVGIconRegistry.js +0 -73
- package/src/StaticAreaItem.js +0 -80
- package/src/SystemCSSVars.js +0 -31
- package/src/UI5Element.js +0 -1032
- 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 -32
- package/src/asset-registries/LocaleData.js +0 -135
- package/src/asset-registries/Themes.js +0 -88
- package/src/asset-registries/i18n.js +0 -110
- package/src/config/AnimationMode.js +0 -23
- package/src/config/AssetsPath.js +0 -17
- 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 -293
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -182
- package/src/features/OpenUI5Support.js +0 -90
- package/src/features/PropertiesFormatSupport.js +0 -8
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -52
- 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 -31
- package/src/renderer/executeTemplate.js +0 -17
- package/src/renderer/ifDefined.js +0 -21
- package/src/renderer/scopeHTML.js +0 -32
- 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 -20
- 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 -67
- 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/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 -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/EffectiveAssetPath.js +0 -27
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -73
- 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/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/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/parseProperties.js +0 -89
- package/src/util/setToArray.js +0 -10
- package/src/util/whenDOMReady.js +0 -13
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { fetchJsonOnce } from "../util/FetchHelper.js";
|
|
2
|
-
import { attachLanguageChange } from "../locale/languageChange.js";
|
|
3
|
-
import getLocale from "../locale/getLocale.js";
|
|
4
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
5
|
-
import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from "../generated/AssetParameters.js";
|
|
6
|
-
import { getEffectiveAssetPath } from "../util/EffectiveAssetPath.js";
|
|
7
|
-
|
|
8
|
-
const resources = new Map();
|
|
9
|
-
const cldrData = {};
|
|
10
|
-
const cldrUrls = {};
|
|
11
|
-
|
|
12
|
-
// externally configurable mapping function for resolving (localeId -> URL)
|
|
13
|
-
// default implementation - ui5 CDN
|
|
14
|
-
let cldrMappingFn = locale => `https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/${locale}.json`;
|
|
15
|
-
|
|
16
|
-
const M_ISO639_OLD_TO_NEW = {
|
|
17
|
-
"iw": "he",
|
|
18
|
-
"ji": "yi",
|
|
19
|
-
"in": "id",
|
|
20
|
-
"sh": "sr",
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const calcLocale = (language, region, script) => {
|
|
24
|
-
// normalize language and handle special cases
|
|
25
|
-
language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
|
|
26
|
-
// Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
|
|
27
|
-
if (language === "no") {
|
|
28
|
-
language = "nb";
|
|
29
|
-
}
|
|
30
|
-
// Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
|
|
31
|
-
if (language === "zh" && !region) {
|
|
32
|
-
if (script === "Hans") {
|
|
33
|
-
region = "CN";
|
|
34
|
-
} else if (script === "Hant") {
|
|
35
|
-
region = "TW";
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// try language + region
|
|
40
|
-
let localeId = `${language}_${region}`;
|
|
41
|
-
if (!SUPPORTED_LOCALES.includes(localeId)) {
|
|
42
|
-
// fallback to language only
|
|
43
|
-
localeId = language;
|
|
44
|
-
}
|
|
45
|
-
if (!SUPPORTED_LOCALES.includes(localeId)) {
|
|
46
|
-
// fallback to english
|
|
47
|
-
localeId = DEFAULT_LOCALE;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return localeId;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const resolveMissingMappings = () => {
|
|
55
|
-
if (!cldrMappingFn) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const missingLocales = SUPPORTED_LOCALES.filter(locale => !cldrData[locale] && !cldrUrls[locale]);
|
|
60
|
-
missingLocales.forEach(locale => {
|
|
61
|
-
cldrUrls[locale] = cldrMappingFn(locale);
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const registerModuleContent = (moduleName, content) => {
|
|
66
|
-
resources.set(moduleName, content);
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const getModuleContent = moduleName => {
|
|
70
|
-
const moduleContent = resources.get(moduleName);
|
|
71
|
-
if (moduleContent) {
|
|
72
|
-
return moduleContent;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const missingModule = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
|
|
76
|
-
if (missingModule) {
|
|
77
|
-
throw new Error(`CLDR data for locale ${missingModule[1]} is not loaded!`);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
throw new Error(`Unknown module ${moduleName}`);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
const fetchCldr = async (language, region, script) => {
|
|
84
|
-
resolveMissingMappings();
|
|
85
|
-
const localeId = calcLocale(language, region, script);
|
|
86
|
-
|
|
87
|
-
let cldrObj = cldrData[localeId];
|
|
88
|
-
const url = cldrUrls[localeId];
|
|
89
|
-
|
|
90
|
-
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
91
|
-
if (!cldrObj && OpenUI5Support) {
|
|
92
|
-
cldrObj = OpenUI5Support.getLocaleDataObject();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (cldrObj) {
|
|
96
|
-
// inlined from build or fetched independently
|
|
97
|
-
registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrObj);
|
|
98
|
-
} else if (url) {
|
|
99
|
-
// fetch it
|
|
100
|
-
const cldrContent = await fetchJsonOnce(getEffectiveAssetPath(url));
|
|
101
|
-
registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrContent);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
const registerCldr = (locale, url) => {
|
|
106
|
-
cldrUrls[locale] = url;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
const setCldrData = (locale, data) => {
|
|
110
|
-
cldrData[locale] = data;
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
const getCldrData = locale => {
|
|
114
|
-
return cldrData[locale];
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
const _registerMappingFunction = mappingFn => {
|
|
118
|
-
cldrMappingFn = mappingFn;
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
// When the language changes dynamically (the user calls setLanguage),
|
|
122
|
-
// re-fetch the required CDRD data.
|
|
123
|
-
attachLanguageChange(() => {
|
|
124
|
-
const locale = getLocale();
|
|
125
|
-
return fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
export {
|
|
129
|
-
fetchCldr,
|
|
130
|
-
registerCldr,
|
|
131
|
-
setCldrData,
|
|
132
|
-
getCldrData,
|
|
133
|
-
getModuleContent,
|
|
134
|
-
_registerMappingFunction,
|
|
135
|
-
};
|
|
@@ -1,88 +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
|
-
import { getEffectiveAssetPath } from "../util/EffectiveAssetPath.js";
|
|
5
|
-
|
|
6
|
-
const themeURLs = new Map();
|
|
7
|
-
const themeStyles = new Map();
|
|
8
|
-
const registeredPackages = new Set();
|
|
9
|
-
const registeredThemes = new Set();
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Used to provide CSS Vars for a specific theme for a specific package.
|
|
13
|
-
* 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.
|
|
14
|
-
* This URL must point to a JSON file, containing a "_" property.
|
|
15
|
-
*
|
|
16
|
-
* Example usage:
|
|
17
|
-
* 1) Pass the CSS Vars as a string directly.
|
|
18
|
-
* registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
|
|
19
|
-
* 2) Pass the CSS Vars as an object directly
|
|
20
|
-
* registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
|
|
21
|
-
* 3) Pass a URL to a CSS file, containing the CSS Vars. Will be fetched on demand, not upon registration.
|
|
22
|
-
* registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.css");
|
|
23
|
-
* 4) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
|
|
24
|
-
* registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
|
|
25
|
-
*
|
|
26
|
-
* @public
|
|
27
|
-
* @param packageName - the NPM package for which CSS Vars are registered
|
|
28
|
-
* @param themeName - the theme which the CSS Vars implement
|
|
29
|
-
* @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
|
|
30
|
-
*/
|
|
31
|
-
const registerThemeProperties = (packageName, themeName, style) => {
|
|
32
|
-
if (style._) {
|
|
33
|
-
// JSON object like ({"_": ":root"})
|
|
34
|
-
themeStyles.set(`${packageName}_${themeName}`, style._);
|
|
35
|
-
} else if (style.includes(":root") || style === "") {
|
|
36
|
-
// pure string, including empty string
|
|
37
|
-
themeStyles.set(`${packageName}_${themeName}`, style);
|
|
38
|
-
} else {
|
|
39
|
-
// url for fetching
|
|
40
|
-
themeURLs.set(`${packageName}_${themeName}`, style);
|
|
41
|
-
}
|
|
42
|
-
registeredPackages.add(packageName);
|
|
43
|
-
registeredThemes.add(themeName);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const getThemeProperties = async (packageName, themeName) => {
|
|
47
|
-
const style = themeStyles.get(`${packageName}_${themeName}`);
|
|
48
|
-
if (style !== undefined) { // it's valid for style to be an empty string
|
|
49
|
-
return style;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (!registeredThemes.has(themeName)) {
|
|
53
|
-
const regThemesStr = [...registeredThemes.values()].join(", ");
|
|
54
|
-
console.warn(`You have requested a non-registered theme - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
|
|
55
|
-
return themeStyles.get(`${packageName}_${DEFAULT_THEME}`);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const data = await fetchThemeProperties(packageName, themeName);
|
|
59
|
-
const themeProps = data._ || data;
|
|
60
|
-
|
|
61
|
-
themeStyles.set(`${packageName}_${themeName}`, themeProps);
|
|
62
|
-
return themeProps;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const fetchThemeProperties = async (packageName, themeName) => {
|
|
66
|
-
const url = themeURLs.get(`${packageName}_${themeName}`);
|
|
67
|
-
|
|
68
|
-
if (!url) {
|
|
69
|
-
throw new Error(`You have to import the ${packageName}/dist/Assets.js module to switch to additional themes`);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return getFileExtension(url) === ".css" ? fetchTextOnce(url) : fetchJsonOnce(getEffectiveAssetPath(url));
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
const getRegisteredPackages = () => {
|
|
76
|
-
return registeredPackages;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
const isThemeRegistered = theme => {
|
|
80
|
-
return registeredThemes.has(theme);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
export {
|
|
84
|
-
registerThemeProperties,
|
|
85
|
-
getThemeProperties,
|
|
86
|
-
getRegisteredPackages,
|
|
87
|
-
isThemeRegistered,
|
|
88
|
-
};
|
|
@@ -1,110 +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
|
-
import { getEffectiveAssetPath } from "../util/EffectiveAssetPath.js";
|
|
9
|
-
import { getUseDefaultLanguage } from "../config/Language.js";
|
|
10
|
-
|
|
11
|
-
const bundleData = new Map();
|
|
12
|
-
const bundleURLs = new Map();
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Sets a map with texts and ID the are related to.
|
|
16
|
-
* @param {string} packageName package ID that the i18n bundle will be related to
|
|
17
|
-
* @param {Object} data an object with string locales as keys and text translataions as values
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
const setI18nBundleData = (packageName, data) => {
|
|
21
|
-
bundleData.set(packageName, data);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const getI18nBundleData = packageName => {
|
|
25
|
-
return bundleData.get(packageName);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Registers a map of locale/url information, to be used by the <code>fetchI18nBundle</code> method.
|
|
30
|
-
* Note: In order to be able to register ".properties" files, you must import the following module:
|
|
31
|
-
* import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";
|
|
32
|
-
*
|
|
33
|
-
* @param {string} packageName package ID that the i18n bundle will be related to
|
|
34
|
-
* @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", ...}
|
|
35
|
-
*
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
const registerI18nBundle = (packageName, bundle) => {
|
|
39
|
-
const oldBundle = bundleURLs.get(packageName) || {};
|
|
40
|
-
bundleURLs.set(packageName, Object.assign({}, oldBundle, bundle));
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* This method preforms the asynchronous task of fetching the actual text resources. It will fetch
|
|
45
|
-
* each text resource over the network once (even for multiple calls to the same method).
|
|
46
|
-
* It should be fully finished before the i18nBundle class is created in the webcomponents.
|
|
47
|
-
* This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.
|
|
48
|
-
* To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>
|
|
49
|
-
* @param {packageName} packageName the NPM package name
|
|
50
|
-
* @public
|
|
51
|
-
*/
|
|
52
|
-
const fetchI18nBundle = async packageName => {
|
|
53
|
-
const bundlesForPackage = bundleURLs.get(packageName);
|
|
54
|
-
|
|
55
|
-
if (!bundlesForPackage) {
|
|
56
|
-
console.warn(`Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
|
|
57
|
-
` You need to import ${packageName}/dist/Assets.js with a build tool that supports JSON imports.`); /* eslint-disable-line */
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const language = getLocale().getLanguage();
|
|
62
|
-
const region = getLocale().getRegion();
|
|
63
|
-
const useDefaultLanguage = getUseDefaultLanguage();
|
|
64
|
-
let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
|
|
65
|
-
|
|
66
|
-
while (localeId !== DEFAULT_LANGUAGE && !bundlesForPackage[localeId]) {
|
|
67
|
-
localeId = nextFallbackLocale(localeId);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (useDefaultLanguage && localeId === DEFAULT_LANGUAGE) {
|
|
71
|
-
setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const bundleURL = bundlesForPackage[localeId];
|
|
76
|
-
|
|
77
|
-
if (typeof bundleURL === "object") { // inlined from build
|
|
78
|
-
setI18nBundleData(packageName, bundleURL);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const content = await fetchTextOnce(getEffectiveAssetPath(bundleURL));
|
|
83
|
-
let parser;
|
|
84
|
-
if (content.startsWith("{")) {
|
|
85
|
-
parser = JSON.parse;
|
|
86
|
-
} else {
|
|
87
|
-
const PropertiesFormatSupport = getFeature("PropertiesFormatSupport");
|
|
88
|
-
if (!PropertiesFormatSupport) {
|
|
89
|
-
throw new Error(`In order to support .properties files, please: import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";`);
|
|
90
|
-
}
|
|
91
|
-
parser = PropertiesFormatSupport.parser;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const data = parser(content);
|
|
95
|
-
|
|
96
|
-
setI18nBundleData(packageName, data);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
|
|
100
|
-
attachLanguageChange(() => {
|
|
101
|
-
const allPackages = [...bundleData.keys()];
|
|
102
|
-
return Promise.all(allPackages.map(fetchI18nBundle));
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
export {
|
|
106
|
-
fetchI18nBundle,
|
|
107
|
-
registerI18nBundle,
|
|
108
|
-
setI18nBundleData,
|
|
109
|
-
getI18nBundleData,
|
|
110
|
-
};
|
|
@@ -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
|
-
};
|
package/src/config/AssetsPath.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { getAssetsPath as getConfiguredAssetsPath } from "../InitialConfiguration.js";
|
|
2
|
-
|
|
3
|
-
let assetsPath;
|
|
4
|
-
|
|
5
|
-
const getAssetsPath = () => {
|
|
6
|
-
if (assetsPath === undefined) {
|
|
7
|
-
assetsPath = getConfiguredAssetsPath();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
return assetsPath;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const setAssetsPath = newAssetsPath => {
|
|
14
|
-
assetsPath = newAssetsPath;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { getAssetsPath, setAssetsPath }; // eslint-disable-line
|
|
@@ -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
|
-
getUseDefaultLanguage as getConfiguredUseDefaultLanguage,
|
|
4
|
-
} from "../InitialConfiguration.js";
|
|
5
|
-
import { fireLanguageChange } from "../locale/languageChange.js";
|
|
6
|
-
import { reRenderAllUI5Elements } from "../Render.js";
|
|
7
|
-
|
|
8
|
-
let language;
|
|
9
|
-
let useDefaultLanguage;
|
|
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 used,
|
|
42
|
-
* instead of fetching the language over the network.
|
|
43
|
-
* <b>Note:</b> By default the language will be fetched.
|
|
44
|
-
*
|
|
45
|
-
* @param {Boolean} useDefaultLanguage
|
|
46
|
-
*/
|
|
47
|
-
const setUseDefaultLanguage = useDefaultLang => {
|
|
48
|
-
useDefaultLanguage = useDefaultLang;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Returns if the default language, that is inlined, should be used.
|
|
53
|
-
* @returns {Boolean}
|
|
54
|
-
*/
|
|
55
|
-
const getUseDefaultLanguage = () => {
|
|
56
|
-
if (useDefaultLanguage === undefined) {
|
|
57
|
-
setUseDefaultLanguage(getConfiguredUseDefaultLanguage());
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return useDefaultLanguage;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export {
|
|
64
|
-
getLanguage,
|
|
65
|
-
setLanguage,
|
|
66
|
-
setUseDefaultLanguage,
|
|
67
|
-
getUseDefaultLanguage,
|
|
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
|
-
};
|
package/src/config/RTL.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { getRTL as getConfiguredRTL } from "../InitialConfiguration.js";
|
|
2
|
-
import { getLanguage } from "./Language.js";
|
|
3
|
-
import getDesigntimePropertyAsArray from "../util/getDesigntimePropertyAsArray.js";
|
|
4
|
-
import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
|
|
5
|
-
|
|
6
|
-
const M_ISO639_OLD_TO_NEW = {
|
|
7
|
-
"iw": "he",
|
|
8
|
-
"ji": "yi",
|
|
9
|
-
"in": "id",
|
|
10
|
-
"sh": "sr",
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
|
|
14
|
-
|
|
15
|
-
const impliesRTL = language => {
|
|
16
|
-
language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
|
|
17
|
-
|
|
18
|
-
return A_RTL_LOCALES.indexOf(language) >= 0;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const getRTL = () => {
|
|
22
|
-
const configurationRTL = getConfiguredRTL();
|
|
23
|
-
|
|
24
|
-
if (configurationRTL !== null) {
|
|
25
|
-
return !!configurationRTL;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return impliesRTL(getLanguage() || detectNavigatorLanguage());
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { getRTL }; // eslint-disable-line
|
package/src/config/Theme.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
|
|
2
|
-
import applyTheme from "../theming/applyTheme.js";
|
|
3
|
-
|
|
4
|
-
let theme;
|
|
5
|
-
|
|
6
|
-
const getTheme = () => {
|
|
7
|
-
if (theme === undefined) {
|
|
8
|
-
theme = getConfiguredTheme();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return theme;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const setTheme = async newTheme => {
|
|
15
|
-
if (theme === newTheme) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
theme = newTheme;
|
|
20
|
-
|
|
21
|
-
// Update CSS Custom Properties
|
|
22
|
-
await applyTheme(theme);
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
getTheme,
|
|
27
|
-
setTheme,
|
|
28
|
-
};
|