@ui5/webcomponents-base 0.0.0-5b79982e1 → 0.0.0-5e31d3069
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +8 -3
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +614 -0
- package/README.md +53 -7
- package/bundle.esm.js +30 -22
- package/config/wdio.conf.cjs +400 -0
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +6 -12
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +9 -0
- package/dist/Boot.js +71 -0
- package/dist/Boot.js.map +1 -0
- package/dist/CSP.d.ts +30 -0
- package/dist/CSP.js +51 -0
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +69 -30
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -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 +23 -0
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +12 -0
- package/dist/Device.js +159 -816
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -78
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +17 -110
- package/dist/FontFace.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +27 -0
- package/dist/InitialConfiguration.js +124 -118
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +57 -0
- package/dist/Keys.js +174 -217
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +77 -0
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MarkedEvents.d.ts +9 -0
- package/dist/MarkedEvents.js +15 -0
- package/dist/MarkedEvents.js.map +1 -0
- package/dist/MediaRange.d.ts +37 -0
- package/dist/MediaRange.js +98 -0
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +85 -0
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +143 -0
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +52 -62
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +86 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +3 -0
- package/dist/StaticArea.js +4 -28
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +36 -0
- package/dist/StaticAreaItem.js +92 -101
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +6 -28
- package/dist/SystemCSSVars.js.map +1 -0
- package/{src/Theming.js → dist/Theming.d.ts} +0 -1
- package/dist/Theming.js +1 -1
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +378 -0
- package/dist/UI5Element.js +924 -1144
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +278 -267
- 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 +125 -32
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +17 -0
- package/dist/asset-registries/Illustrations.js +46 -0
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +119 -118
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +11 -0
- package/dist/asset-registries/Themes.js +41 -77
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +77 -86
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/assets/Boot.34b7cea0.css +1 -0
- package/dist/assets/Boot.8220f4ab.js +9 -0
- package/dist/assets/bundle.esm.efe1daa8.js +50 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
- package/dist/assets-meta/IconCollectionsAlias.js +38 -0
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +21 -18
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +8 -0
- package/dist/config/CalendarType.js +13 -12
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +15 -0
- package/dist/config/FormatSettings.js +15 -9
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +55 -0
- package/dist/config/Icons.js +103 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +40 -0
- package/dist/config/Language.js +49 -51
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +41 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/RTL.d.ts +7 -0
- package/dist/config/RTL.js +26 -20
- package/dist/config/RTL.js.map +1 -0
- package/dist/config/Theme.d.ts +38 -0
- package/dist/config/Theme.js +64 -22
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoots.d.ts +4 -0
- package/dist/config/ThemeRoots.js +28 -0
- package/dist/config/ThemeRoots.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +30 -0
- package/dist/config/Timezone.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +66 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +17 -0
- package/dist/decorators/customElement.d.ts +23 -0
- package/dist/decorators/customElement.js +37 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event.d.ts +10 -0
- package/dist/decorators/event.js +24 -0
- package/dist/decorators/event.js.map +1 -0
- package/dist/decorators/property.d.ts +9 -0
- package/dist/decorators/property.js +24 -0
- package/dist/decorators/property.js.map +1 -0
- package/dist/decorators/slot.d.ts +9 -0
- package/dist/decorators/slot.js +37 -0
- package/dist/decorators/slot.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +113 -0
- package/dist/delegate/ItemNavigation.js +280 -277
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +25 -0
- package/dist/delegate/ResizeHandler.js +84 -62
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +159 -176
- 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 +95 -86
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +3 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -0
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -0
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -0
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +22 -18
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +40 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +68 -42
- package/dist/i18nBundle.js.map +1 -0
- package/dist/locale/Locale.d.ts +22 -0
- package/dist/locale/Locale.js +75 -87
- package/dist/locale/Locale.js.map +1 -0
- package/dist/locale/RTLAwareRegistry.d.ts +4 -0
- package/dist/locale/RTLAwareRegistry.js +6 -11
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +10 -0
- package/dist/locale/applyDirection.js +8 -9
- 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 +24 -0
- 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 +34 -24
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +240 -0
- package/dist/sap/base/assert.js +7 -0
- package/dist/sap/base/security/URLListValidator.js +159 -0
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/security/sanitizeHTML.js +16 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/base/util/now.js +7 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +40 -32
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +8 -16
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/ThemeRegistered.d.ts +4 -0
- package/dist/theming/ThemeRegistered.js +11 -0
- package/dist/theming/ThemeRegistered.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +62 -71
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +13 -17
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
- package/dist/theming/getEffectiveLinksHrefs.js +17 -0
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +26 -17
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -11
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +73 -60
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +19 -0
- package/dist/theming/preloadLinks.js.map +1 -0
- package/dist/thirdparty/_merge.d.ts +2 -0
- package/dist/thirdparty/_merge.js +7 -4
- package/dist/thirdparty/_merge.js.map +1 -0
- package/dist/thirdparty/isPlainObject.d.ts +2 -0
- package/dist/thirdparty/isPlainObject.js +11 -10
- package/dist/thirdparty/isPlainObject.js.map +1 -0
- package/dist/thirdparty/merge.d.ts +2 -0
- package/dist/thirdparty/merge.js +4 -8
- package/dist/thirdparty/merge.js.map +1 -0
- package/dist/types/AnimationMode.d.ts +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 +18 -0
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CalendarType.d.ts +37 -0
- package/dist/types/CalendarType.js +35 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +17 -0
- package/dist/types/DOMReference.js +25 -0
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +25 -0
- package/dist/types/DataType.js +33 -14
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +17 -0
- package/dist/types/Float.js +17 -6
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +17 -0
- package/dist/types/Integer.js +17 -5
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +27 -0
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -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 +38 -0
- 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 +337 -0
- package/dist/util/ColorConversion.js.map +1 -0
- package/dist/util/FetchHelper.d.ts +3 -0
- package/dist/util/FetchHelper.js +19 -25
- package/dist/util/FetchHelper.js.map +1 -0
- package/dist/util/FocusableElements.d.ts +4 -0
- package/dist/util/FocusableElements.js +67 -68
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +6 -0
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +56 -0
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +74 -0
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +30 -0
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +12 -0
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +21 -0
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/createStyleInHead.d.ts +8 -0
- package/dist/util/createStyleInHead.js +10 -10
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +15 -0
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +398 -0
- package/dist/util/getClassCopy.js +10 -0
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +4 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +4 -0
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
- package/dist/util/getFileExtension.js +9 -11
- package/dist/util/getFileExtension.js.map +1 -0
- package/dist/util/getNormalizedTarget.d.ts +7 -0
- package/dist/util/getNormalizedTarget.js +14 -0
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +2 -0
- package/dist/util/getSingletonElementInstance.js +7 -10
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +12 -0
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +9 -0
- package/dist/util/isElementTabbable.js +30 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +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 +228 -2
- package/lib/generate-asset-parameters/index.js +11 -6
- package/lib/generate-styles/index.js +31 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.cjs +71 -0
- package/package.json +21 -13
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +66 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +17 -0
- package/src/renderer/directives/style-map.js +72 -0
- package/tsconfig.json +14 -0
- package/used-modules.txt +10 -0
- package/bundle.es5.js +0 -28
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -169
- package/dist/SVGIconRegistry.js +0 -73
- package/dist/animations/config.js +0 -5
- package/dist/boot.js +0 -34
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/config/AssetsPath.js +0 -17
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -45
- package/dist/features/PropertiesFormatSupport.js +0 -8
- package/dist/features/browsersupport/Edge.js +0 -6
- package/dist/features/browsersupport/IE11.js +0 -43
- package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/renderer/scopeHTML.js +0 -32
- package/dist/resources/bundle.es5.js +0 -225
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/resources/bundle.esm.js +0 -129
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -17
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -41
- package/dist/test-resources/elements/WithStaticArea.js +0 -76
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -20
- package/dist/test-resources/pages/ConfigurationScript.html +0 -36
- package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
- package/dist/test-resources/pages/i18n.html +0 -40
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
- package/dist/test-resources/specs/StaticArea.spec.js +0 -34
- package/dist/test-resources/specs/Theming.spec.js +0 -31
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -240
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -73
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
- package/dist/theming/CSSVarsPonyfill.js +0 -68
- package/dist/theming/adaptCSSForIE.js +0 -95
- package/dist/theming/createComponentStyleTag.js +0 -54
- package/dist/theming/createThemePropertiesStyleTag.js +0 -20
- package/dist/thirdparty/Array.from.js +0 -16
- package/dist/thirdparty/Array.prototype.fill.js +0 -44
- package/dist/thirdparty/Array.prototype.find.js +0 -46
- package/dist/thirdparty/Array.prototype.findIndex.js +0 -46
- package/dist/thirdparty/Array.prototype.includes.js +0 -51
- package/dist/thirdparty/Element.prototype.closest.js +0 -11
- package/dist/thirdparty/Element.prototype.matches.js +0 -6
- package/dist/thirdparty/Map.prototype.keys.js +0 -9
- package/dist/thirdparty/Number.isInteger.js +0 -5
- package/dist/thirdparty/Number.isNaN.js +0 -1
- package/dist/thirdparty/Number.parseFloat.js +0 -1
- package/dist/thirdparty/Number.parseInt.js +0 -1
- package/dist/thirdparty/Object.assign.js +0 -31
- package/dist/thirdparty/Object.entries.js +0 -11
- package/dist/thirdparty/Symbol.js +0 -2
- package/dist/thirdparty/WeakSet.js +0 -27
- package/dist/thirdparty/es6-string-methods.js +0 -182
- package/dist/thirdparty/events-polyfills.js +0 -89
- package/dist/thirdparty/fetch.js +0 -1
- package/dist/thirdparty/template.js +0 -600
- package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/EffectiveAssetPath.js +0 -27
- 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/isSlot.js +0 -3
- package/dist/util/parseProperties.js +0 -89
- package/dist/util/setToArray.js +0 -10
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
- package/package-scripts.js +0 -47
- package/src/AssetRegistry.js +0 -12
- package/src/CustomElementsRegistry.js +0 -39
- package/src/Device.js +0 -823
- package/src/EventProvider.js +0 -81
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -118
- package/src/InitialConfiguration.js +0 -150
- package/src/Keys.js +0 -221
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -169
- package/src/SVGIconRegistry.js +0 -73
- package/src/StaticArea.js +0 -31
- package/src/StaticAreaItem.js +0 -108
- package/src/SystemCSSVars.js +0 -31
- package/src/UI5Element.js +0 -1175
- package/src/UI5ElementMetadata.js +0 -280
- 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 -32
- package/src/asset-registries/LocaleData.js +0 -135
- package/src/asset-registries/Themes.js +0 -88
- package/src/asset-registries/i18n.js +0 -110
- package/src/boot.js +0 -34
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/config/AnimationMode.js +0 -23
- package/src/config/AssetsPath.js +0 -17
- package/src/config/CalendarType.js +0 -18
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -70
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -28
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/ItemNavigation.js +0 -313
- package/src/delegate/NativeResize.js +0 -45
- package/src/delegate/ResizeHandler.js +0 -65
- package/src/delegate/ScrollEnablement.js +0 -182
- package/src/features/OpenUI5Support.js +0 -90
- package/src/features/PropertiesFormatSupport.js +0 -8
- package/src/features/browsersupport/Edge.js +0 -6
- package/src/features/browsersupport/IE11.js +0 -43
- package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -52
- package/src/locale/Locale.js +0 -91
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -18
- package/src/locale/directionChange.js +0 -32
- 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 -31
- package/src/renderer/executeTemplate.js +0 -17
- package/src/renderer/ifDefined.js +0 -21
- package/src/renderer/scopeHTML.js +0 -32
- package/src/theming/CSSVarsPonyfill.js +0 -68
- package/src/theming/CustomStyle.js +0 -40
- package/src/theming/ThemeLoaded.js +0 -22
- package/src/theming/adaptCSSForIE.js +0 -95
- package/src/theming/applyTheme.js +0 -84
- package/src/theming/createComponentStyleTag.js +0 -54
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/theming/getConstructableStyle.js +0 -29
- package/src/theming/getEffectiveStyle.js +0 -23
- package/src/theming/getStylesString.js +0 -13
- package/src/theming/getThemeDesignerTheme.js +0 -67
- package/src/thirdparty/Array.from.js +0 -16
- package/src/thirdparty/Array.prototype.fill.js +0 -44
- package/src/thirdparty/Array.prototype.find.js +0 -46
- package/src/thirdparty/Array.prototype.findIndex.js +0 -46
- package/src/thirdparty/Array.prototype.includes.js +0 -51
- package/src/thirdparty/Element.prototype.closest.js +0 -11
- package/src/thirdparty/Element.prototype.matches.js +0 -6
- package/src/thirdparty/Map.prototype.keys.js +0 -9
- package/src/thirdparty/Number.isInteger.js +0 -5
- package/src/thirdparty/Number.isNaN.js +0 -1
- package/src/thirdparty/Number.parseFloat.js +0 -1
- package/src/thirdparty/Number.parseInt.js +0 -1
- package/src/thirdparty/Object.assign.js +0 -31
- package/src/thirdparty/Object.entries.js +0 -11
- package/src/thirdparty/Symbol.js +0 -2
- package/src/thirdparty/WeakSet.js +0 -27
- package/src/thirdparty/_merge.js +0 -32
- package/src/thirdparty/es6-string-methods.js +0 -182
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/isPlainObject.js +0 -18
- package/src/thirdparty/merge.js +0 -10
- package/src/thirdparty/template.js +0 -600
- package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -25
- package/src/types/Float.js +0 -10
- package/src/types/Integer.js +0 -9
- package/src/types/ItemNavigationBehavior.js +0 -16
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/util/AriaLabelHelper.js +0 -41
- package/src/util/Caret.js +0 -45
- package/src/util/EffectiveAssetPath.js +0 -27
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -73
- package/src/util/StringHelper.js +0 -26
- package/src/util/TabbableElements.js +0 -47
- package/src/util/arraysAreEqual.js +0 -15
- package/src/util/createStyleInHead.js +0 -18
- package/src/util/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/getDesigntimePropertyAsArray.js +0 -4
- package/src/util/getSingletonElementInstance.js +0 -13
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isNodeClickable.js +0 -19
- package/src/util/isNodeHidden.js +0 -9
- package/src/util/isNodeTabbable.js +0 -28
- package/src/util/isSlot.js +0 -3
- package/src/util/isValidPropertyName.js +0 -29
- package/src/util/parseProperties.js +0 -89
- package/src/util/setToArray.js +0 -10
- package/src/util/whenDOMReady.js +0 -13
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
package/src/config/RTL.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { getRTL as getConfiguredRTL } from "../InitialConfiguration.js";
|
|
2
|
-
import { getLanguage } from "./Language.js";
|
|
3
|
-
import getDesigntimePropertyAsArray from "../util/getDesigntimePropertyAsArray.js";
|
|
4
|
-
import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
|
|
5
|
-
|
|
6
|
-
const M_ISO639_OLD_TO_NEW = {
|
|
7
|
-
"iw": "he",
|
|
8
|
-
"ji": "yi",
|
|
9
|
-
"in": "id",
|
|
10
|
-
"sh": "sr",
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
|
|
14
|
-
|
|
15
|
-
const impliesRTL = language => {
|
|
16
|
-
language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
|
|
17
|
-
|
|
18
|
-
return A_RTL_LOCALES.indexOf(language) >= 0;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const getRTL = () => {
|
|
22
|
-
const configurationRTL = getConfiguredRTL();
|
|
23
|
-
|
|
24
|
-
if (configurationRTL !== null) {
|
|
25
|
-
return !!configurationRTL;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return impliesRTL(getLanguage() || detectNavigatorLanguage());
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { getRTL }; // eslint-disable-line
|
package/src/config/Theme.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
|
|
2
|
-
import applyTheme from "../theming/applyTheme.js";
|
|
3
|
-
|
|
4
|
-
let theme;
|
|
5
|
-
|
|
6
|
-
const getTheme = () => {
|
|
7
|
-
if (theme === undefined) {
|
|
8
|
-
theme = getConfiguredTheme();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return theme;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const setTheme = async newTheme => {
|
|
15
|
-
if (theme === newTheme) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
theme = newTheme;
|
|
20
|
-
|
|
21
|
-
// Update CSS Custom Properties
|
|
22
|
-
await applyTheme(theme);
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
getTheme,
|
|
27
|
-
setTheme,
|
|
28
|
-
};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
const INTERVAL = 300;
|
|
2
|
-
|
|
3
|
-
class CustomResize {
|
|
4
|
-
static initialize() {
|
|
5
|
-
CustomResize.initialized = false;
|
|
6
|
-
CustomResize.resizeInterval = undefined;
|
|
7
|
-
CustomResize.resizeListeners = new Map();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
static attachListener(ref, callback) {
|
|
11
|
-
const observedObject = CustomResize.resizeListeners.get(ref);
|
|
12
|
-
const existingCallbacks = observedObject ? observedObject.callbacks : [];
|
|
13
|
-
|
|
14
|
-
CustomResize.resizeListeners.set(ref, {
|
|
15
|
-
width: ref ? ref.offsetWidth : 0,
|
|
16
|
-
height: ref ? ref.offsetHeight : 0,
|
|
17
|
-
callbacks: existingCallbacks.concat(callback),
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
CustomResize.initListener();
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
static initListener() {
|
|
24
|
-
if (CustomResize.resizeListeners.size > 0 && !CustomResize.initialized) {
|
|
25
|
-
CustomResize.resizeInterval = setInterval(CustomResize.checkListeners.bind(CustomResize), INTERVAL);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
static checkListeners() {
|
|
30
|
-
CustomResize.resizeListeners.forEach((entry, ref) => {
|
|
31
|
-
const changed = CustomResize.checkSizes(entry, ref);
|
|
32
|
-
|
|
33
|
-
if (changed || (entry && !entry._hasBeenRendered)) {
|
|
34
|
-
CustomResize.updateSizes(entry, ref.offsetWidth, ref.offsetHeight);
|
|
35
|
-
entry.callbacks.forEach(el => el());
|
|
36
|
-
entry._hasBeenRendered = true;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static updateSizes(sizes, newWidth, newHeight) {
|
|
42
|
-
sizes.width = newWidth;
|
|
43
|
-
sizes.height = newHeight;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static checkSizes(entry, ref) {
|
|
47
|
-
const oldHeight = entry.height;
|
|
48
|
-
const oldWidth = entry.width;
|
|
49
|
-
const newHeight = ref.offsetHeight;
|
|
50
|
-
const newWidth = ref.offsetWidth;
|
|
51
|
-
|
|
52
|
-
return ((oldHeight !== newHeight) || oldWidth !== newWidth);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
static detachListener(ref, callback) {
|
|
56
|
-
const listenerObject = CustomResize.resizeListeners.get(ref);
|
|
57
|
-
const callbacks = listenerObject ? listenerObject.callbacks : [];
|
|
58
|
-
const filteredCallbacks = callbacks.filter(fn => fn !== callback);
|
|
59
|
-
|
|
60
|
-
if (!listenerObject || (callbacks.length === filteredCallbacks.length && callbacks.length !== 0)) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
CustomResize.resizeListeners.set(ref, Object.assign(listenerObject, { callbacks: filteredCallbacks }));
|
|
65
|
-
|
|
66
|
-
if (!filteredCallbacks.length) {
|
|
67
|
-
listenerObject.callbacks = null;
|
|
68
|
-
CustomResize.resizeListeners.delete(ref);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (CustomResize.resizeListeners.size === 0) {
|
|
72
|
-
CustomResize.initialized = false;
|
|
73
|
-
clearInterval(CustomResize.resizeInterval);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export default CustomResize;
|
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import RenderScheduler from "../RenderScheduler.js";
|
|
2
|
-
import {
|
|
3
|
-
isDown,
|
|
4
|
-
isUp,
|
|
5
|
-
isLeft,
|
|
6
|
-
isRight,
|
|
7
|
-
isHome,
|
|
8
|
-
isEnd,
|
|
9
|
-
} from "../Keys.js";
|
|
10
|
-
import getActiveElement from "../util/getActiveElement.js";
|
|
11
|
-
|
|
12
|
-
import EventProvider from "../EventProvider.js";
|
|
13
|
-
import NavigationMode from "../types/NavigationMode.js";
|
|
14
|
-
import ItemNavigationBehavior from "../types/ItemNavigationBehavior.js";
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* The ItemNavigation class manages the calculations to determine the correct "tabindex" for a group of related items inside a root component.
|
|
18
|
-
* Important: ItemNavigation only does the calculations and does not change "tabindex" directly, this is a responsibility of the developer.
|
|
19
|
-
*
|
|
20
|
-
* The keys that trigger ItemNavigation are:
|
|
21
|
-
* - Up/down
|
|
22
|
-
* - Left/right
|
|
23
|
-
* - Home/End
|
|
24
|
-
*
|
|
25
|
-
* Usage:
|
|
26
|
-
* 1) Use the "getItemsCallback" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.
|
|
27
|
-
*
|
|
28
|
-
* Each item passed to ItemNavigation via "getItemsCallback" must be:
|
|
29
|
-
* - A) either a UI5Element with a "_tabIndex" property
|
|
30
|
-
* - B) or an Object with "id" and "_tabIndex" properties which represents a part of the root component's shadow DOM.
|
|
31
|
-
* The "id" must be a valid ID within the shadow root of the component ItemNavigation operates on.
|
|
32
|
-
* This object must not be a DOM object because, as said, ItemNavigation will not set "tabindex" on it. It must be a representation of a DOM object only
|
|
33
|
-
* and the developer has the responsibility to update the "tabindex" in the component's DOM.
|
|
34
|
-
* - C) a combination of the above
|
|
35
|
-
*
|
|
36
|
-
* Whenever the user navigates with the keyboard, ItemNavigation will modify the "_tabIndex" properties of the items.
|
|
37
|
-
* It is the items' responsibilities to re-render themselves and apply the correct value of "tabindex" (i.e. to map the "_tabIndex" ItemNavigation set to them to the "tabindex" property).
|
|
38
|
-
* If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their "_tabIndex" property.
|
|
39
|
-
* If the items are Objects with "id" and "_tabIndex" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation.
|
|
40
|
-
* To do so, set the "affectedPropertiesNames" constructor property to point to one or more of the root component's properties that need refreshing when "_tabIndex" is changed deeply.
|
|
41
|
-
*
|
|
42
|
-
* 2) Call the "update" method of ItemNavigation whenever you want to change the current item.
|
|
43
|
-
* This is most commonly required if the user for example clicks on an item and thus selects it directly.
|
|
44
|
-
* Pass as the only argument to "update" the item that becomes current (must be one of the items, returned by "getItemsCallback").
|
|
45
|
-
*
|
|
46
|
-
* @class
|
|
47
|
-
* @public
|
|
48
|
-
*/
|
|
49
|
-
class ItemNavigation extends EventProvider {
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
* @param rootWebComponent the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
|
|
53
|
-
* @param options Object with configuration options:
|
|
54
|
-
* - currentIndex: the index of the item that will be initially selected (from which navigation will begin)
|
|
55
|
-
* - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right)
|
|
56
|
-
* - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto
|
|
57
|
-
* - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items
|
|
58
|
-
* Static means that nothing happens if the user tries to navigate beyond the first/last item.
|
|
59
|
-
* Cycling means that when the user navigates beyond the last item they go to the first and vice versa.
|
|
60
|
-
* - getItemsCallback: function that, when called, returns an array with all items the user can navigate among
|
|
61
|
-
* - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate
|
|
62
|
-
*/
|
|
63
|
-
constructor(rootWebComponent, options = {}) {
|
|
64
|
-
super();
|
|
65
|
-
|
|
66
|
-
this.currentIndex = options.currentIndex || 0;
|
|
67
|
-
this.rowSize = options.rowSize || 1;
|
|
68
|
-
this.behavior = options.behavior || ItemNavigationBehavior.Static;
|
|
69
|
-
const navigationMode = options.navigationMode;
|
|
70
|
-
const autoNavigation = !navigationMode || navigationMode === NavigationMode.Auto;
|
|
71
|
-
this.horizontalNavigationOn = autoNavigation || navigationMode === NavigationMode.Horizontal;
|
|
72
|
-
this.verticalNavigationOn = autoNavigation || navigationMode === NavigationMode.Vertical;
|
|
73
|
-
|
|
74
|
-
if (options.affectedPropertiesNames) {
|
|
75
|
-
this.affectedPropertiesNames = options.affectedPropertiesNames;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (options.getItemsCallback) {
|
|
79
|
-
this._getItems = options.getItemsCallback;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
this.rootWebComponent = rootWebComponent;
|
|
83
|
-
this.rootWebComponent.addEventListener("keydown", this.onkeydown.bind(this));
|
|
84
|
-
this.rootWebComponent._onComponentStateFinalized = () => {
|
|
85
|
-
this._init();
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
_init() {
|
|
90
|
-
this._getItems().forEach((item, idx) => {
|
|
91
|
-
item._tabIndex = (idx === this.currentIndex) ? "0" : "-1";
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
_horizontalNavigationOn() {
|
|
96
|
-
return this.horizontalNavigationOn;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
_verticalNavigationOn() {
|
|
100
|
-
return this.verticalNavigationOn;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
async _onKeyPress(event) {
|
|
104
|
-
if (this.currentIndex >= this._getItems().length) {
|
|
105
|
-
this.onOverflowBottomEdge();
|
|
106
|
-
} else if (this.currentIndex < 0) {
|
|
107
|
-
this.onOverflowTopEdge();
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
event.preventDefault();
|
|
111
|
-
|
|
112
|
-
await RenderScheduler.whenFinished();
|
|
113
|
-
|
|
114
|
-
this.update();
|
|
115
|
-
this.focusCurrent();
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
onkeydown(event) {
|
|
119
|
-
if (isUp(event) && this._verticalNavigationOn()) {
|
|
120
|
-
return this._handleUp(event);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (isDown(event) && this._verticalNavigationOn()) {
|
|
124
|
-
return this._handleDown(event);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (isLeft(event) && this._horizontalNavigationOn()) {
|
|
128
|
-
return this._handleLeft(event);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (isRight(event) && this._horizontalNavigationOn()) {
|
|
132
|
-
return this._handleRight(event);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (isHome(event)) {
|
|
136
|
-
return this._handleHome(event);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
if (isEnd(event)) {
|
|
140
|
-
return this._handleEnd(event);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
_handleUp(event) {
|
|
145
|
-
if (this._canNavigate()) {
|
|
146
|
-
this.currentIndex -= this.rowSize;
|
|
147
|
-
this._onKeyPress(event);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
_handleDown(event) {
|
|
152
|
-
if (this._canNavigate()) {
|
|
153
|
-
this.currentIndex += this.rowSize;
|
|
154
|
-
this._onKeyPress(event);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
_handleLeft(event) {
|
|
159
|
-
if (this._canNavigate()) {
|
|
160
|
-
this.currentIndex -= 1;
|
|
161
|
-
this._onKeyPress(event);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
_handleRight(event) {
|
|
166
|
-
if (this._canNavigate()) {
|
|
167
|
-
this.currentIndex += 1;
|
|
168
|
-
this._onKeyPress(event);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
_handleHome(event) {
|
|
173
|
-
if (this._canNavigate()) {
|
|
174
|
-
const homeEndRange = this.rowSize > 1 ? this.rowSize : this._getItems().length;
|
|
175
|
-
this.currentIndex -= this.currentIndex % homeEndRange;
|
|
176
|
-
this._onKeyPress(event);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
_handleEnd(event) {
|
|
181
|
-
if (this._canNavigate()) {
|
|
182
|
-
const homeEndRange = this.rowSize > 1 ? this.rowSize : this._getItems().length;
|
|
183
|
-
this.currentIndex += (homeEndRange - 1 - this.currentIndex % homeEndRange); // eslint-disable-line
|
|
184
|
-
this._onKeyPress(event);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Call this method to set a new "current" (selected) item in the item navigation
|
|
190
|
-
* Note: the item passed to this function must be one of the items, returned by the getItemsCallback function
|
|
191
|
-
*
|
|
192
|
-
* @public
|
|
193
|
-
* @param current the new selected item
|
|
194
|
-
*/
|
|
195
|
-
update(current) {
|
|
196
|
-
const origItems = this._getItems();
|
|
197
|
-
|
|
198
|
-
if (current) {
|
|
199
|
-
this.currentIndex = this._getItems().indexOf(current);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (!origItems[this.currentIndex]
|
|
203
|
-
|| (origItems[this.currentIndex]._tabIndex && origItems[this.currentIndex]._tabIndex === "0")) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
const items = origItems.slice(0);
|
|
208
|
-
|
|
209
|
-
for (let i = 0; i < items.length; i++) {
|
|
210
|
-
items[i]._tabIndex = (i === this.currentIndex ? "0" : "-1");
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
if (Array.isArray(this.affectedPropertiesNames)) {
|
|
214
|
-
this.affectedPropertiesNames.forEach(propName => {
|
|
215
|
-
const prop = this.rootWebComponent[propName];
|
|
216
|
-
this.rootWebComponent[propName] = Array.isArray(prop) ? [...prop] : { ...prop };
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* @public
|
|
223
|
-
* @deprecated
|
|
224
|
-
*/
|
|
225
|
-
focusCurrent() {
|
|
226
|
-
const currentItem = this._getCurrentItem();
|
|
227
|
-
if (currentItem) {
|
|
228
|
-
currentItem.focus();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
_canNavigate() {
|
|
233
|
-
const currentItem = this._getCurrentItem();
|
|
234
|
-
const activeElement = getActiveElement();
|
|
235
|
-
|
|
236
|
-
return currentItem && currentItem === activeElement;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
_getCurrentItem() {
|
|
240
|
-
const items = this._getItems();
|
|
241
|
-
|
|
242
|
-
if (!items.length) {
|
|
243
|
-
return null;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// normalize the index
|
|
247
|
-
while (this.currentIndex >= items.length) {
|
|
248
|
-
this.currentIndex -= this.rowSize;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
if (this.currentIndex < 0) {
|
|
252
|
-
this.currentIndex = 0;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
const currentItem = items[this.currentIndex];
|
|
256
|
-
|
|
257
|
-
if (!currentItem) {
|
|
258
|
-
return;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
if (currentItem.isUI5Element) {
|
|
262
|
-
return currentItem.getFocusDomRef();
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
if (!this.rootWebComponent.getDomRef()) {
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
return this.rootWebComponent.getDomRef().querySelector(`#${currentItem.id}`);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Set to callback that returns the list of items to navigate among
|
|
274
|
-
* @public
|
|
275
|
-
* @param callback a function that returns an array of items to navigate among
|
|
276
|
-
*/
|
|
277
|
-
set getItemsCallback(callback) {
|
|
278
|
-
this._getItems = callback;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* @public
|
|
283
|
-
* @deprecated
|
|
284
|
-
* @param val
|
|
285
|
-
*/
|
|
286
|
-
set current(val) {
|
|
287
|
-
this.currentIndex = val;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
onOverflowBottomEdge(event) {
|
|
291
|
-
const items = this._getItems();
|
|
292
|
-
|
|
293
|
-
if (this.behavior === ItemNavigationBehavior.Cyclic) {
|
|
294
|
-
this.currentIndex = 0;
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
this.currentIndex = items.length - 1;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
onOverflowTopEdge(event) {
|
|
302
|
-
const items = this._getItems();
|
|
303
|
-
|
|
304
|
-
if (this.behavior === ItemNavigationBehavior.Cyclic) {
|
|
305
|
-
this.currentIndex = items.length - 1;
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
this.currentIndex = 0;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
export default ItemNavigation;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
class NativeResize {
|
|
2
|
-
static initialize() {
|
|
3
|
-
NativeResize.resizeObserver = new window.ResizeObserver(entries => {
|
|
4
|
-
// call attached callbacks
|
|
5
|
-
entries.forEach(entry => {
|
|
6
|
-
const callbacks = NativeResize.observedObjects.get(entry.target);
|
|
7
|
-
|
|
8
|
-
callbacks.forEach(el => el());
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
NativeResize.observedObjects = new Map();
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static attachListener(ref, callback) {
|
|
16
|
-
const observedDOMs = NativeResize.observedObjects;
|
|
17
|
-
const callbacks = observedDOMs.get(ref) || [];
|
|
18
|
-
|
|
19
|
-
// if no callbacks has been added for this ref - start observing it
|
|
20
|
-
if (!callbacks.length) {
|
|
21
|
-
NativeResize.resizeObserver.observe(ref);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// save the callbacks in an array
|
|
25
|
-
observedDOMs.set(ref, [...callbacks, callback]);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
static detachListener(ref, callback) {
|
|
29
|
-
const callbacks = NativeResize.observedObjects.get(ref) || [];
|
|
30
|
-
const filteredCallbacks = callbacks.filter(fn => fn !== callback);
|
|
31
|
-
|
|
32
|
-
if (!callbacks.length || (callbacks.length === filteredCallbacks.length && callbacks.length !== 0)) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
NativeResize.observedObjects.set(ref, filteredCallbacks);
|
|
37
|
-
|
|
38
|
-
if (!filteredCallbacks.length) {
|
|
39
|
-
NativeResize.resizeObserver.unobserve(ref);
|
|
40
|
-
NativeResize.observedObjects.delete(ref);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export default NativeResize;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import NativeResize from "./NativeResize.js";
|
|
2
|
-
import CustomResize from "./CustomResize.js";
|
|
3
|
-
|
|
4
|
-
class ResizeHandler {
|
|
5
|
-
static initialize() {
|
|
6
|
-
ResizeHandler.Implementation = window.ResizeObserver ? NativeResize : CustomResize;
|
|
7
|
-
ResizeHandler.Implementation.initialize();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @static
|
|
12
|
-
* @private
|
|
13
|
-
* @param {*} ref Reference to be observed
|
|
14
|
-
* @param {*} callback Callback to be executed
|
|
15
|
-
* @memberof ResizeHandler
|
|
16
|
-
*/
|
|
17
|
-
static attachListener(ref, callback) {
|
|
18
|
-
ResizeHandler.Implementation.attachListener.call(ResizeHandler.Implementation, ref, callback);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @static
|
|
23
|
-
* @private
|
|
24
|
-
* @param {*} ref Reference to be unobserved
|
|
25
|
-
* @memberof ResizeHandler
|
|
26
|
-
*/
|
|
27
|
-
static detachListener(ref, callback) {
|
|
28
|
-
ResizeHandler.Implementation.detachListener.call(ResizeHandler.Implementation, ref, callback);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @static
|
|
34
|
-
* @public
|
|
35
|
-
* @param {*} ref Reference to a UI5 Web Component or DOM Element to be observed
|
|
36
|
-
* @param {*} callback Callback to be executed
|
|
37
|
-
* @memberof ResizeHandler
|
|
38
|
-
*/
|
|
39
|
-
static register(ref, callback) {
|
|
40
|
-
if (ref.isUI5Element) {
|
|
41
|
-
ref = ref.getDomRef();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
ResizeHandler.attachListener(ref, callback);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @static
|
|
50
|
-
* @public
|
|
51
|
-
* @param {*} ref Reference to UI5 Web Component or DOM Element to be unobserved
|
|
52
|
-
* @memberof ResizeHandler
|
|
53
|
-
*/
|
|
54
|
-
static deregister(ref, callback) {
|
|
55
|
-
if (ref.isUI5Element) {
|
|
56
|
-
ref = ref.getDomRef();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
ResizeHandler.detachListener(ref, callback);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
ResizeHandler.initialize();
|
|
64
|
-
|
|
65
|
-
export default ResizeHandler;
|