@ui5/webcomponents-base 0.0.0-cc312800a → 0.0.0-ce98ce2bb
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 -4
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +787 -0
- package/README.md +57 -7
- package/bundle.esm.js +26 -13
- 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/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 +62 -0
- package/dist/CustomElementsScopeUtils.js +102 -0
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +12 -54
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +13 -0
- package/dist/Device.js +159 -84
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -88
- 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/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 -114
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +61 -0
- package/dist/Keys.js +178 -229
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +8 -0
- package/dist/ManagedStyles.js +78 -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 +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 +82 -112
- 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 +37 -0
- package/dist/StaticAreaItem.js +89 -83
- 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 +380 -0
- package/dist/UI5Element.js +928 -997
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +278 -298
- 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 +39 -0
- package/dist/asset-registries/Icons.js +120 -102
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +18 -0
- package/dist/asset-registries/Illustrations.js +85 -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 +104 -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 +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/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
- package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
- package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
- package/dist/assets/Boot.34b7cea0.css +1 -0
- package/dist/assets/Boot.52ac4401.js +9 -0
- package/dist/assets/bundle.esm.6d93df7e.js +50 -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 +40 -0
- package/dist/config/Icons.js +44 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +40 -0
- package/dist/config/Language.js +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 +64 -22
- 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/connectToComponent.d.ts +9 -0
- package/dist/connectToComponent.js +59 -0
- package/dist/connectToComponent.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +84 -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 +277 -246
- 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 -174
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +19 -0
- package/dist/features/F6Navigation.js +151 -0
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/LegacyDateFormats.d.ts +18 -0
- package/dist/features/LegacyDateFormats.js +20 -0
- package/dist/features/LegacyDateFormats.js.map +1 -0
- package/dist/features/OpenUI5Element.d.ts +9 -0
- package/dist/features/OpenUI5Element.js +5 -0
- package/dist/features/OpenUI5Element.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +11 -0
- package/dist/features/OpenUI5Enablement.js +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +36 -0
- package/dist/features/OpenUI5Support.js +150 -121
- 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.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 +68 -44
- 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 +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 +3600 -0
- 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 +63 -65
- 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 +17 -0
- 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 -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 +14 -5
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CSSSize.d.ts +15 -0
- package/dist/types/CSSSize.js +14 -5
- package/dist/types/CSSSize.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 +32 -16
- 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 -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 +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 +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 +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 +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 +19 -9
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +84 -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/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/config/AssetsPath.js +0 -17
- package/dist/isLegacyBrowser.js +0 -3
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/renderer/scopeHTML.js +0 -32
- package/dist/resources/bundle.esm.js +0 -121
- 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 -39
- 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 -35
- 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 -47
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
- package/dist/test-resources/specs/StaticArea.spec.js +0 -36
- 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/theming/createThemePropertiesStyleTag.js +0 -20
- 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 -43
- package/src/Boot.js +0 -43
- package/src/CustomElementsRegistry.js +0 -39
- package/src/CustomElementsScope.js +0 -108
- package/src/DOMObserver.js +0 -65
- package/src/Device.js +0 -100
- package/src/EventProvider.js +0 -91
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -118
- package/src/InitialConfiguration.js +0 -149
- package/src/Keys.js +0 -233
- package/src/MediaRange.js +0 -109
- package/src/PropertiesFileFormat.js +0 -95
- package/src/Render.js +0 -173
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -44
- package/src/StaticArea.js +0 -3
- package/src/StaticAreaItem.js +0 -96
- package/src/SystemCSSVars.js +0 -31
- package/src/UI5Element.js +0 -1034
- package/src/UI5ElementMetadata.js +0 -311
- 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 -118
- package/src/asset-registries/LocaleData.js +0 -150
- package/src/asset-registries/Themes.js +0 -78
- package/src/asset-registries/i18n.js +0 -121
- 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 -68
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -28
- package/src/delegate/ItemNavigation.js +0 -285
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -182
- package/src/features/OpenUI5Support.js +0 -125
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -55
- 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 -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/CustomStyle.js +0 -40
- package/src/theming/ThemeLoaded.js +0 -22
- package/src/theming/applyTheme.js +0 -78
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/theming/getConstructableStyle.js +0 -30
- package/src/theming/getEffectiveStyle.js +0 -30
- package/src/theming/getStylesString.js +0 -13
- package/src/theming/getThemeDesignerTheme.js +0 -67
- 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 -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/updateShadowRoot.js +0 -26
- 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 -73
- 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/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,311 +0,0 @@
|
|
|
1
|
-
import DataType from "./types/DataType.js";
|
|
2
|
-
import isDescendantOf from "./util/isDescendantOf.js";
|
|
3
|
-
import { camelToKebabCase } from "./util/StringHelper.js";
|
|
4
|
-
import { getSlottedElements } from "./util/SlotsHelper.js";
|
|
5
|
-
import { getEffectiveScopingSuffixForTag } from "./CustomElementsScope.js";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* @class
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
class UI5ElementMetadata {
|
|
13
|
-
constructor(metadata) {
|
|
14
|
-
this.metadata = metadata;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
getInitialState() {
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(this, "_initialState")) {
|
|
19
|
-
return this._initialState;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const initialState = {};
|
|
23
|
-
const slotsAreManaged = this.slotsAreManaged();
|
|
24
|
-
|
|
25
|
-
// Initialize properties
|
|
26
|
-
const props = this.getProperties();
|
|
27
|
-
for (const propName in props) { // eslint-disable-line
|
|
28
|
-
const propType = props[propName].type;
|
|
29
|
-
const propDefaultValue = props[propName].defaultValue;
|
|
30
|
-
|
|
31
|
-
if (propType === Boolean) {
|
|
32
|
-
initialState[propName] = false;
|
|
33
|
-
|
|
34
|
-
if (propDefaultValue !== undefined) {
|
|
35
|
-
console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default"); // eslint-disable-line
|
|
36
|
-
}
|
|
37
|
-
} else if (props[propName].multiple) {
|
|
38
|
-
initialState[propName] = [];
|
|
39
|
-
} else if (propType === Object) {
|
|
40
|
-
initialState[propName] = "defaultValue" in props[propName] ? props[propName].defaultValue : {};
|
|
41
|
-
} else if (propType === String) {
|
|
42
|
-
initialState[propName] = "defaultValue" in props[propName] ? props[propName].defaultValue : "";
|
|
43
|
-
} else {
|
|
44
|
-
initialState[propName] = propDefaultValue;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Initialize slots
|
|
49
|
-
if (slotsAreManaged) {
|
|
50
|
-
const slots = this.getSlots();
|
|
51
|
-
for (const [slotName, slotData] of Object.entries(slots)) { // eslint-disable-line
|
|
52
|
-
const propertyName = slotData.propertyName || slotName;
|
|
53
|
-
initialState[propertyName] = [];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
this._initialState = initialState;
|
|
58
|
-
return initialState;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Only intended for use by UI5Element.js
|
|
63
|
-
* @protected
|
|
64
|
-
*/
|
|
65
|
-
static validatePropertyValue(value, propData) {
|
|
66
|
-
const isMultiple = propData.multiple;
|
|
67
|
-
if (isMultiple) {
|
|
68
|
-
return value.map(propValue => validateSingleProperty(propValue, propData));
|
|
69
|
-
}
|
|
70
|
-
return validateSingleProperty(value, propData);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Only intended for use by UI5Element.js
|
|
75
|
-
* @protected
|
|
76
|
-
*/
|
|
77
|
-
static validateSlotValue(value, slotData) {
|
|
78
|
-
return validateSingleSlot(value, slotData);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Returns the tag of the UI5 Element without the scope
|
|
83
|
-
* @public
|
|
84
|
-
*/
|
|
85
|
-
getPureTag() {
|
|
86
|
-
return this.metadata.tag;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Returns the tag of the UI5 Element
|
|
91
|
-
* @public
|
|
92
|
-
*/
|
|
93
|
-
getTag() {
|
|
94
|
-
const pureTag = this.metadata.tag;
|
|
95
|
-
const suffix = getEffectiveScopingSuffixForTag(pureTag);
|
|
96
|
-
if (!suffix) {
|
|
97
|
-
return pureTag;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return `${pureTag}-${suffix}`;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Used to get the tag we need to register for backwards compatibility
|
|
105
|
-
* @public
|
|
106
|
-
*/
|
|
107
|
-
getAltTag() {
|
|
108
|
-
const pureAltTag = this.metadata.altTag;
|
|
109
|
-
if (!pureAltTag) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const suffix = getEffectiveScopingSuffixForTag(pureAltTag);
|
|
114
|
-
if (!suffix) {
|
|
115
|
-
return pureAltTag;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
return `${pureAltTag}-${suffix}`;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Determines whether a property should have an attribute counterpart
|
|
123
|
-
* @public
|
|
124
|
-
* @param propName
|
|
125
|
-
* @returns {boolean}
|
|
126
|
-
*/
|
|
127
|
-
hasAttribute(propName) {
|
|
128
|
-
const propData = this.getProperties()[propName];
|
|
129
|
-
return propData.type !== Object && !propData.noAttribute;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Returns an array with the properties of the UI5 Element (in camelCase)
|
|
134
|
-
* @public
|
|
135
|
-
* @returns {string[]}
|
|
136
|
-
*/
|
|
137
|
-
getPropertiesList() {
|
|
138
|
-
return Object.keys(this.getProperties());
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Returns an array with the attributes of the UI5 Element (in kebab-case)
|
|
143
|
-
* @public
|
|
144
|
-
* @returns {string[]}
|
|
145
|
-
*/
|
|
146
|
-
getAttributesList() {
|
|
147
|
-
return this.getPropertiesList().filter(this.hasAttribute, this).map(camelToKebabCase);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Returns an object with key-value pairs of slots and their metadata definitions
|
|
152
|
-
* @public
|
|
153
|
-
*/
|
|
154
|
-
getSlots() {
|
|
155
|
-
return this.metadata.slots || {};
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Determines whether this UI5 Element has a default slot of type Node, therefore can slot text
|
|
160
|
-
* @returns {boolean}
|
|
161
|
-
*/
|
|
162
|
-
canSlotText() {
|
|
163
|
-
const defaultSlot = this.getSlots().default;
|
|
164
|
-
return defaultSlot && defaultSlot.type === Node;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Determines whether this UI5 Element supports any slots
|
|
169
|
-
* @public
|
|
170
|
-
*/
|
|
171
|
-
hasSlots() {
|
|
172
|
-
return !!Object.entries(this.getSlots()).length;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Determines whether this UI5 Element supports any slots with "individualSlots: true"
|
|
177
|
-
* @public
|
|
178
|
-
*/
|
|
179
|
-
hasIndividualSlots() {
|
|
180
|
-
return this.slotsAreManaged() && Object.entries(this.getSlots()).some(([_slotName, slotData]) => slotData.individualSlots);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Determines whether this UI5 Element needs to invalidate if children are added/removed/changed
|
|
185
|
-
* @public
|
|
186
|
-
*/
|
|
187
|
-
slotsAreManaged() {
|
|
188
|
-
return !!this.metadata.managedSlots;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Returns an object with key-value pairs of properties and their metadata definitions
|
|
193
|
-
* @public
|
|
194
|
-
*/
|
|
195
|
-
getProperties() {
|
|
196
|
-
return this.metadata.properties || {};
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Returns an object with key-value pairs of events and their metadata definitions
|
|
201
|
-
* @public
|
|
202
|
-
*/
|
|
203
|
-
getEvents() {
|
|
204
|
-
return this.metadata.events || {};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Determines whether this UI5 Element has any translatable texts (needs to be invalidated upon language change)
|
|
209
|
-
* @returns {boolean}
|
|
210
|
-
*/
|
|
211
|
-
isLanguageAware() {
|
|
212
|
-
return !!this.metadata.languageAware;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Matches a changed entity (property/slot) with the given name against the "invalidateOnChildChange" configuration
|
|
217
|
-
* and determines whether this should cause and invalidation
|
|
218
|
-
*
|
|
219
|
-
* @param slotName the name of the slot in which a child was changed
|
|
220
|
-
* @param type the type of change in the child: "property" or "slot"
|
|
221
|
-
* @param name the name of the property/slot that changed
|
|
222
|
-
* @returns {boolean}
|
|
223
|
-
*/
|
|
224
|
-
shouldInvalidateOnChildChange(slotName, type, name) {
|
|
225
|
-
const config = this.getSlots()[slotName].invalidateOnChildChange;
|
|
226
|
-
|
|
227
|
-
// invalidateOnChildChange was not set in the slot metadata - by default child changes do not affect the component
|
|
228
|
-
if (config === undefined) {
|
|
229
|
-
return false;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// The simple format was used: invalidateOnChildChange: true/false;
|
|
233
|
-
if (typeof config === "boolean") {
|
|
234
|
-
return config;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
// The complex format was used: invalidateOnChildChange: { properties, slots }
|
|
238
|
-
if (typeof config === "object") {
|
|
239
|
-
// A property was changed
|
|
240
|
-
if (type === "property") {
|
|
241
|
-
// The config object does not have a properties field
|
|
242
|
-
if (config.properties === undefined) {
|
|
243
|
-
return false;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// The config object has the short format: properties: true/false
|
|
247
|
-
if (typeof config.properties === "boolean") {
|
|
248
|
-
return config.properties;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// The config object has the complex format: properties: [...]
|
|
252
|
-
if (Array.isArray(config.properties)) {
|
|
253
|
-
return config.properties.includes(name);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected");
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
// A slot was changed
|
|
260
|
-
if (type === "slot") {
|
|
261
|
-
// The config object does not have a slots field
|
|
262
|
-
if (config.slots === undefined) {
|
|
263
|
-
return false;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
// The config object has the short format: slots: true/false
|
|
267
|
-
if (typeof config.slots === "boolean") {
|
|
268
|
-
return config.slots;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// The config object has the complex format: slots: [...]
|
|
272
|
-
if (Array.isArray(config.slots)) {
|
|
273
|
-
return config.slots.includes(name);
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected");
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected");
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
const validateSingleProperty = (value, propData) => {
|
|
285
|
-
const propertyType = propData.type;
|
|
286
|
-
|
|
287
|
-
if (propertyType === Boolean) {
|
|
288
|
-
return typeof value === "boolean" ? value : false;
|
|
289
|
-
}
|
|
290
|
-
if (propertyType === String) {
|
|
291
|
-
return (typeof value === "string" || typeof value === "undefined" || value === null) ? value : value.toString();
|
|
292
|
-
}
|
|
293
|
-
if (propertyType === Object) {
|
|
294
|
-
return typeof value === "object" ? value : propData.defaultValue;
|
|
295
|
-
}
|
|
296
|
-
if (isDescendantOf(propertyType, DataType)) {
|
|
297
|
-
return propertyType.isValid(value) ? value : propData.defaultValue;
|
|
298
|
-
}
|
|
299
|
-
};
|
|
300
|
-
|
|
301
|
-
const validateSingleSlot = (value, slotData) => {
|
|
302
|
-
value && getSlottedElements(value).forEach(el => {
|
|
303
|
-
if (!(el instanceof slotData.type)) {
|
|
304
|
-
throw new Error(`${el} is not of type ${slotData.type}`);
|
|
305
|
-
}
|
|
306
|
-
});
|
|
307
|
-
|
|
308
|
-
return value;
|
|
309
|
-
};
|
|
310
|
-
|
|
311
|
-
export default UI5ElementMetadata;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
const tasks = new WeakMap();
|
|
2
|
-
|
|
3
|
-
class AnimationQueue {
|
|
4
|
-
static get tasks() {
|
|
5
|
-
return tasks;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
static enqueue(element, task) {
|
|
9
|
-
if (!tasks.has(element)) {
|
|
10
|
-
tasks.set(element, []);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
tasks.get(element).push(task);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
static run(element, task) {
|
|
17
|
-
if (!tasks.has(element)) {
|
|
18
|
-
tasks.set(element, []);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return task().then(() => {
|
|
22
|
-
const elementTasks = tasks.get(element);
|
|
23
|
-
|
|
24
|
-
if (elementTasks.length > 0) {
|
|
25
|
-
return AnimationQueue.run(element, elementTasks.shift());
|
|
26
|
-
}
|
|
27
|
-
tasks.delete(element);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
static push(element, task) {
|
|
32
|
-
const elementTasks = tasks.get(element);
|
|
33
|
-
|
|
34
|
-
if (elementTasks) {
|
|
35
|
-
AnimationQueue.enqueue(element, task);
|
|
36
|
-
} else {
|
|
37
|
-
AnimationQueue.run(element, task);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export default AnimationQueue;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import AnimationQueue from "./AnimationQueue.js";
|
|
2
|
-
import animationConfig from "./config.js";
|
|
3
|
-
|
|
4
|
-
export default ({
|
|
5
|
-
beforeStart = animationConfig.identity,
|
|
6
|
-
duration = animationConfig.defaultDuration,
|
|
7
|
-
element = animationConfig.element,
|
|
8
|
-
progress: progressCallback = animationConfig.identity,
|
|
9
|
-
}) => {
|
|
10
|
-
let start = null;
|
|
11
|
-
let stopped = false;
|
|
12
|
-
let animationFrame;
|
|
13
|
-
let stop;
|
|
14
|
-
let animate;
|
|
15
|
-
|
|
16
|
-
const promise = new Promise((resolve, reject) => {
|
|
17
|
-
animate = timestamp => {
|
|
18
|
-
start = start || timestamp;
|
|
19
|
-
|
|
20
|
-
const timeElapsed = timestamp - start;
|
|
21
|
-
const remaining = duration - timeElapsed;
|
|
22
|
-
|
|
23
|
-
if (timeElapsed <= duration) {
|
|
24
|
-
const progress = 1 - remaining / duration; // easing formula (currently linear)
|
|
25
|
-
progressCallback(progress);
|
|
26
|
-
animationFrame = !stopped && requestAnimationFrame(animate);
|
|
27
|
-
} else {
|
|
28
|
-
progressCallback(1);
|
|
29
|
-
resolve();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
stop = () => {
|
|
34
|
-
stopped = true;
|
|
35
|
-
cancelAnimationFrame(animationFrame);
|
|
36
|
-
reject(new Error("animation stopped"));
|
|
37
|
-
};
|
|
38
|
-
}).catch(oReason => oReason);
|
|
39
|
-
|
|
40
|
-
AnimationQueue.push(element, () => {
|
|
41
|
-
beforeStart();
|
|
42
|
-
requestAnimationFrame(animate);
|
|
43
|
-
|
|
44
|
-
return new Promise(resolve => {
|
|
45
|
-
promise.then(() => resolve());
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
promise: () => promise,
|
|
51
|
-
stop: () => stop,
|
|
52
|
-
};
|
|
53
|
-
};
|
package/src/animations/config.js
DELETED
package/src/animations/scroll.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import animate from "./animate.js";
|
|
2
|
-
import animationConfig from "./config.js";
|
|
3
|
-
|
|
4
|
-
export default ({
|
|
5
|
-
element = animationConfig.element,
|
|
6
|
-
duration = animationConfig.duration,
|
|
7
|
-
progress: progressCallback = animationConfig.identity,
|
|
8
|
-
dx = 0,
|
|
9
|
-
dy = 0,
|
|
10
|
-
}) => {
|
|
11
|
-
let scrollLeft;
|
|
12
|
-
let scrollTop;
|
|
13
|
-
|
|
14
|
-
return animate({
|
|
15
|
-
beforeStart: () => {
|
|
16
|
-
scrollLeft = element.scrollLeft;
|
|
17
|
-
scrollTop = element.scrollTop;
|
|
18
|
-
},
|
|
19
|
-
duration,
|
|
20
|
-
element,
|
|
21
|
-
progress: progress => {
|
|
22
|
-
progressCallback(progress);
|
|
23
|
-
|
|
24
|
-
element.scrollLeft = scrollLeft + (progress * dx); // easing - linear
|
|
25
|
-
element.scrollTop = scrollTop + (progress * dy); // easing - linear
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import animationConfig from "./config.js";
|
|
2
|
-
import animate from "./animate.js";
|
|
3
|
-
|
|
4
|
-
export default ({
|
|
5
|
-
element = animationConfig.element,
|
|
6
|
-
duration = animationConfig.defaultDuration,
|
|
7
|
-
progress: progressCallback = animationConfig.identity,
|
|
8
|
-
}) => {
|
|
9
|
-
let computedStyles,
|
|
10
|
-
paddingTop,
|
|
11
|
-
paddingBottom,
|
|
12
|
-
marginTop,
|
|
13
|
-
marginBottom,
|
|
14
|
-
height;
|
|
15
|
-
let storedOverflow,
|
|
16
|
-
storedPaddingTop,
|
|
17
|
-
storedPaddingBottom,
|
|
18
|
-
storedMarginTop,
|
|
19
|
-
storedMarginBottom,
|
|
20
|
-
storedHeight;
|
|
21
|
-
|
|
22
|
-
const animation = animate({
|
|
23
|
-
beforeStart: () => {
|
|
24
|
-
// Show the element to measure its properties
|
|
25
|
-
element.style.display = "block";
|
|
26
|
-
|
|
27
|
-
// Get Computed styles
|
|
28
|
-
computedStyles = getComputedStyle(element);
|
|
29
|
-
paddingTop = parseFloat(computedStyles.paddingTop);
|
|
30
|
-
paddingBottom = parseFloat(computedStyles.paddingBottom);
|
|
31
|
-
marginTop = parseFloat(computedStyles.marginTop);
|
|
32
|
-
marginBottom = parseFloat(computedStyles.marginBottom);
|
|
33
|
-
height = parseFloat(computedStyles.height);
|
|
34
|
-
|
|
35
|
-
// Store inline styles
|
|
36
|
-
storedOverflow = element.style.overflow;
|
|
37
|
-
storedPaddingTop = element.style.paddingTop;
|
|
38
|
-
storedPaddingBottom = element.style.paddingBottom;
|
|
39
|
-
storedMarginTop = element.style.marginTop;
|
|
40
|
-
storedMarginBottom = element.style.marginBottom;
|
|
41
|
-
storedHeight = element.style.height;
|
|
42
|
-
|
|
43
|
-
element.style.overflow = "hidden";
|
|
44
|
-
element.style.paddingTop = 0;
|
|
45
|
-
element.style.paddingBottom = 0;
|
|
46
|
-
element.style.marginTop = 0;
|
|
47
|
-
element.style.marginBottom = 0;
|
|
48
|
-
element.style.height = 0;
|
|
49
|
-
},
|
|
50
|
-
duration,
|
|
51
|
-
element,
|
|
52
|
-
progress(progress) {
|
|
53
|
-
progressCallback(progress);
|
|
54
|
-
|
|
55
|
-
// WORKAROUND
|
|
56
|
-
element.style.display = "block";
|
|
57
|
-
// END OF WORKAROUND
|
|
58
|
-
|
|
59
|
-
/* eslint-disable */
|
|
60
|
-
element.style.paddingTop = 0 + (paddingTop * progress) + "px";
|
|
61
|
-
element.style.paddingBottom = 0 + (paddingBottom * progress) + "px";
|
|
62
|
-
element.style.marginTop = 0 + (marginTop * progress) + "px";
|
|
63
|
-
element.style.marginBottom = 0 + (marginBottom * progress) + "px";
|
|
64
|
-
element.style.height = 0 + (height * progress) + "px";
|
|
65
|
-
/* eslint-enable */
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
animation.promise().then(() => {
|
|
70
|
-
element.style.overflow = storedOverflow;
|
|
71
|
-
element.style.paddingTop = storedPaddingTop;
|
|
72
|
-
element.style.paddingBottom = storedPaddingBottom;
|
|
73
|
-
element.style.marginTop = storedMarginTop;
|
|
74
|
-
element.style.marginBottom = storedMarginBottom;
|
|
75
|
-
element.style.height = storedHeight;
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
return animation;
|
|
79
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import animationConfig from "./config.js";
|
|
2
|
-
import animate from "./animate.js";
|
|
3
|
-
|
|
4
|
-
export default ({
|
|
5
|
-
element = animationConfig.element,
|
|
6
|
-
duration = animationConfig.defaultDuration,
|
|
7
|
-
progress: progressCallback = animationConfig.identity,
|
|
8
|
-
}) => {
|
|
9
|
-
// Get Computed styles
|
|
10
|
-
let computedStyles,
|
|
11
|
-
paddingTop,
|
|
12
|
-
paddingBottom,
|
|
13
|
-
marginTop,
|
|
14
|
-
marginBottom,
|
|
15
|
-
height;
|
|
16
|
-
|
|
17
|
-
// Store inline styles
|
|
18
|
-
let storedOverflow,
|
|
19
|
-
storedPaddingTop,
|
|
20
|
-
storedPaddingBottom,
|
|
21
|
-
storedMarginTop,
|
|
22
|
-
storedMarginBottom,
|
|
23
|
-
storedHeight;
|
|
24
|
-
|
|
25
|
-
const animation = animate({
|
|
26
|
-
beforeStart: () => {
|
|
27
|
-
// Get Computed styles
|
|
28
|
-
computedStyles = getComputedStyle(element);
|
|
29
|
-
paddingTop = parseFloat(computedStyles.paddingTop);
|
|
30
|
-
paddingBottom = parseFloat(computedStyles.paddingBottom);
|
|
31
|
-
marginTop = parseFloat(computedStyles.marginTop);
|
|
32
|
-
marginBottom = parseFloat(computedStyles.marginBottom);
|
|
33
|
-
height = parseFloat(computedStyles.height);
|
|
34
|
-
|
|
35
|
-
// Store inline styles
|
|
36
|
-
storedOverflow = element.style.overflow;
|
|
37
|
-
storedPaddingTop = element.style.paddingTop;
|
|
38
|
-
storedPaddingBottom = element.style.paddingBottom;
|
|
39
|
-
storedMarginTop = element.style.marginTop;
|
|
40
|
-
storedMarginBottom = element.style.marginBottom;
|
|
41
|
-
storedHeight = element.style.height;
|
|
42
|
-
|
|
43
|
-
element.style.overflow = "hidden";
|
|
44
|
-
},
|
|
45
|
-
duration,
|
|
46
|
-
element,
|
|
47
|
-
progress(progress) {
|
|
48
|
-
progressCallback(progress);
|
|
49
|
-
|
|
50
|
-
element.style.paddingTop = `${paddingTop - (paddingTop * progress)}px`;
|
|
51
|
-
element.style.paddingBottom = `${paddingBottom - (paddingBottom * progress)}px`;
|
|
52
|
-
element.style.marginTop = `${marginTop - (marginTop * progress)}px`;
|
|
53
|
-
element.style.marginBottom = `${marginBottom - (marginBottom * progress)}px`;
|
|
54
|
-
element.style.height = `${height - (height * progress)}px`;
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
animation.promise().then(oReason => {
|
|
59
|
-
if (!(oReason instanceof Error)) {
|
|
60
|
-
element.style.overflow = storedOverflow;
|
|
61
|
-
element.style.paddingTop = storedPaddingTop;
|
|
62
|
-
element.style.paddingBottom = storedPaddingBottom;
|
|
63
|
-
element.style.marginTop = storedMarginTop;
|
|
64
|
-
element.style.marginBottom = storedMarginBottom;
|
|
65
|
-
element.style.height = storedHeight;
|
|
66
|
-
element.style.display = "none";
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
return animation;
|
|
71
|
-
};
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import getSharedResource from "../getSharedResource.js";
|
|
2
|
-
|
|
3
|
-
const loaders = new Map();
|
|
4
|
-
const registry = getSharedResource("SVGIcons.registry", new Map());
|
|
5
|
-
const iconCollectionPromises = getSharedResource("SVGIcons.promises", new Map());
|
|
6
|
-
|
|
7
|
-
const ICON_NOT_FOUND = "ICON_NOT_FOUND";
|
|
8
|
-
const DEFAULT_COLLECTION = "SAP-icons";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated
|
|
12
|
-
*/
|
|
13
|
-
const registerIconBundle = async (collectionName, bundleData) => {
|
|
14
|
-
throw new Error("This method has been removed. Use `registerIconLoader` instead.");
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const registerIconLoader = async (collectionName, loader) => {
|
|
18
|
-
loaders.set(collectionName, loader);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const _loadIconCollectionOnce = async collectionName => {
|
|
22
|
-
if (!iconCollectionPromises.has(collectionName)) {
|
|
23
|
-
const loadIcons = loaders.get(collectionName);
|
|
24
|
-
iconCollectionPromises.set(collectionName, loadIcons(collectionName));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return iconCollectionPromises.get(collectionName);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const _fillRegistry = bundleData => {
|
|
31
|
-
Object.keys(bundleData.data).forEach(iconName => {
|
|
32
|
-
const iconData = bundleData.data[iconName];
|
|
33
|
-
|
|
34
|
-
registerIcon(iconName, {
|
|
35
|
-
pathData: iconData.path,
|
|
36
|
-
ltr: iconData.ltr,
|
|
37
|
-
accData: iconData.acc,
|
|
38
|
-
collection: bundleData.collection,
|
|
39
|
-
packageName: bundleData.packageName,
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
// set
|
|
45
|
-
const registerIcon = (name, { pathData, ltr, accData, collection, packageName } = {}) => { // eslint-disable-line
|
|
46
|
-
if (!collection) {
|
|
47
|
-
collection = DEFAULT_COLLECTION;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const key = `${collection}/${name}`;
|
|
51
|
-
registry.set(key, {
|
|
52
|
-
pathData,
|
|
53
|
-
ltr,
|
|
54
|
-
accData,
|
|
55
|
-
packageName,
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const _parseName = name => {
|
|
60
|
-
// silently support ui5-compatible URIs
|
|
61
|
-
if (name.startsWith("sap-icon://")) {
|
|
62
|
-
name = name.replace("sap-icon://", "");
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
let collection;
|
|
66
|
-
[name, collection] = name.split("/").reverse();
|
|
67
|
-
collection = collection || DEFAULT_COLLECTION;
|
|
68
|
-
// hardcoded alias in case icon explorer is used, resolve `SAP-icons-TNT` to `tnt`
|
|
69
|
-
// aliases can be made a feature in the future if more collections need it or more aliases are needed.
|
|
70
|
-
if (collection === "SAP-icons-TNT") {
|
|
71
|
-
collection = "tnt";
|
|
72
|
-
}
|
|
73
|
-
const registryKey = `${collection}/${name}`;
|
|
74
|
-
return { name, collection, registryKey };
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const getIconDataSync = nameProp => {
|
|
78
|
-
const { registryKey } = _parseName(nameProp);
|
|
79
|
-
return registry.get(registryKey);
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const getIconData = async nameProp => {
|
|
83
|
-
const { collection, registryKey } = _parseName(nameProp);
|
|
84
|
-
|
|
85
|
-
let iconData = ICON_NOT_FOUND;
|
|
86
|
-
try {
|
|
87
|
-
iconData = await _loadIconCollectionOnce(collection);
|
|
88
|
-
} catch (e) {
|
|
89
|
-
console.error(e.message); /* eslint-disable-line */
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (iconData === ICON_NOT_FOUND) {
|
|
93
|
-
return iconData;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (!registry.has(registryKey)) {
|
|
97
|
-
// not filled by another await. many getters will await on the same loader, but fill only once
|
|
98
|
-
_fillRegistry(iconData);
|
|
99
|
-
}
|
|
100
|
-
return registry.get(registryKey);
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
// test page usage only
|
|
104
|
-
const _getRegisteredNames = async () => {
|
|
105
|
-
// fetch one icon of each collection to trigger the bundle load
|
|
106
|
-
await getIconData("edit");
|
|
107
|
-
await getIconData("tnt/arrow");
|
|
108
|
-
return Array.from(registry.keys());
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
export {
|
|
112
|
-
registerIconBundle,
|
|
113
|
-
registerIconLoader,
|
|
114
|
-
getIconData,
|
|
115
|
-
getIconDataSync,
|
|
116
|
-
registerIcon,
|
|
117
|
-
_getRegisteredNames,
|
|
118
|
-
};
|