@ui5/webcomponents-base 0.0.0-306572ffa → 0.0.0-31ad69296
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 +10 -3
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +1396 -0
- package/README.md +58 -7
- package/bundle.esm.js +34 -24
- package/config/wdio.conf.cjs +400 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +6 -10
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +10 -0
- package/dist/Boot.js +74 -0
- package/dist/Boot.js.map +1 -0
- package/dist/CSP.d.ts +33 -0
- package/dist/CSP.js +54 -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 +62 -0
- package/dist/CustomElementsScopeUtils.js +102 -0
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +23 -0
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +13 -0
- package/dist/Device.js +167 -815
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -78
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +21 -69
- package/dist/FontFace.js.map +1 -0
- package/dist/IgnoreCustomElements.d.ts +25 -0
- package/dist/IgnoreCustomElements.js +37 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +27 -0
- package/dist/InitialConfiguration.js +130 -104
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +61 -0
- package/dist/Keys.js +175 -182
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +9 -0
- package/dist/ManagedStyles.js +157 -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 +31 -0
- package/dist/MediaRange.js +88 -0
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +85 -0
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +143 -0
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +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 +4 -28
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +35 -0
- package/dist/StaticAreaItem.js +94 -102
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +6 -28
- package/dist/SystemCSSVars.js.map +1 -0
- package/dist/Theming.d.ts +3 -0
- package/dist/Theming.js +3 -2
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +389 -0
- package/dist/UI5Element.js +999 -1058
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +143 -0
- package/dist/UI5ElementMetadata.js +281 -200
- 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/asset-registries/Icons.d.ts +39 -0
- package/dist/asset-registries/Icons.js +136 -31
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +19 -0
- package/dist/asset-registries/Illustrations.js +77 -0
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +125 -114
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +12 -0
- package/dist/asset-registries/Themes.js +58 -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 +80 -85
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
- package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
- package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.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 +15 -0
- package/dist/config/CalendarType.js +31 -14
- 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 +40 -0
- package/dist/config/Icons.js +44 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +40 -0
- package/dist/config/Language.js +59 -29
- 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/Theme.d.ts +38 -0
- package/dist/config/Theme.js +67 -22
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoot.d.ts +27 -0
- package/dist/config/ThemeRoot.js +57 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +30 -0
- package/dist/config/Timezone.js.map +1 -0
- package/dist/connectToComponent.d.ts +9 -0
- package/dist/connectToComponent.js +59 -0
- package/dist/connectToComponent.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +96 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +9 -0
- package/dist/custom-elements-internal.json +2863 -0
- package/dist/custom-elements.json +2593 -0
- package/dist/decorators/customElement.d.ts +23 -0
- package/dist/decorators/customElement.js +36 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event.d.ts +13 -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/decorators.d.ts +5 -0
- package/dist/decorators.js +6 -0
- package/dist/decorators.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +114 -0
- package/dist/delegate/ItemNavigation.js +311 -278
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +23 -0
- package/dist/delegate/ResizeHandler.js +82 -62
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +159 -153
- 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 +36 -0
- package/dist/features/OpenUI5Support.js +157 -87
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/features/patchPopup.d.ts +10 -0
- package/dist/features/patchPopup.js +15 -0
- package/dist/features/patchPopup.js.map +1 -0
- package/dist/generated/AssetParameters.d.ts +6 -0
- package/dist/generated/AssetParameters.js +4 -9
- package/dist/generated/AssetParameters.js.map +1 -0
- package/dist/generated/VersionInfo.d.ts +10 -0
- package/dist/generated/VersionInfo.js +11 -0
- package/dist/generated/VersionInfo.js.map +1 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -0
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -0
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -0
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +28 -18
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +40 -0
- package/dist/i18nBundle.d.ts +41 -0
- package/dist/i18nBundle.js +66 -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 +11 -0
- package/dist/locale/applyDirection.js +11 -8
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +24 -0
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +8 -0
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +28 -21
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +8 -16
- package/dist/locale/languageChange.js.map +1 -0
- package/dist/locale/nextFallbackLocale.d.ts +8 -0
- package/dist/locale/nextFallbackLocale.js +15 -19
- package/dist/locale/nextFallbackLocale.js.map +1 -0
- package/dist/locale/normalizeLocale.d.ts +7 -0
- package/dist/locale/normalizeLocale.js +34 -41
- package/dist/locale/normalizeLocale.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +34 -24
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/directives/style-map.d.ts +13 -0
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/directives/style-map.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +750 -0
- package/dist/sap/base/assert.js +34 -0
- package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/sap/base/security/URLListValidator.js +406 -0
- package/dist/sap/base/security/encodeCSS.js +40 -0
- package/dist/sap/base/security/encodeXML.js +53 -0
- package/dist/sap/base/security/sanitizeHTML.js +38 -0
- package/dist/sap/base/strings/toHex.js +33 -0
- package/dist/sap/base/util/now.js +28 -0
- package/dist/sap/base/util/uid.js +27 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
- package/dist/ssr-dom-shim.d.ts +1 -0
- package/dist/ssr-dom-shim.js +12 -0
- package/dist/ssr-dom-shim.js.map +1 -0
- package/dist/ssr-dom.d.ts +0 -0
- package/dist/ssr-dom.js +3 -0
- package/dist/ssr-dom.js.map +1 -0
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +40 -32
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +14 -0
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/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 +64 -69
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +13 -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 +26 -17
- 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 +24 -0
- package/dist/types/AnimationMode.js +25 -6
- package/dist/types/AnimationMode.js.map +1 -0
- package/dist/types/CSSColor.d.ts +11 -0
- package/dist/types/CSSColor.js +14 -0
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CSSSize.d.ts +11 -0
- package/dist/types/CSSSize.js +10 -5
- package/dist/types/CSSSize.js.map +1 -0
- package/dist/types/CalendarType.d.ts +28 -0
- package/dist/types/CalendarType.js +26 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +13 -0
- package/dist/types/DOMReference.js +21 -0
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +20 -0
- package/dist/types/DataType.js +31 -17
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +14 -0
- package/dist/types/Float.js +14 -6
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +14 -0
- package/dist/types/Integer.js +14 -5
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +20 -0
- package/dist/types/InvisibleMessageMode.js +20 -0
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +18 -0
- package/dist/types/ItemNavigationBehavior.js +16 -17
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/MovePlacement.d.ts +20 -0
- package/dist/types/MovePlacement.js +22 -0
- package/dist/types/MovePlacement.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +24 -0
- package/dist/types/NavigationMode.js +25 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/Orientation.d.ts +16 -0
- package/dist/types/Orientation.js +18 -0
- package/dist/types/Orientation.js.map +1 -0
- package/dist/types/ValueState.d.ts +28 -0
- package/dist/types/ValueState.js +27 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +28 -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 +42 -0
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +15 -0
- package/dist/util/AriaLabelHelper.js +171 -0
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +23 -0
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +342 -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 -61
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +6 -0
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +56 -0
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +74 -0
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +30 -0
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +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 +13 -0
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +13 -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 +11 -11
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +15 -0
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +13 -11
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
- package/dist/util/dragAndDrop/DragRegistry.js +66 -0
- package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
- package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
- package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
- package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
- package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +9 -0
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +420 -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 +5 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +4 -0
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/{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/getParentElement.d.ts +2 -0
- package/dist/util/getParentElement.js +5 -0
- package/dist/util/getParentElement.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +11 -0
- package/dist/util/getSingletonElementInstance.js +17 -11
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementContainingBlock.d.ts +2 -0
- package/dist/util/isElementContainingBlock.js +11 -0
- package/dist/util/isElementContainingBlock.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 +17 -16
- 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/dist/vscode.html-custom-data.json +22 -0
- package/index.js +226 -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 +67 -0
- package/package.json +30 -14
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +96 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +9 -0
- package/tsconfig.json +20 -0
- package/used-modules.txt +14 -0
- package/bundle.es5.js +0 -28
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -166
- package/dist/SVGIconRegistry.js +0 -62
- package/dist/animations/config.js +0 -5
- package/dist/boot.js +0 -34
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/config/RTL.js +0 -31
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -44
- package/dist/features/PropertiesFormatSupport.js +0 -8
- package/dist/features/browsersupport/Edge.js +0 -6
- package/dist/features/browsersupport/IE11.js +0 -41
- package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/renderer/scopeHTML.js +0 -32
- package/dist/resources/bundle.es5.js +0 -212
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/resources/bundle.esm.js +0 -129
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -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 -37
- package/dist/test-resources/elements/WithStaticArea.js +0 -76
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -20
- package/dist/test-resources/pages/ConfigurationScript.html +0 -36
- package/dist/test-resources/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 -258
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
- package/dist/theming/CSSVarsPonyfill.js +0 -24
- package/dist/theming/adaptCSSForIE.js +0 -95
- package/dist/theming/createComponentStyleTag.js +0 -55
- package/dist/theming/createThemePropertiesStyleTag.js +0 -20
- package/dist/thirdparty/Array.from.js +0 -16
- package/dist/thirdparty/Array.prototype.fill.js +0 -44
- package/dist/thirdparty/Array.prototype.find.js +0 -46
- package/dist/thirdparty/Array.prototype.includes.js +0 -51
- package/dist/thirdparty/Element.prototype.closest.js +0 -11
- package/dist/thirdparty/Element.prototype.matches.js +0 -6
- package/dist/thirdparty/Map.prototype.keys.js +0 -9
- package/dist/thirdparty/Number.isInteger.js +0 -5
- package/dist/thirdparty/Number.isNaN.js +0 -1
- package/dist/thirdparty/Number.parseInt.js +0 -1
- package/dist/thirdparty/Object.assign.js +0 -31
- package/dist/thirdparty/Object.entries.js +0 -11
- package/dist/thirdparty/Symbol.js +0 -2
- package/dist/thirdparty/WeakSet.js +0 -27
- package/dist/thirdparty/es6-string-methods.js +0 -182
- package/dist/thirdparty/events-polyfills.js +0 -89
- package/dist/thirdparty/fetch.js +0 -1
- package/dist/thirdparty/template.js +0 -600
- package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/dist/types/PopupState.js +0 -37
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/getEffectiveAriaLabelText.js +0 -28
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/isSlot.js +0 -3
- package/dist/util/parseProperties.js +0 -89
- package/dist/util/setToArray.js +0 -10
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
- package/package-scripts.js +0 -47
- package/src/AssetRegistry.js +0 -10
- package/src/CustomElementsRegistry.js +0 -39
- package/src/CustomElementsScope.js +0 -108
- package/src/Device.js +0 -823
- package/src/EventProvider.js +0 -81
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -73
- package/src/InitialConfiguration.js +0 -131
- package/src/Keys.js +0 -188
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -166
- package/src/SVGIconRegistry.js +0 -62
- package/src/StaticArea.js +0 -31
- package/src/StaticAreaItem.js +0 -108
- package/src/SystemCSSVars.js +0 -31
- package/src/Theming.js +0 -3
- package/src/UI5Element.js +0 -1078
- package/src/UI5ElementMetadata.js +0 -212
- 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 -31
- package/src/asset-registries/LocaleData.js +0 -125
- package/src/asset-registries/Themes.js +0 -87
- package/src/asset-registries/i18n.js +0 -107
- package/src/boot.js +0 -34
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/config/AnimationMode.js +0 -23
- package/src/config/CalendarType.js +0 -18
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -41
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -28
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/ItemNavigation.js +0 -282
- package/src/delegate/NativeResize.js +0 -44
- package/src/delegate/ResizeHandler.js +0 -65
- package/src/delegate/ScrollEnablement.js +0 -159
- package/src/features/OpenUI5Support.js +0 -90
- package/src/features/PropertiesFormatSupport.js +0 -8
- package/src/features/browsersupport/Edge.js +0 -6
- package/src/features/browsersupport/IE11.js +0 -41
- package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -52
- package/src/locale/Locale.js +0 -91
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -15
- package/src/locale/getLocale.js +0 -31
- 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/CSSVarsPonyfill.js +0 -24
- package/src/theming/CustomStyle.js +0 -40
- package/src/theming/adaptCSSForIE.js +0 -95
- package/src/theming/applyTheme.js +0 -81
- package/src/theming/createComponentStyleTag.js +0 -55
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/theming/getConstructableStyle.js +0 -29
- package/src/theming/getEffectiveStyle.js +0 -23
- package/src/theming/getStylesString.js +0 -13
- package/src/theming/getThemeDesignerTheme.js +0 -67
- package/src/thirdparty/Array.from.js +0 -16
- package/src/thirdparty/Array.prototype.fill.js +0 -44
- package/src/thirdparty/Array.prototype.find.js +0 -46
- package/src/thirdparty/Array.prototype.includes.js +0 -51
- package/src/thirdparty/Element.prototype.closest.js +0 -11
- package/src/thirdparty/Element.prototype.matches.js +0 -6
- package/src/thirdparty/Map.prototype.keys.js +0 -9
- package/src/thirdparty/Number.isInteger.js +0 -5
- package/src/thirdparty/Number.isNaN.js +0 -1
- package/src/thirdparty/Number.parseInt.js +0 -1
- package/src/thirdparty/Object.assign.js +0 -31
- package/src/thirdparty/Object.entries.js +0 -11
- package/src/thirdparty/Symbol.js +0 -2
- package/src/thirdparty/WeakSet.js +0 -27
- package/src/thirdparty/_merge.js +0 -32
- package/src/thirdparty/es6-string-methods.js +0 -182
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/isPlainObject.js +0 -18
- package/src/thirdparty/merge.js +0 -10
- package/src/thirdparty/template.js +0 -600
- package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -25
- package/src/types/Float.js +0 -10
- package/src/types/Integer.js +0 -9
- package/src/types/ItemNavigationBehavior.js +0 -21
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -66
- package/src/util/StringHelper.js +0 -26
- package/src/util/TabbableElements.js +0 -47
- package/src/util/createStyleInHead.js +0 -18
- package/src/util/detectNavigatorLanguage.js +0 -13
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/formatMessage.js +0 -23
- package/src/util/getDesigntimePropertyAsArray.js +0 -4
- package/src/util/getEffectiveAriaLabelText.js +0 -28
- 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/isSlot.js +0 -3
- package/src/util/isValidPropertyName.js +0 -27
- 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
package/src/getSharedResource.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
|
|
2
|
-
|
|
3
|
-
const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared-resources", document.head);
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
|
|
7
|
-
* The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "head" element of the page.
|
|
8
|
-
*
|
|
9
|
-
* @public
|
|
10
|
-
* @param namespace Unique ID of the resource, may contain "." to denote hierarchy
|
|
11
|
-
* @param initialValue Object or primitive that will be used as an initial value if the resource does not exist
|
|
12
|
-
* @returns {*}
|
|
13
|
-
*/
|
|
14
|
-
const getSharedResource = (namespace, initialValue) => {
|
|
15
|
-
const parts = namespace.split(".");
|
|
16
|
-
let current = getSharedResourcesInstance();
|
|
17
|
-
|
|
18
|
-
for (let i = 0; i < parts.length; i++) {
|
|
19
|
-
const part = parts[i];
|
|
20
|
-
const lastPart = i === parts.length - 1;
|
|
21
|
-
if (!Object.prototype.hasOwnProperty.call(current, part)) {
|
|
22
|
-
current[part] = lastPart ? initialValue : {};
|
|
23
|
-
}
|
|
24
|
-
current = current[part];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return current;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export default getSharedResource;
|
package/src/i18nBundle.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { registerI18nBundle, fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
|
|
2
|
-
import formatMessage from "./util/formatMessage.js";
|
|
3
|
-
|
|
4
|
-
const I18nBundleInstances = new Map();
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @class
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
class I18nBundle {
|
|
11
|
-
constructor(packageName) {
|
|
12
|
-
this.packageName = packageName;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Returns a text in the currently loaded language
|
|
17
|
-
*
|
|
18
|
-
* @param {Object|String} textObj key/defaultText pair or just the key
|
|
19
|
-
* @param params Values for the placeholders
|
|
20
|
-
* @returns {*}
|
|
21
|
-
*/
|
|
22
|
-
getText(textObj, ...params) {
|
|
23
|
-
if (typeof textObj === "string") {
|
|
24
|
-
textObj = { key: textObj, defaultText: textObj };
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (!textObj || !textObj.key) {
|
|
28
|
-
return "";
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const bundle = getI18nBundleData(this.packageName);
|
|
32
|
-
const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
|
|
33
|
-
|
|
34
|
-
return formatMessage(messageText, params);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const getI18nBundle = packageName => {
|
|
39
|
-
if (I18nBundleInstances.has(packageName)) {
|
|
40
|
-
return I18nBundleInstances.get(packageName);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const i18nBundle = new I18nBundle(packageName);
|
|
44
|
-
I18nBundleInstances.set(packageName, i18nBundle);
|
|
45
|
-
return i18nBundle;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export {
|
|
49
|
-
registerI18nBundle,
|
|
50
|
-
fetchI18nBundle,
|
|
51
|
-
getI18nBundle,
|
|
52
|
-
};
|
package/src/locale/Locale.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
const rLocale = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
|
|
2
|
-
|
|
3
|
-
class Locale {
|
|
4
|
-
constructor(sLocaleId) {
|
|
5
|
-
const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
|
|
6
|
-
if (aResult === null) {
|
|
7
|
-
throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
|
|
8
|
-
}
|
|
9
|
-
this.sLocaleId = sLocaleId;
|
|
10
|
-
this.sLanguage = aResult[1] || null;
|
|
11
|
-
this.sScript = aResult[2] || null;
|
|
12
|
-
this.sRegion = aResult[3] || null;
|
|
13
|
-
this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
|
|
14
|
-
this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
|
|
15
|
-
this.sPrivateUse = aResult[6] || null;
|
|
16
|
-
if (this.sLanguage) {
|
|
17
|
-
this.sLanguage = this.sLanguage.toLowerCase();
|
|
18
|
-
}
|
|
19
|
-
if (this.sScript) {
|
|
20
|
-
this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
|
|
21
|
-
return s.toUpperCase();
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
if (this.sRegion) {
|
|
25
|
-
this.sRegion = this.sRegion.toUpperCase();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getLanguage() {
|
|
30
|
-
return this.sLanguage;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
getScript() {
|
|
34
|
-
return this.sScript;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
getRegion() {
|
|
38
|
-
return this.sRegion;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
getVariant() {
|
|
42
|
-
return this.sVariant;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
getVariantSubtags() {
|
|
46
|
-
return this.sVariant ? this.sVariant.split("-") : [];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
getExtension() {
|
|
50
|
-
return this.sExtension;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
getExtensionSubtags() {
|
|
54
|
-
return this.sExtension ? this.sExtension.slice(2).split("-") : [];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
getPrivateUse() {
|
|
58
|
-
return this.sPrivateUse;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
getPrivateUseSubtags() {
|
|
62
|
-
return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
hasPrivateUseSubtag(sSubtag) {
|
|
66
|
-
return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
toString() {
|
|
70
|
-
const r = [this.sLanguage];
|
|
71
|
-
|
|
72
|
-
if (this.sScript) {
|
|
73
|
-
r.push(this.sScript);
|
|
74
|
-
}
|
|
75
|
-
if (this.sRegion) {
|
|
76
|
-
r.push(this.sRegion);
|
|
77
|
-
}
|
|
78
|
-
if (this.sVariant) {
|
|
79
|
-
r.push(this.sVariant);
|
|
80
|
-
}
|
|
81
|
-
if (this.sExtension) {
|
|
82
|
-
r.push(this.sExtension);
|
|
83
|
-
}
|
|
84
|
-
if (this.sPrivateUse) {
|
|
85
|
-
r.push(this.sPrivateUse);
|
|
86
|
-
}
|
|
87
|
-
return r.join("-");
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export default Locale;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import RenderScheduler from "../RenderScheduler.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Re-renders all RTL-aware UI5 Elements.
|
|
5
|
-
* Call this method whenever you change the "dir" property anywhere in your HTML page
|
|
6
|
-
* Example: document.body.dir = "rtl"; applyDirection();
|
|
7
|
-
*
|
|
8
|
-
* @returns {Promise<void>}
|
|
9
|
-
*/
|
|
10
|
-
const applyDirection = () => {
|
|
11
|
-
RenderScheduler.reRenderAllUI5Elements({ rtlAware: true });
|
|
12
|
-
return RenderScheduler.whenFinished();
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default applyDirection;
|
package/src/locale/getLocale.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
|
|
2
|
-
import { getLanguage as getConfigLanguage } from "../config/Language.js";
|
|
3
|
-
import Locale from "./Locale.js";
|
|
4
|
-
|
|
5
|
-
const convertToLocaleOrNull = lang => {
|
|
6
|
-
try {
|
|
7
|
-
if (lang && typeof lang === "string") {
|
|
8
|
-
return new Locale(lang);
|
|
9
|
-
}
|
|
10
|
-
} catch (e) {
|
|
11
|
-
// ignore
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Returns the locale based on the parameter or configured language Configuration#getLanguage
|
|
17
|
-
* If no language has been configured - a new locale based on browser language is returned
|
|
18
|
-
*/
|
|
19
|
-
const getLocale = lang => {
|
|
20
|
-
if (lang) {
|
|
21
|
-
return convertToLocaleOrNull(lang);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (getConfigLanguage()) {
|
|
25
|
-
return new Locale(getConfigLanguage());
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return convertToLocaleOrNull(detectNavigatorLanguage());
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default getLocale;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import EventProvider from "../EventProvider.js";
|
|
2
|
-
|
|
3
|
-
const eventProvider = new EventProvider();
|
|
4
|
-
const LANG_CHANGE = "languageChange";
|
|
5
|
-
|
|
6
|
-
const attachLanguageChange = listener => {
|
|
7
|
-
eventProvider.attachEvent(LANG_CHANGE, listener);
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const detachLanguageChange = listener => {
|
|
11
|
-
eventProvider.detachEvent(LANG_CHANGE, listener);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const fireLanguageChange = lang => {
|
|
15
|
-
return eventProvider.fireEvent(LANG_CHANGE, lang);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export {
|
|
19
|
-
attachLanguageChange,
|
|
20
|
-
detachLanguageChange,
|
|
21
|
-
fireLanguageChange,
|
|
22
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Calculates the next fallback locale for the given locale.
|
|
5
|
-
*
|
|
6
|
-
* @param {string} locale Locale string in Java format (underscores) or null
|
|
7
|
-
* @returns {string} Next fallback Locale or "en" if no fallbacks found.
|
|
8
|
-
*/
|
|
9
|
-
const nextFallbackLocale = locale => {
|
|
10
|
-
if (!locale) {
|
|
11
|
-
return DEFAULT_LOCALE;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (locale === "zh_HK") {
|
|
15
|
-
return "zh_TW";
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// if there are multiple segments (separated by underscores), remove the last one
|
|
19
|
-
const p = locale.lastIndexOf("_");
|
|
20
|
-
if (p >= 0) {
|
|
21
|
-
return locale.slice(0, p);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// for any language but the default, fallback to the default first before falling back to the 'raw' language (empty string)
|
|
25
|
-
return locale !== DEFAULT_LOCALE ? DEFAULT_LOCALE : "";
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default nextFallbackLocale;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
|
|
2
|
-
|
|
3
|
-
const localeRegEX = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
|
|
4
|
-
const SAPSupportabilityLocales = /(?:^|-)(saptrc|sappsd)(?:-|$)/i;
|
|
5
|
-
|
|
6
|
-
/* Map for old language names for a few ISO639 codes. */
|
|
7
|
-
const M_ISO639_NEW_TO_OLD = {
|
|
8
|
-
"he": "iw",
|
|
9
|
-
"yi": "ji",
|
|
10
|
-
"id": "in",
|
|
11
|
-
"sr": "sh",
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Normalizes the given locale in BCP-47 syntax.
|
|
16
|
-
* @param {string} locale locale to normalize
|
|
17
|
-
* @returns {string} Normalized locale, "undefined" if the locale can't be normalized or the default locale, if no locale provided.
|
|
18
|
-
*/
|
|
19
|
-
const normalizeLocale = locale => {
|
|
20
|
-
let m;
|
|
21
|
-
|
|
22
|
-
if (!locale) {
|
|
23
|
-
return DEFAULT_LOCALE;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (typeof locale === "string" && (m = localeRegEX.exec(locale.replace(/_/g, "-")))) {/* eslint-disable-line */
|
|
27
|
-
let language = m[1].toLowerCase();
|
|
28
|
-
let region = m[3] ? m[3].toUpperCase() : undefined;
|
|
29
|
-
const script = m[2] ? m[2].toLowerCase() : undefined;
|
|
30
|
-
const variants = m[4] ? m[4].slice(1) : undefined;
|
|
31
|
-
const isPrivate = m[6];
|
|
32
|
-
|
|
33
|
-
language = M_ISO639_NEW_TO_OLD[language] || language;
|
|
34
|
-
|
|
35
|
-
// recognize and convert special SAP supportability locales (overwrites m[]!)
|
|
36
|
-
if ((isPrivate && (m = SAPSupportabilityLocales.exec(isPrivate))) /* eslint-disable-line */ ||
|
|
37
|
-
(variants && (m = SAPSupportabilityLocales.exec(variants)))) {/* eslint-disable-line */
|
|
38
|
-
return `en_US_${m[1].toLowerCase()}`; // for now enforce en_US (agreed with SAP SLS)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Chinese: when no region but a script is specified, use default region for each script
|
|
42
|
-
if (language === "zh" && !region) {
|
|
43
|
-
if (script === "hans") {
|
|
44
|
-
region = "CN";
|
|
45
|
-
} else if (script === "hant") {
|
|
46
|
-
region = "TW";
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return language + (region ? "_" + region + (variants ? "_" + variants.replace("-", "_") : "") : ""); /* eslint-disable-line */
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export default normalizeLocale;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { html, svg, render } from "lit-html/lit-html.js";
|
|
2
|
-
import scopeHTML from "./scopeHTML.js";
|
|
3
|
-
|
|
4
|
-
let tags;
|
|
5
|
-
let suffix;
|
|
6
|
-
|
|
7
|
-
const setTags = t => {
|
|
8
|
-
tags = t;
|
|
9
|
-
};
|
|
10
|
-
const setSuffix = s => {
|
|
11
|
-
suffix = s;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const litRender = (templateResult, domNode, styles, { eventContext } = {}) => {
|
|
15
|
-
if (styles) {
|
|
16
|
-
templateResult = html`<style>${styles}</style>${templateResult}`;
|
|
17
|
-
}
|
|
18
|
-
render(templateResult, domNode, { eventContext });
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const scopedHtml = (strings, ...values) => html(scopeHTML(strings, tags, suffix), ...values);
|
|
22
|
-
const scopedSvg = (strings, ...values) => svg(scopeHTML(strings, tags, suffix), ...values);
|
|
23
|
-
|
|
24
|
-
export { setTags, setSuffix };
|
|
25
|
-
export { scopedHtml as html, scopedSvg as svg };
|
|
26
|
-
export { repeat } from "lit-html/directives/repeat.js";
|
|
27
|
-
export { classMap } from "lit-html/directives/class-map.js";
|
|
28
|
-
export { styleMap } from "lit-html/directives/style-map.js";
|
|
29
|
-
export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
|
|
30
|
-
|
|
31
|
-
export default litRender;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../CustomElementsScope.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Runs a component's template with the component's current state, while also scoping HTML
|
|
5
|
-
*
|
|
6
|
-
* @param template - the template to execute
|
|
7
|
-
* @param component - the component
|
|
8
|
-
* @public
|
|
9
|
-
* @returns {*}
|
|
10
|
-
*/
|
|
11
|
-
const executeTemplate = (template, component) => {
|
|
12
|
-
const tagsToScope = component.constructor.getUniqueDependencies().map(dep => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
|
|
13
|
-
const scope = getCustomElementsScopingSuffix();
|
|
14
|
-
return template(component, tagsToScope, scope);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export default executeTemplate;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AttributePart,
|
|
3
|
-
directive,
|
|
4
|
-
noChange,
|
|
5
|
-
} from "lit-html/lit-html.js";
|
|
6
|
-
|
|
7
|
-
/*
|
|
8
|
-
lit-html directive that removes and attribute if it is undefined
|
|
9
|
-
*/
|
|
10
|
-
export default directive(value => part => {
|
|
11
|
-
if ((value === undefined) && part instanceof AttributePart) {
|
|
12
|
-
if (value !== part.value) {
|
|
13
|
-
const name = part.committer.name;
|
|
14
|
-
part.committer.element.removeAttribute(name);
|
|
15
|
-
}
|
|
16
|
-
} else if (part.committer && part.committer.element && part.committer.element.getAttribute(part.committer.name) === value) {
|
|
17
|
-
part.setValue(noChange);
|
|
18
|
-
} else {
|
|
19
|
-
part.setValue(value);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
const cache = new Map();
|
|
2
|
-
|
|
3
|
-
const scopeHTML = (strings, tags, suffix) => {
|
|
4
|
-
if (suffix && tags && tags.length) {
|
|
5
|
-
strings = strings.map(string => {
|
|
6
|
-
if (cache.has(string)) {
|
|
7
|
-
return cache.get(string);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/*
|
|
11
|
-
const allTags = [...string.matchAll(/<(ui5-.*?)[> ]/g)].map(x => x[1]);
|
|
12
|
-
allTags.forEach(t => {
|
|
13
|
-
if (!tags.includes(t)) {
|
|
14
|
-
throw new Error(`${t} not found in ${string}`);
|
|
15
|
-
// console.log(t, " in ", string);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
let result = string;
|
|
21
|
-
tags.forEach(tag => {
|
|
22
|
-
result = result.replace(new RegExp(`(</?)(${tag})(/?[> \t\n])`, "g"), `$1$2-${suffix}$3`);
|
|
23
|
-
});
|
|
24
|
-
cache.set(string, result);
|
|
25
|
-
return result;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return strings;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export default scopeHTML;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
let ponyfillTimer;
|
|
2
|
-
|
|
3
|
-
const ponyfillNeeded = () => !!window.CSSVarsPonyfill;
|
|
4
|
-
|
|
5
|
-
const runPonyfill = () => {
|
|
6
|
-
ponyfillTimer = undefined;
|
|
7
|
-
|
|
8
|
-
window.CSSVarsPonyfill.cssVars({
|
|
9
|
-
rootElement: document.head,
|
|
10
|
-
silent: true,
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const schedulePonyfill = () => {
|
|
15
|
-
if (!ponyfillTimer) {
|
|
16
|
-
ponyfillTimer = window.setTimeout(runPonyfill, 0);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export {
|
|
21
|
-
ponyfillNeeded,
|
|
22
|
-
runPonyfill,
|
|
23
|
-
schedulePonyfill,
|
|
24
|
-
};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import RenderScheduler from "../RenderScheduler.js";
|
|
2
|
-
import EventProvider from "../EventProvider.js";
|
|
3
|
-
|
|
4
|
-
const eventProvider = new EventProvider();
|
|
5
|
-
const CUSTOM_CSS_CHANGE = "CustomCSSChange";
|
|
6
|
-
|
|
7
|
-
const attachCustomCSSChange = listener => {
|
|
8
|
-
eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const detachCustomCSSChange = listener => {
|
|
12
|
-
eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const fireCustomCSSChange = tag => {
|
|
16
|
-
return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const customCSSFor = {};
|
|
20
|
-
|
|
21
|
-
const addCustomCSS = (tag, css) => {
|
|
22
|
-
if (!customCSSFor[tag]) {
|
|
23
|
-
customCSSFor[tag] = [];
|
|
24
|
-
}
|
|
25
|
-
customCSSFor[tag].push(css);
|
|
26
|
-
fireCustomCSSChange(tag);
|
|
27
|
-
|
|
28
|
-
RenderScheduler.reRenderAllUI5Elements({ tag });
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const getCustomCSS = tag => {
|
|
32
|
-
return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export {
|
|
36
|
-
addCustomCSS,
|
|
37
|
-
getCustomCSS,
|
|
38
|
-
attachCustomCSSChange,
|
|
39
|
-
detachCustomCSSChange,
|
|
40
|
-
};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
const findClosingParenthesisPos = (str, openingParenthesisPos) => {
|
|
2
|
-
let opened = 1;
|
|
3
|
-
for (let pos = openingParenthesisPos + 1; pos < str.length; pos++) {
|
|
4
|
-
const char = str.charAt(pos);
|
|
5
|
-
if (char === "(") {
|
|
6
|
-
opened++;
|
|
7
|
-
} else if (char === ")") {
|
|
8
|
-
opened--;
|
|
9
|
-
}
|
|
10
|
-
if (opened === 0) {
|
|
11
|
-
return pos;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const replaceSelector = (str, selector, selectorStartPos, replacement) => {
|
|
17
|
-
const charAfterSelectorPos = selectorStartPos + selector.length;
|
|
18
|
-
const charAfterSelector = str.charAt(charAfterSelectorPos);
|
|
19
|
-
|
|
20
|
-
const upToSelector = str.substring(0, selectorStartPos) + replacement;
|
|
21
|
-
if (charAfterSelector === "(") {
|
|
22
|
-
const closingParenthesisPos = findClosingParenthesisPos(str, charAfterSelectorPos);
|
|
23
|
-
return upToSelector + str.substring(charAfterSelectorPos + 1, closingParenthesisPos) + str.substring(closingParenthesisPos + 1);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return upToSelector + str.substring(charAfterSelectorPos);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* :host => ui5-button
|
|
31
|
-
* :host([expr]) => ui5-button[expr]
|
|
32
|
-
* ::slotted(expr) => expr
|
|
33
|
-
* @param str - source string
|
|
34
|
-
* @param selector - :host or ::slotted
|
|
35
|
-
* @param replacement - normally tag name
|
|
36
|
-
* @returns {*}
|
|
37
|
-
*/
|
|
38
|
-
const replaceSelectors = (str, selector, replacement) => {
|
|
39
|
-
let selectorStartPos = str.indexOf(selector);
|
|
40
|
-
while (selectorStartPos !== -1) {
|
|
41
|
-
str = replaceSelector(str, selector, selectorStartPos, replacement);
|
|
42
|
-
selectorStartPos = str.indexOf(selector);
|
|
43
|
-
}
|
|
44
|
-
return str;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const adaptLinePart = (line, tag, pureTag) => {
|
|
48
|
-
line = line.trim();
|
|
49
|
-
line = replaceSelectors(line, "::slotted", ``); // first remove all ::slotted() occurrences
|
|
50
|
-
|
|
51
|
-
// Host selector - replace it
|
|
52
|
-
if (line.startsWith(":host")) {
|
|
53
|
-
return replaceSelector(line, ":host", 0, tag);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Leave out @keyframes and keyframe values (0%, 100%, etc...)
|
|
57
|
-
// csso shortens '100%' -> 'to', make sure to leave it untouched
|
|
58
|
-
if (line.match(/^[@0-9]/) || line === "to" || line === "to{") {
|
|
59
|
-
return line;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// IE specific selector (directly written with the tag, f.e. ui5-button {}) - keep it
|
|
63
|
-
if (line.match(new RegExp(`^${tag}[^a-zA-Z0-9-]`))) {
|
|
64
|
-
return line;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// IE specific selector (directly written with the tag attribute, f.e. [ui5-button] {}) - keep it
|
|
68
|
-
if (pureTag && line.startsWith(`[${pureTag}]`)) {
|
|
69
|
-
return line;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// No host and no tag in the beginning of the selector - prepend the tag
|
|
73
|
-
return `${tag} ${line}`;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const adaptCSSForIE = (str, tag, pureTag) => {
|
|
77
|
-
str = str.replace(/\n/g, ` `);
|
|
78
|
-
str = str.replace(/([{}])/g, `$1\n`);
|
|
79
|
-
let result = ``;
|
|
80
|
-
const lines = str.split(`\n`);
|
|
81
|
-
lines.forEach(line => {
|
|
82
|
-
const mustProcess = line.match(/{$/); // Only work on lines that end on {, otherwise just append to result
|
|
83
|
-
if (mustProcess) {
|
|
84
|
-
const lineParts = line.split(",");
|
|
85
|
-
const processedLineParts = lineParts.map(linePart => {
|
|
86
|
-
return adaptLinePart(linePart, tag, pureTag);
|
|
87
|
-
});
|
|
88
|
-
line = processedLineParts.join(",");
|
|
89
|
-
}
|
|
90
|
-
result = `${result}${line}`;
|
|
91
|
-
});
|
|
92
|
-
return result;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export default adaptCSSForIE;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from "../asset-registries/Themes.js";
|
|
2
|
-
import createThemePropertiesStyleTag from "./createThemePropertiesStyleTag.js";
|
|
3
|
-
import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
|
|
4
|
-
import { ponyfillNeeded, runPonyfill } from "./CSSVarsPonyfill.js";
|
|
5
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
6
|
-
|
|
7
|
-
const BASE_THEME_PACKAGE = "@ui5/webcomponents-theme-base";
|
|
8
|
-
|
|
9
|
-
const isThemeBaseRegistered = () => {
|
|
10
|
-
const registeredPackages = getRegisteredPackages();
|
|
11
|
-
return registeredPackages.has(BASE_THEME_PACKAGE);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const loadThemeBase = async theme => {
|
|
15
|
-
if (!isThemeBaseRegistered()) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const cssText = await getThemeProperties(BASE_THEME_PACKAGE, theme);
|
|
20
|
-
createThemePropertiesStyleTag(cssText, BASE_THEME_PACKAGE);
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const deleteThemeBase = () => {
|
|
24
|
-
const styleElement = document.head.querySelector(`style[data-ui5-theme-properties="${BASE_THEME_PACKAGE}"]`);
|
|
25
|
-
if (styleElement) {
|
|
26
|
-
styleElement.parentElement.removeChild(styleElement);
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const loadComponentPackages = async theme => {
|
|
31
|
-
const registeredPackages = getRegisteredPackages();
|
|
32
|
-
registeredPackages.forEach(async packageName => {
|
|
33
|
-
if (packageName === BASE_THEME_PACKAGE) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const cssText = await getThemeProperties(packageName, theme);
|
|
38
|
-
createThemePropertiesStyleTag(cssText, packageName);
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const detectExternalTheme = () => {
|
|
43
|
-
// If theme designer theme is detected, use this
|
|
44
|
-
const extTheme = getThemeDesignerTheme();
|
|
45
|
-
if (extTheme) {
|
|
46
|
-
return extTheme;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// If OpenUI5Support is enabled, try to find out if it loaded variables
|
|
50
|
-
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
51
|
-
if (OpenUI5Support) {
|
|
52
|
-
const varsLoaded = OpenUI5Support.cssVariablesLoaded();
|
|
53
|
-
if (varsLoaded) {
|
|
54
|
-
return {
|
|
55
|
-
themeName: OpenUI5Support.getConfigurationSettingsObject().theme, // just themeName, baseThemeName is only relevant for custom themes
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const applyTheme = async theme => {
|
|
62
|
-
const extTheme = detectExternalTheme();
|
|
63
|
-
|
|
64
|
-
// Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
|
|
65
|
-
if (!extTheme || theme !== extTheme.themeName) {
|
|
66
|
-
await loadThemeBase(theme);
|
|
67
|
-
} else {
|
|
68
|
-
deleteThemeBase();
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// Always load component packages properties. For non-registered themes, try with the base theme, if any
|
|
72
|
-
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
|
|
73
|
-
await loadComponentPackages(packagesTheme);
|
|
74
|
-
|
|
75
|
-
// When changing the theme, run the ponyfill immediately
|
|
76
|
-
if (ponyfillNeeded()) {
|
|
77
|
-
runPonyfill();
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export default applyTheme;
|