@ui5/webcomponents-base 1.9.3 → 1.10.0
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 +1 -0
- package/CHANGELOG.md +0 -8
- package/bundle.esm.js +4 -1
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +2 -7
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +8 -0
- package/dist/Boot.js +29 -48
- package/dist/Boot.js.map +1 -0
- package/dist/CSP.d.ts +30 -0
- package/dist/CSP.js +16 -24
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +66 -83
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +10 -29
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/dist/CustomElementsScopeUtils.js +34 -52
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +12 -54
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +12 -0
- package/dist/Device.js +53 -83
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -82
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -10
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +14 -19
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +22 -0
- package/dist/InitialConfiguration.js +107 -146
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -291
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +62 -68
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MarkedEvents.d.ts +9 -0
- package/dist/MarkedEvents.js +15 -0
- package/dist/MarkedEvents.js.map +1 -0
- package/dist/MediaRange.d.ts +37 -0
- package/dist/MediaRange.js +54 -65
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +72 -82
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +81 -113
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +52 -62
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +49 -70
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +0 -0
- package/dist/StaticArea.js +4 -1
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +84 -94
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +4 -5
- package/dist/SystemCSSVars.js.map +1 -0
- package/dist/Theming.d.ts +3 -0
- package/dist/Theming.js +1 -1
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +373 -0
- package/dist/UI5Element.js +928 -1006
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +277 -313
- 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 -1
- package/dist/asset-registries/Icons.d.ts +30 -0
- package/dist/asset-registries/Icons.js +85 -118
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +17 -0
- package/dist/asset-registries/Illustrations.js +37 -50
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +104 -126
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +10 -0
- package/dist/asset-registries/Themes.js +36 -68
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +52 -80
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/bundle.esm.3d967c4e.js +56 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
- package/dist/assets-meta/IconCollectionsAlias.js +4 -4
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +21 -18
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +8 -0
- package/dist/config/CalendarType.js +13 -12
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +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 +28 -32
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +31 -0
- package/dist/config/Language.js +31 -43
- 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 +34 -36
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoots.d.ts +4 -0
- package/dist/config/ThemeRoots.js +18 -29
- package/dist/config/ThemeRoots.js.map +1 -0
- package/dist/decorators/customElement.d.ts +8 -0
- package/dist/decorators/customElement.js +16 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event.d.ts +10 -0
- package/dist/decorators/event.js +24 -0
- package/dist/decorators/event.js.map +1 -0
- package/dist/decorators/fastNavigation.d.ts +7 -0
- package/dist/decorators/fastNavigation.js +13 -0
- package/dist/decorators/fastNavigation.js.map +1 -0
- package/dist/decorators/languageAware.d.ts +7 -0
- package/dist/decorators/languageAware.js +13 -0
- package/dist/decorators/languageAware.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/themeAware.d.ts +7 -0
- package/dist/decorators/themeAware.js +13 -0
- package/dist/decorators/themeAware.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +277 -317
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +24 -0
- package/dist/delegate/ResizeHandler.js +68 -91
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +48 -0
- package/dist/delegate/ScrollEnablement.js +157 -180
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +16 -0
- package/dist/features/F6Navigation.js +105 -109
- 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 +89 -112
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +23 -0
- package/dist/features/OpenUI5Support.js +91 -120
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/VersionInfo.js +4 -4
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +12 -16
- package/dist/getSharedResource.js.map +1 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +56 -64
- package/dist/i18nBundle.js.map +1 -0
- package/dist/locale/Locale.d.ts +22 -0
- package/dist/locale/Locale.js +75 -87
- package/dist/locale/Locale.js.map +1 -0
- package/dist/locale/RTLAwareRegistry.d.ts +4 -0
- package/dist/locale/RTLAwareRegistry.js +6 -11
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +10 -0
- package/dist/locale/applyDirection.js +7 -7
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +7 -15
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +20 -24
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +26 -29
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +8 -16
- package/dist/locale/languageChange.js.map +1 -0
- package/dist/locale/nextFallbackLocale.d.ts +8 -0
- package/dist/locale/nextFallbackLocale.js +15 -19
- package/dist/locale/nextFallbackLocale.js.map +1 -0
- package/dist/locale/normalizeLocale.d.ts +7 -0
- package/dist/locale/normalizeLocale.js +34 -41
- package/dist/locale/normalizeLocale.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +28 -39
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +12 -16
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +28 -29
- package/dist/sap/base/assert.js +5 -6
- package/dist/sap/base/security/URLListValidator.js +13 -2
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +29 -43
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +8 -16
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +59 -68
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +12 -17
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
- package/dist/theming/getEffectiveLinksHrefs.js +12 -22
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +24 -31
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -13
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +72 -79
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +13 -17
- 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 +6 -7
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CalendarType.d.ts +37 -0
- package/dist/types/CalendarType.js +33 -53
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +17 -0
- package/dist/types/DOMReference.js +12 -15
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +25 -0
- package/dist/types/DataType.js +33 -32
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +18 -0
- package/dist/types/Float.js +9 -12
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +18 -0
- package/dist/types/Integer.js +9 -11
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +19 -38
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -12
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +32 -0
- package/dist/types/NavigationMode.js +33 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/ValueState.d.ts +42 -0
- package/dist/types/ValueState.js +38 -58
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +8 -0
- package/dist/updateShadowRoot.js +21 -16
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +6 -0
- package/dist/util/AriaLabelHelper.js +34 -46
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +16 -25
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +311 -372
- 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 +54 -71
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +4 -5
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +40 -53
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +58 -77
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +22 -35
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -47
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +2 -2
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +14 -17
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/createStyleInHead.d.ts +8 -0
- package/dist/util/createStyleInHead.js +10 -10
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +6 -8
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +8 -7
- 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 +26 -27
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +400 -0
- package/dist/util/getClassCopy.js +7 -7
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +4 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +2 -3
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +1 -2
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +44 -56
- 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 +7 -9
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +2 -0
- package/dist/util/getSingletonElementInstance.js +7 -10
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +6 -9
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +9 -0
- package/dist/util/isElementTabbable.js +30 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +16 -17
- package/dist/util/isValidPropertyName.js.map +1 -0
- package/dist/util/whenDOMReady.d.ts +2 -0
- package/dist/util/whenDOMReady.js +11 -10
- package/dist/util/whenDOMReady.js.map +1 -0
- package/dist/util/willShowContent.d.ts +2 -0
- package/dist/util/willShowContent.js +7 -0
- package/dist/util/willShowContent.js.map +1 -0
- package/dist/validateThemeRoot.d.ts +2 -0
- package/dist/validateThemeRoot.js +41 -52
- package/dist/validateThemeRoot.js.map +1 -0
- package/global.d.ts +44 -0
- package/package-scripts.js +14 -5
- package/package.json +4 -4
- package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
- package/src/Boot.ts +61 -0
- package/src/{CSP.js → CSP.ts} +14 -7
- package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
- package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
- package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
- package/src/DOMObserver.ts +28 -0
- package/src/{Device.js → Device.ts} +17 -14
- package/src/{EventProvider.js → EventProvider.ts} +9 -7
- package/src/FeaturesRegistry.ts +14 -0
- package/src/{FontFace.js → FontFace.ts} +3 -2
- package/src/{InitialConfiguration.js → InitialConfiguration.ts} +33 -12
- package/src/Keys.ts +295 -0
- package/src/ManagedStyles.ts +92 -0
- package/src/MarkedEvents.ts +20 -0
- package/src/{MediaRange.js → MediaRange.ts} +54 -53
- package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
- package/src/{Render.js → Render.ts} +25 -20
- package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
- package/src/{Runtimes.js → Runtimes.ts} +15 -8
- package/src/{StaticArea.js → StaticArea.ts} +0 -0
- package/src/{StaticAreaItem.js → StaticAreaItem.ts} +26 -22
- package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
- package/src/{Theming.js → Theming.ts} +0 -0
- package/src/{UI5Element.js → UI5Element.ts} +263 -153
- package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
- 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.js → Icons.ts} +63 -38
- package/src/asset-registries/Illustrations.ts +75 -0
- package/src/asset-registries/{LocaleData.js → LocaleData.ts} +35 -21
- package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
- package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
- package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -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.js → Icons.ts} +19 -12
- package/src/config/{Language.js → Language.ts} +22 -18
- 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.js → ThemeRoots.ts} +9 -7
- package/src/decorators/customElement.ts +17 -0
- package/src/decorators/event.ts +28 -0
- package/src/decorators/fastNavigation.ts +14 -0
- package/src/decorators/languageAware.ts +14 -0
- package/src/decorators/property.ts +30 -0
- package/src/decorators/slot.ts +49 -0
- package/src/decorators/themeAware.ts +14 -0
- package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
- package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
- package/src/delegate/ScrollEnablement.ts +221 -0
- package/src/features/{F6Navigation.js → F6Navigation.ts} +50 -25
- package/src/features/OpenUI5Element.ts +11 -0
- package/src/features/OpenUI5Enablement.ts +117 -0
- package/src/features/OpenUI5Support.ts +148 -0
- package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
- package/src/{i18nBundle.js → i18nBundle.ts} +45 -23
- package/src/locale/{Locale.js → Locale.ts} +15 -5
- package/src/locale/RTLAwareRegistry.ts +16 -0
- package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
- package/src/locale/{directionChange.js → directionChange.ts} +6 -4
- package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
- package/src/locale/{getLocale.js → getLocale.ts} +12 -7
- package/src/locale/languageChange.ts +24 -0
- package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
- package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
- package/src/renderer/LitRenderer.ts +60 -0
- package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
- package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
- package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
- package/src/theming/{applyTheme.js → applyTheme.ts} +16 -10
- package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
- package/src/theming/getEffectiveLinksHrefs.ts +26 -0
- package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
- package/src/theming/getStylesString.ts +15 -0
- package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
- package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
- 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.js → CSSColor.ts} +3 -3
- package/src/types/CalendarType.ts +38 -0
- package/src/types/{DOMReference.js → DOMReference.ts} +4 -4
- package/src/types/DataType.ts +51 -0
- package/src/types/{Float.js → Float.ts} +5 -5
- package/src/types/{Integer.js → Integer.ts} +5 -4
- 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 +30 -0
- package/src/updateShadowRoot.ts +37 -0
- package/src/util/AriaLabelHelper.ts +63 -0
- package/src/util/{Caret.js → Caret.ts} +5 -9
- package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
- package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
- package/src/util/FocusableElements.ts +82 -0
- package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
- package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
- package/src/util/PopupUtils.ts +112 -0
- package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
- package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
- package/src/util/TabbableElements.ts +70 -0
- package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
- package/src/util/{clamp.js → clamp.ts} +1 -1
- package/src/util/{createLinkInHead.js → createLinkInHead.ts} +6 -5
- package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
- package/src/util/{debounce.js → debounce.ts} +5 -4
- 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.js → generateHighlightedMarkup.ts} +7 -6
- package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
- package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
- package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
- package/src/util/getEffectiveContentDensity.ts +5 -0
- package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
- package/src/util/{getFastNavigationGroups.js → getFastNavigationGroups.ts} +10 -10
- package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
- package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
- package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
- package/src/util/isElementClickable.ts +19 -0
- package/src/util/isElementHidden.ts +9 -0
- package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
- package/src/util/isElementTabbable.ts +37 -0
- package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
- package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
- package/src/util/willShowContent.ts +7 -0
- package/src/{validateThemeRoot.js → validateThemeRoot.ts} +4 -4
- package/tsconfig.json +13 -0
- package/dist/RenderScheduler.js +0 -44
- package/dist/animations/config.js +0 -5
- package/dist/assets/bundle.esm.e2bd78ba.js +0 -55
- package/dist/types/CSSSize.js +0 -20
- package/dist/types/PopupState.js +0 -57
- package/dist/util/isDefaultSlotProvided.js +0 -11
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/setToArray.js +0 -10
- package/src/Boot.js +0 -63
- package/src/DOMObserver.js +0 -65
- package/src/FeaturesRegistry.js +0 -14
- package/src/Keys.js +0 -295
- package/src/ManagedStyles.js +0 -83
- package/src/RenderScheduler.js +0 -44
- 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/Illustrations.js +0 -59
- package/src/config/AnimationMode.js +0 -23
- package/src/config/FormatSettings.js +0 -13
- package/src/config/NoConflict.js +0 -51
- package/src/config/Theme.js +0 -53
- package/src/delegate/ScrollEnablement.js +0 -188
- package/src/features/OpenUI5Enablement.js +0 -119
- package/src/features/OpenUI5Support.js +0 -126
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/languageChange.js +0 -22
- package/src/renderer/LitRenderer.js +0 -52
- package/src/theming/getEffectiveLinksHrefs.js +0 -27
- package/src/theming/getStylesString.js +0 -15
- package/src/thirdparty/merge.js +0 -10
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSSize.js +0 -20
- package/src/types/CalendarType.js +0 -59
- package/src/types/DataType.js +0 -43
- package/src/types/InvisibleMessageMode.js +0 -46
- package/src/types/ItemNavigationBehavior.js +0 -16
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -57
- package/src/types/ValueState.js +0 -64
- package/src/updateShadowRoot.js +0 -29
- package/src/util/AriaLabelHelper.js +0 -56
- package/src/util/FocusableElements.js +0 -79
- package/src/util/PopupUtils.js +0 -93
- package/src/util/TabbableElements.js +0 -51
- package/src/util/escapeRegex.js +0 -10
- package/src/util/getEffectiveContentDensity.js +0 -5
- package/src/util/isDefaultSlotProvided.js +0 -11
- 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/setToArray.js +0 -10
|
@@ -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.webc.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,30 @@
|
|
|
1
|
+
type PromiseResolve = (value: void | PromiseLike<void>) => void;
|
|
2
|
+
type Timeout = ReturnType<typeof setTimeout>;
|
|
3
|
+
type Interval = ReturnType<typeof setInterval>;
|
|
4
|
+
|
|
5
|
+
type StyleDataCSP = {
|
|
6
|
+
content: string,
|
|
7
|
+
packageName: string,
|
|
8
|
+
fileName: string,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
type StyleData = StyleDataCSP | string;
|
|
12
|
+
|
|
13
|
+
type ComponentStylesData = Array<ComponentStylesData> | Array<StyleData> | StyleData;
|
|
14
|
+
|
|
15
|
+
type ClassMapValue = Record<string, boolean>
|
|
16
|
+
|
|
17
|
+
type ClassMap = { [x: string] : ClassMapValue | ClassMap };
|
|
18
|
+
|
|
19
|
+
type PassiveEventListenerObject = EventListenerObject & { passive: boolean };
|
|
20
|
+
|
|
21
|
+
export type {
|
|
22
|
+
PromiseResolve,
|
|
23
|
+
Timeout,
|
|
24
|
+
Interval,
|
|
25
|
+
StyleData,
|
|
26
|
+
StyleDataCSP,
|
|
27
|
+
ComponentStylesData,
|
|
28
|
+
ClassMap,
|
|
29
|
+
PassiveEventListenerObject,
|
|
30
|
+
};
|
|
@@ -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
|
+
};
|
|
@@ -2,23 +2,19 @@
|
|
|
2
2
|
* Returns the caret (cursor) position of the specified text field (field).
|
|
3
3
|
* Return value range is 0-field.value.length.
|
|
4
4
|
*/
|
|
5
|
-
const getCaretPosition = field => {
|
|
5
|
+
const getCaretPosition = (field: HTMLInputElement): number | null => {
|
|
6
6
|
// Initialize
|
|
7
|
-
let caretPos = 0;
|
|
7
|
+
let caretPos: number | null = 0;
|
|
8
8
|
|
|
9
|
-
if (field.selectionStart || field.selectionStart ===
|
|
9
|
+
if (field.selectionStart || field.selectionStart === 0) { // Firefox support
|
|
10
10
|
caretPos = field.selectionDirection === "backward" ? field.selectionStart : field.selectionEnd;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
return caretPos;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
const setCaretPosition = (field, caretPos) => {
|
|
17
|
-
if (field.
|
|
18
|
-
const range = field.createTextRange();
|
|
19
|
-
range.move("character", caretPos);
|
|
20
|
-
range.select();
|
|
21
|
-
} else if (field.selectionStart) {
|
|
16
|
+
const setCaretPosition = (field: HTMLInputElement, caretPos: number | null) => {
|
|
17
|
+
if (field.selectionStart) {
|
|
22
18
|
field.focus();
|
|
23
19
|
field.setSelectionRange(caretPos, caretPos);
|
|
24
20
|
} else {
|
|
@@ -3,161 +3,173 @@
|
|
|
3
3
|
* @param {String} color Color in one of the following formats: RGBA or HEX
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
type ColorHSL = {
|
|
7
|
+
h: number,
|
|
8
|
+
s: number,
|
|
9
|
+
l: number,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type ColorRGB = {
|
|
13
|
+
r: number,
|
|
14
|
+
b: number,
|
|
15
|
+
g: number,
|
|
16
|
+
};
|
|
17
|
+
|
|
6
18
|
/**
|
|
7
19
|
* Map of CSS colors to hex representation
|
|
8
20
|
*/
|
|
9
|
-
|
|
10
|
-
aliceblue
|
|
11
|
-
antiquewhite
|
|
12
|
-
aqua
|
|
13
|
-
aquamarine
|
|
14
|
-
azure
|
|
15
|
-
beige
|
|
16
|
-
bisque
|
|
17
|
-
black
|
|
18
|
-
blanchedalmond
|
|
19
|
-
blue
|
|
20
|
-
blueviolet
|
|
21
|
-
brown
|
|
22
|
-
burlywood
|
|
23
|
-
cadetblue
|
|
24
|
-
chartreuse
|
|
25
|
-
chocolate
|
|
26
|
-
coral
|
|
27
|
-
cornflowerblue
|
|
28
|
-
cornsilk
|
|
29
|
-
crimson
|
|
30
|
-
cyan
|
|
31
|
-
darkblue
|
|
32
|
-
darkcyan
|
|
33
|
-
darkgoldenrod
|
|
34
|
-
darkgray
|
|
35
|
-
darkgrey
|
|
36
|
-
darkgreen
|
|
37
|
-
darkkhaki
|
|
38
|
-
darkmagenta
|
|
39
|
-
darkolivegreen
|
|
40
|
-
darkorange
|
|
41
|
-
darkorchid
|
|
42
|
-
darkred
|
|
43
|
-
darksalmon
|
|
44
|
-
darkseagreen
|
|
45
|
-
darkslateblue
|
|
46
|
-
darkslategray
|
|
47
|
-
darkslategrey
|
|
48
|
-
darkturquoise
|
|
49
|
-
darkviolet
|
|
50
|
-
deeppink
|
|
51
|
-
deepskyblue
|
|
52
|
-
dimgray
|
|
53
|
-
dimgrey
|
|
54
|
-
dodgerblue
|
|
55
|
-
firebrick
|
|
56
|
-
floralwhite
|
|
57
|
-
forestgreen
|
|
58
|
-
fuchsia
|
|
59
|
-
gainsboro
|
|
60
|
-
ghostwhite
|
|
61
|
-
gold
|
|
62
|
-
goldenrod
|
|
63
|
-
gray
|
|
64
|
-
grey
|
|
65
|
-
green
|
|
66
|
-
greenyellow
|
|
67
|
-
honeydew
|
|
68
|
-
hotpink
|
|
69
|
-
indianred
|
|
70
|
-
indigo
|
|
71
|
-
ivory
|
|
72
|
-
khaki
|
|
73
|
-
lavender
|
|
74
|
-
lavenderblush
|
|
75
|
-
lawngreen
|
|
76
|
-
lemonchiffon
|
|
77
|
-
lightblue
|
|
78
|
-
lightcoral
|
|
79
|
-
lightcyan
|
|
80
|
-
lightgoldenrodyellow
|
|
81
|
-
lightgray
|
|
82
|
-
lightgrey
|
|
83
|
-
lightgreen
|
|
84
|
-
lightpink
|
|
85
|
-
lightsalmon
|
|
86
|
-
lightseagreen
|
|
87
|
-
lightskyblue
|
|
88
|
-
lightslategray
|
|
89
|
-
lightslategrey
|
|
90
|
-
lightsteelblue
|
|
91
|
-
lightyellow
|
|
92
|
-
lime
|
|
93
|
-
limegreen
|
|
94
|
-
linen
|
|
95
|
-
magenta
|
|
96
|
-
maroon
|
|
97
|
-
mediumaquamarine
|
|
98
|
-
mediumblue
|
|
99
|
-
mediumorchid
|
|
100
|
-
mediumpurple
|
|
101
|
-
mediumseagreen
|
|
102
|
-
mediumslateblue
|
|
103
|
-
mediumspringgreen
|
|
104
|
-
mediumturquoise
|
|
105
|
-
mediumvioletred
|
|
106
|
-
midnightblue
|
|
107
|
-
mintcream
|
|
108
|
-
mistyrose
|
|
109
|
-
moccasin
|
|
110
|
-
navajowhite
|
|
111
|
-
navy
|
|
112
|
-
oldlace
|
|
113
|
-
olive
|
|
114
|
-
olivedrab
|
|
115
|
-
orange
|
|
116
|
-
orangered
|
|
117
|
-
orchid
|
|
118
|
-
palegoldenrod
|
|
119
|
-
palegreen
|
|
120
|
-
paleturquoise
|
|
121
|
-
palevioletred
|
|
122
|
-
papayawhip
|
|
123
|
-
peachpuff
|
|
124
|
-
peru
|
|
125
|
-
pink
|
|
126
|
-
plum
|
|
127
|
-
powderblue
|
|
128
|
-
purple
|
|
129
|
-
red
|
|
130
|
-
rosybrown
|
|
131
|
-
royalblue
|
|
132
|
-
saddlebrown
|
|
133
|
-
salmon
|
|
134
|
-
sandybrown
|
|
135
|
-
seagreen
|
|
136
|
-
seashell
|
|
137
|
-
sienna
|
|
138
|
-
silver
|
|
139
|
-
skyblue
|
|
140
|
-
slateblue
|
|
141
|
-
slategray
|
|
142
|
-
slategrey
|
|
143
|
-
snow
|
|
144
|
-
springgreen
|
|
145
|
-
steelblue
|
|
146
|
-
tan
|
|
147
|
-
teal
|
|
148
|
-
thistle
|
|
149
|
-
tomato
|
|
150
|
-
turquoise
|
|
151
|
-
violet
|
|
152
|
-
wheat
|
|
153
|
-
white
|
|
154
|
-
whitesmoke
|
|
155
|
-
yellow
|
|
156
|
-
yellowgreen
|
|
157
|
-
transparent
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const getRGBColor = color => {
|
|
21
|
+
enum CSSColors {
|
|
22
|
+
aliceblue = "f0f8ff",
|
|
23
|
+
antiquewhite = "faebd7",
|
|
24
|
+
aqua = "00ffff",
|
|
25
|
+
aquamarine = "7fffd4",
|
|
26
|
+
azure = "f0ffff",
|
|
27
|
+
beige = "f5f5dc",
|
|
28
|
+
bisque = "ffe4c4",
|
|
29
|
+
black = "000000",
|
|
30
|
+
blanchedalmond = "ffebcd",
|
|
31
|
+
blue = "0000ff",
|
|
32
|
+
blueviolet = "8a2be2",
|
|
33
|
+
brown = "a52a2a",
|
|
34
|
+
burlywood = "deb887",
|
|
35
|
+
cadetblue = "5f9ea0",
|
|
36
|
+
chartreuse = "7fff00",
|
|
37
|
+
chocolate = "d2691e",
|
|
38
|
+
coral = "ff7f50",
|
|
39
|
+
cornflowerblue = "6495ed",
|
|
40
|
+
cornsilk = "fff8dc",
|
|
41
|
+
crimson = "dc143c",
|
|
42
|
+
cyan = "00ffff",
|
|
43
|
+
darkblue = "00008b",
|
|
44
|
+
darkcyan = "008b8b",
|
|
45
|
+
darkgoldenrod = "b8860b",
|
|
46
|
+
darkgray = "a9a9a9",
|
|
47
|
+
darkgrey = "a9a9a9",
|
|
48
|
+
darkgreen = "006400",
|
|
49
|
+
darkkhaki = "bdb76b",
|
|
50
|
+
darkmagenta = "8b008b",
|
|
51
|
+
darkolivegreen = "556b2f",
|
|
52
|
+
darkorange = "ff8c00",
|
|
53
|
+
darkorchid = "9932cc",
|
|
54
|
+
darkred = "8b0000",
|
|
55
|
+
darksalmon = "e9967a",
|
|
56
|
+
darkseagreen = "8fbc8f",
|
|
57
|
+
darkslateblue = "483d8b",
|
|
58
|
+
darkslategray = "2f4f4f",
|
|
59
|
+
darkslategrey = "2f4f4f",
|
|
60
|
+
darkturquoise = "00ced1",
|
|
61
|
+
darkviolet = "9400d3",
|
|
62
|
+
deeppink = "ff1493",
|
|
63
|
+
deepskyblue = "00bfff",
|
|
64
|
+
dimgray = "696969",
|
|
65
|
+
dimgrey = "696969",
|
|
66
|
+
dodgerblue = "1e90ff",
|
|
67
|
+
firebrick = "b22222",
|
|
68
|
+
floralwhite = "fffaf0",
|
|
69
|
+
forestgreen = "228b22",
|
|
70
|
+
fuchsia = "ff00ff",
|
|
71
|
+
gainsboro = "dcdcdc",
|
|
72
|
+
ghostwhite = "f8f8ff",
|
|
73
|
+
gold = "ffd700",
|
|
74
|
+
goldenrod = "daa520",
|
|
75
|
+
gray = "808080",
|
|
76
|
+
grey = "808080",
|
|
77
|
+
green = "008000",
|
|
78
|
+
greenyellow = "adff2f",
|
|
79
|
+
honeydew = "f0fff0",
|
|
80
|
+
hotpink = "ff69b4",
|
|
81
|
+
indianred = "cd5c5c",
|
|
82
|
+
indigo = "4b0082",
|
|
83
|
+
ivory = "fffff0",
|
|
84
|
+
khaki = "f0e68c",
|
|
85
|
+
lavender = "e6e6fa",
|
|
86
|
+
lavenderblush = "fff0f5",
|
|
87
|
+
lawngreen = "7cfc00",
|
|
88
|
+
lemonchiffon = "fffacd",
|
|
89
|
+
lightblue = "add8e6",
|
|
90
|
+
lightcoral = "f08080",
|
|
91
|
+
lightcyan = "e0ffff",
|
|
92
|
+
lightgoldenrodyellow = "fafad2",
|
|
93
|
+
lightgray = "d3d3d3",
|
|
94
|
+
lightgrey = "d3d3d3",
|
|
95
|
+
lightgreen = "90ee90",
|
|
96
|
+
lightpink = "ffb6c1",
|
|
97
|
+
lightsalmon = "ffa07a",
|
|
98
|
+
lightseagreen = "20b2aa",
|
|
99
|
+
lightskyblue = "87cefa",
|
|
100
|
+
lightslategray = "778899",
|
|
101
|
+
lightslategrey = "778899",
|
|
102
|
+
lightsteelblue = "b0c4de",
|
|
103
|
+
lightyellow = "ffffe0",
|
|
104
|
+
lime = "00ff00",
|
|
105
|
+
limegreen = "32cd32",
|
|
106
|
+
linen = "faf0e6",
|
|
107
|
+
magenta = "ff00ff",
|
|
108
|
+
maroon = "800000",
|
|
109
|
+
mediumaquamarine = "66cdaa",
|
|
110
|
+
mediumblue = "0000cd",
|
|
111
|
+
mediumorchid = "ba55d3",
|
|
112
|
+
mediumpurple = "9370db",
|
|
113
|
+
mediumseagreen = "3cb371",
|
|
114
|
+
mediumslateblue = "7b68ee",
|
|
115
|
+
mediumspringgreen = "00fa9a",
|
|
116
|
+
mediumturquoise = "48d1cc",
|
|
117
|
+
mediumvioletred = "c71585",
|
|
118
|
+
midnightblue = "191970",
|
|
119
|
+
mintcream = "f5fffa",
|
|
120
|
+
mistyrose = "ffe4e1",
|
|
121
|
+
moccasin = "ffe4b5",
|
|
122
|
+
navajowhite = "ffdead",
|
|
123
|
+
navy = "000080",
|
|
124
|
+
oldlace = "fdf5e6",
|
|
125
|
+
olive = "808000",
|
|
126
|
+
olivedrab = "6b8e23",
|
|
127
|
+
orange = "ffa500",
|
|
128
|
+
orangered = "ff4500",
|
|
129
|
+
orchid = "da70d6",
|
|
130
|
+
palegoldenrod = "eee8aa",
|
|
131
|
+
palegreen = "98fb98",
|
|
132
|
+
paleturquoise = "afeeee",
|
|
133
|
+
palevioletred = "db7093",
|
|
134
|
+
papayawhip = "ffefd5",
|
|
135
|
+
peachpuff = "ffdab9",
|
|
136
|
+
peru = "cd853f",
|
|
137
|
+
pink = "ffc0cb",
|
|
138
|
+
plum = "dda0dd",
|
|
139
|
+
powderblue = "b0e0e6",
|
|
140
|
+
purple = "800080",
|
|
141
|
+
red = "ff0000",
|
|
142
|
+
rosybrown = "bc8f8f",
|
|
143
|
+
royalblue = "4169e1",
|
|
144
|
+
saddlebrown = "8b4513",
|
|
145
|
+
salmon = "fa8072",
|
|
146
|
+
sandybrown = "f4a460",
|
|
147
|
+
seagreen = "2e8b57",
|
|
148
|
+
seashell = "fff5ee",
|
|
149
|
+
sienna = "a0522d",
|
|
150
|
+
silver = "c0c0c0",
|
|
151
|
+
skyblue = "87ceeb",
|
|
152
|
+
slateblue = "6a5acd",
|
|
153
|
+
slategray = "708090",
|
|
154
|
+
slategrey = "708090",
|
|
155
|
+
snow = "fffafa",
|
|
156
|
+
springgreen = "00ff7f",
|
|
157
|
+
steelblue = "4682b4",
|
|
158
|
+
tan = "d2b48c",
|
|
159
|
+
teal = "008080",
|
|
160
|
+
thistle = "d8bfd8",
|
|
161
|
+
tomato = "ff6347",
|
|
162
|
+
turquoise = "40e0d0",
|
|
163
|
+
violet = "ee82ee",
|
|
164
|
+
wheat = "f5deb3",
|
|
165
|
+
white = "ffffff",
|
|
166
|
+
whitesmoke = "f5f5f5",
|
|
167
|
+
yellow = "ffff00",
|
|
168
|
+
yellowgreen = "9acd32",
|
|
169
|
+
transparent = "00000000",
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const getRGBColor = (color: string): ColorRGB => {
|
|
161
173
|
if (color.startsWith("rgba")) {
|
|
162
174
|
return RGBAToRGB(color);
|
|
163
175
|
}
|
|
@@ -177,8 +189,8 @@ const getRGBColor = color => {
|
|
|
177
189
|
}
|
|
178
190
|
|
|
179
191
|
// Css Color
|
|
180
|
-
if (
|
|
181
|
-
color = CSSColors[color];
|
|
192
|
+
if (color in CSSColors) {
|
|
193
|
+
color = CSSColors[color as keyof typeof CSSColors];
|
|
182
194
|
}
|
|
183
195
|
|
|
184
196
|
return HEXToRGB(color);
|
|
@@ -188,7 +200,7 @@ const getRGBColor = color => {
|
|
|
188
200
|
* Return an object with the properties for each of the main colors(red, green, blue)
|
|
189
201
|
* @param {String} color Receives a color in the following format: "rgba(0, 0, 0, 1)
|
|
190
202
|
*/
|
|
191
|
-
const RGBAToRGB = color => {
|
|
203
|
+
const RGBAToRGB = (color: string): ColorRGB => {
|
|
192
204
|
const openingBracketIndex = color.indexOf("("),
|
|
193
205
|
commasIndexes = [];
|
|
194
206
|
|
|
@@ -209,7 +221,7 @@ const RGBAToRGB = color => {
|
|
|
209
221
|
* Return an object with the properties for each of the main colors(red, green, blue)
|
|
210
222
|
* @param {String} color Receives a color in the following format: "rgb(0, 0, 0)
|
|
211
223
|
*/
|
|
212
|
-
const RGBStringToRGBObject = color => {
|
|
224
|
+
const RGBStringToRGBObject = (color: string): ColorRGB => {
|
|
213
225
|
const openingBracketIndex = color.indexOf("("),
|
|
214
226
|
closingBraketIndex = color.indexOf(")"),
|
|
215
227
|
commasIndexes = [];
|
|
@@ -227,17 +239,13 @@ const RGBStringToRGBObject = color => {
|
|
|
227
239
|
};
|
|
228
240
|
};
|
|
229
241
|
|
|
230
|
-
const HSLToRGB = (color
|
|
231
|
-
h: undefined,
|
|
232
|
-
s: undefined,
|
|
233
|
-
l: undefined,
|
|
234
|
-
}) => {
|
|
242
|
+
const HSLToRGB = (color: ColorHSL): ColorRGB => {
|
|
235
243
|
// Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html
|
|
236
244
|
const C = (1 - Math.abs((2 * color.l) - 1)) * color.s,
|
|
237
245
|
X = C * (1 - Math.abs(((color.h / 60) % 2) - 1)),
|
|
238
246
|
m = color.l - C / 2;
|
|
239
247
|
|
|
240
|
-
let tempColor
|
|
248
|
+
let tempColor: ColorRGB;
|
|
241
249
|
switch (Math.round(color.h / 60)) {
|
|
242
250
|
// 0 ≤ H < 60
|
|
243
251
|
case 0:
|
|
@@ -300,30 +308,22 @@ const HSLToRGB = (color = {
|
|
|
300
308
|
};
|
|
301
309
|
};
|
|
302
310
|
|
|
303
|
-
const HEXToRGB = hex => {
|
|
311
|
+
const HEXToRGB = (hex: string): ColorRGB => {
|
|
304
312
|
// Please make sure you pass a valid 6 digit hex color
|
|
305
313
|
// In the implementation of this method we assume that the hex argument is a 6 digit valid hex color
|
|
306
314
|
|
|
307
|
-
|
|
308
|
-
r: hex.substr(0, 2),
|
|
309
|
-
g: hex.substr(2, 2),
|
|
310
|
-
b: hex.substr(4, 2),
|
|
315
|
+
return {
|
|
316
|
+
r: parseInt(hex.substr(0, 2), 16),
|
|
317
|
+
g: parseInt(hex.substr(2, 2), 16),
|
|
318
|
+
b: parseInt(hex.substr(4, 2), 16),
|
|
311
319
|
};
|
|
312
|
-
|
|
313
|
-
const rgbKeys = Object.keys(rgbValues);
|
|
314
|
-
|
|
315
|
-
rgbKeys.forEach(key => {
|
|
316
|
-
rgbValues[key] = parseInt(rgbValues[key], 16);
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
return rgbValues;
|
|
320
320
|
};
|
|
321
321
|
|
|
322
322
|
/**
|
|
323
323
|
* Returns the hex value of the color as string
|
|
324
324
|
* @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)
|
|
325
325
|
*/
|
|
326
|
-
const RGBtoHEX = color => {
|
|
326
|
+
const RGBtoHEX = (color: ColorRGB): string => {
|
|
327
327
|
const hexMap = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E"];
|
|
328
328
|
let hexValue = "#";
|
|
329
329
|
|
|
@@ -345,11 +345,7 @@ const RGBtoHEX = color => {
|
|
|
345
345
|
return hexValue;
|
|
346
346
|
};
|
|
347
347
|
|
|
348
|
-
const RGBToHSL = (color
|
|
349
|
-
r: undefined,
|
|
350
|
-
g: undefined,
|
|
351
|
-
b: undefined,
|
|
352
|
-
}) => {
|
|
348
|
+
const RGBToHSL = (color: ColorRGB): ColorHSL => {
|
|
353
349
|
const R = color.r / 255,
|
|
354
350
|
G = color.g / 255,
|
|
355
351
|
B = color.b / 255,
|
|
@@ -357,7 +353,7 @@ const RGBToHSL = (color = {
|
|
|
357
353
|
min = Math.min(R, G, B),
|
|
358
354
|
delta = max - min;
|
|
359
355
|
|
|
360
|
-
let h,
|
|
356
|
+
let h = 0,
|
|
361
357
|
s;
|
|
362
358
|
|
|
363
359
|
// Hue calculation
|
|
@@ -396,3 +392,8 @@ export {
|
|
|
396
392
|
RGBStringToRGBObject,
|
|
397
393
|
RGBtoHEX,
|
|
398
394
|
};
|
|
395
|
+
|
|
396
|
+
export type {
|
|
397
|
+
ColorHSL,
|
|
398
|
+
ColorRGB,
|
|
399
|
+
};
|