@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
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const u=new Map([["aliceblue","f0f8ff"],["antiquewhite","faebd7"],["aqua","00ffff"],["aquamarine","7fffd4"],["azure","f0ffff"],["beige","f5f5dc"],["bisque","ffe4c4"],["black","000000"],["blanchedalmond","ffebcd"],["blue","0000ff"],["blueviolet","8a2be2"],["brown","a52a2a"],["burlywood","deb887"],["cadetblue","5f9ea0"],["chartreuse","7fff00"],["chocolate","d2691e"],["coral","ff7f50"],["cornflowerblue","6495ed"],["cornsilk","fff8dc"],["crimson","dc143c"],["cyan","00ffff"],["darkblue","00008b"],["darkcyan","008b8b"],["darkgoldenrod","b8860b"],["darkgray","a9a9a9"],["darkgrey","a9a9a9"],["darkgreen","006400"],["darkkhaki","bdb76b"],["darkmagenta","8b008b"],["darkolivegreen","556b2f"],["darkorange","ff8c00"],["darkorchid","9932cc"],["darkred","8b0000"],["darksalmon","e9967a"],["darkseagreen","8fbc8f"],["darkslateblue","483d8b"],["darkslategray","2f4f4f"],["darkslategrey","2f4f4f"],["darkturquoise","00ced1"],["darkviolet","9400d3"],["deeppink","ff1493"],["deepskyblue","00bfff"],["dimgray","696969"],["dimgrey","696969"],["dodgerblue","1e90ff"],["firebrick","b22222"],["floralwhite","fffaf0"],["forestgreen","228b22"],["fuchsia","ff00ff"],["gainsboro","dcdcdc"],["ghostwhite","f8f8ff"],["gold","ffd700"],["goldenrod","daa520"],["gray","808080"],["grey","808080"],["green","008000"],["greenyellow","adff2f"],["honeydew","f0fff0"],["hotpink","ff69b4"],["indianred","cd5c5c"],["indigo","4b0082"],["ivory","fffff0"],["khaki","f0e68c"],["lavender","e6e6fa"],["lavenderblush","fff0f5"],["lawngreen","7cfc00"],["lemonchiffon","fffacd"],["lightblue","add8e6"],["lightcoral","f08080"],["lightcyan","e0ffff"],["lightgoldenrodyellow","fafad2"],["lightgray","d3d3d3"],["lightgrey","d3d3d3"],["lightgreen","90ee90"],["lightpink","ffb6c1"],["lightsalmon","ffa07a"],["lightseagreen","20b2aa"],["lightskyblue","87cefa"],["lightslategray","778899"],["lightslategrey","778899"],["lightsteelblue","b0c4de"],["lightyellow","ffffe0"],["lime","00ff00"],["limegreen","32cd32"],["linen","faf0e6"],["magenta","ff00ff"],["maroon","800000"],["mediumaquamarine","66cdaa"],["mediumblue","0000cd"],["mediumorchid","ba55d3"],["mediumpurple","9370db"],["mediumseagreen","3cb371"],["mediumslateblue","7b68ee"],["mediumspringgreen","00fa9a"],["mediumturquoise","48d1cc"],["mediumvioletred","c71585"],["midnightblue","191970"],["mintcream","f5fffa"],["mistyrose","ffe4e1"],["moccasin","ffe4b5"],["navajowhite","ffdead"],["navy","000080"],["oldlace","fdf5e6"],["olive","808000"],["olivedrab","6b8e23"],["orange","ffa500"],["orangered","ff4500"],["orchid","da70d6"],["palegoldenrod","eee8aa"],["palegreen","98fb98"],["paleturquoise","afeeee"],["palevioletred","db7093"],["papayawhip","ffefd5"],["peachpuff","ffdab9"],["peru","cd853f"],["pink","ffc0cb"],["plum","dda0dd"],["powderblue","b0e0e6"],["purple","800080"],["red","ff0000"],["rosybrown","bc8f8f"],["royalblue","4169e1"],["saddlebrown","8b4513"],["salmon","fa8072"],["sandybrown","f4a460"],["seagreen","2e8b57"],["seashell","fff5ee"],["sienna","a0522d"],["silver","c0c0c0"],["skyblue","87ceeb"],["slateblue","6a5acd"],["slategray","708090"],["slategrey","708090"],["snow","fffafa"],["springgreen","00ff7f"],["steelblue","4682b4"],["tan","d2b48c"],["teal","008080"],["thistle","d8bfd8"],["tomato","ff6347"],["turquoise","40e0d0"],["violet","ee82ee"],["wheat","f5deb3"],["white","ffffff"],["whitesmoke","f5f5f5"],["yellow","ffff00"],["yellowgreen","9acd32"],["transparent","00000000"]]),m=e=>e.startsWith("rgba")?k(e):e.startsWith("rgb")?h(e):(e.indexOf("#")===0&&(e.length===4?e=`${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:e=e.slice(1,e.length)),u.has(e)&&(e=u.get(e)),o(e)),p=e=>{let t=1;if(e.startsWith("rgba")||e.startsWith("hsla")){const a=e.split(",");a.length===4&&(t=parseFloat(a[3].replace(")","").trim()))}return t},k=e=>{const t=e.indexOf("("),a=[];for(let f=0;f<e.length;f++)e[f]===","&&a.push(f);return{r:parseInt(e.slice(t+1,a[0]).trim()),g:parseInt(e.slice(a[0]+1,a[1]).trim()),b:parseInt(e.slice(a[1]+1,a[2]).trim())}},h=e=>{const t=e.indexOf("("),a=e.indexOf(")"),f=[];for(let r=0;r<e.length;r++)e[r]===","&&f.push(r);return{r:parseInt(e.slice(t+1,f[0]).trim()),g:parseInt(e.slice(f[0]+1,f[1]).trim()),b:parseInt(e.slice(f[1]+1,a).trim())}},y=e=>{let t=e.s,a=e.l,f,r,n;t>100?t=1:t<0?t=0:t/=100,a>100?a=1:a<0?a=0:a/=100;const s=(e.h%360+360)%360,d=t*(1-Math.abs(2*a-1)),i=255*(a-.5*d),l=d*(1-Math.abs(s/60%2-1)),c=Math.floor(s/60),b=i+255*l,g=i+255*d;switch(c){case 0:f=g,r=b,n=i;break;case 1:f=b,r=g,n=i;break;case 2:f=i,r=g,n=b;break;case 3:f=i,r=b,n=g;break;case 4:f=b,r=i,n=g;break;case 5:f=g,r=i,n=b;break;default:f=0,r=0,n=0;break}return{r:Math.round(f),g:Math.round(r),b:Math.round(n)}},o=e=>({r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16)}),w=e=>{const t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];let a="",f=e.r/16,r=e.r%16;return a+=String(t[Math.floor(f)]),a+=String(t[r]),f=e.g/16,r=e.g%16,a+=String(t[Math.floor(f)]),a+=String(t[r]),f=e.b/16,r=e.b%16,a+=String(t[Math.floor(f)]),a+=String(t[r]),a},B=e=>{const t=e.r/255,a=e.g/255,f=e.b/255,r=Math.max(t,a,f),n=Math.min(t,a,f),s=r-n;let d=(r+n)/2,i=(r+n)/2,l=(r+n)/2;if(r===n)d=0,i=0;else{switch(i=l>.5?s/(2-r-n):s/(r+n),r){case t:d=(a-f)/s+(a<f?6:0);break;case a:d=(f-t)/s+2;break;case f:d=(t-a)/s+4;break}d/=6}return d=Math.round(d*360),i=Math.round(i*100),l=Math.round(l*100),{h:d,s:i,l}};export{m as getRGBColor,p as getAlpha,y as HSLToRGB,o as HEXToRGB,B as RGBToHSL,h as RGBStringToRGBObject,w as RGBtoHEX};
|
|
2
|
+
//# sourceMappingURL=ColorConversion.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/ColorConversion.ts"],
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["CSSColors", "getRGBColor", "color", "RGBAToRGB", "RGBStringToRGBObject", "HEXToRGB", "getAlpha", "alpha", "parts", "openingBracketIndex", "commasIndexes", "i", "closingBraketIndex", "HSLToRGB", "saturation", "lightness", "red", "green", "blue", "hue", "m", "x", "m255x", "m255d", "hex", "RGBtoHEX", "hexMap", "hexValue", "divisionNumber", "remainder", "RGBToHSL", "R", "G", "B", "max", "min", "delta", "h", "s"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t=new Map,n=new Map,o=new Map,i=async e=>{t.get(e)||t.set(e,fetch(e));const s=await t.get(e);return s&&!o.get(e)&&o.set(e,s.text()),o.get(e)},c=async e=>{t.get(e)||t.set(e,fetch(e));const s=await t.get(e);return s&&!n.get(e)&&n.set(e,s.json()),n.get(e)};export{i as fetchTextOnce,c as fetchJsonOnce};
|
|
2
|
+
//# sourceMappingURL=FetchHelper.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/FetchHelper.ts"],
|
|
4
|
+
"sourcesContent": ["const fetchPromises = new Map<string, Promise<Response>>();\nconst jsonPromises = new Map<string, Promise<any>>();\nconst textPromises = new Map<string, Promise<string>>();\n\nconst fetchTextOnce = async (url: string) => {\n\tif (!fetchPromises.get(url)) {\n\t\tfetchPromises.set(url, fetch(url));\n\t}\n\tconst response = await fetchPromises.get(url);\n\n\tif (response && !textPromises.get(url)) {\n\t\ttextPromises.set(url, response.text());\n\t}\n\n\treturn textPromises.get(url);\n};\n\nconst fetchJsonOnce = async (url: string) => {\n\tif (!fetchPromises.get(url)) {\n\t\tfetchPromises.set(url, fetch(url));\n\t}\n\tconst response = await fetchPromises.get(url);\n\n\tif (response && !jsonPromises.get(url)) {\n\t\tjsonPromises.set(url, response.json());\n\t}\n\n\treturn jsonPromises.get(url);\n};\n\nexport { fetchTextOnce, fetchJsonOnce };\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAgB,IAAI,IACpBC,EAAe,IAAI,IACnBC,EAAe,IAAI,IAEnBC,EAAgB,MAAOC,GAAgB,CACvCJ,EAAc,IAAII,CAAG,GACzBJ,EAAc,IAAII,EAAK,MAAMA,CAAG,CAAC,EAElC,MAAMC,EAAW,MAAML,EAAc,IAAII,CAAG,EAE5C,OAAIC,GAAY,CAACH,EAAa,IAAIE,CAAG,GACpCF,EAAa,IAAIE,EAAKC,EAAS,KAAK,CAAC,EAG/BH,EAAa,IAAIE,CAAG,CAC5B,EAEME,EAAgB,MAAOF,GAAgB,CACvCJ,EAAc,IAAII,CAAG,GACzBJ,EAAc,IAAII,EAAK,MAAMA,CAAG,CAAC,EAElC,MAAMC,EAAW,MAAML,EAAc,IAAII,CAAG,EAE5C,OAAIC,GAAY,CAACJ,EAAa,IAAIG,CAAG,GACpCH,EAAa,IAAIG,EAAKC,EAAS,KAAK,CAAC,EAG/BJ,EAAa,IAAIG,CAAG,CAC5B,EAEA,OAASD,KAAA,cAAeG,KAAA",
|
|
6
|
+
"names": ["fetchPromises", "jsonPromises", "textPromises", "fetchTextOnce", "url", "response", "fetchJsonOnce"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import o from"./isElementHidden.js";import f from"./isElementClickable.js";import{instanceOfUI5Element as a}from"../UI5Element.js";import{isSafari as c}from"../Device.js";const E=e=>e.hasAttribute("data-ui5-focus-trap"),d=e=>{const l=getComputedStyle(e);return e.scrollHeight>e.clientHeight&&["scroll","auto"].indexOf(l.overflowY)>=0||e.scrollWidth>e.clientWidth&&["scroll","auto"].indexOf(l.overflowX)>=0},b=async(e,l)=>!e||o(e)?null:m(e,!0,l),H=async(e,l)=>!e||o(e)?null:m(e,!1,l),T=e=>e.hasAttribute("data-ui5-focus-redirect")||!o(e),L=e=>{if(a(e)){const l=e.getAttribute("tabindex");if(l!==null&&parseInt(l)<0)return!0}return!1},m=async(e,l,r)=>{let t,s,n=-1;e.shadowRoot?t=l?e.shadowRoot.firstChild:e.shadowRoot.lastChild:e instanceof HTMLSlotElement&&e.assignedNodes()?(s=e.assignedNodes(),n=l?0:s.length-1,t=s[n]):r?t=e:t=l?e.firstElementChild:e.lastElementChild;let i;for(;t;){const u=t;if(!o(u)&&!L(u)){if(a(t)&&(await t._waitForDomRef(),t=t.getDomRef()),!t||o(t))return null;if(t.nodeType===1&&T(t)&&!E(t)){if(f(t)||(i=await m(t,l),!c()&&!i&&d(t)))return t&&typeof t.focus=="function"?t:null;if(i)return i&&typeof i.focus=="function"?i:null}}t=l?u.nextSibling:u.previousSibling,s&&!s[n].contains(t)&&(n=l?n+1:n-1,t=s[n])}return null};export{b as getFirstFocusableElement,H as getLastFocusableElement};
|
|
2
|
+
//# sourceMappingURL=FocusableElements.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/FocusableElements.ts"],
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAAqB,uBAC5B,OAAOC,MAAwB,0BAC/B,OAAS,wBAAAC,MAA4B,mBACrC,OAAS,YAAAC,MAAgB,eAIzB,MAAMC,EAAeC,GACbA,EAAG,aAAa,qBAAqB,EAGvCC,EAAgBD,GAAoB,CACzC,MAAME,EAAgB,iBAAiBF,CAAE,EAEzC,OAAQA,EAAG,aAAeA,EAAG,cAAgB,CAAC,SAAU,MAAM,EAAE,QAAQE,EAAc,SAAS,GAAK,GAC/FF,EAAG,YAAcA,EAAG,aAAe,CAAC,SAAU,MAAM,EAAE,QAAQE,EAAc,SAAS,GAAK,CAChG,EAEMC,EAA2B,MAAOC,EAAwBC,IAC3D,CAACD,GAAaT,EAAgBS,CAAS,EACnC,KAGDE,EAAqBF,EAAW,GAAMC,CAAkB,EAG1DE,EAA0B,MAAOH,EAAwBC,IAC1D,CAACD,GAAaT,EAAgBS,CAAS,EACnC,KAGDE,EAAqBF,EAAW,GAAOC,CAAkB,EAG3DG,EAAmBR,GACjBA,EAAG,aAAa,yBAAyB,GAAK,CAACL,EAAgBK,CAAE,EAGnES,EAAoCT,GAAoB,CAC7D,GAAIH,EAAqBG,CAAE,EAAG,CAC7B,MAAMU,EAAWV,EAAG,aAAa,UAAU,EAC3C,GAAIU,IAAa,MAAQ,SAASA,CAAQ,EAAI,EAC7C,MAAO,EAET,CAEA,MAAO,EACR,EAEMJ,EAAuB,MAAOF,EAAwBO,EAAkBN,IAA0D,CACvI,IAAIO,EACAC,EACAC,EAAe,GAEfV,EAAU,WACbQ,EAAQD,EAAUP,EAAU,WAAW,WAA4BA,EAAU,WAAW,UAC9EA,aAAqB,iBAAmBA,EAAU,cAAc,GAC1ES,EAAmBT,EAAU,cAAc,EAC3CU,EAAeH,EAAU,EAAIE,EAAiB,OAAS,EACvDD,EAAQC,EAAiBC,CAAY,GAC3BT,EACVO,EAAQR,EAERQ,EAAQD,EAAUP,EAAU,kBAAmCA,EAAU,iBAG1E,IAAIW,EAIJ,KAAOH,GAAO,CACb,MAAMI,EAAyCJ,EAE/C,GAAI,CAACjB,EAAgBqB,CAAa,GAAK,CAACP,EAAiCO,CAAa,EAAG,CAYxF,GAXInB,EAAqBe,CAAK,IAO7B,MAAMA,EAAM,eAAe,EAC3BA,EAAQA,EAAM,UAAU,GAGrB,CAACA,GAASjB,EAAgBiB,CAAK,EAClC,OAAO,KAGR,GAAIA,EAAM,WAAa,GAAKJ,EAAgBI,CAAK,GAAK,CAACb,EAAYa,CAAK,EAAG,CAQ1E,GAPIhB,EAAmBgB,CAAK,IAI5BG,EAAsB,MAAMT,EAAqBM,EAAOD,CAAO,EAG3D,CAACb,EAAS,GAAK,CAACiB,GAAuBd,EAAaW,CAAK,GAC5D,OAAQA,GAAS,OAAOA,EAAM,OAAU,WAAcA,EAAQ,KAG/D,GAAIG,EACH,OAAQA,GAAuB,OAAOA,EAAoB,OAAU,WAAcA,EAAsB,IAE1G,CACD,CAEAH,EAAQD,EAAUK,EAAc,YAA6BA,EAAc,gBAKvEH,GAAoB,CAACA,EAAiBC,CAAY,EAAE,SAASF,CAAK,IACrEE,EAAeH,EAAUG,EAAe,EAAIA,EAAe,EAE3DF,EAAQC,EAAiBC,CAAY,EAEvC,CAIA,OAAO,IACR,EAEA,OACCX,KAAA,yBACAI,KAAA",
|
|
6
|
+
"names": ["isElementHidden", "isElementClickable", "instanceOfUI5Element", "isSafari", "isFocusTrap", "el", "isScrollable", "computedStyle", "getFirstFocusableElement", "container", "startFromContainer", "findFocusableElement", "getLastFocusableElement", "isElemFocusable", "isUI5ElementWithNegativeTabIndex", "tabIndex", "forward", "child", "assignedElements", "currentIndex", "focusableDescendant", "originalChild"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/HTMLSanitizer.ts"],
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": "aACA,OAAOA,MAAkB,uCAEzB,OAAOC,MAAsB,2CAE7B,OACCA,KAAA,iBACAD,KAAA",
|
|
6
|
+
"names": ["sanitizeHTML", "URLListValidator"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import a from"../types/InvisibleMessageMode.js";import o from"./getSingletonElementInstance.js";import{attachBoot as r}from"../Boot.js";let t,n;const l=e=>{e.style.position="absolute",e.style.clip="rect(1px,1px,1px,1px)",e.style.userSelect="none",e.style.left="-1000px",e.style.top="-1000px",e.style.pointerEvents="none"};r(()=>{t&&n||(t=document.createElement("span"),n=document.createElement("span"),t.classList.add("ui5-invisiblemessage-polite"),n.classList.add("ui5-invisiblemessage-assertive"),t.setAttribute("aria-live","polite"),n.setAttribute("aria-live","assertive"),t.setAttribute("role","alert"),n.setAttribute("role","alert"),l(t),l(n),o("ui5-announcement-area").appendChild(t),o("ui5-announcement-area").appendChild(n))});const p=(e,s)=>{const i=s===a.Assertive?n:t;i.textContent="",i.textContent=e,s!==a.Assertive&&s!==a.Polite&&console.warn('You have entered an invalid mode. Valid values are: "Polite" and "Assertive". The framework will automatically set the mode to "Polite".'),setTimeout(()=>{i.textContent===e&&(i.textContent="")},3e3)};export default p;
|
|
2
|
+
//# sourceMappingURL=InvisibleMessage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/InvisibleMessage.ts"],
|
|
4
|
+
"sourcesContent": ["import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-announcement-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-announcement-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: InvisibleMessageMode) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.warn(`You have entered an invalid mode. Valid values are: \"Polite\" and \"Assertive\". The framework will automatically set the mode to \"Polite\".`); // eslint-disable-line\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAA0B,mCACjC,OAAOC,MAAiC,mCACxC,OAAS,cAAAC,MAAkB,aAE3B,IAAIC,EACAC,EAEJ,MAAMC,EAA0BC,GAAoB,CACnDA,EAAG,MAAM,SAAW,WACpBA,EAAG,MAAM,KAAO,wBAChBA,EAAG,MAAM,WAAa,OACtBA,EAAG,MAAM,KAAO,UAChBA,EAAG,MAAM,IAAM,UACfA,EAAG,MAAM,cAAgB,MAC1B,EAEAJ,EAAW,IAAM,CACZC,GAAcC,IAIlBD,EAAa,SAAS,cAAc,MAAM,EAC1CC,EAAgB,SAAS,cAAc,MAAM,EAE7CD,EAAW,UAAU,IAAI,6BAA6B,EACtDC,EAAc,UAAU,IAAI,gCAAgC,EAE5DD,EAAW,aAAa,YAAa,QAAQ,EAC7CC,EAAc,aAAa,YAAa,WAAW,EAEnDD,EAAW,aAAa,OAAQ,OAAO,EACvCC,EAAc,aAAa,OAAQ,OAAO,EAE1CC,EAAuBF,CAAU,EACjCE,EAAuBD,CAAa,EAEpCH,EAA4B,uBAAuB,EAAE,YAAYE,CAAU,EAC3EF,EAA4B,uBAAuB,EAAE,YAAYG,CAAa,EAC/E,CAAC,EASD,MAAMG,EAAW,CAACC,EAAiBC,IAA+B,CAEjE,MAAMC,EAAOD,IAAST,EAAqB,UAAYI,EAAgBD,EAGvEO,EAAK,YAAc,GACnBA,EAAK,YAAcF,EAEfC,IAAST,EAAqB,WAAaS,IAAST,EAAqB,QAC5E,QAAQ,KAAK,0IAA0I,EAIxJ,WAAW,IAAM,CAEZU,EAAK,cAAgBF,IACxBE,EAAK,YAAc,GAErB,EAAG,GAAI,CACR,EAEA,eAAeH",
|
|
6
|
+
"names": ["InvisibleMessageMode", "getSingletonElementInstance", "attachBoot", "politeSpan", "assertiveSpan", "setOutOfViewportStyles", "el", "announce", "message", "mode", "span"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import u from"./getActiveElement.js";const r=()=>{const e=u();return e&&typeof e.focus=="function"?e:null},a=e=>{const n=r();return n?l(e,n):!1},l=(e,n)=>{let t=e;if(t.shadowRoot&&(t=Array.from(t.shadowRoot.children).find(c=>c.localName!=="style"),!t))return!1;if(t===n)return!0;const o=t.localName==="slot"?t.assignedNodes():t.children;return o?Array.from(o).some(s=>l(s,n)):!1},m=(e,n,t)=>e>=t.left&&e<=t.right&&n>=t.top&&n<=t.bottom,f=(e,n)=>{let t,o;if(e instanceof MouseEvent)t=e.clientX,o=e.clientY;else{const s=e.touches[0];t=s.clientX,o=s.clientY}return m(t,o,n)};function d(e){return"isUI5Element"in e&&"_show"in e}const i=e=>{const n=e.parentElement||e.getRootNode&&e.getRootNode().host;return n&&(d(n)||n===document.documentElement)?n:i(n)};export{r as getFocusedElement,f as isClickInRect,i as getClosedPopupParent,a as isFocusedElementWithinNode};
|
|
2
|
+
//# sourceMappingURL=PopupUtils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/PopupUtils.ts"],
|
|
4
|
+
"sourcesContent": ["import getActiveElement from \"./getActiveElement.js\";\n\nconst getFocusedElement = () => {\n\tconst element = getActiveElement() as HTMLElement;\n\treturn (element && typeof element.focus === \"function\") ? element : null;\n};\n\nconst isFocusedElementWithinNode = (node: HTMLElement) => {\n\tconst fe = getFocusedElement();\n\n\tif (fe) {\n\t\treturn isNodeContainedWithin(node, fe);\n\t}\n\n\treturn false;\n};\n\nconst isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {\n\tlet currentNode: HTMLElement | undefined = parent;\n\n\tif (currentNode.shadowRoot) {\n\t\tconst children = Array.from(currentNode.shadowRoot.children) as Array<HTMLElement>;\n\t\tcurrentNode = children.find(n => n.localName !== \"style\");\n\n\t\tif (!currentNode) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (currentNode === child) {\n\t\treturn true;\n\t}\n\n\tconst childNodes = currentNode.localName === \"slot\" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;\n\n\tif (childNodes) {\n\t\treturn Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));\n\t}\n\n\treturn false;\n};\n\nconst isPointInRect = (x: number, y: number, rect: DOMRect) => {\n\treturn x >= rect.left && x <= rect.right\n\t\t&& y >= rect.top && y <= rect.bottom;\n};\n\nconst isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {\n\tlet x;\n\tlet y;\n\n\tif (e instanceof MouseEvent) {\n\t\tx = e.clientX;\n\t\ty = e.clientY;\n\t} else {\n\t\tconst touch = e.touches[0];\n\t\tx = touch.clientX;\n\t\ty = touch.clientY;\n\t}\n\n\treturn isPointInRect(x, y, rect);\n};\n\ninterface PopupInterface { // Refactor: replace with Popup.js\n\t_show: () => void,\n\topen: boolean,\n}\nfunction instanceOfPopup(object: any): object is PopupInterface {\n\treturn \"isUI5Element\" in object && \"_show\" in object;\n}\n\nconst getClosedPopupParent = (el: HTMLElement): HTMLElement => {\n\tconst parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);\n\n\tif (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {\n\t\treturn parent as HTMLElement;\n\t}\n\n\treturn getClosedPopupParent(parent as HTMLElement);\n};\n\nexport {\n\tgetFocusedElement,\n\tisClickInRect,\n\tgetClosedPopupParent,\n\tisFocusedElementWithinNode,\n};\n"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAAsB,wBAE7B,MAAMC,EAAoB,IAAM,CAC/B,MAAMC,EAAUF,EAAiB,EACjC,OAAQE,GAAW,OAAOA,EAAQ,OAAU,WAAcA,EAAU,IACrE,EAEMC,EAA8BC,GAAsB,CACzD,MAAMC,EAAKJ,EAAkB,EAE7B,OAAII,EACIC,EAAsBF,EAAMC,CAAE,EAG/B,EACR,EAEMC,EAAwB,CAACC,EAAqBC,IAAgC,CACnF,IAAIC,EAAuCF,EAE3C,GAAIE,EAAY,aAEfA,EADiB,MAAM,KAAKA,EAAY,WAAW,QAAQ,EACpC,KAAKC,GAAKA,EAAE,YAAc,OAAO,EAEpD,CAACD,GACJ,MAAO,GAIT,GAAIA,IAAgBD,EACnB,MAAO,GAGR,MAAMG,EAAaF,EAAY,YAAc,OAAUA,EAAgC,cAAc,EAAIA,EAAY,SAErH,OAAIE,EACI,MAAM,KAAKA,CAAU,EAAE,KAAKD,GAAKJ,EAAsBI,EAAkBF,CAAK,CAAC,EAGhF,EACR,EAEMI,EAAgB,CAACC,EAAWC,EAAWC,IACrCF,GAAKE,EAAK,MAAQF,GAAKE,EAAK,OAC/BD,GAAKC,EAAK,KAAOD,GAAKC,EAAK,OAG1BC,EAAgB,CAAC,EAA4BD,IAAkB,CACpE,IAAIF,EACAC,EAEJ,GAAI,aAAa,WAChBD,EAAI,EAAE,QACNC,EAAI,EAAE,YACA,CACN,MAAMG,EAAQ,EAAE,QAAQ,CAAC,EACzBJ,EAAII,EAAM,QACVH,EAAIG,EAAM,OACX,CAEA,OAAOL,EAAcC,EAAGC,EAAGC,CAAI,CAChC,EAMA,SAASG,EAAgBC,EAAuC,CAC/D,MAAO,iBAAkBA,GAAU,UAAWA,CAC/C,CAEA,MAAMC,EAAwBC,GAAiC,CAC9D,MAAMd,EAASc,EAAG,eAAkBA,EAAG,aAAgBA,EAAG,YAAY,EAAiB,KAEvF,OAAId,IAAYW,EAAgBX,CAAM,GAAKA,IAAW,SAAS,iBACvDA,EAGDa,EAAqBb,CAAqB,CAClD,EAEA,OACCN,KAAA,kBACAe,KAAA,cACAI,KAAA,qBACAjB,KAAA",
|
|
6
|
+
"names": ["getActiveElement", "getFocusedElement", "element", "isFocusedElementWithinNode", "node", "fe", "isNodeContainedWithin", "parent", "child", "currentNode", "n", "childNodes", "isPointInRect", "x", "y", "rect", "isClickInRect", "touch", "instanceOfPopup", "object", "getClosedPopupParent", "el"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import r from"../util/getEffectiveScrollbarStyle.js";const d=(t,e)=>{const o=getComputedStyle(t);for(let l=0;l<o.length;l++){const s=o[l];e.style.setProperty(s,o.getPropertyValue(s))}t.tagName==="INPUT"&&a(e),e.style.position="absolute",e.style.left=`${t.getBoundingClientRect().left}px`,e.style.top=`${t.getBoundingClientRect().top}px`,y(e),document.body.appendChild(e)},y=t=>{t.style.position="absolute",t.style.userSelect="none",t.style.pointerEvents="none",t.style.zIndex="-1",t.style.opacity="0"},a=t=>{t.style.whiteSpace="nowrap",t.style.overflowX="auto",t.style.overflowY="hidden"},p=()=>{const t=new CSSStyleSheet,e=r();t.replaceSync(e),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t]},u=()=>{const t=document.createElement("div");t.id="ui5-selection-mirror",t.contentEditable="true",p(),document.body.appendChild(t)},S=(t,e)=>{e.scrollTop=t.scrollTop,e.scrollLeft=t.scrollLeft},g=(t,e)=>{const{selectionStart:o,selectionEnd:l}=t,s=t.value.slice(o,t.selectionEnd),c=document.createRange();c.setStart(e.firstChild,l-1),c.setEnd(e.firstChild,l),S(t,e);const n=c.getBoundingClientRect(),i={x:n.x,y:n.y,width:n.width,height:n.height,top:n.top,right:n.right,bottom:n.bottom,left:n.left};return document.body.removeChild(e),{...i,selectedText:s}},h=t=>{const e=t.shadowRoot.querySelector("textarea")||t.shadowRoot.querySelector("input");document.getElementById("ui5-selection-mirror")||u();const o=document.getElementById("ui5-selection-mirror");return o.textContent=e.value,e&&d(e,o),g(e,o)};export default h;
|
|
2
|
+
//# sourceMappingURL=SelectionAssistant.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/SelectionAssistant.ts"],
|
|
4
|
+
"sourcesContent": ["import getEffectiveScrollbarStyle from \"../util/getEffectiveScrollbarStyle.js\";\n\nconst copyAndApplyStyles = (element: HTMLElement, copiedElement: HTMLElement) => {\n\tconst computedStyles = getComputedStyle(element);\n\n\tfor (let i = 0; i < computedStyles.length; i++) {\n\t\tconst propertyName = computedStyles[i];\n\t\tcopiedElement.style.setProperty(propertyName, computedStyles.getPropertyValue(propertyName));\n\t}\n\n\telement.tagName === \"INPUT\" && setInputSpecificStyles(copiedElement);\n\n\tcopiedElement.style.position = \"absolute\";\n\tcopiedElement.style.left = `${element.getBoundingClientRect().left}px`;\n\tcopiedElement.style.top = `${element.getBoundingClientRect().top}px`;\n\n\tsetUnInteractableStyles(copiedElement);\n\n\tdocument.body.appendChild(copiedElement);\n};\n\nconst setUnInteractableStyles = (element: HTMLElement) => {\n\telement.style.position = \"absolute\";\n\telement.style.userSelect = \"none\";\n\telement.style.pointerEvents = \"none\";\n\telement.style.zIndex = \"-1\";\n\telement.style.opacity = \"0\";\n};\n\nconst setInputSpecificStyles = (element: HTMLElement) => {\n\telement.style.whiteSpace = \"nowrap\";\n\telement.style.overflowX = \"auto\";\n\telement.style.overflowY = \"hidden\";\n};\n\nconst applyScrollStylings = () => {\n\tconst sheet = new CSSStyleSheet();\n\tconst styles = getEffectiveScrollbarStyle();\n\n\tsheet.replaceSync(styles);\n\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n};\n\nconst createCopy = () => {\n\tconst copiedElement = document.createElement(\"div\");\n\n\tcopiedElement.id = \"ui5-selection-mirror\";\n\tcopiedElement.contentEditable = \"true\";\n\n\tapplyScrollStylings();\n\n\tdocument.body.appendChild(copiedElement);\n};\n\nconst applyScrollPosition = (element: HTMLElement, copiedElement: HTMLElement) => {\n\tcopiedElement.scrollTop = element.scrollTop;\n\tcopiedElement.scrollLeft = element.scrollLeft;\n};\n\nconst getSelectionCoordinates = (element: HTMLInputElement | HTMLTextAreaElement, mirror: HTMLDivElement) => {\n\tconst { selectionStart, selectionEnd } = element;\n\tconst selectedText = element.value.slice(\n\t\tselectionStart!,\n\t\telement.selectionEnd!,\n\t);\n\tconst range = document.createRange();\n\n\trange.setStart(mirror.firstChild!, selectionEnd! - 1);\n\trange.setEnd(mirror.firstChild!, selectionEnd!);\n\n\tapplyScrollPosition(element, mirror);\n\n\tconst rangeRect = range.getBoundingClientRect();\n\tconst rectObject = {\n\t\tx: rangeRect.x,\n\t\ty: rangeRect.y,\n\t\twidth: rangeRect.width,\n\t\theight: rangeRect.height,\n\t\ttop: rangeRect.top,\n\t\tright: rangeRect.right,\n\t\tbottom: rangeRect.bottom,\n\t\tleft: rangeRect.left,\n\t};\n\n\tdocument.body.removeChild(mirror);\n\n\treturn { ...rectObject, selectedText };\n};\n\nconst getElementSelection = (element: HTMLElement) => {\n\tconst innerElement = element.shadowRoot!.querySelector(\"textarea\")\n\t\t|| element.shadowRoot!.querySelector(\"input\");\n\n\tif (!document.getElementById(\"ui5-selection-mirror\")) {\n\t\tcreateCopy();\n\t}\n\n\tconst copiedElement = document.getElementById(\n\t\t\"ui5-selection-mirror\",\n\t)!;\n\n\tcopiedElement.textContent = innerElement!.value;\n\n\tif (innerElement) {\n\t\tcopyAndApplyStyles(innerElement, copiedElement)!;\n\t}\n\n\treturn getSelectionCoordinates(innerElement!, copiedElement as HTMLDivElement);\n};\n\nexport default getElementSelection;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAAgC,wCAEvC,MAAMC,EAAqB,CAACC,EAAsBC,IAA+B,CAChF,MAAMC,EAAiB,iBAAiBF,CAAO,EAE/C,QAASG,EAAI,EAAGA,EAAID,EAAe,OAAQC,IAAK,CAC/C,MAAMC,EAAeF,EAAeC,CAAC,EACrCF,EAAc,MAAM,YAAYG,EAAcF,EAAe,iBAAiBE,CAAY,CAAC,CAC5F,CAEAJ,EAAQ,UAAY,SAAWK,EAAuBJ,CAAa,EAEnEA,EAAc,MAAM,SAAW,WAC/BA,EAAc,MAAM,KAAO,GAAGD,EAAQ,sBAAsB,EAAE,IAAI,KAClEC,EAAc,MAAM,IAAM,GAAGD,EAAQ,sBAAsB,EAAE,GAAG,KAEhEM,EAAwBL,CAAa,EAErC,SAAS,KAAK,YAAYA,CAAa,CACxC,EAEMK,EAA2BN,GAAyB,CACzDA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,WAAa,OAC3BA,EAAQ,MAAM,cAAgB,OAC9BA,EAAQ,MAAM,OAAS,KACvBA,EAAQ,MAAM,QAAU,GACzB,EAEMK,EAA0BL,GAAyB,CACxDA,EAAQ,MAAM,WAAa,SAC3BA,EAAQ,MAAM,UAAY,OAC1BA,EAAQ,MAAM,UAAY,QAC3B,EAEMO,EAAsB,IAAM,CACjC,MAAMC,EAAQ,IAAI,cACZC,EAASX,EAA2B,EAE1CU,EAAM,YAAYC,CAAM,EAExB,SAAS,mBAAqB,CAAC,GAAG,SAAS,mBAAoBD,CAAK,CACrE,EAEME,EAAa,IAAM,CACxB,MAAMT,EAAgB,SAAS,cAAc,KAAK,EAElDA,EAAc,GAAK,uBACnBA,EAAc,gBAAkB,OAEhCM,EAAoB,EAEpB,SAAS,KAAK,YAAYN,CAAa,CACxC,EAEMU,EAAsB,CAACX,EAAsBC,IAA+B,CACjFA,EAAc,UAAYD,EAAQ,UAClCC,EAAc,WAAaD,EAAQ,UACpC,EAEMY,EAA0B,CAACZ,EAAiDa,IAA2B,CAC5G,KAAM,CAAE,eAAAC,EAAgB,aAAAC,CAAa,EAAIf,EACnCgB,EAAehB,EAAQ,MAAM,MAClCc,EACAd,EAAQ,YACT,EACMiB,EAAQ,SAAS,YAAY,EAEnCA,EAAM,SAASJ,EAAO,WAAaE,EAAgB,CAAC,EACpDE,EAAM,OAAOJ,EAAO,WAAaE,CAAa,EAE9CJ,EAAoBX,EAASa,CAAM,EAEnC,MAAMK,EAAYD,EAAM,sBAAsB,EACxCE,EAAa,CAClB,EAAGD,EAAU,EACb,EAAGA,EAAU,EACb,MAAOA,EAAU,MACjB,OAAQA,EAAU,OAClB,IAAKA,EAAU,IACf,MAAOA,EAAU,MACjB,OAAQA,EAAU,OAClB,KAAMA,EAAU,IACjB,EAEA,gBAAS,KAAK,YAAYL,CAAM,EAEzB,CAAE,GAAGM,EAAY,aAAAH,CAAa,CACtC,EAEMI,EAAuBpB,GAAyB,CACrD,MAAMqB,EAAerB,EAAQ,WAAY,cAAc,UAAU,GAC7DA,EAAQ,WAAY,cAAc,OAAO,EAExC,SAAS,eAAe,sBAAsB,GAClDU,EAAW,EAGZ,MAAMT,EAAgB,SAAS,eAC9B,sBACD,EAEA,OAAAA,EAAc,YAAcoB,EAAc,MAEtCA,GACHtB,EAAmBsB,EAAcpB,CAAa,EAGxCW,EAAwBS,EAAepB,CAA+B,CAC9E,EAEA,eAAemB",
|
|
6
|
+
"names": ["getEffectiveScrollbarStyle", "copyAndApplyStyles", "element", "copiedElement", "computedStyles", "i", "propertyName", "setInputSpecificStyles", "setUnInteractableStyles", "applyScrollStylings", "sheet", "styles", "createCopy", "applyScrollPosition", "getSelectionCoordinates", "mirror", "selectionStart", "selectionEnd", "selectedText", "range", "rangeRect", "rectObject", "getElementSelection", "innerElement"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const o=t=>{if(!(t instanceof HTMLElement))return"default";const e=t.getAttribute("slot");if(e){const r=e.match(/^(.+?)-\d+$/);return r?r[1]:e}return"default"},n=t=>t instanceof HTMLSlotElement?t.assignedNodes({flatten:!0}).filter(e=>e instanceof HTMLElement):[t],s=t=>t.reduce((e,r)=>e.concat(n(r)),[]);export{o as getSlotName,n as getSlottedNodes,s as getSlottedNodesList};
|
|
2
|
+
//# sourceMappingURL=SlotsHelper.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/SlotsHelper.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Determines the slot to which a node should be assigned\n * @param node Text node or HTML element\n * @returns {string}\n */\nconst getSlotName = (node: Node) => {\n\t// Text nodes can only go to the default slot\n\tif (!(node instanceof HTMLElement)) {\n\t\treturn \"default\";\n\t}\n\n\t// Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)\n\tconst slot = node.getAttribute(\"slot\");\n\tif (slot) {\n\t\tconst match = slot.match(/^(.+?)-\\d+$/);\n\t\treturn match ? match[1] : slot;\n\t}\n\n\t// Use default slot as a fallback\n\treturn \"default\";\n};\n\nconst getSlottedNodes = (node: Node) => {\n\tif (node instanceof HTMLSlotElement) {\n\t\treturn node.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);\n\t}\n\n\treturn [node];\n};\n\nconst getSlottedNodesList = (nodeList: Array<Node>) => {\n\treturn nodeList.reduce((acc, curr) => acc.concat(getSlottedNodes(curr)), [] as Array<Node>);\n};\n\nexport {\n\tgetSlotName,\n\tgetSlottedNodes,\n\tgetSlottedNodesList,\n};\n"],
|
|
5
|
+
"mappings": "aAKA,MAAMA,EAAeC,GAAe,CAEnC,GAAI,EAAEA,aAAgB,aACrB,MAAO,UAIR,MAAMC,EAAOD,EAAK,aAAa,MAAM,EACrC,GAAIC,EAAM,CACT,MAAMC,EAAQD,EAAK,MAAM,aAAa,EACtC,OAAOC,EAAQA,EAAM,CAAC,EAAID,CAC3B,CAGA,MAAO,SACR,EAEME,EAAmBH,GACpBA,aAAgB,gBACZA,EAAK,cAAc,CAAE,QAAS,EAAK,CAAC,EAAE,OAAOI,GAAQA,aAAgB,WAAW,EAGjF,CAACJ,CAAI,EAGPK,EAAuBC,GACrBA,EAAS,OAAO,CAACC,EAAKC,IAASD,EAAI,OAAOJ,EAAgBK,CAAI,CAAC,EAAG,CAAC,CAAgB,EAG3F,OACCT,KAAA,YACAI,KAAA,gBACAE,KAAA",
|
|
6
|
+
"names": ["getSlotName", "node", "slot", "match", "getSlottedNodes", "item", "getSlottedNodesList", "nodeList", "acc", "curr"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=new Map,o=new Map,n=new Map,c=e=>{if(!s.has(e)){const a=b(e.split("-"));s.set(e,a)}return s.get(e)},l=e=>{if(!o.has(e)){const a=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();o.set(e,a)}return o.get(e)},p=e=>l(e),b=e=>e.map((a,t)=>t===0?a.toLowerCase():a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(""),C=e=>{const a=n.get(e);if(a)return a;const t=c(e),r=t.charAt(0).toUpperCase()+t.slice(1);return n.set(e,r),r};export{c as kebabToCamelCase,l as camelToKebabCase,p as pascalToKebabCase,C as kebabToPascalCase};
|
|
2
|
+
//# sourceMappingURL=StringHelper.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/StringHelper.ts"],
|
|
4
|
+
"sourcesContent": ["const kebabToCamelMap = new Map<string, string>();\nconst camelToKebabMap = new Map<string, string>();\nconst kebabToPascalMap = new Map<string, string>();\n\nconst kebabToCamelCase = (string: string) => {\n\tif (!kebabToCamelMap.has(string)) {\n\t\tconst result = toCamelCase(string.split(\"-\"));\n\t\tkebabToCamelMap.set(string, result);\n\t}\n\treturn kebabToCamelMap.get(string)!;\n};\n\nconst camelToKebabCase = (string: string) => {\n\tif (!camelToKebabMap.has(string)) {\n\t\tconst result = string.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n\t\tcamelToKebabMap.set(string, result);\n\t}\n\treturn camelToKebabMap.get(string)!;\n};\n\nconst pascalToKebabCase = (pascalString: string) => {\n\treturn camelToKebabCase(pascalString);\n};\n\nconst toCamelCase = (parts: Array<string>) => {\n\treturn parts.map((string, index) => {\n\t\treturn index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n\t}).join(\"\");\n};\n\nconst kebabToPascalCase = (src: string) => {\n\tconst cachedName = kebabToPascalMap.get(src);\n\tif (cachedName) {\n\t\treturn cachedName;\n\t}\n\n\tconst camelStr = kebabToCamelCase(src);\n\tconst result = camelStr.charAt(0).toUpperCase() + camelStr.slice(1);\n\tkebabToPascalMap.set(src, result);\n\treturn result;\n};\n\nexport {\n\tkebabToCamelCase,\n\tcamelToKebabCase,\n\tpascalToKebabCase,\n\tkebabToPascalCase,\n};\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAkB,IAAI,IACtBC,EAAkB,IAAI,IACtBC,EAAmB,IAAI,IAEvBC,EAAoBC,GAAmB,CAC5C,GAAI,CAACJ,EAAgB,IAAII,CAAM,EAAG,CACjC,MAAMC,EAASC,EAAYF,EAAO,MAAM,GAAG,CAAC,EAC5CJ,EAAgB,IAAII,EAAQC,CAAM,CACnC,CACA,OAAOL,EAAgB,IAAII,CAAM,CAClC,EAEMG,EAAoBH,GAAmB,CAC5C,GAAI,CAACH,EAAgB,IAAIG,CAAM,EAAG,CACjC,MAAMC,EAASD,EAAO,QAAQ,kBAAmB,OAAO,EAAE,YAAY,EACtEH,EAAgB,IAAIG,EAAQC,CAAM,CACnC,CACA,OAAOJ,EAAgB,IAAIG,CAAM,CAClC,EAEMI,EAAqBC,GACnBF,EAAiBE,CAAY,EAG/BH,EAAeI,GACbA,EAAM,IAAI,CAACN,EAAQO,IAClBA,IAAU,EAAIP,EAAO,YAAY,EAAIA,EAAO,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAO,MAAM,CAAC,EAAE,YAAY,CACzG,EAAE,KAAK,EAAE,EAGLQ,EAAqBC,GAAgB,CAC1C,MAAMC,EAAaZ,EAAiB,IAAIW,CAAG,EAC3C,GAAIC,EACH,OAAOA,EAGR,MAAMC,EAAWZ,EAAiBU,CAAG,EAC/BR,EAASU,EAAS,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAS,MAAM,CAAC,EAClE,OAAAb,EAAiB,IAAIW,EAAKR,CAAM,EACzBA,CACR,EAEA,OACCF,KAAA,iBACAI,KAAA,iBACAC,KAAA,kBACAI,KAAA",
|
|
6
|
+
"names": ["kebabToCamelMap", "camelToKebabMap", "kebabToPascalMap", "kebabToCamelCase", "string", "result", "toCamelCase", "camelToKebabCase", "pascalToKebabCase", "pascalString", "parts", "index", "kebabToPascalCase", "src", "cachedName", "camelStr"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import o from"./isElementTabbable.js";const b=t=>a([...t.children]),E=t=>{const n=a([...t.children]);return n.length?n[n.length-1]:null},a=(t,n)=>{const l=n||[];return t&&t.forEach(r=>{if(r.nodeType===Node.TEXT_NODE||r.nodeType===Node.COMMENT_NODE)return;const e=r;if(!e.hasAttribute("data-sap-no-tab-ref"))if(o(e)&&l.push(e),e.tagName==="SLOT")a(e.assignedNodes(),l);else{const s=e.shadowRoot?e.shadowRoot.children:e.children;a([...s],l)}}),l};export{b as getTabbableElements,E as getLastTabbableElement};
|
|
2
|
+
//# sourceMappingURL=TabbableElements.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/TabbableElements.ts"],
|
|
4
|
+
"sourcesContent": ["import isElementTabbable from \"./isElementTabbable.js\";\n\n/**\n * Returns the tabbable elements within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { Array<HTMLElement> } the tabbable elements\n */\nconst getTabbableElements = (el: HTMLElement): Array<HTMLElement> => {\n\treturn getTabbables([...el.children]);\n};\n\n/**\n * Returns the last tabbable element within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { HTMLElement | null } the last tabbable element or \"null\" if not found\n */\nconst getLastTabbableElement = (el: HTMLElement): HTMLElement | null => {\n\tconst tabbables = getTabbables([...el.children]);\n\treturn tabbables.length ? tabbables[tabbables.length - 1] : null;\n};\n\nconst getTabbables = (nodes: Array<Node>, tabbables?: Array<HTMLElement>): Array<HTMLElement> => {\n\tconst tabbableElements = tabbables || [];\n\n\tif (!nodes) {\n\t\treturn tabbableElements;\n\t}\n\n\tnodes.forEach(currentNode => {\n\t\tif (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentElement = currentNode as HTMLElement;\n\t\tif (currentElement.hasAttribute(\"data-sap-no-tab-ref\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isElementTabbable(currentElement)) {\n\t\t\ttabbableElements.push(currentElement);\n\t\t}\n\n\t\tif (currentElement.tagName === \"SLOT\") {\n\t\t\tgetTabbables((currentElement as HTMLSlotElement).assignedNodes() as Array<HTMLElement>, tabbableElements);\n\t\t} else {\n\t\t\tconst children = currentElement.shadowRoot ? currentElement.shadowRoot.children : currentElement.children;\n\t\t\tgetTabbables([...children], tabbableElements);\n\t\t}\n\t});\n\n\treturn tabbableElements;\n};\n\nexport {\n\tgetTabbableElements,\n\tgetLastTabbableElement,\n};\n"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAAuB,yBAS9B,MAAMC,EAAuBC,GACrBC,EAAa,CAAC,GAAGD,EAAG,QAAQ,CAAC,EAU/BE,EAA0BF,GAAwC,CACvE,MAAMG,EAAYF,EAAa,CAAC,GAAGD,EAAG,QAAQ,CAAC,EAC/C,OAAOG,EAAU,OAASA,EAAUA,EAAU,OAAS,CAAC,EAAI,IAC7D,EAEMF,EAAe,CAACG,EAAoBD,IAAuD,CAChG,MAAME,EAAmBF,GAAa,CAAC,EAEvC,OAAKC,GAILA,EAAM,QAAQE,GAAe,CAC5B,GAAIA,EAAY,WAAa,KAAK,WAAaA,EAAY,WAAa,KAAK,aAC5E,OAGD,MAAMC,EAAiBD,EACvB,GAAI,CAAAC,EAAe,aAAa,qBAAqB,EAQrD,GAJIT,EAAkBS,CAAc,GACnCF,EAAiB,KAAKE,CAAc,EAGjCA,EAAe,UAAY,OAC9BN,EAAcM,EAAmC,cAAc,EAAyBF,CAAgB,MAClG,CACN,MAAMG,EAAWD,EAAe,WAAaA,EAAe,WAAW,SAAWA,EAAe,SACjGN,EAAa,CAAC,GAAGO,CAAQ,EAAGH,CAAgB,CAC7C,CACD,CAAC,EAEMA,CACR,EAEA,OACCN,KAAA,oBACAG,KAAA",
|
|
6
|
+
"names": ["isElementTabbable", "getTabbableElements", "el", "getTabbables", "getLastTabbableElement", "tabbables", "nodes", "tabbableElements", "currentNode", "currentElement", "children"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/arraysAreEqual.ts"],
|
|
4
|
+
"sourcesContent": ["const arraysAreEqual = (arr1: Array<any>, arr2: Array<any>) => {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tif (arr1[i] !== arr2[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n};\n\nexport default arraysAreEqual;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAiB,CAACC,EAAkBC,IAAqB,CAC9D,GAAID,EAAK,SAAWC,EAAK,OACxB,MAAO,GAGR,QAASC,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAChC,GAAIF,EAAKE,CAAC,IAAMD,EAAKC,CAAC,EACrB,MAAO,GAIT,MAAO,EACR,EAEA,eAAeH",
|
|
6
|
+
"names": ["arraysAreEqual", "arr1", "arr2", "i"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/clamp.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Returns a value clamped between an upper bound 'max' and lower bound 'min'.\n * @param {number} val value\n * @param {number} min lower bound\n * @param {number} max upper bound\n * @returns {number}\n */\nconst clamp = (val: number, min: number, max: number) => {\n\t// handles case when max < min\n\treturn Math.min(Math.max(val, min), Math.max(min, max));\n};\n\nexport default clamp;\n"],
|
|
5
|
+
"mappings": "aAOA,MAAMA,EAAQ,CAACC,EAAaC,EAAaC,IAEjC,KAAK,IAAI,KAAK,IAAIF,EAAKC,CAAG,EAAG,KAAK,IAAIA,EAAKC,CAAG,CAAC,EAGvD,eAAeH",
|
|
6
|
+
"names": ["clamp", "val", "min", "max"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const d=(r,n)=>{const e=document.createElement("link");return e.type="text/css",e.rel="stylesheet",n&&Object.entries(n).forEach(t=>e.setAttribute(...t)),e.href=r,document.head.appendChild(e),new Promise(t=>{e.addEventListener("load",t),e.addEventListener("error",t)})};export default d;
|
|
2
|
+
//# sourceMappingURL=createLinkInHead.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/createLinkInHead.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Creates a `<link>` tag in the `<head>` tag\n * @param href - the CSS\n * @param attributes - optional attributes to add to the tag\n */\nconst createLinkInHead = (href: string, attributes?: Record<string, string>) => {\n\tconst link = document.createElement(\"link\");\n\tlink.type = \"text/css\";\n\tlink.rel = \"stylesheet\";\n\n\tif (attributes) {\n\t\tObject.entries(attributes).forEach(pair => link.setAttribute(...pair));\n\t}\n\n\tlink.href = href;\n\n\tdocument.head.appendChild(link);\n\n\treturn new Promise<Event>(resolve => {\n\t\tlink.addEventListener(\"load\", resolve);\n\t\tlink.addEventListener(\"error\", resolve); // intended\n\t});\n};\n\nexport default createLinkInHead;\n"],
|
|
5
|
+
"mappings": "aAKA,MAAMA,EAAmB,CAACC,EAAcC,IAAwC,CAC/E,MAAMC,EAAO,SAAS,cAAc,MAAM,EAC1C,OAAAA,EAAK,KAAO,WACZA,EAAK,IAAM,aAEPD,GACH,OAAO,QAAQA,CAAU,EAAE,QAAQE,GAAQD,EAAK,aAAa,GAAGC,CAAI,CAAC,EAGtED,EAAK,KAAOF,EAEZ,SAAS,KAAK,YAAYE,CAAI,EAEvB,IAAI,QAAeE,GAAW,CACpCF,EAAK,iBAAiB,OAAQE,CAAO,EACrCF,EAAK,iBAAiB,QAASE,CAAO,CACvC,CAAC,CACF,EAEA,eAAeL",
|
|
6
|
+
"names": ["createLinkInHead", "href", "attributes", "link", "pair", "resolve"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/debounce.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Timeout } from \"../types.js\";\n\n/**\n * Delays function execution by given threshold.\n * @param fn {Function}\n * @param delay {Integer}\n */\nlet debounceInterval: Timeout | null = null;\n\nconst debounce = (fn: () => void, delay: number) => {\n\tdebounceInterval && clearTimeout(debounceInterval);\n\tdebounceInterval = setTimeout(() => {\n\t\tdebounceInterval = null;\n\t\tfn();\n\t}, delay);\n};\n\nexport default debounce;\n"],
|
|
5
|
+
"mappings": "aAOA,IAAIA,EAAmC,KAEvC,MAAMC,EAAW,CAACC,EAAgBC,IAAkB,CACnDH,GAAoB,aAAaA,CAAgB,EACjDA,EAAmB,WAAW,IAAM,CACnCA,EAAmB,KACnBE,EAAG,CACJ,EAAGC,CAAK,CACT,EAEA,eAAeF",
|
|
6
|
+
"names": ["debounceInterval", "debounce", "fn", "delay"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/detectNavigatorLanguage.ts"],
|
|
4
|
+
"sourcesContent": ["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nconst isSSR = typeof document === \"undefined\";\n\nconst detectNavigatorLanguage = () => {\n\tif (isSSR) {\n\t\treturn DEFAULT_LANGUAGE;\n\t}\n\tconst browserLanguages = navigator.languages;\n\n\tconst navigatorLanguage = () => {\n\t\treturn navigator.language;\n\t};\n\n\tconst rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();\n\n\treturn rawLocale || DEFAULT_LANGUAGE;\n};\n\nexport default detectNavigatorLanguage;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAS,oBAAAA,MAAwB,kCAEjC,MAAMC,EAAQ,OAAO,SAAa,IAE5BC,EAA0B,IAAM,CACrC,GAAID,EACH,OAAOD,EAER,MAAMG,EAAmB,UAAU,UAE7BC,EAAoB,IAClB,UAAU,SAKlB,OAFmBD,GAAoBA,EAAiB,CAAC,GAAMC,EAAkB,GAE7DJ,CACrB,EAEA,eAAeE",
|
|
6
|
+
"names": ["DEFAULT_LANGUAGE", "isSSR", "detectNavigatorLanguage", "browserLanguages", "navigatorLanguage"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";let t=null,n=!1;const o=new Set,a=new Set,r=e=>{!e.dataTransfer||!(e.target instanceof HTMLElement)||a.has(e.target)||(t=e.target)},d=()=>{t=null},l=()=>{t=null},s=e=>{t=e},m=()=>t,g=()=>{n||(document.body.addEventListener("dragstart",r),document.body.addEventListener("dragend",d),document.body.addEventListener("drop",l))},c=()=>{document.body.removeEventListener("dragstart",r),document.body.removeEventListener("dragend",d),document.body.removeEventListener("drop",l),n=!1},i=e=>{o.add(e),n||g()},E=e=>{o.delete(e),o.size===0&&n&&c()},u=e=>(a.add(e),s),v=e=>{a.delete(e)},p={subscribe:i,unsubscribe:E,addSelfManagedArea:u,removeSelfManagedArea:v,getDraggedElement:m};export default p;
|
|
2
|
+
//# sourceMappingURL=DragRegistry.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/util/dragAndDrop/DragRegistry.ts"],
|
|
4
|
+
"sourcesContent": ["import type UI5Element from \"../../UI5Element.js\";\nimport type MovePlacement from \"../../types/MovePlacement.js\";\n\nlet draggedElement: HTMLElement | null = null;\nlet globalHandlersAttached = false;\nconst subscribers = new Set<UI5Element>();\nconst selfManagedDragAreas = new Set<HTMLElement | ShadowRoot>();\n\nconst ondragstart = (e: DragEvent) => {\n\tif (!e.dataTransfer || !(e.target instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tif (!selfManagedDragAreas.has(e.target)) {\n\t\tdraggedElement = e.target;\n\t}\n};\n\nconst ondragend = () => {\n\tdraggedElement = null;\n};\n\nconst ondrop = () => {\n\tdraggedElement = null;\n};\n\nconst setDraggedElement = (element: HTMLElement | null) => {\n\tdraggedElement = element;\n};\ntype SetDraggedElementFunction = typeof setDraggedElement;\n\nconst getDraggedElement = () => {\n\treturn draggedElement;\n};\n\nconst attachGlobalHandlers = () => {\n\tif (globalHandlersAttached) {\n\t\treturn;\n\t}\n\n\tdocument.body.addEventListener(\"dragstart\", ondragstart);\n\tdocument.body.addEventListener(\"dragend\", ondragend);\n\tdocument.body.addEventListener(\"drop\", ondrop);\n};\n\nconst detachGlobalHandlers = () => {\n\tdocument.body.removeEventListener(\"dragstart\", ondragstart);\n\tdocument.body.removeEventListener(\"dragend\", ondragend);\n\tdocument.body.removeEventListener(\"drop\", ondrop);\n\tglobalHandlersAttached = false;\n};\n\nconst subscribe = (subscriber: UI5Element) => {\n\tsubscribers.add(subscriber);\n\n\tif (!globalHandlersAttached) {\n\t\tattachGlobalHandlers();\n\t}\n};\n\nconst unsubscribe = (subscriber: UI5Element) => {\n\tsubscribers.delete(subscriber);\n\n\tif (subscribers.size === 0 && globalHandlersAttached) {\n\t\tdetachGlobalHandlers();\n\t}\n};\n\nconst addSelfManagedArea = (area: HTMLElement | ShadowRoot) => {\n\tselfManagedDragAreas.add(area);\n\n\treturn setDraggedElement;\n};\n\nconst removeSelfManagedArea = (area: HTMLElement | ShadowRoot) => {\n\tselfManagedDragAreas.delete(area);\n};\n\ntype DragAndDropSettings = {\n\t/**\n\t * Allow cross-browser and file drag and drop.\n\t */\n\tcrossDnD?: boolean;\n\t/**\n\t * Pass the original event in the event parameters.\n\t */\n\toriginalEvent?: boolean;\n};\n\ntype MoveEventDetail = {\n\toriginalEvent: Event,\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n};\n\nconst DragRegistry = {\n\tsubscribe,\n\tunsubscribe,\n\taddSelfManagedArea,\n\tremoveSelfManagedArea,\n\tgetDraggedElement,\n};\n\nexport default DragRegistry;\nexport type {\n\tSetDraggedElementFunction,\n\tDragAndDropSettings,\n\tMoveEventDetail,\n};\n"],
|
|
5
|
+
"mappings": "aAGA,IAAIA,EAAqC,KACrCC,EAAyB,GAC7B,MAAMC,EAAc,IAAI,IAClBC,EAAuB,IAAI,IAE3BC,EAAe,GAAiB,CACjC,CAAC,EAAE,cAAgB,EAAE,EAAE,kBAAkB,cAIxCD,EAAqB,IAAI,EAAE,MAAM,IACrCH,EAAiB,EAAE,OAErB,EAEMK,EAAY,IAAM,CACvBL,EAAiB,IAClB,EAEMM,EAAS,IAAM,CACpBN,EAAiB,IAClB,EAEMO,EAAqBC,GAAgC,CAC1DR,EAAiBQ,CAClB,EAGMC,EAAoB,IAClBT,EAGFU,EAAuB,IAAM,CAC9BT,IAIJ,SAAS,KAAK,iBAAiB,YAAaG,CAAW,EACvD,SAAS,KAAK,iBAAiB,UAAWC,CAAS,EACnD,SAAS,KAAK,iBAAiB,OAAQC,CAAM,EAC9C,EAEMK,EAAuB,IAAM,CAClC,SAAS,KAAK,oBAAoB,YAAaP,CAAW,EAC1D,SAAS,KAAK,oBAAoB,UAAWC,CAAS,EACtD,SAAS,KAAK,oBAAoB,OAAQC,CAAM,EAChDL,EAAyB,EAC1B,EAEMW,EAAaC,GAA2B,CAC7CX,EAAY,IAAIW,CAAU,EAErBZ,GACJS,EAAqB,CAEvB,EAEMI,EAAeD,GAA2B,CAC/CX,EAAY,OAAOW,CAAU,EAEzBX,EAAY,OAAS,GAAKD,GAC7BU,EAAqB,CAEvB,EAEMI,EAAsBC,IAC3Bb,EAAqB,IAAIa,CAAI,EAEtBT,GAGFU,EAAyBD,GAAmC,CACjEb,EAAqB,OAAOa,CAAI,CACjC,EAwBME,EAAe,CACpB,UAAAN,EACA,YAAAE,EACA,mBAAAC,EACA,sBAAAE,EACA,kBAAAR,CACD,EAEA,eAAeS",
|
|
6
|
+
"names": ["draggedElement", "globalHandlersAttached", "subscribers", "selfManagedDragAreas", "ondragstart", "ondragend", "ondrop", "setDraggedElement", "element", "getDraggedElement", "attachGlobalHandlers", "detachGlobalHandlers", "subscribe", "subscriber", "unsubscribe", "addSelfManagedArea", "area", "removeSelfManagedArea", "DragRegistry"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import n from"../../types/MovePlacement.js";import g from"../../types/Orientation.js";const A=(e,t,r,a)=>{const o=Math.abs(e-t),m=Math.abs(e-r),s=Math.abs(e-a),c=Math.min(o,m,s);let l=[];switch(c){case o:l=[n.Before];break;case m:l=[n.On,o<s?n.Before:n.After];break;case s:l=[n.After];break}return l},L=(e,t,r)=>{let a=Number.POSITIVE_INFINITY,o=null;for(let f=0;f<e.length;f++){const h=e[f],{left:p,width:w,top:B,height:H}=h.getBoundingClientRect();let u;r===g.Vertical?u=B+H/2:u=p+w/2;const M=Math.abs(t-u);M<a&&(a=M,o=h)}if(!o)return null;const{width:m,height:s,left:c,right:l,top:b,bottom:d}=o.getBoundingClientRect();let i;return r===g.Vertical?i=A(t,b,b+s/2,d):i=A(t,c,c+m/2,l),{element:o,placements:i}},T=(e,t)=>(t--,t<0?[]:[{element:e[t],placement:n.Before}]),y=(e,t)=>(t++,t>=e.length?[]:[{element:e[t],placement:n.After}]),E={ArrowLeft:T,ArrowUp:T,ArrowRight:y,ArrowDown:y,Home:(e,t)=>e.slice(0,t).map(r=>({element:r,placement:n.Before})),End:(e,t)=>e.slice(t+1,e.length).reverse().map(r=>({element:r,placement:n.After}))},k=(e,t,r)=>P(r.key)?E[r.key](e,e.indexOf(t)):[],P=e=>e in E;export{L as findClosestPosition,k as findClosestPositionsByKey,P as isMovingKey};
|
|
2
|
+
//# sourceMappingURL=findClosestPosition.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/util/dragAndDrop/findClosestPosition.ts"],
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAAmB,+BAC1B,OAAOC,MAAiB,6BAExB,MAAMC,EAAmB,CAACC,EAAeC,EAAqBC,EAAqBC,IAAuB,CACzG,MAAMC,EAAoB,KAAK,IAAIJ,EAAQC,CAAW,EAChDI,EAAoB,KAAK,IAAIL,EAAQE,CAAW,EAChDI,EAAmB,KAAK,IAAIN,EAAQG,CAAU,EAC9CI,EAAe,KAAK,IACzBH,EACAC,EACAC,CACD,EACA,IAAIE,EAAmC,CAAC,EAExC,OAAQD,EAAc,CACtB,KAAKH,EACJI,EAAa,CAACX,EAAc,MAAM,EAClC,MACD,KAAKQ,EACJG,EAAa,CAACX,EAAc,GAAIO,EAAoBE,EAAmBT,EAAc,OAASA,EAAc,KAAK,EACjH,MACD,KAAKS,EACJE,EAAa,CAACX,EAAc,KAAK,EACjC,KACD,CAEA,OAAOW,CACR,EAEMC,EAAsB,CAACC,EAA8BV,EAAeW,IAAmC,CAC5G,IAAIC,EAAe,OAAO,kBACtBC,EAAqC,KAGzC,QAASC,EAAI,EAAGA,EAAIJ,EAAS,OAAQI,IAAK,CACzC,MAAMC,EAAKL,EAASI,CAAC,EACf,CACL,KAAAE,EAAM,MAAAC,EAAO,IAAAC,EAAK,OAAAC,CACnB,EAAIJ,EAAG,sBAAsB,EAE7B,IAAIK,EACAT,IAAsBb,EAAY,SACrCsB,EAAaF,EAAMC,EAAS,EAE5BC,EAAaJ,EAAOC,EAAQ,EAG7B,MAAMI,EAAmB,KAAK,IAAIrB,EAAQoB,CAAU,EAEhDC,EAAmBT,IACtBA,EAAeS,EACfR,EAAiBE,EAEnB,CAEA,GAAI,CAACF,EACJ,OAAO,KAGR,KAAM,CACL,MAAAI,EAAO,OAAAE,EAAQ,KAAAH,EAAM,MAAAM,EAAO,IAAAJ,EAAK,OAAAK,CAClC,EAAIV,EAAe,sBAAsB,EACzC,IAAIL,EAEJ,OAAIG,IAAsBb,EAAY,SACrCU,EAAaT,EAAiBC,EAAOkB,EAAKA,EAAMC,EAAS,EAAGI,CAAM,EAElEf,EAAaT,EAAiBC,EAAOgB,EAAMA,EAAOC,EAAQ,EAAGK,CAAK,EAG5D,CACN,QAAST,EACT,WAAAL,CACD,CACD,EAEMgB,EAAgB,CAACd,EAA8Be,KACpDA,IAEIA,EAAQ,EACJ,CAAC,EAGF,CAAC,CACP,QAASf,EAASe,CAAK,EACvB,UAAW5B,EAAc,MAC1B,CAAC,GAGI6B,EAAe,CAAChB,EAA8Be,KACnDA,IAEIA,GAASf,EAAS,OACd,CAAC,EAGF,CAAC,CACP,QAASA,EAASe,CAAK,EACvB,UAAW5B,EAAc,KAC1B,CAAC,GAGI8B,EAAwI,CAC7I,UAAWH,EACX,QAASA,EACT,WAAYE,EACZ,UAAWA,EACX,KAAM,CAAChB,EAAUe,IACTf,EAAS,MAAM,EAAGe,CAAK,EAAE,IAAIV,IACnC,CACC,QAASA,EACT,UAAWlB,EAAc,MAC1B,EACA,EAEF,IAAK,CAACa,EAAUe,IACRf,EAAS,MAAMe,EAAQ,EAAGf,EAAS,MAAM,EAAE,QAAQ,EAAE,IAAIK,IAC/D,CACC,QAASA,EACT,UAAWlB,EAAc,KAC1B,EACA,CAEH,EAEM+B,EAA4B,CAAClB,EAA8BmB,EAAsBC,IAClFC,EAAYD,EAAE,GAAG,EACbH,EAAeG,EAAE,GAAG,EAAEpB,EAAUA,EAAS,QAAQmB,CAAO,CAAC,EAG1D,CAAC,EAGHE,EAAeC,GACbA,KAAOL,EAGf,OACClB,KAAA,oBACAmB,KAAA,0BACAG,KAAA",
|
|
6
|
+
"names": ["MovePlacement", "Orientation", "closestPlacement", "point", "beforePoint", "centerPoint", "afterPoint", "distToBeforePoint", "distToCenterPoint", "distToAfterPoint", "closestPoint", "placements", "findClosestPosition", "elements", "layoutOrientation", "shortestDist", "closestElement", "i", "el", "left", "width", "top", "height", "elemCenter", "distanceToCenter", "right", "bottom", "_moveBackward", "index", "_moveForward", "keyToPlacement", "findClosestPositionsByKey", "element", "e", "isMovingKey", "key"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import g from"./DragRegistry.js";function i(t,o,n,m,r={}){const a=g.getDraggedElement(),e={targetReference:null,placement:null};if(!a&&!r?.crossDnD)return e;const s=n.placements;return e.targetReference=t.target,s.some(l=>{const c=r.originalEvent?{originalEvent:t}:{};return o.fireDecoratorEvent("move-over",{...c,source:{element:a},destination:{element:m,placement:l}})?!1:(t.preventDefault(),e.targetReference=n.element,e.placement=l,!0)})||(e.targetReference=null),e}export default i;
|
|
2
|
+
//# sourceMappingURL=handleDragOver.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/util/dragAndDrop/handleDragOver.ts"],
|
|
4
|
+
"sourcesContent": ["import type UI5Element from \"../../UI5Element.js\";\nimport type MovePlacement from \"../../types/MovePlacement.js\";\nimport type { DragAndDropSettings } from \"./DragRegistry.js\";\nimport DragRegistry from \"./DragRegistry.js\";\n\ntype DragOverResult = {\n\ttargetReference: HTMLElement | null;\n\tplacement: any;\n}\n\ntype DragPosition = {\n\telement: HTMLElement;\n\tplacements: MovePlacement[];\n};\n\n/**\n * Handles the dragover event.\n */\nfunction handleDragOver<T extends UI5Element>(e: DragEvent, component: T, position: DragPosition, target: HTMLElement, settings: DragAndDropSettings = {}): DragOverResult {\n\tconst draggedElement = DragRegistry.getDraggedElement();\n\tconst dragOverResult: DragOverResult = {\n\t\ttargetReference: null,\n\t\tplacement: null,\n\t};\n\n\tif (!draggedElement && !settings?.crossDnD) {\n\t\treturn dragOverResult;\n\t}\n\n\tconst placements = position.placements;\n\tdragOverResult.targetReference = e.target as HTMLElement;\n\n\tconst placementAccepted = placements.some(placement => {\n\t\tconst originalEvent = settings.originalEvent ? { originalEvent: e } : {};\n\t\tconst beforeItemMovePrevented = !component.fireDecoratorEvent(\"move-over\" as keyof T[\"eventDetails\"], {\n\t\t\t...originalEvent,\n\t\t\tsource: {\n\t\t\t\telement: draggedElement,\n\t\t\t},\n\t\t\tdestination: {\n\t\t\t\telement: target,\n\t\t\t\tplacement,\n\t\t\t},\n\t\t} as T[\"eventDetails\"][keyof T[\"eventDetails\"]]);\n\n\t\tif (beforeItemMovePrevented) {\n\t\t\te.preventDefault();\n\t\t\tdragOverResult.targetReference = position.element;\n\t\t\tdragOverResult.placement = placement;\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t});\n\n\tif (!placementAccepted) {\n\t\tdragOverResult.targetReference = null;\n\t}\n\n\treturn dragOverResult;\n}\n\nexport default handleDragOver;\n"],
|
|
5
|
+
"mappings": "aAGA,OAAOA,MAAkB,oBAezB,SAASC,EAAqCC,EAAcC,EAAcC,EAAwBC,EAAqBC,EAAgC,CAAC,EAAmB,CAC1K,MAAMC,EAAiBP,EAAa,kBAAkB,EAChDQ,EAAiC,CACtC,gBAAiB,KACjB,UAAW,IACZ,EAEA,GAAI,CAACD,GAAkB,CAACD,GAAU,SACjC,OAAOE,EAGR,MAAMC,EAAaL,EAAS,WAC5B,OAAAI,EAAe,gBAAkBN,EAAE,OAETO,EAAW,KAAKC,GAAa,CACtD,MAAMC,EAAgBL,EAAS,cAAgB,CAAE,cAAeJ,CAAE,EAAI,CAAC,EAYvE,OAXiCC,EAAU,mBAAmB,YAAwC,CACrG,GAAGQ,EACH,OAAQ,CACP,QAASJ,CACV,EACA,YAAa,CACZ,QAASF,EACT,UAAAK,CACD,CACD,CAA+C,EASxC,IANNR,EAAE,eAAe,EACjBM,EAAe,gBAAkBJ,EAAS,QAC1CI,EAAe,UAAYE,EACpB,GAIT,CAAC,IAGAF,EAAe,gBAAkB,MAG3BA,CACR,CAEA,eAAeP",
|
|
6
|
+
"names": ["DragRegistry", "handleDragOver", "e", "component", "position", "target", "settings", "draggedElement", "dragOverResult", "placements", "placement", "originalEvent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import l from"./DragRegistry.js";function m(t,r,o,a,n={}){t.preventDefault();const e=l.getDraggedElement();if(!e&&n?.crossDnD)return;const i=n.originalEvent?{originalEvent:t}:{};r.fireDecoratorEvent("move",{...i,source:{element:e},destination:{element:o,placement:a}}),e?.focus()}export default m;
|
|
2
|
+
//# sourceMappingURL=handleDrop.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/util/dragAndDrop/handleDrop.ts"],
|
|
4
|
+
"sourcesContent": ["import type UI5Element from \"../../UI5Element.js\";\nimport type MovePlacement from \"../../types/MovePlacement.js\";\nimport type { DragAndDropSettings } from \"./DragRegistry.js\";\nimport DragRegistry from \"./DragRegistry.js\";\n\nfunction handleDrop<T extends UI5Element>(e: DragEvent, component: T, target: HTMLElement, placement: `${MovePlacement}`, settings: DragAndDropSettings = {}): void {\n\te.preventDefault();\n\tconst draggedElement = DragRegistry.getDraggedElement();\n\n\tif (!draggedElement && settings?.crossDnD) {\n\t\treturn;\n\t}\n\n\tconst originalEvent = settings.originalEvent ? { originalEvent: e } : {};\n\tcomponent.fireDecoratorEvent(\"move\" as keyof T[\"eventDetails\"], {\n\t\t...originalEvent,\n\t\tsource: {\n\t\t\telement: draggedElement,\n\t\t},\n\t\tdestination: {\n\t\t\telement: target,\n\t\t\tplacement,\n\t\t},\n\t} as T[\"eventDetails\"][keyof T[\"eventDetails\"]]);\n\n\tdraggedElement?.focus();\n}\n\nexport default handleDrop;\n"],
|
|
5
|
+
"mappings": "aAGA,OAAOA,MAAkB,oBAEzB,SAASC,EAAiCC,EAAcC,EAAcC,EAAqBC,EAA+BC,EAAgC,CAAC,EAAS,CACnKJ,EAAE,eAAe,EACjB,MAAMK,EAAiBP,EAAa,kBAAkB,EAEtD,GAAI,CAACO,GAAkBD,GAAU,SAChC,OAGD,MAAME,EAAgBF,EAAS,cAAgB,CAAE,cAAeJ,CAAE,EAAI,CAAC,EACvEC,EAAU,mBAAmB,OAAmC,CAC/D,GAAGK,EACH,OAAQ,CACP,QAASD,CACV,EACA,YAAa,CACZ,QAASH,EACT,UAAAC,CACD,CACD,CAA+C,EAE/CE,GAAgB,MAAM,CACvB,CAEA,eAAeN",
|
|
6
|
+
"names": ["DragRegistry", "handleDrop", "e", "component", "target", "placement", "settings", "draggedElement", "originalEvent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";let a=null,l=Date.now();const s=300,D=g=>(u,i,e)=>{const o=e.value;return e.value=function(t){let n=!1;if(t.target instanceof HTMLElement){const r=t.target.closest(g);r===a&&Date.now()-l>=s?n=!0:r!==a&&(a=r,l=Date.now())}o.apply(this,[t,n])},e};export default D;
|
|
2
|
+
//# sourceMappingURL=longDragOverHandler.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/util/dragAndDrop/longDragOverHandler.ts"],
|
|
4
|
+
"sourcesContent": ["let lastTarget: HTMLElement | null = null;\nlet lastTargetDragOverStart = Date.now();\nconst LONG_DRAG_OVER_THRESHOLD = 300;\n\nconst longDragOverHandler = (targetsSelector: string) => {\n\treturn (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>) => {\n\t\tconst origHandler = descriptor.value!;\n\n\t\tdescriptor.value = function handleDragOver(e: DragEvent) {\n\t\t\tlet isLongDragOver = false;\n\n\t\t\tif (e.target instanceof HTMLElement) {\n\t\t\t\tconst currentTarget = e.target.closest<HTMLElement>(targetsSelector);\n\n\t\t\t\tif (currentTarget === lastTarget && Date.now() - lastTargetDragOverStart >= LONG_DRAG_OVER_THRESHOLD) {\n\t\t\t\t\tisLongDragOver = true;\n\t\t\t\t} else if (currentTarget !== lastTarget) {\n\t\t\t\t\tlastTarget = currentTarget;\n\t\t\t\t\tlastTargetDragOverStart = Date.now();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\torigHandler.apply(this, [e, isLongDragOver]);\n\t\t};\n\n\t\treturn descriptor;\n\t};\n};\n\nexport default longDragOverHandler;\n"],
|
|
5
|
+
"mappings": "aAAA,IAAIA,EAAiC,KACjCC,EAA0B,KAAK,IAAI,EACvC,MAAMC,EAA2B,IAE3BC,EAAuBC,GACrB,CAACC,EAAaC,EAAqBC,IAAiF,CAC1H,MAAMC,EAAcD,EAAW,MAE/B,OAAAA,EAAW,MAAQ,SAAwBE,EAAc,CACxD,IAAIC,EAAiB,GAErB,GAAID,EAAE,kBAAkB,YAAa,CACpC,MAAME,EAAgBF,EAAE,OAAO,QAAqBL,CAAe,EAE/DO,IAAkBX,GAAc,KAAK,IAAI,EAAIC,GAA2BC,EAC3EQ,EAAiB,GACPC,IAAkBX,IAC5BA,EAAaW,EACbV,EAA0B,KAAK,IAAI,EAErC,CAEAO,EAAY,MAAM,KAAM,CAACC,EAAGC,CAAc,CAAC,CAC5C,EAEOH,CACR,EAGD,eAAeJ",
|
|
6
|
+
"names": ["lastTarget", "lastTargetDragOverStart", "LONG_DRAG_OVER_THRESHOLD", "longDragOverHandler", "targetsSelector", "target", "propertyKey", "descriptor", "origHandler", "e", "isLongDragOver", "currentTarget"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/escapeRegex.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Escapes a regular expression text so that it can be used in a regular expression.\n *\n * @param { string } text the string to be interpreted literally\n * @returns { string } the escaped string\n */\nconst escapeRegex = (text: string) => {\n\treturn text.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\nexport default escapeRegex;\n"],
|
|
5
|
+
"mappings": "aAMA,MAAMA,EAAeC,GACbA,EAAK,QAAQ,sBAAuB,MAAM,EAGlD,eAAeD",
|
|
6
|
+
"names": ["escapeRegex", "text"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/fixSafariActiveState.ts"],
|
|
4
|
+
"sourcesContent": ["import { isIOS, isSafari } from \"../Device.js\";\n\nlet listenerAttached = false;\n\nconst fixSafariActiveState = () => {\n\tif (isSafari() && isIOS() && !listenerAttached) {\n\t\t// Safari on iOS does not use the :active state unless there is a touchstart event handler on the <body> element\n\t\tdocument.body.addEventListener(\"touchstart\", () => {});\n\t\tlistenerAttached = true;\n\t}\n};\n\nexport default fixSafariActiveState;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAS,SAAAA,EAAO,YAAAC,MAAgB,eAEhC,IAAIC,EAAmB,GAEvB,MAAMC,EAAuB,IAAM,CAC9BF,EAAS,GAAKD,EAAM,GAAK,CAACE,IAE7B,SAAS,KAAK,iBAAiB,aAAc,IAAM,CAAC,CAAC,EACrDA,EAAmB,GAErB,EAEA,eAAeC",
|
|
6
|
+
"names": ["isIOS", "isSafari", "listenerAttached", "fixSafariActiveState"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const g=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,i=(n,t)=>(t=t||[],n.replace(g,(p,s,e,r,o)=>{if(s)return"'";if(e)return e.replace(/''/g,"'");if(r){const a=typeof r=="string"?parseInt(r):r;return String(t[a])}throw new Error(`[i18n]: pattern syntax error at pos ${o}`)}));export default i;
|
|
2
|
+
//# sourceMappingURL=formatMessage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/formatMessage.ts"],
|
|
4
|
+
"sourcesContent": ["const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\\{([0-9]+(?:\\s*,[^{}]*)?)\\}|[{}]/g;\n\nconst formatMessage = (text: string, values: Array<number | string>) => {\n\tvalues = values || [];\n\n\treturn text.replace(messageFormatRegEX, ($0, $1, $2, $3: string | number, offset: number) => {\n\t\tif ($1) {\n\t\t\treturn '\\''; /* eslint-disable-line */\n\t\t}\n\n\t\tif ($2) {\n\t\t\treturn $2.replace(/''/g, '\\''); /* eslint-disable-line */\n\t\t}\n\n\t\tif ($3) {\n\t\t\tconst ind = typeof $3 === \"string\" ? parseInt($3) : $3;\n\t\t\treturn String(values[ind]);\n\t\t}\n\n\t\tthrow new Error(`[i18n]: pattern syntax error at pos ${offset}`);\n\t});\n};\n\nexport default formatMessage;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAqB,qEAErBC,EAAgB,CAACC,EAAcC,KACpCA,EAASA,GAAU,CAAC,EAEbD,EAAK,QAAQF,EAAoB,CAACI,EAAIC,EAAIC,EAAIC,EAAqBC,IAAmB,CAC5F,GAAIH,EACH,MAAO,IAGR,GAAIC,EACH,OAAOA,EAAG,QAAQ,MAAO,GAAI,EAG9B,GAAIC,EAAI,CACP,MAAME,EAAM,OAAOF,GAAO,SAAW,SAASA,CAAE,EAAIA,EACpD,OAAO,OAAOJ,EAAOM,CAAG,CAAC,CAC1B,CAEA,MAAM,IAAI,MAAM,uCAAuCD,CAAM,EAAE,CAChE,CAAC,GAGF,eAAeP",
|
|
6
|
+
"names": ["messageFormatRegEX", "formatMessage", "text", "values", "$0", "$1", "$2", "$3", "offset", "ind"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import c from"./escapeRegex.js";import u from"../sap/base/security/encodeXML.js";function a(r,e,s,i){return r.replaceAll(new RegExp(c(e),`${i?"i":""}g`),s)}function f(r,e){if(!r||!e)return r;const s=n=>{const[g,l]=n.split("");for(;r.indexOf(n)>=0||e.indexOf(n)>=0;)n=`${g}${n}${l}`;return n},i=s("12"),t=s("34");let o=u(a(r,e,n=>`${i}${n}${t}`,!0));return[[i,"<b>"],[t,"</b>"]].forEach(([n,g])=>{o=a(o,n,g,!1)}),o}export default f;
|
|
2
|
+
//# sourceMappingURL=generateHighlightedMarkup.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/generateHighlightedMarkup.ts"],
|
|
4
|
+
"sourcesContent": ["import escapeRegex from \"./escapeRegex.js\";\n// @ts-ignore\nimport encodeXML from \"../sap/base/security/encodeXML.js\";\n\n// utility to replace all occurances of a string\nfunction replaceAll(text: string, find: string, replace: string | ((substring: string, ...args: any[]) => string), caseInsensitive: boolean) {\n\treturn text.replaceAll(new RegExp(escapeRegex(find), `${caseInsensitive ? \"i\" : \"\"}g`), replace as string);\n}\n\n/**\n * Generate markup for a raw string where a particular text is wrapped with some tag, by default `<b>` (bold) tag.\n * All inputs to this function are considered literal text, and special characters will always be escaped.\n * @param {string} text The text to add highlighting to\n * @param {string} textToHighlight The text which should be highlighted\n * @return {string} the markup HTML which contains all occurrances of the input text surrounded with a `<b>` tag.\n */\nfunction generateHighlightedMarkup(text: string, textToHighlight: string) {\n\tif (!text || !textToHighlight) {\n\t\treturn text;\n\t}\n\t// a token is some string that does not appear in either of the input strings\n\t// repeat the token until it does not appear in the string\n\tconst makeToken = (t: string) => {\n\t\tconst [s, e] = t.split(\"\");\n\t\twhile (text.indexOf(t) >= 0 || textToHighlight.indexOf(t) >= 0) {\n\t\t\tt = `${s}${t}${e}`;\n\t\t}\n\t\treturn t;\n\t};\n\t// It doesn't matter what characters are used as long as all 4 of them are unique\n\t// And also that encodeXML will not change these characters\n\tconst openToken = makeToken(\"12\");\n\tconst closeToken = makeToken(\"34\");\n\t// wrap every occurance of the textToHighlight using the open/close tokens (instead of markup at this point)\n\tlet result = encodeXML(replaceAll(text, textToHighlight, (match: string) => `${openToken}${match}${closeToken}`, true)) as string;\n\t// now replace the open and close tokens with the markup that we expect\n\t[[openToken, \"<b>\"], [closeToken, \"</b>\"]].forEach(([find, replace]) => {\n\t\tresult = replaceAll(result, find, replace, false);\n\t});\n\treturn result;\n}\n\nexport default generateHighlightedMarkup;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAOA,MAAiB,mBAExB,OAAOC,MAAe,oCAGtB,SAASC,EAAWC,EAAcC,EAAcC,EAAmEC,EAA0B,CAC5I,OAAOH,EAAK,WAAW,IAAI,OAAOH,EAAYI,CAAI,EAAG,GAAGE,EAAkB,IAAM,EAAE,GAAG,EAAGD,CAAiB,CAC1G,CASA,SAASE,EAA0BJ,EAAcK,EAAyB,CACzE,GAAI,CAACL,GAAQ,CAACK,EACb,OAAOL,EAIR,MAAMM,EAAaC,GAAc,CAChC,KAAM,CAACC,EAAGC,CAAC,EAAIF,EAAE,MAAM,EAAE,EACzB,KAAOP,EAAK,QAAQO,CAAC,GAAK,GAAKF,EAAgB,QAAQE,CAAC,GAAK,GAC5DA,EAAI,GAAGC,CAAC,GAAGD,CAAC,GAAGE,CAAC,GAEjB,OAAOF,CACR,EAGMG,EAAYJ,EAAU,IAAI,EAC1BK,EAAaL,EAAU,IAAI,EAEjC,IAAIM,EAASd,EAAUC,EAAWC,EAAMK,EAAkBQ,GAAkB,GAAGH,CAAS,GAAGG,CAAK,GAAGF,CAAU,GAAI,EAAI,CAAC,EAEtH,OAAC,CAACD,EAAW,KAAK,EAAG,CAACC,EAAY,MAAM,CAAC,EAAE,QAAQ,CAAC,CAACV,EAAMC,CAAO,IAAM,CACvEU,EAASb,EAAWa,EAAQX,EAAMC,EAAS,EAAK,CACjD,CAAC,EACMU,CACR,CAEA,eAAeR",
|
|
6
|
+
"names": ["escapeRegex", "encodeXML", "replaceAll", "text", "find", "replace", "caseInsensitive", "generateHighlightedMarkup", "textToHighlight", "makeToken", "t", "s", "e", "openToken", "closeToken", "result", "match"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/getActiveElement.ts"],
|
|
4
|
+
"sourcesContent": ["const getActiveElement = () => {\n\tlet element = document.activeElement;\n\n\twhile (element && element.shadowRoot && element.shadowRoot.activeElement) {\n\t\telement = element.shadowRoot.activeElement;\n\t}\n\n\treturn element;\n};\n\nexport default getActiveElement;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAmB,IAAM,CAC9B,IAAIC,EAAU,SAAS,cAEvB,KAAOA,GAAWA,EAAQ,YAAcA,EAAQ,WAAW,eAC1DA,EAAUA,EAAQ,WAAW,cAG9B,OAAOA,CACR,EAEA,eAAeD",
|
|
6
|
+
"names": ["getActiveElement", "element"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/getClassCopy.ts"],
|
|
4
|
+
"sourcesContent": ["import type UI5Element from \"../UI5Element.js\";\n\nconst getClassCopy = (klass: typeof UI5Element, constructorCallback: () => void) => {\n\treturn class classCopy extends klass {\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t\tconstructorCallback && constructorCallback();\n\t\t}\n\t};\n};\n\nexport default getClassCopy;\n"],
|
|
5
|
+
"mappings": "aAEA,MAAMA,EAAe,CAACC,EAA0BC,IACxC,cAAwBD,CAAM,CACpC,aAAc,CACb,MAAM,EACNC,GAAuBA,EAAoB,CAC5C,CACD,EAGD,eAAeF",
|
|
6
|
+
"names": ["getClassCopy", "klass", "constructorCallback"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/getDesigntimePropertyAsArray.ts"],
|
|
4
|
+
"sourcesContent": ["const designTimePropertyAsArray = (value: string) => {\n\tconst m = /\\$([-a-z0-9A-Z._]+)(?::([^$]*))?\\$/.exec(value);\n\treturn m && m[2] ? m[2].split(/,/) : null;\n};\n\nexport default designTimePropertyAsArray;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAA6BC,GAAkB,CACpD,MAAMC,EAAI,qCAAqC,KAAKD,CAAK,EACzD,OAAOC,GAAKA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAE,MAAM,GAAG,EAAI,IACtC,EAEA,eAAeF",
|
|
6
|
+
"names": ["designTimePropertyAsArray", "value", "m"]
|
|
7
|
+
}
|