@ui5/webcomponents-base 0.0.0-4e88b8243 → 0.0.0-50f1454ef
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/CHANGELOG.md +256 -0
- package/cypress/specs/{Accessor.cy.ts → Accessor.cy.tsx} +4 -4
- package/cypress/specs/{ConfigurationScript.cy.ts → ConfigurationScript.cy.tsx} +21 -4
- package/cypress/specs/{ConfigurationURL.cy.ts → ConfigurationURL.cy.tsx} +27 -8
- package/cypress/specs/CustomMount.cy.tsx +9 -0
- package/cypress/specs/{CustomTheme.cy.ts → CustomTheme.cy.tsx} +2 -2
- package/cypress/specs/Events.cy.tsx +28 -0
- package/cypress/specs/{UI5ElementInvalidation.cy.ts → UI5ElementInvalidation.cy.tsx} +55 -10
- package/cypress/specs/{UI5ElementLifecycle.cy.ts → UI5ElementLifecycle.cy.tsx} +4 -4
- package/cypress/specs/{UI5ElementListenForChildPropChanges.cy.ts → UI5ElementListenForChildPropChanges.cy.tsx} +32 -11
- package/cypress/specs/{UI5ElementMetadataExt.cy.ts → UI5ElementMetadataExt.cy.tsx} +3 -3
- package/cypress/specs/{UI5ElementPropertyValidation.cy.ts → UI5ElementPropertyValidation.cy.tsx} +2 -2
- package/cypress/specs/{UI5ElementPropsAndAttrs.cy.ts → UI5ElementPropsAndAttrs.cy.tsx} +8 -8
- package/cypress/specs/{UI5ElementShadowDOM.cy.ts → UI5ElementShadowDOM.cy.tsx} +4 -4
- package/cypress/specs/{UI5ElementSlots.cy.ts → UI5ElementSlots.cy.tsx} +47 -27
- package/cypress/specs/{WithComplexTemplate.cy.ts → WithComplexTemplate.cy.tsx} +2 -2
- package/cypress/specs/i18n_texts.cy.tsx +129 -0
- package/cypress/specs/util/FocusableElements.cy.tsx +48 -0
- package/cypress/support/commands.ts +39 -0
- package/cypress/support/component-index.html +12 -0
- package/cypress/support/component.ts +17 -0
- package/cypress/tsconfig.json +2 -1
- package/cypress.config.js +1 -1
- package/dist/.tsbuildinfobuild +1 -1
- package/dist/CustomElementsRegistry.d.ts +2 -1
- package/dist/CustomElementsRegistry.js +4 -1
- package/dist/CustomElementsRegistry.js.map +1 -1
- package/dist/CustomElementsScopeUtils.d.ts +3 -1
- package/dist/CustomElementsScopeUtils.js +8 -1
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/FeaturesRegistry.d.ts +1 -16
- package/dist/FeaturesRegistry.js +1 -37
- package/dist/FeaturesRegistry.js.map +1 -1
- package/dist/UI5Element.d.ts +15 -4
- package/dist/UI5Element.js +25 -15
- package/dist/UI5Element.js.map +1 -1
- package/dist/UI5ElementMetadata.d.ts +0 -5
- package/dist/UI5ElementMetadata.js +0 -7
- package/dist/UI5ElementMetadata.js.map +1 -1
- package/dist/config/Theme.js +1 -2
- package/dist/config/Theme.js.map +1 -1
- package/dist/custom-elements-internal.json +2803 -0
- package/dist/custom-elements.json +2500 -0
- package/dist/decorators/customElement.d.ts +1 -0
- package/dist/decorators/customElement.js +1 -4
- package/dist/decorators/customElement.js.map +1 -1
- package/dist/decorators/i18n.js +6 -0
- package/dist/decorators/i18n.js.map +1 -1
- package/dist/features/F6Navigation.d.ts +1 -0
- package/dist/features/F6Navigation.js +21 -2
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/features/patchPopup.js +10 -1
- package/dist/features/patchPopup.js.map +1 -1
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/AssetParameters.js.map +1 -1
- package/dist/generated/VersionInfo.js +4 -4
- package/dist/generated/VersionInfo.js.map +1 -1
- package/dist/index.d.ts +43 -3
- package/dist/index.js +88 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-utils.js +11 -2
- package/dist/jsx-utils.js.map +1 -1
- package/dist/locale/nextFallbackLocale.js +6 -2
- package/dist/locale/nextFallbackLocale.js.map +1 -1
- package/dist/prod/AssetRegistry.js +2 -0
- package/dist/prod/AssetRegistry.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/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/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.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/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/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 +2 -0
- package/dist/prod/generated/css/FontFace.css.js.map +7 -0
- package/dist/prod/generated/css/OverrideFontFace.css.js +2 -0
- package/dist/prod/generated/css/OverrideFontFace.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/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/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/createLinkInHead.js +2 -0
- package/dist/prod/util/createLinkInHead.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/getEffectiveScrollbarStyle.js +28 -0
- package/dist/prod/util/getEffectiveScrollbarStyle.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/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/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/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.js +12 -2
- package/dist/renderer/JsxRenderer.js.map +1 -1
- package/dist/ssr-dom-shim.js +51 -1
- package/dist/ssr-dom-shim.js.map +1 -1
- package/dist/thirdparty/preact/jsx.d.ts +1 -1
- package/dist/thirdparty/preact/jsxRuntime.module.d.ts +3 -3
- package/dist/thirdparty/preact/jsxRuntime.module.js +0 -1
- package/dist/thirdparty/preact/preact.module.js +1 -2
- 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/util/ColorConversion.js +24 -22
- package/dist/util/ColorConversion.js.map +1 -1
- package/dist/util/FocusableElements.js +28 -2
- 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/dragAndDrop/findClosestPosition.d.ts +2 -1
- package/dist/util/dragAndDrop/findClosestPosition.js +45 -41
- package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -1
- package/dist/util/getClassCopy.d.ts +4 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +1 -1
- package/dist/util/getEffectiveScrollbarStyle.js +3 -1
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
- package/dist/util/getFastNavigationGroups.js +6 -1
- package/dist/util/getFastNavigationGroups.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/vscode.html-custom-data.json +22 -0
- package/package-scripts.cjs +4 -4
- package/package.json +12 -7
- package/src/thirdparty/preact/jsxRuntime.module.js +0 -1
- package/src/thirdparty/preact/preact.module.js +1 -2
- package/tsconfig.json +0 -1
- package/cypress/specs/CustomMount.cy.ts +0 -34
- package/index.js +0 -208
- /package/cypress/specs/{Boot.cy.ts → Boot.cy.tsx} +0 -0
- /package/cypress/specs/{ConfigurationChange.cy.ts → ConfigurationChange.cy.tsx} +0 -0
- /package/cypress/specs/{EventProvider.cy.ts → EventProvider.cy.tsx} +0 -0
- /package/cypress/specs/{SystemDOMElements.cy.ts → SystemDOMElements.cy.tsx} +0 -0
- /package/cypress/specs/{Theming.cy.ts → Theming.cy.tsx} +0 -0
|
@@ -224,7 +224,7 @@ const RGBStringToRGBObject = (color) => {
|
|
|
224
224
|
};
|
|
225
225
|
const HSLToRGB = (color) => {
|
|
226
226
|
// Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html
|
|
227
|
-
let saturation = color.s
|
|
227
|
+
let saturation = color.s, lightness = color.l, red, green, blue;
|
|
228
228
|
if (saturation > 100) {
|
|
229
229
|
saturation = 1;
|
|
230
230
|
}
|
|
@@ -243,7 +243,7 @@ const HSLToRGB = (color) => {
|
|
|
243
243
|
else {
|
|
244
244
|
lightness /= 100;
|
|
245
245
|
}
|
|
246
|
-
const hue = color.h, d = saturation * (1 - Math.abs(2 * lightness - 1)), m = 255 * (lightness - 0.5 * d), x = d * (1 - Math.abs(((hue / 60) % 2) - 1)), i = Math.floor(hue / 60), m255x = m + 255 * x, m255d = m + 255 * d;
|
|
246
|
+
const hue = ((color.h % 360) + 360) % 360, d = saturation * (1 - Math.abs(2 * lightness - 1)), m = 255 * (lightness - 0.5 * d), x = d * (1 - Math.abs(((hue / 60) % 2) - 1)), i = Math.floor(hue / 60), m255x = m + 255 * x, m255d = m + 255 * d;
|
|
247
247
|
switch (i) {
|
|
248
248
|
case 0:
|
|
249
249
|
red = m255d;
|
|
@@ -301,8 +301,8 @@ const HEXToRGB = (hex) => {
|
|
|
301
301
|
* @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)
|
|
302
302
|
*/
|
|
303
303
|
const RGBtoHEX = (color) => {
|
|
304
|
-
const hexMap = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "
|
|
305
|
-
let hexValue = "
|
|
304
|
+
const hexMap = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
305
|
+
let hexValue = "";
|
|
306
306
|
let divisionNumber = color.r / 16;
|
|
307
307
|
let remainder = color.r % 16;
|
|
308
308
|
hexValue += String(hexMap[Math.floor(divisionNumber)]);
|
|
@@ -319,29 +319,31 @@ const RGBtoHEX = (color) => {
|
|
|
319
319
|
};
|
|
320
320
|
const RGBToHSL = (color) => {
|
|
321
321
|
const R = color.r / 255, G = color.g / 255, B = color.b / 255, max = Math.max(R, G, B), min = Math.min(R, G, B), delta = max - min;
|
|
322
|
-
let h =
|
|
323
|
-
|
|
324
|
-
|
|
322
|
+
let h = (max + min) / 2;
|
|
323
|
+
let s = (max + min) / 2;
|
|
324
|
+
let l = (max + min) / 2;
|
|
325
|
+
if (max === min) {
|
|
325
326
|
h = 0;
|
|
326
|
-
}
|
|
327
|
-
else if (max === R) {
|
|
328
|
-
h = 60 * (((G - B) / delta) % 6);
|
|
329
|
-
}
|
|
330
|
-
else if (max === G) {
|
|
331
|
-
h = 60 * (((B - R) / delta) + 2);
|
|
332
|
-
}
|
|
333
|
-
else if (max === B) {
|
|
334
|
-
h = 60 * (((R - G) / delta) + 4);
|
|
335
|
-
}
|
|
336
|
-
// Lightness calculation
|
|
337
|
-
const l = (max + min) / 2;
|
|
338
|
-
// Saturation calculation
|
|
339
|
-
if (delta === 0) {
|
|
340
327
|
s = 0;
|
|
341
328
|
}
|
|
342
329
|
else {
|
|
343
|
-
s = delta / (
|
|
330
|
+
s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);
|
|
331
|
+
switch (max) {
|
|
332
|
+
case R:
|
|
333
|
+
h = (G - B) / delta + (G < B ? 6 : 0);
|
|
334
|
+
break;
|
|
335
|
+
case G:
|
|
336
|
+
h = (B - R) / delta + 2;
|
|
337
|
+
break;
|
|
338
|
+
case B:
|
|
339
|
+
h = (R - G) / delta + 4;
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
h /= 6;
|
|
344
343
|
}
|
|
344
|
+
h = Math.round(h * 360);
|
|
345
|
+
s = Math.round(s * 100);
|
|
346
|
+
l = Math.round(l * 100);
|
|
345
347
|
return {
|
|
346
348
|
h,
|
|
347
349
|
s,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorConversion.js","sourceRoot":"","sources":["../../src/util/ColorConversion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * @param {String} color Color in one of the following formats: RGBA or HEX\n */\n\ntype ColorHSL = {\n\th: number,\n\ts: number,\n\tl: number,\n};\n\ntype ColorRGB = {\n\tr: number,\n\tb: number,\n\tg: number,\n};\n\n/**\n * Map of CSS colors to hex representation\n */\nconst CSSColors = new Map([\n\t[\"aliceblue\", \"f0f8ff\"],\n\t[\"antiquewhite\", \"faebd7\"],\n\t[\"aqua\", \"00ffff\"],\n\t[\"aquamarine\", \"7fffd4\"],\n\t[\"azure\", \"f0ffff\"],\n\t[\"beige\", \"f5f5dc\"],\n\t[\"bisque\", \"ffe4c4\"],\n\t[\"black\", \"000000\"],\n\t[\"blanchedalmond\", \"ffebcd\"],\n\t[\"blue\", \"0000ff\"],\n\t[\"blueviolet\", \"8a2be2\"],\n\t[\"brown\", \"a52a2a\"],\n\t[\"burlywood\", \"deb887\"],\n\t[\"cadetblue\", \"5f9ea0\"],\n\t[\"chartreuse\", \"7fff00\"],\n\t[\"chocolate\", \"d2691e\"],\n\t[\"coral\", \"ff7f50\"],\n\t[\"cornflowerblue\", \"6495ed\"],\n\t[\"cornsilk\", \"fff8dc\"],\n\t[\"crimson\", \"dc143c\"],\n\t[\"cyan\", \"00ffff\"],\n\t[\"darkblue\", \"00008b\"],\n\t[\"darkcyan\", \"008b8b\"],\n\t[\"darkgoldenrod\", \"b8860b\"],\n\t[\"darkgray\", \"a9a9a9\"],\n\t[\"darkgrey\", \"a9a9a9\"],\n\t[\"darkgreen\", \"006400\"],\n\t[\"darkkhaki\", \"bdb76b\"],\n\t[\"darkmagenta\", \"8b008b\"],\n\t[\"darkolivegreen\", \"556b2f\"],\n\t[\"darkorange\", \"ff8c00\"],\n\t[\"darkorchid\", \"9932cc\"],\n\t[\"darkred\", \"8b0000\"],\n\t[\"darksalmon\", \"e9967a\"],\n\t[\"darkseagreen\", \"8fbc8f\"],\n\t[\"darkslateblue\", \"483d8b\"],\n\t[\"darkslategray\", \"2f4f4f\"],\n\t[\"darkslategrey\", \"2f4f4f\"],\n\t[\"darkturquoise\", \"00ced1\"],\n\t[\"darkviolet\", \"9400d3\"],\n\t[\"deeppink\", \"ff1493\"],\n\t[\"deepskyblue\", \"00bfff\"],\n\t[\"dimgray\", \"696969\"],\n\t[\"dimgrey\", \"696969\"],\n\t[\"dodgerblue\", \"1e90ff\"],\n\t[\"firebrick\", \"b22222\"],\n\t[\"floralwhite\", \"fffaf0\"],\n\t[\"forestgreen\", \"228b22\"],\n\t[\"fuchsia\", \"ff00ff\"],\n\t[\"gainsboro\", \"dcdcdc\"],\n\t[\"ghostwhite\", \"f8f8ff\"],\n\t[\"gold\", \"ffd700\"],\n\t[\"goldenrod\", \"daa520\"],\n\t[\"gray\", \"808080\"],\n\t[\"grey\", \"808080\"],\n\t[\"green\", \"008000\"],\n\t[\"greenyellow\", \"adff2f\"],\n\t[\"honeydew\", \"f0fff0\"],\n\t[\"hotpink\", \"ff69b4\"],\n\t[\"indianred\", \"cd5c5c\"],\n\t[\"indigo\", \"4b0082\"],\n\t[\"ivory\", \"fffff0\"],\n\t[\"khaki\", \"f0e68c\"],\n\t[\"lavender\", \"e6e6fa\"],\n\t[\"lavenderblush\", \"fff0f5\"],\n\t[\"lawngreen\", \"7cfc00\"],\n\t[\"lemonchiffon\", \"fffacd\"],\n\t[\"lightblue\", \"add8e6\"],\n\t[\"lightcoral\", \"f08080\"],\n\t[\"lightcyan\", \"e0ffff\"],\n\t[\"lightgoldenrodyellow\", \"fafad2\"],\n\t[\"lightgray\", \"d3d3d3\"],\n\t[\"lightgrey\", \"d3d3d3\"],\n\t[\"lightgreen\", \"90ee90\"],\n\t[\"lightpink\", \"ffb6c1\"],\n\t[\"lightsalmon\", \"ffa07a\"],\n\t[\"lightseagreen\", \"20b2aa\"],\n\t[\"lightskyblue\", \"87cefa\"],\n\t[\"lightslategray\", \"778899\"],\n\t[\"lightslategrey\", \"778899\"],\n\t[\"lightsteelblue\", \"b0c4de\"],\n\t[\"lightyellow\", \"ffffe0\"],\n\t[\"lime\", \"00ff00\"],\n\t[\"limegreen\", \"32cd32\"],\n\t[\"linen\", \"faf0e6\"],\n\t[\"magenta\", \"ff00ff\"],\n\t[\"maroon\", \"800000\"],\n\t[\"mediumaquamarine\", \"66cdaa\"],\n\t[\"mediumblue\", \"0000cd\"],\n\t[\"mediumorchid\", \"ba55d3\"],\n\t[\"mediumpurple\", \"9370db\"],\n\t[\"mediumseagreen\", \"3cb371\"],\n\t[\"mediumslateblue\", \"7b68ee\"],\n\t[\"mediumspringgreen\", \"00fa9a\"],\n\t[\"mediumturquoise\", \"48d1cc\"],\n\t[\"mediumvioletred\", \"c71585\"],\n\t[\"midnightblue\", \"191970\"],\n\t[\"mintcream\", \"f5fffa\"],\n\t[\"mistyrose\", \"ffe4e1\"],\n\t[\"moccasin\", \"ffe4b5\"],\n\t[\"navajowhite\", \"ffdead\"],\n\t[\"navy\", \"000080\"],\n\t[\"oldlace\", \"fdf5e6\"],\n\t[\"olive\", \"808000\"],\n\t[\"olivedrab\", \"6b8e23\"],\n\t[\"orange\", \"ffa500\"],\n\t[\"orangered\", \"ff4500\"],\n\t[\"orchid\", \"da70d6\"],\n\t[\"palegoldenrod\", \"eee8aa\"],\n\t[\"palegreen\", \"98fb98\"],\n\t[\"paleturquoise\", \"afeeee\"],\n\t[\"palevioletred\", \"db7093\"],\n\t[\"papayawhip\", \"ffefd5\"],\n\t[\"peachpuff\", \"ffdab9\"],\n\t[\"peru\", \"cd853f\"],\n\t[\"pink\", \"ffc0cb\"],\n\t[\"plum\", \"dda0dd\"],\n\t[\"powderblue\", \"b0e0e6\"],\n\t[\"purple\", \"800080\"],\n\t[\"red\", \"ff0000\"],\n\t[\"rosybrown\", \"bc8f8f\"],\n\t[\"royalblue\", \"4169e1\"],\n\t[\"saddlebrown\", \"8b4513\"],\n\t[\"salmon\", \"fa8072\"],\n\t[\"sandybrown\", \"f4a460\"],\n\t[\"seagreen\", \"2e8b57\"],\n\t[\"seashell\", \"fff5ee\"],\n\t[\"sienna\", \"a0522d\"],\n\t[\"silver\", \"c0c0c0\"],\n\t[\"skyblue\", \"87ceeb\"],\n\t[\"slateblue\", \"6a5acd\"],\n\t[\"slategray\", \"708090\"],\n\t[\"slategrey\", \"708090\"],\n\t[\"snow\", \"fffafa\"],\n\t[\"springgreen\", \"00ff7f\"],\n\t[\"steelblue\", \"4682b4\"],\n\t[\"tan\", \"d2b48c\"],\n\t[\"teal\", \"008080\"],\n\t[\"thistle\", \"d8bfd8\"],\n\t[\"tomato\", \"ff6347\"],\n\t[\"turquoise\", \"40e0d0\"],\n\t[\"violet\", \"ee82ee\"],\n\t[\"wheat\", \"f5deb3\"],\n\t[\"white\", \"ffffff\"],\n\t[\"whitesmoke\", \"f5f5f5\"],\n\t[\"yellow\", \"ffff00\"],\n\t[\"yellowgreen\", \"9acd32\"],\n\t[\"transparent\", \"00000000\"],\n]);\n\nconst getRGBColor = (color: string): ColorRGB => {\n\tif (color.startsWith(\"rgba\")) {\n\t\treturn RGBAToRGB(color);\n\t}\n\n\tif (color.startsWith(\"rgb\")) {\n\t\treturn RGBStringToRGBObject(color);\n\t}\n\n\t// HEX\n\tif (color.indexOf(\"#\") === 0) {\n\t\t// Shorthand Syntax\n\t\tif (color.length === 4) {\n\t\t\tcolor = `${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n\t\t} else {\n\t\t\tcolor = color.slice(1, color.length);\n\t\t}\n\t}\n\n\t// Css Color\n\tif (CSSColors.has(color)) {\n\t\tcolor = CSSColors.get(color)!;\n\t}\n\n\treturn HEXToRGB(color);\n};\n\nconst getAlpha = (color: string): number => {\n\tlet alpha = 1;\n\n\tif (color.startsWith(\"rgba\") || color.startsWith(\"hsla\")) {\n\t\tconst parts = color.split(\",\");\n\t\tif (parts.length === 4) {\n\t\t\talpha = parseFloat(parts[3].replace(\")\", \"\").trim());\n\t\t}\n\t}\n\n\treturn alpha;\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgba(0, 0, 0, 1)\n */\nconst RGBAToRGB = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, commasIndexes[2]).trim()),\n\t};\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgb(0, 0, 0)\n */\nconst RGBStringToRGBObject = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tclosingBraketIndex = color.indexOf(\")\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, closingBraketIndex).trim()),\n\t};\n};\n\nconst HSLToRGB = (color: ColorHSL): ColorRGB => {\n\t// Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html\n\tlet saturation = color.s * 100,\n\t\tlightness = color.l * 100,\n\t\tred,\n\t\tgreen,\n\t\tblue;\n\n\tif (saturation > 100) {\n\t\tsaturation = 1;\n\t} else if (saturation < 0) {\n\t\tsaturation = 0;\n\t} else {\n\t\tsaturation /= 100;\n\t}\n\n\tif (lightness > 100) {\n\t\tlightness = 1;\n\t} else if (lightness < 0) {\n\t\tlightness = 0;\n\t} else {\n\t\tlightness /= 100;\n\t}\n\n\tconst hue = color.h,\n\t\td = saturation * (1 - Math.abs(2 * lightness - 1)),\n\t\tm = 255 * (lightness - 0.5 * d),\n\t\tx = d * (1 - Math.abs(((hue / 60) % 2) - 1)),\n\t\ti = Math.floor(hue / 60),\n\t\tm255x = m + 255 * x,\n\t\tm255d = m + 255 * d;\n\n\tswitch (i) {\n\tcase 0:\n\t\tred = m255d;\n\t\tgreen = m255x;\n\t\tblue = m;\n\t\tbreak;\n\tcase 1:\n\t\tred = m255x;\n\t\tgreen = m255d;\n\t\tblue = m;\n\t\tbreak;\n\tcase 2:\n\t\tred = m;\n\t\tgreen = m255d;\n\t\tblue = m255x;\n\t\tbreak;\n\tcase 3:\n\t\tred = m;\n\t\tgreen = m255x;\n\t\tblue = m255d;\n\t\tbreak;\n\tcase 4:\n\t\tred = m255x;\n\t\tgreen = m;\n\t\tblue = m255d;\n\t\tbreak;\n\tcase 5:\n\t\tred = m255d;\n\t\tgreen = m;\n\t\tblue = m255x;\n\t\tbreak;\n\tdefault:\n\t\tred = 0;\n\t\tgreen = 0;\n\t\tblue = 0;\n\t\tbreak;\n\t}\n\n\treturn {\n\t\tr: Math.round(red),\n\t\tg: Math.round(green),\n\t\tb: Math.round(blue),\n\t};\n};\n\nconst HEXToRGB = (hex: string): ColorRGB => {\n\t// Please make sure you pass a valid 6 digit hex color\n\t// In the implementation of this method we assume that the hex argument is a 6 digit valid hex color\n\n\treturn {\n\t\tr: parseInt(hex.substr(0, 2), 16),\n\t\tg: parseInt(hex.substr(2, 2), 16),\n\t\tb: parseInt(hex.substr(4, 2), 16),\n\t};\n};\n\n/**\n * Returns the hex value of the color as string\n * @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)\n */\nconst RGBtoHEX = (color: ColorRGB): string => {\n\tconst hexMap = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\"];\n\tlet hexValue = \"#\";\n\n\tlet divisionNumber = color.r / 16;\n\tlet remainder = color.r % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.g / 16;\n\tremainder = color.g % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.b / 16;\n\tremainder = color.b % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\treturn hexValue;\n};\n\nconst RGBToHSL = (color: ColorRGB): ColorHSL => {\n\tconst R = color.r / 255,\n\t\tG = color.g / 255,\n\t\tB = color.b / 255,\n\t\tmax = Math.max(R, G, B),\n\t\tmin = Math.min(R, G, B),\n\t\tdelta = max - min;\n\n\tlet h = 0,\n\t\ts;\n\n\t// Hue calculation\n\tif (delta === 0) {\n\t\th = 0;\n\t} else if (max === R) {\n\t\th = 60 * (((G - B) / delta) % 6);\n\t} else if (max === G) {\n\t\th = 60 * (((B - R) / delta) + 2);\n\t} else if (max === B) {\n\t\th = 60 * (((R - G) / delta) + 4);\n\t}\n\n\t// Lightness calculation\n\tconst l = (max + min) / 2;\n\n\t// Saturation calculation\n\tif (delta === 0) {\n\t\ts = 0;\n\t} else {\n\t\ts = delta / (1 - Math.abs(2 * l - 1));\n\t}\n\n\treturn {\n\t\th,\n\t\ts,\n\t\tl,\n\t};\n};\n\nexport {\n\tgetRGBColor,\n\tgetAlpha,\n\tHSLToRGB,\n\tHEXToRGB,\n\tRGBToHSL,\n\tRGBStringToRGBObject,\n\tRGBtoHEX,\n};\n\nexport type {\n\tColorHSL,\n\tColorRGB,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ColorConversion.js","sourceRoot":"","sources":["../../src/util/ColorConversion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * @param {String} color Color in one of the following formats: RGBA or HEX\n */\n\ntype ColorHSL = {\n\th: number,\n\ts: number,\n\tl: number,\n};\n\ntype ColorRGB = {\n\tr: number,\n\tb: number,\n\tg: number,\n};\n\n/**\n * Map of CSS colors to hex representation\n */\nconst CSSColors = new Map([\n\t[\"aliceblue\", \"f0f8ff\"],\n\t[\"antiquewhite\", \"faebd7\"],\n\t[\"aqua\", \"00ffff\"],\n\t[\"aquamarine\", \"7fffd4\"],\n\t[\"azure\", \"f0ffff\"],\n\t[\"beige\", \"f5f5dc\"],\n\t[\"bisque\", \"ffe4c4\"],\n\t[\"black\", \"000000\"],\n\t[\"blanchedalmond\", \"ffebcd\"],\n\t[\"blue\", \"0000ff\"],\n\t[\"blueviolet\", \"8a2be2\"],\n\t[\"brown\", \"a52a2a\"],\n\t[\"burlywood\", \"deb887\"],\n\t[\"cadetblue\", \"5f9ea0\"],\n\t[\"chartreuse\", \"7fff00\"],\n\t[\"chocolate\", \"d2691e\"],\n\t[\"coral\", \"ff7f50\"],\n\t[\"cornflowerblue\", \"6495ed\"],\n\t[\"cornsilk\", \"fff8dc\"],\n\t[\"crimson\", \"dc143c\"],\n\t[\"cyan\", \"00ffff\"],\n\t[\"darkblue\", \"00008b\"],\n\t[\"darkcyan\", \"008b8b\"],\n\t[\"darkgoldenrod\", \"b8860b\"],\n\t[\"darkgray\", \"a9a9a9\"],\n\t[\"darkgrey\", \"a9a9a9\"],\n\t[\"darkgreen\", \"006400\"],\n\t[\"darkkhaki\", \"bdb76b\"],\n\t[\"darkmagenta\", \"8b008b\"],\n\t[\"darkolivegreen\", \"556b2f\"],\n\t[\"darkorange\", \"ff8c00\"],\n\t[\"darkorchid\", \"9932cc\"],\n\t[\"darkred\", \"8b0000\"],\n\t[\"darksalmon\", \"e9967a\"],\n\t[\"darkseagreen\", \"8fbc8f\"],\n\t[\"darkslateblue\", \"483d8b\"],\n\t[\"darkslategray\", \"2f4f4f\"],\n\t[\"darkslategrey\", \"2f4f4f\"],\n\t[\"darkturquoise\", \"00ced1\"],\n\t[\"darkviolet\", \"9400d3\"],\n\t[\"deeppink\", \"ff1493\"],\n\t[\"deepskyblue\", \"00bfff\"],\n\t[\"dimgray\", \"696969\"],\n\t[\"dimgrey\", \"696969\"],\n\t[\"dodgerblue\", \"1e90ff\"],\n\t[\"firebrick\", \"b22222\"],\n\t[\"floralwhite\", \"fffaf0\"],\n\t[\"forestgreen\", \"228b22\"],\n\t[\"fuchsia\", \"ff00ff\"],\n\t[\"gainsboro\", \"dcdcdc\"],\n\t[\"ghostwhite\", \"f8f8ff\"],\n\t[\"gold\", \"ffd700\"],\n\t[\"goldenrod\", \"daa520\"],\n\t[\"gray\", \"808080\"],\n\t[\"grey\", \"808080\"],\n\t[\"green\", \"008000\"],\n\t[\"greenyellow\", \"adff2f\"],\n\t[\"honeydew\", \"f0fff0\"],\n\t[\"hotpink\", \"ff69b4\"],\n\t[\"indianred\", \"cd5c5c\"],\n\t[\"indigo\", \"4b0082\"],\n\t[\"ivory\", \"fffff0\"],\n\t[\"khaki\", \"f0e68c\"],\n\t[\"lavender\", \"e6e6fa\"],\n\t[\"lavenderblush\", \"fff0f5\"],\n\t[\"lawngreen\", \"7cfc00\"],\n\t[\"lemonchiffon\", \"fffacd\"],\n\t[\"lightblue\", \"add8e6\"],\n\t[\"lightcoral\", \"f08080\"],\n\t[\"lightcyan\", \"e0ffff\"],\n\t[\"lightgoldenrodyellow\", \"fafad2\"],\n\t[\"lightgray\", \"d3d3d3\"],\n\t[\"lightgrey\", \"d3d3d3\"],\n\t[\"lightgreen\", \"90ee90\"],\n\t[\"lightpink\", \"ffb6c1\"],\n\t[\"lightsalmon\", \"ffa07a\"],\n\t[\"lightseagreen\", \"20b2aa\"],\n\t[\"lightskyblue\", \"87cefa\"],\n\t[\"lightslategray\", \"778899\"],\n\t[\"lightslategrey\", \"778899\"],\n\t[\"lightsteelblue\", \"b0c4de\"],\n\t[\"lightyellow\", \"ffffe0\"],\n\t[\"lime\", \"00ff00\"],\n\t[\"limegreen\", \"32cd32\"],\n\t[\"linen\", \"faf0e6\"],\n\t[\"magenta\", \"ff00ff\"],\n\t[\"maroon\", \"800000\"],\n\t[\"mediumaquamarine\", \"66cdaa\"],\n\t[\"mediumblue\", \"0000cd\"],\n\t[\"mediumorchid\", \"ba55d3\"],\n\t[\"mediumpurple\", \"9370db\"],\n\t[\"mediumseagreen\", \"3cb371\"],\n\t[\"mediumslateblue\", \"7b68ee\"],\n\t[\"mediumspringgreen\", \"00fa9a\"],\n\t[\"mediumturquoise\", \"48d1cc\"],\n\t[\"mediumvioletred\", \"c71585\"],\n\t[\"midnightblue\", \"191970\"],\n\t[\"mintcream\", \"f5fffa\"],\n\t[\"mistyrose\", \"ffe4e1\"],\n\t[\"moccasin\", \"ffe4b5\"],\n\t[\"navajowhite\", \"ffdead\"],\n\t[\"navy\", \"000080\"],\n\t[\"oldlace\", \"fdf5e6\"],\n\t[\"olive\", \"808000\"],\n\t[\"olivedrab\", \"6b8e23\"],\n\t[\"orange\", \"ffa500\"],\n\t[\"orangered\", \"ff4500\"],\n\t[\"orchid\", \"da70d6\"],\n\t[\"palegoldenrod\", \"eee8aa\"],\n\t[\"palegreen\", \"98fb98\"],\n\t[\"paleturquoise\", \"afeeee\"],\n\t[\"palevioletred\", \"db7093\"],\n\t[\"papayawhip\", \"ffefd5\"],\n\t[\"peachpuff\", \"ffdab9\"],\n\t[\"peru\", \"cd853f\"],\n\t[\"pink\", \"ffc0cb\"],\n\t[\"plum\", \"dda0dd\"],\n\t[\"powderblue\", \"b0e0e6\"],\n\t[\"purple\", \"800080\"],\n\t[\"red\", \"ff0000\"],\n\t[\"rosybrown\", \"bc8f8f\"],\n\t[\"royalblue\", \"4169e1\"],\n\t[\"saddlebrown\", \"8b4513\"],\n\t[\"salmon\", \"fa8072\"],\n\t[\"sandybrown\", \"f4a460\"],\n\t[\"seagreen\", \"2e8b57\"],\n\t[\"seashell\", \"fff5ee\"],\n\t[\"sienna\", \"a0522d\"],\n\t[\"silver\", \"c0c0c0\"],\n\t[\"skyblue\", \"87ceeb\"],\n\t[\"slateblue\", \"6a5acd\"],\n\t[\"slategray\", \"708090\"],\n\t[\"slategrey\", \"708090\"],\n\t[\"snow\", \"fffafa\"],\n\t[\"springgreen\", \"00ff7f\"],\n\t[\"steelblue\", \"4682b4\"],\n\t[\"tan\", \"d2b48c\"],\n\t[\"teal\", \"008080\"],\n\t[\"thistle\", \"d8bfd8\"],\n\t[\"tomato\", \"ff6347\"],\n\t[\"turquoise\", \"40e0d0\"],\n\t[\"violet\", \"ee82ee\"],\n\t[\"wheat\", \"f5deb3\"],\n\t[\"white\", \"ffffff\"],\n\t[\"whitesmoke\", \"f5f5f5\"],\n\t[\"yellow\", \"ffff00\"],\n\t[\"yellowgreen\", \"9acd32\"],\n\t[\"transparent\", \"00000000\"],\n]);\n\nconst getRGBColor = (color: string): ColorRGB => {\n\tif (color.startsWith(\"rgba\")) {\n\t\treturn RGBAToRGB(color);\n\t}\n\n\tif (color.startsWith(\"rgb\")) {\n\t\treturn RGBStringToRGBObject(color);\n\t}\n\n\t// HEX\n\tif (color.indexOf(\"#\") === 0) {\n\t\t// Shorthand Syntax\n\t\tif (color.length === 4) {\n\t\t\tcolor = `${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n\t\t} else {\n\t\t\tcolor = color.slice(1, color.length);\n\t\t}\n\t}\n\n\t// Css Color\n\tif (CSSColors.has(color)) {\n\t\tcolor = CSSColors.get(color)!;\n\t}\n\n\treturn HEXToRGB(color);\n};\n\nconst getAlpha = (color: string): number => {\n\tlet alpha = 1;\n\n\tif (color.startsWith(\"rgba\") || color.startsWith(\"hsla\")) {\n\t\tconst parts = color.split(\",\");\n\t\tif (parts.length === 4) {\n\t\t\talpha = parseFloat(parts[3].replace(\")\", \"\").trim());\n\t\t}\n\t}\n\n\treturn alpha;\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgba(0, 0, 0, 1)\n */\nconst RGBAToRGB = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, commasIndexes[2]).trim()),\n\t};\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgb(0, 0, 0)\n */\nconst RGBStringToRGBObject = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tclosingBraketIndex = color.indexOf(\")\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, closingBraketIndex).trim()),\n\t};\n};\n\nconst HSLToRGB = (color: ColorHSL): ColorRGB => {\n\t// Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html\n\tlet saturation = color.s,\n\t\tlightness = color.l,\n\t\tred,\n\t\tgreen,\n\t\tblue;\n\n\tif (saturation > 100) {\n\t\tsaturation = 1;\n\t} else if (saturation < 0) {\n\t\tsaturation = 0;\n\t} else {\n\t\tsaturation /= 100;\n\t}\n\n\tif (lightness > 100) {\n\t\tlightness = 1;\n\t} else if (lightness < 0) {\n\t\tlightness = 0;\n\t} else {\n\t\tlightness /= 100;\n\t}\n\n\tconst hue = ((color.h % 360) + 360) % 360,\n\t\td = saturation * (1 - Math.abs(2 * lightness - 1)),\n\t\tm = 255 * (lightness - 0.5 * d),\n\t\tx = d * (1 - Math.abs(((hue / 60) % 2) - 1)),\n\t\ti = Math.floor(hue / 60),\n\t\tm255x = m + 255 * x,\n\t\tm255d = m + 255 * d;\n\n\tswitch (i) {\n\tcase 0:\n\t\tred = m255d;\n\t\tgreen = m255x;\n\t\tblue = m;\n\t\tbreak;\n\tcase 1:\n\t\tred = m255x;\n\t\tgreen = m255d;\n\t\tblue = m;\n\t\tbreak;\n\tcase 2:\n\t\tred = m;\n\t\tgreen = m255d;\n\t\tblue = m255x;\n\t\tbreak;\n\tcase 3:\n\t\tred = m;\n\t\tgreen = m255x;\n\t\tblue = m255d;\n\t\tbreak;\n\tcase 4:\n\t\tred = m255x;\n\t\tgreen = m;\n\t\tblue = m255d;\n\t\tbreak;\n\tcase 5:\n\t\tred = m255d;\n\t\tgreen = m;\n\t\tblue = m255x;\n\t\tbreak;\n\tdefault:\n\t\tred = 0;\n\t\tgreen = 0;\n\t\tblue = 0;\n\t\tbreak;\n\t}\n\n\treturn {\n\t\tr: Math.round(red),\n\t\tg: Math.round(green),\n\t\tb: Math.round(blue),\n\t};\n};\n\nconst HEXToRGB = (hex: string): ColorRGB => {\n\t// Please make sure you pass a valid 6 digit hex color\n\t// In the implementation of this method we assume that the hex argument is a 6 digit valid hex color\n\n\treturn {\n\t\tr: parseInt(hex.substr(0, 2), 16),\n\t\tg: parseInt(hex.substr(2, 2), 16),\n\t\tb: parseInt(hex.substr(4, 2), 16),\n\t};\n};\n\n/**\n * Returns the hex value of the color as string\n * @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)\n */\nconst RGBtoHEX = (color: ColorRGB): string => {\n\tconst hexMap = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\tlet hexValue = \"\";\n\n\tlet divisionNumber = color.r / 16;\n\tlet remainder = color.r % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.g / 16;\n\tremainder = color.g % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.b / 16;\n\tremainder = color.b % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\treturn hexValue;\n};\n\nconst RGBToHSL = (color: ColorRGB): ColorHSL => {\n\tconst R = color.r / 255,\n\t\tG = color.g / 255,\n\t\tB = color.b / 255,\n\t\tmax = Math.max(R, G, B),\n\t\tmin = Math.min(R, G, B),\n\t\tdelta = max - min;\n\n\tlet h = (max + min) / 2;\n\tlet s = (max + min) / 2;\n\tlet l = (max + min) / 2;\n\n\tif (max === min) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n\t\tswitch (max) {\n\t\tcase R:\n\t\t\th = (G - B) / delta + (G < B ? 6 : 0);\n\t\t\tbreak;\n\t\tcase G:\n\t\t\th = (B - R) / delta + 2;\n\t\t\tbreak;\n\t\tcase B:\n\t\t\th = (R - G) / delta + 4;\n\t\t\tbreak;\n\t\t}\n\n\t\th /= 6;\n\t}\n\n\th = Math.round(h * 360);\n\ts = Math.round(s * 100);\n\tl = Math.round(l * 100);\n\n\treturn {\n\t\th,\n\t\ts,\n\t\tl,\n\t};\n};\n\nexport {\n\tgetRGBColor,\n\tgetAlpha,\n\tHSLToRGB,\n\tHEXToRGB,\n\tRGBToHSL,\n\tRGBStringToRGBObject,\n\tRGBtoHEX,\n};\n\nexport type {\n\tColorHSL,\n\tColorRGB,\n};\n"]}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import isElementHidden from "./isElementHidden.js";
|
|
2
2
|
import isElementClickable from "./isElementClickable.js";
|
|
3
3
|
import { instanceOfUI5Element } from "../UI5Element.js";
|
|
4
|
+
import { isSafari } from "../Device.js";
|
|
4
5
|
const isFocusTrap = (el) => {
|
|
5
6
|
return el.hasAttribute("data-ui5-focus-trap");
|
|
6
7
|
};
|
|
8
|
+
const isScrollable = (el) => {
|
|
9
|
+
const computedStyle = getComputedStyle(el);
|
|
10
|
+
return (el.scrollHeight > el.clientHeight && ["scroll", "auto"].indexOf(computedStyle.overflowY) >= 0)
|
|
11
|
+
|| (el.scrollWidth > el.clientWidth && ["scroll", "auto"].indexOf(computedStyle.overflowX) >= 0);
|
|
12
|
+
};
|
|
7
13
|
const getFirstFocusableElement = async (container, startFromContainer) => {
|
|
8
14
|
if (!container || isElementHidden(container)) {
|
|
9
15
|
return null;
|
|
@@ -19,6 +25,15 @@ const getLastFocusableElement = async (container, startFromContainer) => {
|
|
|
19
25
|
const isElemFocusable = (el) => {
|
|
20
26
|
return el.hasAttribute("data-ui5-focus-redirect") || !isElementHidden(el);
|
|
21
27
|
};
|
|
28
|
+
const isUI5ElementWithNegativeTabIndex = (el) => {
|
|
29
|
+
if (instanceOfUI5Element(el)) {
|
|
30
|
+
const tabIndex = el.getAttribute("tabindex");
|
|
31
|
+
if (tabIndex !== null && parseInt(tabIndex) < 0) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
};
|
|
22
37
|
const findFocusableElement = async (container, forward, startFromContainer) => {
|
|
23
38
|
let child;
|
|
24
39
|
let assignedElements;
|
|
@@ -41,9 +56,16 @@ const findFocusableElement = async (container, forward, startFromContainer) => {
|
|
|
41
56
|
/* eslint-disable no-await-in-loop */
|
|
42
57
|
while (child) {
|
|
43
58
|
const originalChild = child;
|
|
44
|
-
if (!isElementHidden(originalChild)) {
|
|
59
|
+
if (!isElementHidden(originalChild) && !isUI5ElementWithNegativeTabIndex(originalChild)) {
|
|
45
60
|
if (instanceOfUI5Element(child)) {
|
|
46
|
-
|
|
61
|
+
// getDomRef is used because some components mark their focusable ref in an inner
|
|
62
|
+
// html but there might also be focusable targets outside of it
|
|
63
|
+
// as an example - TreeItemBase
|
|
64
|
+
// div - root of the component returned by getDomRef()
|
|
65
|
+
// li.ui5-li-tree - returned by getFocusDomRef() and may not be focusable (ItemNavigation manages tabindex)
|
|
66
|
+
// ul.subtree - may still contain focusable targets (sub nodes of the tree item)
|
|
67
|
+
await child._waitForDomRef();
|
|
68
|
+
child = child.getDomRef();
|
|
47
69
|
}
|
|
48
70
|
if (!child || isElementHidden(child)) {
|
|
49
71
|
return null;
|
|
@@ -53,6 +75,10 @@ const findFocusableElement = async (container, forward, startFromContainer) => {
|
|
|
53
75
|
return (child && typeof child.focus === "function") ? child : null;
|
|
54
76
|
}
|
|
55
77
|
focusableDescendant = await findFocusableElement(child, forward);
|
|
78
|
+
// check if it is a keyboard focusable scroll container
|
|
79
|
+
if (!isSafari() && !focusableDescendant && isScrollable(child)) {
|
|
80
|
+
return (child && typeof child.focus === "function") ? child : null;
|
|
81
|
+
}
|
|
56
82
|
if (focusableDescendant) {
|
|
57
83
|
return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
|
|
58
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"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","sourcesContent":["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { isSafari } from \"../Device.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst isScrollable = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowY) >= 0)\n\t\t|| (el.scrollWidth > el.clientWidth && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowX) >= 0);\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst isUI5ElementWithNegativeTabIndex = (el: HTMLElement) => {\n\tif (instanceOfUI5Element(el)) {\n\t\tconst tabIndex = el.getAttribute(\"tabindex\");\n\t\tif (tabIndex !== null && parseInt(tabIndex) < 0) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (!isElementHidden(originalChild) && !isUI5ElementWithNegativeTabIndex(originalChild)) {\n\t\t\tif (instanceOfUI5Element(child)) {\n\t\t\t\t// getDomRef is used because some components mark their focusable ref in an inner\n\t\t\t\t// html but there might also be focusable targets outside of it\n\t\t\t\t// as an example - TreeItemBase\n\t\t\t\t// div - root of the component returned by getDomRef()\n\t\t\t\t// \tli.ui5-li-tree - returned by getFocusDomRef() and may not be focusable (ItemNavigation manages tabindex)\n\t\t\t\t// \tul.subtree - may still contain focusable targets (sub nodes of the tree item)\n\t\t\t\tawait child._waitForDomRef();\n\t\t\t\tchild = child.getDomRef();\n\t\t\t}\n\n\t\t\tif (!child || isElementHidden(child)) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\t\tif (isElementClickable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\n\t\t\t\t// check if it is a keyboard focusable scroll container\n\t\t\t\tif (!isSafari() && !focusableDescendant && isScrollable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tif (focusableDescendant) {\n\t\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/** @ts-expect-error */
|
|
2
2
|
import sanitizeHTML from "../sap/base/security/sanitizeHTML.js";
|
|
3
|
-
|
|
3
|
+
/** @ts-expect-error */
|
|
4
4
|
import URLListValidator from "../sap/base/security/URLListValidator.js";
|
|
5
5
|
export { URLListValidator, sanitizeHTML, };
|
|
6
6
|
//# sourceMappingURL=HTMLSanitizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTMLSanitizer.js","sourceRoot":"","sources":["../../src/util/HTMLSanitizer.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"HTMLSanitizer.js","sourceRoot":"","sources":["../../src/util/HTMLSanitizer.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,uBAAuB;AACvB,OAAO,gBAAgB,MAAM,0CAA0C,CAAC;AAExE,OAAO,EACN,gBAAgB,EAChB,YAAY,GACZ,CAAC","sourcesContent":["/** @ts-expect-error */\nimport sanitizeHTML from \"../sap/base/security/sanitizeHTML.js\";\n/** @ts-expect-error */\nimport URLListValidator from \"../sap/base/security/URLListValidator.js\";\n\nexport {\n\tURLListValidator,\n\tsanitizeHTML,\n};\n"]}
|
|
@@ -8,4 +8,5 @@ declare const findClosestPositionsByKey: (elements: Array<HTMLElement>, element:
|
|
|
8
8
|
element: HTMLElement;
|
|
9
9
|
placement: MovePlacement;
|
|
10
10
|
}[];
|
|
11
|
-
|
|
11
|
+
declare const isMovingKey: (key: string) => boolean;
|
|
12
|
+
export { findClosestPosition, findClosestPositionsByKey, isMovingKey, };
|
|
@@ -55,48 +55,52 @@ const findClosestPosition = (elements, point, layoutOrientation) => {
|
|
|
55
55
|
placements,
|
|
56
56
|
};
|
|
57
57
|
};
|
|
58
|
+
const _moveBackward = (elements, index) => {
|
|
59
|
+
index--;
|
|
60
|
+
if (index < 0) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return [{
|
|
64
|
+
element: elements[index],
|
|
65
|
+
placement: MovePlacement.Before,
|
|
66
|
+
}];
|
|
67
|
+
};
|
|
68
|
+
const _moveForward = (elements, index) => {
|
|
69
|
+
index++;
|
|
70
|
+
if (index >= elements.length) {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
return [{
|
|
74
|
+
element: elements[index],
|
|
75
|
+
placement: MovePlacement.After,
|
|
76
|
+
}];
|
|
77
|
+
};
|
|
78
|
+
const keyToPlacement = {
|
|
79
|
+
ArrowLeft: _moveBackward,
|
|
80
|
+
ArrowUp: _moveBackward,
|
|
81
|
+
ArrowRight: _moveForward,
|
|
82
|
+
ArrowDown: _moveForward,
|
|
83
|
+
Home: (elements, index) => {
|
|
84
|
+
return elements.slice(0, index).map(el => ({
|
|
85
|
+
element: el,
|
|
86
|
+
placement: MovePlacement.Before,
|
|
87
|
+
}));
|
|
88
|
+
},
|
|
89
|
+
End: (elements, index) => {
|
|
90
|
+
return elements.slice(index + 1, elements.length).reverse().map(el => ({
|
|
91
|
+
element: el,
|
|
92
|
+
placement: MovePlacement.After,
|
|
93
|
+
}));
|
|
94
|
+
},
|
|
95
|
+
};
|
|
58
96
|
const findClosestPositionsByKey = (elements, element, e) => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
switch (e.key) {
|
|
62
|
-
case "ArrowLeft":
|
|
63
|
-
case "ArrowUp":
|
|
64
|
-
index--;
|
|
65
|
-
if (index >= 0) {
|
|
66
|
-
positions.push({
|
|
67
|
-
element: elements[index],
|
|
68
|
-
placement: MovePlacement.Before,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
case "ArrowRight":
|
|
73
|
-
case "ArrowDown":
|
|
74
|
-
index++;
|
|
75
|
-
if (index < elements.length) {
|
|
76
|
-
positions.push({
|
|
77
|
-
element: elements[index],
|
|
78
|
-
placement: MovePlacement.After,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
case "Home":
|
|
83
|
-
elements.forEach(el => {
|
|
84
|
-
positions.push({
|
|
85
|
-
element: el,
|
|
86
|
-
placement: MovePlacement.Before,
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
break;
|
|
90
|
-
case "End":
|
|
91
|
-
elements.reverse().forEach(el => {
|
|
92
|
-
positions.push({
|
|
93
|
-
element: el,
|
|
94
|
-
placement: MovePlacement.After,
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
break;
|
|
97
|
+
if (isMovingKey(e.key)) {
|
|
98
|
+
return keyToPlacement[e.key](elements, elements.indexOf(element));
|
|
98
99
|
}
|
|
99
|
-
return
|
|
100
|
+
return [];
|
|
101
|
+
};
|
|
102
|
+
const isMovingKey = (key) => {
|
|
103
|
+
return key in keyToPlacement;
|
|
100
104
|
};
|
|
101
|
-
export { findClosestPosition, findClosestPositionsByKey, };
|
|
105
|
+
export { findClosestPosition, findClosestPositionsByKey, isMovingKey, };
|
|
102
106
|
//# sourceMappingURL=findClosestPosition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findClosestPosition.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/findClosestPosition.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"findClosestPosition.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/findClosestPosition.ts"],"names":[],"mappings":"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","sourcesContent":["import MovePlacement from \"../../types/MovePlacement.js\";\nimport Orientation from \"../../types/Orientation.js\";\n\nconst closestPlacement = (point: number, beforePoint: number, centerPoint: number, afterPoint: number) => {\n\tconst distToBeforePoint = Math.abs(point - beforePoint);\n\tconst distToCenterPoint = Math.abs(point - centerPoint);\n\tconst distToAfterPoint = Math.abs(point - afterPoint);\n\tconst closestPoint = Math.min(\n\t\tdistToBeforePoint,\n\t\tdistToCenterPoint,\n\t\tdistToAfterPoint,\n\t);\n\tlet placements: Array<MovePlacement> = [];\n\n\tswitch (closestPoint) {\n\tcase distToBeforePoint:\n\t\tplacements = [MovePlacement.Before];\n\t\tbreak;\n\tcase distToCenterPoint:\n\t\tplacements = [MovePlacement.On, distToBeforePoint < distToAfterPoint ? MovePlacement.Before : MovePlacement.After];\n\t\tbreak;\n\tcase distToAfterPoint:\n\t\tplacements = [MovePlacement.After];\n\t\tbreak;\n\t}\n\n\treturn placements;\n};\n\nconst findClosestPosition = (elements: Array<HTMLElement>, point: number, layoutOrientation: Orientation) => {\n\tlet shortestDist = Number.POSITIVE_INFINITY;\n\tlet closestElement: HTMLElement | null = null;\n\n\t// determine which element is most closest to the point\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst el = elements[i];\n\t\tconst {\n\t\t\tleft, width, top, height,\n\t\t} = el.getBoundingClientRect();\n\n\t\tlet elemCenter;\n\t\tif (layoutOrientation === Orientation.Vertical) {\n\t\t\telemCenter = top + height / 2;\n\t\t} else { // Horizontal\n\t\t\telemCenter = left + width / 2;\n\t\t}\n\n\t\tconst distanceToCenter = Math.abs(point - elemCenter);\n\n\t\tif (distanceToCenter < shortestDist) {\n\t\t\tshortestDist = distanceToCenter;\n\t\t\tclosestElement = el;\n\t\t}\n\t}\n\n\tif (!closestElement) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\twidth, height, left, right, top, bottom,\n\t} = closestElement.getBoundingClientRect();\n\tlet placements;\n\n\tif (layoutOrientation === Orientation.Vertical) {\n\t\tplacements = closestPlacement(point, top, top + height / 2, bottom);\n\t} else { // Horizontal\n\t\tplacements = closestPlacement(point, left, left + width / 2, right);\n\t}\n\n\treturn {\n\t\telement: closestElement,\n\t\tplacements,\n\t};\n};\n\nconst _moveBackward = (elements: Array<HTMLElement>, index: number) => {\n\tindex--;\n\n\tif (index < 0) {\n\t\treturn [];\n\t}\n\n\treturn [{\n\t\telement: elements[index],\n\t\tplacement: MovePlacement.Before,\n\t}];\n};\n\nconst _moveForward = (elements: Array<HTMLElement>, index: number) => {\n\tindex++;\n\n\tif (index >= elements.length) {\n\t\treturn [];\n\t}\n\n\treturn [{\n\t\telement: elements[index],\n\t\tplacement: MovePlacement.After,\n\t}];\n};\n\nconst keyToPlacement: { [key: string]: (arg1: Array<HTMLElement>, arg2: number) => Array<{element: HTMLElement, placement: MovePlacement}>} = {\n\tArrowLeft: _moveBackward,\n\tArrowUp: _moveBackward,\n\tArrowRight: _moveForward,\n\tArrowDown: _moveForward,\n\tHome: (elements, index) => {\n\t\treturn elements.slice(0, index).map(el => (\n\t\t\t{\n\t\t\t\telement: el,\n\t\t\t\tplacement: MovePlacement.Before,\n\t\t\t}\n\t\t));\n\t},\n\tEnd: (elements, index) => {\n\t\treturn elements.slice(index + 1, elements.length).reverse().map(el => (\n\t\t\t{\n\t\t\t\telement: el,\n\t\t\t\tplacement: MovePlacement.After,\n\t\t\t}\n\t\t));\n\t},\n};\n\nconst findClosestPositionsByKey = (elements: Array<HTMLElement>, element: HTMLElement, e: KeyboardEvent) => {\n\tif (isMovingKey(e.key)) {\n\t\treturn keyToPlacement[e.key](elements, elements.indexOf(element));\n\t}\n\n\treturn [];\n};\n\nconst isMovingKey = (key: string) => {\n\treturn key in keyToPlacement;\n};\n\nexport {\n\tfindClosestPosition,\n\tfindClosestPositionsByKey,\n\tisMovingKey,\n};\n"]}
|
|
@@ -20,6 +20,7 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
20
20
|
_deferredResolve?: import("../types.js").PromiseResolve;
|
|
21
21
|
};
|
|
22
22
|
_doNotSyncAttributes: Set<string>;
|
|
23
|
+
__shouldHydrate: boolean;
|
|
23
24
|
_state: import("../UI5ElementMetadata.js").State;
|
|
24
25
|
_internals: ElementInternals;
|
|
25
26
|
_individualSlot?: string;
|
|
@@ -76,6 +77,7 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
76
77
|
detachComponentStateFinalized(callback: () => void): void;
|
|
77
78
|
readonly effectiveDir: string | undefined;
|
|
78
79
|
readonly isUI5Element: boolean;
|
|
80
|
+
readonly isUI5AbstractElement: boolean;
|
|
79
81
|
readonly classes: import("../types.js").ClassMap;
|
|
80
82
|
readonly accessibilityInfo: import("../types.js").AccessibilityInfo;
|
|
81
83
|
readonly validity: ValidityState;
|
|
@@ -432,6 +434,8 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
432
434
|
fetchCLDR(): Promise<void>;
|
|
433
435
|
asyncFinished: boolean;
|
|
434
436
|
definePromise: Promise<void> | undefined;
|
|
437
|
+
i18nBundleStorage: Record<string, import("../i18nBundle.js").default>;
|
|
438
|
+
readonly i18nBundles: Record<string, import("../i18nBundle.js").default>;
|
|
435
439
|
define(): typeof UI5Element;
|
|
436
440
|
getMetadata(): import("../UI5ElementMetadata.js").default;
|
|
437
441
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const getEffectiveScrollbarStyle: () => "" | "::-webkit-scrollbar:horizontal {\n\theight: var(--sapScrollBar_Dimension);\n}\n\n::-webkit-scrollbar:vertical {\n\twidth: var(--sapScrollBar_Dimension);\n}\n\n::-webkit-scrollbar {\n\tbackground-color: var(--sapScrollBar_TrackColor);\n\tborder-left: none;\n}\n\n::-webkit-scrollbar-thumb {\n\tborder-radius: var(--sapElement_BorderCornerRadius);\n\tbackground-color: var(--sapScrollBar_FaceColor);\n}\n\n::-webkit-scrollbar-thumb:hover {\n\tbackground-color: var(--sapScrollBar_Hover_FaceColor);\n}\n\n::-webkit-scrollbar-corner {\n\tbackground-color: var(--sapScrollBar_TrackColor);\n}";
|
|
1
|
+
declare const getEffectiveScrollbarStyle: () => "" | "\n::-webkit-scrollbar:horizontal {\n\theight: var(--sapScrollBar_Dimension);\n}\n\n::-webkit-scrollbar:vertical {\n\twidth: var(--sapScrollBar_Dimension);\n}\n\n::-webkit-scrollbar {\n\tbackground-color: var(--sapScrollBar_TrackColor);\n\tborder-left: none;\n}\n\n::-webkit-scrollbar-thumb {\n\tborder-radius: var(--sapElement_BorderCornerRadius);\n\tbackground-color: var(--sapScrollBar_FaceColor);\n\tborder: 0.125rem solid var(--sapScrollBar_TrackColor);\n}\n\n::-webkit-scrollbar-thumb:hover {\n\tbackground-color: var(--sapScrollBar_Hover_FaceColor);\n}\n\n::-webkit-scrollbar-corner {\n\tbackground-color: var(--sapScrollBar_TrackColor);\n}";
|
|
2
2
|
export default getEffectiveScrollbarStyle;
|
|
@@ -4,7 +4,8 @@ const getEffectiveScrollbarStyle = () => {
|
|
|
4
4
|
if (isSSR || document.body.classList.contains(NO_SCROLLBAR_STYLE_CLASS)) {
|
|
5
5
|
return "";
|
|
6
6
|
}
|
|
7
|
-
return
|
|
7
|
+
return `
|
|
8
|
+
::-webkit-scrollbar:horizontal {
|
|
8
9
|
height: var(--sapScrollBar_Dimension);
|
|
9
10
|
}
|
|
10
11
|
|
|
@@ -20,6 +21,7 @@ const getEffectiveScrollbarStyle = () => {
|
|
|
20
21
|
::-webkit-scrollbar-thumb {
|
|
21
22
|
border-radius: var(--sapElement_BorderCornerRadius);
|
|
22
23
|
background-color: var(--sapScrollBar_FaceColor);
|
|
24
|
+
border: 0.125rem solid var(--sapScrollBar_TrackColor);
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
::-webkit-scrollbar-thumb:hover {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEffectiveScrollbarStyle.js","sourceRoot":"","sources":["../../src/util/getEffectiveScrollbarStyle.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AACjE,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;AAE9C,MAAM,0BAA0B,GAAG,GAAG,EAAE;IACvC,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO
|
|
1
|
+
{"version":3,"file":"getEffectiveScrollbarStyle.js","sourceRoot":"","sources":["../../src/util/getEffectiveScrollbarStyle.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AACjE,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;AAE9C,MAAM,0BAA0B,GAAG,GAAG,EAAE;IACvC,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["const NO_SCROLLBAR_STYLE_CLASS = \"ui5-content-native-scrollbars\";\nconst isSSR = typeof document === \"undefined\";\n\nconst getEffectiveScrollbarStyle = () => {\n\tif (isSSR || document.body.classList.contains(NO_SCROLLBAR_STYLE_CLASS)) {\n\t\treturn \"\";\n\t}\n\n\treturn `\n::-webkit-scrollbar:horizontal {\n\theight: var(--sapScrollBar_Dimension);\n}\n\n::-webkit-scrollbar:vertical {\n\twidth: var(--sapScrollBar_Dimension);\n}\n\n::-webkit-scrollbar {\n\tbackground-color: var(--sapScrollBar_TrackColor);\n\tborder-left: none;\n}\n\n::-webkit-scrollbar-thumb {\n\tborder-radius: var(--sapElement_BorderCornerRadius);\n\tbackground-color: var(--sapScrollBar_FaceColor);\n\tborder: 0.125rem solid var(--sapScrollBar_TrackColor);\n}\n\n::-webkit-scrollbar-thumb:hover {\n\tbackground-color: var(--sapScrollBar_Hover_FaceColor);\n}\n\n::-webkit-scrollbar-corner {\n\tbackground-color: var(--sapScrollBar_TrackColor);\n}`;\n};\n\nexport default getEffectiveScrollbarStyle;\n"]}
|
|
@@ -39,7 +39,12 @@ const findFastNavigationGroups = (container, startFromContainer) => {
|
|
|
39
39
|
if (child.nodeType === 1) {
|
|
40
40
|
findFastNavigationGroups(child, false);
|
|
41
41
|
}
|
|
42
|
-
child
|
|
42
|
+
if (child === container) {
|
|
43
|
+
child = assignedElements && assignedElements.length ? assignedElements[++index] : null;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
child = assignedElements && assignedElements.length ? assignedElements[++index] : originalChild.nextElementSibling;
|
|
47
|
+
}
|
|
43
48
|
}
|
|
44
49
|
};
|
|
45
50
|
const getFastNavigationGroups = (container) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFastNavigationGroups.js","sourceRoot":"","sources":["../../src/util/getFastNavigationGroups.ts"],"names":[],"mappings":"AAAA,IAAI,MAAM,GAAuB,EAAE,CAAC;AAEpC,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,OAAO,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE1C,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK;WACxB,KAAK,CAAC,MAAM,KAAK,KAAK;WACtB,KAAK,CAAC,OAAO,KAAK,GAAG;WACrB,KAAK,CAAC,OAAO,KAAK,MAAM;WACxB,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAsB,EAAE,kBAA4B,EAAE,EAAE;IACzF,IAAI,KAAK,EACR,gBAAgB,EAChB,KAAK,GAAG,CAAC,CAAC;IAEX,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO;IACR,CAAC;IAED,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;SAAM,IAAI,SAAS,YAAY,eAAe,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9E,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7C,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC/B,KAAK,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,EAAE,CAAC;QACd,MAAM,aAAa,GAAgB,KAAoB,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,CAAC,KAAoB,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"getFastNavigationGroups.js","sourceRoot":"","sources":["../../src/util/getFastNavigationGroups.ts"],"names":[],"mappings":"AAAA,IAAI,MAAM,GAAuB,EAAE,CAAC;AAEpC,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,OAAO,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE1C,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK;WACxB,KAAK,CAAC,MAAM,KAAK,KAAK;WACtB,KAAK,CAAC,OAAO,KAAK,GAAG;WACrB,KAAK,CAAC,OAAO,KAAK,MAAM;WACxB,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAsB,EAAE,kBAA4B,EAAE,EAAE;IACzF,IAAI,KAAK,EACR,gBAAgB,EAChB,KAAK,GAAG,CAAC,CAAC;IAEX,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO;IACR,CAAC;IAED,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;SAAM,IAAI,SAAS,YAAY,eAAe,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9E,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7C,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC/B,KAAK,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,EAAE,CAAC;QACd,MAAM,aAAa,GAAgB,KAAoB,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,CAAC,KAAoB,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC;QACpH,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,SAAsB,EAAE,EAAE;IAC1D,MAAM,GAAG,EAAE,CAAC;IAEZ,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC","sourcesContent":["let groups: Array<HTMLElement> = [];\n\nconst isFastNavGroupElemenet = (el: HTMLElement) => {\n\treturn el.getAttribute(\"data-sap-ui-fastnavgroup\") === \"true\";\n};\n\nconst isElementVisible = (el: HTMLElement) => {\n\tconst style = window.getComputedStyle(el);\n\n\treturn style.width !== \"0px\"\n\t\t&& style.height !== \"0px\"\n\t\t&& style.opacity !== \"0\"\n\t\t&& style.display !== \"none\"\n\t\t&& style.visibility !== \"hidden\";\n};\n\nconst findFastNavigationGroups = (container: HTMLElement, startFromContainer?: boolean) => {\n\tlet child,\n\t\tassignedElements,\n\t\tindex = 0;\n\n\tif (!isElementVisible(container)) {\n\t\treturn;\n\t}\n\n\tif (isFastNavGroupElemenet(container)) {\n\t\tgroups.push(container);\n\t}\n\n\tif (container.shadowRoot) {\n\t\tchild = container.shadowRoot.firstChild;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tchild = assignedElements[0];\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = container.firstElementChild;\n\t}\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement = child as HTMLElement;\n\t\tif (!child) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (child.nodeType === 1) {\n\t\t\tfindFastNavigationGroups(child as HTMLElement, false);\n\t\t}\n\n\t\tif (child === container) {\n\t\t\tchild = assignedElements && assignedElements.length ? assignedElements[++index] : null;\n\t\t} else {\n\t\t\tchild = assignedElements && assignedElements.length ? assignedElements[++index] : originalChild.nextElementSibling;\n\t\t}\n\t}\n};\n\nconst getFastNavigationGroups = (container: HTMLElement) => {\n\tgroups = [];\n\n\tfindFastNavigationGroups(container, true);\n\n\treturn groups;\n};\n\nexport default getFastNavigationGroups;\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function throttle(func, delay) {
|
|
2
|
+
let lastArgs = null; // used to ensure an explicit last call after the delay
|
|
3
|
+
let throttleTimeout = null;
|
|
4
|
+
return function throttled(...args) {
|
|
5
|
+
if (throttleTimeout) {
|
|
6
|
+
lastArgs = args;
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
func(...args);
|
|
10
|
+
throttleTimeout = setTimeout(() => {
|
|
11
|
+
if (lastArgs) {
|
|
12
|
+
func(...lastArgs);
|
|
13
|
+
lastArgs = null;
|
|
14
|
+
}
|
|
15
|
+
throttleTimeout = null;
|
|
16
|
+
}, delay);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export default throttle;
|
|
20
|
+
//# sourceMappingURL=throttle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/util/throttle.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,IAAgB,EAAE,KAAa;IAChD,IAAI,QAAQ,GAAc,IAAI,CAAC,CAAC,uDAAuD;IACvF,IAAI,eAAe,GAAmB,IAAI,CAAC;IAE3C,OAAO,SAAS,SAAS,CAAC,GAAG,IAAI;QAChC,IAAI,eAAe,EAAE,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,eAAe,GAAG,IAAI,CAAC;QACxB,CAAC,EAAE,KAAK,CAAC,CAAC;IACX,CAAC,CAAC;AACH,CAAC;AAED,eAAe,QAAQ,CAAC","sourcesContent":["import type { Timeout } from \"../types.js\";\n\nfunction throttle(func: () => void, delay: number): () => void {\n\tlet lastArgs: [] | null = null; // used to ensure an explicit last call after the delay\n\tlet throttleTimeout: Timeout | null = null;\n\n\treturn function throttled(...args) {\n\t\tif (throttleTimeout) {\n\t\t\tlastArgs = args;\n\t\t\treturn;\n\t\t}\n\n\t\tfunc(...args);\n\t\tthrottleTimeout = setTimeout(() => {\n\t\t\tif (lastArgs) {\n\t\t\t\tfunc(...lastArgs);\n\t\t\t\tlastArgs = null;\n\t\t\t}\n\t\t\tthrottleTimeout = null;\n\t\t}, delay);\n\t};\n}\n\nexport default throttle;\n"]}
|