@ui5/webcomponents-base 0.0.0-11d529e8a → 0.0.0-16e630735
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 -5
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +558 -0
- package/README.md +29 -8
- package/bundle.esm.js +18 -13
- 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 +150 -86
- 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 +17 -110
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +27 -0
- package/dist/InitialConfiguration.js +120 -119
- 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 -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 +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 +85 -93
- 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 +918 -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 -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 +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.36045cec.js +9 -0
- package/dist/assets/bundle.esm.0c6464c8.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/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 +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.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 +67 -45
- 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 +32 -23
- 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 +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 -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 +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 +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 +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 +398 -0
- package/dist/util/getClassCopy.js +7 -7
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +4 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +2 -3
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +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 +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 -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 +11 -11
- 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 +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 -35
- 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 -20
- 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 -102
- package/src/EventProvider.js +0 -85
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -118
- package/src/InitialConfiguration.js +0 -155
- package/src/Keys.js +0 -248
- 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 -31
- 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 -150
- 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 -56
- 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 -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/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
package/dist/sap/base/Log.js
CHANGED
|
@@ -10,7 +10,7 @@ Log.Level = {
|
|
|
10
10
|
TRACE: 5,
|
|
11
11
|
ALL: 5 + 1
|
|
12
12
|
};
|
|
13
|
-
var
|
|
13
|
+
var aLog = [], mMaxLevel = { '': Log.Level.ERROR }, iLogEntriesLimit = 3000, oListener = null, bLogSupportInfo = false;
|
|
14
14
|
function pad0(i, w) {
|
|
15
15
|
return ('000' + String(i)).slice(-w);
|
|
16
16
|
}
|
|
@@ -72,26 +72,26 @@ function getLogEntryListenerInstance() {
|
|
|
72
72
|
}
|
|
73
73
|
return oListener;
|
|
74
74
|
}
|
|
75
|
-
Log.fatal = function (sMessage,
|
|
76
|
-
log(Log.Level.FATAL, sMessage,
|
|
75
|
+
Log.fatal = function (sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
76
|
+
log(Log.Level.FATAL, sMessage, vDetails, sComponent, fnSupportInfo);
|
|
77
77
|
};
|
|
78
|
-
Log.error = function (sMessage,
|
|
79
|
-
log(Log.Level.ERROR, sMessage,
|
|
78
|
+
Log.error = function (sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
79
|
+
log(Log.Level.ERROR, sMessage, vDetails, sComponent, fnSupportInfo);
|
|
80
80
|
};
|
|
81
|
-
Log.warning = function (sMessage,
|
|
82
|
-
log(Log.Level.WARNING, sMessage,
|
|
81
|
+
Log.warning = function (sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
82
|
+
log(Log.Level.WARNING, sMessage, vDetails, sComponent, fnSupportInfo);
|
|
83
83
|
};
|
|
84
|
-
Log.info = function (sMessage,
|
|
85
|
-
log(Log.Level.INFO, sMessage,
|
|
84
|
+
Log.info = function (sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
85
|
+
log(Log.Level.INFO, sMessage, vDetails, sComponent, fnSupportInfo);
|
|
86
86
|
};
|
|
87
|
-
Log.debug = function (sMessage,
|
|
88
|
-
log(Log.Level.DEBUG, sMessage,
|
|
87
|
+
Log.debug = function (sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
88
|
+
log(Log.Level.DEBUG, sMessage, vDetails, sComponent, fnSupportInfo);
|
|
89
89
|
};
|
|
90
|
-
Log.trace = function (sMessage,
|
|
91
|
-
log(Log.Level.TRACE, sMessage,
|
|
90
|
+
Log.trace = function (sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
91
|
+
log(Log.Level.TRACE, sMessage, vDetails, sComponent, fnSupportInfo);
|
|
92
92
|
};
|
|
93
93
|
Log.setLevel = function (iLogLevel, sComponent, _bDefault) {
|
|
94
|
-
sComponent = sComponent ||
|
|
94
|
+
sComponent = sComponent || '';
|
|
95
95
|
if (!_bDefault || mMaxLevel[sComponent] == null) {
|
|
96
96
|
mMaxLevel[sComponent] = iLogLevel;
|
|
97
97
|
var sLogLevel;
|
|
@@ -104,24 +104,23 @@ Log.setLevel = function (iLogLevel, sComponent, _bDefault) {
|
|
|
104
104
|
}
|
|
105
105
|
};
|
|
106
106
|
Log.getLevel = function (sComponent) {
|
|
107
|
-
return level(sComponent
|
|
107
|
+
return level(sComponent);
|
|
108
108
|
};
|
|
109
109
|
Log.isLoggable = function (iLevel, sComponent) {
|
|
110
|
-
return (iLevel == null ? Log.Level.DEBUG : iLevel) <= level(sComponent
|
|
110
|
+
return (iLevel == null ? Log.Level.DEBUG : iLevel) <= level(sComponent);
|
|
111
111
|
};
|
|
112
112
|
Log.logSupportInfo = function (bEnabled) {
|
|
113
113
|
bLogSupportInfo = bEnabled;
|
|
114
114
|
};
|
|
115
|
-
function log(iLevel, sMessage,
|
|
116
|
-
if (!fnSupportInfo && !sComponent && typeof
|
|
117
|
-
fnSupportInfo =
|
|
118
|
-
|
|
115
|
+
function log(iLevel, sMessage, vDetails, sComponent, fnSupportInfo) {
|
|
116
|
+
if (!fnSupportInfo && !sComponent && typeof vDetails === 'function') {
|
|
117
|
+
fnSupportInfo = vDetails;
|
|
118
|
+
vDetails = '';
|
|
119
119
|
}
|
|
120
120
|
if (!fnSupportInfo && typeof sComponent === 'function') {
|
|
121
121
|
fnSupportInfo = sComponent;
|
|
122
122
|
sComponent = '';
|
|
123
123
|
}
|
|
124
|
-
sComponent = sComponent || sDefaultComponent;
|
|
125
124
|
if (iLevel <= level(sComponent)) {
|
|
126
125
|
var fNow = now(), oNow = new Date(fNow), iMicroSeconds = Math.floor((fNow - Math.floor(fNow)) * 1000), oLogEntry = {
|
|
127
126
|
time: pad0(oNow.getHours(), 2) + ':' + pad0(oNow.getMinutes(), 2) + ':' + pad0(oNow.getSeconds(), 2) + '.' + pad0(oNow.getMilliseconds(), 3) + pad0(iMicroSeconds, 3),
|
|
@@ -129,7 +128,7 @@ function log(iLevel, sMessage, sDetails, sComponent, fnSupportInfo) {
|
|
|
129
128
|
timestamp: fNow,
|
|
130
129
|
level: iLevel,
|
|
131
130
|
message: String(sMessage || ''),
|
|
132
|
-
details: String(
|
|
131
|
+
details: String(vDetails || ''),
|
|
133
132
|
component: String(sComponent || '')
|
|
134
133
|
};
|
|
135
134
|
if (bLogSupportInfo && typeof fnSupportInfo === 'function') {
|
|
@@ -145,27 +144,27 @@ function log(iLevel, sMessage, sDetails, sComponent, fnSupportInfo) {
|
|
|
145
144
|
oListener.onLogEntry(oLogEntry);
|
|
146
145
|
}
|
|
147
146
|
if (console) {
|
|
148
|
-
var isDetailsError =
|
|
147
|
+
var isDetailsError = vDetails instanceof Error, logText = oLogEntry.date + ' ' + oLogEntry.time + ' ' + oLogEntry.message + ' - ' + oLogEntry.details + ' ' + oLogEntry.component;
|
|
149
148
|
switch (iLevel) {
|
|
150
149
|
case Log.Level.FATAL:
|
|
151
150
|
case Log.Level.ERROR:
|
|
152
|
-
isDetailsError ? console.error(logText, '\n',
|
|
151
|
+
isDetailsError ? console.error(logText, '\n', vDetails) : console.error(logText);
|
|
153
152
|
break;
|
|
154
153
|
case Log.Level.WARNING:
|
|
155
|
-
isDetailsError ? console.warn(logText, '\n',
|
|
154
|
+
isDetailsError ? console.warn(logText, '\n', vDetails) : console.warn(logText);
|
|
156
155
|
break;
|
|
157
156
|
case Log.Level.INFO:
|
|
158
157
|
if (console.info) {
|
|
159
|
-
isDetailsError ? console.info(logText, '\n',
|
|
158
|
+
isDetailsError ? console.info(logText, '\n', vDetails) : console.info(logText);
|
|
160
159
|
} else {
|
|
161
|
-
isDetailsError ? console.log(logText, '\n',
|
|
160
|
+
isDetailsError ? console.log(logText, '\n', vDetails) : console.log(logText);
|
|
162
161
|
}
|
|
163
162
|
break;
|
|
164
163
|
case Log.Level.DEBUG:
|
|
165
|
-
isDetailsError ? console.debug(logText, '\n',
|
|
164
|
+
isDetailsError ? console.debug(logText, '\n', vDetails) : console.debug(logText);
|
|
166
165
|
break;
|
|
167
166
|
case Log.Level.TRACE:
|
|
168
|
-
isDetailsError ? console.trace(logText, '\n',
|
|
167
|
+
isDetailsError ? console.trace(logText, '\n', vDetails) : console.trace(logText);
|
|
169
168
|
break;
|
|
170
169
|
}
|
|
171
170
|
if (console.info && oLogEntry.supportInfo) {
|
package/dist/sap/base/assert.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import Log from './Log.js';
|
|
2
1
|
var fnAssert = function (bResult, vMessage) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
if (!bResult) {
|
|
3
|
+
var sMessage = typeof vMessage === "function" ? vMessage() : vMessage;
|
|
4
|
+
console.assert(bResult, sMessage);
|
|
5
|
+
}
|
|
7
6
|
};
|
|
8
|
-
export default fnAssert;
|
|
7
|
+
export default fnAssert;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var rBasicUrl = /^(?:([^:\/?#]+):)?((
|
|
1
|
+
var rBasicUrl = /^(?:([^:\/?#]+):)?((?:[\/\\]{2,}((?:\[[^\]]+\]|[^\/?#:]+))(?::([0-9]+))?)?([^?#]*))(?:\?([^#]*))?(?:#(.*))?$/;
|
|
2
2
|
var rCheckPath = /^([a-z0-9-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*$/i;
|
|
3
3
|
var rCheckQuery = /^([a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9a-f]{2})*$/i;
|
|
4
4
|
var rCheckFragment = rCheckQuery;
|
|
@@ -8,6 +8,8 @@ var rCheckValidIPv4 = /^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3
|
|
|
8
8
|
var rCheckIPv6 = /^\[[^\]]+\]$/;
|
|
9
9
|
var rCheckValidIPv6 = /^\[(((([0-9a-f]{1,4}:){6}|(::([0-9a-f]{1,4}:){5})|(([0-9a-f]{1,4})?::([0-9a-f]{1,4}:){4})|((([0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::([0-9a-f]{1,4}:){3})|((([0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::([0-9a-f]{1,4}:){2})|((([0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:)|((([0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::))(([0-9a-f]{1,4}:[0-9a-f]{1,4})|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])))|((([0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4})|((([0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::))\]$/i;
|
|
10
10
|
var rCheckHostName = /^([a-z0-9]([a-z0-9\-]*[a-z0-9])?\.)*[a-z0-9]([a-z0-9\-]*[a-z0-9])?$/i;
|
|
11
|
+
var rSpecialSchemeURLs = /^((?:ftp|https?|wss?):)([\s\S]+)$/;
|
|
12
|
+
var rCheckWhitespaces = /[\u0009\u000A\u000D]/;
|
|
11
13
|
var oURLListValidator = {};
|
|
12
14
|
oURLListValidator._createEntry = function (protocol, host, port, path) {
|
|
13
15
|
return new URLListValidatorEntry(protocol, host, port, path);
|
|
@@ -47,7 +49,16 @@ oURLListValidator.entries = function () {
|
|
|
47
49
|
return aAllowedEntries.slice();
|
|
48
50
|
};
|
|
49
51
|
oURLListValidator.validate = function (sUrl) {
|
|
50
|
-
|
|
52
|
+
if (typeof sUrl === "string") {
|
|
53
|
+
if (rCheckWhitespaces.test(sUrl)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
var result = rSpecialSchemeURLs.exec(sUrl);
|
|
58
|
+
if (result && !(/^[\/\\]{2}/).test(result[2])) {
|
|
59
|
+
sUrl = result[1] + "//" + result[2];
|
|
60
|
+
}
|
|
61
|
+
result = rBasicUrl.exec(sUrl);
|
|
51
62
|
if (!result) {
|
|
52
63
|
return false;
|
|
53
64
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import toHex from '../strings/toHex.js';
|
|
2
|
+
var rCSS = /[\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xff\u2028\u2029][0-9A-Fa-f]?/g;
|
|
3
|
+
var fnCSS = function (sChar) {
|
|
4
|
+
var iChar = sChar.charCodeAt(0);
|
|
5
|
+
if (sChar.length === 1) {
|
|
6
|
+
return '\\' + toHex(iChar);
|
|
7
|
+
} else {
|
|
8
|
+
return '\\' + toHex(iChar) + ' ' + sChar.substr(1);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var fnEncodeCSS = function (sString) {
|
|
12
|
+
return sString.replace(rCSS, fnCSS);
|
|
13
|
+
};
|
|
14
|
+
export default fnEncodeCSS;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import toHex from '../strings/toHex.js';
|
|
2
|
+
var rHtml = /[\x00-\x2b\x2f\x3a-\x40\x5b-\x5e\x60\x7b-\xff\u2028\u2029]/g, rHtmlReplace = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/, mHtmlLookup = {
|
|
3
|
+
'<': '<',
|
|
4
|
+
'>': '>',
|
|
5
|
+
'&': '&',
|
|
6
|
+
'"': '"'
|
|
7
|
+
};
|
|
8
|
+
var fnHtml = function (sChar) {
|
|
9
|
+
var sEncoded = mHtmlLookup[sChar];
|
|
10
|
+
if (!sEncoded) {
|
|
11
|
+
if (rHtmlReplace.test(sChar)) {
|
|
12
|
+
sEncoded = '�';
|
|
13
|
+
} else {
|
|
14
|
+
sEncoded = '&#x' + toHex(sChar.charCodeAt(0)) + ';';
|
|
15
|
+
}
|
|
16
|
+
mHtmlLookup[sChar] = sEncoded;
|
|
17
|
+
}
|
|
18
|
+
return sEncoded;
|
|
19
|
+
};
|
|
20
|
+
var fnEncodeXML = function (sString) {
|
|
21
|
+
return sString.replace(rHtml, fnHtml);
|
|
22
|
+
};
|
|
23
|
+
export default fnEncodeXML;
|
|
@@ -1989,7 +1989,7 @@ if (typeof window !== 'undefined') {
|
|
|
1989
1989
|
}
|
|
1990
1990
|
/*!
|
|
1991
1991
|
* OpenUI5
|
|
1992
|
-
* (c) Copyright 2009-
|
|
1992
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
1993
1993
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
1994
1994
|
*/
|
|
1995
1995
|
// Based on coding from the HTML4 Sanitizer by Google Inc.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
type CustomCSSChangeCallback = (tag: string) => void;
|
|
2
|
+
declare const attachCustomCSSChange: (listener: CustomCSSChangeCallback) => void;
|
|
3
|
+
declare const detachCustomCSSChange: (listener: CustomCSSChangeCallback) => void;
|
|
4
|
+
declare const addCustomCSS: (tag: string, css: string) => Promise<void>;
|
|
5
|
+
declare const getCustomCSS: (tag: string) => string;
|
|
6
|
+
export { addCustomCSS, getCustomCSS, attachCustomCSSChange, detachCustomCSSChange, };
|
|
@@ -1,40 +1,48 @@
|
|
|
1
1
|
import { reRenderAllUI5Elements } from "../Render.js";
|
|
2
|
+
import getSharedResource from "../getSharedResource.js";
|
|
2
3
|
import EventProvider from "../EventProvider.js";
|
|
3
|
-
|
|
4
|
-
const eventProvider = new EventProvider();
|
|
4
|
+
const getEventProvider = () => getSharedResource("CustomStyle.eventProvider", new EventProvider());
|
|
5
5
|
const CUSTOM_CSS_CHANGE = "CustomCSSChange";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
6
|
+
const attachCustomCSSChange = (listener) => {
|
|
7
|
+
getEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
9
8
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
9
|
+
const detachCustomCSSChange = (listener) => {
|
|
10
|
+
getEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
13
11
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
|
|
12
|
+
const fireCustomCSSChange = (tag) => {
|
|
13
|
+
return getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);
|
|
17
14
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
const getCustomCSSFor = () => getSharedResource("CustomStyle.customCSSFor", {});
|
|
16
|
+
// Listen to the eventProvider, in case other copies of this CustomStyle module fire this
|
|
17
|
+
// event, and this copy would therefore need to reRender the ui5 webcomponents; but
|
|
18
|
+
// don't reRender if it was this copy that fired the event to begin with.
|
|
19
|
+
let skipRerender;
|
|
20
|
+
attachCustomCSSChange((tag) => {
|
|
21
|
+
if (!skipRerender) {
|
|
22
|
+
reRenderAllUI5Elements({ tag });
|
|
23
|
+
}
|
|
24
|
+
});
|
|
21
25
|
const addCustomCSS = (tag, css) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
const customCSSFor = getCustomCSSFor();
|
|
27
|
+
if (!customCSSFor[tag]) {
|
|
28
|
+
customCSSFor[tag] = [];
|
|
29
|
+
}
|
|
30
|
+
customCSSFor[tag].push(css);
|
|
31
|
+
skipRerender = true;
|
|
32
|
+
try {
|
|
33
|
+
// The event is fired and the attached event listeners are all called synchronously
|
|
34
|
+
// The skipRerender flag will be used to avoid calling reRenderAllUI5Elements twice when it is this copy
|
|
35
|
+
// of CustomStyle.js which is firing the `CustomCSSChange` event.
|
|
36
|
+
fireCustomCSSChange(tag);
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
skipRerender = false;
|
|
40
|
+
}
|
|
41
|
+
return reRenderAllUI5Elements({ tag });
|
|
29
42
|
};
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export {
|
|
36
|
-
addCustomCSS,
|
|
37
|
-
getCustomCSS,
|
|
38
|
-
attachCustomCSSChange,
|
|
39
|
-
detachCustomCSSChange,
|
|
43
|
+
const getCustomCSS = (tag) => {
|
|
44
|
+
const customCSSFor = getCustomCSSFor();
|
|
45
|
+
return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
|
|
40
46
|
};
|
|
47
|
+
export { addCustomCSS, getCustomCSS, attachCustomCSSChange, detachCustomCSSChange, };
|
|
48
|
+
//# sourceMappingURL=CustomStyle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomStyle.js","sourceRoot":"","sources":["../../src/theming/CustomStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,2BAA2B,EAAE,IAAI,aAAa,EAAgB,CAAC,CAAC;AACjH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,gBAAgB,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,gBAAgB,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,OAAO,gBAAgB,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAgC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAE/G,yFAAyF;AACzF,mFAAmF;AACnF,yEAAyE;AACzE,IAAI,YAAqB,CAAC;AAC1B,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;IACrC,IAAI,CAAC,YAAY,EAAE;QAClB,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KAChC;AACF,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;KACvB;IACD,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,YAAY,GAAG,IAAI,CAAC;IACpB,IAAI;QACH,mFAAmF;QACnF,wGAAwG;QACxG,iEAAiE;QACjE,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACzB;YAAS;QACT,YAAY,GAAG,KAAK,CAAC;KACrB;IAED,OAAO,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACpC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,GACrB,CAAC","sourcesContent":["import { reRenderAllUI5Elements } from \"../Render.js\";\nimport getSharedResource from \"../getSharedResource.js\";\nimport EventProvider from \"../EventProvider.js\";\n\ntype CustomCSSChangeCallback = (tag: string) => void;\n\nconst getEventProvider = () => getSharedResource(\"CustomStyle.eventProvider\", new EventProvider<string, void>());\nconst CUSTOM_CSS_CHANGE = \"CustomCSSChange\";\n\nconst attachCustomCSSChange = (listener: CustomCSSChangeCallback) => {\n\tgetEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);\n};\n\nconst detachCustomCSSChange = (listener: CustomCSSChangeCallback) => {\n\tgetEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);\n};\n\nconst fireCustomCSSChange = (tag: string) => {\n\treturn getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);\n};\n\nconst getCustomCSSFor = () => getSharedResource<Record<string, Array<string>>>(\"CustomStyle.customCSSFor\", {});\n\n// Listen to the eventProvider, in case other copies of this CustomStyle module fire this\n// event, and this copy would therefore need to reRender the ui5 webcomponents; but\n// don't reRender if it was this copy that fired the event to begin with.\nlet skipRerender: boolean;\nattachCustomCSSChange((tag: string) => {\n\tif (!skipRerender) {\n\t\treRenderAllUI5Elements({ tag });\n\t}\n});\n\nconst addCustomCSS = (tag: string, css: string) => {\n\tconst customCSSFor = getCustomCSSFor();\n\tif (!customCSSFor[tag]) {\n\t\tcustomCSSFor[tag] = [];\n\t}\n\tcustomCSSFor[tag].push(css);\n\n\tskipRerender = true;\n\ttry {\n\t\t// The event is fired and the attached event listeners are all called synchronously\n\t\t// The skipRerender flag will be used to avoid calling reRenderAllUI5Elements twice when it is this copy\n\t\t// of CustomStyle.js which is firing the `CustomCSSChange` event.\n\t\tfireCustomCSSChange(tag);\n\t} finally {\n\t\tskipRerender = false;\n\t}\n\n\treturn reRenderAllUI5Elements({ tag });\n};\n\nconst getCustomCSS = (tag: string) => {\n\tconst customCSSFor = getCustomCSSFor();\n\treturn customCSSFor[tag] ? customCSSFor[tag].join(\"\") : \"\";\n};\n\nexport {\n\taddCustomCSS,\n\tgetCustomCSS,\n\tattachCustomCSSChange,\n\tdetachCustomCSSChange,\n};\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type ThemeLoadedCallback = (theme: string) => void;
|
|
2
|
+
declare const attachThemeLoaded: (listener: ThemeLoadedCallback) => void;
|
|
3
|
+
declare const detachThemeLoaded: (listener: ThemeLoadedCallback) => void;
|
|
4
|
+
declare const fireThemeLoaded: (theme: string) => void[];
|
|
5
|
+
export { attachThemeLoaded, detachThemeLoaded, fireThemeLoaded, };
|
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
import EventProvider from "../EventProvider.js";
|
|
2
|
-
|
|
3
2
|
const eventProvider = new EventProvider();
|
|
4
3
|
const THEME_LOADED = "themeLoaded";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
eventProvider.attachEvent(THEME_LOADED, listener);
|
|
4
|
+
const attachThemeLoaded = (listener) => {
|
|
5
|
+
eventProvider.attachEvent(THEME_LOADED, listener);
|
|
8
6
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
eventProvider.detachEvent(THEME_LOADED, listener);
|
|
7
|
+
const detachThemeLoaded = (listener) => {
|
|
8
|
+
eventProvider.detachEvent(THEME_LOADED, listener);
|
|
12
9
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return eventProvider.fireEvent(THEME_LOADED, theme);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export {
|
|
19
|
-
attachThemeLoaded,
|
|
20
|
-
detachThemeLoaded,
|
|
21
|
-
fireThemeLoaded,
|
|
10
|
+
const fireThemeLoaded = (theme) => {
|
|
11
|
+
return eventProvider.fireEvent(THEME_LOADED, theme);
|
|
22
12
|
};
|
|
13
|
+
export { attachThemeLoaded, detachThemeLoaded, fireThemeLoaded, };
|
|
14
|
+
//# sourceMappingURL=ThemeLoaded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeLoaded.js","sourceRoot":"","sources":["../../src/theming/ThemeLoaded.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAgB,CAAC;AACxD,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,EAAE;IAC3D,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,EAAE;IAC3D,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,OAAO,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GACf,CAAC","sourcesContent":["import EventProvider from \"../EventProvider.js\";\n\ntype ThemeLoadedCallback = (theme: string) => void;\n\nconst eventProvider = new EventProvider<string, void>();\nconst THEME_LOADED = \"themeLoaded\";\n\nconst attachThemeLoaded = (listener: ThemeLoadedCallback) => {\n\teventProvider.attachEvent(THEME_LOADED, listener);\n};\n\nconst detachThemeLoaded = (listener: ThemeLoadedCallback) => {\n\teventProvider.detachEvent(THEME_LOADED, listener);\n};\n\nconst fireThemeLoaded = (theme: string) => {\n\treturn eventProvider.fireEvent(THEME_LOADED, theme);\n};\n\nexport {\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\tfireThemeLoaded,\n};\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import EventProvider from "../EventProvider.js";
|
|
2
|
+
const eventProvider = new EventProvider();
|
|
3
|
+
const THEME_REGISTERED = "themeRegistered";
|
|
4
|
+
const attachThemeRegistered = (listener) => {
|
|
5
|
+
eventProvider.attachEvent(THEME_REGISTERED, listener);
|
|
6
|
+
};
|
|
7
|
+
const fireThemeRegistered = (theme) => {
|
|
8
|
+
return eventProvider.fireEvent(THEME_REGISTERED, theme);
|
|
9
|
+
};
|
|
10
|
+
export { attachThemeRegistered, fireThemeRegistered, };
|
|
11
|
+
//# sourceMappingURL=ThemeRegistered.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeRegistered.js","sourceRoot":"","sources":["../../src/theming/ThemeRegistered.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAgB,CAAC;AACxD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC7C,OAAO,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,OAAO,EACN,qBAAqB,EACrB,mBAAmB,GACnB,CAAC","sourcesContent":["import EventProvider from \"../EventProvider.js\";\n\ntype ThemeRegisteredCallback = (theme: string) => void;\n\nconst eventProvider = new EventProvider<string, void>();\nconst THEME_REGISTERED = \"themeRegistered\";\n\nconst attachThemeRegistered = (listener: ThemeRegisteredCallback) => {\n\teventProvider.attachEvent(THEME_REGISTERED, listener);\n};\n\nconst fireThemeRegistered = (theme: string) => {\n\treturn eventProvider.fireEvent(THEME_REGISTERED, theme);\n};\n\nexport {\n\tattachThemeRegistered,\n\tfireThemeRegistered,\n};\n"]}
|
|
@@ -1,78 +1,75 @@
|
|
|
1
1
|
import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from "../asset-registries/Themes.js";
|
|
2
|
-
import
|
|
2
|
+
import { removeStyle, createOrUpdateStyle } from "../ManagedStyles.js";
|
|
3
3
|
import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
|
|
4
4
|
import { fireThemeLoaded } from "./ThemeLoaded.js";
|
|
5
5
|
import { getFeature } from "../FeaturesRegistry.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoots.js";
|
|
7
|
+
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
|
|
8
|
+
const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
|
|
9
9
|
const isThemeBaseRegistered = () => {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const registeredPackages = getRegisteredPackages();
|
|
11
|
+
return registeredPackages.has(BASE_THEME_PACKAGE);
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
const loadThemeBase = async (theme) => {
|
|
14
|
+
if (!isThemeBaseRegistered()) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);
|
|
18
|
+
if (cssData) {
|
|
19
|
+
createOrUpdateStyle(cssData, "data-ui5-theme-properties", BASE_THEME_PACKAGE);
|
|
20
|
+
}
|
|
21
21
|
};
|
|
22
|
-
|
|
23
22
|
const deleteThemeBase = () => {
|
|
24
|
-
|
|
25
|
-
if (styleElement) {
|
|
26
|
-
styleElement.parentElement.removeChild(styleElement);
|
|
27
|
-
}
|
|
23
|
+
removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
|
|
28
24
|
};
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
const loadComponentPackages = async (theme) => {
|
|
26
|
+
const registeredPackages = getRegisteredPackages();
|
|
27
|
+
const packagesStylesPromises = [...registeredPackages].map(async (packageName) => {
|
|
28
|
+
if (packageName === BASE_THEME_PACKAGE) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const cssData = await getThemeProperties(packageName, theme);
|
|
32
|
+
if (cssData) {
|
|
33
|
+
createOrUpdateStyle(cssData, "data-ui5-theme-properties", packageName);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return Promise.all(packagesStylesPromises);
|
|
40
37
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
38
|
+
const detectExternalTheme = async (theme) => {
|
|
39
|
+
// If theme designer theme is detected, use this
|
|
40
|
+
const extTheme = getThemeDesignerTheme();
|
|
41
|
+
if (extTheme) {
|
|
42
|
+
return extTheme;
|
|
43
|
+
}
|
|
44
|
+
// If OpenUI5Support is enabled, try to find out if it loaded variables
|
|
45
|
+
const openUI5Support = getFeature("OpenUI5Support");
|
|
46
|
+
if (openUI5Support) {
|
|
47
|
+
const varsLoaded = openUI5Support.cssVariablesLoaded();
|
|
48
|
+
if (varsLoaded) {
|
|
49
|
+
return {
|
|
50
|
+
themeName: openUI5Support.getConfigurationSettingsObject()?.theme,
|
|
51
|
+
baseThemeName: "", // baseThemeName is only relevant for custom themes
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else if (getThemeRoot()) {
|
|
56
|
+
await attachCustomThemeStylesToHead(theme);
|
|
57
|
+
return getThemeDesignerTheme();
|
|
58
|
+
}
|
|
59
59
|
};
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
await loadComponentPackages(packagesTheme);
|
|
74
|
-
|
|
75
|
-
fireThemeLoaded(theme);
|
|
60
|
+
const applyTheme = async (theme) => {
|
|
61
|
+
const extTheme = await detectExternalTheme(theme);
|
|
62
|
+
// Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
|
|
63
|
+
if (!extTheme || theme !== extTheme.themeName) {
|
|
64
|
+
await loadThemeBase(theme);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
deleteThemeBase();
|
|
68
|
+
}
|
|
69
|
+
// Always load component packages properties. For non-registered themes, try with the base theme, if any
|
|
70
|
+
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
|
|
71
|
+
await loadComponentPackages(packagesTheme || DEFAULT_THEME);
|
|
72
|
+
fireThemeLoaded(theme);
|
|
76
73
|
};
|
|
77
|
-
|
|
78
74
|
export default applyTheme;
|
|
75
|
+
//# sourceMappingURL=applyTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTheme.js","sourceRoot":"","sources":["../../src/theming/applyTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAExD,MAAM,qBAAqB,GAAG,GAAG,EAAE;IAClC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC7C,IAAI,CAAC,qBAAqB,EAAE,EAAE;QAC7B,OAAO;KACP;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACpE,IAAI,OAAO,EAAE;QACZ,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;KAC9E;AACF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,WAAW,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IAEnD,MAAM,sBAAsB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;QAC9E,IAAI,WAAW,KAAK,kBAAkB,EAAE;YACvC,OAAO;SACP;QAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE;YACZ,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,WAAW,CAAC,CAAC;SACvE;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACnD,gDAAgD;IAChD,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,QAAQ,EAAE;QACb,OAAO,QAAQ,CAAC;KAChB;IAED,uEAAuE;IACvE,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;IAC3E,IAAI,cAAc,EAAE;QACnB,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,UAAU,EAAE;YACf,OAAO;gBACN,SAAS,EAAE,cAAc,CAAC,8BAA8B,EAAE,EAAE,KAAK;gBACjE,aAAa,EAAE,EAAE,EAAE,mDAAmD;aACtE,CAAC;SACF;KACD;SAAM,IAAI,YAAY,EAAE,EAAE;QAC1B,MAAM,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAE3C,OAAO,qBAAqB,EAAE,CAAC;KAC/B;AACF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAElD,kHAAkH;IAClH,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,SAAS,EAAE;QAC9C,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3B;SAAM;QACN,eAAe,EAAE,CAAC;KAClB;IAED,wGAAwG;IACxG,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC;IAC5F,MAAM,qBAAqB,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IAE5D,eAAe,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from \"../asset-registries/Themes.js\";\nimport { removeStyle, createOrUpdateStyle } from \"../ManagedStyles.js\";\nimport getThemeDesignerTheme from \"./getThemeDesignerTheme.js\";\nimport { fireThemeLoaded } from \"./ThemeLoaded.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport { attachCustomThemeStylesToHead, getThemeRoot } from \"../config/ThemeRoots.js\";\nimport type OpenUI5Support from \"../features/OpenUI5Support.js\";\nimport { DEFAULT_THEME } from \"../generated/AssetParameters.js\";\n\nconst BASE_THEME_PACKAGE = \"@ui5/webcomponents-theming\";\n\nconst isThemeBaseRegistered = () => {\n\tconst registeredPackages = getRegisteredPackages();\n\treturn registeredPackages.has(BASE_THEME_PACKAGE);\n};\n\nconst loadThemeBase = async (theme: string) => {\n\tif (!isThemeBaseRegistered()) {\n\t\treturn;\n\t}\n\n\tconst cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);\n\tif (cssData) {\n\t\tcreateOrUpdateStyle(cssData, \"data-ui5-theme-properties\", BASE_THEME_PACKAGE);\n\t}\n};\n\nconst deleteThemeBase = () => {\n\tremoveStyle(\"data-ui5-theme-properties\", BASE_THEME_PACKAGE);\n};\n\nconst loadComponentPackages = async (theme: string) => {\n\tconst registeredPackages = getRegisteredPackages();\n\n\tconst packagesStylesPromises = [...registeredPackages].map(async packageName => {\n\t\tif (packageName === BASE_THEME_PACKAGE) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst cssData = await getThemeProperties(packageName, theme);\n\t\tif (cssData) {\n\t\t\tcreateOrUpdateStyle(cssData, \"data-ui5-theme-properties\", packageName);\n\t\t}\n\t});\n\n\treturn Promise.all(packagesStylesPromises);\n};\n\nconst detectExternalTheme = async (theme: string) => {\n\t// If theme designer theme is detected, use this\n\tconst extTheme = getThemeDesignerTheme();\n\tif (extTheme) {\n\t\treturn extTheme;\n\t}\n\n\t// If OpenUI5Support is enabled, try to find out if it loaded variables\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (openUI5Support) {\n\t\tconst varsLoaded = openUI5Support.cssVariablesLoaded();\n\t\tif (varsLoaded) {\n\t\t\treturn {\n\t\t\t\tthemeName: openUI5Support.getConfigurationSettingsObject()?.theme, // just themeName\n\t\t\t\tbaseThemeName: \"\", // baseThemeName is only relevant for custom themes\n\t\t\t};\n\t\t}\n\t} else if (getThemeRoot()) {\n\t\tawait attachCustomThemeStylesToHead(theme);\n\n\t\treturn getThemeDesignerTheme();\n\t}\n};\n\nconst applyTheme = async (theme: string) => {\n\tconst extTheme = await detectExternalTheme(theme);\n\n\t// Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded\n\tif (!extTheme || theme !== extTheme.themeName) {\n\t\tawait loadThemeBase(theme);\n\t} else {\n\t\tdeleteThemeBase();\n\t}\n\n\t// Always load component packages properties. For non-registered themes, try with the base theme, if any\n\tconst packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;\n\tawait loadComponentPackages(packagesTheme || DEFAULT_THEME);\n\n\tfireThemeLoaded(theme);\n};\n\nexport default applyTheme;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import UI5Element from "../UI5Element.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns (and caches) a constructable style sheet for a web component class
|
|
4
|
+
* Note: Chrome
|
|
5
|
+
* @param ElementClass
|
|
6
|
+
* @returns {*}
|
|
7
|
+
*/
|
|
8
|
+
declare const getConstructableStyle: (ElementClass: typeof UI5Element, forStaticArea?: boolean) => CSSStyleSheet[];
|
|
9
|
+
export default getConstructableStyle;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import getEffectiveStyle from "./getEffectiveStyle.js";
|
|
2
2
|
import { attachCustomCSSChange } from "./CustomStyle.js";
|
|
3
|
-
|
|
4
3
|
const constructableStyleMap = new Map();
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
|
|
4
|
+
attachCustomCSSChange((tag) => {
|
|
5
|
+
constructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
|
|
8
6
|
});
|
|
9
|
-
|
|
10
7
|
/**
|
|
11
8
|
* Returns (and caches) a constructable style sheet for a web component class
|
|
12
9
|
* Note: Chrome
|
|
@@ -14,17 +11,15 @@ attachCustomCSSChange(tag => {
|
|
|
14
11
|
* @returns {*}
|
|
15
12
|
*/
|
|
16
13
|
const getConstructableStyle = (ElementClass, forStaticArea = false) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return constructableStyleMap.get(key);
|
|
14
|
+
const tag = ElementClass.getMetadata().getTag();
|
|
15
|
+
const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
|
|
16
|
+
if (!constructableStyleMap.has(key)) {
|
|
17
|
+
const styleContent = getEffectiveStyle(ElementClass, forStaticArea);
|
|
18
|
+
const style = new CSSStyleSheet();
|
|
19
|
+
style.replaceSync(styleContent);
|
|
20
|
+
constructableStyleMap.set(key, [style]);
|
|
21
|
+
}
|
|
22
|
+
return constructableStyleMap.get(key);
|
|
28
23
|
};
|
|
29
|
-
|
|
30
24
|
export default getConstructableStyle;
|
|
25
|
+
//# sourceMappingURL=getConstructableStyle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConstructableStyle.js","sourceRoot":"","sources":["../../src/theming/getConstructableStyle.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEtE,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;IACrC,qBAAqB,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,kFAAkF;AAClI,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,YAA+B,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACxF,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpC,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACxC,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC","sourcesContent":["import getEffectiveStyle from \"./getEffectiveStyle.js\";\nimport { attachCustomCSSChange } from \"./CustomStyle.js\";\nimport UI5Element from \"../UI5Element.js\";\n\nconst constructableStyleMap = new Map<string, Array<CSSStyleSheet>>();\n\nattachCustomCSSChange((tag: string) => {\n\tconstructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part\n});\n\n/**\n * Returns (and caches) a constructable style sheet for a web component class\n * Note: Chrome\n * @param ElementClass\n * @returns {*}\n */\nconst getConstructableStyle = (ElementClass: typeof UI5Element, forStaticArea = false) => {\n\tconst tag = ElementClass.getMetadata().getTag();\n\tconst key = `${tag}_${forStaticArea ? \"static\" : \"normal\"}`;\n\n\tif (!constructableStyleMap.has(key)) {\n\t\tconst styleContent = getEffectiveStyle(ElementClass, forStaticArea);\n\t\tconst style = new CSSStyleSheet();\n\t\tstyle.replaceSync(styleContent);\n\t\tconstructableStyleMap.set(key, [style]);\n\t}\n\n\treturn constructableStyleMap.get(key)!;\n};\n\nexport default getConstructableStyle;\n"]}
|