@ui5/webcomponents-base 0.0.0-a7032d86e → 0.0.0-a8a75c830
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/.npsrc.json +3 -0
- package/AGENTS.md +195 -0
- package/CHANGELOG.md +2631 -0
- package/CLAUDE.md +1 -0
- package/LICENSE.txt +201 -0
- package/README.md +10 -16
- package/cypress.config.js +3 -0
- package/dist/.tsbuildinfobuild +1 -0
- package/dist/AssetRegistry.d.ts +2 -2
- package/dist/AssetRegistry.js +2 -2
- package/dist/AssetRegistry.js.map +1 -1
- package/dist/Assets-fetch.d.ts +1 -0
- package/dist/Assets-fetch.js +3 -0
- package/dist/Assets-fetch.js.map +1 -0
- package/dist/Assets-node.d.ts +12 -0
- package/dist/Assets-node.js +14 -0
- package/dist/Assets-node.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +3 -0
- package/dist/Assets.js.map +1 -0
- package/dist/Boot.d.ts +7 -4
- package/dist/Boot.js +76 -15
- package/dist/Boot.js.map +1 -1
- package/dist/CustomElementsRegistry.d.ts +2 -1
- package/dist/CustomElementsRegistry.js +5 -2
- package/dist/CustomElementsRegistry.js.map +1 -1
- package/dist/CustomElementsScope.d.ts +4 -4
- package/dist/CustomElementsScope.js +2 -2
- package/dist/CustomElementsScope.js.map +1 -1
- package/dist/CustomElementsScopeUtils.d.ts +19 -3
- package/dist/CustomElementsScopeUtils.js +31 -2
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/DOMObserver.js.map +1 -1
- package/dist/Device.d.ts +17 -2
- package/dist/Device.js +116 -36
- package/dist/Device.js.map +1 -1
- package/dist/DragAndDrop.d.ts +2 -0
- package/dist/DragAndDrop.js +5 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/EventProvider.js +1 -1
- package/dist/EventProvider.js.map +1 -1
- package/dist/FeaturesRegistry.js.map +1 -1
- package/dist/FontFace.js +6 -9
- package/dist/FontFace.js.map +1 -1
- package/dist/IgnoreCustomElements.d.ts +25 -0
- package/dist/IgnoreCustomElements.js +37 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +15 -3
- package/dist/InitialConfiguration.js +49 -10
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Keys.d.ts +11 -1
- package/dist/Keys.js +117 -106
- package/dist/Keys.js.map +1 -1
- package/dist/Location.d.ts +11 -0
- package/dist/Location.js +49 -0
- package/dist/Location.js.map +1 -0
- package/dist/ManagedStyles.d.ts +5 -6
- package/dist/ManagedStyles.js +45 -53
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/MediaRange.d.ts +6 -12
- package/dist/MediaRange.js +21 -31
- package/dist/MediaRange.js.map +1 -1
- package/dist/PropertiesFileFormat.js.map +1 -1
- package/dist/Render.js.map +1 -1
- package/dist/RenderQueue.js.map +1 -1
- package/dist/Runtimes.js +11 -0
- package/dist/Runtimes.js.map +1 -1
- package/dist/ScrollbarStyles.d.ts +2 -0
- package/dist/ScrollbarStyles.js +9 -0
- package/dist/ScrollbarStyles.js.map +1 -0
- package/dist/SystemCSSVars.js +2 -4
- package/dist/SystemCSSVars.js.map +1 -1
- package/dist/Theming.js.map +1 -1
- package/dist/UI5Element.d.ts +155 -77
- package/dist/UI5Element.js +466 -271
- package/dist/UI5Element.js.map +1 -1
- package/dist/UI5ElementMetadata.d.ts +36 -27
- package/dist/UI5ElementMetadata.js +27 -72
- package/dist/UI5ElementMetadata.js.map +1 -1
- package/dist/animations/AnimationQueue.js.map +1 -1
- package/dist/animations/animate.js.map +1 -1
- package/dist/animations/scroll.js.map +1 -1
- package/dist/animations/slideDown.js.map +1 -1
- package/dist/animations/slideUp.js.map +1 -1
- package/dist/asset-registries/Icons.d.ts +61 -18
- package/dist/asset-registries/Icons.js +110 -35
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.d.ts +135 -8
- package/dist/asset-registries/Illustrations.js +133 -21
- package/dist/asset-registries/Illustrations.js.map +1 -1
- package/dist/asset-registries/LocaleData.js +2 -1
- package/dist/asset-registries/LocaleData.js.map +1 -1
- package/dist/asset-registries/Themes.d.ts +11 -9
- package/dist/asset-registries/Themes.js +32 -15
- package/dist/asset-registries/Themes.js.map +1 -1
- package/dist/asset-registries/i18n.d.ts +2 -2
- package/dist/asset-registries/i18n.js +12 -5
- package/dist/asset-registries/i18n.js.map +1 -1
- 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/config/AnimationMode.d.ts +2 -2
- package/dist/config/AnimationMode.js +6 -1
- package/dist/config/AnimationMode.js.map +1 -1
- package/dist/config/CalendarType.d.ts +8 -1
- package/dist/config/CalendarType.js +23 -2
- package/dist/config/CalendarType.js.map +1 -1
- package/dist/config/ConfigurationReset.d.ts +4 -0
- package/dist/config/ConfigurationReset.js +11 -0
- package/dist/config/ConfigurationReset.js.map +1 -0
- package/dist/config/Fonts.d.ts +16 -0
- package/dist/config/Fonts.js +30 -0
- package/dist/config/Fonts.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +5 -1
- package/dist/config/FormatSettings.js +9 -1
- package/dist/config/FormatSettings.js.map +1 -1
- package/dist/config/Icons.d.ts +31 -21
- package/dist/config/Icons.js +28 -32
- package/dist/config/Icons.js.map +1 -1
- package/dist/config/Language.d.ts +12 -2
- package/dist/config/Language.js +35 -4
- package/dist/config/Language.js.map +1 -1
- package/dist/config/NoConflict.js +5 -0
- package/dist/config/NoConflict.js.map +1 -1
- package/dist/config/Theme.d.ts +28 -5
- package/dist/config/Theme.js +56 -10
- package/dist/config/Theme.js.map +1 -1
- package/dist/config/ThemeRoot.d.ts +29 -0
- package/dist/config/ThemeRoot.js +63 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +34 -0
- package/dist/config/Timezone.js.map +1 -0
- package/dist/config/Tooltips.d.ts +19 -0
- package/dist/config/Tooltips.js +29 -0
- package/dist/config/Tooltips.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/converters/DOMReference.d.ts +5 -0
- package/dist/converters/DOMReference.js +13 -0
- package/dist/converters/DOMReference.js.map +1 -0
- package/dist/css/MultipleDragGhost.css +17 -0
- package/dist/css/OpenUI5PopupStyles.css +10 -0
- package/dist/css/ScrollbarStyles.css +3 -0
- package/dist/css/SystemCSSVars.css +27 -10
- package/dist/custom-elements-internal.json +2920 -0
- package/dist/custom-elements.json +2617 -0
- package/dist/decorators/bound.d.ts +1 -0
- package/dist/decorators/bound.js +34 -0
- package/dist/decorators/bound.js.map +1 -0
- package/dist/decorators/customElement.d.ts +57 -2
- package/dist/decorators/customElement.js +34 -5
- package/dist/decorators/customElement.js.map +1 -1
- package/dist/decorators/event-strict.d.ts +15 -0
- package/dist/decorators/event-strict.js +26 -0
- package/dist/decorators/event-strict.js.map +1 -0
- package/dist/decorators/event.d.ts +8 -2
- package/dist/decorators/event.js +9 -6
- package/dist/decorators/event.js.map +1 -1
- package/dist/decorators/i18n.d.ts +17 -0
- package/dist/decorators/i18n.js +32 -0
- package/dist/decorators/i18n.js.map +1 -0
- package/dist/decorators/property.d.ts +1 -1
- package/dist/decorators/property.js +7 -7
- package/dist/decorators/property.js.map +1 -1
- package/dist/decorators/query.d.ts +25 -0
- package/dist/decorators/query.js +32 -0
- package/dist/decorators/query.js.map +1 -0
- package/dist/decorators/queryAll.d.ts +27 -0
- package/dist/decorators/queryAll.js +34 -0
- package/dist/decorators/queryAll.js.map +1 -0
- package/dist/decorators/slot-strict.d.ts +27 -0
- package/dist/decorators/slot-strict.js +54 -0
- package/dist/decorators/slot-strict.js.map +1 -0
- package/dist/decorators/slot.d.ts +19 -1
- package/dist/decorators/slot.js +27 -9
- package/dist/decorators/slot.js.map +1 -1
- package/dist/decorators.d.ts +9 -0
- package/dist/decorators.js +10 -0
- package/dist/decorators.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +9 -8
- package/dist/delegate/ItemNavigation.js +13 -14
- package/dist/delegate/ItemNavigation.js.map +1 -1
- package/dist/delegate/ResizeHandler.d.ts +6 -7
- package/dist/delegate/ResizeHandler.js +11 -9
- package/dist/delegate/ResizeHandler.js.map +1 -1
- package/dist/delegate/ScrollEnablement.d.ts +4 -3
- package/dist/delegate/ScrollEnablement.js +2 -2
- package/dist/delegate/ScrollEnablement.js.map +1 -1
- package/dist/features/F6Navigation.d.ts +8 -3
- package/dist/features/F6Navigation.js +134 -48
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/features/InputElementsFormSupport.d.ts +15 -0
- package/dist/features/InputElementsFormSupport.js +43 -0
- package/dist/features/InputElementsFormSupport.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.js.map +1 -1
- package/dist/features/OpenUI5Enablement.d.ts +3 -3
- package/dist/features/OpenUI5Enablement.js.map +1 -1
- package/dist/features/OpenUI5Support.d.ts +31 -9
- package/dist/features/OpenUI5Support.js +137 -50
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
- package/dist/features/insertOpenUI5PopupStyles.js +9 -0
- package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
- package/dist/features/patchPatcher.d.ts +12 -0
- package/dist/features/patchPatcher.js +21 -0
- package/dist/features/patchPatcher.js.map +1 -0
- package/dist/features/patchPopup.d.ts +33 -0
- package/dist/features/patchPopup.js +163 -0
- package/dist/features/patchPopup.js.map +1 -0
- package/dist/generated/AssetParameters.d.ts +6 -0
- package/dist/generated/AssetParameters.js +4 -9
- package/dist/generated/AssetParameters.js.map +1 -0
- package/dist/generated/VersionInfo.d.ts +10 -0
- package/dist/generated/VersionInfo.js +9 -8
- package/dist/generated/VersionInfo.js.map +1 -0
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
- package/dist/generated/css/BusyIndicator.css.js +2 -5
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +2 -0
- package/dist/generated/css/FontFace.css.js +37 -5
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
- package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
- package/dist/generated/css/ScrollbarStyles.css.js +2 -0
- package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
- package/dist/generated/css/SystemCSSVars.css.js +2 -5
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
- package/dist/generated/i18n/i18n-defaults.js +3 -0
- package/dist/generated/i18n/i18n-defaults.js.map +1 -0
- package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
- package/dist/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +2 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/json-imports/i18n.d.ts +1 -0
- package/dist/generated/json-imports/i18n.js +2 -0
- package/dist/generated/json-imports/i18n.js.map +1 -0
- package/dist/getSharedResource.d.ts +1 -1
- package/dist/getSharedResource.js +16 -2
- package/dist/getSharedResource.js.map +1 -1
- package/{global.d.ts → dist/global.d.ts} +2 -6
- package/dist/i18nBundle.d.ts +2 -4
- package/dist/i18nBundle.js +3 -5
- package/dist/i18nBundle.js.map +1 -1
- package/dist/index.d.ts +50 -0
- package/dist/index.js +92 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +4 -0
- package/dist/jsx-dev-runtime.js +43 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.d.ts +51 -0
- package/dist/jsx-runtime.js +27 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-utils.d.ts +3 -0
- package/dist/jsx-utils.js +48 -0
- package/dist/jsx-utils.js.map +1 -0
- package/dist/locale/Locale.js.map +1 -1
- package/dist/locale/RTLAwareRegistry.d.ts +1 -1
- package/dist/locale/RTLAwareRegistry.js.map +1 -1
- package/dist/locale/applyDirection.d.ts +3 -2
- package/dist/locale/applyDirection.js +3 -2
- package/dist/locale/applyDirection.js.map +1 -1
- package/dist/locale/directionChange.js.map +1 -1
- package/dist/locale/getEffectiveDir.d.ts +1 -1
- package/dist/locale/getEffectiveDir.js +3 -19
- package/dist/locale/getEffectiveDir.js.map +1 -1
- package/dist/locale/getLocale.js.map +1 -1
- package/dist/locale/languageChange.js.map +1 -1
- package/dist/locale/nextFallbackLocale.js +6 -2
- package/dist/locale/nextFallbackLocale.js.map +1 -1
- package/dist/locale/normalizeLocale.js.map +1 -1
- package/dist/prod/AssetRegistry.js +2 -0
- package/dist/prod/AssetRegistry.js.map +7 -0
- package/dist/prod/Assets-fetch.js +2 -0
- package/dist/prod/Assets-fetch.js.map +7 -0
- package/dist/prod/Assets-node.js +2 -0
- package/dist/prod/Assets-node.js.map +7 -0
- package/dist/prod/Assets.js +2 -0
- package/dist/prod/Assets.js.map +7 -0
- package/dist/prod/Boot.js +2 -0
- package/dist/prod/Boot.js.map +7 -0
- package/dist/prod/CustomElementsRegistry.js +10 -0
- package/dist/prod/CustomElementsRegistry.js.map +7 -0
- package/dist/prod/CustomElementsScope.js +2 -0
- package/dist/prod/CustomElementsScope.js.map +7 -0
- package/dist/prod/CustomElementsScopeUtils.js +2 -0
- package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
- package/dist/prod/DOMObserver.js +2 -0
- package/dist/prod/DOMObserver.js.map +7 -0
- package/dist/prod/Device.js +2 -0
- package/dist/prod/Device.js.map +7 -0
- package/dist/prod/DragAndDrop.js +2 -0
- package/dist/prod/DragAndDrop.js.map +7 -0
- package/dist/prod/EventProvider.js +2 -0
- package/dist/prod/EventProvider.js.map +7 -0
- package/dist/prod/FeaturesRegistry.js +2 -0
- package/dist/prod/FeaturesRegistry.js.map +7 -0
- package/dist/prod/FontFace.js +2 -0
- package/dist/prod/FontFace.js.map +7 -0
- package/dist/prod/IgnoreCustomElements.js +2 -0
- package/dist/prod/IgnoreCustomElements.js.map +7 -0
- package/dist/prod/InitialConfiguration.js +2 -0
- package/dist/prod/InitialConfiguration.js.map +7 -0
- package/dist/prod/Keys.js +2 -0
- package/dist/prod/Keys.js.map +7 -0
- package/dist/prod/Location.js +2 -0
- package/dist/prod/Location.js.map +7 -0
- package/dist/prod/ManagedStyles.js +2 -0
- package/dist/prod/ManagedStyles.js.map +7 -0
- package/dist/prod/MediaRange.js +2 -0
- package/dist/prod/MediaRange.js.map +7 -0
- package/dist/prod/PropertiesFileFormat.js +3 -0
- package/dist/prod/PropertiesFileFormat.js.map +7 -0
- package/dist/prod/Render.js +2 -0
- package/dist/prod/Render.js.map +7 -0
- package/dist/prod/RenderQueue.js +2 -0
- package/dist/prod/RenderQueue.js.map +7 -0
- package/dist/prod/Runtimes.js +2 -0
- package/dist/prod/Runtimes.js.map +7 -0
- package/dist/prod/ScrollbarStyles.js +2 -0
- package/dist/prod/ScrollbarStyles.js.map +7 -0
- package/dist/prod/SystemCSSVars.js +2 -0
- package/dist/prod/SystemCSSVars.js.map +7 -0
- package/dist/prod/Theming.js +2 -0
- package/dist/prod/Theming.js.map +7 -0
- package/dist/prod/UI5Element.js +2 -0
- package/dist/prod/UI5Element.js.map +7 -0
- package/dist/prod/UI5ElementMetadata.js +2 -0
- package/dist/prod/UI5ElementMetadata.js.map +7 -0
- package/dist/prod/animations/AnimationQueue.js +2 -0
- package/dist/prod/animations/AnimationQueue.js.map +7 -0
- package/dist/prod/animations/animate.js +2 -0
- package/dist/prod/animations/animate.js.map +7 -0
- package/dist/prod/animations/scroll.js +2 -0
- package/dist/prod/animations/scroll.js.map +7 -0
- package/dist/prod/animations/slideDown.js +2 -0
- package/dist/prod/animations/slideDown.js.map +7 -0
- package/dist/prod/animations/slideUp.js +2 -0
- package/dist/prod/animations/slideUp.js.map +7 -0
- package/dist/prod/asset-registries/Icons.js +2 -0
- package/dist/prod/asset-registries/Icons.js.map +7 -0
- package/dist/prod/asset-registries/Illustrations.js +2 -0
- package/dist/prod/asset-registries/Illustrations.js.map +7 -0
- package/dist/prod/asset-registries/LocaleData.js +2 -0
- package/dist/prod/asset-registries/LocaleData.js.map +7 -0
- package/dist/prod/asset-registries/Themes.js +2 -0
- package/dist/prod/asset-registries/Themes.js.map +7 -0
- package/dist/prod/asset-registries/i18n.js +2 -0
- package/dist/prod/asset-registries/i18n.js.map +7 -0
- package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
- package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
- package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
- package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
- package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
- package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
- package/dist/prod/config/AnimationMode.js +2 -0
- package/dist/prod/config/AnimationMode.js.map +7 -0
- package/dist/prod/config/CalendarType.js +2 -0
- package/dist/prod/config/CalendarType.js.map +7 -0
- package/dist/prod/config/ConfigurationReset.js +2 -0
- package/dist/prod/config/ConfigurationReset.js.map +7 -0
- package/dist/prod/config/Fonts.js +2 -0
- package/dist/prod/config/Fonts.js.map +7 -0
- package/dist/prod/config/FormatSettings.js +2 -0
- package/dist/prod/config/FormatSettings.js.map +7 -0
- package/dist/prod/config/Icons.js +2 -0
- package/dist/prod/config/Icons.js.map +7 -0
- package/dist/prod/config/Language.js +2 -0
- package/dist/prod/config/Language.js.map +7 -0
- package/dist/prod/config/NoConflict.js +2 -0
- package/dist/prod/config/NoConflict.js.map +7 -0
- package/dist/prod/config/Theme.js +2 -0
- package/dist/prod/config/Theme.js.map +7 -0
- package/dist/prod/config/ThemeRoot.js +2 -0
- package/dist/prod/config/ThemeRoot.js.map +7 -0
- package/dist/prod/config/Timezone.js +2 -0
- package/dist/prod/config/Timezone.js.map +7 -0
- package/dist/prod/config/Tooltips.js +2 -0
- package/dist/prod/config/Tooltips.js.map +7 -0
- package/dist/prod/connectToComponent.js +2 -0
- package/dist/prod/connectToComponent.js.map +7 -0
- package/dist/prod/converters/DOMReference.js +2 -0
- package/dist/prod/converters/DOMReference.js.map +7 -0
- package/dist/prod/decorators/bound.js +2 -0
- package/dist/prod/decorators/bound.js.map +7 -0
- package/dist/prod/decorators/customElement.js +2 -0
- package/dist/prod/decorators/customElement.js.map +7 -0
- package/dist/prod/decorators/event-strict.js +2 -0
- package/dist/prod/decorators/event-strict.js.map +7 -0
- package/dist/prod/decorators/event.js +2 -0
- package/dist/prod/decorators/event.js.map +7 -0
- package/dist/prod/decorators/i18n.js +2 -0
- package/dist/prod/decorators/i18n.js.map +7 -0
- package/dist/prod/decorators/property.js +2 -0
- package/dist/prod/decorators/property.js.map +7 -0
- package/dist/prod/decorators/query.js +2 -0
- package/dist/prod/decorators/query.js.map +7 -0
- package/dist/prod/decorators/queryAll.js +2 -0
- package/dist/prod/decorators/queryAll.js.map +7 -0
- package/dist/prod/decorators/slot-strict.js +2 -0
- package/dist/prod/decorators/slot-strict.js.map +7 -0
- package/dist/prod/decorators/slot.js +2 -0
- package/dist/prod/decorators/slot.js.map +7 -0
- package/dist/prod/decorators.js +2 -0
- package/dist/prod/decorators.js.map +7 -0
- package/dist/prod/delegate/ItemNavigation.js +2 -0
- package/dist/prod/delegate/ItemNavigation.js.map +7 -0
- package/dist/prod/delegate/ResizeHandler.js +2 -0
- package/dist/prod/delegate/ResizeHandler.js.map +7 -0
- package/dist/prod/delegate/ScrollEnablement.js +2 -0
- package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
- package/dist/prod/features/F6Navigation.js +2 -0
- package/dist/prod/features/F6Navigation.js.map +7 -0
- package/dist/prod/features/InputElementsFormSupport.js +2 -0
- package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
- package/dist/prod/features/LegacyDateFormats.js +2 -0
- package/dist/prod/features/LegacyDateFormats.js.map +7 -0
- package/dist/prod/features/OpenUI5Element.js +2 -0
- package/dist/prod/features/OpenUI5Element.js.map +7 -0
- package/dist/prod/features/OpenUI5Enablement.js +21 -0
- package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
- package/dist/prod/features/OpenUI5Support.js +2 -0
- package/dist/prod/features/OpenUI5Support.js.map +7 -0
- package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
- package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
- package/dist/prod/features/patchPatcher.js +2 -0
- package/dist/prod/features/patchPatcher.js.map +7 -0
- package/dist/prod/features/patchPopup.js +2 -0
- package/dist/prod/features/patchPopup.js.map +7 -0
- package/dist/prod/generated/AssetParameters.js +2 -0
- package/dist/prod/generated/AssetParameters.js.map +7 -0
- package/dist/prod/generated/VersionInfo.js +2 -0
- package/dist/prod/generated/VersionInfo.js.map +7 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
- package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
- package/dist/prod/generated/css/FontFace.css.js +37 -0
- package/dist/prod/generated/css/FontFace.css.js.map +7 -0
- package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
- package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
- package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
- package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
- package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
- package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
- package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
- package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
- package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-node.js +2 -0
- package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n.js +2 -0
- package/dist/prod/generated/json-imports/i18n.js.map +7 -0
- package/dist/prod/getSharedResource.js +2 -0
- package/dist/prod/getSharedResource.js.map +7 -0
- package/dist/prod/global.d.js +2 -0
- package/dist/prod/global.d.js.map +7 -0
- package/dist/prod/i18nBundle.js +2 -0
- package/dist/prod/i18nBundle.js.map +7 -0
- package/dist/prod/index.js +2 -0
- package/dist/prod/index.js.map +7 -0
- package/dist/prod/jsx-dev-runtime.js +2 -0
- package/dist/prod/jsx-dev-runtime.js.map +7 -0
- package/dist/prod/jsx-runtime.js +2 -0
- package/dist/prod/jsx-runtime.js.map +7 -0
- package/dist/prod/jsx-utils.js +2 -0
- package/dist/prod/jsx-utils.js.map +7 -0
- package/dist/prod/locale/Locale.js +2 -0
- package/dist/prod/locale/Locale.js.map +7 -0
- package/dist/prod/locale/RTLAwareRegistry.js +2 -0
- package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
- package/dist/prod/locale/applyDirection.js +2 -0
- package/dist/prod/locale/applyDirection.js.map +7 -0
- package/dist/prod/locale/directionChange.js +2 -0
- package/dist/prod/locale/directionChange.js.map +7 -0
- package/dist/prod/locale/getEffectiveDir.js +2 -0
- package/dist/prod/locale/getEffectiveDir.js.map +7 -0
- package/dist/prod/locale/getLocale.js +2 -0
- package/dist/prod/locale/getLocale.js.map +7 -0
- package/dist/prod/locale/languageChange.js +2 -0
- package/dist/prod/locale/languageChange.js.map +7 -0
- package/dist/prod/locale/nextFallbackLocale.js +2 -0
- package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
- package/dist/prod/locale/normalizeLocale.js +2 -0
- package/dist/prod/locale/normalizeLocale.js.map +7 -0
- package/dist/prod/renderer/JsxRenderer.js +2 -0
- package/dist/prod/renderer/JsxRenderer.js.map +7 -0
- package/dist/prod/renderer/LitRenderer.js +2 -0
- package/dist/prod/renderer/LitRenderer.js.map +7 -0
- package/dist/prod/renderer/directives/style-map.js +6 -0
- package/dist/prod/renderer/directives/style-map.js.map +7 -0
- package/dist/prod/renderer/executeTemplate.js +2 -0
- package/dist/prod/renderer/executeTemplate.js.map +7 -0
- package/dist/prod/sap/base/Log.js +750 -0
- package/dist/prod/sap/base/assert.js +34 -0
- package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/prod/sap/base/security/URLListValidator.js +406 -0
- package/dist/prod/sap/base/security/encodeCSS.js +40 -0
- package/dist/prod/sap/base/security/encodeXML.js +53 -0
- package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
- package/dist/prod/sap/base/strings/toHex.js +33 -0
- package/dist/prod/sap/base/util/now.js +28 -0
- package/dist/prod/sap/base/util/uid.js +27 -0
- package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
- package/dist/prod/ssr-dom-shim.js +2 -0
- package/dist/prod/ssr-dom-shim.js.map +7 -0
- package/dist/prod/ssr-dom.js +2 -0
- package/dist/prod/ssr-dom.js.map +7 -0
- package/dist/prod/theming/CustomStyle.js +2 -0
- package/dist/prod/theming/CustomStyle.js.map +7 -0
- package/dist/prod/theming/ThemeLoaded.js +2 -0
- package/dist/prod/theming/ThemeLoaded.js.map +7 -0
- package/dist/prod/theming/ThemeRegistered.js +2 -0
- package/dist/prod/theming/ThemeRegistered.js.map +7 -0
- package/dist/prod/theming/applyTheme.js +2 -0
- package/dist/prod/theming/applyTheme.js.map +7 -0
- package/dist/prod/theming/componentStyles.js +3 -0
- package/dist/prod/theming/componentStyles.js.map +7 -0
- package/dist/prod/theming/getConstructableStyle.js +2 -0
- package/dist/prod/theming/getConstructableStyle.js.map +7 -0
- package/dist/prod/theming/getEffectiveStyle.js +2 -0
- package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
- package/dist/prod/theming/getStylesString.js +2 -0
- package/dist/prod/theming/getStylesString.js.map +7 -0
- package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
- package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
- package/dist/prod/thirdparty/_merge.js +2 -0
- package/dist/prod/thirdparty/_merge.js.map +7 -0
- package/dist/prod/thirdparty/isPlainObject.js +2 -0
- package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
- package/dist/prod/thirdparty/merge.js +2 -0
- package/dist/prod/thirdparty/merge.js.map +7 -0
- package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
- package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
- package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
- package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
- package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
- package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
- package/dist/prod/thirdparty/preact/preact.module.js +1 -0
- package/dist/prod/types/AnimationMode.js +2 -0
- package/dist/prod/types/AnimationMode.js.map +7 -0
- package/dist/prod/types/CalendarType.js +2 -0
- package/dist/prod/types/CalendarType.js.map +7 -0
- package/dist/prod/types/InvisibleMessageMode.js +2 -0
- package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
- package/dist/prod/types/ItemNavigationBehavior.js +2 -0
- package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
- package/dist/prod/types/MovePlacement.js +2 -0
- package/dist/prod/types/MovePlacement.js.map +7 -0
- package/dist/prod/types/NavigationMode.js +2 -0
- package/dist/prod/types/NavigationMode.js.map +7 -0
- package/dist/prod/types/Orientation.js +2 -0
- package/dist/prod/types/Orientation.js.map +7 -0
- package/dist/prod/types/SortOrder.js +2 -0
- package/dist/prod/types/SortOrder.js.map +7 -0
- package/dist/prod/types/ValueState.js +2 -0
- package/dist/prod/types/ValueState.js.map +7 -0
- package/dist/prod/types.js +2 -0
- package/dist/prod/types.js.map +7 -0
- package/dist/prod/updateShadowRoot.js +2 -0
- package/dist/prod/updateShadowRoot.js.map +7 -0
- package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
- package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
- package/dist/prod/util/Caret.js +2 -0
- package/dist/prod/util/Caret.js.map +7 -0
- package/dist/prod/util/ColorConversion.js +2 -0
- package/dist/prod/util/ColorConversion.js.map +7 -0
- package/dist/prod/util/FetchHelper.js +2 -0
- package/dist/prod/util/FetchHelper.js.map +7 -0
- package/dist/prod/util/FocusableElements.js +2 -0
- package/dist/prod/util/FocusableElements.js.map +7 -0
- package/dist/prod/util/HTMLSanitizer.js +2 -0
- package/dist/prod/util/HTMLSanitizer.js.map +7 -0
- package/dist/prod/util/InvisibleMessage.js +2 -0
- package/dist/prod/util/InvisibleMessage.js.map +7 -0
- package/dist/prod/util/PopupUtils.js +2 -0
- package/dist/prod/util/PopupUtils.js.map +7 -0
- package/dist/prod/util/SelectionAssistant.js +2 -0
- package/dist/prod/util/SelectionAssistant.js.map +7 -0
- package/dist/prod/util/SlotsHelper.js +2 -0
- package/dist/prod/util/SlotsHelper.js.map +7 -0
- package/dist/prod/util/StringHelper.js +2 -0
- package/dist/prod/util/StringHelper.js.map +7 -0
- package/dist/prod/util/TabbableElements.js +2 -0
- package/dist/prod/util/TabbableElements.js.map +7 -0
- package/dist/prod/util/arraysAreEqual.js +2 -0
- package/dist/prod/util/arraysAreEqual.js.map +7 -0
- package/dist/prod/util/clamp.js +2 -0
- package/dist/prod/util/clamp.js.map +7 -0
- package/dist/prod/util/createInstanceChecker.js +2 -0
- package/dist/prod/util/createInstanceChecker.js.map +7 -0
- package/dist/prod/util/createLinkInHead.js +2 -0
- package/dist/prod/util/createLinkInHead.js.map +7 -0
- package/dist/prod/util/createMultiInstanceChecker.js +2 -0
- package/dist/prod/util/createMultiInstanceChecker.js.map +7 -0
- package/dist/prod/util/debounce.js +2 -0
- package/dist/prod/util/debounce.js.map +7 -0
- package/dist/prod/util/detectNavigatorLanguage.js +2 -0
- package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
- package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
- package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
- package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
- package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
- package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
- package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
- package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
- package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
- package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
- package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
- package/dist/prod/util/escapeRegex.js +2 -0
- package/dist/prod/util/escapeRegex.js.map +7 -0
- package/dist/prod/util/fixSafariActiveState.js +2 -0
- package/dist/prod/util/fixSafariActiveState.js.map +7 -0
- package/dist/prod/util/formatMessage.js +2 -0
- package/dist/prod/util/formatMessage.js.map +7 -0
- package/dist/prod/util/generateHighlightedMarkup.js +2 -0
- package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
- package/dist/prod/util/getActiveElement.js +2 -0
- package/dist/prod/util/getActiveElement.js.map +7 -0
- package/dist/prod/util/getClassCopy.js +2 -0
- package/dist/prod/util/getClassCopy.js.map +7 -0
- package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
- package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
- package/dist/prod/util/getEffectiveContentDensity.js +2 -0
- package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
- package/dist/prod/util/getFastNavigationGroups.js +2 -0
- package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
- package/dist/prod/util/getFileExtension.js +2 -0
- package/dist/prod/util/getFileExtension.js.map +7 -0
- package/dist/prod/util/getNormalizedTarget.js +2 -0
- package/dist/prod/util/getNormalizedTarget.js.map +7 -0
- package/dist/prod/util/getParentElement.js +2 -0
- package/dist/prod/util/getParentElement.js.map +7 -0
- package/dist/prod/util/getSingletonElementInstance.js +2 -0
- package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
- package/dist/prod/util/hash2str.js +2 -0
- package/dist/prod/util/hash2str.js.map +7 -0
- package/dist/prod/util/isElementClickable.js +2 -0
- package/dist/prod/util/isElementClickable.js.map +7 -0
- package/dist/prod/util/isElementHidden.js +2 -0
- package/dist/prod/util/isElementHidden.js.map +7 -0
- package/dist/prod/util/isElementInView.js +2 -0
- package/dist/prod/util/isElementInView.js.map +7 -0
- package/dist/prod/util/isElementTabbable.js +2 -0
- package/dist/prod/util/isElementTabbable.js.map +7 -0
- package/dist/prod/util/isEventMarked.js +2 -0
- package/dist/prod/util/isEventMarked.js.map +7 -0
- package/dist/prod/util/isValidPropertyName.js +2 -0
- package/dist/prod/util/isValidPropertyName.js.map +7 -0
- package/dist/prod/util/throttle.js +2 -0
- package/dist/prod/util/throttle.js.map +7 -0
- package/dist/prod/util/toLowercaseEnumValue.js +2 -0
- package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
- package/dist/prod/util/valueStateNavigation.js +2 -0
- package/dist/prod/util/valueStateNavigation.js.map +7 -0
- package/dist/prod/util/whenDOMReady.js +2 -0
- package/dist/prod/util/whenDOMReady.js.map +7 -0
- package/dist/prod/util/willShowContent.js +2 -0
- package/dist/prod/util/willShowContent.js.map +7 -0
- package/dist/prod/validateThemeRoot.js +2 -0
- package/dist/prod/validateThemeRoot.js.map +7 -0
- package/dist/renderer/JsxRenderer.d.ts +3 -0
- package/dist/renderer/JsxRenderer.js +26 -0
- package/dist/renderer/JsxRenderer.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +5 -5
- package/dist/renderer/LitRenderer.js +5 -10
- package/dist/renderer/LitRenderer.js.map +1 -1
- package/dist/renderer/directives/style-map.d.ts +13 -0
- package/dist/renderer/directives/style-map.js +59 -59
- package/dist/renderer/directives/style-map.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +3 -4
- package/dist/renderer/executeTemplate.js +1 -19
- package/dist/renderer/executeTemplate.js.map +1 -1
- package/dist/sap/base/Log.js +698 -188
- package/dist/sap/base/assert.js +28 -1
- package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/sap/base/security/URLListValidator.js +253 -6
- package/dist/sap/base/security/encodeCSS.js +34 -8
- package/dist/sap/base/security/encodeXML.js +47 -17
- package/dist/sap/base/security/sanitizeHTML.js +35 -13
- package/dist/sap/base/strings/toHex.js +27 -2
- package/dist/sap/base/util/now.js +24 -3
- package/dist/sap/base/util/uid.js +27 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
- package/dist/ssr-dom-shim.d.ts +1 -0
- package/dist/ssr-dom-shim.js +63 -0
- package/dist/ssr-dom-shim.js.map +1 -0
- package/dist/ssr-dom.d.ts +1 -0
- package/dist/ssr-dom.js +3 -0
- package/dist/ssr-dom.js.map +1 -0
- package/dist/theming/CustomStyle.js +7 -5
- package/dist/theming/CustomStyle.js.map +1 -1
- package/dist/theming/ThemeLoaded.js.map +1 -1
- 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 +27 -11
- package/dist/theming/applyTheme.js.map +1 -1
- package/dist/theming/componentStyles.d.ts +3 -0
- package/dist/theming/componentStyles.js +15 -0
- package/dist/theming/componentStyles.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +2 -2
- package/dist/theming/getConstructableStyle.js +3 -3
- package/dist/theming/getConstructableStyle.js.map +1 -1
- package/dist/theming/getEffectiveStyle.d.ts +1 -1
- package/dist/theming/getEffectiveStyle.js +5 -12
- package/dist/theming/getEffectiveStyle.js.map +1 -1
- package/dist/theming/getStylesString.d.ts +1 -1
- package/dist/theming/getStylesString.js +2 -4
- package/dist/theming/getStylesString.js.map +1 -1
- package/dist/theming/getThemeDesignerTheme.js +2 -1
- package/dist/theming/getThemeDesignerTheme.js.map +1 -1
- package/dist/thirdparty/_merge.js.map +1 -1
- package/dist/thirdparty/isPlainObject.js.map +1 -1
- package/dist/thirdparty/merge.js.map +1 -1
- package/dist/thirdparty/preact/jsx.d.ts +2616 -0
- package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
- package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/dist/thirdparty/preact/preact.module.d.ts +398 -0
- package/dist/thirdparty/preact/preact.module.js +1 -0
- package/dist/types/AnimationMode.d.ts +0 -8
- package/dist/types/AnimationMode.js +0 -8
- package/dist/types/AnimationMode.js.map +1 -1
- package/dist/types/CalendarType.d.ts +0 -9
- package/dist/types/CalendarType.js +0 -9
- package/dist/types/CalendarType.js.map +1 -1
- package/dist/types/InvisibleMessageMode.d.ts +5 -10
- package/dist/types/InvisibleMessageMode.js +4 -11
- package/dist/types/InvisibleMessageMode.js.map +1 -1
- package/dist/types/ItemNavigationBehavior.d.ts +0 -6
- package/dist/types/ItemNavigationBehavior.js +0 -6
- package/dist/types/ItemNavigationBehavior.js.map +1 -1
- package/dist/types/MovePlacement.d.ts +20 -0
- package/dist/types/MovePlacement.js +22 -0
- package/dist/types/MovePlacement.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +0 -8
- package/dist/types/NavigationMode.js +0 -8
- package/dist/types/NavigationMode.js.map +1 -1
- package/dist/types/Orientation.d.ts +16 -0
- package/dist/types/Orientation.js +18 -0
- package/dist/types/Orientation.js.map +1 -0
- package/dist/types/SortOrder.d.ts +24 -0
- package/dist/types/SortOrder.js +26 -0
- package/dist/types/SortOrder.js.map +1 -0
- package/dist/types/ValueState.d.ts +3 -17
- package/dist/types/ValueState.js +3 -17
- package/dist/types/ValueState.js.map +1 -1
- package/dist/types.d.ts +45 -14
- package/dist/types.js.map +1 -1
- package/dist/updateShadowRoot.d.ts +1 -2
- package/dist/updateShadowRoot.js +5 -21
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
- package/dist/util/AccessibilityTextsHelper.js +199 -0
- package/dist/util/AccessibilityTextsHelper.js.map +1 -0
- package/dist/util/Caret.js.map +1 -1
- package/dist/util/ColorConversion.d.ts +2 -1
- package/dist/util/ColorConversion.js +233 -216
- package/dist/util/ColorConversion.js.map +1 -1
- package/dist/util/FetchHelper.js.map +1 -1
- package/dist/util/FocusableElements.js +54 -16
- package/dist/util/FocusableElements.js.map +1 -1
- package/dist/util/HTMLSanitizer.d.ts +2 -0
- package/dist/util/HTMLSanitizer.js +2 -2
- package/dist/util/HTMLSanitizer.js.map +1 -1
- package/dist/util/InvisibleMessage.js +2 -2
- package/dist/util/InvisibleMessage.js.map +1 -1
- package/dist/util/PopupUtils.d.ts +1 -3
- package/dist/util/PopupUtils.js +1 -15
- package/dist/util/PopupUtils.js.map +1 -1
- package/dist/util/SelectionAssistant.d.ts +12 -0
- package/dist/util/SelectionAssistant.js +71 -0
- package/dist/util/SelectionAssistant.js.map +1 -0
- package/dist/util/SlotsHelper.js.map +1 -1
- package/dist/util/StringHelper.d.ts +3 -1
- package/dist/util/StringHelper.js +15 -1
- package/dist/util/StringHelper.js.map +1 -1
- package/dist/util/TabbableElements.js +5 -12
- package/dist/util/TabbableElements.js.map +1 -1
- package/dist/util/arraysAreEqual.js.map +1 -1
- package/dist/util/clamp.js +2 -1
- package/dist/util/clamp.js.map +1 -1
- package/dist/util/createInstanceChecker.d.ts +2 -0
- package/dist/util/createInstanceChecker.js +8 -0
- package/dist/util/createInstanceChecker.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +1 -1
- package/dist/util/createLinkInHead.js +1 -1
- package/dist/util/createLinkInHead.js.map +1 -1
- package/dist/util/createMultiInstanceChecker.d.ts +2 -0
- package/dist/util/createMultiInstanceChecker.js +19 -0
- package/dist/util/createMultiInstanceChecker.js.map +1 -0
- package/dist/util/debounce.js.map +1 -1
- package/dist/util/detectNavigatorLanguage.d.ts +2 -2
- package/dist/util/detectNavigatorLanguage.js +6 -1
- package/dist/util/detectNavigatorLanguage.js.map +1 -1
- package/dist/util/dragAndDrop/DragRegistry.d.ts +39 -0
- package/dist/util/dragAndDrop/DragRegistry.js +62 -0
- package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
- package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
- package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
- package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
- package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
- package/dist/util/dragAndDrop/handleDragOver.js +42 -0
- package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
- package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
- package/dist/util/dragAndDrop/handleDrop.js +22 -0
- package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
- package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
- package/dist/util/escapeRegex.js.map +1 -1
- package/dist/util/fixSafariActiveState.d.ts +2 -0
- package/dist/util/fixSafariActiveState.js +11 -0
- package/dist/util/fixSafariActiveState.js.map +1 -0
- package/dist/util/formatMessage.js.map +1 -1
- package/dist/util/generateHighlightedMarkup.js.map +1 -1
- package/dist/util/getActiveElement.js.map +1 -1
- package/dist/util/getClassCopy.d.ts +147 -104
- package/dist/util/getClassCopy.js.map +1 -1
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
- package/dist/util/getDesigntimePropertyAsArray.js +2 -1
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
- package/dist/util/getEffectiveContentDensity.js.map +1 -1
- package/dist/util/getFastNavigationGroups.js +6 -1
- package/dist/util/getFastNavigationGroups.js.map +1 -1
- package/dist/util/getFileExtension.js.map +1 -1
- package/dist/util/getNormalizedTarget.js.map +1 -1
- package/dist/util/getParentElement.d.ts +2 -0
- package/dist/util/getParentElement.js +5 -0
- package/dist/util/getParentElement.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +10 -1
- package/dist/util/getSingletonElementInstance.js +11 -2
- package/dist/util/getSingletonElementInstance.js.map +1 -1
- package/dist/util/hash2str.d.ts +1 -0
- package/dist/util/hash2str.js +14 -0
- package/dist/util/hash2str.js.map +1 -0
- package/dist/util/isElementClickable.js.map +1 -1
- package/dist/util/isElementHidden.js +2 -1
- package/dist/util/isElementHidden.js.map +1 -1
- package/dist/util/isElementInView.js.map +1 -1
- package/dist/util/isElementTabbable.js +2 -2
- package/dist/util/isElementTabbable.js.map +1 -1
- package/dist/util/isEventMarked.d.ts +2 -0
- package/dist/util/isEventMarked.js +6 -0
- package/dist/util/isEventMarked.js.map +1 -0
- package/dist/util/isValidPropertyName.js.map +1 -1
- package/dist/util/throttle.d.ts +2 -0
- package/dist/util/throttle.js +20 -0
- package/dist/util/throttle.js.map +1 -0
- package/dist/util/toLowercaseEnumValue.d.ts +3 -0
- package/dist/util/toLowercaseEnumValue.js +4 -0
- package/dist/util/toLowercaseEnumValue.js.map +1 -0
- package/dist/util/valueStateNavigation.d.ts +8 -0
- package/dist/util/valueStateNavigation.js +40 -0
- package/dist/util/valueStateNavigation.js.map +1 -0
- package/dist/util/whenDOMReady.js.map +1 -1
- package/dist/util/willShowContent.js.map +1 -1
- package/dist/validateThemeRoot.js +21 -15
- package/dist/validateThemeRoot.js.map +1 -1
- package/dist/vscode.html-custom-data.json +22 -0
- package/package-scripts.cjs +105 -0
- package/package.json +53 -23
- package/src/css/MultipleDragGhost.css +17 -0
- package/src/css/OpenUI5PopupStyles.css +10 -0
- package/src/css/ScrollbarStyles.css +3 -0
- package/src/css/SystemCSSVars.css +27 -10
- package/src/i18n/messagebundle.properties +5 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/src/thirdparty/preact/preact.module.js +1 -0
- package/src/thirdparty/preact/version.txt +1 -0
- package/tsconfig.json +18 -12
- package/.eslintignore +0 -15
- package/bundle.esm.js +0 -60
- package/config/wdio.conf.js +0 -1
- package/dist/CSP.d.ts +0 -30
- package/dist/CSP.js +0 -51
- package/dist/CSP.js.map +0 -1
- package/dist/MarkedEvents.d.ts +0 -9
- package/dist/MarkedEvents.js +0 -15
- package/dist/MarkedEvents.js.map +0 -1
- package/dist/StaticArea.d.ts +0 -0
- package/dist/StaticArea.js +0 -6
- package/dist/StaticArea.js.map +0 -1
- package/dist/StaticAreaItem.d.ts +0 -36
- package/dist/StaticAreaItem.js +0 -99
- package/dist/StaticAreaItem.js.map +0 -1
- package/dist/api.json +0 -1
- package/dist/assets/bundle.esm.0cfce34f.js +0 -56
- package/dist/assets-meta/IconCollectionsAlias.d.ts +0 -17
- package/dist/assets-meta/IconCollectionsAlias.js +0 -18
- package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
- package/dist/config/RTL.d.ts +0 -7
- package/dist/config/RTL.js +0 -34
- package/dist/config/RTL.js.map +0 -1
- package/dist/config/ThemeRoots.d.ts +0 -4
- package/dist/config/ThemeRoots.js +0 -28
- package/dist/config/ThemeRoots.js.map +0 -1
- package/dist/css/FontFace.css +0 -66
- package/dist/css/OverrideFontFace.css +0 -32
- package/dist/decorators/fastNavigation.d.ts +0 -7
- package/dist/decorators/fastNavigation.js +0 -13
- package/dist/decorators/fastNavigation.js.map +0 -1
- package/dist/decorators/languageAware.d.ts +0 -7
- package/dist/decorators/languageAware.js +0 -13
- package/dist/decorators/languageAware.js.map +0 -1
- package/dist/decorators/themeAware.d.ts +0 -7
- package/dist/decorators/themeAware.js +0 -13
- package/dist/decorators/themeAware.js.map +0 -1
- package/dist/generated/css/OverrideFontFace.css.js +0 -5
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -11
- package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
- package/dist/theming/getEffectiveLinksHrefs.js +0 -17
- package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
- package/dist/theming/preloadLinks.d.ts +0 -3
- package/dist/theming/preloadLinks.js +0 -19
- package/dist/theming/preloadLinks.js.map +0 -1
- package/dist/types/CSSColor.d.ts +0 -16
- package/dist/types/CSSColor.js +0 -19
- package/dist/types/CSSColor.js.map +0 -1
- package/dist/types/DOMReference.d.ts +0 -17
- package/dist/types/DOMReference.js +0 -25
- package/dist/types/DOMReference.js.map +0 -1
- package/dist/types/DataType.d.ts +0 -25
- package/dist/types/DataType.js +0 -44
- package/dist/types/DataType.js.map +0 -1
- package/dist/types/Float.d.ts +0 -18
- package/dist/types/Float.js +0 -22
- package/dist/types/Float.js.map +0 -1
- package/dist/types/Integer.d.ts +0 -18
- package/dist/types/Integer.js +0 -22
- package/dist/types/Integer.js.map +0 -1
- package/dist/util/AriaLabelHelper.d.ts +0 -6
- package/dist/util/AriaLabelHelper.js +0 -44
- package/dist/util/AriaLabelHelper.js.map +0 -1
- package/dist/util/createStyleInHead.d.ts +0 -8
- package/dist/util/createStyleInHead.js +0 -18
- package/dist/util/createStyleInHead.js.map +0 -1
- package/dist/util/getEffectiveScrollbarStyle.d.ts +0 -2
- package/dist/util/getEffectiveScrollbarStyle.js +0 -4
- package/dist/util/getEffectiveScrollbarStyle.js.map +0 -1
- package/index.js +0 -4
- package/lib/generate-asset-parameters/index.js +0 -25
- package/lib/generate-styles/index.js +0 -26
- package/lib/generate-version-info/index.js +0 -32
- package/package-scripts.js +0 -67
- package/src/AssetRegistry.ts +0 -11
- package/src/Boot.ts +0 -61
- package/src/CSP.ts +0 -66
- package/src/CustomElementsRegistry.ts +0 -98
- package/src/CustomElementsScope.ts +0 -33
- package/src/CustomElementsScopeUtils.ts +0 -115
- package/src/DOMObserver.ts +0 -28
- package/src/Device.ts +0 -124
- package/src/EventProvider.ts +0 -87
- package/src/FeaturesRegistry.ts +0 -14
- package/src/FontFace.ts +0 -31
- package/src/InitialConfiguration.ts +0 -207
- package/src/Keys.ts +0 -295
- package/src/ManagedStyles.ts +0 -92
- package/src/MarkedEvents.ts +0 -20
- package/src/MediaRange.ts +0 -110
- package/src/PropertiesFileFormat.ts +0 -95
- package/src/Render.ts +0 -180
- package/src/RenderQueue.ts +0 -71
- package/src/Runtimes.ts +0 -114
- package/src/StaticArea.ts +0 -3
- package/src/StaticAreaItem.ts +0 -113
- package/src/SystemCSSVars.ts +0 -10
- package/src/Theming.ts +0 -4
- package/src/UI5Element.ts +0 -1155
- package/src/UI5ElementMetadata.ts +0 -389
- package/src/animations/AnimationQueue.ts +0 -43
- package/src/animations/animate.ts +0 -64
- package/src/animations/scroll.ts +0 -21
- package/src/animations/slideDown.ts +0 -72
- package/src/animations/slideUp.ts +0 -67
- package/src/asset-registries/Icons.ts +0 -162
- package/src/asset-registries/Illustrations.ts +0 -75
- package/src/asset-registries/LocaleData.ts +0 -172
- package/src/asset-registries/Themes.ts +0 -67
- package/src/asset-registries/i18n.ts +0 -118
- package/src/assets-meta/IconCollectionsAlias.ts +0 -18
- package/src/config/AnimationMode.ts +0 -33
- package/src/config/CalendarType.ts +0 -23
- package/src/config/FormatSettings.ts +0 -21
- package/src/config/Icons.ts +0 -59
- package/src/config/Language.ts +0 -72
- package/src/config/NoConflict.ts +0 -67
- package/src/config/RTL.ts +0 -41
- package/src/config/Theme.ts +0 -64
- package/src/config/ThemeRoots.ts +0 -41
- package/src/css/FontFace.css +0 -66
- package/src/css/OverrideFontFace.css +0 -32
- package/src/decorators/customElement.ts +0 -17
- package/src/decorators/event.ts +0 -28
- package/src/decorators/fastNavigation.ts +0 -14
- package/src/decorators/languageAware.ts +0 -14
- package/src/decorators/property.ts +0 -30
- package/src/decorators/slot.ts +0 -49
- package/src/decorators/themeAware.ts +0 -14
- package/src/delegate/ItemNavigation.ts +0 -393
- package/src/delegate/ResizeHandler.ts +0 -95
- package/src/delegate/ScrollEnablement.ts +0 -221
- package/src/features/F6Navigation.ts +0 -141
- package/src/features/OpenUI5Element.ts +0 -11
- package/src/features/OpenUI5Enablement.ts +0 -117
- package/src/features/OpenUI5Support.ts +0 -148
- package/src/getSharedResource.ts +0 -30
- package/src/i18nBundle.ts +0 -108
- package/src/locale/Locale.ts +0 -101
- package/src/locale/RTLAwareRegistry.ts +0 -16
- package/src/locale/applyDirection.ts +0 -18
- package/src/locale/directionChange.ts +0 -34
- package/src/locale/getEffectiveDir.ts +0 -28
- package/src/locale/getLocale.ts +0 -46
- package/src/locale/languageChange.ts +0 -24
- package/src/locale/nextFallbackLocale.ts +0 -28
- package/src/locale/normalizeLocale.ts +0 -56
- package/src/renderer/LitRenderer.ts +0 -60
- package/src/renderer/directives/style-map.js +0 -72
- package/src/renderer/executeTemplate.ts +0 -40
- package/src/theming/CustomStyle.ts +0 -62
- package/src/theming/ThemeLoaded.ts +0 -24
- package/src/theming/applyTheme.ts +0 -90
- package/src/theming/getConstructableStyle.ts +0 -31
- package/src/theming/getEffectiveLinksHrefs.ts +0 -26
- package/src/theming/getEffectiveStyle.ts +0 -41
- package/src/theming/getStylesString.ts +0 -15
- package/src/theming/getThemeDesignerTheme.ts +0 -101
- package/src/theming/preloadLinks.ts +0 -24
- package/src/thirdparty/_merge.ts +0 -32
- package/src/thirdparty/isPlainObject.ts +0 -18
- package/src/thirdparty/merge.ts +0 -5
- package/src/types/AnimationMode.ts +0 -33
- package/src/types/CSSColor.ts +0 -20
- package/src/types/CalendarType.ts +0 -38
- package/src/types/DOMReference.ts +0 -28
- package/src/types/DataType.ts +0 -51
- package/src/types/Float.ts +0 -25
- package/src/types/Integer.ts +0 -25
- package/src/types/InvisibleMessageMode.ts +0 -27
- package/src/types/ItemNavigationBehavior.ts +0 -26
- package/src/types/NavigationMode.ts +0 -33
- package/src/types/ValueState.ts +0 -47
- package/src/types.ts +0 -30
- package/src/updateShadowRoot.ts +0 -37
- package/src/util/AriaLabelHelper.ts +0 -63
- package/src/util/Caret.ts +0 -28
- package/src/util/ColorConversion.ts +0 -399
- package/src/util/FetchHelper.ts +0 -31
- package/src/util/FocusableElements.ts +0 -82
- package/src/util/HTMLSanitizer.ts +0 -9
- package/src/util/InvisibleMessage.ts +0 -69
- package/src/util/PopupUtils.ts +0 -112
- package/src/util/SlotsHelper.ts +0 -39
- package/src/util/StringHelper.ts +0 -26
- package/src/util/TabbableElements.ts +0 -70
- package/src/util/arraysAreEqual.ts +0 -15
- package/src/util/clamp.ts +0 -12
- package/src/util/createLinkInHead.ts +0 -25
- package/src/util/createStyleInHead.ts +0 -20
- package/src/util/debounce.ts +0 -18
- package/src/util/detectNavigatorLanguage.ts +0 -13
- package/src/util/escapeRegex.ts +0 -11
- package/src/util/formatMessage.ts +0 -24
- package/src/util/generateHighlightedMarkup.ts +0 -43
- package/src/util/getActiveElement.ts +0 -11
- package/src/util/getClassCopy.ts +0 -12
- package/src/util/getDesigntimePropertyAsArray.ts +0 -4
- package/src/util/getEffectiveContentDensity.ts +0 -5
- package/src/util/getEffectiveScrollbarStyle.ts +0 -5
- package/src/util/getFastNavigationGroups.ts +0 -63
- package/src/util/getFileExtension.ts +0 -21
- package/src/util/getNormalizedTarget.ts +0 -16
- package/src/util/getSingletonElementInstance.ts +0 -13
- package/src/util/isElementClickable.ts +0 -19
- package/src/util/isElementHidden.ts +0 -9
- package/src/util/isElementInView.ts +0 -15
- package/src/util/isElementTabbable.ts +0 -37
- package/src/util/isValidPropertyName.ts +0 -29
- package/src/util/whenDOMReady.ts +0 -13
- package/src/util/willShowContent.ts +0 -7
- package/src/validateThemeRoot.ts +0 -58
- package/used-modules.txt +0 -10
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isDown,
|
|
3
|
-
isUp,
|
|
4
|
-
isLeft,
|
|
5
|
-
isRight,
|
|
6
|
-
isHome,
|
|
7
|
-
isEnd,
|
|
8
|
-
isPageDown,
|
|
9
|
-
isPageUp,
|
|
10
|
-
} from "../Keys.js";
|
|
11
|
-
import getActiveElement from "../util/getActiveElement.js";
|
|
12
|
-
|
|
13
|
-
import NavigationMode from "../types/NavigationMode.js";
|
|
14
|
-
import ItemNavigationBehavior from "../types/ItemNavigationBehavior.js";
|
|
15
|
-
|
|
16
|
-
import type UI5Element from "../UI5Element.js";
|
|
17
|
-
import { instanceOfUI5Element } from "../UI5Element.js";
|
|
18
|
-
|
|
19
|
-
interface ITabbable {
|
|
20
|
-
id: string,
|
|
21
|
-
_tabIndex: string,
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
type ItemNavigationOptions = {
|
|
25
|
-
currentIndex?: number,
|
|
26
|
-
navigationMode?: NavigationMode,
|
|
27
|
-
rowSize?: number
|
|
28
|
-
skipItemsSize?: number,
|
|
29
|
-
behavior?: ItemNavigationBehavior,
|
|
30
|
-
getItemsCallback: () => Array<ITabbable>,
|
|
31
|
-
affectedPropertiesNames?: Array<string>,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The ItemNavigation class manages the calculations to determine the correct "tabindex" for a group of related items inside a root component.
|
|
36
|
-
* Important: ItemNavigation only does the calculations and does not change "tabindex" directly, this is a responsibility of the developer.
|
|
37
|
-
*
|
|
38
|
-
* The keys that trigger ItemNavigation are:
|
|
39
|
-
* - Up/down
|
|
40
|
-
* - Left/right
|
|
41
|
-
* - Home/End
|
|
42
|
-
*
|
|
43
|
-
* Usage:
|
|
44
|
-
* 1) Use the "getItemsCallback" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.
|
|
45
|
-
*
|
|
46
|
-
* Each item passed to ItemNavigation via "getItemsCallback" must be:
|
|
47
|
-
* - A) either a UI5Element with a "_tabIndex" property
|
|
48
|
-
* - B) or an Object with "id" and "_tabIndex" properties which represents a part of the root component's shadow DOM.
|
|
49
|
-
* The "id" must be a valid ID within the shadow root of the component ItemNavigation operates on.
|
|
50
|
-
* 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
|
|
51
|
-
* and the developer has the responsibility to update the "tabindex" in the component's DOM.
|
|
52
|
-
* - C) a combination of the above
|
|
53
|
-
*
|
|
54
|
-
* Whenever the user navigates with the keyboard, ItemNavigation will modify the "_tabIndex" properties of the items.
|
|
55
|
-
* 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).
|
|
56
|
-
* If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their "_tabIndex" property.
|
|
57
|
-
* 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.
|
|
58
|
-
* 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.
|
|
59
|
-
*
|
|
60
|
-
* 2) Call the "setCurrentItem" method of ItemNavigation whenever you want to change the current item.
|
|
61
|
-
* This is most commonly required if the user for example clicks on an item and thus selects it directly.
|
|
62
|
-
* Pass as the only argument to "setCurrentItem" the item that becomes current (must be one of the items, returned by "getItemsCallback").
|
|
63
|
-
*
|
|
64
|
-
* @class
|
|
65
|
-
* @public
|
|
66
|
-
*/
|
|
67
|
-
class ItemNavigation {
|
|
68
|
-
rootWebComponent: UI5Element;
|
|
69
|
-
|
|
70
|
-
_getItems: () => Array<ITabbable>;
|
|
71
|
-
|
|
72
|
-
_currentIndex: number;
|
|
73
|
-
|
|
74
|
-
_rowSize: number;
|
|
75
|
-
|
|
76
|
-
_behavior: ItemNavigationBehavior;
|
|
77
|
-
|
|
78
|
-
_navigationMode: NavigationMode;
|
|
79
|
-
|
|
80
|
-
_affectedPropertiesNames: Array<string>;
|
|
81
|
-
|
|
82
|
-
_skipItemsSize: number | null;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
*
|
|
86
|
-
* @param rootWebComponent the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
|
|
87
|
-
* @param {ItemNavigationOptions} options Object with configuration options:
|
|
88
|
-
* - currentIndex: the index of the item that will be initially selected (from which navigation will begin)
|
|
89
|
-
* - 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)
|
|
90
|
-
* - 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
|
|
91
|
-
* - skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item
|
|
92
|
-
* - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items
|
|
93
|
-
* Static means that nothing happens if the user tries to navigate beyond the first/last item.
|
|
94
|
-
* Cycling means that when the user navigates beyond the last item they go to the first and vice versa.
|
|
95
|
-
* - getItemsCallback: function that, when called, returns an array with all items the user can navigate among
|
|
96
|
-
* - 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
|
|
97
|
-
*/
|
|
98
|
-
constructor(rootWebComponent: UI5Element, options: ItemNavigationOptions) {
|
|
99
|
-
if (!rootWebComponent.isUI5Element) {
|
|
100
|
-
throw new Error("The root web component must be a UI5 Element instance");
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
this.rootWebComponent = rootWebComponent;
|
|
104
|
-
this.rootWebComponent.addEventListener("keydown", this._onkeydown.bind(this));
|
|
105
|
-
this.rootWebComponent._onComponentStateFinalized = () => {
|
|
106
|
-
this._init();
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
if (typeof options.getItemsCallback !== "function") {
|
|
110
|
-
throw new Error("getItemsCallback is required");
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
this._getItems = options.getItemsCallback;
|
|
114
|
-
this._currentIndex = options.currentIndex || 0;
|
|
115
|
-
this._rowSize = options.rowSize || 1;
|
|
116
|
-
this._behavior = options.behavior || ItemNavigationBehavior.Static;
|
|
117
|
-
this._navigationMode = options.navigationMode || NavigationMode.Auto;
|
|
118
|
-
this._affectedPropertiesNames = options.affectedPropertiesNames || [];
|
|
119
|
-
this._skipItemsSize = options.skipItemsSize || null;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Call this method to set a new "current" (selected) item in the item navigation
|
|
124
|
-
* Note: the item passed to this function must be one of the items, returned by the getItemsCallback function
|
|
125
|
-
*
|
|
126
|
-
* @public
|
|
127
|
-
* @param current the new selected item
|
|
128
|
-
*/
|
|
129
|
-
setCurrentItem(current: ITabbable) {
|
|
130
|
-
const currentItemIndex = this._getItems().indexOf(current);
|
|
131
|
-
|
|
132
|
-
if (currentItemIndex === -1) {
|
|
133
|
-
console.warn(`The provided item is not managed by ItemNavigation`, current); // eslint-disable-line
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
this._currentIndex = currentItemIndex;
|
|
138
|
-
this._applyTabIndex();
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Call this method to dynamically change the row size
|
|
143
|
-
*
|
|
144
|
-
* @public
|
|
145
|
-
* @param newRowSize
|
|
146
|
-
*/
|
|
147
|
-
setRowSize(newRowSize: number) {
|
|
148
|
-
this._rowSize = newRowSize;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
_init() {
|
|
152
|
-
this._getItems().forEach((item, idx) => {
|
|
153
|
-
item._tabIndex = (idx === this._currentIndex) ? "0" : "-1";
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
_onkeydown(event: KeyboardEvent) {
|
|
158
|
-
if (!this._canNavigate()) {
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
const horizontalNavigationOn = this._navigationMode === NavigationMode.Horizontal || this._navigationMode === NavigationMode.Auto;
|
|
163
|
-
const verticalNavigationOn = this._navigationMode === NavigationMode.Vertical || this._navigationMode === NavigationMode.Auto;
|
|
164
|
-
const isRTL = this.rootWebComponent.effectiveDir === "rtl";
|
|
165
|
-
|
|
166
|
-
if (isRTL && isLeft(event) && horizontalNavigationOn) {
|
|
167
|
-
this._handleRight();
|
|
168
|
-
} else if (isRTL && isRight(event) && horizontalNavigationOn) {
|
|
169
|
-
this._handleLeft();
|
|
170
|
-
} else if (isLeft(event) && horizontalNavigationOn) {
|
|
171
|
-
this._handleLeft();
|
|
172
|
-
} else if (isRight(event) && horizontalNavigationOn) {
|
|
173
|
-
this._handleRight();
|
|
174
|
-
} else if (isUp(event) && verticalNavigationOn) {
|
|
175
|
-
this._handleUp();
|
|
176
|
-
} else if (isDown(event) && verticalNavigationOn) {
|
|
177
|
-
this._handleDown();
|
|
178
|
-
} else if (isHome(event)) {
|
|
179
|
-
this._handleHome();
|
|
180
|
-
} else if (isEnd(event)) {
|
|
181
|
-
this._handleEnd();
|
|
182
|
-
} else if (isPageUp(event)) {
|
|
183
|
-
this._handlePageUp();
|
|
184
|
-
} else if (isPageDown(event)) {
|
|
185
|
-
this._handlePageDown();
|
|
186
|
-
} else {
|
|
187
|
-
return; // if none of the supported keys is pressed, we don't want to prevent the event or update the item navigation
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
event.preventDefault();
|
|
191
|
-
this._applyTabIndex();
|
|
192
|
-
this._focusCurrentItem();
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
_handleUp() {
|
|
196
|
-
const itemsLength = this._getItems().length;
|
|
197
|
-
if (this._currentIndex - this._rowSize >= 0) { // no border reached, just decrease the index by a row
|
|
198
|
-
this._currentIndex -= this._rowSize;
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (this._behavior === ItemNavigationBehavior.Cyclic) { // if cyclic, go to the **last** item in the **previous** column
|
|
203
|
-
const firstItemInThisColumnIndex = this._currentIndex % this._rowSize;
|
|
204
|
-
const firstItemInPreviousColumnIndex = firstItemInThisColumnIndex === 0 ? this._rowSize - 1 : firstItemInThisColumnIndex - 1; // find the first item in the previous column (if the current column is the first column -> move to the last column)
|
|
205
|
-
const rows = Math.ceil(itemsLength / this._rowSize); // how many rows there are (even if incomplete, f.e. for 14 items and _rowSize=4 -> 4 rows total, although only 2 items on the last row)
|
|
206
|
-
let lastItemInPreviousColumnIndex = firstItemInPreviousColumnIndex + (rows - 1) * this._rowSize; // multiply rows by columns, and add the column's first item's index
|
|
207
|
-
if (lastItemInPreviousColumnIndex > itemsLength - 1) { // for incomplete rows, use the previous row's last item, as for them the last item is missing
|
|
208
|
-
lastItemInPreviousColumnIndex -= this._rowSize;
|
|
209
|
-
}
|
|
210
|
-
this._currentIndex = lastItemInPreviousColumnIndex;
|
|
211
|
-
} else { // not cyclic, so just go to the first item
|
|
212
|
-
this._currentIndex = 0;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
_handleDown() {
|
|
217
|
-
const itemsLength = this._getItems().length;
|
|
218
|
-
if (this._currentIndex + this._rowSize < itemsLength) { // no border reached, just increase the index by a row
|
|
219
|
-
this._currentIndex += this._rowSize;
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
if (this._behavior === ItemNavigationBehavior.Cyclic) { // if cyclic, go to the **first** item in the **next** column
|
|
224
|
-
const firstItemInThisColumnIndex = this._currentIndex % this._rowSize; // find the first item in the current column first
|
|
225
|
-
const firstItemInNextColumnIndex = (firstItemInThisColumnIndex + 1) % this._rowSize; // to get the first item in the next column, just increase the index by 1. The modulo by rows is for the case when we are at the last column
|
|
226
|
-
this._currentIndex = firstItemInNextColumnIndex;
|
|
227
|
-
} else { // not cyclic, so just go to the last item
|
|
228
|
-
this._currentIndex = itemsLength - 1;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
_handleLeft() {
|
|
233
|
-
const itemsLength = this._getItems().length;
|
|
234
|
-
if (this._currentIndex > 0) {
|
|
235
|
-
this._currentIndex -= 1;
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
if (this._behavior === ItemNavigationBehavior.Cyclic) { // go to the first item in the next column
|
|
240
|
-
this._currentIndex = itemsLength - 1;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
_handleRight() {
|
|
245
|
-
const itemsLength = this._getItems().length;
|
|
246
|
-
if (this._currentIndex < itemsLength - 1) {
|
|
247
|
-
this._currentIndex += 1;
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
if (this._behavior === ItemNavigationBehavior.Cyclic) { // go to the first item in the next column
|
|
252
|
-
this._currentIndex = 0;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
_handleHome() {
|
|
257
|
-
const homeEndRange = this._rowSize > 1 ? this._rowSize : this._getItems().length;
|
|
258
|
-
this._currentIndex -= this._currentIndex % homeEndRange;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
_handleEnd() {
|
|
262
|
-
const homeEndRange = this._rowSize > 1 ? this._rowSize : this._getItems().length;
|
|
263
|
-
this._currentIndex += (homeEndRange - 1 - this._currentIndex % homeEndRange); // eslint-disable-line
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
_handlePageUp() {
|
|
267
|
-
if (this._rowSize > 1) {
|
|
268
|
-
// eslint-disable-next-line
|
|
269
|
-
// TODO: handle page up on matrix (grid) layout - ColorPalette, ProductSwitch.
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
this._handlePageUpFlat();
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
_handlePageDown() {
|
|
276
|
-
if (this._rowSize > 1) {
|
|
277
|
-
// eslint-disable-next-line
|
|
278
|
-
// TODO: handle page up on matrix (grid) layout - ColorPalette, ProductSwitch.
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
this._handlePageDownFlat();
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* Handles PAGE_UP in a flat list-like structure, both vertically and horizontally.
|
|
286
|
-
*/
|
|
287
|
-
_handlePageUpFlat() {
|
|
288
|
-
if (this._skipItemsSize === null) {
|
|
289
|
-
// Move the focus to the very top (as Home).
|
|
290
|
-
this._currentIndex -= this._currentIndex;
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
if (this._currentIndex + 1 > this._skipItemsSize) {
|
|
295
|
-
// When there are more than "skipItemsSize" number of items to the top,
|
|
296
|
-
// move the focus up/left with the predefined number.
|
|
297
|
-
this._currentIndex -= this._skipItemsSize;
|
|
298
|
-
} else {
|
|
299
|
-
// Otherwise, move the focus to the very top (as Home).
|
|
300
|
-
this._currentIndex -= this._currentIndex;
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
/**
|
|
305
|
-
* Handles PAGE_DOWN in a flat list-like structure, both vertically and horizontally.
|
|
306
|
-
*/
|
|
307
|
-
_handlePageDownFlat() {
|
|
308
|
-
if (this._skipItemsSize === null) {
|
|
309
|
-
// Move the focus to the very bottom (as End).
|
|
310
|
-
this._currentIndex = this._getItems().length - 1;
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
const currentToEndRange = this._getItems().length - this._currentIndex - 1;
|
|
315
|
-
|
|
316
|
-
if (currentToEndRange > this._skipItemsSize) {
|
|
317
|
-
// When there are more than "skipItemsSize" number of items until the bottom,
|
|
318
|
-
// move the focus down/right with the predefined number.
|
|
319
|
-
this._currentIndex += this._skipItemsSize;
|
|
320
|
-
} else {
|
|
321
|
-
// Otherwise, move the focus to the very bottom (as End).
|
|
322
|
-
this._currentIndex = this._getItems().length - 1;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
_applyTabIndex() {
|
|
327
|
-
const items = this._getItems();
|
|
328
|
-
for (let i = 0; i < items.length; i++) {
|
|
329
|
-
items[i]._tabIndex = i === this._currentIndex ? "0" : "-1";
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
this._affectedPropertiesNames.forEach(propName => {
|
|
333
|
-
const prop = (this.rootWebComponent as Record<string, any>)[propName];
|
|
334
|
-
(this.rootWebComponent as Record<string, any>)[propName] = Array.isArray(prop) ? [...prop] : { ...prop };
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
_focusCurrentItem() {
|
|
339
|
-
const currentItem = this._getCurrentItem();
|
|
340
|
-
if (currentItem) {
|
|
341
|
-
currentItem.focus({ focusVisible: true } as FocusOptions);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
_canNavigate() {
|
|
346
|
-
const currentItem = this._getCurrentItem();
|
|
347
|
-
const activeElement = getActiveElement();
|
|
348
|
-
|
|
349
|
-
return currentItem && currentItem === activeElement;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
_getCurrentItem() {
|
|
353
|
-
const items = this._getItems();
|
|
354
|
-
|
|
355
|
-
if (!items.length) {
|
|
356
|
-
return;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
// normalize the index
|
|
360
|
-
while (this._currentIndex >= items.length) {
|
|
361
|
-
this._currentIndex -= this._rowSize;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
if (this._currentIndex < 0) {
|
|
365
|
-
this._currentIndex = 0;
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
const currentItem = items[this._currentIndex];
|
|
369
|
-
|
|
370
|
-
if (!currentItem) {
|
|
371
|
-
return;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
if (instanceOfUI5Element(currentItem)) {
|
|
375
|
-
return currentItem.getFocusDomRef();
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
const currentItemDOMRef = this.rootWebComponent.getDomRef();
|
|
379
|
-
if (!currentItemDOMRef) {
|
|
380
|
-
return;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
if (currentItem.id) {
|
|
384
|
-
return currentItemDOMRef.querySelector(`#${currentItem.id}`) as HTMLElement;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
export default ItemNavigation;
|
|
390
|
-
|
|
391
|
-
export {
|
|
392
|
-
ITabbable,
|
|
393
|
-
};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { instanceOfUI5Element } from "../UI5Element.js";
|
|
2
|
-
|
|
3
|
-
type ResizeObserverCallback = () => void;
|
|
4
|
-
|
|
5
|
-
let resizeObserver: ResizeObserver;
|
|
6
|
-
const observedElements = new Map<HTMLElement, Array<ResizeObserverCallback>>();
|
|
7
|
-
|
|
8
|
-
const getResizeObserver = () => {
|
|
9
|
-
if (!resizeObserver) {
|
|
10
|
-
resizeObserver = new window.ResizeObserver(entries => {
|
|
11
|
-
entries.forEach(entry => {
|
|
12
|
-
const callbacks = observedElements.get(entry.target as HTMLElement);
|
|
13
|
-
callbacks?.forEach((callback: ResizeObserverCallback) => callback());
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return resizeObserver;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const observe = (element: HTMLElement, callback: ResizeObserverCallback) => {
|
|
21
|
-
const callbacks = observedElements.get(element) || [];
|
|
22
|
-
|
|
23
|
-
// if no callbacks have been added for this element - start observing it
|
|
24
|
-
if (!callbacks.length) {
|
|
25
|
-
getResizeObserver().observe(element);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// save the callbacks in an array
|
|
29
|
-
observedElements.set(element, [...callbacks, callback]);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const unobserve = (element: HTMLElement, callback: ResizeObserverCallback) => {
|
|
33
|
-
const callbacks = observedElements.get(element) || [];
|
|
34
|
-
if (callbacks.length === 0) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const filteredCallbacks = callbacks.filter((fn: ResizeObserverCallback) => fn !== callback);
|
|
39
|
-
if (filteredCallbacks.length === 0) {
|
|
40
|
-
getResizeObserver().unobserve(element);
|
|
41
|
-
observedElements.delete(element);
|
|
42
|
-
} else {
|
|
43
|
-
observedElements.set(element, filteredCallbacks);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Allows to register/deregister resize observers for a DOM element
|
|
49
|
-
*
|
|
50
|
-
* @public
|
|
51
|
-
* @class
|
|
52
|
-
*/
|
|
53
|
-
class ResizeHandler {
|
|
54
|
-
/**
|
|
55
|
-
* @static
|
|
56
|
-
* @public
|
|
57
|
-
* @param {*} element UI5 Web Component or DOM Element to be observed
|
|
58
|
-
* @param {*} callback Callback to be executed
|
|
59
|
-
*/
|
|
60
|
-
static register(element: HTMLElement, callback: ResizeObserverCallback) {
|
|
61
|
-
let effectiveElement: HTMLElement | undefined = element;
|
|
62
|
-
|
|
63
|
-
if (instanceOfUI5Element(effectiveElement)) {
|
|
64
|
-
effectiveElement = effectiveElement.getDomRef();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (effectiveElement instanceof HTMLElement) {
|
|
68
|
-
observe(effectiveElement, callback);
|
|
69
|
-
} else {
|
|
70
|
-
console.warn("Cannot register ResizeHandler for element", element); // eslint-disable-line
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @static
|
|
76
|
-
* @public
|
|
77
|
-
* @param {*} element UI5 Web Component or DOM Element to be unobserved
|
|
78
|
-
* @param {*} callback Callback to be removed
|
|
79
|
-
*/
|
|
80
|
-
static deregister(element: HTMLElement, callback: ResizeObserverCallback) {
|
|
81
|
-
let effectiveElement: HTMLElement | undefined = element;
|
|
82
|
-
|
|
83
|
-
if (instanceOfUI5Element(effectiveElement)) {
|
|
84
|
-
effectiveElement = effectiveElement.getDomRef();
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (effectiveElement instanceof HTMLElement) {
|
|
88
|
-
unobserve(effectiveElement, callback);
|
|
89
|
-
} else {
|
|
90
|
-
console.warn("Cannot deregister ResizeHandler for element", element); // eslint-disable-line
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export default ResizeHandler;
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { supportsTouch } from "../Device.js";
|
|
2
|
-
import EventProvider from "../EventProvider.js";
|
|
3
|
-
import scroll from "../animations/scroll.js";
|
|
4
|
-
import type UI5Element from "../UI5Element.js";
|
|
5
|
-
|
|
6
|
-
const scrollEventName = "scroll";
|
|
7
|
-
const touchEndEventName = supportsTouch() ? "touchend" : "mouseup";
|
|
8
|
-
|
|
9
|
-
type EventListenerParam = {
|
|
10
|
-
isLeft: boolean;
|
|
11
|
-
isRight: boolean
|
|
12
|
-
}
|
|
13
|
-
type EventListenerReturn = void;
|
|
14
|
-
|
|
15
|
-
class ScrollEnablement extends EventProvider<EventListenerParam, EventListenerReturn> {
|
|
16
|
-
containerComponent: UI5Element;
|
|
17
|
-
mouseMove: (event: MouseEvent | TouchEvent) => void;
|
|
18
|
-
mouseUp: (event: MouseEvent | TouchEvent) => void;
|
|
19
|
-
touchStart: (event: MouseEvent | TouchEvent) => void;
|
|
20
|
-
cachedValue: { dragX: number, dragY: number };
|
|
21
|
-
startX: number;
|
|
22
|
-
startY: number;
|
|
23
|
-
_container?: HTMLElement;
|
|
24
|
-
supportsTouch = supportsTouch();
|
|
25
|
-
_canScroll?: boolean;
|
|
26
|
-
_prevDragX?: number;
|
|
27
|
-
_prevDragY?: number;
|
|
28
|
-
|
|
29
|
-
constructor(containerComponent: UI5Element) {
|
|
30
|
-
super();
|
|
31
|
-
this.containerComponent = containerComponent;
|
|
32
|
-
this.mouseMove = this.ontouchmove.bind(this);
|
|
33
|
-
this.mouseUp = this.ontouchend.bind(this);
|
|
34
|
-
this.touchStart = this.ontouchstart.bind(this);
|
|
35
|
-
|
|
36
|
-
this.supportsTouch = supportsTouch();
|
|
37
|
-
|
|
38
|
-
// On Android devices touchmove is thrown one more time than neccessary (together with touchend)
|
|
39
|
-
// so we have to cache the previus coordinates in order to provide correct parameters in the
|
|
40
|
-
// event for Android
|
|
41
|
-
this.cachedValue = { dragX: 0, dragY: 0 };
|
|
42
|
-
|
|
43
|
-
// In components like Carousel you need to know if the user has clicked on something or swiped
|
|
44
|
-
// in order to throw the needed event or not
|
|
45
|
-
this.startX = 0;
|
|
46
|
-
this.startY = 0;
|
|
47
|
-
|
|
48
|
-
if (this.supportsTouch) {
|
|
49
|
-
containerComponent.addEventListener("touchstart", this.touchStart, { passive: true });
|
|
50
|
-
containerComponent.addEventListener("touchmove", this.mouseMove, { passive: true });
|
|
51
|
-
containerComponent.addEventListener("touchend", this.mouseUp, { passive: true });
|
|
52
|
-
} else {
|
|
53
|
-
containerComponent.addEventListener("mousedown", this.touchStart, { passive: true });
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
set scrollContainer(container: HTMLElement) {
|
|
58
|
-
this._container = container;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
get scrollContainer() {
|
|
62
|
-
return this._container!;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Scrolls the container to the left/top position, retrying retryCount times, if the container is not yet painted
|
|
67
|
-
*
|
|
68
|
-
* @param left
|
|
69
|
-
* @param top
|
|
70
|
-
* @param retryCount
|
|
71
|
-
* @param retryInterval
|
|
72
|
-
* @returns {Promise<void>} resolved when scrolled successfully
|
|
73
|
-
*/
|
|
74
|
-
async scrollTo(left: number, top: number, retryCount = 0, retryInterval = 0) {
|
|
75
|
-
let containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
|
|
76
|
-
|
|
77
|
-
/* eslint-disable no-loop-func, no-await-in-loop */
|
|
78
|
-
while (!containerPainted && retryCount > 0) {
|
|
79
|
-
await new Promise<void>(resolve => {
|
|
80
|
-
setTimeout(() => {
|
|
81
|
-
containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
|
|
82
|
-
retryCount--;
|
|
83
|
-
resolve();
|
|
84
|
-
}, retryInterval);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
/* eslint-disable no-loop-func, no-await-in-loop */
|
|
88
|
-
|
|
89
|
-
this._container!.scrollLeft = left;
|
|
90
|
-
this._container!.scrollTop = top;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
move(dx: number, dy: number, disableAnimation: boolean) {
|
|
94
|
-
if (disableAnimation) {
|
|
95
|
-
this._container!.scrollLeft += dx;
|
|
96
|
-
this._container!.scrollTop += dy;
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (this._container) {
|
|
101
|
-
return scroll(this._container, dx, dy);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
getScrollLeft() {
|
|
106
|
-
return this._container!.scrollLeft;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
getScrollTop() {
|
|
110
|
-
return this._container!.scrollTop;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
_isTouchInside(event: TouchEvent | MouseEvent) {
|
|
114
|
-
let touch = null;
|
|
115
|
-
if (this.supportsTouch && event instanceof TouchEvent) {
|
|
116
|
-
touch = event.touches[0];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const rect = this._container!.getBoundingClientRect();
|
|
120
|
-
const x = this.supportsTouch ? (touch as TouchInit).clientX : (event as MouseEvent).x;
|
|
121
|
-
const y = this.supportsTouch ? (touch as TouchInit).clientY : (event as MouseEvent).y;
|
|
122
|
-
|
|
123
|
-
return x! >= rect.left && x! <= rect.right
|
|
124
|
-
&& y! >= rect.top && y! <= rect.bottom;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
ontouchstart(event: TouchEvent | MouseEvent) {
|
|
128
|
-
let touch = null;
|
|
129
|
-
if (this.supportsTouch && event instanceof TouchEvent) {
|
|
130
|
-
touch = event.touches[0];
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if (!this.supportsTouch) {
|
|
134
|
-
document.addEventListener("mouseup", this.mouseUp, { passive: true });
|
|
135
|
-
document.addEventListener("mousemove", this.mouseMove, { passive: true });
|
|
136
|
-
} else {
|
|
137
|
-
// Needed only on mobile
|
|
138
|
-
this.startX = touch!.pageX;
|
|
139
|
-
this.startY = touch!.pageY;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if (this.supportsTouch && event instanceof TouchEvent) {
|
|
143
|
-
this._prevDragX = touch!.pageX;
|
|
144
|
-
this._prevDragY = touch!.pageY;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (event instanceof MouseEvent) {
|
|
148
|
-
this._prevDragX = event.x;
|
|
149
|
-
this._prevDragY = event.y;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
this._canScroll = this._isTouchInside(event);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
ontouchmove(event: TouchEvent | MouseEvent) {
|
|
156
|
-
if (!this._canScroll) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const container = this._container;
|
|
161
|
-
const touch = this.supportsTouch ? (event as TouchEvent).touches[0] : null;
|
|
162
|
-
|
|
163
|
-
const dragX = this.supportsTouch ? (touch as TouchInit).pageX : (event as MouseEvent).x;
|
|
164
|
-
const dragY = this.supportsTouch ? (touch as TouchInit).pageY : (event as MouseEvent).y;
|
|
165
|
-
|
|
166
|
-
container!.scrollLeft += this._prevDragX! - dragX!;
|
|
167
|
-
container!.scrollTop += this._prevDragY! - dragY!;
|
|
168
|
-
|
|
169
|
-
this.fireEvent(scrollEventName, {
|
|
170
|
-
isLeft: dragX! > this._prevDragX!,
|
|
171
|
-
isRight: dragX! < this._prevDragX!,
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
this.cachedValue.dragX = this._prevDragX!;
|
|
175
|
-
this.cachedValue.dragY = this._prevDragY!;
|
|
176
|
-
|
|
177
|
-
this._prevDragX = dragX;
|
|
178
|
-
this._prevDragY = dragY;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
ontouchend(event: TouchEvent | MouseEvent) {
|
|
182
|
-
if (this.supportsTouch) {
|
|
183
|
-
const deltaX = Math.abs((event as TouchEvent).changedTouches[0].pageX - this.startX);
|
|
184
|
-
const deltaY = Math.abs((event as TouchEvent).changedTouches[0].pageY - this.startY);
|
|
185
|
-
|
|
186
|
-
if (deltaX < 10 && deltaY < 10) {
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
if (!this._canScroll) {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
const container = this._container;
|
|
196
|
-
const dragX = this.supportsTouch ? (event as TouchEvent).changedTouches[0].pageX : (event as MouseEvent).x;
|
|
197
|
-
const dragY = this.supportsTouch ? (event as TouchEvent).changedTouches[0].pageY : (event as MouseEvent).y;
|
|
198
|
-
|
|
199
|
-
container!.scrollLeft += this._prevDragX! - dragX;
|
|
200
|
-
container!.scrollTop += this._prevDragY! - dragY;
|
|
201
|
-
|
|
202
|
-
const useCachedValues = dragX === this._prevDragX;
|
|
203
|
-
const _dragX = useCachedValues ? this.cachedValue.dragX : dragX;
|
|
204
|
-
// const _dragY = useCachedValues ? this.cachedValue.dragY : dragY; add if needed
|
|
205
|
-
|
|
206
|
-
this.fireEvent(touchEndEventName, {
|
|
207
|
-
isLeft: _dragX < this._prevDragX!,
|
|
208
|
-
isRight: _dragX > this._prevDragX!,
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
this._prevDragX = dragX;
|
|
212
|
-
this._prevDragY = dragY;
|
|
213
|
-
|
|
214
|
-
if (!this.supportsTouch) {
|
|
215
|
-
document.removeEventListener("mousemove", this.mouseMove);
|
|
216
|
-
document.removeEventListener("mouseup", this.mouseUp);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
export default ScrollEnablement;
|