@ui5/webcomponents-base 1.12.0-rc.0 → 1.12.0-rc.2
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/.eslintrc.js +3 -0
- package/CHANGELOG.md +27 -0
- package/dist/AssetRegistry.js.map +1 -1
- package/dist/Boot.js +14 -0
- package/dist/Boot.js.map +1 -1
- package/dist/CSP.js.map +1 -1
- package/dist/CustomElementsRegistry.js.map +1 -1
- package/dist/CustomElementsScope.js.map +1 -1
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/DOMObserver.js.map +1 -1
- package/dist/Device.js.map +1 -1
- package/dist/EventProvider.js.map +1 -1
- package/dist/FeaturesRegistry.js.map +1 -1
- package/dist/FontFace.js.map +1 -1
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Keys.js.map +1 -1
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/MarkedEvents.js.map +1 -1
- package/dist/MediaRange.js.map +1 -1
- package/dist/PropertiesFileFormat.js.map +1 -1
- package/dist/Render.js.map +1 -1
- package/dist/RenderQueue.js.map +1 -1
- package/dist/Runtimes.js.map +1 -1
- package/dist/StaticArea.js.map +1 -1
- package/dist/StaticAreaItem.js.map +1 -1
- package/dist/SystemCSSVars.js.map +1 -1
- package/dist/Theming.js.map +1 -1
- package/dist/UI5Element.js.map +1 -1
- package/dist/UI5ElementMetadata.js.map +1 -1
- package/dist/animations/AnimationQueue.js.map +1 -1
- package/dist/animations/animate.js.map +1 -1
- package/dist/animations/scroll.js.map +1 -1
- package/dist/animations/slideDown.js.map +1 -1
- package/dist/animations/slideUp.js.map +1 -1
- package/dist/asset-registries/Icons.d.ts +6 -6
- package/dist/asset-registries/Icons.js +1 -1
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.js.map +1 -1
- package/dist/asset-registries/LocaleData.js.map +1 -1
- package/dist/asset-registries/Themes.js +2 -0
- package/dist/asset-registries/Themes.js.map +1 -1
- package/dist/asset-registries/i18n.js +9 -3
- package/dist/asset-registries/i18n.js.map +1 -1
- package/dist/assets/Boot.0f056029.js +9 -0
- package/dist/assets/Boot.34b7cea0.css +1 -0
- package/dist/assets/{bundle.esm.5ddf1fb1.js → bundle.esm.90296f02.js} +1 -1
- package/dist/assets/test/pages/Boot.html.a40788ce.js +1 -0
- package/dist/assets/test/pages/{i18n.html.95232fe8.js → i18n.html.65058ddf.js} +1 -1
- package/dist/assets/test/pages/{i18n_texts.html.351ef5df.js → i18n_texts.html.4d80a4fd.js} +1 -1
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -1
- package/dist/config/AnimationMode.js.map +1 -1
- package/dist/config/CalendarType.js.map +1 -1
- package/dist/config/FormatSettings.js.map +1 -1
- package/dist/config/Icons.js.map +1 -1
- package/dist/config/Language.d.ts +10 -1
- package/dist/config/Language.js +13 -1
- package/dist/config/Language.js.map +1 -1
- package/dist/config/NoConflict.js.map +1 -1
- package/dist/config/RTL.js.map +1 -1
- package/dist/config/Theme.d.ts +10 -1
- package/dist/config/Theme.js +13 -1
- package/dist/config/Theme.js.map +1 -1
- package/dist/config/ThemeRoots.js.map +1 -1
- package/dist/decorators/customElement.js.map +1 -1
- package/dist/decorators/event.js.map +1 -1
- package/dist/decorators/property.js.map +1 -1
- package/dist/decorators/slot.js.map +1 -1
- package/dist/delegate/ItemNavigation.js.map +1 -1
- package/dist/delegate/ResizeHandler.js.map +1 -1
- package/dist/delegate/ScrollEnablement.js.map +1 -1
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/features/LegacyDateFormats.js.map +1 -1
- package/dist/features/OpenUI5Element.js.map +1 -1
- package/dist/features/OpenUI5Enablement.js.map +1 -1
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/css/BusyIndicator.css.js.map +1 -1
- package/dist/generated/css/FontFace.css.js.map +1 -1
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
- package/dist/getSharedResource.js.map +1 -1
- package/dist/i18nBundle.js.map +1 -1
- package/dist/locale/Locale.js.map +1 -1
- package/dist/locale/RTLAwareRegistry.js.map +1 -1
- package/dist/locale/applyDirection.js.map +1 -1
- package/dist/locale/directionChange.js.map +1 -1
- package/dist/locale/getEffectiveDir.js.map +1 -1
- package/dist/locale/getLocale.js.map +1 -1
- package/dist/locale/languageChange.js.map +1 -1
- package/dist/locale/nextFallbackLocale.js.map +1 -1
- package/dist/locale/normalizeLocale.js.map +1 -1
- package/dist/renderer/LitRenderer.js.map +1 -1
- package/dist/renderer/executeTemplate.js.map +1 -1
- package/dist/test/pages/AllTestElements.html +2 -2
- package/dist/test/pages/Boot.html +4 -4
- package/dist/test/pages/Configuration.html +2 -2
- package/dist/test/pages/ConfigurationScript.html +2 -2
- package/dist/test/pages/WithComplexTemplate.html +2 -2
- package/dist/test/pages/i18n.html +3 -3
- package/dist/test/pages/i18n_texts.html +3 -3
- package/dist/theming/CustomStyle.js.map +1 -1
- package/dist/theming/ThemeLoaded.js.map +1 -1
- package/dist/theming/ThemeRegistered.d.ts +4 -0
- package/dist/theming/ThemeRegistered.js +11 -0
- package/dist/theming/ThemeRegistered.js.map +1 -0
- package/dist/theming/applyTheme.js.map +1 -1
- package/dist/theming/getConstructableStyle.js.map +1 -1
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -1
- package/dist/theming/getEffectiveStyle.js.map +1 -1
- package/dist/theming/getStylesString.js.map +1 -1
- package/dist/theming/getThemeDesignerTheme.js.map +1 -1
- package/dist/theming/preloadLinks.js.map +1 -1
- package/dist/thirdparty/_merge.js.map +1 -1
- package/dist/thirdparty/isPlainObject.js.map +1 -1
- package/dist/thirdparty/merge.js.map +1 -1
- package/dist/types/AnimationMode.js.map +1 -1
- package/dist/types/CSSColor.js.map +1 -1
- package/dist/types/CalendarType.js.map +1 -1
- package/dist/types/DOMReference.js.map +1 -1
- package/dist/types/DataType.js.map +1 -1
- package/dist/types/Float.js.map +1 -1
- package/dist/types/Integer.js.map +1 -1
- package/dist/types/InvisibleMessageMode.js.map +1 -1
- package/dist/types/ItemNavigationBehavior.js.map +1 -1
- package/dist/types/NavigationMode.js.map +1 -1
- package/dist/types/ValueState.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/AriaLabelHelper.js.map +1 -1
- package/dist/util/Caret.js.map +1 -1
- package/dist/util/ColorConversion.js.map +1 -1
- package/dist/util/FetchHelper.js.map +1 -1
- package/dist/util/FocusableElements.js.map +1 -1
- package/dist/util/HTMLSanitizer.js.map +1 -1
- package/dist/util/InvisibleMessage.js.map +1 -1
- package/dist/util/PopupUtils.js.map +1 -1
- package/dist/util/SlotsHelper.js.map +1 -1
- package/dist/util/StringHelper.js.map +1 -1
- package/dist/util/TabbableElements.js.map +1 -1
- package/dist/util/arraysAreEqual.js.map +1 -1
- package/dist/util/clamp.js.map +1 -1
- package/dist/util/createLinkInHead.js.map +1 -1
- package/dist/util/createStyleInHead.js.map +1 -1
- package/dist/util/debounce.js.map +1 -1
- package/dist/util/detectNavigatorLanguage.js.map +1 -1
- package/dist/util/escapeRegex.js.map +1 -1
- package/dist/util/formatMessage.js.map +1 -1
- package/dist/util/generateHighlightedMarkup.js.map +1 -1
- package/dist/util/getActiveElement.js.map +1 -1
- package/dist/util/getClassCopy.js.map +1 -1
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
- package/dist/util/getEffectiveContentDensity.js.map +1 -1
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
- package/dist/util/getFastNavigationGroups.js.map +1 -1
- package/dist/util/getFileExtension.js.map +1 -1
- package/dist/util/getNormalizedTarget.js.map +1 -1
- package/dist/util/getSingletonElementInstance.js.map +1 -1
- package/dist/util/isElementClickable.js.map +1 -1
- package/dist/util/isElementHidden.js.map +1 -1
- package/dist/util/isElementInView.js.map +1 -1
- package/dist/util/isElementTabbable.js.map +1 -1
- package/dist/util/isValidPropertyName.js.map +1 -1
- package/dist/util/whenDOMReady.js.map +1 -1
- package/dist/util/willShowContent.js.map +1 -1
- package/dist/validateThemeRoot.js.map +1 -1
- package/package-scripts.js +1 -2
- package/package.json +4 -4
- package/tsconfig.json +1 -0
- package/dist/assets/Boot.6335ce08.css +0 -1
- package/dist/assets/Boot.6f2dd050.js +0 -9
- package/dist/assets/test/pages/Boot.html.3e0c3154.js +0 -1
- package/src/AssetRegistry.ts +0 -11
- package/src/Boot.ts +0 -76
- package/src/CSP.ts +0 -66
- package/src/CustomElementsRegistry.ts +0 -98
- package/src/CustomElementsScope.ts +0 -33
- package/src/CustomElementsScopeUtils.ts +0 -115
- package/src/DOMObserver.ts +0 -28
- package/src/Device.ts +0 -203
- package/src/EventProvider.ts +0 -87
- package/src/FeaturesRegistry.ts +0 -14
- package/src/FontFace.ts +0 -31
- package/src/InitialConfiguration.ts +0 -207
- package/src/Keys.ts +0 -295
- package/src/ManagedStyles.ts +0 -92
- package/src/MarkedEvents.ts +0 -20
- package/src/MediaRange.ts +0 -110
- package/src/PropertiesFileFormat.ts +0 -95
- package/src/Render.ts +0 -180
- package/src/RenderQueue.ts +0 -71
- package/src/Runtimes.ts +0 -114
- package/src/StaticArea.ts +0 -3
- package/src/StaticAreaItem.ts +0 -113
- package/src/SystemCSSVars.ts +0 -10
- package/src/Theming.ts +0 -4
- package/src/UI5Element.ts +0 -1159
- package/src/UI5ElementMetadata.ts +0 -389
- package/src/animations/AnimationQueue.ts +0 -43
- package/src/animations/animate.ts +0 -64
- package/src/animations/scroll.ts +0 -21
- package/src/animations/slideDown.ts +0 -72
- package/src/animations/slideUp.ts +0 -67
- package/src/asset-registries/Icons.ts +0 -161
- package/src/asset-registries/Illustrations.ts +0 -75
- package/src/asset-registries/LocaleData.ts +0 -172
- package/src/asset-registries/Themes.ts +0 -72
- package/src/asset-registries/i18n.ts +0 -118
- package/src/assets-meta/IconCollectionsAlias.ts +0 -41
- package/src/config/AnimationMode.ts +0 -33
- package/src/config/CalendarType.ts +0 -23
- package/src/config/FormatSettings.ts +0 -35
- package/src/config/Icons.ts +0 -126
- package/src/config/Language.ts +0 -72
- package/src/config/NoConflict.ts +0 -67
- package/src/config/RTL.ts +0 -45
- package/src/config/Theme.ts +0 -64
- package/src/config/ThemeRoots.ts +0 -41
- package/src/decorators/customElement.ts +0 -57
- package/src/decorators/event.ts +0 -28
- package/src/decorators/property.ts +0 -30
- package/src/decorators/slot.ts +0 -49
- package/src/delegate/ItemNavigation.ts +0 -393
- package/src/delegate/ResizeHandler.ts +0 -100
- package/src/delegate/ScrollEnablement.ts +0 -224
- package/src/features/F6Navigation.ts +0 -195
- package/src/features/LegacyDateFormats.ts +0 -40
- package/src/features/OpenUI5Element.ts +0 -11
- package/src/features/OpenUI5Enablement.ts +0 -117
- package/src/features/OpenUI5Support.ts +0 -153
- package/src/generated/css/BusyIndicator.css.ts +0 -9
- package/src/generated/css/FontFace.css.ts +0 -9
- package/src/generated/css/OverrideFontFace.css.ts +0 -9
- package/src/generated/css/SystemCSSVars.css.ts +0 -9
- package/src/getSharedResource.ts +0 -39
- package/src/global.d.ts +0 -38
- package/src/i18nBundle.ts +0 -108
- package/src/locale/Locale.ts +0 -101
- package/src/locale/RTLAwareRegistry.ts +0 -16
- package/src/locale/applyDirection.ts +0 -18
- package/src/locale/directionChange.ts +0 -34
- package/src/locale/getEffectiveDir.ts +0 -28
- package/src/locale/getLocale.ts +0 -46
- package/src/locale/languageChange.ts +0 -24
- package/src/locale/nextFallbackLocale.ts +0 -28
- package/src/locale/normalizeLocale.ts +0 -56
- package/src/renderer/LitRenderer.ts +0 -60
- package/src/renderer/executeTemplate.ts +0 -40
- package/src/theming/CustomStyle.ts +0 -64
- package/src/theming/ThemeLoaded.ts +0 -24
- package/src/theming/applyTheme.ts +0 -90
- package/src/theming/getConstructableStyle.ts +0 -31
- package/src/theming/getEffectiveLinksHrefs.ts +0 -26
- package/src/theming/getEffectiveStyle.ts +0 -41
- package/src/theming/getStylesString.ts +0 -15
- package/src/theming/getThemeDesignerTheme.ts +0 -101
- package/src/theming/preloadLinks.ts +0 -24
- package/src/thirdparty/_merge.ts +0 -32
- package/src/thirdparty/isPlainObject.ts +0 -18
- package/src/thirdparty/merge.ts +0 -5
- package/src/types/AnimationMode.ts +0 -33
- package/src/types/CSSColor.ts +0 -19
- package/src/types/CalendarType.ts +0 -38
- package/src/types/DOMReference.ts +0 -28
- package/src/types/DataType.ts +0 -51
- package/src/types/Float.ts +0 -24
- package/src/types/Integer.ts +0 -24
- package/src/types/InvisibleMessageMode.ts +0 -27
- package/src/types/ItemNavigationBehavior.ts +0 -26
- package/src/types/NavigationMode.ts +0 -33
- package/src/types/ValueState.ts +0 -47
- package/src/types.ts +0 -30
- package/src/updateShadowRoot.ts +0 -42
- package/src/util/AriaLabelHelper.ts +0 -218
- package/src/util/Caret.ts +0 -28
- package/src/util/ColorConversion.ts +0 -399
- package/src/util/FetchHelper.ts +0 -31
- package/src/util/FocusableElements.ts +0 -92
- package/src/util/HTMLSanitizer.ts +0 -9
- package/src/util/InvisibleMessage.ts +0 -69
- package/src/util/PopupUtils.ts +0 -112
- package/src/util/SlotsHelper.ts +0 -39
- package/src/util/StringHelper.ts +0 -26
- package/src/util/TabbableElements.ts +0 -70
- package/src/util/arraysAreEqual.ts +0 -15
- package/src/util/clamp.ts +0 -12
- package/src/util/createLinkInHead.ts +0 -25
- package/src/util/createStyleInHead.ts +0 -20
- package/src/util/debounce.ts +0 -18
- package/src/util/detectNavigatorLanguage.ts +0 -13
- package/src/util/escapeRegex.ts +0 -11
- package/src/util/formatMessage.ts +0 -24
- package/src/util/generateHighlightedMarkup.ts +0 -43
- package/src/util/getActiveElement.ts +0 -11
- package/src/util/getClassCopy.ts +0 -12
- package/src/util/getDesigntimePropertyAsArray.ts +0 -4
- package/src/util/getEffectiveContentDensity.ts +0 -5
- package/src/util/getEffectiveScrollbarStyle.ts +0 -5
- package/src/util/getFastNavigationGroups.ts +0 -63
- package/src/util/getFileExtension.ts +0 -21
- package/src/util/getNormalizedTarget.ts +0 -16
- package/src/util/getSingletonElementInstance.ts +0 -13
- package/src/util/isElementClickable.ts +0 -19
- package/src/util/isElementHidden.ts +0 -9
- package/src/util/isElementInView.ts +0 -15
- package/src/util/isElementTabbable.ts +0 -37
- package/src/util/isValidPropertyName.ts +0 -29
- package/src/util/whenDOMReady.ts +0 -13
- package/src/util/willShowContent.ts +0 -7
- package/src/validateThemeRoot.ts +0 -58
package/src/types/CSSColor.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import DataType from "./DataType.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @class
|
|
5
|
-
* CSSColor data type.
|
|
6
|
-
*
|
|
7
|
-
* @extends sap.ui.webc.base.types.DataType
|
|
8
|
-
* @constructor
|
|
9
|
-
* @author SAP SE
|
|
10
|
-
* @alias sap.ui.webc.base.types.CSSColor
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
class CSSColor extends DataType {
|
|
14
|
-
static override isValid(value: string) {
|
|
15
|
-
return /^(#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})|rgb\(\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*(,\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*){2}\)|rgba\((\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*,){3}\s*(0(\.[0-9]+)?|1(\.0+)?)\s*\)|hsl\(\s*([0-2]?[0-9]?[0-9]|3([0-5][0-9]|60))\s*(,\s*(([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*){2}\)|hsla\(\s*([0-2]?[0-9]?[0-9]|3([0-5][0-9]|60))\s*,(\s*(([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*,){2}\s*(0(\.[0-9]+)?|1(\.0+)?)\s*\)|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgrey|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|grey|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgrey|lightgreen|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silverskyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|transparent|inherit|)$/.test(value ); // eslint-disable-line
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export default CSSColor;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Different calendar types.
|
|
3
|
-
*
|
|
4
|
-
* @readonly
|
|
5
|
-
* @enum {string}
|
|
6
|
-
* @public
|
|
7
|
-
* @author SAP SE
|
|
8
|
-
* @alias sap.ui.webc.base.types.CalendarType
|
|
9
|
-
*/
|
|
10
|
-
enum CalendarType {
|
|
11
|
-
/**
|
|
12
|
-
* @public
|
|
13
|
-
* @type {Gregorian}
|
|
14
|
-
*/
|
|
15
|
-
Gregorian = "Gregorian",
|
|
16
|
-
/**
|
|
17
|
-
* @public
|
|
18
|
-
* @type {Islamic}
|
|
19
|
-
*/
|
|
20
|
-
Islamic = "Islamic",
|
|
21
|
-
/**
|
|
22
|
-
* @public
|
|
23
|
-
* @type {Japanese}
|
|
24
|
-
*/
|
|
25
|
-
Japanese = "Japanese",
|
|
26
|
-
/**
|
|
27
|
-
* @public
|
|
28
|
-
* @type {Buddhist}
|
|
29
|
-
*/
|
|
30
|
-
Buddhist = "Buddhist",
|
|
31
|
-
/**
|
|
32
|
-
* @public
|
|
33
|
-
* @type {Persian}
|
|
34
|
-
*/
|
|
35
|
-
Persian = "Persian",
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export default CalendarType;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import DataType from "./DataType.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @class
|
|
5
|
-
* DOM Element reference or ID.
|
|
6
|
-
* <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.
|
|
7
|
-
*
|
|
8
|
-
* @constructor
|
|
9
|
-
* @extends sap.ui.webc.base.types.DataType
|
|
10
|
-
* @author SAP SE
|
|
11
|
-
* @alias sap.ui.webc.base.types.DOMReference
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class DOMReference extends DataType {
|
|
15
|
-
static override isValid(value: string | HTMLElement) {
|
|
16
|
-
return (typeof value === "string" || value instanceof HTMLElement);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static override propertyToAttribute(propertyValue: string | HTMLElement) {
|
|
20
|
-
if (propertyValue instanceof HTMLElement) {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return propertyValue;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export default DOMReference;
|
package/src/types/DataType.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { PropertyValue } from "../UI5ElementMetadata.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Base class for all data types.
|
|
5
|
-
*
|
|
6
|
-
* @class
|
|
7
|
-
* @constructor
|
|
8
|
-
* @author SAP SE
|
|
9
|
-
* @alias sap.ui.webc.base.types.DataType
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
class DataType {
|
|
13
|
-
/**
|
|
14
|
-
* Checks if the value is valid for its data type.
|
|
15
|
-
* @public
|
|
16
|
-
* @abstract
|
|
17
|
-
* @returns {Boolean}
|
|
18
|
-
*/
|
|
19
|
-
// eslint-disable-next-line
|
|
20
|
-
static isValid(value: any): boolean {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
static attributeToProperty(attributeValue: string | null): PropertyValue {
|
|
25
|
-
return attributeValue;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
static propertyToAttribute(propertyValue: PropertyValue): string | null {
|
|
29
|
-
return propertyValue === null ? null : String(propertyValue);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
static valuesAreEqual(value1: any, value2: any) {
|
|
33
|
-
return value1 === value2;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static generateTypeAccessors(types: Record<string, string>) {
|
|
37
|
-
Object.keys(types).forEach(type => {
|
|
38
|
-
Object.defineProperty(this, type, {
|
|
39
|
-
get() {
|
|
40
|
-
return types[type];
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static get isDataTypeClass() {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export default DataType;
|
package/src/types/Float.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { PropertyValue } from "../UI5ElementMetadata.js";
|
|
2
|
-
import DataType from "./DataType.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @class
|
|
6
|
-
* Float data type.
|
|
7
|
-
*
|
|
8
|
-
* @constructor
|
|
9
|
-
* @extends sap.ui.webc.base.types.DataType
|
|
10
|
-
* @author SAP SE
|
|
11
|
-
* @alias sap.ui.webc.base.types.Float
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class Float extends DataType {
|
|
15
|
-
static override isValid(value: any) {
|
|
16
|
-
return Number(value) === value;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static override attributeToProperty(attributeValue: string): PropertyValue {
|
|
20
|
-
return parseFloat(attributeValue);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export default Float;
|
package/src/types/Integer.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { PropertyValue } from "../UI5ElementMetadata.js";
|
|
2
|
-
import DataType from "./DataType.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @class
|
|
6
|
-
* Integer data type.
|
|
7
|
-
*
|
|
8
|
-
* @constructor
|
|
9
|
-
* @extends sap.ui.webc.base.types.DataType
|
|
10
|
-
* @author SAP SE
|
|
11
|
-
* @alias sap.ui.webc.base.types.Integer
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class Integer extends DataType {
|
|
15
|
-
static override isValid(value: any) {
|
|
16
|
-
return Number.isInteger(value);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static override attributeToProperty(attributeValue: string): PropertyValue {
|
|
20
|
-
return parseInt(attributeValue);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export default Integer;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enumeration for different mode behaviors of the InvisibleMessage.
|
|
3
|
-
*
|
|
4
|
-
* @readonly
|
|
5
|
-
* @enum {string}
|
|
6
|
-
* @public
|
|
7
|
-
* @author SAP SE
|
|
8
|
-
* @alias sap.ui.webc.base.types.InvisibleMessageMode
|
|
9
|
-
*/
|
|
10
|
-
enum InvisibleMessageMode {
|
|
11
|
-
/**
|
|
12
|
-
* Indicates that updates to the region should be presented at the next graceful opportunity,
|
|
13
|
-
* such as at the end of reading the current sentence, or when the user pauses typing.
|
|
14
|
-
* @public
|
|
15
|
-
* @type {Polite}
|
|
16
|
-
*/
|
|
17
|
-
Polite = "Polite",
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Indicates that updates to the region have the highest priority and should be presented to the user immediately.
|
|
21
|
-
* @public
|
|
22
|
-
* @type {Assertive}
|
|
23
|
-
*/
|
|
24
|
-
Assertive = "Assertive",
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export default InvisibleMessageMode;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Different behavior for ItemNavigation.
|
|
3
|
-
*
|
|
4
|
-
* @readonly
|
|
5
|
-
* @enum {string}
|
|
6
|
-
* @public
|
|
7
|
-
* @author SAP SE
|
|
8
|
-
* @alias sap.ui.webc.base.types.ItemNavigationBehavior
|
|
9
|
-
*/
|
|
10
|
-
enum ItemNavigationBehavior {
|
|
11
|
-
/**
|
|
12
|
-
* Static behavior: navigations stops at the first or last item.
|
|
13
|
-
* @public
|
|
14
|
-
* @type {Static}
|
|
15
|
-
*/
|
|
16
|
-
Static = "Static",
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Cycling behavior: navigating past the last item continues with the first and vice versa.
|
|
20
|
-
* @public
|
|
21
|
-
* @type {Cyclic}
|
|
22
|
-
*/
|
|
23
|
-
Cyclic = "Cyclic",
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default ItemNavigationBehavior;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Different navigation modes for ItemNavigation.
|
|
3
|
-
*
|
|
4
|
-
* @readonly
|
|
5
|
-
* @enum {string}
|
|
6
|
-
* @public
|
|
7
|
-
* @author SAP SE
|
|
8
|
-
* @alias sap.ui.webc.base.types.NavigationMode
|
|
9
|
-
*/
|
|
10
|
-
enum NavigationMode {
|
|
11
|
-
/**
|
|
12
|
-
* @public
|
|
13
|
-
* @type {Auto}
|
|
14
|
-
*/
|
|
15
|
-
Auto = "Auto",
|
|
16
|
-
/**
|
|
17
|
-
* @public
|
|
18
|
-
* @type {Vertical}
|
|
19
|
-
*/
|
|
20
|
-
Vertical = "Vertical",
|
|
21
|
-
/**
|
|
22
|
-
* @public
|
|
23
|
-
* @type {Horizontal}
|
|
24
|
-
*/
|
|
25
|
-
Horizontal = "Horizontal",
|
|
26
|
-
/**
|
|
27
|
-
* @public
|
|
28
|
-
* @type {Paging}
|
|
29
|
-
*/
|
|
30
|
-
Paging = "Paging",
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export default NavigationMode;
|
package/src/types/ValueState.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Different types of ValueStates.
|
|
3
|
-
*
|
|
4
|
-
* @readonly
|
|
5
|
-
* @enum {string}
|
|
6
|
-
* @public
|
|
7
|
-
* @author SAP SE
|
|
8
|
-
* @alias sap.ui.webc.base.types.ValueState
|
|
9
|
-
*/
|
|
10
|
-
enum ValueState {
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @public
|
|
14
|
-
* @type {None}
|
|
15
|
-
*/
|
|
16
|
-
None = "None",
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @public
|
|
21
|
-
* @type {Success}
|
|
22
|
-
*/
|
|
23
|
-
Success = "Success",
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
*
|
|
27
|
-
* @public
|
|
28
|
-
* @type {Warning}
|
|
29
|
-
*/
|
|
30
|
-
Warning = "Warning",
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
* @public
|
|
35
|
-
* @type {Error}
|
|
36
|
-
*/
|
|
37
|
-
Error = "Error",
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
*
|
|
41
|
-
* @public
|
|
42
|
-
* @type {Information}
|
|
43
|
-
*/
|
|
44
|
-
Information = "Information",
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export default ValueState;
|
package/src/types.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
type PromiseResolve = (value: void | PromiseLike<void>) => void;
|
|
2
|
-
type Timeout = ReturnType<typeof setTimeout>;
|
|
3
|
-
type Interval = ReturnType<typeof setInterval>;
|
|
4
|
-
|
|
5
|
-
type StyleDataCSP = {
|
|
6
|
-
content: string,
|
|
7
|
-
packageName: string,
|
|
8
|
-
fileName: string,
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
type StyleData = StyleDataCSP | string;
|
|
12
|
-
|
|
13
|
-
type ComponentStylesData = Array<ComponentStylesData> | Array<StyleData> | StyleData;
|
|
14
|
-
|
|
15
|
-
type ClassMapValue = Record<string, boolean>
|
|
16
|
-
|
|
17
|
-
type ClassMap = { [x: string] : ClassMapValue | ClassMap };
|
|
18
|
-
|
|
19
|
-
type PassiveEventListenerObject = EventListenerObject & { passive: boolean };
|
|
20
|
-
|
|
21
|
-
export type {
|
|
22
|
-
PromiseResolve,
|
|
23
|
-
Timeout,
|
|
24
|
-
Interval,
|
|
25
|
-
StyleData,
|
|
26
|
-
StyleDataCSP,
|
|
27
|
-
ComponentStylesData,
|
|
28
|
-
ClassMap,
|
|
29
|
-
PassiveEventListenerObject,
|
|
30
|
-
};
|
package/src/updateShadowRoot.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import executeTemplate from "./renderer/executeTemplate.js";
|
|
2
|
-
import getConstructableStyle from "./theming/getConstructableStyle.js";
|
|
3
|
-
import getEffectiveStyle from "./theming/getEffectiveStyle.js";
|
|
4
|
-
import getEffectiveLinksHrefs from "./theming/getEffectiveLinksHrefs.js";
|
|
5
|
-
import { shouldUseLinks } from "./CSP.js";
|
|
6
|
-
import type UI5Element from "./UI5Element.js";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Updates the shadow root of a UI5Element or its static area item
|
|
10
|
-
* @param element
|
|
11
|
-
* @param forStaticArea
|
|
12
|
-
*/
|
|
13
|
-
const updateShadowRoot = (element: UI5Element, forStaticArea = false) => {
|
|
14
|
-
let styleStrOrHrefsArr;
|
|
15
|
-
const ctor = element.constructor as typeof UI5Element;
|
|
16
|
-
const propertyName = forStaticArea ? "staticAreaTemplate" : "template";
|
|
17
|
-
const template = ctor[propertyName];
|
|
18
|
-
const shadowRoot = forStaticArea ? element.staticAreaItem!.shadowRoot : element.shadowRoot;
|
|
19
|
-
const renderResult = executeTemplate(template!, element); // this is checked before calling updateShadowRoot
|
|
20
|
-
|
|
21
|
-
if (!shadowRoot) {
|
|
22
|
-
console.warn(`There is no shadow root to update`); // eslint-disable-line
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (shouldUseLinks()) {
|
|
27
|
-
styleStrOrHrefsArr = getEffectiveLinksHrefs(ctor, forStaticArea);
|
|
28
|
-
} else if (document.adoptedStyleSheets) { // Chrome
|
|
29
|
-
shadowRoot.adoptedStyleSheets = getConstructableStyle(ctor, forStaticArea);
|
|
30
|
-
} else { // FF, Safari
|
|
31
|
-
styleStrOrHrefsArr = getEffectiveStyle(ctor, forStaticArea);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (ctor.renderer) {
|
|
35
|
-
ctor.renderer(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
ctor.render(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export default updateShadowRoot;
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import UI5Element, { ChangeInfo } from "../UI5Element.js";
|
|
2
|
-
|
|
3
|
-
type InvalidateCallback = (changeInfo: ChangeInfo) => void;
|
|
4
|
-
type MutationCallback = () => void;
|
|
5
|
-
type AssociatedElement = {
|
|
6
|
-
observer: MutationObserver | null;
|
|
7
|
-
callbacks: Array<MutationCallback>;
|
|
8
|
-
};
|
|
9
|
-
type RegisteredElement = {
|
|
10
|
-
host: UI5Element;
|
|
11
|
-
observedElements: Array<HTMLElement>;
|
|
12
|
-
callback: MutationCallback;
|
|
13
|
-
invalidationCallback: InvalidateCallback;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const associatedElements = new WeakMap<HTMLElement, AssociatedElement>();
|
|
17
|
-
const registeredElements = new WeakMap<UI5Element, RegisteredElement>();
|
|
18
|
-
|
|
19
|
-
type AccessibleElement = HTMLElement & {
|
|
20
|
-
accessibleNameRef: string;
|
|
21
|
-
accessibleName: string;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const observerOptions = {
|
|
25
|
-
attributes: true,
|
|
26
|
-
childList: true,
|
|
27
|
-
characterData: true,
|
|
28
|
-
subtree: true,
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const getEffectiveAriaLabelText = (el: HTMLElement) => {
|
|
32
|
-
const accessibleEl = el as AccessibleElement;
|
|
33
|
-
|
|
34
|
-
if (!accessibleEl.accessibleNameRef) {
|
|
35
|
-
if (accessibleEl.accessibleName) {
|
|
36
|
-
return accessibleEl.accessibleName;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return getAllAccessibleNameRefTexts(el);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
|
|
48
|
-
*/
|
|
49
|
-
const getAllAccessibleNameRefTexts = (el: HTMLElement) => {
|
|
50
|
-
const ids = (el as AccessibleElement).accessibleNameRef?.split(" ") ?? [];
|
|
51
|
-
const owner = el.getRootNode() as HTMLElement;
|
|
52
|
-
let result = "";
|
|
53
|
-
|
|
54
|
-
ids.forEach((elementId: string, index: number) => {
|
|
55
|
-
const element = owner.querySelector(`[id='${elementId}']`);
|
|
56
|
-
const text = `${element && element.textContent ? element.textContent : ""}`;
|
|
57
|
-
if (text) {
|
|
58
|
-
result += text;
|
|
59
|
-
if (index < ids.length - 1) {
|
|
60
|
-
result += " ";
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
return result;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
const _getAllAssociatedElementsFromDOM = (el: UI5Element): Array<HTMLElement> => {
|
|
69
|
-
const set = new Set<HTMLElement>();
|
|
70
|
-
// adding labels with attribute for matching the el.id
|
|
71
|
-
const labelsForAssociated = _getAssociatedLabels(el);
|
|
72
|
-
labelsForAssociated.forEach(itm => {
|
|
73
|
-
set.add(itm);
|
|
74
|
-
});
|
|
75
|
-
// adding other elements that id is the same as accessibleNameRef value
|
|
76
|
-
const value = el["accessibleNameRef" as keyof typeof el] as string;
|
|
77
|
-
const ids = value?.split(" ") ?? [];
|
|
78
|
-
ids.forEach(id => {
|
|
79
|
-
const refEl = _getReferencedElementById(el, id);
|
|
80
|
-
if (refEl) {
|
|
81
|
-
set.add(refEl);
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
return Array.from(set);
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
const _getAssociatedLabels = (el: HTMLElement): Array<HTMLElement> => {
|
|
88
|
-
const labels = (el.getRootNode() as HTMLElement).querySelectorAll<HTMLElement>(`[for="${el.id}"]`);
|
|
89
|
-
return Array.from(labels);
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
const _getReferencedElementById = (el: HTMLElement, elementId: string): HTMLElement | null => {
|
|
93
|
-
return (el.getRootNode() as HTMLElement).querySelector<HTMLElement>(`[id='${elementId}']`);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
|
|
98
|
-
*/
|
|
99
|
-
const getAssociatedLabelForTexts = (el: HTMLElement) => {
|
|
100
|
-
const results: Array<string> = [];
|
|
101
|
-
const labels = _getAssociatedLabels(el);
|
|
102
|
-
|
|
103
|
-
labels.forEach((label: HTMLElement) => {
|
|
104
|
-
const labelText = label.textContent;
|
|
105
|
-
labelText && results.push(labelText);
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
if (results.length) {
|
|
109
|
-
return results.join(" ");
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return undefined;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
const _createInvalidationCallback = (el: UI5Element) => {
|
|
116
|
-
const invalidationCallback = (changeInfo: ChangeInfo) => {
|
|
117
|
-
if (!(changeInfo && changeInfo.type === "property" && changeInfo.name === "accessibleNameRef")) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
const registeredElement = registeredElements.get(el);
|
|
121
|
-
if (!registeredElement) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const oldAssociatedElements = registeredElement.observedElements;
|
|
125
|
-
const newAssociatedElements = _getAllAssociatedElementsFromDOM(el);
|
|
126
|
-
oldAssociatedElements.forEach(oldElement => {
|
|
127
|
-
if (!newAssociatedElements.includes(oldElement)) {
|
|
128
|
-
_removeObservedElementFromRegisteredElement(registeredElement, oldElement);
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
newAssociatedElements.forEach(newElement => {
|
|
132
|
-
if (!oldAssociatedElements.includes(newElement)) {
|
|
133
|
-
_addObservedElementToRegisteredElement(registeredElement, newElement);
|
|
134
|
-
registeredElement.observedElements.push(newElement);
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
registeredElement?.callback();
|
|
138
|
-
};
|
|
139
|
-
return invalidationCallback;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
const registerUI5Element = (el: UI5Element, callback: MutationCallback) => {
|
|
143
|
-
if (registeredElements.has(el)) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
const allAssociatedElements = _getAllAssociatedElementsFromDOM(el);
|
|
147
|
-
const invalidationCallback = _createInvalidationCallback(el);
|
|
148
|
-
const registeredElement = {
|
|
149
|
-
host: el,
|
|
150
|
-
observedElements: allAssociatedElements,
|
|
151
|
-
callback,
|
|
152
|
-
invalidationCallback,
|
|
153
|
-
};
|
|
154
|
-
registeredElements.set(el, registeredElement);
|
|
155
|
-
el.attachInvalidate(invalidationCallback);
|
|
156
|
-
|
|
157
|
-
allAssociatedElements.forEach((element: HTMLElement) => {
|
|
158
|
-
_addObservedElementToRegisteredElement(registeredElement, element);
|
|
159
|
-
});
|
|
160
|
-
callback();
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
const _addObservedElementToRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {
|
|
164
|
-
let associatedElement = associatedElements.get(element);
|
|
165
|
-
if (!associatedElement) {
|
|
166
|
-
associatedElement = { observer: null, callbacks: [] };
|
|
167
|
-
const observer = new MutationObserver(() => {
|
|
168
|
-
const callbacks = (associatedElement as AssociatedElement).callbacks;
|
|
169
|
-
callbacks.forEach(callback => {
|
|
170
|
-
callback();
|
|
171
|
-
});
|
|
172
|
-
const domEl = document.getElementById(element.id);
|
|
173
|
-
// if no longer should be observed from this registeredElement, remove it
|
|
174
|
-
if (!(registeredElement.host.id === element.getAttribute("for") || domEl)) {
|
|
175
|
-
_removeObservedElementFromRegisteredElement(registeredElement, element);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
associatedElement.observer = observer;
|
|
179
|
-
observer.observe(element, observerOptions);
|
|
180
|
-
associatedElements.set(element, associatedElement);
|
|
181
|
-
}
|
|
182
|
-
if (!associatedElement.callbacks.includes(registeredElement.callback)) {
|
|
183
|
-
associatedElement.callbacks.push(registeredElement.callback);
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
const _removeObservedElementFromRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {
|
|
188
|
-
const associatedElement = associatedElements.get(element);
|
|
189
|
-
if (associatedElement) {
|
|
190
|
-
associatedElement.callbacks = associatedElement.callbacks.filter(itm => itm !== registeredElement.callback);
|
|
191
|
-
if (!associatedElement.callbacks.length) {
|
|
192
|
-
associatedElement.observer?.disconnect();
|
|
193
|
-
associatedElements.delete(element);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
registeredElement.observedElements = registeredElement.observedElements.filter(itm => itm !== element);
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
const deregisterUI5Element = (el: UI5Element) => {
|
|
200
|
-
const registeredElement = registeredElements.get(el);
|
|
201
|
-
if (!registeredElement) {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
const oldObservedElements = [...registeredElement.observedElements];
|
|
205
|
-
oldObservedElements.forEach(observedElement => {
|
|
206
|
-
_removeObservedElementFromRegisteredElement(registeredElement, observedElement);
|
|
207
|
-
});
|
|
208
|
-
el.detachInvalidate(registeredElement.invalidationCallback);
|
|
209
|
-
registeredElements.delete(el);
|
|
210
|
-
};
|
|
211
|
-
|
|
212
|
-
export {
|
|
213
|
-
getEffectiveAriaLabelText,
|
|
214
|
-
getAssociatedLabelForTexts,
|
|
215
|
-
registerUI5Element,
|
|
216
|
-
deregisterUI5Element,
|
|
217
|
-
getAllAccessibleNameRefTexts,
|
|
218
|
-
};
|
package/src/util/Caret.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the caret (cursor) position of the specified text field (field).
|
|
3
|
-
* Return value range is 0-field.value.length.
|
|
4
|
-
*/
|
|
5
|
-
const getCaretPosition = (field: HTMLInputElement): number | null => {
|
|
6
|
-
// Initialize
|
|
7
|
-
let caretPos: number | null = 0;
|
|
8
|
-
|
|
9
|
-
if (field.selectionStart || field.selectionStart === 0) { // Firefox support
|
|
10
|
-
caretPos = field.selectionDirection === "backward" ? field.selectionStart : field.selectionEnd;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return caretPos;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const setCaretPosition = (field: HTMLInputElement, caretPos: number | null) => {
|
|
17
|
-
if (field.selectionStart) {
|
|
18
|
-
field.focus();
|
|
19
|
-
field.setSelectionRange(caretPos, caretPos);
|
|
20
|
-
} else {
|
|
21
|
-
field.focus();
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
getCaretPosition,
|
|
27
|
-
setCaretPosition,
|
|
28
|
-
};
|