@ui5/webcomponents-base 0.0.0-4180fe799 → 0.0.0-41ab6cd28
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 +7 -5
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +621 -0
- package/README.md +32 -6
- package/bundle.esm.js +20 -11
- package/config/wdio.conf.cjs +400 -0
- package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
- package/dist/AssetRegistry.js +2 -7
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +9 -0
- package/dist/Boot.js +56 -28
- package/dist/Boot.js.map +1 -0
- package/{src/CSP.js → dist/CSP.d.ts} +8 -37
- package/dist/CSP.js +16 -24
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +69 -30
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -108
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +55 -0
- package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +12 -54
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +12 -0
- package/dist/Device.js +148 -89
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -82
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +14 -19
- package/dist/FontFace.js.map +1 -0
- package/dist/IgnoreCustomElements.d.ts +27 -0
- package/dist/IgnoreCustomElements.js +39 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +27 -0
- package/dist/InitialConfiguration.js +121 -131
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -244
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +69 -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 +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +3 -0
- package/dist/StaticArea.js +5 -1
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +88 -84
- 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/{src/Theming.js → dist/Theming.d.ts} +0 -1
- package/dist/Theming.js +1 -1
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +380 -0
- package/dist/UI5Element.js +930 -980
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +278 -306
- package/dist/UI5ElementMetadata.js.map +1 -0
- package/dist/animations/AnimationQueue.d.ts +8 -0
- package/dist/animations/AnimationQueue.js +31 -38
- package/dist/animations/AnimationQueue.js.map +1 -0
- package/dist/animations/animate.d.ts +14 -0
- package/dist/animations/animate.js +46 -51
- package/dist/animations/animate.js.map +1 -0
- package/dist/animations/scroll.d.ts +5 -0
- package/dist/animations/scroll.js +18 -27
- package/dist/animations/scroll.js.map +1 -0
- package/dist/animations/slideDown.d.ts +5 -0
- package/dist/animations/slideDown.js +53 -78
- package/dist/animations/slideDown.js.map +1 -0
- package/dist/animations/slideUp.d.ts +5 -0
- package/dist/animations/slideUp.js +49 -70
- package/dist/animations/slideUp.js.map +1 -0
- package/dist/api.json +1 -0
- package/dist/asset-registries/Icons.d.ts +38 -0
- package/dist/asset-registries/Icons.js +109 -123
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +17 -0
- package/dist/asset-registries/Illustrations.js +41 -25
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +104 -127
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +11 -0
- package/dist/asset-registries/Themes.js +40 -66
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +61 -81
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/Boot.34b7cea0.css +1 -0
- package/dist/assets/Boot.e98db706.js +9 -0
- package/dist/assets/bundle.esm.027ecc55.js +50 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
- package/dist/assets-meta/IconCollectionsAlias.js +30 -10
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +21 -18
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +8 -0
- package/dist/config/CalendarType.js +13 -12
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +15 -0
- package/dist/config/FormatSettings.js +15 -9
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +55 -0
- package/dist/config/Icons.js +103 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +40 -0
- package/dist/config/Language.js +43 -43
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +41 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/RTL.d.ts +7 -0
- package/dist/config/RTL.js +26 -20
- package/dist/config/RTL.js.map +1 -0
- package/dist/config/Theme.d.ts +38 -0
- package/dist/config/Theme.js +57 -29
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoot.d.ts +29 -0
- package/dist/config/ThemeRoot.js +59 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +30 -0
- package/dist/config/Timezone.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +31 -10
- package/dist/decorators/customElement.d.ts +23 -0
- package/dist/decorators/customElement.js +37 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event.d.ts +10 -0
- package/dist/decorators/event.js +24 -0
- package/dist/decorators/event.js.map +1 -0
- package/dist/decorators/property.d.ts +9 -0
- package/dist/decorators/property.js +24 -0
- package/dist/decorators/property.js.map +1 -0
- package/dist/decorators/slot.d.ts +9 -0
- package/dist/decorators/slot.js +37 -0
- package/dist/decorators/slot.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +277 -312
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +25 -0
- package/dist/delegate/ResizeHandler.js +72 -91
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +157 -180
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +19 -0
- package/dist/features/F6Navigation.js +151 -0
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/LegacyDateFormats.d.ts +18 -0
- package/dist/features/LegacyDateFormats.js +20 -0
- package/dist/features/LegacyDateFormats.js.map +1 -0
- package/dist/features/OpenUI5Element.d.ts +9 -0
- package/dist/features/OpenUI5Element.js +5 -0
- package/dist/features/OpenUI5Element.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +11 -0
- package/dist/features/OpenUI5Enablement.js +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +26 -0
- package/dist/features/OpenUI5Support.js +93 -119
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +3 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -5
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -5
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -5
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +28 -18
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +40 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +57 -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 +31 -24
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +28 -29
- package/dist/sap/base/assert.js +5 -6
- package/dist/sap/base/security/URLListValidator.js +13 -2
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +39 -31
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +8 -16
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/ThemeRegistered.d.ts +4 -0
- package/dist/theming/ThemeRegistered.js +11 -0
- package/dist/theming/ThemeRegistered.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +61 -60
- 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 +13 -16
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +25 -23
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -13
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +73 -61
- 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 +15 -0
- package/dist/types/CSSColor.js +14 -5
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CalendarType.d.ts +37 -0
- package/dist/types/CalendarType.js +35 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +17 -0
- package/dist/types/DOMReference.js +25 -0
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +25 -0
- package/dist/types/DataType.js +33 -26
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +17 -0
- package/dist/types/Float.js +17 -10
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +17 -0
- package/dist/types/Integer.js +17 -9
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +20 -23
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -12
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +32 -0
- package/dist/types/NavigationMode.js +33 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/ValueState.d.ts +42 -0
- package/dist/types/ValueState.js +41 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +8 -0
- package/dist/updateShadowRoot.js +29 -18
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +15 -0
- package/dist/util/AriaLabelHelper.js +166 -36
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +16 -38
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +315 -348
- package/dist/util/ColorConversion.js.map +1 -0
- package/dist/util/FetchHelper.d.ts +3 -0
- package/dist/util/FetchHelper.js +19 -25
- package/dist/util/FetchHelper.js.map +1 -0
- package/dist/util/FocusableElements.d.ts +4 -0
- package/dist/util/FocusableElements.js +67 -72
- package/dist/util/FocusableElements.js.map +1 -0
- package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
- package/dist/util/HTMLSanitizer.js +4 -5
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +42 -44
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +58 -77
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +22 -35
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
- package/dist/util/clamp.js +2 -2
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +14 -12
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/createStyleInHead.d.ts +8 -0
- package/dist/util/createStyleInHead.js +10 -10
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +6 -8
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +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 +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
- package/dist/util/getFileExtension.js +9 -11
- package/dist/util/getFileExtension.js.map +1 -0
- package/dist/util/getNormalizedTarget.d.ts +7 -0
- package/dist/util/getNormalizedTarget.js +14 -0
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +11 -0
- package/dist/util/getSingletonElementInstance.js +17 -11
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +6 -9
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +9 -0
- package/dist/util/isElementTabbable.js +30 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +16 -17
- package/dist/util/isValidPropertyName.js.map +1 -0
- package/dist/util/whenDOMReady.d.ts +2 -0
- package/dist/util/whenDOMReady.js +11 -10
- package/dist/util/whenDOMReady.js.map +1 -0
- package/dist/util/willShowContent.d.ts +2 -0
- package/dist/util/willShowContent.js +7 -0
- package/dist/util/willShowContent.js.map +1 -0
- package/dist/validateThemeRoot.d.ts +2 -0
- package/dist/validateThemeRoot.js +48 -0
- package/dist/validateThemeRoot.js.map +1 -0
- package/index.js +227 -1
- package/lib/generate-asset-parameters/index.js +11 -5
- package/lib/generate-styles/index.js +26 -13
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.cjs +71 -0
- package/package.json +8 -6
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +31 -10
- package/tsconfig.json +14 -0
- package/used-modules.txt +4 -1
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -44
- package/dist/animations/config.js +0 -5
- package/dist/isLegacyBrowser.js +0 -3
- package/dist/resources/bundle.esm.js +0 -37
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -17
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -41
- package/dist/test-resources/elements/WithStaticArea.js +0 -77
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -18
- package/dist/test-resources/pages/ConfigurationScript.html +0 -34
- package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
- package/dist/test-resources/pages/i18n.html +0 -33
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
- package/dist/test-resources/specs/EventProvider.spec.js +0 -63
- package/dist/test-resources/specs/StaticArea.spec.js +0 -78
- package/dist/test-resources/specs/Theming.spec.js +0 -33
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/encodeCSS.js +0 -24
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/setToArray.js +0 -10
- package/hash.txt +0 -1
- package/package-scripts.js +0 -65
- package/src/Boot.js +0 -43
- package/src/CustomElementsRegistry.js +0 -39
- package/src/DOMObserver.js +0 -65
- package/src/Device.js +0 -107
- package/src/EventProvider.js +0 -85
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -30
- package/src/InitialConfiguration.js +0 -166
- package/src/Keys.js +0 -248
- package/src/ManagedStyles.js +0 -83
- package/src/MediaRange.js +0 -109
- package/src/PropertiesFileFormat.js +0 -95
- package/src/Render.js +0 -175
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -44
- package/src/StaticArea.js +0 -3
- package/src/StaticAreaItem.js +0 -98
- package/src/SystemCSSVars.js +0 -10
- package/src/UI5Element.js +0 -1018
- package/src/UI5ElementMetadata.js +0 -319
- package/src/animations/AnimationQueue.js +0 -42
- package/src/animations/animate.js +0 -53
- package/src/animations/config.js +0 -5
- package/src/animations/scroll.js +0 -28
- package/src/animations/slideDown.js +0 -79
- package/src/animations/slideUp.js +0 -71
- package/src/asset-registries/Icons.js +0 -139
- package/src/asset-registries/Illustrations.js +0 -30
- package/src/asset-registries/LocaleData.js +0 -159
- package/src/asset-registries/Themes.js +0 -78
- package/src/asset-registries/i18n.js +0 -121
- package/src/assets-meta/IconCollectionsAlias.js +0 -18
- package/src/config/AnimationMode.js +0 -23
- package/src/config/CalendarType.js +0 -18
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -68
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -42
- package/src/delegate/ItemNavigation.js +0 -351
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -188
- package/src/features/OpenUI5Support.js +0 -125
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -86
- package/src/isLegacyBrowser.js +0 -3
- package/src/locale/Locale.js +0 -91
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -17
- package/src/locale/directionChange.js +0 -32
- package/src/locale/getEffectiveDir.js +0 -28
- package/src/locale/getLocale.js +0 -41
- package/src/locale/languageChange.js +0 -22
- package/src/locale/nextFallbackLocale.js +0 -28
- package/src/locale/normalizeLocale.js +0 -54
- package/src/renderer/LitRenderer.js +0 -34
- package/src/renderer/executeTemplate.js +0 -17
- package/src/theming/CustomStyle.js +0 -40
- package/src/theming/ThemeLoaded.js +0 -22
- package/src/theming/applyTheme.js +0 -75
- package/src/theming/getConstructableStyle.js +0 -30
- package/src/theming/getEffectiveLinksHrefs.js +0 -20
- package/src/theming/getEffectiveStyle.js +0 -30
- package/src/theming/getStylesString.js +0 -15
- package/src/theming/getThemeDesignerTheme.js +0 -68
- package/src/theming/preloadLinks.js +0 -23
- package/src/thirdparty/_merge.js +0 -32
- package/src/thirdparty/isPlainObject.js +0 -18
- package/src/thirdparty/merge.js +0 -10
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSColor.js +0 -9
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -37
- package/src/types/Float.js +0 -14
- package/src/types/Integer.js +0 -13
- package/src/types/InvisibleMessageMode.js +0 -30
- package/src/types/ItemNavigationBehavior.js +0 -16
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/updateShadowRoot.js +0 -30
- package/src/util/AriaLabelHelper.js +0 -41
- package/src/util/Caret.js +0 -45
- package/src/util/ColorConversion.js +0 -370
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -77
- package/src/util/InvisibleMessage.js +0 -58
- package/src/util/PopupUtils.js +0 -93
- package/src/util/SlotsHelper.js +0 -43
- package/src/util/StringHelper.js +0 -26
- package/src/util/TabbableElements.js +0 -47
- package/src/util/arraysAreEqual.js +0 -15
- package/src/util/createLinkInHead.js +0 -19
- package/src/util/createStyleInHead.js +0 -18
- package/src/util/debounce.js +0 -17
- package/src/util/detectNavigatorLanguage.js +0 -13
- package/src/util/encodeCSS.js +0 -24
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/formatMessage.js +0 -23
- package/src/util/getActiveElement.js +0 -11
- package/src/util/getClassCopy.js +0 -10
- package/src/util/getDesigntimePropertyAsArray.js +0 -4
- package/src/util/getEffectiveContentDensity.js +0 -5
- package/src/util/getSingletonElementInstance.js +0 -13
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isElementInView.js +0 -15
- package/src/util/isNodeClickable.js +0 -19
- package/src/util/isNodeHidden.js +0 -9
- package/src/util/isNodeTabbable.js +0 -28
- package/src/util/isValidPropertyName.js +0 -29
- package/src/util/setToArray.js +0 -10
- package/src/util/whenDOMReady.js +0 -13
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import isNodeHidden from "./isNodeHidden.js";
|
|
2
|
-
import isNodeClickable from "./isNodeClickable.js";
|
|
3
|
-
|
|
4
|
-
const isFocusTrap = el => {
|
|
5
|
-
return el.hasAttribute("data-ui5-focus-trap");
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const getFirstFocusableElement = async container => {
|
|
9
|
-
if (!container || isNodeHidden(container)) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return findFocusableElement(container, true);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const getLastFocusableElement = async container => {
|
|
17
|
-
if (!container || isNodeHidden(container)) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return findFocusableElement(container, false);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const isElemFocusable = el => {
|
|
25
|
-
return el.hasAttribute("data-ui5-focus-redirect") || !isNodeHidden(el);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const findFocusableElement = async (container, forward) => {
|
|
29
|
-
let child;
|
|
30
|
-
|
|
31
|
-
if (container.shadowRoot) {
|
|
32
|
-
child = forward ? container.shadowRoot.firstChild : container.shadowRoot.lastChild;
|
|
33
|
-
} else if (container.assignedNodes && container.assignedNodes()) {
|
|
34
|
-
const assignedElements = container.assignedNodes();
|
|
35
|
-
child = forward ? assignedElements[0] : assignedElements[assignedElements.length - 1];
|
|
36
|
-
} else {
|
|
37
|
-
child = forward ? container.firstChild : container.lastChild;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
let focusableDescendant;
|
|
41
|
-
|
|
42
|
-
/* eslint-disable no-await-in-loop */
|
|
43
|
-
|
|
44
|
-
while (child) {
|
|
45
|
-
const originalChild = child;
|
|
46
|
-
|
|
47
|
-
if (child.isUI5Element) {
|
|
48
|
-
child = await child.getFocusDomRefAsync();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (!child) {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {
|
|
56
|
-
if (isNodeClickable(child)) {
|
|
57
|
-
return (child && typeof child.focus === "function") ? child : null;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
focusableDescendant = await findFocusableElement(child, forward);
|
|
61
|
-
if (focusableDescendant) {
|
|
62
|
-
return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
child = forward ? originalChild.nextSibling : originalChild.previousSibling;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/* eslint-enable no-await-in-loop */
|
|
70
|
-
|
|
71
|
-
return null;
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
export {
|
|
75
|
-
getFirstFocusableElement,
|
|
76
|
-
getLastFocusableElement,
|
|
77
|
-
};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import InvisibleMessageMode from "../types/InvisibleMessageMode.js";
|
|
2
|
-
import getSingletonElementInstance from "./getSingletonElementInstance.js";
|
|
3
|
-
import { attachBoot } from "../Boot.js";
|
|
4
|
-
|
|
5
|
-
let politeSpan;
|
|
6
|
-
let assertiveSpan;
|
|
7
|
-
|
|
8
|
-
attachBoot(() => {
|
|
9
|
-
if (politeSpan && assertiveSpan) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const styles = `position: absolute;
|
|
14
|
-
clip: rect(1px,1px,1px,1px);
|
|
15
|
-
user-select: none;
|
|
16
|
-
left: -1000px;
|
|
17
|
-
top: -1000px;
|
|
18
|
-
pointer-events: none;`;
|
|
19
|
-
|
|
20
|
-
politeSpan = document.createElement("span");
|
|
21
|
-
assertiveSpan = document.createElement("span");
|
|
22
|
-
|
|
23
|
-
politeSpan.classList.add("ui5-invisiblemessage-polite");
|
|
24
|
-
assertiveSpan.classList.add("ui5-invisiblemessage-assertive");
|
|
25
|
-
|
|
26
|
-
politeSpan.setAttribute("aria-live", "polite");
|
|
27
|
-
assertiveSpan.setAttribute("aria-live", "assertive");
|
|
28
|
-
|
|
29
|
-
politeSpan.setAttribute("role", "alert");
|
|
30
|
-
assertiveSpan.setAttribute("role", "alert");
|
|
31
|
-
|
|
32
|
-
politeSpan.style.cssText = styles;
|
|
33
|
-
assertiveSpan.style.cssText = styles;
|
|
34
|
-
|
|
35
|
-
getSingletonElementInstance("ui5-static-area").appendChild(politeSpan);
|
|
36
|
-
getSingletonElementInstance("ui5-static-area").appendChild(assertiveSpan);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Inserts the string into the respective span, depending on the mode provided.
|
|
41
|
-
*
|
|
42
|
-
* @param {string} message String to be announced by the screen reader.
|
|
43
|
-
* @param {sap.ui.core.InvisibleMessageMode} mode The mode to be inserted in the aria-live attribute.
|
|
44
|
-
*/
|
|
45
|
-
const announce = (message, mode) => {
|
|
46
|
-
// If no type is presented, fallback to polite announcement.
|
|
47
|
-
const span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;
|
|
48
|
-
|
|
49
|
-
// Set textContent to empty string in order to trigger screen reader's announcement.
|
|
50
|
-
span.textContent = "";
|
|
51
|
-
span.textContent = message;
|
|
52
|
-
|
|
53
|
-
if (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {
|
|
54
|
-
console.warn(`You have entered an invalid mode. Valid values are: "Polite" and "Assertive". The framework will automatically set the mode to "Polite".`); // eslint-disable-line
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export default announce;
|
package/src/util/PopupUtils.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import getSharedResource from "../getSharedResource.js";
|
|
2
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
3
|
-
import getActiveElement from "./getActiveElement.js";
|
|
4
|
-
|
|
5
|
-
const PopupUtilsData = getSharedResource("PopupUtilsData", {});
|
|
6
|
-
PopupUtilsData.currentZIndex = PopupUtilsData.currentZIndex || 100;
|
|
7
|
-
|
|
8
|
-
const getFocusedElement = () => {
|
|
9
|
-
const element = getActiveElement();
|
|
10
|
-
return (element && typeof element.focus === "function") ? element : null;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const isFocusedElementWithinNode = node => {
|
|
14
|
-
const fe = getFocusedElement();
|
|
15
|
-
|
|
16
|
-
if (fe) {
|
|
17
|
-
return isNodeContainedWithin(node, fe);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return false;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const isNodeContainedWithin = (parent, child) => {
|
|
24
|
-
let currentNode = parent;
|
|
25
|
-
|
|
26
|
-
if (currentNode.shadowRoot) {
|
|
27
|
-
currentNode = Array.from(currentNode.shadowRoot.children).find(n => n.localName !== "style");
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (currentNode === child) {
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const childNodes = currentNode.localName === "slot" ? currentNode.assignedNodes() : currentNode.children;
|
|
35
|
-
|
|
36
|
-
if (childNodes) {
|
|
37
|
-
return Array.from(childNodes).some(n => isNodeContainedWithin(n, child));
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const isPointInRect = (x, y, rect) => {
|
|
42
|
-
return x >= rect.left && x <= rect.right
|
|
43
|
-
&& y >= rect.top && y <= rect.bottom;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const isClickInRect = (event, rect) => {
|
|
47
|
-
let x;
|
|
48
|
-
let y;
|
|
49
|
-
|
|
50
|
-
if (event.touches) {
|
|
51
|
-
const touch = event.touches[0];
|
|
52
|
-
x = touch.clientX;
|
|
53
|
-
y = touch.clientY;
|
|
54
|
-
} else {
|
|
55
|
-
x = event.clientX;
|
|
56
|
-
y = event.clientY;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return isPointInRect(x, y, rect);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const getClosedPopupParent = el => {
|
|
63
|
-
const parent = el.parentElement || (el.getRootNode && el.getRootNode().host);
|
|
64
|
-
|
|
65
|
-
if (parent && ((parent.showAt && parent.isUI5Element) || (parent.open && parent.isUI5Element) || parent === document.documentElement)) {
|
|
66
|
-
return parent;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return getClosedPopupParent(parent);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const getNextZIndex = () => {
|
|
73
|
-
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
74
|
-
if (OpenUI5Support && OpenUI5Support.isLoaded()) { // use OpenUI5 for getting z-index values, if loaded
|
|
75
|
-
return OpenUI5Support.getNextZIndex();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
PopupUtilsData.currentZIndex += 2;
|
|
79
|
-
return PopupUtilsData.currentZIndex;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const getCurrentZIndex = () => {
|
|
83
|
-
return PopupUtilsData.currentZIndex;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export {
|
|
87
|
-
getFocusedElement,
|
|
88
|
-
isClickInRect,
|
|
89
|
-
getClosedPopupParent,
|
|
90
|
-
getNextZIndex,
|
|
91
|
-
getCurrentZIndex,
|
|
92
|
-
isFocusedElementWithinNode,
|
|
93
|
-
};
|
package/src/util/SlotsHelper.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Determines the slot to which a node should be assigned
|
|
3
|
-
* @param node Text node or HTML element
|
|
4
|
-
* @returns {string}
|
|
5
|
-
*/
|
|
6
|
-
const getSlotName = node => {
|
|
7
|
-
// Text nodes can only go to the default slot
|
|
8
|
-
if (!(node instanceof HTMLElement)) {
|
|
9
|
-
return "default";
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)
|
|
13
|
-
const slot = node.getAttribute("slot");
|
|
14
|
-
if (slot) {
|
|
15
|
-
const match = slot.match(/^(.+?)-\d+$/);
|
|
16
|
-
return match ? match[1] : slot;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Use default slot as a fallback
|
|
20
|
-
return "default";
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const isSlot = el => el && el instanceof HTMLElement && el.localName === "slot";
|
|
24
|
-
|
|
25
|
-
const getSlottedElements = el => {
|
|
26
|
-
if (isSlot(el)) {
|
|
27
|
-
return el.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return [el];
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const getSlottedElementsList = elList => {
|
|
34
|
-
const reducer = (acc, curr) => acc.concat(getSlottedElements(curr));
|
|
35
|
-
return elList.reduce(reducer, []);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export {
|
|
39
|
-
getSlotName,
|
|
40
|
-
isSlot,
|
|
41
|
-
getSlottedElements,
|
|
42
|
-
getSlottedElementsList,
|
|
43
|
-
};
|
package/src/util/StringHelper.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
const kebabToCamelMap = new Map();
|
|
2
|
-
const camelToKebabMap = new Map();
|
|
3
|
-
|
|
4
|
-
const kebabToCamelCase = string => {
|
|
5
|
-
if (!kebabToCamelMap.has(string)) {
|
|
6
|
-
const result = toCamelCase(string.split("-"));
|
|
7
|
-
kebabToCamelMap.set(string, result);
|
|
8
|
-
}
|
|
9
|
-
return kebabToCamelMap.get(string);
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const camelToKebabCase = string => {
|
|
13
|
-
if (!camelToKebabMap.has(string)) {
|
|
14
|
-
const result = string.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
15
|
-
camelToKebabMap.set(string, result);
|
|
16
|
-
}
|
|
17
|
-
return camelToKebabMap.get(string);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const toCamelCase = parts => {
|
|
21
|
-
return parts.map((string, index) => {
|
|
22
|
-
return index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
|
|
23
|
-
}).join("");
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export { kebabToCamelCase, camelToKebabCase };
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import isNodeTabbable from "./isNodeTabbable.js";
|
|
2
|
-
|
|
3
|
-
const getTabbableElements = node => {
|
|
4
|
-
return getTabbables(node.children);
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const getLastTabbableElement = node => {
|
|
8
|
-
const tabbables = getTabbables(node.children);
|
|
9
|
-
return tabbables.length ? tabbables[tabbables.length - 1] : null;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const getTabbables = (nodes, tabbables) => {
|
|
13
|
-
const tabbablesNodes = tabbables || [];
|
|
14
|
-
|
|
15
|
-
if (!nodes) {
|
|
16
|
-
return tabbablesNodes;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
Array.from(nodes).forEach(currentNode => {
|
|
20
|
-
if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE || currentNode.hasAttribute("data-sap-no-tab-ref")) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (currentNode.shadowRoot) {
|
|
25
|
-
// get the root node of the ShadowDom (1st none style tag)
|
|
26
|
-
const children = currentNode.shadowRoot.children;
|
|
27
|
-
currentNode = Array.from(children).find(node => node.tagName !== "STYLE");
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (isNodeTabbable(currentNode)) {
|
|
31
|
-
tabbablesNodes.push(currentNode);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (currentNode.tagName === "SLOT") {
|
|
35
|
-
getTabbables(currentNode.assignedNodes(), tabbablesNodes);
|
|
36
|
-
} else {
|
|
37
|
-
getTabbables(currentNode.children, tabbablesNodes);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
return tabbablesNodes;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export {
|
|
45
|
-
getTabbableElements,
|
|
46
|
-
getLastTabbableElement,
|
|
47
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const arraysAreEqual = (arr1, arr2) => {
|
|
2
|
-
if (arr1.length !== arr2.length) {
|
|
3
|
-
return false;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
for (let i = 0; i < arr1.length; i++) {
|
|
7
|
-
if (arr1[i] !== arr2[i]) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
return true;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default arraysAreEqual;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a <link> tag in the <head> tag
|
|
3
|
-
* @param href - the CSS
|
|
4
|
-
* @param attributes - optional attributes to add to the tag
|
|
5
|
-
* @returns {HTMLElement}
|
|
6
|
-
*/
|
|
7
|
-
const createLinkInHead = (href, attributes = {}) => {
|
|
8
|
-
const link = document.createElement("link");
|
|
9
|
-
link.type = "text/css";
|
|
10
|
-
link.rel = "stylesheet";
|
|
11
|
-
|
|
12
|
-
Object.entries(attributes).forEach(pair => link.setAttribute(...pair));
|
|
13
|
-
|
|
14
|
-
link.href = href;
|
|
15
|
-
document.head.appendChild(link);
|
|
16
|
-
return link;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default createLinkInHead;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a <style> tag in the <head> tag
|
|
3
|
-
* @param cssText - the CSS
|
|
4
|
-
* @param attributes - optional attributes to add to the tag
|
|
5
|
-
* @returns {HTMLElement}
|
|
6
|
-
*/
|
|
7
|
-
const createStyleInHead = (cssText, attributes = {}) => {
|
|
8
|
-
const style = document.createElement("style");
|
|
9
|
-
style.type = "text/css";
|
|
10
|
-
|
|
11
|
-
Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
|
|
12
|
-
|
|
13
|
-
style.textContent = cssText;
|
|
14
|
-
document.head.appendChild(style);
|
|
15
|
-
return style;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default createStyleInHead;
|
package/src/util/debounce.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Delays function execution by given threshold.
|
|
3
|
-
* @param fn {Function}
|
|
4
|
-
* @param delay {Integer}
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
let debounceInterval = null;
|
|
8
|
-
|
|
9
|
-
const debounce = (fn, delay) => {
|
|
10
|
-
clearTimeout(debounceInterval);
|
|
11
|
-
debounceInterval = setTimeout(() => {
|
|
12
|
-
debounceInterval = null;
|
|
13
|
-
fn();
|
|
14
|
-
}, delay);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export default debounce;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
2
|
-
|
|
3
|
-
export default () => {
|
|
4
|
-
const browserLanguages = navigator.languages;
|
|
5
|
-
|
|
6
|
-
const navigatorLanguage = () => {
|
|
7
|
-
return navigator.language;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage() || navigator.userLanguage || navigator.browserLanguage;
|
|
11
|
-
|
|
12
|
-
return rawLocale || DEFAULT_LANGUAGE;
|
|
13
|
-
};
|
package/src/util/encodeCSS.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const rCSS = /[\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xff\u2028\u2029][0-9A-Fa-f]?/g; // eslint-disable-line
|
|
2
|
-
|
|
3
|
-
const toHex = (iChar, iLength) => {
|
|
4
|
-
let sHex = iChar.toString(16);
|
|
5
|
-
if (iLength) {
|
|
6
|
-
sHex = sHex.padStart(iLength, "0");
|
|
7
|
-
}
|
|
8
|
-
return sHex;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const fnCSS = sChar => {
|
|
12
|
-
const iChar = sChar.charCodeAt(0);
|
|
13
|
-
if (sChar.length === 1) {
|
|
14
|
-
return `\\${toHex(iChar)}`;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return `\\${toHex(iChar)} ${sChar.substr(1)}`;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const encodeCSS = string => {
|
|
21
|
-
return string.replace(rCSS, fnCSS);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export default encodeCSS;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const findNodeOwner = node => {
|
|
2
|
-
if (!(node instanceof HTMLElement)) {
|
|
3
|
-
throw new Error("Argument node should be of type HTMLElement");
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
const ownerTypes = [HTMLHtmlElement, HTMLIFrameElement];
|
|
7
|
-
let currentShadowRootFlag = true;
|
|
8
|
-
let currentCustomElementFlag = true;
|
|
9
|
-
|
|
10
|
-
while (node) {
|
|
11
|
-
if (node.toString() === "[object ShadowRoot]") {
|
|
12
|
-
// Web Component
|
|
13
|
-
// or the shadow root of web component with attached shadow root
|
|
14
|
-
if (currentShadowRootFlag) {
|
|
15
|
-
currentShadowRootFlag = false;
|
|
16
|
-
}
|
|
17
|
-
if (!currentCustomElementFlag && !currentShadowRootFlag) {
|
|
18
|
-
return node;
|
|
19
|
-
}
|
|
20
|
-
} else if (node.tagName && node.tagName.indexOf("-") > -1) {
|
|
21
|
-
if (currentCustomElementFlag) {
|
|
22
|
-
currentCustomElementFlag = false;
|
|
23
|
-
} else {
|
|
24
|
-
return node;
|
|
25
|
-
}
|
|
26
|
-
} else if (ownerTypes.indexOf(node.constructor) > -1) {
|
|
27
|
-
// Document or Iframe reached
|
|
28
|
-
return node;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
node = node.parentNode || node.host;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default findNodeOwner;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g;
|
|
2
|
-
|
|
3
|
-
const formatMessage = (text, values) => {
|
|
4
|
-
values = values || [];
|
|
5
|
-
|
|
6
|
-
return text.replace(messageFormatRegEX, ($0, $1, $2, $3, offset) => {
|
|
7
|
-
if ($1) {
|
|
8
|
-
return '\''; /* eslint-disable-line */
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
if ($2) {
|
|
12
|
-
return $2.replace(/''/g, '\''); /* eslint-disable-line */
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if ($3) {
|
|
16
|
-
return String(values[parseInt($3)]);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
throw new Error(`[i18n]: pattern syntax error at pos ${offset}`);
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export default formatMessage;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const getActiveElement = () => {
|
|
2
|
-
let element = document.activeElement;
|
|
3
|
-
|
|
4
|
-
while (element && element.shadowRoot && element.shadowRoot.activeElement) {
|
|
5
|
-
element = element.shadowRoot.activeElement;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
return element;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export default getActiveElement;
|
package/src/util/getClassCopy.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const getSingletonElementInstance = (tag, parentElement = document.body) => {
|
|
2
|
-
let el = document.querySelector(tag);
|
|
3
|
-
|
|
4
|
-
if (el) {
|
|
5
|
-
return el;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
el = document.createElement(tag);
|
|
9
|
-
|
|
10
|
-
return parentElement.insertBefore(el, parentElement.firstChild);
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export default getSingletonElementInstance;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const isDescendantOf = (klass, baseKlass, inclusive = false) => {
|
|
2
|
-
if (typeof klass !== "function" || typeof baseKlass !== "function") {
|
|
3
|
-
return false;
|
|
4
|
-
}
|
|
5
|
-
if (inclusive && klass === baseKlass) {
|
|
6
|
-
return true;
|
|
7
|
-
}
|
|
8
|
-
let parent = klass;
|
|
9
|
-
do {
|
|
10
|
-
parent = Object.getPrototypeOf(parent);
|
|
11
|
-
} while (parent !== null && parent !== baseKlass);
|
|
12
|
-
return parent === baseKlass;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default isDescendantOf;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Determines if the element is within the viewport.
|
|
3
|
-
* @param el {HTMLElement}
|
|
4
|
-
*/
|
|
5
|
-
const isElementInView = el => {
|
|
6
|
-
const rect = el.getBoundingClientRect();
|
|
7
|
-
|
|
8
|
-
return (
|
|
9
|
-
rect.top >= 0 && rect.left >= 0
|
|
10
|
-
&& rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
|
|
11
|
-
&& rect.right <= (window.innerWidth || document.documentElement.clientWidth)
|
|
12
|
-
);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default isElementInView;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const rClickable = /^(?:a|area)$/i;
|
|
2
|
-
const rFocusable = /^(?:input|select|textarea|button)$/i;
|
|
3
|
-
|
|
4
|
-
const isNodeClickable = node => {
|
|
5
|
-
if (node.disabled) {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const tabIndex = node.getAttribute("tabindex");
|
|
10
|
-
if (tabIndex !== null && tabIndex !== undefined) {
|
|
11
|
-
return parseInt(tabIndex) >= 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return rFocusable.test(node.nodeName)
|
|
15
|
-
|| (rClickable.test(node.nodeName)
|
|
16
|
-
&& node.href);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default isNodeClickable;
|
package/src/util/isNodeHidden.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import isNodeHidden from "./isNodeHidden.js";
|
|
2
|
-
|
|
3
|
-
const isNodeTabbable = node => {
|
|
4
|
-
if (!node) {
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const nodeName = node.nodeName.toLowerCase();
|
|
9
|
-
|
|
10
|
-
if (node.hasAttribute("data-sap-no-tab-ref")) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (isNodeHidden(node)) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const tabIndex = node.getAttribute("tabindex");
|
|
19
|
-
if (tabIndex !== null && tabIndex !== undefined) {
|
|
20
|
-
return parseInt(tabIndex) >= 0;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
|
|
24
|
-
return !node.disabled;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default isNodeTabbable;
|