@ui5/webcomponents-base 0.0.0-7a547f8cc → 0.0.0-7c7170d4a

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.
Files changed (551) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +1273 -0
  3. package/README.md +5 -8
  4. package/config/wdio.conf.cjs +392 -0
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/AssetRegistry.d.ts +2 -2
  7. package/dist/AssetRegistry.js +2 -2
  8. package/dist/AssetRegistry.js.map +1 -1
  9. package/dist/Boot.d.ts +6 -4
  10. package/dist/Boot.js +31 -6
  11. package/dist/Boot.js.map +1 -1
  12. package/dist/CustomElementsRegistry.js.map +1 -1
  13. package/dist/CustomElementsScope.d.ts +4 -4
  14. package/dist/CustomElementsScope.js +2 -2
  15. package/dist/CustomElementsScope.js.map +1 -1
  16. package/dist/CustomElementsScopeUtils.d.ts +8 -1
  17. package/dist/CustomElementsScopeUtils.js +13 -1
  18. package/dist/CustomElementsScopeUtils.js.map +1 -1
  19. package/dist/DOMObserver.js.map +1 -1
  20. package/dist/Device.d.ts +2 -2
  21. package/dist/Device.js +14 -12
  22. package/dist/Device.js.map +1 -1
  23. package/dist/EventProvider.js +1 -1
  24. package/dist/EventProvider.js.map +1 -1
  25. package/dist/FeaturesRegistry.js.map +1 -1
  26. package/dist/FontFace.js +1 -1
  27. package/dist/FontFace.js.map +1 -1
  28. package/dist/IgnoreCustomElements.d.ts +25 -0
  29. package/dist/IgnoreCustomElements.js +37 -0
  30. package/dist/IgnoreCustomElements.js.map +1 -0
  31. package/dist/InitialConfiguration.d.ts +7 -2
  32. package/dist/InitialConfiguration.js +16 -6
  33. package/dist/InitialConfiguration.js.map +1 -1
  34. package/dist/Keys.d.ts +7 -1
  35. package/dist/Keys.js +113 -106
  36. package/dist/Keys.js.map +1 -1
  37. package/dist/ManagedStyles.d.ts +5 -4
  38. package/dist/ManagedStyles.js +54 -52
  39. package/dist/ManagedStyles.js.map +1 -1
  40. package/dist/MarkedEvents.js.map +1 -1
  41. package/dist/MediaRange.d.ts +6 -12
  42. package/dist/MediaRange.js +21 -31
  43. package/dist/MediaRange.js.map +1 -1
  44. package/dist/PropertiesFileFormat.js.map +1 -1
  45. package/dist/Render.js.map +1 -1
  46. package/dist/RenderQueue.js.map +1 -1
  47. package/dist/Runtimes.js.map +1 -1
  48. package/dist/StaticArea.d.ts +3 -0
  49. package/dist/StaticArea.js +4 -3
  50. package/dist/StaticArea.js.map +1 -1
  51. package/dist/SystemCSSVars.js.map +1 -1
  52. package/dist/Theming.js.map +1 -1
  53. package/dist/UI5Element.d.ts +59 -58
  54. package/dist/UI5Element.js +165 -116
  55. package/dist/UI5Element.js.map +1 -1
  56. package/dist/UI5ElementMetadata.d.ts +13 -13
  57. package/dist/UI5ElementMetadata.js +26 -15
  58. package/dist/UI5ElementMetadata.js.map +1 -1
  59. package/dist/animations/AnimationQueue.js.map +1 -1
  60. package/dist/animations/animate.js.map +1 -1
  61. package/dist/animations/scroll.js.map +1 -1
  62. package/dist/animations/slideDown.js.map +1 -1
  63. package/dist/animations/slideUp.js.map +1 -1
  64. package/dist/asset-registries/Icons.d.ts +22 -13
  65. package/dist/asset-registries/Icons.js +63 -31
  66. package/dist/asset-registries/Icons.js.map +1 -1
  67. package/dist/asset-registries/Illustrations.d.ts +3 -1
  68. package/dist/asset-registries/Illustrations.js +51 -20
  69. package/dist/asset-registries/Illustrations.js.map +1 -1
  70. package/dist/asset-registries/LocaleData.js +1 -1
  71. package/dist/asset-registries/LocaleData.js.map +1 -1
  72. package/dist/asset-registries/Themes.d.ts +5 -3
  73. package/dist/asset-registries/Themes.js +28 -10
  74. package/dist/asset-registries/Themes.js.map +1 -1
  75. package/dist/asset-registries/i18n.d.ts +2 -2
  76. package/dist/asset-registries/i18n.js +12 -5
  77. package/dist/asset-registries/i18n.js.map +1 -1
  78. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  79. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  80. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  81. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  82. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  83. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  84. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  85. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  86. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  87. package/dist/config/AnimationMode.d.ts +2 -2
  88. package/dist/config/AnimationMode.js +2 -1
  89. package/dist/config/AnimationMode.js.map +1 -1
  90. package/dist/config/CalendarType.d.ts +8 -1
  91. package/dist/config/CalendarType.js +18 -2
  92. package/dist/config/CalendarType.js.map +1 -1
  93. package/dist/config/FormatSettings.d.ts +5 -1
  94. package/dist/config/FormatSettings.js +5 -1
  95. package/dist/config/FormatSettings.js.map +1 -1
  96. package/dist/config/Icons.d.ts +31 -21
  97. package/dist/config/Icons.js +28 -32
  98. package/dist/config/Icons.js.map +1 -1
  99. package/dist/config/Language.d.ts +11 -2
  100. package/dist/config/Language.js +19 -4
  101. package/dist/config/Language.js.map +1 -1
  102. package/dist/config/NoConflict.js +1 -0
  103. package/dist/config/NoConflict.js.map +1 -1
  104. package/dist/config/Theme.d.ts +16 -5
  105. package/dist/config/Theme.js +35 -9
  106. package/dist/config/Theme.js.map +1 -1
  107. package/dist/config/ThemeRoot.d.ts +27 -0
  108. package/dist/config/ThemeRoot.js +57 -0
  109. package/dist/config/ThemeRoot.js.map +1 -0
  110. package/dist/config/Timezone.d.ts +17 -0
  111. package/dist/config/Timezone.js +30 -0
  112. package/dist/config/Timezone.js.map +1 -0
  113. package/dist/connectToComponent.d.ts +9 -0
  114. package/dist/connectToComponent.js +59 -0
  115. package/dist/connectToComponent.js.map +1 -0
  116. package/dist/css/FontFace.css +47 -17
  117. package/dist/css/SystemCSSVars.css +0 -8
  118. package/dist/decorators/customElement.d.ts +17 -2
  119. package/dist/decorators/customElement.js +31 -5
  120. package/dist/decorators/customElement.js.map +1 -1
  121. package/dist/decorators/event.d.ts +5 -2
  122. package/dist/decorators/event.js +6 -6
  123. package/dist/decorators/event.js.map +1 -1
  124. package/dist/decorators/property.js +6 -6
  125. package/dist/decorators/property.js.map +1 -1
  126. package/dist/decorators/slot.js +9 -9
  127. package/dist/decorators/slot.js.map +1 -1
  128. package/dist/decorators.d.ts +5 -0
  129. package/dist/decorators.js +6 -0
  130. package/dist/decorators.js.map +1 -0
  131. package/dist/delegate/ItemNavigation.d.ts +9 -8
  132. package/dist/delegate/ItemNavigation.js +13 -14
  133. package/dist/delegate/ItemNavigation.js.map +1 -1
  134. package/dist/delegate/ResizeHandler.d.ts +4 -6
  135. package/dist/delegate/ResizeHandler.js +11 -11
  136. package/dist/delegate/ResizeHandler.js.map +1 -1
  137. package/dist/delegate/ScrollEnablement.js +2 -2
  138. package/dist/delegate/ScrollEnablement.js.map +1 -1
  139. package/dist/features/F6Navigation.js.map +1 -1
  140. package/dist/features/InputElementsFormSupport.d.ts +18 -0
  141. package/dist/features/InputElementsFormSupport.js +40 -0
  142. package/dist/features/InputElementsFormSupport.js.map +1 -0
  143. package/dist/features/LegacyDateFormats.d.ts +18 -0
  144. package/dist/features/LegacyDateFormats.js +20 -0
  145. package/dist/features/LegacyDateFormats.js.map +1 -0
  146. package/dist/features/OpenUI5Element.js.map +1 -1
  147. package/dist/features/OpenUI5Enablement.d.ts +1 -1
  148. package/dist/features/OpenUI5Enablement.js.map +1 -1
  149. package/dist/features/OpenUI5Support.d.ts +16 -5
  150. package/dist/features/OpenUI5Support.js +89 -46
  151. package/dist/features/OpenUI5Support.js.map +1 -1
  152. package/dist/features/patchPatcher.d.ts +11 -0
  153. package/dist/features/patchPatcher.js +11 -0
  154. package/dist/features/patchPatcher.js.map +1 -0
  155. package/dist/features/patchPopup.d.ts +14 -0
  156. package/dist/features/patchPopup.js +50 -0
  157. package/dist/features/patchPopup.js.map +1 -0
  158. package/dist/generated/AssetParameters.d.ts +6 -0
  159. package/dist/generated/AssetParameters.js +4 -9
  160. package/dist/generated/AssetParameters.js.map +1 -0
  161. package/dist/generated/VersionInfo.d.ts +10 -0
  162. package/dist/generated/VersionInfo.js +9 -8
  163. package/dist/generated/VersionInfo.js.map +1 -0
  164. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  165. package/dist/generated/css/FontFace.css.js +1 -1
  166. package/dist/generated/css/FontFace.css.js.map +1 -1
  167. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  168. package/dist/generated/css/SystemCSSVars.css.js +1 -1
  169. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  170. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  171. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  172. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  173. package/dist/getSharedResource.d.ts +1 -1
  174. package/dist/getSharedResource.js +8 -2
  175. package/dist/getSharedResource.js.map +1 -1
  176. package/dist/global.d.ts +2 -0
  177. package/dist/i18nBundle.d.ts +2 -4
  178. package/dist/i18nBundle.js +3 -5
  179. package/dist/i18nBundle.js.map +1 -1
  180. package/dist/locale/Locale.js.map +1 -1
  181. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  182. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  183. package/dist/locale/applyDirection.d.ts +3 -2
  184. package/dist/locale/applyDirection.js +3 -2
  185. package/dist/locale/applyDirection.js.map +1 -1
  186. package/dist/locale/directionChange.js.map +1 -1
  187. package/dist/locale/getEffectiveDir.d.ts +1 -1
  188. package/dist/locale/getEffectiveDir.js +3 -19
  189. package/dist/locale/getEffectiveDir.js.map +1 -1
  190. package/dist/locale/getLocale.js.map +1 -1
  191. package/dist/locale/languageChange.js.map +1 -1
  192. package/dist/locale/nextFallbackLocale.js.map +1 -1
  193. package/dist/locale/normalizeLocale.js.map +1 -1
  194. package/dist/locale/timezoneChange.d.ts +5 -0
  195. package/dist/renderer/LitRenderer.d.ts +5 -5
  196. package/dist/renderer/LitRenderer.js +2 -8
  197. package/dist/renderer/LitRenderer.js.map +1 -1
  198. package/dist/renderer/directives/style-map.d.ts +13 -0
  199. package/dist/renderer/directives/style-map.js +59 -59
  200. package/dist/renderer/directives/style-map.js.map +1 -0
  201. package/dist/renderer/executeTemplate.d.ts +8 -0
  202. package/dist/renderer/executeTemplate.js +2 -1
  203. package/dist/renderer/executeTemplate.js.map +1 -1
  204. package/dist/sap/base/Log.js +698 -188
  205. package/dist/sap/base/assert.js +28 -1
  206. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  207. package/dist/sap/base/security/URLListValidator.js +253 -6
  208. package/dist/sap/base/security/encodeCSS.js +34 -8
  209. package/dist/sap/base/security/encodeXML.js +47 -17
  210. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  211. package/dist/sap/base/strings/toHex.js +27 -2
  212. package/dist/sap/base/util/now.js +24 -3
  213. package/dist/sap/base/util/uid.js +27 -0
  214. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  215. package/dist/ssr-dom-shim.d.ts +1 -0
  216. package/dist/ssr-dom-shim.js +12 -0
  217. package/dist/ssr-dom-shim.js.map +1 -0
  218. package/dist/ssr-dom.d.ts +0 -0
  219. package/dist/ssr-dom.js +0 -0
  220. package/dist/theming/CustomStyle.js.map +1 -1
  221. package/dist/theming/ThemeLoaded.js.map +1 -1
  222. package/dist/theming/ThemeRegistered.d.ts +4 -0
  223. package/dist/theming/ThemeRegistered.js +11 -0
  224. package/dist/theming/ThemeRegistered.js.map +1 -0
  225. package/dist/theming/applyTheme.js +8 -7
  226. package/dist/theming/applyTheme.js.map +1 -1
  227. package/dist/theming/getConstructableStyle.d.ts +1 -1
  228. package/dist/theming/getConstructableStyle.js +3 -3
  229. package/dist/theming/getConstructableStyle.js.map +1 -1
  230. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  231. package/dist/theming/getEffectiveStyle.js +5 -12
  232. package/dist/theming/getEffectiveStyle.js.map +1 -1
  233. package/dist/theming/getStylesString.d.ts +1 -1
  234. package/dist/theming/getStylesString.js.map +1 -1
  235. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  236. package/dist/thirdparty/_merge.js.map +1 -1
  237. package/dist/thirdparty/isPlainObject.js.map +1 -1
  238. package/dist/thirdparty/merge.js.map +1 -1
  239. package/dist/types/AnimationMode.d.ts +0 -8
  240. package/dist/types/AnimationMode.js +0 -8
  241. package/dist/types/AnimationMode.js.map +1 -1
  242. package/dist/types/AriaHasPopup.d.ts +32 -0
  243. package/dist/types/AriaHasPopup.js +34 -0
  244. package/dist/types/AriaHasPopup.js.map +1 -0
  245. package/dist/types/AriaLandmarkRole.d.ts +79 -0
  246. package/dist/types/AriaLandmarkRole.js +81 -0
  247. package/dist/types/AriaLandmarkRole.js.map +1 -0
  248. package/dist/types/AriaRole.d.ts +27 -0
  249. package/dist/types/AriaRole.js +29 -0
  250. package/dist/types/AriaRole.js.map +1 -0
  251. package/dist/types/CSSColor.d.ts +0 -5
  252. package/dist/types/CSSColor.js +0 -5
  253. package/dist/types/CSSColor.js.map +1 -1
  254. package/dist/types/CSSSize.d.ts +11 -0
  255. package/dist/types/CSSSize.js +14 -0
  256. package/dist/types/CSSSize.js.map +1 -0
  257. package/dist/types/CalendarType.d.ts +0 -9
  258. package/dist/types/CalendarType.js +0 -9
  259. package/dist/types/CalendarType.js.map +1 -1
  260. package/dist/types/DOMReference.d.ts +1 -5
  261. package/dist/types/DOMReference.js +1 -5
  262. package/dist/types/DOMReference.js.map +1 -1
  263. package/dist/types/DataType.d.ts +1 -6
  264. package/dist/types/DataType.js +1 -6
  265. package/dist/types/DataType.js.map +1 -1
  266. package/dist/types/Float.d.ts +0 -4
  267. package/dist/types/Float.js +0 -4
  268. package/dist/types/Float.js.map +1 -1
  269. package/dist/types/Integer.d.ts +0 -4
  270. package/dist/types/Integer.js +0 -4
  271. package/dist/types/Integer.js.map +1 -1
  272. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  273. package/dist/types/InvisibleMessageMode.js +4 -11
  274. package/dist/types/InvisibleMessageMode.js.map +1 -1
  275. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  276. package/dist/types/ItemNavigationBehavior.js +0 -6
  277. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  278. package/dist/types/MovePlacement.d.ts +20 -0
  279. package/dist/types/MovePlacement.js +22 -0
  280. package/dist/types/MovePlacement.js.map +1 -0
  281. package/dist/types/NavigationMode.d.ts +0 -8
  282. package/dist/types/NavigationMode.js +0 -8
  283. package/dist/types/NavigationMode.js.map +1 -1
  284. package/dist/types/Orientation.d.ts +16 -0
  285. package/dist/types/Orientation.js +18 -0
  286. package/dist/types/Orientation.js.map +1 -0
  287. package/dist/types/ValueState.d.ts +3 -17
  288. package/dist/types/ValueState.js +3 -17
  289. package/dist/types/ValueState.js.map +1 -1
  290. package/dist/types.d.ts +24 -1
  291. package/dist/types.js.map +1 -1
  292. package/dist/updateShadowRoot.d.ts +1 -2
  293. package/dist/updateShadowRoot.js +5 -21
  294. package/dist/updateShadowRoot.js.map +1 -1
  295. package/dist/util/AriaLabelHelper.d.ts +10 -1
  296. package/dist/util/AriaLabelHelper.js +135 -8
  297. package/dist/util/AriaLabelHelper.js.map +1 -1
  298. package/dist/util/Caret.js.map +1 -1
  299. package/dist/util/ColorConversion.js +200 -195
  300. package/dist/util/ColorConversion.js.map +1 -1
  301. package/dist/util/FetchHelper.js.map +1 -1
  302. package/dist/util/FocusableElements.js +4 -3
  303. package/dist/util/FocusableElements.js.map +1 -1
  304. package/dist/util/HTMLSanitizer.js.map +1 -1
  305. package/dist/util/InvisibleMessage.js.map +1 -1
  306. package/dist/util/PopupUtils.d.ts +1 -3
  307. package/dist/util/PopupUtils.js +1 -15
  308. package/dist/util/PopupUtils.js.map +1 -1
  309. package/dist/util/SlotsHelper.js.map +1 -1
  310. package/dist/util/StringHelper.js.map +1 -1
  311. package/dist/util/TabbableElements.js.map +1 -1
  312. package/dist/util/arraysAreEqual.js.map +1 -1
  313. package/dist/util/clamp.js +2 -1
  314. package/dist/util/clamp.js.map +1 -1
  315. package/dist/util/createLinkInHead.d.ts +1 -1
  316. package/dist/util/createLinkInHead.js +1 -1
  317. package/dist/util/createLinkInHead.js.map +1 -1
  318. package/dist/util/debounce.js.map +1 -1
  319. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  320. package/dist/util/detectNavigatorLanguage.js +6 -1
  321. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  322. package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
  323. package/dist/util/dragAndDrop/DragRegistry.js +68 -0
  324. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  325. package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
  326. package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
  327. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  328. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  329. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  330. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  331. package/dist/util/escapeRegex.js.map +1 -1
  332. package/dist/util/formatMessage.js.map +1 -1
  333. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  334. package/dist/util/getActiveElement.js.map +1 -1
  335. package/dist/util/getClassCopy.d.ts +68 -48
  336. package/dist/util/getClassCopy.js.map +1 -1
  337. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  338. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  339. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  340. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  341. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  342. package/dist/util/getFastNavigationGroups.js.map +1 -1
  343. package/dist/util/getFileExtension.js.map +1 -1
  344. package/dist/util/getNormalizedTarget.js.map +1 -1
  345. package/dist/util/getParentElement.d.ts +2 -0
  346. package/dist/util/getParentElement.js +5 -0
  347. package/dist/util/getParentElement.js.map +1 -0
  348. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  349. package/dist/util/getSingletonElementInstance.js +11 -2
  350. package/dist/util/getSingletonElementInstance.js.map +1 -1
  351. package/dist/util/isElementClickable.js.map +1 -1
  352. package/dist/util/isElementContainingBlock.d.ts +2 -0
  353. package/dist/util/isElementContainingBlock.js +11 -0
  354. package/dist/util/isElementContainingBlock.js.map +1 -0
  355. package/dist/util/isElementHidden.js.map +1 -1
  356. package/dist/util/isElementInView.js.map +1 -1
  357. package/dist/util/isElementTabbable.js.map +1 -1
  358. package/dist/util/isValidPropertyName.js.map +1 -1
  359. package/dist/util/whenDOMReady.js.map +1 -1
  360. package/dist/util/willShowContent.js.map +1 -1
  361. package/dist/validateThemeRoot.js +14 -13
  362. package/dist/validateThemeRoot.js.map +1 -1
  363. package/index.js +211 -1
  364. package/{package-scripts.js → package-scripts.cjs} +26 -23
  365. package/package.json +24 -8
  366. package/src/css/FontFace.css +47 -17
  367. package/src/css/SystemCSSVars.css +0 -8
  368. package/tsconfig.json +7 -0
  369. package/.eslintignore +0 -16
  370. package/bundle.esm.js +0 -60
  371. package/config/wdio.conf.js +0 -1
  372. package/dist/CSP.d.ts +0 -30
  373. package/dist/CSP.js +0 -51
  374. package/dist/CSP.js.map +0 -1
  375. package/dist/StaticAreaItem.d.ts +0 -36
  376. package/dist/StaticAreaItem.js +0 -99
  377. package/dist/StaticAreaItem.js.map +0 -1
  378. package/dist/api.json +0 -1
  379. package/dist/assets/bundle.esm.c3e922da.js +0 -56
  380. package/dist/assets-meta/IconCollectionsAlias.d.ts +0 -17
  381. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  382. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  383. package/dist/config/RTL.d.ts +0 -7
  384. package/dist/config/RTL.js +0 -37
  385. package/dist/config/RTL.js.map +0 -1
  386. package/dist/config/ThemeRoots.d.ts +0 -4
  387. package/dist/config/ThemeRoots.js +0 -28
  388. package/dist/config/ThemeRoots.js.map +0 -1
  389. package/dist/decorators/fastNavigation.d.ts +0 -7
  390. package/dist/decorators/fastNavigation.js +0 -13
  391. package/dist/decorators/fastNavigation.js.map +0 -1
  392. package/dist/decorators/languageAware.d.ts +0 -7
  393. package/dist/decorators/languageAware.js +0 -13
  394. package/dist/decorators/languageAware.js.map +0 -1
  395. package/dist/decorators/themeAware.d.ts +0 -7
  396. package/dist/decorators/themeAware.js +0 -13
  397. package/dist/decorators/themeAware.js.map +0 -1
  398. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  399. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  400. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  401. package/dist/theming/preloadLinks.d.ts +0 -3
  402. package/dist/theming/preloadLinks.js +0 -19
  403. package/dist/theming/preloadLinks.js.map +0 -1
  404. package/dist/util/createStyleInHead.d.ts +0 -8
  405. package/dist/util/createStyleInHead.js +0 -18
  406. package/dist/util/createStyleInHead.js.map +0 -1
  407. package/lib/generate-asset-parameters/index.js +0 -25
  408. package/lib/generate-styles/index.js +0 -31
  409. package/lib/generate-version-info/index.js +0 -32
  410. package/src/AssetRegistry.ts +0 -11
  411. package/src/Boot.ts +0 -65
  412. package/src/CSP.ts +0 -66
  413. package/src/CustomElementsRegistry.ts +0 -98
  414. package/src/CustomElementsScope.ts +0 -33
  415. package/src/CustomElementsScopeUtils.ts +0 -115
  416. package/src/DOMObserver.ts +0 -28
  417. package/src/Device.ts +0 -203
  418. package/src/EventProvider.ts +0 -87
  419. package/src/FeaturesRegistry.ts +0 -14
  420. package/src/FontFace.ts +0 -31
  421. package/src/InitialConfiguration.ts +0 -207
  422. package/src/Keys.ts +0 -295
  423. package/src/ManagedStyles.ts +0 -92
  424. package/src/MarkedEvents.ts +0 -20
  425. package/src/MediaRange.ts +0 -110
  426. package/src/PropertiesFileFormat.ts +0 -95
  427. package/src/Render.ts +0 -180
  428. package/src/RenderQueue.ts +0 -71
  429. package/src/Runtimes.ts +0 -114
  430. package/src/StaticArea.ts +0 -3
  431. package/src/StaticAreaItem.ts +0 -113
  432. package/src/SystemCSSVars.ts +0 -10
  433. package/src/Theming.ts +0 -4
  434. package/src/UI5Element.ts +0 -1156
  435. package/src/UI5ElementMetadata.ts +0 -389
  436. package/src/animations/AnimationQueue.ts +0 -43
  437. package/src/animations/animate.ts +0 -64
  438. package/src/animations/scroll.ts +0 -21
  439. package/src/animations/slideDown.ts +0 -72
  440. package/src/animations/slideUp.ts +0 -67
  441. package/src/asset-registries/Icons.ts +0 -162
  442. package/src/asset-registries/Illustrations.ts +0 -75
  443. package/src/asset-registries/LocaleData.ts +0 -172
  444. package/src/asset-registries/Themes.ts +0 -67
  445. package/src/asset-registries/i18n.ts +0 -118
  446. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  447. package/src/config/AnimationMode.ts +0 -33
  448. package/src/config/CalendarType.ts +0 -23
  449. package/src/config/FormatSettings.ts +0 -21
  450. package/src/config/Icons.ts +0 -59
  451. package/src/config/Language.ts +0 -72
  452. package/src/config/NoConflict.ts +0 -67
  453. package/src/config/RTL.ts +0 -45
  454. package/src/config/Theme.ts +0 -64
  455. package/src/config/ThemeRoots.ts +0 -41
  456. package/src/decorators/customElement.ts +0 -17
  457. package/src/decorators/event.ts +0 -28
  458. package/src/decorators/fastNavigation.ts +0 -14
  459. package/src/decorators/languageAware.ts +0 -14
  460. package/src/decorators/property.ts +0 -30
  461. package/src/decorators/slot.ts +0 -49
  462. package/src/decorators/themeAware.ts +0 -14
  463. package/src/delegate/ItemNavigation.ts +0 -393
  464. package/src/delegate/ResizeHandler.ts +0 -100
  465. package/src/delegate/ScrollEnablement.ts +0 -224
  466. package/src/features/F6Navigation.ts +0 -195
  467. package/src/features/OpenUI5Element.ts +0 -11
  468. package/src/features/OpenUI5Enablement.ts +0 -117
  469. package/src/features/OpenUI5Support.ts +0 -148
  470. package/src/generated/css/BusyIndicator.css.ts +0 -9
  471. package/src/generated/css/FontFace.css.ts +0 -9
  472. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  473. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  474. package/src/getSharedResource.ts +0 -39
  475. package/src/global.d.ts +0 -38
  476. package/src/i18nBundle.ts +0 -108
  477. package/src/locale/Locale.ts +0 -101
  478. package/src/locale/RTLAwareRegistry.ts +0 -16
  479. package/src/locale/applyDirection.ts +0 -18
  480. package/src/locale/directionChange.ts +0 -34
  481. package/src/locale/getEffectiveDir.ts +0 -28
  482. package/src/locale/getLocale.ts +0 -46
  483. package/src/locale/languageChange.ts +0 -24
  484. package/src/locale/nextFallbackLocale.ts +0 -28
  485. package/src/locale/normalizeLocale.ts +0 -56
  486. package/src/renderer/LitRenderer.ts +0 -60
  487. package/src/renderer/directives/style-map.js +0 -72
  488. package/src/renderer/executeTemplate.ts +0 -40
  489. package/src/theming/CustomStyle.ts +0 -64
  490. package/src/theming/ThemeLoaded.ts +0 -24
  491. package/src/theming/applyTheme.ts +0 -90
  492. package/src/theming/getConstructableStyle.ts +0 -31
  493. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  494. package/src/theming/getEffectiveStyle.ts +0 -41
  495. package/src/theming/getStylesString.ts +0 -15
  496. package/src/theming/getThemeDesignerTheme.ts +0 -101
  497. package/src/theming/preloadLinks.ts +0 -24
  498. package/src/thirdparty/_merge.ts +0 -32
  499. package/src/thirdparty/isPlainObject.ts +0 -18
  500. package/src/thirdparty/merge.ts +0 -5
  501. package/src/types/AnimationMode.ts +0 -33
  502. package/src/types/CSSColor.ts +0 -20
  503. package/src/types/CalendarType.ts +0 -38
  504. package/src/types/DOMReference.ts +0 -28
  505. package/src/types/DataType.ts +0 -51
  506. package/src/types/Float.ts +0 -25
  507. package/src/types/Integer.ts +0 -25
  508. package/src/types/InvisibleMessageMode.ts +0 -27
  509. package/src/types/ItemNavigationBehavior.ts +0 -26
  510. package/src/types/NavigationMode.ts +0 -33
  511. package/src/types/ValueState.ts +0 -47
  512. package/src/types.ts +0 -30
  513. package/src/updateShadowRoot.ts +0 -37
  514. package/src/util/AriaLabelHelper.ts +0 -63
  515. package/src/util/Caret.ts +0 -28
  516. package/src/util/ColorConversion.ts +0 -399
  517. package/src/util/FetchHelper.ts +0 -31
  518. package/src/util/FocusableElements.ts +0 -92
  519. package/src/util/HTMLSanitizer.ts +0 -9
  520. package/src/util/InvisibleMessage.ts +0 -69
  521. package/src/util/PopupUtils.ts +0 -112
  522. package/src/util/SlotsHelper.ts +0 -39
  523. package/src/util/StringHelper.ts +0 -26
  524. package/src/util/TabbableElements.ts +0 -70
  525. package/src/util/arraysAreEqual.ts +0 -15
  526. package/src/util/clamp.ts +0 -12
  527. package/src/util/createLinkInHead.ts +0 -25
  528. package/src/util/createStyleInHead.ts +0 -20
  529. package/src/util/debounce.ts +0 -18
  530. package/src/util/detectNavigatorLanguage.ts +0 -13
  531. package/src/util/escapeRegex.ts +0 -11
  532. package/src/util/formatMessage.ts +0 -24
  533. package/src/util/generateHighlightedMarkup.ts +0 -43
  534. package/src/util/getActiveElement.ts +0 -11
  535. package/src/util/getClassCopy.ts +0 -12
  536. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  537. package/src/util/getEffectiveContentDensity.ts +0 -5
  538. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  539. package/src/util/getFastNavigationGroups.ts +0 -63
  540. package/src/util/getFileExtension.ts +0 -21
  541. package/src/util/getNormalizedTarget.ts +0 -16
  542. package/src/util/getSingletonElementInstance.ts +0 -13
  543. package/src/util/isElementClickable.ts +0 -19
  544. package/src/util/isElementHidden.ts +0 -9
  545. package/src/util/isElementInView.ts +0 -15
  546. package/src/util/isElementTabbable.ts +0 -37
  547. package/src/util/isValidPropertyName.ts +0 -29
  548. package/src/util/whenDOMReady.ts +0 -13
  549. package/src/util/willShowContent.ts +0 -7
  550. package/src/validateThemeRoot.ts +0 -58
  551. package/used-modules.txt +0 -10
@@ -1,3 +1,11 @@
1
+ const associatedElements = new WeakMap();
2
+ const registeredElements = new WeakMap();
3
+ const observerOptions = {
4
+ attributes: true,
5
+ childList: true,
6
+ characterData: true,
7
+ subtree: true,
8
+ };
1
9
  const getEffectiveAriaLabelText = (el) => {
2
10
  const accessibleEl = el;
3
11
  if (!accessibleEl.accessibleNameRef) {
@@ -6,31 +14,59 @@ const getEffectiveAriaLabelText = (el) => {
6
14
  }
7
15
  return undefined;
8
16
  }
9
- return _getAriaLabelledByTexts(el);
17
+ return getAllAccessibleNameRefTexts(el);
10
18
  };
11
19
  /**
12
20
  *
13
21
  * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
14
22
  */
15
- const _getAriaLabelledByTexts = (el) => {
16
- const ids = el.accessibleNameRef.split(" ");
23
+ const getAllAccessibleNameRefTexts = (el) => {
24
+ const ids = el.accessibleNameRef?.split(" ") ?? [];
17
25
  const owner = el.getRootNode();
18
26
  let result = "";
19
27
  ids.forEach((elementId, index) => {
20
28
  const element = owner.querySelector(`[id='${elementId}']`);
21
- result += `${element && element.textContent ? element.textContent : ""}`;
22
- if (index < ids.length - 1) {
23
- result += " ";
29
+ const text = `${element && element.textContent ? element.textContent : ""}`;
30
+ if (text) {
31
+ result += text;
32
+ if (index < ids.length - 1) {
33
+ result += " ";
34
+ }
24
35
  }
25
36
  });
26
37
  return result;
27
38
  };
39
+ const _getAllAssociatedElementsFromDOM = (el) => {
40
+ const set = new Set();
41
+ // adding labels with attribute for matching the el.id
42
+ const labelsForAssociated = _getAssociatedLabels(el);
43
+ labelsForAssociated.forEach(itm => {
44
+ set.add(itm);
45
+ });
46
+ // adding other elements that id is the same as accessibleNameRef value
47
+ const value = el["accessibleNameRef"];
48
+ const ids = value?.split(" ") ?? [];
49
+ ids.forEach(id => {
50
+ const refEl = _getReferencedElementById(el, id);
51
+ if (refEl) {
52
+ set.add(refEl);
53
+ }
54
+ });
55
+ return Array.from(set);
56
+ };
57
+ const _getAssociatedLabels = (el) => {
58
+ const labels = el.getRootNode().querySelectorAll(`[for="${el.id}"]`);
59
+ return Array.from(labels);
60
+ };
61
+ const _getReferencedElementById = (el, elementId) => {
62
+ return el.getRootNode().querySelector(`[id='${elementId}']`);
63
+ };
28
64
  /**
29
65
  * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
30
66
  */
31
67
  const getAssociatedLabelForTexts = (el) => {
32
68
  const results = [];
33
- const labels = el.getRootNode().querySelectorAll(`[ui5-label][for="${el.id}"],label[for="${el.id}"]`);
69
+ const labels = _getAssociatedLabels(el);
34
70
  labels.forEach((label) => {
35
71
  const labelText = label.textContent;
36
72
  labelText && results.push(labelText);
@@ -40,5 +76,96 @@ const getAssociatedLabelForTexts = (el) => {
40
76
  }
41
77
  return undefined;
42
78
  };
43
- export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, };
79
+ const _createInvalidationCallback = (el) => {
80
+ const invalidationCallback = (changeInfo) => {
81
+ if (!(changeInfo && changeInfo.type === "property" && changeInfo.name === "accessibleNameRef")) {
82
+ return;
83
+ }
84
+ const registeredElement = registeredElements.get(el);
85
+ if (!registeredElement) {
86
+ return;
87
+ }
88
+ const oldAssociatedElements = registeredElement.observedElements;
89
+ const newAssociatedElements = _getAllAssociatedElementsFromDOM(el);
90
+ oldAssociatedElements.forEach(oldElement => {
91
+ if (!newAssociatedElements.includes(oldElement)) {
92
+ _removeObservedElementFromRegisteredElement(registeredElement, oldElement);
93
+ }
94
+ });
95
+ newAssociatedElements.forEach(newElement => {
96
+ if (!oldAssociatedElements.includes(newElement)) {
97
+ _addObservedElementToRegisteredElement(registeredElement, newElement);
98
+ registeredElement.observedElements.push(newElement);
99
+ }
100
+ });
101
+ registeredElement?.callback();
102
+ };
103
+ return invalidationCallback;
104
+ };
105
+ const registerUI5Element = (el, callback) => {
106
+ if (registeredElements.has(el)) {
107
+ return;
108
+ }
109
+ const allAssociatedElements = _getAllAssociatedElementsFromDOM(el);
110
+ const invalidationCallback = _createInvalidationCallback(el);
111
+ const registeredElement = {
112
+ host: el,
113
+ observedElements: allAssociatedElements,
114
+ callback,
115
+ invalidationCallback,
116
+ };
117
+ registeredElements.set(el, registeredElement);
118
+ el.attachInvalidate(invalidationCallback);
119
+ allAssociatedElements.forEach((element) => {
120
+ _addObservedElementToRegisteredElement(registeredElement, element);
121
+ });
122
+ callback();
123
+ };
124
+ const _addObservedElementToRegisteredElement = (registeredElement, element) => {
125
+ let associatedElement = associatedElements.get(element);
126
+ if (!associatedElement) {
127
+ associatedElement = { observer: null, callbacks: [] };
128
+ const observer = new MutationObserver(() => {
129
+ const callbacks = associatedElement.callbacks;
130
+ callbacks.forEach(callback => {
131
+ callback();
132
+ });
133
+ const domEl = document.getElementById(element.id);
134
+ // if no longer should be observed from this registeredElement, remove it
135
+ if (!(registeredElement.host.id === element.getAttribute("for") || domEl)) {
136
+ _removeObservedElementFromRegisteredElement(registeredElement, element);
137
+ }
138
+ });
139
+ associatedElement.observer = observer;
140
+ observer.observe(element, observerOptions);
141
+ associatedElements.set(element, associatedElement);
142
+ }
143
+ if (!associatedElement.callbacks.includes(registeredElement.callback)) {
144
+ associatedElement.callbacks.push(registeredElement.callback);
145
+ }
146
+ };
147
+ const _removeObservedElementFromRegisteredElement = (registeredElement, element) => {
148
+ const associatedElement = associatedElements.get(element);
149
+ if (associatedElement) {
150
+ associatedElement.callbacks = associatedElement.callbacks.filter(itm => itm !== registeredElement.callback);
151
+ if (!associatedElement.callbacks.length) {
152
+ associatedElement.observer?.disconnect();
153
+ associatedElements.delete(element);
154
+ }
155
+ }
156
+ registeredElement.observedElements = registeredElement.observedElements.filter(itm => itm !== element);
157
+ };
158
+ const deregisterUI5Element = (el) => {
159
+ const registeredElement = registeredElements.get(el);
160
+ if (!registeredElement) {
161
+ return;
162
+ }
163
+ const oldObservedElements = [...registeredElement.observedElements];
164
+ oldObservedElements.forEach(observedElement => {
165
+ _removeObservedElementFromRegisteredElement(registeredElement, observedElement);
166
+ });
167
+ el.detachInvalidate(registeredElement.invalidationCallback);
168
+ registeredElements.delete(el);
169
+ };
170
+ export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, registerUI5Element, deregisterUI5Element, getAllAccessibleNameRefTexts, };
44
171
  //# sourceMappingURL=AriaLabelHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AriaLabelHelper.js","sourceRoot":"","sources":["../../src/util/AriaLabelHelper.ts"],"names":[],"mappings":"AAKA,MAAM,yBAAyB,GAAG,CAAC,EAAe,EAAE,EAAE;IACrD,MAAM,YAAY,GAAG,EAAuB,CAAC;IAE7C,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACpC,IAAI,YAAY,CAAC,cAAc,EAAE;YAChC,OAAO,YAAY,CAAC,cAAc,CAAC;SACnC;QAED,OAAO,SAAS,CAAC;KACjB;IAED,OAAO,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,EAAe,EAAE,EAAE;IACnD,MAAM,GAAG,GAAI,EAAwB,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,EAAiB,CAAC;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,GAAG,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,SAAS,IAAI,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAEzE,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,CAAC;SACd;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,EAAe,EAAE,EAAE;IACtD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAI,EAAE,CAAC,WAAW,EAAkB,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAEvH,MAAM,CAAC,OAAO,CAAC,CAAC,KAAW,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EACN,yBAAyB,EACzB,0BAA0B,GAC1B,CAAC"}
1
+ {"version":3,"file":"AriaLabelHelper.js","sourceRoot":"","sources":["../../src/util/AriaLabelHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } from \"../UI5Element.js\";\n\ntype InvalidateCallback = (changeInfo: ChangeInfo) => void;\ntype MutationCallback = () => void;\ntype AssociatedElement = {\n\tobserver: MutationObserver | null;\n\tcallbacks: Array<MutationCallback>;\n};\ntype RegisteredElement = {\n\thost: UI5Element;\n\tobservedElements: Array<HTMLElement>;\n\tcallback: MutationCallback;\n\tinvalidationCallback: InvalidateCallback;\n};\n\nconst associatedElements = new WeakMap<HTMLElement, AssociatedElement>();\nconst registeredElements = new WeakMap<UI5Element, RegisteredElement>();\n\ntype AccessibleElement = HTMLElement & {\n\taccessibleNameRef: string;\n\taccessibleName: string;\n};\n\nconst observerOptions = {\n\tattributes: true,\n\tchildList: true,\n\tcharacterData: true,\n\tsubtree: true,\n};\n\nconst getEffectiveAriaLabelText = (el: HTMLElement) => {\n\tconst accessibleEl = el as AccessibleElement;\n\n\tif (!accessibleEl.accessibleNameRef) {\n\t\tif (accessibleEl.accessibleName) {\n\t\t\treturn accessibleEl.accessibleName;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\treturn getAllAccessibleNameRefTexts(el);\n};\n\n/**\n *\n * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts\n */\nconst getAllAccessibleNameRefTexts = (el: HTMLElement) => {\n\tconst ids = (el as AccessibleElement).accessibleNameRef?.split(\" \") ?? [];\n\tconst owner = el.getRootNode() as HTMLElement;\n\tlet result = \"\";\n\n\tids.forEach((elementId: string, index: number) => {\n\t\tconst element = owner.querySelector(`[id='${elementId}']`);\n\t\tconst text = `${element && element.textContent ? element.textContent : \"\"}`;\n\t\tif (text) {\n\t\t\tresult += text;\n\t\t\tif (index < ids.length - 1) {\n\t\t\t\tresult += \" \";\n\t\t\t}\n\t\t}\n\t});\n\n\treturn result;\n};\n\nconst _getAllAssociatedElementsFromDOM = (el: UI5Element): Array<HTMLElement> => {\n\tconst set = new Set<HTMLElement>();\n\t// adding labels with attribute for matching the el.id\n\tconst labelsForAssociated = _getAssociatedLabels(el);\n\tlabelsForAssociated.forEach(itm => {\n\t\tset.add(itm);\n\t});\n\t// adding other elements that id is the same as accessibleNameRef value\n\tconst value = el[\"accessibleNameRef\" as keyof typeof el] as string;\n\tconst ids = value?.split(\" \") ?? [];\n\tids.forEach(id => {\n\t\tconst refEl = _getReferencedElementById(el, id);\n\t\tif (refEl) {\n\t\t\tset.add(refEl);\n\t\t}\n\t});\n\treturn Array.from(set);\n};\n\nconst _getAssociatedLabels = (el: HTMLElement): Array<HTMLElement> => {\n\tconst labels = (el.getRootNode() as HTMLElement).querySelectorAll<HTMLElement>(`[for=\"${el.id}\"]`);\n\treturn Array.from(labels);\n};\n\nconst _getReferencedElementById = (el: HTMLElement, elementId: string): HTMLElement | null => {\n\treturn (el.getRootNode() as HTMLElement).querySelector<HTMLElement>(`[id='${elementId}']`);\n};\n\n/**\n * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related \"label for\" texts\n */\nconst getAssociatedLabelForTexts = (el: HTMLElement) => {\n\tconst results: Array<string> = [];\n\tconst labels = _getAssociatedLabels(el);\n\n\tlabels.forEach((label: HTMLElement) => {\n\t\tconst labelText = label.textContent;\n\t\tlabelText && results.push(labelText);\n\t});\n\n\tif (results.length) {\n\t\treturn results.join(\" \");\n\t}\n\n\treturn undefined;\n};\n\nconst _createInvalidationCallback = (el: UI5Element) => {\n\tconst invalidationCallback = (changeInfo: ChangeInfo) => {\n\t\tif (!(changeInfo && changeInfo.type === \"property\" && changeInfo.name === \"accessibleNameRef\")) {\n\t\t\treturn;\n\t\t}\n\t\tconst registeredElement = registeredElements.get(el);\n\t\tif (!registeredElement) {\n\t\t\treturn;\n\t\t}\n\t\tconst oldAssociatedElements = registeredElement.observedElements;\n\t\tconst newAssociatedElements = _getAllAssociatedElementsFromDOM(el);\n\t\toldAssociatedElements.forEach(oldElement => {\n\t\t\tif (!newAssociatedElements.includes(oldElement)) {\n\t\t\t\t_removeObservedElementFromRegisteredElement(registeredElement, oldElement);\n\t\t\t}\n\t\t});\n\t\tnewAssociatedElements.forEach(newElement => {\n\t\t\tif (!oldAssociatedElements.includes(newElement)) {\n\t\t\t\t_addObservedElementToRegisteredElement(registeredElement, newElement);\n\t\t\t\tregisteredElement.observedElements.push(newElement);\n\t\t\t}\n\t\t});\n\t\tregisteredElement?.callback();\n\t};\n\treturn invalidationCallback;\n};\n\nconst registerUI5Element = (el: UI5Element, callback: MutationCallback) => {\n\tif (registeredElements.has(el)) {\n\t\treturn;\n\t}\n\tconst allAssociatedElements = _getAllAssociatedElementsFromDOM(el);\n\tconst invalidationCallback = _createInvalidationCallback(el);\n\tconst registeredElement = {\n\t\thost: el,\n\t\tobservedElements: allAssociatedElements,\n\t\tcallback,\n\t\tinvalidationCallback,\n\t};\n\tregisteredElements.set(el, registeredElement);\n\tel.attachInvalidate(invalidationCallback);\n\n\tallAssociatedElements.forEach((element: HTMLElement) => {\n\t\t_addObservedElementToRegisteredElement(registeredElement, element);\n\t});\n\tcallback();\n};\n\nconst _addObservedElementToRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {\n\tlet associatedElement = associatedElements.get(element);\n\tif (!associatedElement) {\n\t\tassociatedElement = { observer: null, callbacks: [] };\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tconst callbacks = (associatedElement as AssociatedElement).callbacks;\n\t\t\tcallbacks.forEach(callback => {\n\t\t\t\tcallback();\n\t\t\t});\n\t\t\tconst domEl = document.getElementById(element.id);\n\t\t\t// if no longer should be observed from this registeredElement, remove it\n\t\t\tif (!(registeredElement.host.id === element.getAttribute(\"for\") || domEl)) {\n\t\t\t\t_removeObservedElementFromRegisteredElement(registeredElement, element);\n\t\t\t}\n\t\t});\n\t\tassociatedElement.observer = observer;\n\t\tobserver.observe(element, observerOptions);\n\t\tassociatedElements.set(element, associatedElement);\n\t}\n\tif (!associatedElement.callbacks.includes(registeredElement.callback)) {\n\t\tassociatedElement.callbacks.push(registeredElement.callback);\n\t}\n};\n\nconst _removeObservedElementFromRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {\n\tconst associatedElement = associatedElements.get(element);\n\tif (associatedElement) {\n\t\tassociatedElement.callbacks = associatedElement.callbacks.filter(itm => itm !== registeredElement.callback);\n\t\tif (!associatedElement.callbacks.length) {\n\t\t\tassociatedElement.observer?.disconnect();\n\t\t\tassociatedElements.delete(element);\n\t\t}\n\t}\n\tregisteredElement.observedElements = registeredElement.observedElements.filter(itm => itm !== element);\n};\n\nconst deregisterUI5Element = (el: UI5Element) => {\n\tconst registeredElement = registeredElements.get(el);\n\tif (!registeredElement) {\n\t\treturn;\n\t}\n\tconst oldObservedElements = [...registeredElement.observedElements];\n\toldObservedElements.forEach(observedElement => {\n\t\t_removeObservedElementFromRegisteredElement(registeredElement, observedElement);\n\t});\n\tel.detachInvalidate(registeredElement.invalidationCallback);\n\tregisteredElements.delete(el);\n};\n\nexport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tregisterUI5Element,\n\tderegisterUI5Element,\n\tgetAllAccessibleNameRefTexts,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Caret.js","sourceRoot":"","sources":["../../src/util/Caret.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAiB,EAAE;IACnE,aAAa;IACb,IAAI,QAAQ,GAAkB,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,EAAE,EAAE,kBAAkB;QAC3E,QAAQ,GAAG,KAAK,CAAC,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;KAC/F;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,QAAuB,EAAE,EAAE;IAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;QACzB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC5C;SAAM;QACN,KAAK,CAAC,KAAK,EAAE,CAAC;KACd;AACF,CAAC,CAAC;AAEF,OAAO,EACN,gBAAgB,EAChB,gBAAgB,GAChB,CAAC"}
1
+ {"version":3,"file":"Caret.js","sourceRoot":"","sources":["../../src/util/Caret.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAiB,EAAE;IACnE,aAAa;IACb,IAAI,QAAQ,GAAkB,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,EAAE,EAAE,kBAAkB;QAC3E,QAAQ,GAAG,KAAK,CAAC,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;KAC/F;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,QAAuB,EAAE,EAAE;IAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;QACzB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC5C;SAAM;QACN,KAAK,CAAC,KAAK,EAAE,CAAC;KACd;AACF,CAAC,CAAC;AAEF,OAAO,EACN,gBAAgB,EAChB,gBAAgB,GAChB,CAAC","sourcesContent":["/**\n * Returns the caret (cursor) position of the specified text field (field).\n * Return value range is 0-field.value.length.\n */\nconst getCaretPosition = (field: HTMLInputElement): number | null => {\n\t// Initialize\n\tlet caretPos: number | null = 0;\n\n\tif (field.selectionStart || field.selectionStart === 0) { // Firefox support\n\t\tcaretPos = field.selectionDirection === \"backward\" ? field.selectionStart : field.selectionEnd;\n\t}\n\n\treturn caretPos;\n};\n\nconst setCaretPosition = (field: HTMLInputElement, caretPos: number | null) => {\n\tif (field.selectionStart) {\n\t\tfield.focus();\n\t\tfield.setSelectionRange(caretPos, caretPos);\n\t} else {\n\t\tfield.focus();\n\t}\n};\n\nexport {\n\tgetCaretPosition,\n\tsetCaretPosition,\n};\n"]}