@ui5/webcomponents-base 0.0.0-9261ac932 → 0.0.0-95afb1087
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 +831 -0
- package/LICENSE.txt +201 -0
- package/README.md +7 -7
- package/cypress.config.js +1 -1
- package/dist/.tsbuildinfobuild +1 -1
- package/dist/Assets-fetch.d.ts +1 -0
- package/dist/Assets-fetch.js +3 -0
- package/dist/Assets-fetch.js.map +1 -0
- package/dist/Assets-node.d.ts +12 -0
- package/dist/Assets-node.js +14 -0
- package/dist/Assets-node.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +3 -0
- package/dist/Assets.js.map +1 -0
- package/dist/Boot.js +2 -0
- package/dist/Boot.js.map +1 -1
- package/dist/CustomElementsRegistry.d.ts +2 -1
- package/dist/CustomElementsRegistry.js +5 -2
- package/dist/CustomElementsRegistry.js.map +1 -1
- package/dist/CustomElementsScopeUtils.d.ts +4 -2
- package/dist/CustomElementsScopeUtils.js +8 -1
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/DragAndDrop.d.ts +2 -0
- package/dist/DragAndDrop.js +5 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +1 -13
- package/dist/FeaturesRegistry.js +1 -37
- package/dist/FeaturesRegistry.js.map +1 -1
- package/dist/FontFace.js +0 -8
- package/dist/FontFace.js.map +1 -1
- package/dist/InitialConfiguration.js +7 -0
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Keys.d.ts +4 -1
- package/dist/Keys.js +4 -1
- package/dist/Keys.js.map +1 -1
- package/dist/ManagedStyles.d.ts +4 -6
- package/dist/ManagedStyles.js +6 -16
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/ScrollbarStyles.d.ts +2 -0
- package/dist/ScrollbarStyles.js +9 -0
- package/dist/ScrollbarStyles.js.map +1 -0
- package/dist/UI5Element.d.ts +48 -17
- package/dist/UI5Element.js +65 -42
- package/dist/UI5Element.js.map +1 -1
- package/dist/UI5ElementMetadata.d.ts +4 -9
- package/dist/UI5ElementMetadata.js +0 -7
- package/dist/UI5ElementMetadata.js.map +1 -1
- package/dist/asset-registries/Icons.d.ts +42 -8
- package/dist/asset-registries/Icons.js +51 -8
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.d.ts +133 -8
- package/dist/asset-registries/Illustrations.js +82 -1
- package/dist/asset-registries/Illustrations.js.map +1 -1
- package/dist/asset-registries/LocaleData.js +2 -1
- package/dist/asset-registries/LocaleData.js.map +1 -1
- package/dist/asset-registries/Themes.d.ts +3 -6
- package/dist/asset-registries/Themes.js +1 -2
- package/dist/asset-registries/Themes.js.map +1 -1
- package/dist/config/Language.d.ts +2 -1
- package/dist/config/Language.js +12 -1
- package/dist/config/Language.js.map +1 -1
- package/dist/config/Theme.js +1 -2
- package/dist/config/Theme.js.map +1 -1
- package/dist/config/ThemeRoot.d.ts +3 -1
- package/dist/config/ThemeRoot.js +3 -1
- package/dist/config/ThemeRoot.js.map +1 -1
- package/dist/css/MultipleDragGhost.css +17 -0
- package/dist/css/OpenUI5PopupStyles.css +5 -0
- package/dist/css/ScrollbarStyles.css +3 -0
- package/dist/custom-elements-internal.json +1797 -1736
- package/dist/custom-elements.json +1424 -1301
- package/dist/decorators/bound.d.ts +1 -0
- package/dist/decorators/bound.js +34 -0
- package/dist/decorators/bound.js.map +1 -0
- package/dist/decorators/customElement.d.ts +38 -0
- package/dist/decorators/customElement.js +1 -4
- package/dist/decorators/customElement.js.map +1 -1
- package/dist/decorators/event-strict.d.ts +15 -0
- package/dist/decorators/event-strict.js +26 -0
- package/dist/decorators/event-strict.js.map +1 -0
- package/dist/decorators/event.d.ts +1 -0
- package/dist/decorators/event.js +1 -0
- package/dist/decorators/event.js.map +1 -1
- package/dist/decorators/i18n.js +6 -0
- package/dist/decorators/i18n.js.map +1 -1
- package/dist/decorators.d.ts +4 -1
- package/dist/decorators.js +4 -1
- package/dist/decorators.js.map +1 -1
- package/dist/features/F6Navigation.d.ts +1 -0
- package/dist/features/F6Navigation.js +39 -12
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/features/OpenUI5Enablement.d.ts +1 -1
- package/dist/features/OpenUI5Support.d.ts +5 -0
- package/dist/features/OpenUI5Support.js +42 -29
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
- package/dist/features/insertOpenUI5PopupStyles.js +9 -0
- package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
- package/dist/features/patchPopup.d.ts +17 -4
- package/dist/features/patchPopup.js +67 -8
- 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 +6 -6
- package/dist/generated/VersionInfo.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
- package/dist/generated/css/BusyIndicator.css.js +1 -6
- package/dist/generated/css/BusyIndicator.css.js.map +1 -1
- package/dist/generated/css/FontFace.css.d.ts +2 -3
- package/dist/generated/css/FontFace.css.js +36 -6
- package/dist/generated/css/FontFace.css.js.map +1 -1
- package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
- package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
- package/dist/generated/css/ScrollbarStyles.css.js +2 -0
- package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
- package/dist/generated/css/SystemCSSVars.css.js +1 -6
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
- package/dist/generated/i18n/i18n-defaults.js +3 -0
- package/dist/generated/i18n/i18n-defaults.js.map +1 -0
- package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
- package/dist/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +2 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/json-imports/i18n.d.ts +1 -0
- package/dist/generated/json-imports/i18n.js +2 -0
- package/dist/generated/json-imports/i18n.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.js +91 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +4 -0
- package/dist/jsx-dev-runtime.js +43 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.d.ts +51 -0
- package/dist/jsx-runtime.js +27 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-utils.d.ts +3 -0
- package/dist/jsx-utils.js +48 -0
- package/dist/jsx-utils.js.map +1 -0
- package/dist/locale/nextFallbackLocale.js +6 -2
- package/dist/locale/nextFallbackLocale.js.map +1 -1
- package/dist/prod/Assets-fetch.js +2 -0
- package/dist/prod/Assets-fetch.js.map +7 -0
- package/dist/prod/Assets-node.js +2 -0
- package/dist/prod/Assets-node.js.map +7 -0
- package/dist/prod/Assets.js +2 -0
- package/dist/prod/Assets.js.map +7 -0
- package/dist/prod/Boot.js +1 -1
- package/dist/prod/Boot.js.map +3 -3
- package/dist/prod/CustomElementsRegistry.js +5 -5
- package/dist/prod/CustomElementsRegistry.js.map +3 -3
- package/dist/prod/CustomElementsScopeUtils.js +1 -1
- package/dist/prod/CustomElementsScopeUtils.js.map +3 -3
- package/dist/prod/DragAndDrop.js +2 -0
- package/dist/prod/DragAndDrop.js.map +7 -0
- package/dist/prod/FeaturesRegistry.js +1 -1
- package/dist/prod/FeaturesRegistry.js.map +3 -3
- package/dist/prod/FontFace.js +1 -1
- package/dist/prod/FontFace.js.map +3 -3
- package/dist/prod/InitialConfiguration.js +1 -1
- package/dist/prod/InitialConfiguration.js.map +2 -2
- package/dist/prod/Keys.js +1 -1
- package/dist/prod/Keys.js.map +3 -3
- package/dist/prod/ManagedStyles.js +1 -1
- package/dist/prod/ManagedStyles.js.map +3 -3
- package/dist/prod/ScrollbarStyles.js +2 -0
- package/dist/prod/ScrollbarStyles.js.map +7 -0
- package/dist/prod/UI5Element.js +1 -1
- package/dist/prod/UI5Element.js.map +3 -3
- package/dist/prod/UI5ElementMetadata.js +1 -1
- package/dist/prod/UI5ElementMetadata.js.map +2 -2
- package/dist/prod/asset-registries/Icons.js +1 -1
- package/dist/prod/asset-registries/Icons.js.map +3 -3
- package/dist/prod/asset-registries/Illustrations.js +1 -1
- package/dist/prod/asset-registries/Illustrations.js.map +3 -3
- package/dist/prod/asset-registries/LocaleData.js +1 -1
- package/dist/prod/asset-registries/LocaleData.js.map +2 -2
- package/dist/prod/asset-registries/Themes.js +1 -1
- package/dist/prod/asset-registries/Themes.js.map +2 -2
- package/dist/prod/config/Language.js +1 -1
- package/dist/prod/config/Language.js.map +3 -3
- package/dist/prod/config/Theme.js +1 -1
- package/dist/prod/config/Theme.js.map +3 -3
- package/dist/prod/config/ThemeRoot.js.map +2 -2
- package/dist/prod/decorators/bound.js +2 -0
- package/dist/prod/decorators/bound.js.map +7 -0
- package/dist/prod/decorators/customElement.js +1 -1
- package/dist/prod/decorators/customElement.js.map +3 -3
- 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.map +2 -2
- package/dist/prod/decorators/i18n.js +1 -1
- package/dist/prod/decorators/i18n.js.map +2 -2
- package/dist/prod/decorators.js +1 -1
- package/dist/prod/decorators.js.map +3 -3
- package/dist/prod/features/F6Navigation.js +1 -1
- package/dist/prod/features/F6Navigation.js.map +3 -3
- package/dist/prod/features/OpenUI5Support.js +1 -1
- package/dist/prod/features/OpenUI5Support.js.map +3 -3
- package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
- package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
- package/dist/prod/features/patchPopup.js +1 -1
- package/dist/prod/features/patchPopup.js.map +3 -3
- package/dist/prod/generated/AssetParameters.js +1 -1
- package/dist/prod/generated/AssetParameters.js.map +2 -2
- package/dist/prod/generated/VersionInfo.js +1 -1
- package/dist/prod/generated/VersionInfo.js.map +2 -2
- package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/prod/generated/css/BusyIndicator.css.js +1 -1
- package/dist/prod/generated/css/BusyIndicator.css.js.map +3 -3
- package/dist/prod/generated/css/FontFace.css.js +36 -1
- package/dist/prod/generated/css/FontFace.css.js.map +3 -3
- package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
- package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
- package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
- package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
- package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
- package/dist/prod/generated/css/SystemCSSVars.css.js +1 -1
- package/dist/prod/generated/css/SystemCSSVars.css.js.map +3 -3
- package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
- package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-node.js +2 -0
- package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n.js +2 -0
- package/dist/prod/generated/json-imports/i18n.js.map +7 -0
- package/dist/prod/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/nextFallbackLocale.js +1 -1
- package/dist/prod/locale/nextFallbackLocale.js.map +3 -3
- package/dist/prod/renderer/JsxRenderer.js +2 -0
- package/dist/prod/renderer/JsxRenderer.js.map +7 -0
- package/dist/prod/renderer/LitRenderer.js +1 -1
- package/dist/prod/renderer/LitRenderer.js.map +3 -3
- package/dist/prod/renderer/executeTemplate.js +1 -1
- package/dist/prod/renderer/executeTemplate.js.map +3 -3
- package/dist/prod/ssr-dom-shim.js +1 -1
- package/dist/prod/ssr-dom-shim.js.map +3 -3
- package/dist/prod/theming/applyTheme.js +1 -1
- package/dist/prod/theming/applyTheme.js.map +3 -3
- package/dist/prod/theming/getStylesString.js +1 -1
- package/dist/prod/theming/getStylesString.js.map +2 -2
- package/dist/prod/theming/getThemeDesignerTheme.js +1 -1
- package/dist/prod/theming/getThemeDesignerTheme.js.map +3 -3
- 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/SortOrder.js +2 -0
- package/dist/prod/types/SortOrder.js.map +7 -0
- package/dist/prod/updateShadowRoot.js +1 -1
- package/dist/prod/updateShadowRoot.js.map +3 -3
- package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
- package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
- package/dist/prod/util/ColorConversion.js +1 -1
- package/dist/prod/util/ColorConversion.js.map +3 -3
- package/dist/prod/util/FocusableElements.js +1 -1
- package/dist/prod/util/FocusableElements.js.map +3 -3
- package/dist/prod/util/HTMLSanitizer.js.map +1 -1
- package/dist/prod/util/SelectionAssistant.js +1 -1
- package/dist/prod/util/SelectionAssistant.js.map +3 -3
- package/dist/prod/util/StringHelper.js +1 -1
- package/dist/prod/util/StringHelper.js.map +3 -3
- package/dist/prod/util/TabbableElements.js +1 -1
- package/dist/prod/util/TabbableElements.js.map +2 -2
- package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
- package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
- package/dist/prod/util/dragAndDrop/findClosestPosition.js +1 -1
- package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +3 -3
- 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/getFastNavigationGroups.js +1 -1
- package/dist/prod/util/getFastNavigationGroups.js.map +2 -2
- package/dist/prod/util/getParentElement.js +1 -1
- package/dist/prod/util/getParentElement.js.map +3 -3
- package/dist/prod/util/hash2str.js +2 -0
- package/dist/prod/util/hash2str.js.map +7 -0
- package/dist/prod/util/isElementHidden.js +1 -1
- package/dist/prod/util/isElementHidden.js.map +3 -3
- package/dist/prod/util/isEventMarked.js +2 -0
- package/dist/prod/util/isEventMarked.js.map +7 -0
- package/dist/prod/util/throttle.js +2 -0
- package/dist/prod/util/throttle.js.map +7 -0
- package/dist/prod/util/toLowercaseEnumValue.js +2 -0
- package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
- package/dist/prod/util/valueStateNavigation.js +2 -0
- package/dist/prod/util/valueStateNavigation.js.map +7 -0
- package/dist/prod/validateThemeRoot.js +1 -1
- package/dist/prod/validateThemeRoot.js.map +2 -2
- package/dist/renderer/JsxRenderer.d.ts +3 -0
- package/dist/renderer/JsxRenderer.js +26 -0
- package/dist/renderer/JsxRenderer.js.map +1 -0
- package/dist/renderer/LitRenderer.js +4 -3
- package/dist/renderer/LitRenderer.js.map +1 -1
- package/dist/renderer/executeTemplate.d.ts +3 -12
- package/dist/renderer/executeTemplate.js +1 -20
- package/dist/renderer/executeTemplate.js.map +1 -1
- package/dist/ssr-dom-shim.js +52 -1
- package/dist/ssr-dom-shim.js.map +1 -1
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +21 -30
- package/dist/theming/applyTheme.js.map +1 -1
- package/dist/theming/getStylesString.js +2 -4
- package/dist/theming/getStylesString.js.map +1 -1
- package/dist/theming/getThemeDesignerTheme.js +2 -1
- package/dist/theming/getThemeDesignerTheme.js.map +1 -1
- package/dist/thirdparty/preact/jsx.d.ts +2616 -0
- package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
- package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/dist/thirdparty/preact/preact.module.d.ts +398 -0
- package/dist/thirdparty/preact/preact.module.js +1 -0
- package/dist/types/SortOrder.d.ts +24 -0
- package/dist/types/SortOrder.js +26 -0
- package/dist/types/SortOrder.js.map +1 -0
- package/dist/types.d.ts +30 -27
- package/dist/types.js.map +1 -1
- package/dist/updateShadowRoot.js +1 -2
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +3 -1
- package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
- package/dist/util/AccessibilityTextsHelper.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +2 -1
- package/dist/util/ColorConversion.js +35 -23
- package/dist/util/ColorConversion.js.map +1 -1
- package/dist/util/FocusableElements.js +43 -15
- 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/SelectionAssistant.js +0 -8
- package/dist/util/SelectionAssistant.js.map +1 -1
- package/dist/util/StringHelper.d.ts +2 -1
- package/dist/util/StringHelper.js +4 -1
- package/dist/util/StringHelper.js.map +1 -1
- package/dist/util/TabbableElements.js +2 -2
- package/dist/util/TabbableElements.js.map +1 -1
- package/dist/util/dragAndDrop/DragRegistry.d.ts +35 -8
- package/dist/util/dragAndDrop/DragRegistry.js +42 -50
- package/dist/util/dragAndDrop/DragRegistry.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/dragAndDrop/handleDragOver.d.ts +16 -0
- package/dist/util/dragAndDrop/handleDragOver.js +42 -0
- package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
- package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
- package/dist/util/dragAndDrop/handleDrop.js +22 -0
- package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +16 -5
- package/dist/util/getFastNavigationGroups.js +6 -1
- package/dist/util/getFastNavigationGroups.js.map +1 -1
- package/dist/util/getParentElement.d.ts +1 -1
- package/dist/util/getParentElement.js +2 -2
- package/dist/util/getParentElement.js.map +1 -1
- package/dist/util/hash2str.d.ts +1 -0
- package/dist/util/hash2str.js +14 -0
- package/dist/util/hash2str.js.map +1 -0
- package/dist/util/isElementHidden.js +2 -1
- package/dist/util/isElementHidden.js.map +1 -1
- package/dist/util/isEventMarked.d.ts +2 -0
- package/dist/util/isEventMarked.js +6 -0
- package/dist/util/isEventMarked.js.map +1 -0
- package/dist/util/throttle.d.ts +2 -0
- package/dist/util/throttle.js +20 -0
- package/dist/util/throttle.js.map +1 -0
- package/dist/util/toLowercaseEnumValue.d.ts +3 -0
- package/dist/util/toLowercaseEnumValue.js +4 -0
- package/dist/util/toLowercaseEnumValue.js.map +1 -0
- package/dist/util/valueStateNavigation.d.ts +8 -0
- package/dist/util/valueStateNavigation.js +40 -0
- package/dist/util/valueStateNavigation.js.map +1 -0
- package/dist/validateThemeRoot.js +6 -2
- package/dist/validateThemeRoot.js.map +1 -1
- package/dist/vscode.html-custom-data.json +1 -1
- package/package-scripts.cjs +65 -34
- package/package.json +38 -25
- package/src/css/MultipleDragGhost.css +17 -0
- package/src/css/OpenUI5PopupStyles.css +5 -0
- package/src/css/ScrollbarStyles.css +3 -0
- package/src/i18n/messagebundle.properties +5 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/src/thirdparty/preact/preact.module.js +1 -0
- package/src/thirdparty/preact/version.txt +1 -0
- package/tsconfig.json +0 -1
- package/cypress/specs/Accessor.cy.ts +0 -79
- package/cypress/specs/Boot.cy.ts +0 -23
- package/cypress/specs/ConfigurationChange.cy.ts +0 -41
- package/cypress/specs/ConfigurationScript.cy.ts +0 -116
- package/cypress/specs/ConfigurationURL.cy.ts +0 -182
- package/cypress/specs/CustomMount.cy.ts +0 -34
- package/cypress/specs/CustomTheme.cy.ts +0 -36
- package/cypress/specs/EventProvider.cy.ts +0 -59
- package/cypress/specs/SystemDOMElements.cy.ts +0 -8
- package/cypress/specs/Theming.cy.ts +0 -74
- package/cypress/specs/UI5ElementInvalidation.cy.ts +0 -207
- package/cypress/specs/UI5ElementLifecycle.cy.ts +0 -82
- package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +0 -62
- package/cypress/specs/UI5ElementMetadataExt.cy.ts +0 -42
- package/cypress/specs/UI5ElementPropertyValidation.cy.ts +0 -16
- package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +0 -113
- package/cypress/specs/UI5ElementShadowDOM.cy.ts +0 -30
- package/cypress/specs/UI5ElementSlots.cy.ts +0 -116
- package/cypress/specs/WithComplexTemplate.cy.ts +0 -32
- package/cypress/tsconfig.json +0 -20
- package/dist/MarkedEvents.d.ts +0 -9
- package/dist/MarkedEvents.js +0 -15
- package/dist/MarkedEvents.js.map +0 -1
- package/dist/css/FontFace.css +0 -96
- package/dist/css/OverrideFontFace.css +0 -32
- package/dist/generated/css/OverrideFontFace.css.d.ts +0 -3
- package/dist/generated/css/OverrideFontFace.css.js +0 -7
- package/dist/generated/css/OverrideFontFace.css.js.map +0 -1
- package/dist/prod/MarkedEvents.js +0 -2
- package/dist/prod/MarkedEvents.js.map +0 -7
- package/dist/prod/generated/css/OverrideFontFace.css.js +0 -2
- package/dist/prod/generated/css/OverrideFontFace.css.js.map +0 -7
- package/dist/prod/types/AriaHasPopup.js +0 -2
- package/dist/prod/types/AriaHasPopup.js.map +0 -7
- package/dist/prod/types/AriaLandmarkRole.js +0 -2
- package/dist/prod/types/AriaLandmarkRole.js.map +0 -7
- package/dist/prod/types/AriaRole.js +0 -2
- package/dist/prod/types/AriaRole.js.map +0 -7
- package/dist/prod/util/AriaLabelHelper.js +0 -2
- package/dist/prod/util/AriaLabelHelper.js.map +0 -7
- package/dist/prod/util/getEffectiveScrollbarStyle.js +0 -26
- package/dist/prod/util/getEffectiveScrollbarStyle.js.map +0 -7
- package/dist/prod/util/isElementContainingBlock.js +0 -2
- package/dist/prod/util/isElementContainingBlock.js.map +0 -7
- package/dist/types/AriaHasPopup.d.ts +0 -32
- package/dist/types/AriaHasPopup.js +0 -34
- package/dist/types/AriaHasPopup.js.map +0 -1
- package/dist/types/AriaLandmarkRole.d.ts +0 -79
- package/dist/types/AriaLandmarkRole.js +0 -81
- package/dist/types/AriaLandmarkRole.js.map +0 -1
- package/dist/types/AriaRole.d.ts +0 -27
- package/dist/types/AriaRole.js +0 -29
- package/dist/types/AriaRole.js.map +0 -1
- package/dist/util/AriaLabelHelper.js.map +0 -1
- package/dist/util/getEffectiveScrollbarStyle.d.ts +0 -2
- package/dist/util/getEffectiveScrollbarStyle.js +0 -34
- package/dist/util/getEffectiveScrollbarStyle.js.map +0 -1
- package/dist/util/isElementContainingBlock.d.ts +0 -2
- package/dist/util/isElementContainingBlock.js +0 -11
- package/dist/util/isElementContainingBlock.js.map +0 -1
- package/index.js +0 -214
- package/src/css/FontFace.css +0 -96
- package/src/css/OverrideFontFace.css +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringHelper.js","sourceRoot":"","sources":["../../src/util/StringHelper.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,OAAO,
|
|
1
|
+
{"version":3,"file":"StringHelper.js","sourceRoot":"","sources":["../../src/util/StringHelper.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAClD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GACjB,CAAC","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"]}
|
|
@@ -7,7 +7,7 @@ import isElementTabbable from "./isElementTabbable.js";
|
|
|
7
7
|
* @returns { Array<HTMLElement> } the tabbable elements
|
|
8
8
|
*/
|
|
9
9
|
const getTabbableElements = (el) => {
|
|
10
|
-
return getTabbables([...el.children]);
|
|
10
|
+
return getTabbables(el.tagName === "SLOT" ? [el] : [...el.children]);
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* Returns the last tabbable element within the provided HTMLElement.
|
|
@@ -37,7 +37,7 @@ const getTabbables = (nodes, tabbables) => {
|
|
|
37
37
|
tabbableElements.push(currentElement);
|
|
38
38
|
}
|
|
39
39
|
if (currentElement.tagName === "SLOT") {
|
|
40
|
-
getTabbables(currentElement.
|
|
40
|
+
getTabbables(currentElement.assignedElements(), tabbableElements);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
43
|
const children = currentElement.shadowRoot ? currentElement.shadowRoot.children : currentElement.children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabbableElements.js","sourceRoot":"","sources":["../../src/util/TabbableElements.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACnE,OAAO,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TabbableElements.js","sourceRoot":"","sources":["../../src/util/TabbableElements.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACnE,OAAO,YAAY,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACtE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,SAA8B,EAAsB,EAAE;IAC/F,MAAM,gBAAgB,GAAG,SAAS,IAAI,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC3B,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3F,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,WAA0B,CAAC;QAClD,IAAI,cAAc,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACxD,OAAO;QACR,CAAC;QAED,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvC,YAAY,CAAE,cAAkC,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC1G,YAAY,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EACN,mBAAmB,EACnB,sBAAsB,GACtB,CAAC","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.tagName === \"SLOT\" ? [el] : [...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).assignedElements(), 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"]}
|
|
@@ -1,12 +1,39 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type MovePlacement from "../../types/MovePlacement.js";
|
|
2
|
+
/**
|
|
3
|
+
* Starts a multiple drag operation by creating a drag ghost element.
|
|
4
|
+
* The drag ghost will be displayed when dragging multiple items.
|
|
5
|
+
*
|
|
6
|
+
* @param {number} count - The number of items being dragged.
|
|
7
|
+
* @param {DragEvent} e - The drag event that triggered the operation.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
declare const startMultipleDrag: (count: number, e: DragEvent) => Promise<void>;
|
|
11
|
+
type DragAndDropSettings = {
|
|
12
|
+
/**
|
|
13
|
+
* Allow cross-browser and file drag and drop.
|
|
14
|
+
*/
|
|
15
|
+
crossDnD?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Pass the original event in the event parameters.
|
|
18
|
+
*/
|
|
19
|
+
originalEvent?: boolean;
|
|
20
|
+
};
|
|
21
|
+
type MoveEventDetail = {
|
|
22
|
+
originalEvent: Event;
|
|
23
|
+
source: {
|
|
24
|
+
element: HTMLElement;
|
|
25
|
+
};
|
|
26
|
+
destination: {
|
|
27
|
+
element: HTMLElement;
|
|
28
|
+
placement: `${MovePlacement}`;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
4
31
|
declare const DragRegistry: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
addSelfManagedArea: (area: HTMLElement | ShadowRoot) => (element: HTMLElement | null) => void;
|
|
8
|
-
removeSelfManagedArea: (area: HTMLElement | ShadowRoot) => void;
|
|
32
|
+
setDraggedElement: (element: HTMLElement | null) => void;
|
|
33
|
+
clearDraggedElement: () => void;
|
|
9
34
|
getDraggedElement: () => HTMLElement | null;
|
|
35
|
+
startMultipleDrag: (count: number, e: DragEvent) => Promise<void>;
|
|
10
36
|
};
|
|
11
37
|
export default DragRegistry;
|
|
12
|
-
export
|
|
38
|
+
export { startMultipleDrag, };
|
|
39
|
+
export type { DragAndDropSettings, MoveEventDetail, };
|
|
@@ -1,66 +1,58 @@
|
|
|
1
|
+
import MultipleDragGhostCss from "../../generated/css/MultipleDragGhost.css.js";
|
|
2
|
+
import { getI18nBundle } from "../../i18nBundle.js";
|
|
3
|
+
import { DRAG_DROP_MULTIPLE_TEXT, } from "../../generated/i18n/i18n-defaults.js";
|
|
4
|
+
const MIN_MULTI_DRAG_COUNT = 2;
|
|
1
5
|
let draggedElement = null;
|
|
2
|
-
let globalHandlersAttached = false;
|
|
3
|
-
const subscribers = new Set();
|
|
4
|
-
const selfManagedDragAreas = new Set();
|
|
5
|
-
const ondragstart = (e) => {
|
|
6
|
-
if (!e.dataTransfer || !(e.target instanceof HTMLElement)) {
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
if (!selfManagedDragAreas.has(e.target)) {
|
|
10
|
-
draggedElement = e.target;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
const ondragend = () => {
|
|
14
|
-
draggedElement = null;
|
|
15
|
-
};
|
|
16
|
-
const ondrop = () => {
|
|
17
|
-
draggedElement = null;
|
|
18
|
-
};
|
|
19
6
|
const setDraggedElement = (element) => {
|
|
20
7
|
draggedElement = element;
|
|
21
8
|
};
|
|
9
|
+
const clearDraggedElement = () => {
|
|
10
|
+
draggedElement = null;
|
|
11
|
+
};
|
|
22
12
|
const getDraggedElement = () => {
|
|
23
13
|
return draggedElement;
|
|
24
14
|
};
|
|
25
|
-
const
|
|
26
|
-
|
|
15
|
+
const createDefaultMultiDragElement = async (count) => {
|
|
16
|
+
const dragElement = document.createElement("div");
|
|
17
|
+
const i18nBundle = await getI18nBundle("@ui5/webcomponents-base");
|
|
18
|
+
const dragElementShadow = dragElement.attachShadow({ mode: "open" });
|
|
19
|
+
const styles = new CSSStyleSheet();
|
|
20
|
+
styles.replaceSync(MultipleDragGhostCss);
|
|
21
|
+
dragElementShadow.adoptedStyleSheets = [styles];
|
|
22
|
+
dragElementShadow.textContent = i18nBundle.getText(DRAG_DROP_MULTIPLE_TEXT, count);
|
|
23
|
+
return dragElement;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Starts a multiple drag operation by creating a drag ghost element.
|
|
27
|
+
* The drag ghost will be displayed when dragging multiple items.
|
|
28
|
+
*
|
|
29
|
+
* @param {number} count - The number of items being dragged.
|
|
30
|
+
* @param {DragEvent} e - The drag event that triggered the operation.
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
const startMultipleDrag = async (count, e) => {
|
|
34
|
+
if (count < MIN_MULTI_DRAG_COUNT) {
|
|
35
|
+
console.warn(`Cannot start multiple drag with count ${count}. Minimum is ${MIN_MULTI_DRAG_COUNT}.`); // eslint-disable-line
|
|
27
36
|
return;
|
|
28
37
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
document.body.addEventListener("drop", ondrop);
|
|
32
|
-
};
|
|
33
|
-
const detachGlobalHandlers = () => {
|
|
34
|
-
document.body.removeEventListener("dragstart", ondragstart);
|
|
35
|
-
document.body.removeEventListener("dragend", ondragend);
|
|
36
|
-
document.body.removeEventListener("drop", ondrop);
|
|
37
|
-
globalHandlersAttached = false;
|
|
38
|
-
};
|
|
39
|
-
const subscribe = (subscriber) => {
|
|
40
|
-
subscribers.add(subscriber);
|
|
41
|
-
if (!globalHandlersAttached) {
|
|
42
|
-
attachGlobalHandlers();
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
const unsubscribe = (subscriber) => {
|
|
46
|
-
subscribers.delete(subscriber);
|
|
47
|
-
if (subscribers.size === 0 && globalHandlersAttached) {
|
|
48
|
-
detachGlobalHandlers();
|
|
38
|
+
if (!e.dataTransfer) {
|
|
39
|
+
return;
|
|
49
40
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
41
|
+
const customDragElement = await createDefaultMultiDragElement(count);
|
|
42
|
+
// Add to document body temporarily
|
|
43
|
+
document.body.appendChild(customDragElement);
|
|
44
|
+
e.dataTransfer.setDragImage(customDragElement, 0, 0);
|
|
45
|
+
// Clean up the temporary element after the drag operation starts
|
|
46
|
+
requestAnimationFrame(() => {
|
|
47
|
+
customDragElement.remove();
|
|
48
|
+
});
|
|
57
49
|
};
|
|
58
50
|
const DragRegistry = {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
addSelfManagedArea,
|
|
62
|
-
removeSelfManagedArea,
|
|
51
|
+
setDraggedElement,
|
|
52
|
+
clearDraggedElement,
|
|
63
53
|
getDraggedElement,
|
|
54
|
+
startMultipleDrag,
|
|
64
55
|
};
|
|
65
56
|
export default DragRegistry;
|
|
57
|
+
export { startMultipleDrag, };
|
|
66
58
|
//# sourceMappingURL=DragRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,8CAA8C,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACN,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,IAAI,cAAc,GAAuB,IAAI,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,OAA2B,EAAE,EAAE;IACzD,cAAc,GAAG,OAAO,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,cAAc,GAAG,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,KAAa,EAAwB,EAAE;IACnF,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAEzC,iBAAiB,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAEnF,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAa,EAAE,CAAY,EAAE,EAAE;IAC/D,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,gBAAgB,oBAAoB,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAC3H,OAAO;IACR,CAAC;IAED,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO;IACR,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAErE,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE7C,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAErD,iEAAiE;IACjE,qBAAqB,CAAC,GAAG,EAAE;QAC1B,iBAAiB,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAwBF,MAAM,YAAY,GAAG;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EACN,iBAAiB,GACjB,CAAC","sourcesContent":["import type MovePlacement from \"../../types/MovePlacement.js\";\nimport MultipleDragGhostCss from \"../../generated/css/MultipleDragGhost.css.js\";\n\nimport { getI18nBundle } from \"../../i18nBundle.js\";\n\nimport {\n\tDRAG_DROP_MULTIPLE_TEXT,\n} from \"../../generated/i18n/i18n-defaults.js\";\n\nconst MIN_MULTI_DRAG_COUNT = 2;\n\nlet draggedElement: HTMLElement | null = null;\n\nconst setDraggedElement = (element: HTMLElement | null) => {\n\tdraggedElement = element;\n};\n\nconst clearDraggedElement = () => {\n\tdraggedElement = null;\n};\n\nconst getDraggedElement = () => {\n\treturn draggedElement;\n};\n\nconst createDefaultMultiDragElement = async (count: number): Promise<HTMLElement> => {\n\tconst dragElement = document.createElement(\"div\");\n\tconst i18nBundle = await getI18nBundle(\"@ui5/webcomponents-base\");\n\n\tconst dragElementShadow = dragElement.attachShadow({ mode: \"open\" });\n\n\tconst styles = new CSSStyleSheet();\n\tstyles.replaceSync(MultipleDragGhostCss);\n\n\tdragElementShadow.adoptedStyleSheets = [styles];\n\tdragElementShadow.textContent = i18nBundle.getText(DRAG_DROP_MULTIPLE_TEXT, count);\n\n\treturn dragElement;\n};\n\n/**\n * Starts a multiple drag operation by creating a drag ghost element.\n * The drag ghost will be displayed when dragging multiple items.\n *\n * @param {number} count - The number of items being dragged.\n * @param {DragEvent} e - The drag event that triggered the operation.\n * @public\n */\nconst startMultipleDrag = async (count: number, e: DragEvent) => {\n\tif (count < MIN_MULTI_DRAG_COUNT) {\n\t\tconsole.warn(`Cannot start multiple drag with count ${count}. Minimum is ${MIN_MULTI_DRAG_COUNT}.`); // eslint-disable-line\n\t\treturn;\n\t}\n\n\tif (!e.dataTransfer) {\n\t\treturn;\n\t}\n\n\tconst customDragElement = await createDefaultMultiDragElement(count);\n\n\t// Add to document body temporarily\n\tdocument.body.appendChild(customDragElement);\n\n\te.dataTransfer.setDragImage(customDragElement, 0, 0);\n\n\t// Clean up the temporary element after the drag operation starts\n\trequestAnimationFrame(() => {\n\t\tcustomDragElement.remove();\n\t});\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\tsetDraggedElement,\n\tclearDraggedElement,\n\tgetDraggedElement,\n\tstartMultipleDrag,\n};\n\nexport default DragRegistry;\nexport {\n\tstartMultipleDrag,\n};\n\nexport type {\n\tDragAndDropSettings,\n\tMoveEventDetail,\n};\n"]}
|
|
@@ -8,4 +8,5 @@ declare const findClosestPositionsByKey: (elements: Array<HTMLElement>, element:
|
|
|
8
8
|
element: HTMLElement;
|
|
9
9
|
placement: MovePlacement;
|
|
10
10
|
}[];
|
|
11
|
-
|
|
11
|
+
declare const isMovingKey: (key: string) => boolean;
|
|
12
|
+
export { findClosestPosition, findClosestPositionsByKey, isMovingKey, };
|
|
@@ -55,48 +55,52 @@ const findClosestPosition = (elements, point, layoutOrientation) => {
|
|
|
55
55
|
placements,
|
|
56
56
|
};
|
|
57
57
|
};
|
|
58
|
+
const _moveBackward = (elements, index) => {
|
|
59
|
+
index--;
|
|
60
|
+
if (index < 0) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return [{
|
|
64
|
+
element: elements[index],
|
|
65
|
+
placement: MovePlacement.Before,
|
|
66
|
+
}];
|
|
67
|
+
};
|
|
68
|
+
const _moveForward = (elements, index) => {
|
|
69
|
+
index++;
|
|
70
|
+
if (index >= elements.length) {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
return [{
|
|
74
|
+
element: elements[index],
|
|
75
|
+
placement: MovePlacement.After,
|
|
76
|
+
}];
|
|
77
|
+
};
|
|
78
|
+
const keyToPlacement = {
|
|
79
|
+
ArrowLeft: _moveBackward,
|
|
80
|
+
ArrowUp: _moveBackward,
|
|
81
|
+
ArrowRight: _moveForward,
|
|
82
|
+
ArrowDown: _moveForward,
|
|
83
|
+
Home: (elements, index) => {
|
|
84
|
+
return elements.slice(0, index).map(el => ({
|
|
85
|
+
element: el,
|
|
86
|
+
placement: MovePlacement.Before,
|
|
87
|
+
}));
|
|
88
|
+
},
|
|
89
|
+
End: (elements, index) => {
|
|
90
|
+
return elements.slice(index + 1, elements.length).reverse().map(el => ({
|
|
91
|
+
element: el,
|
|
92
|
+
placement: MovePlacement.After,
|
|
93
|
+
}));
|
|
94
|
+
},
|
|
95
|
+
};
|
|
58
96
|
const findClosestPositionsByKey = (elements, element, e) => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
switch (e.key) {
|
|
62
|
-
case "ArrowLeft":
|
|
63
|
-
case "ArrowUp":
|
|
64
|
-
index--;
|
|
65
|
-
if (index >= 0) {
|
|
66
|
-
positions.push({
|
|
67
|
-
element: elements[index],
|
|
68
|
-
placement: MovePlacement.Before,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
case "ArrowRight":
|
|
73
|
-
case "ArrowDown":
|
|
74
|
-
index++;
|
|
75
|
-
if (index < elements.length) {
|
|
76
|
-
positions.push({
|
|
77
|
-
element: elements[index],
|
|
78
|
-
placement: MovePlacement.After,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
case "Home":
|
|
83
|
-
elements.forEach(el => {
|
|
84
|
-
positions.push({
|
|
85
|
-
element: el,
|
|
86
|
-
placement: MovePlacement.Before,
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
break;
|
|
90
|
-
case "End":
|
|
91
|
-
elements.reverse().forEach(el => {
|
|
92
|
-
positions.push({
|
|
93
|
-
element: el,
|
|
94
|
-
placement: MovePlacement.After,
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
break;
|
|
97
|
+
if (isMovingKey(e.key)) {
|
|
98
|
+
return keyToPlacement[e.key](elements, elements.indexOf(element));
|
|
98
99
|
}
|
|
99
|
-
return
|
|
100
|
+
return [];
|
|
101
|
+
};
|
|
102
|
+
const isMovingKey = (key) => {
|
|
103
|
+
return key in keyToPlacement;
|
|
100
104
|
};
|
|
101
|
-
export { findClosestPosition, findClosestPositionsByKey, };
|
|
105
|
+
export { findClosestPosition, findClosestPositionsByKey, isMovingKey, };
|
|
102
106
|
//# sourceMappingURL=findClosestPosition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findClosestPosition.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/findClosestPosition.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"findClosestPosition.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/findClosestPosition.ts"],"names":[],"mappings":"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","sourcesContent":["import MovePlacement from \"../../types/MovePlacement.js\";\nimport Orientation from \"../../types/Orientation.js\";\n\nconst closestPlacement = (point: number, beforePoint: number, centerPoint: number, afterPoint: number) => {\n\tconst distToBeforePoint = Math.abs(point - beforePoint);\n\tconst distToCenterPoint = Math.abs(point - centerPoint);\n\tconst distToAfterPoint = Math.abs(point - afterPoint);\n\tconst closestPoint = Math.min(\n\t\tdistToBeforePoint,\n\t\tdistToCenterPoint,\n\t\tdistToAfterPoint,\n\t);\n\tlet placements: Array<MovePlacement> = [];\n\n\tswitch (closestPoint) {\n\tcase distToBeforePoint:\n\t\tplacements = [MovePlacement.Before];\n\t\tbreak;\n\tcase distToCenterPoint:\n\t\tplacements = [MovePlacement.On, distToBeforePoint < distToAfterPoint ? MovePlacement.Before : MovePlacement.After];\n\t\tbreak;\n\tcase distToAfterPoint:\n\t\tplacements = [MovePlacement.After];\n\t\tbreak;\n\t}\n\n\treturn placements;\n};\n\nconst findClosestPosition = (elements: Array<HTMLElement>, point: number, layoutOrientation: Orientation) => {\n\tlet shortestDist = Number.POSITIVE_INFINITY;\n\tlet closestElement: HTMLElement | null = null;\n\n\t// determine which element is most closest to the point\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst el = elements[i];\n\t\tconst {\n\t\t\tleft, width, top, height,\n\t\t} = el.getBoundingClientRect();\n\n\t\tlet elemCenter;\n\t\tif (layoutOrientation === Orientation.Vertical) {\n\t\t\telemCenter = top + height / 2;\n\t\t} else { // Horizontal\n\t\t\telemCenter = left + width / 2;\n\t\t}\n\n\t\tconst distanceToCenter = Math.abs(point - elemCenter);\n\n\t\tif (distanceToCenter < shortestDist) {\n\t\t\tshortestDist = distanceToCenter;\n\t\t\tclosestElement = el;\n\t\t}\n\t}\n\n\tif (!closestElement) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\twidth, height, left, right, top, bottom,\n\t} = closestElement.getBoundingClientRect();\n\tlet placements;\n\n\tif (layoutOrientation === Orientation.Vertical) {\n\t\tplacements = closestPlacement(point, top, top + height / 2, bottom);\n\t} else { // Horizontal\n\t\tplacements = closestPlacement(point, left, left + width / 2, right);\n\t}\n\n\treturn {\n\t\telement: closestElement,\n\t\tplacements,\n\t};\n};\n\nconst _moveBackward = (elements: Array<HTMLElement>, index: number) => {\n\tindex--;\n\n\tif (index < 0) {\n\t\treturn [];\n\t}\n\n\treturn [{\n\t\telement: elements[index],\n\t\tplacement: MovePlacement.Before,\n\t}];\n};\n\nconst _moveForward = (elements: Array<HTMLElement>, index: number) => {\n\tindex++;\n\n\tif (index >= elements.length) {\n\t\treturn [];\n\t}\n\n\treturn [{\n\t\telement: elements[index],\n\t\tplacement: MovePlacement.After,\n\t}];\n};\n\nconst keyToPlacement: { [key: string]: (arg1: Array<HTMLElement>, arg2: number) => Array<{element: HTMLElement, placement: MovePlacement}>} = {\n\tArrowLeft: _moveBackward,\n\tArrowUp: _moveBackward,\n\tArrowRight: _moveForward,\n\tArrowDown: _moveForward,\n\tHome: (elements, index) => {\n\t\treturn elements.slice(0, index).map(el => (\n\t\t\t{\n\t\t\t\telement: el,\n\t\t\t\tplacement: MovePlacement.Before,\n\t\t\t}\n\t\t));\n\t},\n\tEnd: (elements, index) => {\n\t\treturn elements.slice(index + 1, elements.length).reverse().map(el => (\n\t\t\t{\n\t\t\t\telement: el,\n\t\t\t\tplacement: MovePlacement.After,\n\t\t\t}\n\t\t));\n\t},\n};\n\nconst findClosestPositionsByKey = (elements: Array<HTMLElement>, element: HTMLElement, e: KeyboardEvent) => {\n\tif (isMovingKey(e.key)) {\n\t\treturn keyToPlacement[e.key](elements, elements.indexOf(element));\n\t}\n\n\treturn [];\n};\n\nconst isMovingKey = (key: string) => {\n\treturn key in keyToPlacement;\n};\n\nexport {\n\tfindClosestPosition,\n\tfindClosestPositionsByKey,\n\tisMovingKey,\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type UI5Element from "../../UI5Element.js";
|
|
2
|
+
import type MovePlacement from "../../types/MovePlacement.js";
|
|
3
|
+
import type { DragAndDropSettings } from "./DragRegistry.js";
|
|
4
|
+
type DragOverResult = {
|
|
5
|
+
targetReference: HTMLElement | null;
|
|
6
|
+
placement: any;
|
|
7
|
+
};
|
|
8
|
+
type DragPosition = {
|
|
9
|
+
element: HTMLElement;
|
|
10
|
+
placements: MovePlacement[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Handles the dragover event.
|
|
14
|
+
*/
|
|
15
|
+
declare function handleDragOver<T extends UI5Element>(e: DragEvent, component: T, position: DragPosition, target: HTMLElement, settings?: DragAndDropSettings): DragOverResult;
|
|
16
|
+
export default handleDragOver;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import DragRegistry from "./DragRegistry.js";
|
|
2
|
+
/**
|
|
3
|
+
* Handles the dragover event.
|
|
4
|
+
*/
|
|
5
|
+
function handleDragOver(e, component, position, target, settings = {}) {
|
|
6
|
+
const draggedElement = DragRegistry.getDraggedElement();
|
|
7
|
+
const dragOverResult = {
|
|
8
|
+
targetReference: null,
|
|
9
|
+
placement: null,
|
|
10
|
+
};
|
|
11
|
+
if (!draggedElement && !settings?.crossDnD) {
|
|
12
|
+
return dragOverResult;
|
|
13
|
+
}
|
|
14
|
+
const placements = position.placements;
|
|
15
|
+
dragOverResult.targetReference = e.target;
|
|
16
|
+
const placementAccepted = placements.some(placement => {
|
|
17
|
+
const originalEvent = settings.originalEvent ? { originalEvent: e } : {};
|
|
18
|
+
const beforeItemMovePrevented = !component.fireDecoratorEvent("move-over", {
|
|
19
|
+
...originalEvent,
|
|
20
|
+
source: {
|
|
21
|
+
element: draggedElement,
|
|
22
|
+
},
|
|
23
|
+
destination: {
|
|
24
|
+
element: target,
|
|
25
|
+
placement,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
if (beforeItemMovePrevented) {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
dragOverResult.targetReference = position.element;
|
|
31
|
+
dragOverResult.placement = placement;
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
});
|
|
36
|
+
if (!placementAccepted) {
|
|
37
|
+
dragOverResult.targetReference = null;
|
|
38
|
+
}
|
|
39
|
+
return dragOverResult;
|
|
40
|
+
}
|
|
41
|
+
export default handleDragOver;
|
|
42
|
+
//# sourceMappingURL=handleDragOver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleDragOver.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/handleDragOver.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAY7C;;GAEG;AACH,SAAS,cAAc,CAAuB,CAAY,EAAE,SAAY,EAAE,QAAsB,EAAE,MAAmB,EAAE,WAAgC,EAAE;IACxJ,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IACxD,MAAM,cAAc,GAAmB;QACtC,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC5C,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,cAAc,CAAC,eAAe,GAAG,CAAC,CAAC,MAAqB,CAAC;IAEzD,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,uBAAuB,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAsC,EAAE;YACrG,GAAG,aAAa;YAChB,MAAM,EAAE;gBACP,OAAO,EAAE,cAAc;aACvB;YACD,WAAW,EAAE;gBACZ,OAAO,EAAE,MAAM;gBACf,SAAS;aACT;SAC6C,CAAC,CAAC;QAEjD,IAAI,uBAAuB,EAAE,CAAC;YAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;YACrC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,eAAe,cAAc,CAAC","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"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type UI5Element from "../../UI5Element.js";
|
|
2
|
+
import type MovePlacement from "../../types/MovePlacement.js";
|
|
3
|
+
import type { DragAndDropSettings } from "./DragRegistry.js";
|
|
4
|
+
declare function handleDrop<T extends UI5Element>(e: DragEvent, component: T, target: HTMLElement, placement: `${MovePlacement}`, settings?: DragAndDropSettings): void;
|
|
5
|
+
export default handleDrop;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import DragRegistry from "./DragRegistry.js";
|
|
2
|
+
function handleDrop(e, component, target, placement, settings = {}) {
|
|
3
|
+
e.preventDefault();
|
|
4
|
+
const draggedElement = DragRegistry.getDraggedElement();
|
|
5
|
+
if (!draggedElement && settings?.crossDnD) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const originalEvent = settings.originalEvent ? { originalEvent: e } : {};
|
|
9
|
+
component.fireDecoratorEvent("move", {
|
|
10
|
+
...originalEvent,
|
|
11
|
+
source: {
|
|
12
|
+
element: draggedElement,
|
|
13
|
+
},
|
|
14
|
+
destination: {
|
|
15
|
+
element: target,
|
|
16
|
+
placement,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
draggedElement?.focus();
|
|
20
|
+
}
|
|
21
|
+
export default handleDrop;
|
|
22
|
+
//# sourceMappingURL=handleDrop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleDrop.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/handleDrop.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,SAAS,UAAU,CAAuB,CAAY,EAAE,SAAY,EAAE,MAAmB,EAAE,SAA6B,EAAE,WAAgC,EAAE;IAC3J,CAAC,CAAC,cAAc,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAExD,IAAI,CAAC,cAAc,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC3C,OAAO;IACR,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,SAAS,CAAC,kBAAkB,CAAC,MAAiC,EAAE;QAC/D,GAAG,aAAa;QAChB,MAAM,EAAE;YACP,OAAO,EAAE,cAAc;SACvB;QACD,WAAW,EAAE;YACZ,OAAO,EAAE,MAAM;YACf,SAAS;SACT;KAC6C,CAAC,CAAC;IAEjD,cAAc,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,eAAe,UAAU,CAAC","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"]}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type UI5Element from "../UI5Element.js";
|
|
2
2
|
declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () => void) => {
|
|
3
3
|
new (): {
|
|
4
|
+
eventDetails: object;
|
|
5
|
+
_jsxEvents: Omit<import("@ui5/webcomponents-base/jsx-runtime").JSX.DOMAttributes<any>, "onClose" | "onToggle" | "onChange" | "onSelect" | "onInput"> & object;
|
|
6
|
+
_jsxProps: Pick<import("@ui5/webcomponents-base/jsx-runtime").JSX.AllHTMLAttributes<HTMLElement>, "contextmenu" | "slot" | "style" | "title" | "pattern" | "dir" | "id" | "accesskey" | "autocapitalize" | "autofocus" | "autocomplete" | "contenteditable" | "class" | "draggable" | "enterkeyhint" | "hidden" | "inputmode" | "lang" | "nonce" | "part" | "exportparts" | "spellcheck" | "tabIndex" | "tabindex" | "translate" | "ref" | "inert" | "role"> & Partial<Omit<any, keyof HTMLElement>> & Partial<Omit<import("@ui5/webcomponents-base/jsx-runtime").JSX.DOMAttributes<any>, "onClose" | "onToggle" | "onChange" | "onSelect" | "onInput"> & object> & {
|
|
7
|
+
key?: any;
|
|
8
|
+
};
|
|
4
9
|
__id?: string;
|
|
5
10
|
_suppressInvalidation: boolean;
|
|
6
11
|
_changedState: Array<import("../UI5Element.js").ChangeInfo>;
|
|
@@ -15,8 +20,10 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
15
20
|
_deferredResolve?: import("../types.js").PromiseResolve;
|
|
16
21
|
};
|
|
17
22
|
_doNotSyncAttributes: Set<string>;
|
|
23
|
+
__shouldHydrate: boolean;
|
|
18
24
|
_state: import("../UI5ElementMetadata.js").State;
|
|
19
25
|
_internals: ElementInternals;
|
|
26
|
+
_individualSlot?: string;
|
|
20
27
|
_getRealDomRef?: () => HTMLElement;
|
|
21
28
|
initializedProperties: Map<string, unknown>;
|
|
22
29
|
_rendered: boolean;
|
|
@@ -58,20 +65,21 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
58
65
|
getFocusDomRefAsync(): Promise<HTMLElement | undefined>;
|
|
59
66
|
focus(focusOptions?: FocusOptions): Promise<void>;
|
|
60
67
|
fireEvent<T>(name: string, data?: T, cancelable?: boolean, bubbles?: boolean): boolean;
|
|
61
|
-
fireDecoratorEvent<
|
|
68
|
+
fireDecoratorEvent<N extends never>(name: N, data?: object[N] | undefined): boolean;
|
|
62
69
|
_fireEvent<T>(name: string, data?: T | undefined, cancelable?: boolean, bubbles?: boolean): boolean;
|
|
63
70
|
getEventData(name: string): {
|
|
64
|
-
detail
|
|
65
|
-
cancelable
|
|
66
|
-
bubbles
|
|
71
|
+
detail?: Record<string, object>;
|
|
72
|
+
cancelable?: boolean;
|
|
73
|
+
bubbles?: boolean;
|
|
67
74
|
};
|
|
68
75
|
getSlottedNodes<T = Node>(slotName: string): Array<T>;
|
|
69
76
|
attachComponentStateFinalized(callback: () => void): void;
|
|
70
77
|
detachComponentStateFinalized(callback: () => void): void;
|
|
71
78
|
readonly effectiveDir: string | undefined;
|
|
72
79
|
readonly isUI5Element: boolean;
|
|
80
|
+
readonly isUI5AbstractElement: boolean;
|
|
73
81
|
readonly classes: import("../types.js").ClassMap;
|
|
74
|
-
readonly accessibilityInfo: import("../types.js").AccessibilityInfo;
|
|
82
|
+
readonly accessibilityInfo: import("../types.js").AccessibilityInfo | undefined;
|
|
75
83
|
readonly validity: ValidityState;
|
|
76
84
|
readonly validationMessage: string;
|
|
77
85
|
checkValidity(): boolean;
|
|
@@ -413,6 +421,7 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
413
421
|
renderer: import("../UI5Element.js").Renderer;
|
|
414
422
|
readonly formAssociated: boolean;
|
|
415
423
|
readonly observedAttributes: string[];
|
|
424
|
+
readonly tagsToScope: string[];
|
|
416
425
|
_needsShadowDOM(): boolean;
|
|
417
426
|
_generateAccessors(): void;
|
|
418
427
|
metadata: import("../UI5ElementMetadata.js").Metadata;
|
|
@@ -425,6 +434,8 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
425
434
|
fetchCLDR(): Promise<void>;
|
|
426
435
|
asyncFinished: boolean;
|
|
427
436
|
definePromise: Promise<void> | undefined;
|
|
437
|
+
i18nBundleStorage: Record<string, import("../i18nBundle.js").default>;
|
|
438
|
+
readonly i18nBundles: Record<string, import("../i18nBundle.js").default>;
|
|
428
439
|
define(): typeof UI5Element;
|
|
429
440
|
getMetadata(): import("../UI5ElementMetadata.js").default;
|
|
430
441
|
};
|
|
@@ -39,7 +39,12 @@ const findFastNavigationGroups = (container, startFromContainer) => {
|
|
|
39
39
|
if (child.nodeType === 1) {
|
|
40
40
|
findFastNavigationGroups(child, false);
|
|
41
41
|
}
|
|
42
|
-
child
|
|
42
|
+
if (child === container) {
|
|
43
|
+
child = assignedElements && assignedElements.length ? assignedElements[++index] : null;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
child = assignedElements && assignedElements.length ? assignedElements[++index] : originalChild.nextElementSibling;
|
|
47
|
+
}
|
|
43
48
|
}
|
|
44
49
|
};
|
|
45
50
|
const getFastNavigationGroups = (container) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFastNavigationGroups.js","sourceRoot":"","sources":["../../src/util/getFastNavigationGroups.ts"],"names":[],"mappings":"AAAA,IAAI,MAAM,GAAuB,EAAE,CAAC;AAEpC,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,OAAO,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE1C,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK;WACxB,KAAK,CAAC,MAAM,KAAK,KAAK;WACtB,KAAK,CAAC,OAAO,KAAK,GAAG;WACrB,KAAK,CAAC,OAAO,KAAK,MAAM;WACxB,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAsB,EAAE,kBAA4B,EAAE,EAAE;IACzF,IAAI,KAAK,EACR,gBAAgB,EAChB,KAAK,GAAG,CAAC,CAAC;IAEX,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO;IACR,CAAC;IAED,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;SAAM,IAAI,SAAS,YAAY,eAAe,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9E,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7C,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC/B,KAAK,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,EAAE,CAAC;QACd,MAAM,aAAa,GAAgB,KAAoB,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,CAAC,KAAoB,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"getFastNavigationGroups.js","sourceRoot":"","sources":["../../src/util/getFastNavigationGroups.ts"],"names":[],"mappings":"AAAA,IAAI,MAAM,GAAuB,EAAE,CAAC;AAEpC,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,OAAO,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE1C,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK;WACxB,KAAK,CAAC,MAAM,KAAK,KAAK;WACtB,KAAK,CAAC,OAAO,KAAK,GAAG;WACrB,KAAK,CAAC,OAAO,KAAK,MAAM;WACxB,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAsB,EAAE,kBAA4B,EAAE,EAAE;IACzF,IAAI,KAAK,EACR,gBAAgB,EAChB,KAAK,GAAG,CAAC,CAAC;IAEX,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO;IACR,CAAC;IAED,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;IACzC,CAAC;SAAM,IAAI,SAAS,YAAY,eAAe,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;QAC9E,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7C,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC/B,KAAK,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,EAAE,CAAC;QACd,MAAM,aAAa,GAAgB,KAAoB,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,CAAC,KAAoB,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC;QACpH,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,SAAsB,EAAE,EAAE;IAC1D,MAAM,GAAG,EAAE,CAAC;IAEZ,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC","sourcesContent":["let groups: Array<HTMLElement> = [];\n\nconst isFastNavGroupElemenet = (el: HTMLElement) => {\n\treturn el.getAttribute(\"data-sap-ui-fastnavgroup\") === \"true\";\n};\n\nconst isElementVisible = (el: HTMLElement) => {\n\tconst style = window.getComputedStyle(el);\n\n\treturn style.width !== \"0px\"\n\t\t&& style.height !== \"0px\"\n\t\t&& style.opacity !== \"0\"\n\t\t&& style.display !== \"none\"\n\t\t&& style.visibility !== \"hidden\";\n};\n\nconst findFastNavigationGroups = (container: HTMLElement, startFromContainer?: boolean) => {\n\tlet child,\n\t\tassignedElements,\n\t\tindex = 0;\n\n\tif (!isElementVisible(container)) {\n\t\treturn;\n\t}\n\n\tif (isFastNavGroupElemenet(container)) {\n\t\tgroups.push(container);\n\t}\n\n\tif (container.shadowRoot) {\n\t\tchild = container.shadowRoot.firstChild;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tchild = assignedElements[0];\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = container.firstElementChild;\n\t}\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement = child as HTMLElement;\n\t\tif (!child) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (child.nodeType === 1) {\n\t\t\tfindFastNavigationGroups(child as HTMLElement, false);\n\t\t}\n\n\t\tif (child === container) {\n\t\t\tchild = assignedElements && assignedElements.length ? assignedElements[++index] : null;\n\t\t} else {\n\t\t\tchild = assignedElements && assignedElements.length ? assignedElements[++index] : originalChild.nextElementSibling;\n\t\t}\n\t}\n};\n\nconst getFastNavigationGroups = (container: HTMLElement) => {\n\tgroups = [];\n\n\tfindFastNavigationGroups(container, true);\n\n\treturn groups;\n};\n\nexport default getFastNavigationGroups;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const getParentElement: (
|
|
1
|
+
declare const getParentElement: (element: Element) => Element | null;
|
|
2
2
|
export default getParentElement;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const getParentElement = (
|
|
2
|
-
return
|
|
1
|
+
const getParentElement = (element) => {
|
|
2
|
+
return element.parentElement ? element.parentElement : element.parentNode.host;
|
|
3
3
|
};
|
|
4
4
|
export default getParentElement;
|
|
5
5
|
//# sourceMappingURL=getParentElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParentElement.js","sourceRoot":"","sources":["../../src/util/getParentElement.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"getParentElement.js","sourceRoot":"","sources":["../../src/util/getParentElement.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAmB,EAAE;IAC9D,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAE,OAAO,CAAC,UAAyB,CAAC,IAAI,CAAC;AAChG,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["const getParentElement = (element: Element) : Element | null => {\n\treturn element.parentElement ? element.parentElement : (element.parentNode as ShadowRoot).host;\n};\n\nexport default getParentElement;\n"]}
|