@ui5/webcomponents-base 0.0.0-2c7615fe9 → 0.0.0-2cf9f07f8

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 (631) hide show
  1. package/.eslintignore +8 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +777 -0
  4. package/README.md +57 -7
  5. package/bundle.esm.js +23 -13
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -28
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +69 -30
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  23. package/dist/CustomElementsScopeUtils.js +102 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +150 -86
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -79
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +17 -110
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +27 -0
  44. package/dist/InitialConfiguration.js +121 -127
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +61 -0
  47. package/dist/Keys.js +178 -244
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +78 -0
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +54 -65
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +72 -82
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +82 -112
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +52 -62
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +5 -1
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +88 -93
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +6 -28
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  80. package/dist/Theming.js +1 -1
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +928 -989
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -298
  87. package/dist/UI5ElementMetadata.js.map +1 -0
  88. package/dist/animations/AnimationQueue.d.ts +8 -0
  89. package/dist/animations/AnimationQueue.js +31 -38
  90. package/dist/animations/AnimationQueue.js.map +1 -0
  91. package/dist/animations/animate.d.ts +14 -0
  92. package/dist/animations/animate.js +46 -51
  93. package/dist/animations/animate.js.map +1 -0
  94. package/dist/animations/scroll.d.ts +5 -0
  95. package/dist/animations/scroll.js +18 -27
  96. package/dist/animations/scroll.js.map +1 -0
  97. package/dist/animations/slideDown.d.ts +5 -0
  98. package/dist/animations/slideDown.js +53 -78
  99. package/dist/animations/slideDown.js.map +1 -0
  100. package/dist/animations/slideUp.d.ts +5 -0
  101. package/dist/animations/slideUp.js +49 -70
  102. package/dist/animations/slideUp.js.map +1 -0
  103. package/dist/api.json +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -112
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +80 -18
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -118
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +40 -66
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +61 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/assets/Boot.34b7cea0.css +1 -0
  129. package/dist/assets/Boot.d9d05525.js +9 -0
  130. package/dist/assets/bundle.esm.f99c9fc6.js +50 -0
  131. package/dist/config/AnimationMode.d.ts +14 -0
  132. package/dist/config/AnimationMode.js +21 -18
  133. package/dist/config/AnimationMode.js.map +1 -0
  134. package/dist/config/CalendarType.d.ts +8 -0
  135. package/dist/config/CalendarType.js +13 -12
  136. package/dist/config/CalendarType.js.map +1 -0
  137. package/dist/config/FormatSettings.d.ts +15 -0
  138. package/dist/config/FormatSettings.js +15 -9
  139. package/dist/config/FormatSettings.js.map +1 -0
  140. package/dist/config/Icons.d.ts +40 -0
  141. package/dist/config/Icons.js +44 -0
  142. package/dist/config/Icons.js.map +1 -0
  143. package/dist/config/Language.d.ts +40 -0
  144. package/dist/config/Language.js +43 -43
  145. package/dist/config/Language.js.map +1 -0
  146. package/dist/config/NoConflict.d.ts +20 -0
  147. package/dist/config/NoConflict.js +41 -41
  148. package/dist/config/NoConflict.js.map +1 -0
  149. package/dist/config/RTL.d.ts +7 -0
  150. package/dist/config/RTL.js +26 -20
  151. package/dist/config/RTL.js.map +1 -0
  152. package/dist/config/Theme.d.ts +38 -0
  153. package/dist/config/Theme.js +64 -22
  154. package/dist/config/Theme.js.map +1 -0
  155. package/dist/config/ThemeRoot.d.ts +29 -0
  156. package/dist/config/ThemeRoot.js +59 -0
  157. package/dist/config/ThemeRoot.js.map +1 -0
  158. package/dist/config/Timezone.d.ts +17 -0
  159. package/dist/config/Timezone.js +30 -0
  160. package/dist/config/Timezone.js.map +1 -0
  161. package/dist/connectToComponent.d.ts +9 -0
  162. package/dist/connectToComponent.js +59 -0
  163. package/dist/connectToComponent.js.map +1 -0
  164. package/dist/css/BusyIndicator.css +80 -0
  165. package/dist/css/FontFace.css +84 -0
  166. package/dist/css/OverrideFontFace.css +32 -0
  167. package/dist/css/SystemCSSVars.css +17 -0
  168. package/dist/decorators/customElement.d.ts +23 -0
  169. package/dist/decorators/customElement.js +37 -0
  170. package/dist/decorators/customElement.js.map +1 -0
  171. package/dist/decorators/event.d.ts +10 -0
  172. package/dist/decorators/event.js +24 -0
  173. package/dist/decorators/event.js.map +1 -0
  174. package/dist/decorators/property.d.ts +9 -0
  175. package/dist/decorators/property.js +24 -0
  176. package/dist/decorators/property.js.map +1 -0
  177. package/dist/decorators/slot.d.ts +9 -0
  178. package/dist/decorators/slot.js +37 -0
  179. package/dist/decorators/slot.js.map +1 -0
  180. package/dist/delegate/ItemNavigation.d.ts +113 -0
  181. package/dist/delegate/ItemNavigation.js +277 -312
  182. package/dist/delegate/ItemNavigation.js.map +1 -0
  183. package/dist/delegate/ResizeHandler.d.ts +25 -0
  184. package/dist/delegate/ResizeHandler.js +72 -91
  185. package/dist/delegate/ResizeHandler.js.map +1 -0
  186. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  187. package/dist/delegate/ScrollEnablement.js +157 -180
  188. package/dist/delegate/ScrollEnablement.js.map +1 -0
  189. package/dist/features/F6Navigation.d.ts +19 -0
  190. package/dist/features/F6Navigation.js +151 -0
  191. package/dist/features/F6Navigation.js.map +1 -0
  192. package/dist/features/LegacyDateFormats.d.ts +18 -0
  193. package/dist/features/LegacyDateFormats.js +20 -0
  194. package/dist/features/LegacyDateFormats.js.map +1 -0
  195. package/dist/features/OpenUI5Element.d.ts +9 -0
  196. package/dist/features/OpenUI5Element.js +5 -0
  197. package/dist/features/OpenUI5Element.js.map +1 -0
  198. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  199. package/dist/features/OpenUI5Enablement.js +96 -0
  200. package/dist/features/OpenUI5Enablement.js.map +1 -0
  201. package/dist/features/OpenUI5Support.d.ts +36 -0
  202. package/dist/features/OpenUI5Support.js +150 -121
  203. package/dist/features/OpenUI5Support.js.map +1 -0
  204. package/dist/generated/AssetParameters.js +3 -1
  205. package/dist/generated/VersionInfo.js +10 -0
  206. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  207. package/dist/generated/css/BusyIndicator.css.js +7 -0
  208. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  209. package/dist/generated/css/FontFace.css.d.ts +3 -0
  210. package/dist/generated/css/FontFace.css.js +7 -0
  211. package/dist/generated/css/FontFace.css.js.map +1 -0
  212. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  213. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  214. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  215. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  216. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  217. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  221. package/dist/getSharedResource.d.ts +11 -0
  222. package/dist/getSharedResource.js +28 -18
  223. package/dist/getSharedResource.js.map +1 -0
  224. package/dist/global.d.ts +40 -0
  225. package/dist/i18nBundle.d.ts +43 -0
  226. package/dist/i18nBundle.js +68 -44
  227. package/dist/i18nBundle.js.map +1 -0
  228. package/dist/locale/Locale.d.ts +22 -0
  229. package/dist/locale/Locale.js +75 -87
  230. package/dist/locale/Locale.js.map +1 -0
  231. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  232. package/dist/locale/RTLAwareRegistry.js +6 -11
  233. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  234. package/dist/locale/applyDirection.d.ts +10 -0
  235. package/dist/locale/applyDirection.js +7 -7
  236. package/dist/locale/applyDirection.js.map +1 -0
  237. package/dist/locale/directionChange.d.ts +15 -0
  238. package/dist/locale/directionChange.js +7 -15
  239. package/dist/locale/directionChange.js.map +1 -0
  240. package/dist/locale/getEffectiveDir.d.ts +2 -0
  241. package/dist/locale/getEffectiveDir.js +20 -24
  242. package/dist/locale/getEffectiveDir.js.map +1 -0
  243. package/dist/locale/getLocale.d.ts +7 -0
  244. package/dist/locale/getLocale.js +26 -29
  245. package/dist/locale/getLocale.js.map +1 -0
  246. package/dist/locale/languageChange.d.ts +5 -0
  247. package/dist/locale/languageChange.js +8 -16
  248. package/dist/locale/languageChange.js.map +1 -0
  249. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  250. package/dist/locale/nextFallbackLocale.js +15 -19
  251. package/dist/locale/nextFallbackLocale.js.map +1 -0
  252. package/dist/locale/normalizeLocale.d.ts +7 -0
  253. package/dist/locale/normalizeLocale.js +34 -41
  254. package/dist/locale/normalizeLocale.js.map +1 -0
  255. package/dist/renderer/LitRenderer.d.ts +14 -0
  256. package/dist/renderer/LitRenderer.js +32 -23
  257. package/dist/renderer/LitRenderer.js.map +1 -0
  258. package/dist/renderer/directives/style-map.js +72 -0
  259. package/dist/renderer/executeTemplate.d.ts +13 -0
  260. package/dist/renderer/executeTemplate.js +20 -7
  261. package/dist/renderer/executeTemplate.js.map +1 -0
  262. package/dist/sap/base/Log.js +28 -37
  263. package/dist/sap/base/assert.js +5 -10
  264. package/dist/sap/base/security/URLListValidator.js +13 -2
  265. package/dist/sap/base/security/encodeCSS.js +14 -0
  266. package/dist/sap/base/security/encodeXML.js +23 -0
  267. package/dist/sap/base/strings/toHex.js +8 -0
  268. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  269. package/dist/theming/CustomStyle.d.ts +6 -0
  270. package/dist/theming/CustomStyle.js +39 -31
  271. package/dist/theming/CustomStyle.js.map +1 -0
  272. package/dist/theming/ThemeLoaded.d.ts +5 -0
  273. package/dist/theming/ThemeLoaded.js +8 -16
  274. package/dist/theming/ThemeLoaded.js.map +1 -0
  275. package/dist/theming/ThemeRegistered.d.ts +4 -0
  276. package/dist/theming/ThemeRegistered.js +11 -0
  277. package/dist/theming/ThemeRegistered.js.map +1 -0
  278. package/dist/theming/applyTheme.d.ts +2 -0
  279. package/dist/theming/applyTheme.js +63 -65
  280. package/dist/theming/applyTheme.js.map +1 -0
  281. package/dist/theming/getConstructableStyle.d.ts +9 -0
  282. package/dist/theming/getConstructableStyle.js +12 -17
  283. package/dist/theming/getConstructableStyle.js.map +1 -0
  284. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  285. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  286. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  287. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  288. package/dist/theming/getEffectiveStyle.js +25 -23
  289. package/dist/theming/getEffectiveStyle.js.map +1 -0
  290. package/dist/theming/getStylesString.d.ts +3 -0
  291. package/dist/theming/getStylesString.js +9 -11
  292. package/dist/theming/getStylesString.js.map +1 -0
  293. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  294. package/dist/theming/getThemeDesignerTheme.js +73 -60
  295. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  296. package/dist/theming/preloadLinks.d.ts +3 -0
  297. package/dist/theming/preloadLinks.js +19 -0
  298. package/dist/theming/preloadLinks.js.map +1 -0
  299. package/dist/thirdparty/_merge.d.ts +2 -0
  300. package/dist/thirdparty/_merge.js +7 -4
  301. package/dist/thirdparty/_merge.js.map +1 -0
  302. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  303. package/dist/thirdparty/isPlainObject.js +11 -10
  304. package/dist/thirdparty/isPlainObject.js.map +1 -0
  305. package/dist/thirdparty/merge.d.ts +2 -0
  306. package/dist/thirdparty/merge.js +4 -8
  307. package/dist/thirdparty/merge.js.map +1 -0
  308. package/dist/types/AnimationMode.d.ts +32 -0
  309. package/dist/types/AnimationMode.js +33 -6
  310. package/dist/types/AnimationMode.js.map +1 -0
  311. package/dist/types/CSSColor.d.ts +15 -0
  312. package/dist/types/CSSColor.js +14 -5
  313. package/dist/types/CSSColor.js.map +1 -0
  314. package/dist/types/CalendarType.d.ts +37 -0
  315. package/dist/types/CalendarType.js +35 -18
  316. package/dist/types/CalendarType.js.map +1 -0
  317. package/dist/types/DOMReference.d.ts +17 -0
  318. package/dist/types/DOMReference.js +25 -0
  319. package/dist/types/DOMReference.js.map +1 -0
  320. package/dist/types/DataType.d.ts +25 -0
  321. package/dist/types/DataType.js +33 -26
  322. package/dist/types/DataType.js.map +1 -0
  323. package/dist/types/Float.d.ts +17 -0
  324. package/dist/types/Float.js +17 -10
  325. package/dist/types/Float.js.map +1 -0
  326. package/dist/types/Integer.d.ts +17 -0
  327. package/dist/types/Integer.js +17 -9
  328. package/dist/types/Integer.js.map +1 -0
  329. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  330. package/dist/types/InvisibleMessageMode.js +20 -23
  331. package/dist/types/InvisibleMessageMode.js.map +1 -0
  332. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  333. package/dist/types/ItemNavigationBehavior.js +22 -12
  334. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  335. package/dist/types/NavigationMode.d.ts +32 -0
  336. package/dist/types/NavigationMode.js +33 -6
  337. package/dist/types/NavigationMode.js.map +1 -0
  338. package/dist/types/ValueState.d.ts +42 -0
  339. package/dist/types/ValueState.js +41 -19
  340. package/dist/types/ValueState.js.map +1 -0
  341. package/dist/types.d.ts +18 -0
  342. package/dist/types.js +2 -0
  343. package/dist/types.js.map +1 -0
  344. package/dist/updateShadowRoot.d.ts +8 -0
  345. package/dist/updateShadowRoot.js +32 -16
  346. package/dist/updateShadowRoot.js.map +1 -0
  347. package/dist/util/AriaLabelHelper.d.ts +15 -0
  348. package/dist/util/AriaLabelHelper.js +166 -36
  349. package/dist/util/AriaLabelHelper.js.map +1 -0
  350. package/dist/util/Caret.d.ts +7 -0
  351. package/dist/util/Caret.js +16 -38
  352. package/dist/util/Caret.js.map +1 -0
  353. package/dist/util/ColorConversion.d.ts +30 -0
  354. package/dist/util/ColorConversion.js +315 -348
  355. package/dist/util/ColorConversion.js.map +1 -0
  356. package/dist/util/FetchHelper.d.ts +3 -0
  357. package/dist/util/FetchHelper.js +19 -25
  358. package/dist/util/FetchHelper.js.map +1 -0
  359. package/dist/util/FocusableElements.d.ts +4 -0
  360. package/dist/util/FocusableElements.js +67 -72
  361. package/dist/util/FocusableElements.js.map +1 -0
  362. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  363. package/dist/util/HTMLSanitizer.js +4 -5
  364. package/dist/util/HTMLSanitizer.js.map +1 -0
  365. package/dist/util/InvisibleMessage.d.ts +10 -0
  366. package/dist/util/InvisibleMessage.js +42 -44
  367. package/dist/util/InvisibleMessage.js.map +1 -0
  368. package/dist/util/PopupUtils.d.ts +7 -0
  369. package/dist/util/PopupUtils.js +58 -77
  370. package/dist/util/PopupUtils.js.map +1 -0
  371. package/dist/util/SlotsHelper.d.ts +9 -0
  372. package/dist/util/SlotsHelper.js +22 -35
  373. package/dist/util/SlotsHelper.js.map +1 -0
  374. package/dist/util/StringHelper.d.ts +3 -0
  375. package/dist/util/StringHelper.js +17 -20
  376. package/dist/util/StringHelper.js.map +1 -0
  377. package/dist/util/TabbableElements.d.ts +17 -0
  378. package/dist/util/TabbableElements.js +53 -43
  379. package/dist/util/TabbableElements.js.map +1 -0
  380. package/dist/util/arraysAreEqual.d.ts +2 -0
  381. package/dist/util/arraysAreEqual.js +10 -12
  382. package/dist/util/arraysAreEqual.js.map +1 -0
  383. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  384. package/dist/util/clamp.js +2 -2
  385. package/dist/util/clamp.js.map +1 -0
  386. package/dist/util/createLinkInHead.d.ts +7 -0
  387. package/dist/util/createLinkInHead.js +21 -0
  388. package/dist/util/createLinkInHead.js.map +1 -0
  389. package/dist/util/createStyleInHead.d.ts +8 -0
  390. package/dist/util/createStyleInHead.js +10 -10
  391. package/dist/util/createStyleInHead.js.map +1 -0
  392. package/dist/util/debounce.d.ts +2 -0
  393. package/dist/util/debounce.js +6 -8
  394. package/dist/util/debounce.js.map +1 -0
  395. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  396. package/dist/util/detectNavigatorLanguage.js +7 -10
  397. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  398. package/dist/util/escapeRegex.d.ts +8 -0
  399. package/dist/util/escapeRegex.js +11 -0
  400. package/dist/util/escapeRegex.js.map +1 -0
  401. package/dist/util/formatMessage.d.ts +2 -0
  402. package/dist/util/formatMessage.js +15 -19
  403. package/dist/util/formatMessage.js.map +1 -0
  404. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  405. package/dist/util/generateHighlightedMarkup.js +41 -0
  406. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  407. package/dist/util/getActiveElement.d.ts +2 -0
  408. package/dist/util/getActiveElement.js +6 -8
  409. package/dist/util/getActiveElement.js.map +1 -0
  410. package/dist/util/getClassCopy.d.ts +400 -0
  411. package/dist/util/getClassCopy.js +7 -7
  412. package/dist/util/getClassCopy.js.map +1 -0
  413. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  414. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  415. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  416. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  417. package/dist/util/getEffectiveContentDensity.js +2 -3
  418. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  419. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  420. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  421. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  422. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  423. package/dist/util/getFastNavigationGroups.js +51 -0
  424. package/dist/util/getFastNavigationGroups.js.map +1 -0
  425. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  426. package/dist/util/getFileExtension.js +9 -11
  427. package/dist/util/getFileExtension.js.map +1 -0
  428. package/dist/util/getNormalizedTarget.d.ts +7 -0
  429. package/dist/util/getNormalizedTarget.js +14 -0
  430. package/dist/util/getNormalizedTarget.js.map +1 -0
  431. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  432. package/dist/util/getSingletonElementInstance.js +17 -11
  433. package/dist/util/getSingletonElementInstance.js.map +1 -0
  434. package/dist/util/isElementClickable.d.ts +2 -0
  435. package/dist/util/isElementClickable.js +16 -0
  436. package/dist/util/isElementClickable.js.map +1 -0
  437. package/dist/util/isElementHidden.d.ts +2 -0
  438. package/dist/util/isElementHidden.js +8 -0
  439. package/dist/util/isElementHidden.js.map +1 -0
  440. package/dist/util/isElementInView.d.ts +6 -0
  441. package/dist/util/isElementInView.js +6 -9
  442. package/dist/util/isElementInView.js.map +1 -0
  443. package/dist/util/isElementTabbable.d.ts +9 -0
  444. package/dist/util/isElementTabbable.js +30 -0
  445. package/dist/util/isElementTabbable.js.map +1 -0
  446. package/dist/util/isValidPropertyName.d.ts +8 -0
  447. package/dist/util/isValidPropertyName.js +16 -17
  448. package/dist/util/isValidPropertyName.js.map +1 -0
  449. package/dist/util/whenDOMReady.d.ts +2 -0
  450. package/dist/util/whenDOMReady.js +11 -10
  451. package/dist/util/whenDOMReady.js.map +1 -0
  452. package/dist/util/willShowContent.d.ts +2 -0
  453. package/dist/util/willShowContent.js +7 -0
  454. package/dist/util/willShowContent.js.map +1 -0
  455. package/dist/validateThemeRoot.d.ts +2 -0
  456. package/dist/validateThemeRoot.js +48 -0
  457. package/dist/validateThemeRoot.js.map +1 -0
  458. package/index.js +227 -1
  459. package/lib/generate-asset-parameters/index.js +11 -6
  460. package/lib/generate-styles/index.js +31 -0
  461. package/lib/generate-version-info/index.js +32 -0
  462. package/package-scripts.cjs +71 -0
  463. package/package.json +12 -12
  464. package/src/css/BusyIndicator.css +80 -0
  465. package/src/css/FontFace.css +84 -0
  466. package/src/css/OverrideFontFace.css +32 -0
  467. package/src/css/SystemCSSVars.css +17 -0
  468. package/src/renderer/directives/style-map.js +72 -0
  469. package/tsconfig.json +14 -0
  470. package/used-modules.txt +4 -1
  471. package/config/rollup.config.js +0 -1
  472. package/config/wdio.conf.js +0 -1
  473. package/dist/RenderScheduler.js +0 -44
  474. package/dist/animations/config.js +0 -5
  475. package/dist/config/AssetsPath.js +0 -17
  476. package/dist/isLegacyBrowser.js +0 -3
  477. package/dist/resources/bundle.esm.js +0 -26
  478. package/dist/resources/bundle.esm.js.map +0 -1
  479. package/dist/test-resources/assets/Themes.js +0 -17
  480. package/dist/test-resources/elements/Child.js +0 -35
  481. package/dist/test-resources/elements/Generic.js +0 -84
  482. package/dist/test-resources/elements/GenericExt.js +0 -26
  483. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  484. package/dist/test-resources/elements/Parent.js +0 -41
  485. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  486. package/dist/test-resources/pages/AllTestElements.html +0 -42
  487. package/dist/test-resources/pages/Configuration.html +0 -18
  488. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  489. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  490. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  491. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  492. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  493. package/dist/test-resources/pages/i18n.html +0 -35
  494. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  495. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  496. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  497. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  498. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  499. package/dist/test-resources/specs/Theming.spec.js +0 -33
  500. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  501. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  502. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  503. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  504. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  505. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  506. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  507. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  508. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  509. package/dist/types/CSSSize.js +0 -9
  510. package/dist/types/PopupState.js +0 -37
  511. package/dist/util/encodeCSS.js +0 -24
  512. package/dist/util/findNodeOwner.js +0 -35
  513. package/dist/util/isDescendantOf.js +0 -15
  514. package/dist/util/isNodeClickable.js +0 -19
  515. package/dist/util/isNodeHidden.js +0 -9
  516. package/dist/util/isNodeTabbable.js +0 -28
  517. package/dist/util/setToArray.js +0 -10
  518. package/hash.txt +0 -1
  519. package/package-scripts.js +0 -62
  520. package/src/Boot.js +0 -43
  521. package/src/CustomElementsRegistry.js +0 -39
  522. package/src/CustomElementsScope.js +0 -108
  523. package/src/DOMObserver.js +0 -65
  524. package/src/Device.js +0 -102
  525. package/src/EventProvider.js +0 -82
  526. package/src/FeaturesRegistry.js +0 -11
  527. package/src/FontFace.js +0 -118
  528. package/src/InitialConfiguration.js +0 -162
  529. package/src/Keys.js +0 -248
  530. package/src/MediaRange.js +0 -109
  531. package/src/PropertiesFileFormat.js +0 -95
  532. package/src/Render.js +0 -173
  533. package/src/RenderQueue.js +0 -66
  534. package/src/RenderScheduler.js +0 -44
  535. package/src/StaticArea.js +0 -3
  536. package/src/StaticAreaItem.js +0 -107
  537. package/src/SystemCSSVars.js +0 -31
  538. package/src/UI5Element.js +0 -1026
  539. package/src/UI5ElementMetadata.js +0 -311
  540. package/src/animations/AnimationQueue.js +0 -42
  541. package/src/animations/animate.js +0 -53
  542. package/src/animations/config.js +0 -5
  543. package/src/animations/scroll.js +0 -28
  544. package/src/animations/slideDown.js +0 -79
  545. package/src/animations/slideUp.js +0 -71
  546. package/src/asset-registries/Icons.js +0 -128
  547. package/src/asset-registries/Illustrations.js +0 -23
  548. package/src/asset-registries/LocaleData.js +0 -150
  549. package/src/asset-registries/Themes.js +0 -78
  550. package/src/asset-registries/i18n.js +0 -121
  551. package/src/config/AnimationMode.js +0 -23
  552. package/src/config/AssetsPath.js +0 -17
  553. package/src/config/CalendarType.js +0 -18
  554. package/src/config/FormatSettings.js +0 -13
  555. package/src/config/Language.js +0 -68
  556. package/src/config/NoConflict.js +0 -51
  557. package/src/config/RTL.js +0 -31
  558. package/src/config/Theme.js +0 -28
  559. package/src/delegate/ItemNavigation.js +0 -351
  560. package/src/delegate/ResizeHandler.js +0 -106
  561. package/src/delegate/ScrollEnablement.js +0 -188
  562. package/src/features/OpenUI5Support.js +0 -125
  563. package/src/getSharedResource.js +0 -30
  564. package/src/i18nBundle.js +0 -55
  565. package/src/isLegacyBrowser.js +0 -3
  566. package/src/locale/Locale.js +0 -91
  567. package/src/locale/RTLAwareRegistry.js +0 -14
  568. package/src/locale/applyDirection.js +0 -17
  569. package/src/locale/directionChange.js +0 -32
  570. package/src/locale/getEffectiveDir.js +0 -28
  571. package/src/locale/getLocale.js +0 -41
  572. package/src/locale/languageChange.js +0 -22
  573. package/src/locale/nextFallbackLocale.js +0 -28
  574. package/src/locale/normalizeLocale.js +0 -54
  575. package/src/renderer/LitRenderer.js +0 -32
  576. package/src/renderer/executeTemplate.js +0 -17
  577. package/src/theming/CustomStyle.js +0 -40
  578. package/src/theming/ThemeLoaded.js +0 -22
  579. package/src/theming/applyTheme.js +0 -78
  580. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  581. package/src/theming/getConstructableStyle.js +0 -30
  582. package/src/theming/getEffectiveStyle.js +0 -30
  583. package/src/theming/getStylesString.js +0 -13
  584. package/src/theming/getThemeDesignerTheme.js +0 -67
  585. package/src/thirdparty/_merge.js +0 -32
  586. package/src/thirdparty/isPlainObject.js +0 -18
  587. package/src/thirdparty/merge.js +0 -10
  588. package/src/types/AnimationMode.js +0 -7
  589. package/src/types/CSSColor.js +0 -9
  590. package/src/types/CSSSize.js +0 -9
  591. package/src/types/CalendarType.js +0 -22
  592. package/src/types/DataType.js +0 -37
  593. package/src/types/Float.js +0 -14
  594. package/src/types/Integer.js +0 -13
  595. package/src/types/InvisibleMessageMode.js +0 -30
  596. package/src/types/ItemNavigationBehavior.js +0 -16
  597. package/src/types/NavigationMode.js +0 -7
  598. package/src/types/PopupState.js +0 -37
  599. package/src/types/ValueState.js +0 -22
  600. package/src/updateShadowRoot.js +0 -26
  601. package/src/util/AriaLabelHelper.js +0 -41
  602. package/src/util/Caret.js +0 -45
  603. package/src/util/ColorConversion.js +0 -370
  604. package/src/util/FetchHelper.js +0 -31
  605. package/src/util/FocusableElements.js +0 -77
  606. package/src/util/InvisibleMessage.js +0 -58
  607. package/src/util/PopupUtils.js +0 -93
  608. package/src/util/SlotsHelper.js +0 -43
  609. package/src/util/StringHelper.js +0 -26
  610. package/src/util/TabbableElements.js +0 -47
  611. package/src/util/arraysAreEqual.js +0 -15
  612. package/src/util/createStyleInHead.js +0 -18
  613. package/src/util/debounce.js +0 -17
  614. package/src/util/detectNavigatorLanguage.js +0 -13
  615. package/src/util/encodeCSS.js +0 -24
  616. package/src/util/findNodeOwner.js +0 -35
  617. package/src/util/formatMessage.js +0 -23
  618. package/src/util/getActiveElement.js +0 -11
  619. package/src/util/getClassCopy.js +0 -10
  620. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  621. package/src/util/getEffectiveContentDensity.js +0 -5
  622. package/src/util/getSingletonElementInstance.js +0 -13
  623. package/src/util/isDescendantOf.js +0 -15
  624. package/src/util/isElementInView.js +0 -15
  625. package/src/util/isNodeClickable.js +0 -19
  626. package/src/util/isNodeHidden.js +0 -9
  627. package/src/util/isNodeTabbable.js +0 -28
  628. package/src/util/isValidPropertyName.js +0 -29
  629. package/src/util/setToArray.js +0 -10
  630. package/src/util/whenDOMReady.js +0 -13
  631. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvisibleMessageMode.js","sourceRoot":"","sources":["../../src/types/InvisibleMessageMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,IAAK,oBAeJ;AAfD,WAAK,oBAAoB;IACxB;;;;;OAKM;IACN,yCAAiB,CAAA;IAEjB;;;;OAIM;IACN,+CAAuB,CAAA;AACxB,CAAC,EAfI,oBAAoB,KAApB,oBAAoB,QAexB;AAED,eAAe,oBAAoB,CAAC","sourcesContent":["/**\n * Enumeration for different mode behaviors of the InvisibleMessage.\n *\n * @readonly\n * @enum {string}\n * @public\n * @author SAP SE\n * @alias sap.ui.webc.base.types.InvisibleMessageMode\n */\nenum InvisibleMessageMode {\n\t/**\n * Indicates that updates to the region should be presented at the next graceful opportunity,\n * such as at the end of reading the current sentence, or when the user pauses typing.\n\t * @public\n\t * @type {Polite}\n */\n\tPolite = \"Polite\",\n\n\t/**\n * Indicates that updates to the region have the highest priority and should be presented to the user immediately.\n\t * @public\n\t * @type {Assertive}\n */\n\tAssertive = \"Assertive\",\n}\n\nexport default InvisibleMessageMode;\n"]}
@@ -0,0 +1,24 @@
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
+ declare 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
+ * Cycling behavior: navigating past the last item continues with the first and vice versa.
19
+ * @public
20
+ * @type {Cyclic}
21
+ */
22
+ Cyclic = "Cyclic"
23
+ }
24
+ export default ItemNavigationBehavior;
@@ -1,16 +1,26 @@
1
1
  /**
2
- * @private
3
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
4
9
  */
5
- const ItemNavigationBehavior = {
6
- /**
7
- * Static behavior: navigations stops at the first or last item.
8
- */
9
- Static: "Static",
10
-
11
- /**
12
- * Cycling behavior: navigating past the last item continues with the first and vice versa.
13
- */
14
- Cyclic: "Cyclic",
15
- };
10
+ var ItemNavigationBehavior;
11
+ (function (ItemNavigationBehavior) {
12
+ /**
13
+ * Static behavior: navigations stops at the first or last item.
14
+ * @public
15
+ * @type {Static}
16
+ */
17
+ ItemNavigationBehavior["Static"] = "Static";
18
+ /**
19
+ * Cycling behavior: navigating past the last item continues with the first and vice versa.
20
+ * @public
21
+ * @type {Cyclic}
22
+ */
23
+ ItemNavigationBehavior["Cyclic"] = "Cyclic";
24
+ })(ItemNavigationBehavior || (ItemNavigationBehavior = {}));
16
25
  export default ItemNavigationBehavior;
26
+ //# sourceMappingURL=ItemNavigationBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemNavigationBehavior.js","sourceRoot":"","sources":["../../src/types/ItemNavigationBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,IAAK,sBAcJ;AAdD,WAAK,sBAAsB;IAC1B;;;;OAII;IACJ,2CAAiB,CAAA;IAEjB;;;;OAII;IACJ,2CAAiB,CAAA;AAClB,CAAC,EAdI,sBAAsB,KAAtB,sBAAsB,QAc1B;AAED,eAAe,sBAAsB,CAAC","sourcesContent":["/**\n * Different behavior for ItemNavigation.\n *\n * @readonly\n * @enum {string}\n * @public\n * @author SAP SE\n * @alias sap.ui.webc.base.types.ItemNavigationBehavior\n */\nenum ItemNavigationBehavior {\n\t/**\n\t * Static behavior: navigations stops at the first or last item.\n\t * @public\n\t * @type {Static}\n \t */\n\tStatic = \"Static\",\n\n\t/**\n\t * Cycling behavior: navigating past the last item continues with the first and vice versa.\n\t * @public\n\t * @type {Cyclic}\n \t */\n\tCyclic = \"Cyclic\",\n}\n\nexport default ItemNavigationBehavior;\n"]}
@@ -0,0 +1,32 @@
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
+ declare 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
+ export default NavigationMode;
@@ -1,7 +1,34 @@
1
- const NavigationMode = {
2
- Auto: "Auto",
3
- Vertical: "Vertical",
4
- Horizontal: "Horizontal",
5
- Paging: "Paging",
6
- };
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
+ var NavigationMode;
11
+ (function (NavigationMode) {
12
+ /**
13
+ * @public
14
+ * @type {Auto}
15
+ */
16
+ NavigationMode["Auto"] = "Auto";
17
+ /**
18
+ * @public
19
+ * @type {Vertical}
20
+ */
21
+ NavigationMode["Vertical"] = "Vertical";
22
+ /**
23
+ * @public
24
+ * @type {Horizontal}
25
+ */
26
+ NavigationMode["Horizontal"] = "Horizontal";
27
+ /**
28
+ * @public
29
+ * @type {Paging}
30
+ */
31
+ NavigationMode["Paging"] = "Paging";
32
+ })(NavigationMode || (NavigationMode = {}));
7
33
  export default NavigationMode;
34
+ //# sourceMappingURL=NavigationMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationMode.js","sourceRoot":"","sources":["../../src/types/NavigationMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,IAAK,cAqBJ;AArBD,WAAK,cAAc;IAClB;;;OAGG;IACH,+BAAa,CAAA;IACb;;;OAGG;IACH,uCAAqB,CAAA;IACrB;;;OAGG;IACH,2CAAyB,CAAA;IACzB;;;OAGG;IACH,mCAAiB,CAAA;AAClB,CAAC,EArBI,cAAc,KAAd,cAAc,QAqBlB;AAED,eAAe,cAAc,CAAC","sourcesContent":["/**\n * Different navigation modes for ItemNavigation.\n *\n * @readonly\n * @enum {string}\n * @public\n * @author SAP SE\n * @alias sap.ui.webc.base.types.NavigationMode\n */\nenum NavigationMode {\n\t/**\n\t * @public\n\t * @type {Auto}\n\t */\n\tAuto = \"Auto\",\n\t/**\n\t * @public\n\t * @type {Vertical}\n\t */\n\tVertical = \"Vertical\",\n\t/**\n\t * @public\n\t * @type {Horizontal}\n\t */\n\tHorizontal = \"Horizontal\",\n\t/**\n\t * @public\n\t * @type {Paging}\n\t */\n\tPaging = \"Paging\",\n}\n\nexport default NavigationMode;\n"]}
@@ -0,0 +1,42 @@
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
+ declare enum ValueState {
11
+ /**
12
+ *
13
+ * @public
14
+ * @type {None}
15
+ */
16
+ None = "None",
17
+ /**
18
+ *
19
+ * @public
20
+ * @type {Success}
21
+ */
22
+ Success = "Success",
23
+ /**
24
+ *
25
+ * @public
26
+ * @type {Warning}
27
+ */
28
+ Warning = "Warning",
29
+ /**
30
+ *
31
+ * @public
32
+ * @type {Error}
33
+ */
34
+ Error = "Error",
35
+ /**
36
+ *
37
+ * @public
38
+ * @type {Information}
39
+ */
40
+ Information = "Information"
41
+ }
42
+ export default ValueState;
@@ -1,22 +1,44 @@
1
- import DataType from "./DataType.js";
2
-
3
1
  /**
4
- * Different states.
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
5
9
  */
6
- const ValueStates = {
7
- None: "None",
8
- Success: "Success",
9
- Warning: "Warning",
10
- Error: "Error",
11
- Information: "Information",
12
- };
13
-
14
- class ValueState extends DataType {
15
- static isValid(value) {
16
- return !!ValueStates[value];
17
- }
18
- }
19
-
20
- ValueState.generateTypeAccessors(ValueStates);
21
-
10
+ var ValueState;
11
+ (function (ValueState) {
12
+ /**
13
+ *
14
+ * @public
15
+ * @type {None}
16
+ */
17
+ ValueState["None"] = "None";
18
+ /**
19
+ *
20
+ * @public
21
+ * @type {Success}
22
+ */
23
+ ValueState["Success"] = "Success";
24
+ /**
25
+ *
26
+ * @public
27
+ * @type {Warning}
28
+ */
29
+ ValueState["Warning"] = "Warning";
30
+ /**
31
+ *
32
+ * @public
33
+ * @type {Error}
34
+ */
35
+ ValueState["Error"] = "Error";
36
+ /**
37
+ *
38
+ * @public
39
+ * @type {Information}
40
+ */
41
+ ValueState["Information"] = "Information";
42
+ })(ValueState || (ValueState = {}));
22
43
  export default ValueState;
44
+ //# sourceMappingURL=ValueState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueState.js","sourceRoot":"","sources":["../../src/types/ValueState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,IAAK,UAmCJ;AAnCD,WAAK,UAAU;IACd;;;;OAIG;IACH,2BAAa,CAAA;IAEb;;;;OAIG;IACH,iCAAmB,CAAA;IAEnB;;;;OAIG;IACH,iCAAmB,CAAA;IAEnB;;;;OAIG;IACH,6BAAe,CAAA;IAEf;;;;OAIG;IACH,yCAA2B,CAAA;AAC5B,CAAC,EAnCI,UAAU,KAAV,UAAU,QAmCd;AAED,eAAe,UAAU,CAAC","sourcesContent":["/**\n * Different types of ValueStates.\n *\n * @readonly\n * @enum {string}\n * @public\n * @author SAP SE\n * @alias sap.ui.webc.base.types.ValueState\n */\nenum ValueState {\n\t/**\n\t *\n\t * @public\n\t * @type {None}\n\t */\n\tNone = \"None\",\n\n\t/**\n\t *\n\t * @public\n\t * @type {Success}\n\t */\n\tSuccess = \"Success\",\n\n\t/**\n\t *\n\t * @public\n\t * @type {Warning}\n\t */\n\tWarning = \"Warning\",\n\n\t/**\n\t *\n\t * @public\n\t * @type {Error}\n\t */\n\tError = \"Error\",\n\n\t/**\n\t *\n\t * @public\n\t * @type {Information}\n\t */\n\tInformation = \"Information\",\n}\n\nexport default ValueState;\n"]}
@@ -0,0 +1,18 @@
1
+ type PromiseResolve = (value: void | PromiseLike<void>) => void;
2
+ type Timeout = ReturnType<typeof setTimeout>;
3
+ type Interval = ReturnType<typeof setInterval>;
4
+ type StyleDataCSP = {
5
+ content: string;
6
+ packageName: string;
7
+ fileName: string;
8
+ };
9
+ type StyleData = StyleDataCSP | string;
10
+ type ComponentStylesData = Array<ComponentStylesData> | Array<StyleData> | StyleData;
11
+ type ClassMapValue = Record<string, boolean>;
12
+ type ClassMap = {
13
+ [x: string]: ClassMapValue | ClassMap;
14
+ };
15
+ type PassiveEventListenerObject = EventListenerObject & {
16
+ passive: boolean;
17
+ };
18
+ export type { PromiseResolve, Timeout, Interval, StyleData, StyleDataCSP, ComponentStylesData, ClassMap, ClassMapValue, PassiveEventListenerObject, };
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["type PromiseResolve = (value: void | PromiseLike<void>) => void;\ntype Timeout = ReturnType<typeof setTimeout>;\ntype Interval = ReturnType<typeof setInterval>;\n\ntype StyleDataCSP = {\n\tcontent: string,\n\tpackageName: string,\n\tfileName: string,\n};\n\ntype StyleData = StyleDataCSP | string;\n\ntype ComponentStylesData = Array<ComponentStylesData> | Array<StyleData> | StyleData;\n\ntype ClassMapValue = Record<string, boolean>\n\ntype ClassMap = { [x: string] : ClassMapValue | ClassMap };\n\ntype PassiveEventListenerObject = EventListenerObject & { passive: boolean };\n\nexport type {\n\tPromiseResolve,\n\tTimeout,\n\tInterval,\n\tStyleData,\n\tStyleDataCSP,\n\tComponentStylesData,\n\tClassMap,\n\tClassMapValue,\n\tPassiveEventListenerObject,\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import type UI5Element from "./UI5Element.js";
2
+ /**
3
+ * Updates the shadow root of a UI5Element or its static area item
4
+ * @param element
5
+ * @param forStaticArea
6
+ */
7
+ declare const updateShadowRoot: (element: UI5Element, forStaticArea?: boolean) => void;
8
+ export default updateShadowRoot;
@@ -1,26 +1,42 @@
1
- import executeTemplate from "./renderer/executeTemplate.js";
2
1
  import getConstructableStyle from "./theming/getConstructableStyle.js";
3
2
  import getEffectiveStyle from "./theming/getEffectiveStyle.js";
4
- import isLegacyBrowser from "./isLegacyBrowser.js";
5
-
3
+ import getEffectiveLinksHrefs from "./theming/getEffectiveLinksHrefs.js";
4
+ import { shouldUseLinks } from "./CSP.js";
5
+ import { isSafari } from "./Device.js";
6
6
  /**
7
7
  * Updates the shadow root of a UI5Element or its static area item
8
8
  * @param element
9
9
  * @param forStaticArea
10
10
  */
11
11
  const updateShadowRoot = (element, forStaticArea = false) => {
12
- let styleToPrepend;
13
- const template = forStaticArea ? "staticAreaTemplate" : "template";
14
- const shadowRoot = forStaticArea ? element.staticAreaItem.shadowRoot : element.shadowRoot;
15
- const renderResult = executeTemplate(element.constructor[template], element);
16
-
17
- if (document.adoptedStyleSheets) { // Chrome
18
- shadowRoot.adoptedStyleSheets = getConstructableStyle(element.constructor, forStaticArea);
19
- } else if (!isLegacyBrowser()) { // FF, Safari
20
- styleToPrepend = getEffectiveStyle(element.constructor, forStaticArea);
21
- }
22
-
23
- element.constructor.render(renderResult, shadowRoot, styleToPrepend, { host: element });
12
+ let styleStrOrHrefsArr;
13
+ const ctor = element.constructor;
14
+ const shadowRoot = forStaticArea ? element.staticAreaItem.shadowRoot : element.shadowRoot;
15
+ let renderResult;
16
+ if (forStaticArea) {
17
+ renderResult = element.renderStatic(); // this is checked before calling updateShadowRoot
18
+ }
19
+ else {
20
+ renderResult = element.render(); // this is checked before calling updateShadowRoot
21
+ }
22
+ if (!shadowRoot) {
23
+ console.warn(`There is no shadow root to update`); // eslint-disable-line
24
+ return;
25
+ }
26
+ if (shouldUseLinks()) {
27
+ styleStrOrHrefsArr = getEffectiveLinksHrefs(ctor, forStaticArea);
28
+ }
29
+ else if (document.adoptedStyleSheets && !isSafari()) { // Chrome
30
+ shadowRoot.adoptedStyleSheets = getConstructableStyle(ctor, forStaticArea);
31
+ }
32
+ else { // FF, Safari
33
+ styleStrOrHrefsArr = getEffectiveStyle(ctor, forStaticArea);
34
+ }
35
+ if (ctor.renderer) {
36
+ ctor.renderer(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
37
+ return;
38
+ }
39
+ ctor.render(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
24
40
  };
25
-
26
41
  export default updateShadowRoot;
42
+ //# sourceMappingURL=updateShadowRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateShadowRoot.js","sourceRoot":"","sources":["../src/updateShadowRoot.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACvE,IAAI,kBAAkB,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAgC,CAAC;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,cAAe,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3F,IAAI,YAAY,CAAC;IACjB,IAAI,aAAa,EAAE;QAClB,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,kDAAkD;KACzF;SAAM;QACN,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,kDAAkD;KACnF;IAED,IAAI,CAAC,UAAU,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC,sBAAsB;QACzE,OAAO;KACP;IAED,IAAI,cAAc,EAAE,EAAE;QACrB,kBAAkB,GAAG,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACjE;SAAM,IAAI,QAAQ,CAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS;QACjE,UAAU,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC3E;SAAM,EAAE,aAAa;QACrB,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC5D;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE;QAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9F,OAAO;KACP;IAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import getConstructableStyle from \"./theming/getConstructableStyle.js\";\nimport getEffectiveStyle from \"./theming/getEffectiveStyle.js\";\nimport getEffectiveLinksHrefs from \"./theming/getEffectiveLinksHrefs.js\";\nimport { shouldUseLinks } from \"./CSP.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { isSafari } from \"./Device.js\";\n\n/**\n * Updates the shadow root of a UI5Element or its static area item\n * @param element\n * @param forStaticArea\n */\nconst updateShadowRoot = (element: UI5Element, forStaticArea = false) => {\n\tlet styleStrOrHrefsArr;\n\tconst ctor = element.constructor as typeof UI5Element;\n\tconst shadowRoot = forStaticArea ? element.staticAreaItem!.shadowRoot : element.shadowRoot;\n\tlet renderResult;\n\tif (forStaticArea) {\n\t\trenderResult = element.renderStatic(); // this is checked before calling updateShadowRoot\n\t} else {\n\t\trenderResult = element.render(); // this is checked before calling updateShadowRoot\n\t}\n\n\tif (!shadowRoot) {\n\t\tconsole.warn(`There is no shadow root to update`); // eslint-disable-line\n\t\treturn;\n\t}\n\n\tif (shouldUseLinks()) {\n\t\tstyleStrOrHrefsArr = getEffectiveLinksHrefs(ctor, forStaticArea);\n\t} else if (document.adoptedStyleSheets && !isSafari()) { // Chrome\n\t\tshadowRoot.adoptedStyleSheets = getConstructableStyle(ctor, forStaticArea);\n\t} else { // FF, Safari\n\t\tstyleStrOrHrefsArr = getEffectiveStyle(ctor, forStaticArea);\n\t}\n\n\tif (ctor.renderer) {\n\t\tctor.renderer(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });\n\t\treturn;\n\t}\n\n\tctor.render(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });\n};\n\nexport default updateShadowRoot;\n"]}
@@ -0,0 +1,15 @@
1
+ import UI5Element from "../UI5Element.js";
2
+ type MutationCallback = () => void;
3
+ declare const getEffectiveAriaLabelText: (el: HTMLElement) => string | undefined;
4
+ /**
5
+ *
6
+ * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
7
+ */
8
+ declare const getAllAccessibleNameRefTexts: (el: HTMLElement) => string;
9
+ /**
10
+ * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
11
+ */
12
+ declare const getAssociatedLabelForTexts: (el: HTMLElement) => string | undefined;
13
+ declare const registerUI5Element: (el: UI5Element, callback: MutationCallback) => void;
14
+ declare const deregisterUI5Element: (el: UI5Element) => void;
15
+ export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, registerUI5Element, deregisterUI5Element, getAllAccessibleNameRefTexts, };
@@ -1,41 +1,171 @@
1
- import findNodeOwner from "./findNodeOwner.js";
2
-
3
- const getEffectiveAriaLabelText = el => {
4
- if (!el.accessibleNameRef) {
5
- if (el.accessibleName) {
6
- return el.accessibleName;
7
- }
8
-
9
- return undefined;
10
- }
11
-
12
- return getAriaLabelledByTexts(el);
13
- };
14
-
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
+ };
9
+ const getEffectiveAriaLabelText = (el) => {
10
+ const accessibleEl = el;
11
+ if (!accessibleEl.accessibleNameRef) {
12
+ if (accessibleEl.accessibleName) {
13
+ return accessibleEl.accessibleName;
14
+ }
15
+ return undefined;
16
+ }
17
+ return getAllAccessibleNameRefTexts(el);
18
+ };
15
19
  /**
16
20
  *
17
21
  * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
18
- * @param {HTMLElement} ownerDocument (Optional) Defines the HTMLElement(might document or custom element) where the you want to search for the texts.
19
- * @param {String} readyIds (Optional) Defines a string of elements ids. The text of these elements will be returned. If used you should provide either el or ownerDocument
20
22
  */
21
- const getAriaLabelledByTexts = (el, ownerDocument, readyIds = "") => {
22
- const ids = (readyIds && readyIds.split(" ")) || el.accessibleNameRef.split(" ");
23
- const owner = ownerDocument || findNodeOwner(el);
24
- let result = "";
25
-
26
- ids.forEach((elementId, index) => {
27
- const element = owner.querySelector(`[id='${elementId}']`);
28
- result += `${element ? element.textContent : ""}`;
29
-
30
- if (index < ids.length - 1) {
31
- result += " ";
32
- }
33
- });
34
-
35
- return result;
36
- };
37
-
38
- export {
39
- getEffectiveAriaLabelText,
40
- getAriaLabelledByTexts,
23
+ const getAllAccessibleNameRefTexts = (el) => {
24
+ const ids = el.accessibleNameRef?.split(" ") ?? [];
25
+ const owner = el.getRootNode();
26
+ let result = "";
27
+ ids.forEach((elementId, index) => {
28
+ const element = owner.querySelector(`[id='${elementId}']`);
29
+ const text = `${element && element.textContent ? element.textContent : ""}`;
30
+ if (text) {
31
+ result += text;
32
+ if (index < ids.length - 1) {
33
+ result += " ";
34
+ }
35
+ }
36
+ });
37
+ return result;
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
+ };
64
+ /**
65
+ * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
66
+ */
67
+ const getAssociatedLabelForTexts = (el) => {
68
+ const results = [];
69
+ const labels = _getAssociatedLabels(el);
70
+ labels.forEach((label) => {
71
+ const labelText = label.textContent;
72
+ labelText && results.push(labelText);
73
+ });
74
+ if (results.length) {
75
+ return results.join(" ");
76
+ }
77
+ return undefined;
78
+ };
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);
41
169
  };
170
+ export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, registerUI5Element, deregisterUI5Element, getAllAccessibleNameRefTexts, };
171
+ //# sourceMappingURL=AriaLabelHelper.js.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns the caret (cursor) position of the specified text field (field).
3
+ * Return value range is 0-field.value.length.
4
+ */
5
+ declare const getCaretPosition: (field: HTMLInputElement) => number | null;
6
+ declare const setCaretPosition: (field: HTMLInputElement, caretPos: number | null) => void;
7
+ export { getCaretPosition, setCaretPosition, };