@ui5/webcomponents-base 0.0.0-dff5837d7 → 0.0.0-e0658a650
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +3 -0
- package/CHANGELOG.md +453 -0
- package/README.md +53 -7
- package/bundle.esm.js +28 -17
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +6 -10
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +8 -0
- package/dist/Boot.js +44 -0
- package/dist/Boot.js.map +1 -0
- package/dist/CSP.d.ts +30 -0
- package/dist/CSP.js +51 -0
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +69 -30
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -0
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/dist/CustomElementsScopeUtils.js +90 -0
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +23 -0
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +11 -0
- package/dist/Device.js +82 -816
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -78
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +21 -69
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +22 -0
- package/dist/InitialConfiguration.js +119 -103
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -166
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +77 -0
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MediaRange.d.ts +36 -0
- package/dist/MediaRange.js +96 -0
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +85 -0
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +143 -0
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +53 -39
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +0 -0
- package/dist/StaticArea.js +4 -39
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +92 -98
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +6 -28
- package/dist/SystemCSSVars.js.map +1 -0
- package/dist/Theming.d.ts +3 -0
- package/dist/Theming.js +3 -2
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +371 -0
- package/dist/UI5Element.js +922 -969
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +147 -0
- package/dist/UI5ElementMetadata.js +261 -174
- package/dist/UI5ElementMetadata.js.map +1 -0
- package/dist/animations/AnimationQueue.d.ts +8 -0
- package/dist/animations/AnimationQueue.js +31 -38
- package/dist/animations/AnimationQueue.js.map +1 -0
- package/dist/animations/animate.d.ts +14 -0
- package/dist/animations/animate.js +46 -51
- package/dist/animations/animate.js.map +1 -0
- package/dist/animations/scroll.d.ts +5 -0
- package/dist/animations/scroll.js +18 -27
- package/dist/animations/scroll.js.map +1 -0
- package/dist/animations/slideDown.d.ts +5 -0
- package/dist/animations/slideDown.js +53 -78
- package/dist/animations/slideDown.js.map +1 -0
- package/dist/animations/slideUp.d.ts +5 -0
- package/dist/animations/slideUp.js +49 -70
- package/dist/animations/slideUp.js.map +1 -0
- package/dist/api.json +1 -0
- package/dist/asset-registries/Icons.d.ts +30 -0
- package/dist/asset-registries/Icons.js +104 -31
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +16 -0
- package/dist/asset-registries/Illustrations.js +46 -0
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +125 -114
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +10 -0
- package/dist/asset-registries/Themes.js +39 -76
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +71 -82
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/bundle.esm.72c1d211.js +56 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
- package/dist/assets-meta/IconCollectionsAlias.js +18 -0
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +23 -10
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +8 -0
- package/dist/config/CalendarType.js +13 -12
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +11 -0
- package/dist/config/FormatSettings.js +10 -8
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +30 -0
- package/dist/config/Icons.js +48 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +31 -0
- package/dist/config/Language.js +44 -29
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +40 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/RTL.d.ts +7 -0
- package/dist/config/RTL.js +23 -20
- package/dist/config/RTL.js.map +1 -0
- package/dist/config/Theme.d.ts +28 -0
- package/dist/config/Theme.js +45 -22
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoots.d.ts +4 -0
- package/dist/config/ThemeRoots.js +28 -0
- package/dist/config/ThemeRoots.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +66 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +17 -0
- package/dist/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +312 -278
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +24 -0
- package/dist/delegate/ResizeHandler.js +80 -62
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +43 -0
- package/dist/delegate/ScrollEnablement.js +159 -153
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +16 -0
- package/dist/features/F6Navigation.js +112 -0
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/OpenUI5Element.d.ts +9 -0
- package/dist/features/OpenUI5Element.js +5 -0
- package/dist/features/OpenUI5Element.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +11 -0
- package/dist/features/OpenUI5Enablement.js +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +23 -0
- package/dist/features/OpenUI5Support.js +93 -86
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.js +5 -0
- package/dist/generated/css/FontFace.css.js +5 -0
- package/dist/generated/css/OverrideFontFace.css.js +5 -0
- package/dist/generated/css/SystemCSSVars.css.js +5 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +26 -0
- package/dist/getSharedResource.js.map +1 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +73 -28
- package/dist/i18nBundle.js.map +1 -0
- package/dist/locale/Locale.d.ts +22 -0
- package/dist/locale/Locale.js +75 -87
- package/dist/locale/Locale.js.map +1 -0
- package/dist/locale/RTLAwareRegistry.d.ts +4 -0
- package/dist/locale/RTLAwareRegistry.js +6 -11
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +10 -0
- package/dist/locale/applyDirection.js +10 -8
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +24 -0
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +24 -0
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +28 -21
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +8 -16
- package/dist/locale/languageChange.js.map +1 -0
- package/dist/locale/nextFallbackLocale.d.ts +8 -0
- package/dist/locale/nextFallbackLocale.js +15 -19
- package/dist/locale/nextFallbackLocale.js.map +1 -0
- package/dist/locale/normalizeLocale.d.ts +7 -0
- package/dist/locale/normalizeLocale.js +34 -41
- package/dist/locale/normalizeLocale.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +38 -12
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +30 -0
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +241 -0
- package/dist/sap/base/assert.js +8 -0
- package/dist/sap/base/security/URLListValidator.js +148 -0
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/security/sanitizeHTML.js +16 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/base/util/now.js +7 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +44 -17
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +14 -0
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +63 -69
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +15 -15
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
- package/dist/theming/getEffectiveLinksHrefs.js +16 -0
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +30 -13
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +10 -0
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +73 -60
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +19 -0
- package/dist/theming/preloadLinks.js.map +1 -0
- package/dist/thirdparty/_merge.d.ts +2 -0
- package/dist/thirdparty/_merge.js +7 -4
- package/dist/thirdparty/_merge.js.map +1 -0
- package/dist/thirdparty/isPlainObject.d.ts +2 -0
- package/dist/thirdparty/isPlainObject.js +11 -10
- package/dist/thirdparty/isPlainObject.js.map +1 -0
- package/dist/thirdparty/merge.d.ts +2 -0
- package/dist/thirdparty/merge.js +4 -8
- package/dist/thirdparty/merge.js.map +1 -0
- package/dist/types/AnimationMode.d.ts +32 -0
- package/dist/types/AnimationMode.js +33 -6
- package/dist/types/AnimationMode.js.map +1 -0
- package/dist/types/CSSColor.d.ts +16 -0
- package/dist/types/CSSColor.js +19 -0
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CalendarType.d.ts +37 -0
- package/dist/types/CalendarType.js +35 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +17 -0
- package/dist/types/DOMReference.js +25 -0
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +25 -0
- package/dist/types/DataType.js +32 -13
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +18 -0
- package/dist/types/Float.js +18 -6
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +18 -0
- package/dist/types/Integer.js +18 -5
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +27 -0
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -17
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +32 -0
- package/dist/types/NavigationMode.js +33 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/ValueState.d.ts +42 -0
- package/dist/types/ValueState.js +41 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +8 -0
- package/dist/updateShadowRoot.js +34 -0
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +6 -0
- package/dist/util/AriaLabelHelper.js +44 -0
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +23 -0
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +33 -0
- package/dist/util/ColorConversion.js +337 -0
- package/dist/util/ColorConversion.js.map +1 -0
- package/dist/util/FetchHelper.d.ts +3 -0
- package/dist/util/FetchHelper.js +19 -25
- package/dist/util/FetchHelper.js.map +1 -0
- package/dist/util/FocusableElements.d.ts +3 -0
- package/dist/util/FocusableElements.js +57 -61
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +6 -0
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +56 -0
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +74 -0
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +30 -0
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +3 -0
- package/dist/util/TabbableElements.js +39 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +13 -0
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +12 -0
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +21 -0
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/createStyleInHead.d.ts +8 -0
- package/dist/util/createStyleInHead.js +10 -10
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +15 -0
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +9 -0
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +398 -0
- package/dist/util/getClassCopy.js +10 -0
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +4 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +4 -0
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/dist/util/getFileExtension.d.ts +12 -0
- package/dist/util/getFileExtension.js +9 -11
- package/dist/util/getFileExtension.js.map +1 -0
- package/dist/util/getNormalizedTarget.d.ts +7 -0
- package/dist/util/getNormalizedTarget.js +14 -0
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +2 -0
- package/dist/util/getSingletonElementInstance.js +10 -0
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isDefaultSlotProvided.d.ts +2 -0
- package/dist/util/isDefaultSlotProvided.js +10 -0
- package/dist/util/isDefaultSlotProvided.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +12 -0
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +2 -0
- package/dist/util/isElementTabbable.js +22 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +18 -18
- package/dist/util/isValidPropertyName.js.map +1 -0
- package/dist/util/whenDOMReady.d.ts +2 -0
- package/dist/util/whenDOMReady.js +11 -10
- package/dist/util/whenDOMReady.js.map +1 -0
- package/dist/validateThemeRoot.d.ts +2 -0
- package/dist/validateThemeRoot.js +47 -0
- package/dist/validateThemeRoot.js.map +1 -0
- package/global.d.ts +44 -0
- package/index.js +1 -1
- package/lib/generate-asset-parameters/index.js +8 -5
- package/lib/generate-styles/index.js +26 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.js +48 -28
- package/package.json +21 -13
- package/src/AssetRegistry.ts +11 -0
- package/src/Boot.ts +61 -0
- package/src/CSP.ts +66 -0
- package/src/CustomElementsRegistry.ts +98 -0
- package/src/CustomElementsScope.ts +33 -0
- package/src/CustomElementsScopeUtils.ts +115 -0
- package/src/DOMObserver.ts +28 -0
- package/src/Device.ts +121 -0
- package/src/EventProvider.ts +87 -0
- package/src/FeaturesRegistry.ts +14 -0
- package/src/FontFace.ts +31 -0
- package/src/InitialConfiguration.ts +207 -0
- package/src/Keys.ts +295 -0
- package/src/ManagedStyles.ts +92 -0
- package/src/MediaRange.ts +109 -0
- package/src/{util/parseProperties.js → PropertiesFileFormat.ts} +14 -8
- package/src/Render.ts +180 -0
- package/src/RenderQueue.ts +71 -0
- package/src/Runtimes.ts +114 -0
- package/src/StaticArea.ts +3 -0
- package/src/StaticAreaItem.ts +113 -0
- package/src/SystemCSSVars.ts +10 -0
- package/src/Theming.ts +4 -0
- package/src/UI5Element.ts +1125 -0
- package/src/UI5ElementMetadata.ts +364 -0
- package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
- package/src/animations/animate.ts +64 -0
- package/src/animations/scroll.ts +21 -0
- package/src/animations/{slideDown.js → slideDown.ts} +27 -34
- package/src/animations/{slideUp.js → slideUp.ts} +28 -32
- package/src/asset-registries/Icons.ts +161 -0
- package/src/asset-registries/Illustrations.ts +73 -0
- package/src/asset-registries/LocaleData.ts +172 -0
- package/src/asset-registries/Themes.ts +67 -0
- package/src/asset-registries/i18n.ts +118 -0
- package/src/assets-meta/IconCollectionsAlias.ts +18 -0
- package/src/config/AnimationMode.ts +33 -0
- package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
- package/src/config/FormatSettings.ts +21 -0
- package/src/config/Icons.ts +59 -0
- package/src/config/Language.ts +72 -0
- package/src/config/NoConflict.ts +67 -0
- package/src/config/{RTL.js → RTL.ts} +14 -4
- package/src/config/Theme.ts +64 -0
- package/src/config/ThemeRoots.ts +41 -0
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +66 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +17 -0
- package/src/delegate/ItemNavigation.ts +393 -0
- package/src/delegate/ResizeHandler.ts +95 -0
- package/src/delegate/ScrollEnablement.ts +215 -0
- package/src/features/F6Navigation.ts +141 -0
- package/src/features/OpenUI5Element.ts +11 -0
- package/src/features/OpenUI5Enablement.ts +117 -0
- package/src/features/OpenUI5Support.ts +148 -0
- package/src/getSharedResource.ts +30 -0
- package/src/i18nBundle.ts +108 -0
- package/src/locale/{Locale.js → Locale.ts} +15 -5
- package/src/locale/RTLAwareRegistry.ts +16 -0
- package/src/locale/applyDirection.ts +18 -0
- package/src/locale/directionChange.ts +34 -0
- package/src/locale/getEffectiveDir.ts +28 -0
- package/src/locale/{getLocale.js → getLocale.ts} +20 -5
- package/src/locale/languageChange.ts +24 -0
- package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
- package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +4 -2
- package/src/renderer/LitRenderer.ts +60 -0
- package/src/renderer/directives/style-map.js +72 -0
- package/src/renderer/executeTemplate.ts +40 -0
- package/src/theming/CustomStyle.ts +62 -0
- package/src/theming/ThemeLoaded.ts +24 -0
- package/src/theming/applyTheme.ts +90 -0
- package/src/theming/getConstructableStyle.ts +31 -0
- package/src/theming/getEffectiveLinksHrefs.ts +24 -0
- package/src/theming/getEffectiveStyle.ts +41 -0
- package/src/theming/getStylesString.ts +13 -0
- package/src/theming/getThemeDesignerTheme.ts +101 -0
- package/src/theming/preloadLinks.ts +24 -0
- package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
- package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
- package/src/thirdparty/merge.ts +5 -0
- package/src/types/AnimationMode.ts +33 -0
- package/src/types/CSSColor.ts +20 -0
- package/src/types/CalendarType.ts +38 -0
- package/src/types/DOMReference.ts +28 -0
- package/src/types/DataType.ts +51 -0
- package/src/types/Float.ts +25 -0
- package/src/types/Integer.ts +25 -0
- package/src/types/InvisibleMessageMode.ts +27 -0
- package/src/types/ItemNavigationBehavior.ts +26 -0
- package/src/types/NavigationMode.ts +33 -0
- package/src/types/ValueState.ts +47 -0
- package/src/types.ts +22 -0
- package/src/updateShadowRoot.ts +37 -0
- package/src/util/AriaLabelHelper.ts +63 -0
- package/src/util/Caret.ts +28 -0
- package/src/util/ColorConversion.ts +394 -0
- package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
- package/src/util/FocusableElements.ts +80 -0
- package/src/util/HTMLSanitizer.ts +9 -0
- package/src/util/InvisibleMessage.ts +69 -0
- package/src/util/PopupUtils.ts +114 -0
- package/src/util/SlotsHelper.ts +39 -0
- package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
- package/src/util/TabbableElements.ts +56 -0
- package/src/util/arraysAreEqual.ts +15 -0
- package/src/util/clamp.ts +12 -0
- package/src/util/createLinkInHead.ts +25 -0
- package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
- package/src/util/debounce.ts +18 -0
- package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
- package/src/util/escapeRegex.ts +11 -0
- package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
- package/src/util/generateHighlightedMarkup.ts +43 -0
- package/src/util/getActiveElement.ts +11 -0
- package/src/util/getClassCopy.ts +12 -0
- package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
- package/src/util/getEffectiveContentDensity.ts +5 -0
- package/src/util/getEffectiveScrollbarStyle.ts +5 -0
- package/src/util/getFastNavigationGroups.ts +63 -0
- package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
- package/src/util/getNormalizedTarget.ts +16 -0
- package/src/util/getSingletonElementInstance.ts +13 -0
- package/src/util/isDefaultSlotProvided.ts +11 -0
- package/src/util/isElementClickable.ts +19 -0
- package/src/util/isElementHidden.ts +9 -0
- package/src/util/isElementInView.ts +15 -0
- package/src/util/isElementTabbable.ts +28 -0
- package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +7 -6
- package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
- package/src/validateThemeRoot.ts +58 -0
- package/tsconfig.json +13 -0
- package/used-modules.txt +10 -0
- package/bundle.es5.js +0 -28
- package/config/.eslintrc.js +0 -3
- package/config/rollup.config.js +0 -1
- package/dist/RenderScheduler.js +0 -178
- package/dist/SVGIconRegistry.js +0 -60
- package/dist/animations/config.js +0 -5
- package/dist/boot.js +0 -34
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -44
- package/dist/features/PropertiesFormatSupport.js +0 -8
- package/dist/features/browsersupport/Edge.js +0 -6
- package/dist/features/browsersupport/IE11.js +0 -41
- package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/resources/bundle.es5.js +0 -212
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/resources/bundle.esm.js +0 -129
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -13
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -37
- package/dist/test-resources/elements/WithStaticArea.js +0 -76
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -20
- package/dist/test-resources/pages/ConfigurationScript.html +0 -36
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
- package/dist/test-resources/specs/StaticArea.spec.js +0 -34
- package/dist/test-resources/specs/Theming.spec.js +0 -31
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
- package/dist/theming/CSSVarsPonyfill.js +0 -24
- package/dist/theming/adaptCSSForIE.js +0 -90
- package/dist/theming/createComponentStyleTag.js +0 -49
- package/dist/theming/createThemePropertiesStyleTag.js +0 -20
- package/dist/thirdparty/Array.from.js +0 -16
- package/dist/thirdparty/Array.prototype.fill.js +0 -44
- package/dist/thirdparty/Array.prototype.find.js +0 -46
- package/dist/thirdparty/Array.prototype.includes.js +0 -51
- package/dist/thirdparty/Element.prototype.closest.js +0 -11
- package/dist/thirdparty/Element.prototype.matches.js +0 -6
- package/dist/thirdparty/Map.prototype.keys.js +0 -9
- package/dist/thirdparty/Number.isInteger.js +0 -5
- package/dist/thirdparty/Number.isNaN.js +0 -1
- package/dist/thirdparty/Number.parseInt.js +0 -1
- package/dist/thirdparty/Object.assign.js +0 -31
- package/dist/thirdparty/Object.entries.js +0 -11
- package/dist/thirdparty/Symbol.js +0 -2
- package/dist/thirdparty/WeakSet.js +0 -27
- package/dist/thirdparty/es6-string-methods.js +0 -182
- package/dist/thirdparty/events-polyfills.js +0 -89
- package/dist/thirdparty/fetch.js +0 -1
- package/dist/thirdparty/template.js +0 -600
- package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/isSlot.js +0 -3
- package/dist/util/parseProperties.js +0 -89
- package/dist/util/setToArray.js +0 -10
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
- package/src/AssetRegistry.js +0 -10
- package/src/CustomElementsRegistry.js +0 -39
- package/src/Device.js +0 -823
- package/src/EventProvider.js +0 -81
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -73
- package/src/InitialConfiguration.js +0 -131
- package/src/Keys.js +0 -170
- package/src/RenderQueue.js +0 -42
- package/src/RenderScheduler.js +0 -178
- package/src/SVGIconRegistry.js +0 -60
- package/src/StaticArea.js +0 -41
- package/src/StaticAreaItem.js +0 -105
- package/src/SystemCSSVars.js +0 -31
- package/src/Theming.js +0 -3
- package/src/UI5Element.js +0 -992
- package/src/UI5ElementMetadata.js +0 -187
- package/src/animations/animate.js +0 -53
- package/src/animations/config.js +0 -5
- package/src/animations/scroll.js +0 -28
- package/src/asset-registries/Icons.js +0 -31
- package/src/asset-registries/LocaleData.js +0 -125
- package/src/asset-registries/Themes.js +0 -87
- package/src/asset-registries/i18n.js +0 -106
- package/src/boot.js +0 -34
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/config/AnimationMode.js +0 -13
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -41
- package/src/config/NoConflict.js +0 -51
- package/src/config/Theme.js +0 -28
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/ItemNavigation.js +0 -282
- package/src/delegate/NativeResize.js +0 -44
- package/src/delegate/ResizeHandler.js +0 -65
- package/src/delegate/ScrollEnablement.js +0 -159
- package/src/features/OpenUI5Support.js +0 -90
- package/src/features/PropertiesFormatSupport.js +0 -8
- package/src/features/browsersupport/Edge.js +0 -6
- package/src/features/browsersupport/IE11.js +0 -41
- package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/src/i18nBundle.js +0 -33
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -15
- package/src/locale/languageChange.js +0 -22
- package/src/renderer/LitRenderer.js +0 -15
- package/src/renderer/ifDefined.js +0 -21
- package/src/theming/CSSVarsPonyfill.js +0 -24
- package/src/theming/CustomStyle.js +0 -19
- package/src/theming/adaptCSSForIE.js +0 -90
- package/src/theming/applyTheme.js +0 -81
- package/src/theming/createComponentStyleTag.js +0 -49
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/theming/getConstructableStyle.js +0 -25
- package/src/theming/getEffectiveStyle.js +0 -15
- package/src/theming/getThemeDesignerTheme.js +0 -67
- package/src/thirdparty/Array.from.js +0 -16
- package/src/thirdparty/Array.prototype.fill.js +0 -44
- package/src/thirdparty/Array.prototype.find.js +0 -46
- package/src/thirdparty/Array.prototype.includes.js +0 -51
- package/src/thirdparty/Element.prototype.closest.js +0 -11
- package/src/thirdparty/Element.prototype.matches.js +0 -6
- package/src/thirdparty/Map.prototype.keys.js +0 -9
- package/src/thirdparty/Number.isInteger.js +0 -5
- package/src/thirdparty/Number.isNaN.js +0 -1
- package/src/thirdparty/Number.parseInt.js +0 -1
- package/src/thirdparty/Object.assign.js +0 -31
- package/src/thirdparty/Object.entries.js +0 -11
- package/src/thirdparty/Symbol.js +0 -2
- package/src/thirdparty/WeakSet.js +0 -27
- package/src/thirdparty/es6-string-methods.js +0 -182
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/merge.js +0 -10
- package/src/thirdparty/template.js +0 -600
- package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -25
- package/src/types/Float.js +0 -10
- package/src/types/Integer.js +0 -9
- package/src/types/ItemNavigationBehavior.js +0 -21
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/util/FocusableElements.js +0 -66
- package/src/util/TabbableElements.js +0 -47
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isNodeClickable.js +0 -19
- package/src/util/isNodeHidden.js +0 -9
- package/src/util/isNodeTabbable.js +0 -28
- package/src/util/isSlot.js +0 -3
- package/src/util/setToArray.js +0 -10
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import getEffectiveLinksHrefs from "./getEffectiveLinksHrefs.js";
|
|
2
|
+
import createLinkInHead from "../util/createLinkInHead.js";
|
|
3
|
+
import { shouldUseLinks, shouldPreloadLinks } from "../CSP.js";
|
|
4
|
+
import type UI5Element from "../UI5Element.js";
|
|
5
|
+
|
|
6
|
+
const preloaded = new Set<string>();
|
|
7
|
+
|
|
8
|
+
const preloadLinks = (ElementClass: typeof UI5Element) => {
|
|
9
|
+
if (!shouldUseLinks() || !shouldPreloadLinks()) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const linksHrefs = getEffectiveLinksHrefs(ElementClass, false) || [];
|
|
14
|
+
const staticAreaLinksHrefs = getEffectiveLinksHrefs(ElementClass, true) || [];
|
|
15
|
+
|
|
16
|
+
[...linksHrefs, ...staticAreaLinksHrefs].forEach(href => {
|
|
17
|
+
if (!preloaded.has(href)) {
|
|
18
|
+
createLinkInHead(href, { rel: "preload", as: "style" });
|
|
19
|
+
preloaded.add(href);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default preloadLinks;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import isPlainObject from './isPlainObject.js';
|
|
2
2
|
var oToken = Object.create(null);
|
|
3
|
-
var fnMerge = function () {
|
|
3
|
+
var fnMerge = function (arg1?: any, arg2?: any, arg3?: any, arg4?: any) {
|
|
4
4
|
var src, copyIsArray, copy, name, options, clone, target = arguments[2] || {}, i = 3, length = arguments.length, deep = arguments[0] || false, skipToken = arguments[1] ? undefined : oToken;
|
|
5
5
|
if (typeof target !== 'object' && typeof target !== 'function') {
|
|
6
6
|
target = {};
|
|
@@ -29,4 +29,4 @@ var fnMerge = function () {
|
|
|
29
29
|
}
|
|
30
30
|
return target;
|
|
31
31
|
};
|
|
32
|
-
export default fnMerge;
|
|
32
|
+
export default fnMerge;
|
|
@@ -3,7 +3,7 @@ var hasOwn = class2type.hasOwnProperty;
|
|
|
3
3
|
var toString = class2type.toString;
|
|
4
4
|
var fnToString = hasOwn.toString;
|
|
5
5
|
var ObjectFunctionString = fnToString.call(Object);
|
|
6
|
-
var fnIsPlainObject = function (obj) {
|
|
6
|
+
var fnIsPlainObject = function (obj: object) {
|
|
7
7
|
var proto, Ctor;
|
|
8
8
|
if (!obj || toString.call(obj) !== "[object Object]") {
|
|
9
9
|
return false;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different types of AnimationMode.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webcomponents.base.types.AnimationMode
|
|
9
|
+
*/
|
|
10
|
+
enum AnimationMode {
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
* @type {Full}
|
|
14
|
+
*/
|
|
15
|
+
Full = "full",
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
* @type {Basic}
|
|
19
|
+
*/
|
|
20
|
+
Basic = "basic",
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
* @type {Minimal}
|
|
24
|
+
*/
|
|
25
|
+
Minimal = "minimal",
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
* @type {None}
|
|
29
|
+
*/
|
|
30
|
+
None = "none",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default AnimationMode;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import DataType from "./DataType.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
* CSSColor data type.
|
|
6
|
+
*
|
|
7
|
+
* @extends sap.ui.webcomponents.base.types.DataType
|
|
8
|
+
* @constructor
|
|
9
|
+
* @author SAP SE
|
|
10
|
+
* @alias sap.ui.webcomponents.base.types.CSSColor
|
|
11
|
+
* @public
|
|
12
|
+
* @enum {string}
|
|
13
|
+
*/
|
|
14
|
+
class CSSColor extends DataType {
|
|
15
|
+
static override isValid(value: string) {
|
|
16
|
+
return /^(#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})|rgb\(\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*(,\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*){2}\)|rgba\((\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*,){3}\s*(0(\.[0-9]+)?|1(\.0+)?)\s*\)|hsl\(\s*([0-2]?[0-9]?[0-9]|3([0-5][0-9]|60))\s*(,\s*(([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*){2}\)|hsla\(\s*([0-2]?[0-9]?[0-9]|3([0-5][0-9]|60))\s*,(\s*(([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*,){2}\s*(0(\.[0-9]+)?|1(\.0+)?)\s*\)|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgrey|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|grey|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgrey|lightgreen|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silverskyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|transparent|inherit|)$/.test(value ); // eslint-disable-line
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default CSSColor;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different calendar types.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webcomponents.base.types.CalendarType
|
|
9
|
+
*/
|
|
10
|
+
enum CalendarType {
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
* @type {Gregorian}
|
|
14
|
+
*/
|
|
15
|
+
Gregorian = "Gregorian",
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
* @type {Islamic}
|
|
19
|
+
*/
|
|
20
|
+
Islamic = "Islamic",
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
* @type {Japanese}
|
|
24
|
+
*/
|
|
25
|
+
Japanese = "Japanese",
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
* @type {Buddhist}
|
|
29
|
+
*/
|
|
30
|
+
Buddhist = "Buddhist",
|
|
31
|
+
/**
|
|
32
|
+
* @public
|
|
33
|
+
* @type {Persian}
|
|
34
|
+
*/
|
|
35
|
+
Persian = "Persian",
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default CalendarType;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import DataType from "./DataType.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
* DOM Element reference or ID.
|
|
6
|
+
* <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.
|
|
7
|
+
*
|
|
8
|
+
* @constructor
|
|
9
|
+
* @extends sap.ui.webcomponents.base.types.DataType
|
|
10
|
+
* @author SAP SE
|
|
11
|
+
* @alias sap.ui.webcomponents.base.types.DOMReference
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class DOMReference extends DataType {
|
|
15
|
+
static override isValid(value: string | HTMLElement) {
|
|
16
|
+
return (typeof value === "string" || value instanceof HTMLElement);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static override propertyToAttribute(propertyValue: string | HTMLElement) {
|
|
20
|
+
if (propertyValue instanceof HTMLElement) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return propertyValue;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default DOMReference;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { PropertyValue } from "../UI5ElementMetadata.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Base class for all data types.
|
|
5
|
+
*
|
|
6
|
+
* @class
|
|
7
|
+
* @constructor
|
|
8
|
+
* @author SAP SE
|
|
9
|
+
* @alias sap.ui.webcomponents.base.types.DataType
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
class DataType {
|
|
13
|
+
/**
|
|
14
|
+
* Checks if the value is valid for its data type.
|
|
15
|
+
* @public
|
|
16
|
+
* @abstract
|
|
17
|
+
* @returns {Boolean}
|
|
18
|
+
*/
|
|
19
|
+
// eslint-disable-next-line
|
|
20
|
+
static isValid(value: any): boolean {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static attributeToProperty(attributeValue: string | null): PropertyValue {
|
|
25
|
+
return attributeValue;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static propertyToAttribute(propertyValue: PropertyValue): string | null {
|
|
29
|
+
return propertyValue === null ? null : String(propertyValue);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static valuesAreEqual(value1: any, value2: any) {
|
|
33
|
+
return value1 === value2;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static generateTypeAccessors(types: Record<string, string>) {
|
|
37
|
+
Object.keys(types).forEach(type => {
|
|
38
|
+
Object.defineProperty(this, type, {
|
|
39
|
+
get() {
|
|
40
|
+
return types[type];
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
static get isDataTypeClass() {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default DataType;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PropertyValue } from "../UI5ElementMetadata.js";
|
|
2
|
+
import DataType from "./DataType.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @class
|
|
6
|
+
* Float data type.
|
|
7
|
+
*
|
|
8
|
+
* @constructor
|
|
9
|
+
* @extends sap.ui.webcomponents.base.types.DataType
|
|
10
|
+
* @author SAP SE
|
|
11
|
+
* @alias sap.ui.webcomponents.base.types.Float
|
|
12
|
+
* @public
|
|
13
|
+
* @enum {number}
|
|
14
|
+
*/
|
|
15
|
+
class Float extends DataType {
|
|
16
|
+
static override isValid(value: any) {
|
|
17
|
+
return Number(value) === value;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static override attributeToProperty(attributeValue: string): PropertyValue {
|
|
21
|
+
return parseFloat(attributeValue);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default Float;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PropertyValue } from "../UI5ElementMetadata.js";
|
|
2
|
+
import DataType from "./DataType.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @class
|
|
6
|
+
* Integer data type.
|
|
7
|
+
*
|
|
8
|
+
* @constructor
|
|
9
|
+
* @extends sap.ui.webcomponents.base.types.DataType
|
|
10
|
+
* @author SAP SE
|
|
11
|
+
* @alias sap.ui.webcomponents.base.types.Integer
|
|
12
|
+
* @public
|
|
13
|
+
* @enum {number}
|
|
14
|
+
*/
|
|
15
|
+
class Integer extends DataType {
|
|
16
|
+
static override isValid(value: any) {
|
|
17
|
+
return Number.isInteger(value);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static override attributeToProperty(attributeValue: string): PropertyValue {
|
|
21
|
+
return parseInt(attributeValue);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default Integer;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enumeration for different mode behaviors of the InvisibleMessage.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webcomponents.base.types.InvisibleMessageMode
|
|
9
|
+
*/
|
|
10
|
+
enum InvisibleMessageMode {
|
|
11
|
+
/**
|
|
12
|
+
* Indicates that updates to the region should be presented at the next graceful opportunity,
|
|
13
|
+
* such as at the end of reading the current sentence, or when the user pauses typing.
|
|
14
|
+
* @public
|
|
15
|
+
* @type {Polite}
|
|
16
|
+
*/
|
|
17
|
+
Polite = "Polite",
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Indicates that updates to the region have the highest priority and should be presented to the user immediately.
|
|
21
|
+
* @public
|
|
22
|
+
* @type {Assertive}
|
|
23
|
+
*/
|
|
24
|
+
Assertive = "Assertive",
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default InvisibleMessageMode;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different behavior for ItemNavigation.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webcomponents.base.types.ItemNavigationBehavior
|
|
9
|
+
*/
|
|
10
|
+
enum ItemNavigationBehavior {
|
|
11
|
+
/**
|
|
12
|
+
* Static behavior: navigations stops at the first or last item.
|
|
13
|
+
* @public
|
|
14
|
+
* @type {Static}
|
|
15
|
+
*/
|
|
16
|
+
Static = "Static",
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Cycling behavior: navigating past the last item continues with the first and vice versa.
|
|
20
|
+
* @public
|
|
21
|
+
* @type {Cyclic}
|
|
22
|
+
*/
|
|
23
|
+
Cyclic = "Cyclic",
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ItemNavigationBehavior;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different navigation modes for ItemNavigation.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webcomponents.base.types.NavigationMode
|
|
9
|
+
*/
|
|
10
|
+
enum NavigationMode {
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
* @type {Auto}
|
|
14
|
+
*/
|
|
15
|
+
Auto = "Auto",
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
* @type {Vertical}
|
|
19
|
+
*/
|
|
20
|
+
Vertical = "Vertical",
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
* @type {Horizontal}
|
|
24
|
+
*/
|
|
25
|
+
Horizontal = "Horizontal",
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
* @type {Paging}
|
|
29
|
+
*/
|
|
30
|
+
Paging = "Paging",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default NavigationMode;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different types of ValueStates.
|
|
3
|
+
*
|
|
4
|
+
* @class
|
|
5
|
+
* @enum {string}
|
|
6
|
+
* @public
|
|
7
|
+
* @author SAP SE
|
|
8
|
+
* @alias sap.ui.webcomponents.base.types.ValueState
|
|
9
|
+
*/
|
|
10
|
+
enum ValueState {
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
* @type {None}
|
|
15
|
+
*/
|
|
16
|
+
None = "None",
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
* @type {Success}
|
|
22
|
+
*/
|
|
23
|
+
Success = "Success",
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
* @type {Warning}
|
|
29
|
+
*/
|
|
30
|
+
Warning = "Warning",
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
* @type {Error}
|
|
36
|
+
*/
|
|
37
|
+
Error = "Error",
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
* @type {Information}
|
|
43
|
+
*/
|
|
44
|
+
Information = "Information",
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default ValueState;
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type PromiseResolve = (value: void | PromiseLike<void>) => void;
|
|
2
|
+
type Timeout = ReturnType<typeof setTimeout>;
|
|
3
|
+
|
|
4
|
+
type StyleDataCSP = {
|
|
5
|
+
content: string,
|
|
6
|
+
packageName: string,
|
|
7
|
+
fileName: string,
|
|
8
|
+
};
|
|
9
|
+
type StyleData = StyleDataCSP | string;
|
|
10
|
+
|
|
11
|
+
type I18nDefaultText = {
|
|
12
|
+
key: string,
|
|
13
|
+
defaultText: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type {
|
|
17
|
+
PromiseResolve,
|
|
18
|
+
Timeout,
|
|
19
|
+
StyleData,
|
|
20
|
+
StyleDataCSP,
|
|
21
|
+
I18nDefaultText,
|
|
22
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import executeTemplate from "./renderer/executeTemplate.js";
|
|
2
|
+
import getConstructableStyle from "./theming/getConstructableStyle.js";
|
|
3
|
+
import getEffectiveStyle from "./theming/getEffectiveStyle.js";
|
|
4
|
+
import getEffectiveLinksHrefs from "./theming/getEffectiveLinksHrefs.js";
|
|
5
|
+
import { shouldUseLinks } from "./CSP.js";
|
|
6
|
+
import type UI5Element from "./UI5Element.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Updates the shadow root of a UI5Element or its static area item
|
|
10
|
+
* @param element
|
|
11
|
+
* @param forStaticArea
|
|
12
|
+
*/
|
|
13
|
+
const updateShadowRoot = (element: UI5Element, forStaticArea = false) => {
|
|
14
|
+
let styleStrOrHrefsArr;
|
|
15
|
+
const ctor = element.constructor as typeof UI5Element;
|
|
16
|
+
const propertyName = forStaticArea ? "staticAreaTemplate" : "template";
|
|
17
|
+
const template = ctor[propertyName];
|
|
18
|
+
const shadowRoot = forStaticArea ? element.staticAreaItem!.shadowRoot : element.shadowRoot;
|
|
19
|
+
const renderResult = executeTemplate(template!, element); // this is checked before calling updateShadowRoot
|
|
20
|
+
|
|
21
|
+
if (!shadowRoot) {
|
|
22
|
+
console.warn(`There is no shadow root to update`); // eslint-disable-line
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (shouldUseLinks()) {
|
|
27
|
+
styleStrOrHrefsArr = getEffectiveLinksHrefs(ctor, forStaticArea);
|
|
28
|
+
} else if (document.adoptedStyleSheets) { // Chrome
|
|
29
|
+
shadowRoot.adoptedStyleSheets = getConstructableStyle(ctor, forStaticArea);
|
|
30
|
+
} else { // FF, Safari
|
|
31
|
+
styleStrOrHrefsArr = getEffectiveStyle(ctor, forStaticArea);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ctor.render(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export default updateShadowRoot;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
type AccessibleElement = HTMLElement & {
|
|
2
|
+
accessibleNameRef: string,
|
|
3
|
+
accessibleName: string,
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const getEffectiveAriaLabelText = (el: HTMLElement) => {
|
|
7
|
+
const accessibleEl = el as AccessibleElement;
|
|
8
|
+
|
|
9
|
+
if (!accessibleEl.accessibleNameRef) {
|
|
10
|
+
if (accessibleEl.accessibleName) {
|
|
11
|
+
return accessibleEl.accessibleName;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return _getAriaLabelledByTexts(el);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
|
|
23
|
+
*/
|
|
24
|
+
const _getAriaLabelledByTexts = (el: HTMLElement) => {
|
|
25
|
+
const ids = (el as AccessibleElement).accessibleNameRef.split(" ");
|
|
26
|
+
const owner = el.getRootNode() as HTMLElement;
|
|
27
|
+
let result = "";
|
|
28
|
+
|
|
29
|
+
ids.forEach((elementId: string, index: number) => {
|
|
30
|
+
const element = owner.querySelector(`[id='${elementId}']`);
|
|
31
|
+
result += `${element && element.textContent ? element.textContent : ""}`;
|
|
32
|
+
|
|
33
|
+
if (index < ids.length - 1) {
|
|
34
|
+
result += " ";
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
|
|
43
|
+
*/
|
|
44
|
+
const getAssociatedLabelForTexts = (el: HTMLElement) => {
|
|
45
|
+
const results: Array<string> = [];
|
|
46
|
+
const labels = (el.getRootNode() as HTMLElement).querySelectorAll(`[ui5-label][for="${el.id}"],label[for="${el.id}"]`);
|
|
47
|
+
|
|
48
|
+
labels.forEach((label: Node) => {
|
|
49
|
+
const labelText = label.textContent;
|
|
50
|
+
labelText && results.push(labelText);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (results.length) {
|
|
54
|
+
return results.join(" ");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return undefined;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
getEffectiveAriaLabelText,
|
|
62
|
+
getAssociatedLabelForTexts,
|
|
63
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the caret (cursor) position of the specified text field (field).
|
|
3
|
+
* Return value range is 0-field.value.length.
|
|
4
|
+
*/
|
|
5
|
+
const getCaretPosition = (field: HTMLInputElement) => {
|
|
6
|
+
// Initialize
|
|
7
|
+
let caretPos: number | null = 0;
|
|
8
|
+
|
|
9
|
+
if (field.selectionStart || field.selectionStart === 0) { // Firefox support
|
|
10
|
+
caretPos = field.selectionDirection === "backward" ? field.selectionStart : field.selectionEnd;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return caretPos;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const setCaretPosition = (field: HTMLInputElement, caretPos: number | null) => {
|
|
17
|
+
if (field.selectionStart) {
|
|
18
|
+
field.focus();
|
|
19
|
+
field.setSelectionRange(caretPos, caretPos);
|
|
20
|
+
} else {
|
|
21
|
+
field.focus();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
getCaretPosition,
|
|
27
|
+
setCaretPosition,
|
|
28
|
+
};
|