@ui5/webcomponents-base 0.0.0-cf50976ce → 0.0.0-d4d43327a

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 (643) hide show
  1. package/.eslintignore +2 -0
  2. package/CHANGELOG.md +167 -0
  3. package/bundle.esm.js +8 -2
  4. package/dist/AssetRegistry.d.ts +5 -0
  5. package/dist/AssetRegistry.js +2 -7
  6. package/dist/AssetRegistry.js.map +1 -0
  7. package/dist/Boot.d.ts +9 -0
  8. package/dist/Boot.js +43 -45
  9. package/dist/Boot.js.map +1 -0
  10. package/dist/CSP.d.ts +30 -0
  11. package/dist/CSP.js +16 -24
  12. package/dist/CSP.js.map +1 -0
  13. package/dist/CustomElementsRegistry.d.ts +5 -0
  14. package/dist/CustomElementsRegistry.js +66 -83
  15. package/dist/CustomElementsRegistry.js.map +1 -0
  16. package/dist/CustomElementsScope.d.ts +7 -0
  17. package/dist/CustomElementsScope.js +10 -29
  18. package/dist/CustomElementsScope.js.map +1 -0
  19. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  20. package/dist/CustomElementsScopeUtils.js +34 -52
  21. package/dist/CustomElementsScopeUtils.js.map +1 -0
  22. package/dist/DOMObserver.d.ts +11 -0
  23. package/dist/DOMObserver.js +12 -54
  24. package/dist/DOMObserver.js.map +1 -0
  25. package/dist/Device.d.ts +12 -0
  26. package/dist/Device.js +145 -100
  27. package/dist/Device.js.map +1 -0
  28. package/dist/EventProvider.d.ts +25 -0
  29. package/dist/EventProvider.js +67 -82
  30. package/dist/EventProvider.js.map +1 -0
  31. package/dist/FeaturesRegistry.d.ts +3 -0
  32. package/dist/FeaturesRegistry.js +5 -10
  33. package/dist/FeaturesRegistry.js.map +1 -0
  34. package/dist/FontFace.d.ts +2 -0
  35. package/dist/FontFace.js +14 -19
  36. package/dist/FontFace.js.map +1 -0
  37. package/dist/InitialConfiguration.d.ts +22 -0
  38. package/dist/InitialConfiguration.js +112 -131
  39. package/dist/InitialConfiguration.js.map +1 -0
  40. package/dist/Keys.d.ts +57 -0
  41. package/dist/Keys.js +174 -291
  42. package/dist/Keys.js.map +1 -0
  43. package/dist/ManagedStyles.d.ts +8 -0
  44. package/dist/ManagedStyles.js +62 -68
  45. package/dist/ManagedStyles.js.map +1 -0
  46. package/dist/MarkedEvents.d.ts +9 -0
  47. package/dist/MarkedEvents.js +15 -0
  48. package/dist/MarkedEvents.js.map +1 -0
  49. package/dist/MediaRange.d.ts +37 -0
  50. package/dist/MediaRange.js +54 -65
  51. package/dist/MediaRange.js.map +1 -0
  52. package/dist/PropertiesFileFormat.d.ts +8 -0
  53. package/dist/PropertiesFileFormat.js +72 -82
  54. package/dist/PropertiesFileFormat.js.map +1 -0
  55. package/dist/Render.d.ts +47 -0
  56. package/dist/Render.js +81 -113
  57. package/dist/Render.js.map +1 -0
  58. package/dist/RenderQueue.d.ts +19 -0
  59. package/dist/RenderQueue.js +52 -62
  60. package/dist/RenderQueue.js.map +1 -0
  61. package/dist/Runtimes.d.ts +27 -0
  62. package/dist/Runtimes.js +49 -70
  63. package/dist/Runtimes.js.map +1 -0
  64. package/dist/StaticArea.d.ts +0 -0
  65. package/dist/StaticArea.js +4 -1
  66. package/dist/StaticArea.js.map +1 -0
  67. package/dist/StaticAreaItem.d.ts +36 -0
  68. package/dist/StaticAreaItem.js +84 -86
  69. package/dist/StaticAreaItem.js.map +1 -0
  70. package/dist/SystemCSSVars.d.ts +2 -0
  71. package/dist/SystemCSSVars.js +4 -5
  72. package/dist/SystemCSSVars.js.map +1 -0
  73. package/dist/Theming.d.ts +3 -0
  74. package/dist/Theming.js +1 -1
  75. package/dist/Theming.js.map +1 -0
  76. package/dist/UI5Element.d.ts +378 -0
  77. package/dist/UI5Element.js +917 -1007
  78. package/dist/UI5Element.js.map +1 -0
  79. package/dist/UI5ElementMetadata.d.ts +150 -0
  80. package/dist/UI5ElementMetadata.js +277 -313
  81. package/dist/UI5ElementMetadata.js.map +1 -0
  82. package/dist/animations/AnimationQueue.d.ts +8 -0
  83. package/dist/animations/AnimationQueue.js +31 -38
  84. package/dist/animations/AnimationQueue.js.map +1 -0
  85. package/dist/animations/animate.d.ts +14 -0
  86. package/dist/animations/animate.js +46 -51
  87. package/dist/animations/animate.js.map +1 -0
  88. package/dist/animations/scroll.d.ts +5 -0
  89. package/dist/animations/scroll.js +18 -27
  90. package/dist/animations/scroll.js.map +1 -0
  91. package/dist/animations/slideDown.d.ts +5 -0
  92. package/dist/animations/slideDown.js +53 -78
  93. package/dist/animations/slideDown.js.map +1 -0
  94. package/dist/animations/slideUp.d.ts +5 -0
  95. package/dist/animations/slideUp.js +49 -70
  96. package/dist/animations/slideUp.js.map +1 -0
  97. package/dist/api.json +1 -0
  98. package/dist/asset-registries/Icons.d.ts +30 -0
  99. package/dist/asset-registries/Icons.js +88 -119
  100. package/dist/asset-registries/Icons.js.map +1 -0
  101. package/dist/asset-registries/Illustrations.d.ts +17 -0
  102. package/dist/asset-registries/Illustrations.js +41 -25
  103. package/dist/asset-registries/Illustrations.js.map +1 -0
  104. package/dist/asset-registries/LocaleData.d.ts +7 -0
  105. package/dist/asset-registries/LocaleData.js +104 -132
  106. package/dist/asset-registries/LocaleData.js.map +1 -0
  107. package/dist/asset-registries/Themes.d.ts +11 -0
  108. package/dist/asset-registries/Themes.js +36 -68
  109. package/dist/asset-registries/Themes.js.map +1 -0
  110. package/dist/asset-registries/i18n.d.ts +23 -0
  111. package/dist/asset-registries/i18n.js +52 -80
  112. package/dist/asset-registries/i18n.js.map +1 -0
  113. package/dist/assets/Boot.4539908a.js +9 -0
  114. package/dist/assets/Boot.6335ce08.css +1 -0
  115. package/dist/assets/bundle.esm.a14a2ceb.js +52 -0
  116. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  117. package/dist/assets-meta/IconCollectionsAlias.js +30 -10
  118. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  119. package/dist/config/AnimationMode.d.ts +14 -0
  120. package/dist/config/AnimationMode.js +21 -18
  121. package/dist/config/AnimationMode.js.map +1 -0
  122. package/dist/config/CalendarType.d.ts +8 -0
  123. package/dist/config/CalendarType.js +13 -12
  124. package/dist/config/CalendarType.js.map +1 -0
  125. package/dist/config/FormatSettings.d.ts +15 -0
  126. package/dist/config/FormatSettings.js +15 -9
  127. package/dist/config/FormatSettings.js.map +1 -0
  128. package/dist/config/Icons.d.ts +55 -0
  129. package/dist/config/Icons.js +88 -37
  130. package/dist/config/Icons.js.map +1 -0
  131. package/dist/config/Language.d.ts +31 -0
  132. package/dist/config/Language.js +31 -43
  133. package/dist/config/Language.js.map +1 -0
  134. package/dist/config/NoConflict.d.ts +20 -0
  135. package/dist/config/NoConflict.js +40 -41
  136. package/dist/config/NoConflict.js.map +1 -0
  137. package/dist/config/RTL.d.ts +7 -0
  138. package/dist/config/RTL.js +26 -20
  139. package/dist/config/RTL.js.map +1 -0
  140. package/dist/config/Theme.d.ts +28 -0
  141. package/dist/config/Theme.js +34 -36
  142. package/dist/config/Theme.js.map +1 -0
  143. package/dist/config/ThemeRoots.d.ts +4 -0
  144. package/dist/config/ThemeRoots.js +28 -0
  145. package/dist/config/ThemeRoots.js.map +1 -0
  146. package/dist/decorators/customElement.d.ts +23 -0
  147. package/dist/decorators/customElement.js +31 -0
  148. package/dist/decorators/customElement.js.map +1 -0
  149. package/dist/decorators/event.d.ts +10 -0
  150. package/dist/decorators/event.js +24 -0
  151. package/dist/decorators/event.js.map +1 -0
  152. package/dist/decorators/fastNavigation.d.ts +7 -0
  153. package/dist/decorators/fastNavigation.js +13 -0
  154. package/dist/decorators/fastNavigation.js.map +1 -0
  155. package/dist/decorators/languageAware.d.ts +7 -0
  156. package/dist/decorators/languageAware.js +13 -0
  157. package/dist/decorators/languageAware.js.map +1 -0
  158. package/dist/decorators/property.d.ts +9 -0
  159. package/dist/decorators/property.js +24 -0
  160. package/dist/decorators/property.js.map +1 -0
  161. package/dist/decorators/slot.d.ts +9 -0
  162. package/dist/decorators/slot.js +37 -0
  163. package/dist/decorators/slot.js.map +1 -0
  164. package/dist/decorators/themeAware.d.ts +7 -0
  165. package/dist/decorators/themeAware.js +13 -0
  166. package/dist/decorators/themeAware.js.map +1 -0
  167. package/dist/delegate/ItemNavigation.d.ts +113 -0
  168. package/dist/delegate/ItemNavigation.js +277 -317
  169. package/dist/delegate/ItemNavigation.js.map +1 -0
  170. package/dist/delegate/ResizeHandler.d.ts +25 -0
  171. package/dist/delegate/ResizeHandler.js +70 -91
  172. package/dist/delegate/ResizeHandler.js.map +1 -0
  173. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  174. package/dist/delegate/ScrollEnablement.js +157 -180
  175. package/dist/delegate/ScrollEnablement.js.map +1 -0
  176. package/dist/features/F6Navigation.d.ts +19 -0
  177. package/dist/features/F6Navigation.js +145 -104
  178. package/dist/features/F6Navigation.js.map +1 -0
  179. package/dist/features/LegacyDateFormats.d.ts +18 -0
  180. package/dist/features/LegacyDateFormats.js +20 -0
  181. package/dist/features/LegacyDateFormats.js.map +1 -0
  182. package/dist/features/OpenUI5Element.d.ts +9 -0
  183. package/dist/features/OpenUI5Element.js +5 -0
  184. package/dist/features/OpenUI5Element.js.map +1 -0
  185. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  186. package/dist/features/OpenUI5Enablement.js +89 -112
  187. package/dist/features/OpenUI5Enablement.js.map +1 -0
  188. package/dist/features/OpenUI5Support.d.ts +25 -0
  189. package/dist/features/OpenUI5Support.js +92 -119
  190. package/dist/features/OpenUI5Support.js.map +1 -0
  191. package/dist/generated/VersionInfo.js +3 -3
  192. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  193. package/dist/generated/css/BusyIndicator.css.js +7 -5
  194. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  195. package/dist/generated/css/FontFace.css.d.ts +3 -0
  196. package/dist/generated/css/FontFace.css.js +7 -5
  197. package/dist/generated/css/FontFace.css.js.map +1 -0
  198. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  199. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  200. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  201. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  202. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  203. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  204. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  205. package/dist/getSharedResource.d.ts +11 -0
  206. package/dist/getSharedResource.js +21 -17
  207. package/dist/getSharedResource.js.map +1 -0
  208. package/dist/global.d.ts +38 -0
  209. package/dist/i18nBundle.d.ts +43 -0
  210. package/dist/i18nBundle.js +56 -64
  211. package/dist/i18nBundle.js.map +1 -0
  212. package/dist/locale/Locale.d.ts +22 -0
  213. package/dist/locale/Locale.js +75 -87
  214. package/dist/locale/Locale.js.map +1 -0
  215. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  216. package/dist/locale/RTLAwareRegistry.js +6 -11
  217. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  218. package/dist/locale/applyDirection.d.ts +10 -0
  219. package/dist/locale/applyDirection.js +7 -7
  220. package/dist/locale/applyDirection.js.map +1 -0
  221. package/dist/locale/directionChange.d.ts +15 -0
  222. package/dist/locale/directionChange.js +7 -15
  223. package/dist/locale/directionChange.js.map +1 -0
  224. package/dist/locale/getEffectiveDir.d.ts +2 -0
  225. package/dist/locale/getEffectiveDir.js +20 -24
  226. package/dist/locale/getEffectiveDir.js.map +1 -0
  227. package/dist/locale/getLocale.d.ts +7 -0
  228. package/dist/locale/getLocale.js +26 -29
  229. package/dist/locale/getLocale.js.map +1 -0
  230. package/dist/locale/languageChange.d.ts +5 -0
  231. package/dist/locale/languageChange.js +8 -16
  232. package/dist/locale/languageChange.js.map +1 -0
  233. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  234. package/dist/locale/nextFallbackLocale.js +15 -19
  235. package/dist/locale/nextFallbackLocale.js.map +1 -0
  236. package/dist/locale/normalizeLocale.d.ts +7 -0
  237. package/dist/locale/normalizeLocale.js +34 -41
  238. package/dist/locale/normalizeLocale.js.map +1 -0
  239. package/dist/renderer/LitRenderer.d.ts +14 -0
  240. package/dist/renderer/LitRenderer.js +28 -39
  241. package/dist/renderer/LitRenderer.js.map +1 -0
  242. package/dist/renderer/executeTemplate.d.ts +13 -0
  243. package/dist/renderer/executeTemplate.js +12 -16
  244. package/dist/renderer/executeTemplate.js.map +1 -0
  245. package/dist/sap/base/Log.js +28 -29
  246. package/dist/sap/base/assert.js +5 -6
  247. package/dist/sap/base/security/URLListValidator.js +13 -2
  248. package/dist/theming/CustomStyle.d.ts +6 -0
  249. package/dist/theming/CustomStyle.js +33 -45
  250. package/dist/theming/CustomStyle.js.map +1 -0
  251. package/dist/theming/ThemeLoaded.d.ts +5 -0
  252. package/dist/theming/ThemeLoaded.js +8 -16
  253. package/dist/theming/ThemeLoaded.js.map +1 -0
  254. package/dist/theming/applyTheme.d.ts +2 -0
  255. package/dist/theming/applyTheme.js +60 -64
  256. package/dist/theming/applyTheme.js.map +1 -0
  257. package/dist/theming/getConstructableStyle.d.ts +9 -0
  258. package/dist/theming/getConstructableStyle.js +12 -17
  259. package/dist/theming/getConstructableStyle.js.map +1 -0
  260. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  261. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  262. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  263. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  264. package/dist/theming/getEffectiveStyle.js +24 -31
  265. package/dist/theming/getEffectiveStyle.js.map +1 -0
  266. package/dist/theming/getStylesString.d.ts +3 -0
  267. package/dist/theming/getStylesString.js +9 -13
  268. package/dist/theming/getStylesString.js.map +1 -0
  269. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  270. package/dist/theming/getThemeDesignerTheme.js +72 -79
  271. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  272. package/dist/theming/preloadLinks.d.ts +3 -0
  273. package/dist/theming/preloadLinks.js +13 -17
  274. package/dist/theming/preloadLinks.js.map +1 -0
  275. package/dist/thirdparty/_merge.d.ts +2 -0
  276. package/dist/thirdparty/_merge.js +7 -4
  277. package/dist/thirdparty/_merge.js.map +1 -0
  278. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  279. package/dist/thirdparty/isPlainObject.js +11 -10
  280. package/dist/thirdparty/isPlainObject.js.map +1 -0
  281. package/dist/thirdparty/merge.d.ts +2 -0
  282. package/dist/thirdparty/merge.js +4 -8
  283. package/dist/thirdparty/merge.js.map +1 -0
  284. package/dist/types/AnimationMode.d.ts +32 -0
  285. package/dist/types/AnimationMode.js +33 -6
  286. package/dist/types/AnimationMode.js.map +1 -0
  287. package/dist/types/CSSColor.d.ts +16 -0
  288. package/dist/types/CSSColor.js +15 -5
  289. package/dist/types/CSSColor.js.map +1 -0
  290. package/dist/types/CalendarType.d.ts +37 -0
  291. package/dist/types/CalendarType.js +35 -18
  292. package/dist/types/CalendarType.js.map +1 -0
  293. package/dist/types/DOMReference.d.ts +17 -0
  294. package/dist/types/DOMReference.js +14 -13
  295. package/dist/types/DOMReference.js.map +1 -0
  296. package/dist/types/DataType.d.ts +25 -0
  297. package/dist/types/DataType.js +33 -26
  298. package/dist/types/DataType.js.map +1 -0
  299. package/dist/types/Float.d.ts +18 -0
  300. package/dist/types/Float.js +18 -10
  301. package/dist/types/Float.js.map +1 -0
  302. package/dist/types/Integer.d.ts +18 -0
  303. package/dist/types/Integer.js +18 -9
  304. package/dist/types/Integer.js.map +1 -0
  305. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  306. package/dist/types/InvisibleMessageMode.js +20 -23
  307. package/dist/types/InvisibleMessageMode.js.map +1 -0
  308. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  309. package/dist/types/ItemNavigationBehavior.js +22 -12
  310. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  311. package/dist/types/NavigationMode.d.ts +32 -0
  312. package/dist/types/NavigationMode.js +33 -6
  313. package/dist/types/NavigationMode.js.map +1 -0
  314. package/dist/types/ValueState.d.ts +42 -0
  315. package/dist/types/ValueState.js +41 -19
  316. package/dist/types/ValueState.js.map +1 -0
  317. package/dist/types.d.ts +18 -0
  318. package/dist/types.js +2 -0
  319. package/dist/types.js.map +1 -0
  320. package/dist/updateShadowRoot.d.ts +8 -0
  321. package/dist/updateShadowRoot.js +25 -16
  322. package/dist/updateShadowRoot.js.map +1 -0
  323. package/dist/util/AriaLabelHelper.d.ts +15 -0
  324. package/dist/util/AriaLabelHelper.js +166 -34
  325. package/dist/util/AriaLabelHelper.js.map +1 -0
  326. package/dist/util/Caret.d.ts +7 -0
  327. package/dist/util/Caret.js +16 -25
  328. package/dist/util/Caret.js.map +1 -0
  329. package/dist/util/ColorConversion.d.ts +30 -0
  330. package/dist/util/ColorConversion.js +311 -372
  331. package/dist/util/ColorConversion.js.map +1 -0
  332. package/dist/util/FetchHelper.d.ts +3 -0
  333. package/dist/util/FetchHelper.js +19 -25
  334. package/dist/util/FetchHelper.js.map +1 -0
  335. package/dist/util/FocusableElements.d.ts +4 -0
  336. package/dist/util/FocusableElements.js +63 -71
  337. package/dist/util/FocusableElements.js.map +1 -0
  338. package/dist/util/HTMLSanitizer.d.ts +3 -0
  339. package/dist/util/HTMLSanitizer.js +4 -5
  340. package/dist/util/HTMLSanitizer.js.map +1 -0
  341. package/dist/util/InvisibleMessage.d.ts +10 -0
  342. package/dist/util/InvisibleMessage.js +40 -53
  343. package/dist/util/InvisibleMessage.js.map +1 -0
  344. package/dist/util/PopupUtils.d.ts +7 -0
  345. package/dist/util/PopupUtils.js +58 -77
  346. package/dist/util/PopupUtils.js.map +1 -0
  347. package/dist/util/SlotsHelper.d.ts +9 -0
  348. package/dist/util/SlotsHelper.js +22 -35
  349. package/dist/util/SlotsHelper.js.map +1 -0
  350. package/dist/util/StringHelper.d.ts +3 -0
  351. package/dist/util/StringHelper.js +17 -20
  352. package/dist/util/StringHelper.js.map +1 -0
  353. package/dist/util/TabbableElements.d.ts +17 -0
  354. package/dist/util/TabbableElements.js +53 -47
  355. package/dist/util/TabbableElements.js.map +1 -0
  356. package/dist/util/arraysAreEqual.d.ts +2 -0
  357. package/dist/util/arraysAreEqual.js +10 -12
  358. package/dist/util/arraysAreEqual.js.map +1 -0
  359. package/dist/util/clamp.d.ts +9 -0
  360. package/dist/util/clamp.js +2 -2
  361. package/dist/util/clamp.js.map +1 -0
  362. package/dist/util/createLinkInHead.d.ts +7 -0
  363. package/dist/util/createLinkInHead.js +14 -12
  364. package/dist/util/createLinkInHead.js.map +1 -0
  365. package/dist/util/createStyleInHead.d.ts +8 -0
  366. package/dist/util/createStyleInHead.js +10 -10
  367. package/dist/util/createStyleInHead.js.map +1 -0
  368. package/dist/util/debounce.d.ts +2 -0
  369. package/dist/util/debounce.js +6 -8
  370. package/dist/util/debounce.js.map +1 -0
  371. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  372. package/dist/util/detectNavigatorLanguage.js +7 -10
  373. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  374. package/dist/util/escapeRegex.d.ts +8 -0
  375. package/dist/util/escapeRegex.js +8 -7
  376. package/dist/util/escapeRegex.js.map +1 -0
  377. package/dist/util/formatMessage.d.ts +2 -0
  378. package/dist/util/formatMessage.js +15 -19
  379. package/dist/util/formatMessage.js.map +1 -0
  380. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  381. package/dist/util/generateHighlightedMarkup.js +26 -27
  382. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  383. package/dist/util/getActiveElement.d.ts +2 -0
  384. package/dist/util/getActiveElement.js +6 -8
  385. package/dist/util/getActiveElement.js.map +1 -0
  386. package/dist/util/getClassCopy.d.ts +398 -0
  387. package/dist/util/getClassCopy.js +7 -7
  388. package/dist/util/getClassCopy.js.map +1 -0
  389. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  390. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  391. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  392. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  393. package/dist/util/getEffectiveContentDensity.js +2 -3
  394. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  395. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  396. package/dist/util/getEffectiveScrollbarStyle.js +1 -2
  397. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  398. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  399. package/dist/util/getFastNavigationGroups.js +51 -0
  400. package/dist/util/getFastNavigationGroups.js.map +1 -0
  401. package/dist/util/getFileExtension.d.ts +12 -0
  402. package/dist/util/getFileExtension.js +9 -11
  403. package/dist/util/getFileExtension.js.map +1 -0
  404. package/dist/util/getNormalizedTarget.d.ts +7 -0
  405. package/dist/util/getNormalizedTarget.js +7 -9
  406. package/dist/util/getNormalizedTarget.js.map +1 -0
  407. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  408. package/dist/util/getSingletonElementInstance.js +7 -10
  409. package/dist/util/getSingletonElementInstance.js.map +1 -0
  410. package/dist/util/isElementClickable.d.ts +2 -0
  411. package/dist/util/isElementClickable.js +16 -0
  412. package/dist/util/isElementClickable.js.map +1 -0
  413. package/dist/util/isElementHidden.d.ts +2 -0
  414. package/dist/util/isElementHidden.js +8 -0
  415. package/dist/util/isElementHidden.js.map +1 -0
  416. package/dist/util/isElementInView.d.ts +6 -0
  417. package/dist/util/isElementInView.js +6 -9
  418. package/dist/util/isElementInView.js.map +1 -0
  419. package/dist/util/isElementTabbable.d.ts +9 -0
  420. package/dist/util/isElementTabbable.js +30 -0
  421. package/dist/util/isElementTabbable.js.map +1 -0
  422. package/dist/util/isValidPropertyName.d.ts +8 -0
  423. package/dist/util/isValidPropertyName.js +16 -17
  424. package/dist/util/isValidPropertyName.js.map +1 -0
  425. package/dist/util/whenDOMReady.d.ts +2 -0
  426. package/dist/util/whenDOMReady.js +11 -10
  427. package/dist/util/whenDOMReady.js.map +1 -0
  428. package/dist/util/willShowContent.d.ts +2 -0
  429. package/dist/util/willShowContent.js +7 -0
  430. package/dist/util/willShowContent.js.map +1 -0
  431. package/dist/validateThemeRoot.d.ts +2 -0
  432. package/dist/validateThemeRoot.js +47 -0
  433. package/dist/validateThemeRoot.js.map +1 -0
  434. package/lib/generate-styles/index.js +10 -5
  435. package/package-scripts.js +22 -7
  436. package/package.json +4 -4
  437. package/src/Boot.ts +76 -0
  438. package/src/{CSP.js → CSP.ts} +14 -7
  439. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  440. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  441. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  442. package/src/DOMObserver.ts +28 -0
  443. package/src/Device.ts +203 -0
  444. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  445. package/src/FeaturesRegistry.ts +14 -0
  446. package/src/{FontFace.js → FontFace.ts} +3 -2
  447. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +54 -13
  448. package/src/Keys.ts +295 -0
  449. package/src/ManagedStyles.ts +92 -0
  450. package/src/MarkedEvents.ts +20 -0
  451. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  452. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  453. package/src/{Render.js → Render.ts} +25 -20
  454. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  455. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  456. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +30 -18
  457. package/src/{UI5Element.js → UI5Element.ts} +280 -166
  458. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  459. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  460. package/src/animations/animate.ts +64 -0
  461. package/src/animations/scroll.ts +21 -0
  462. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  463. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  464. package/src/asset-registries/Icons.ts +161 -0
  465. package/src/asset-registries/Illustrations.ts +75 -0
  466. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +36 -28
  467. package/src/asset-registries/{Themes.js → Themes.ts} +19 -29
  468. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  469. package/src/assets-meta/IconCollectionsAlias.ts +41 -0
  470. package/src/config/AnimationMode.ts +33 -0
  471. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  472. package/src/config/FormatSettings.ts +35 -0
  473. package/src/config/Icons.ts +126 -0
  474. package/src/config/{Language.js → Language.ts} +22 -18
  475. package/src/config/NoConflict.ts +67 -0
  476. package/src/config/{RTL.js → RTL.ts} +18 -4
  477. package/src/config/Theme.ts +64 -0
  478. package/src/config/ThemeRoots.ts +41 -0
  479. package/src/decorators/customElement.ts +57 -0
  480. package/src/decorators/event.ts +28 -0
  481. package/src/decorators/fastNavigation.ts +14 -0
  482. package/src/decorators/languageAware.ts +14 -0
  483. package/src/decorators/property.ts +30 -0
  484. package/src/decorators/slot.ts +49 -0
  485. package/src/decorators/themeAware.ts +14 -0
  486. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  487. package/src/delegate/ResizeHandler.ts +100 -0
  488. package/src/delegate/ScrollEnablement.ts +224 -0
  489. package/src/features/F6Navigation.ts +195 -0
  490. package/src/features/LegacyDateFormats.ts +40 -0
  491. package/src/features/OpenUI5Element.ts +11 -0
  492. package/src/features/OpenUI5Enablement.ts +117 -0
  493. package/src/features/OpenUI5Support.ts +153 -0
  494. package/src/generated/css/BusyIndicator.css.ts +9 -0
  495. package/src/generated/css/FontFace.css.ts +9 -0
  496. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  497. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  498. package/src/{getSharedResource.js → getSharedResource.ts} +13 -4
  499. package/src/global.d.ts +38 -0
  500. package/src/{i18nBundle.js → i18nBundle.ts} +45 -23
  501. package/src/locale/{Locale.js → Locale.ts} +15 -5
  502. package/src/locale/RTLAwareRegistry.ts +16 -0
  503. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  504. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  505. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  506. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  507. package/src/locale/languageChange.ts +24 -0
  508. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  509. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  510. package/src/renderer/LitRenderer.ts +60 -0
  511. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  512. package/src/theming/{CustomStyle.js → CustomStyle.ts} +16 -12
  513. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  514. package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
  515. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  516. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  517. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  518. package/src/theming/getStylesString.ts +15 -0
  519. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  520. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  521. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  522. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  523. package/src/thirdparty/merge.ts +5 -0
  524. package/src/types/AnimationMode.ts +33 -0
  525. package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
  526. package/src/types/CalendarType.ts +38 -0
  527. package/src/types/{DOMReference.js → DOMReference.ts} +6 -2
  528. package/src/types/DataType.ts +51 -0
  529. package/src/types/Float.ts +25 -0
  530. package/src/types/Integer.ts +25 -0
  531. package/src/types/InvisibleMessageMode.ts +27 -0
  532. package/src/types/ItemNavigationBehavior.ts +26 -0
  533. package/src/types/NavigationMode.ts +33 -0
  534. package/src/types/ValueState.ts +47 -0
  535. package/src/types.ts +30 -0
  536. package/src/updateShadowRoot.ts +42 -0
  537. package/src/util/AriaLabelHelper.ts +218 -0
  538. package/src/util/{Caret.js → Caret.ts} +5 -9
  539. package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
  540. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  541. package/src/util/FocusableElements.ts +92 -0
  542. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  543. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  544. package/src/util/PopupUtils.ts +112 -0
  545. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  546. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  547. package/src/util/TabbableElements.ts +70 -0
  548. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  549. package/src/util/{clamp.js → clamp.ts} +1 -1
  550. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
  551. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  552. package/src/util/{debounce.js → debounce.ts} +5 -4
  553. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  554. package/src/util/escapeRegex.ts +11 -0
  555. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  556. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  557. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  558. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  559. package/src/util/getEffectiveContentDensity.ts +5 -0
  560. package/src/util/getFastNavigationGroups.ts +63 -0
  561. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  562. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  563. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  564. package/src/util/isElementClickable.ts +19 -0
  565. package/src/util/isElementHidden.ts +9 -0
  566. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  567. package/src/util/isElementTabbable.ts +37 -0
  568. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  569. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  570. package/src/util/willShowContent.ts +7 -0
  571. package/src/validateThemeRoot.ts +58 -0
  572. package/tsconfig.json +13 -0
  573. package/dist/RenderScheduler.js +0 -44
  574. package/dist/animations/config.js +0 -5
  575. package/dist/assets/bundle.esm.83f057b4.js +0 -43
  576. package/dist/types/CSSSize.js +0 -9
  577. package/dist/types/PopupState.js +0 -37
  578. package/dist/util/isDefaultSlotProvided.js +0 -11
  579. package/dist/util/isDescendantOf.js +0 -15
  580. package/dist/util/isNodeClickable.js +0 -19
  581. package/dist/util/isNodeHidden.js +0 -9
  582. package/dist/util/isNodeTabbable.js +0 -28
  583. package/dist/util/setToArray.js +0 -10
  584. package/hash.txt +0 -1
  585. package/src/Boot.js +0 -59
  586. package/src/DOMObserver.js +0 -65
  587. package/src/Device.js +0 -121
  588. package/src/FeaturesRegistry.js +0 -14
  589. package/src/Keys.js +0 -295
  590. package/src/ManagedStyles.js +0 -83
  591. package/src/RenderScheduler.js +0 -44
  592. package/src/animations/animate.js +0 -53
  593. package/src/animations/config.js +0 -5
  594. package/src/animations/scroll.js +0 -28
  595. package/src/asset-registries/Icons.js +0 -135
  596. package/src/asset-registries/Illustrations.js +0 -30
  597. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  598. package/src/config/AnimationMode.js +0 -23
  599. package/src/config/FormatSettings.js +0 -13
  600. package/src/config/Icons.js +0 -52
  601. package/src/config/NoConflict.js +0 -51
  602. package/src/config/Theme.js +0 -53
  603. package/src/delegate/ResizeHandler.js +0 -106
  604. package/src/delegate/ScrollEnablement.js +0 -188
  605. package/src/features/F6Navigation.js +0 -110
  606. package/src/features/OpenUI5Enablement.js +0 -119
  607. package/src/features/OpenUI5Support.js +0 -125
  608. package/src/locale/RTLAwareRegistry.js +0 -14
  609. package/src/locale/languageChange.js +0 -22
  610. package/src/renderer/LitRenderer.js +0 -52
  611. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  612. package/src/theming/getStylesString.js +0 -15
  613. package/src/thirdparty/merge.js +0 -10
  614. package/src/types/AnimationMode.js +0 -7
  615. package/src/types/CSSSize.js +0 -9
  616. package/src/types/CalendarType.js +0 -22
  617. package/src/types/DataType.js +0 -37
  618. package/src/types/Float.js +0 -14
  619. package/src/types/Integer.js +0 -13
  620. package/src/types/InvisibleMessageMode.js +0 -30
  621. package/src/types/ItemNavigationBehavior.js +0 -16
  622. package/src/types/NavigationMode.js +0 -7
  623. package/src/types/PopupState.js +0 -37
  624. package/src/types/ValueState.js +0 -22
  625. package/src/updateShadowRoot.js +0 -29
  626. package/src/util/AriaLabelHelper.js +0 -39
  627. package/src/util/FocusableElements.js +0 -79
  628. package/src/util/PopupUtils.js +0 -93
  629. package/src/util/TabbableElements.js +0 -51
  630. package/src/util/escapeRegex.js +0 -10
  631. package/src/util/getEffectiveContentDensity.js +0 -5
  632. package/src/util/isDefaultSlotProvided.js +0 -11
  633. package/src/util/isDescendantOf.js +0 -15
  634. package/src/util/isNodeClickable.js +0 -19
  635. package/src/util/isNodeHidden.js +0 -9
  636. package/src/util/isNodeTabbable.js +0 -28
  637. package/src/util/setToArray.js +0 -10
  638. /package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  639. /package/src/{StaticArea.js → StaticArea.ts} +0 -0
  640. /package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  641. /package/src/{Theming.js → Theming.ts} +0 -0
  642. /package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  643. /package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
@@ -2,18 +2,22 @@ import EventProvider from "./EventProvider.js";
2
2
  import RenderQueue from "./RenderQueue.js";
3
3
  import { getAllRegisteredTags } from "./CustomElementsRegistry.js";
4
4
  import { isRtlAware } from "./locale/RTLAwareRegistry.js";
5
+ import type UI5Element from "./UI5Element.js";
6
+ import { PromiseResolve, Timeout } from "./types.js";
5
7
 
6
- const registeredElements = new Set();
7
- const eventProvider = new EventProvider();
8
+ type BeforeComponentRenderCallback = (webComponent: UI5Element) => void;
9
+
10
+ const registeredElements = new Set<UI5Element>();
11
+ const eventProvider = new EventProvider<UI5Element, void>();
8
12
 
9
13
  const invalidatedWebComponents = new RenderQueue(); // Queue for invalidated web components
10
14
 
11
- let renderTaskPromise,
12
- renderTaskPromiseResolve;
15
+ let renderTaskPromise: Promise<void> | undefined,
16
+ renderTaskPromiseResolve: PromiseResolve | undefined;
13
17
 
14
- let mutationObserverTimer;
18
+ let mutationObserverTimer: Timeout | undefined;
15
19
 
16
- let queuePromise;
20
+ let queuePromise: Promise<void> | null;
17
21
 
18
22
  /**
19
23
  * Schedules a render task (if not already scheduled) to render the component
@@ -21,7 +25,7 @@ let queuePromise;
21
25
  * @param webComponent
22
26
  * @returns {Promise}
23
27
  */
24
- const renderDeferred = async webComponent => {
28
+ const renderDeferred = async (webComponent: UI5Element) => {
25
29
  // Enqueue the web component
26
30
  invalidatedWebComponents.add(webComponent);
27
31
 
@@ -34,7 +38,7 @@ const renderDeferred = async webComponent => {
34
38
  *
35
39
  * @param webComponent
36
40
  */
37
- const renderImmediately = webComponent => {
41
+ const renderImmediately = (webComponent: UI5Element) => {
38
42
  eventProvider.fireEvent("beforeComponentRender", webComponent);
39
43
  registeredElements.add(webComponent);
40
44
  webComponent._render();
@@ -45,7 +49,7 @@ const renderImmediately = webComponent => {
45
49
  *
46
50
  * @param webComponent
47
51
  */
48
- const cancelRender = webComponent => {
52
+ const cancelRender = (webComponent: UI5Element) => {
49
53
  invalidatedWebComponents.remove(webComponent);
50
54
  registeredElements.delete(webComponent);
51
55
  };
@@ -55,7 +59,7 @@ const cancelRender = webComponent => {
55
59
  */
56
60
  const scheduleRenderTask = async () => {
57
61
  if (!queuePromise) {
58
- queuePromise = new Promise(resolve => {
62
+ queuePromise = new Promise<void>(resolve => {
59
63
  window.requestAnimationFrame(() => {
60
64
  // Render all components in the queue
61
65
 
@@ -91,7 +95,7 @@ const whenDOMUpdated = () => {
91
95
  return renderTaskPromise;
92
96
  }
93
97
 
94
- renderTaskPromise = new Promise(resolve => {
98
+ renderTaskPromise = new Promise<void>(resolve => {
95
99
  renderTaskPromiseResolve = resolve;
96
100
  window.requestAnimationFrame(() => {
97
101
  if (invalidatedWebComponents.isEmpty()) {
@@ -140,15 +144,16 @@ const _resolveTaskPromise = () => {
140
144
  * etc...
141
145
  *
142
146
  * @public
143
- * @param {Object|undefined} filters - Object with keys that can be "rtlAware" or "languageAware"
147
+ * @param {object|undefined} filters - Object with keys that can be "rtlAware" or "languageAware"
144
148
  * @returns {Promise<void>}
145
149
  */
146
- const reRenderAllUI5Elements = async filters => {
147
- registeredElements.forEach(element => {
148
- const tag = element.constructor.getMetadata().getTag();
149
- const rtlAware = isRtlAware(element.constructor);
150
- const languageAware = element.constructor.getMetadata().isLanguageAware();
151
- const themeAware = element.constructor.getMetadata().isThemeAware();
150
+ const reRenderAllUI5Elements = async (filters?: {tag?: string, rtlAware?: boolean, languageAware?: boolean, themeAware?: boolean}) => {
151
+ registeredElements.forEach((element: UI5Element) => {
152
+ const ctor = element.constructor as typeof UI5Element;
153
+ const tag = ctor.getMetadata().getTag();
154
+ const rtlAware = isRtlAware(ctor);
155
+ const languageAware = ctor.getMetadata().isLanguageAware();
156
+ const themeAware = ctor.getMetadata().isThemeAware();
152
157
  if (!filters || (filters.tag === tag) || (filters.rtlAware && rtlAware) || (filters.languageAware && languageAware) || (filters.themeAware && themeAware)) {
153
158
  renderDeferred(element);
154
159
  }
@@ -156,11 +161,11 @@ const reRenderAllUI5Elements = async filters => {
156
161
  await renderFinished();
157
162
  };
158
163
 
159
- const attachBeforeComponentRender = listener => {
164
+ const attachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {
160
165
  eventProvider.attachEvent("beforeComponentRender", listener);
161
166
  };
162
167
 
163
- const detachBeforeComponentRender = listener => {
168
+ const detachBeforeComponentRender = (listener: BeforeComponentRenderCallback) => {
164
169
  eventProvider.detachEvent("beforeComponentRender", listener);
165
170
  };
166
171
 
@@ -1,12 +1,17 @@
1
+ import type UI5Element from "./UI5Element.js";
2
+
1
3
  const MAX_PROCESS_COUNT = 10;
2
4
 
3
5
  class RenderQueue {
6
+ list: Array<UI5Element>;
7
+ lookup: Set<UI5Element>;
8
+
4
9
  constructor() {
5
10
  this.list = []; // Used to store the web components in order
6
11
  this.lookup = new Set(); // Used for faster search
7
12
  }
8
13
 
9
- add(webComponent) {
14
+ add(webComponent: UI5Element) {
10
15
  if (this.lookup.has(webComponent)) {
11
16
  return;
12
17
  }
@@ -15,7 +20,7 @@ class RenderQueue {
15
20
  this.lookup.add(webComponent);
16
21
  }
17
22
 
18
- remove(webComponent) {
23
+ remove(webComponent: UI5Element) {
19
24
  if (!this.lookup.has(webComponent)) {
20
25
  return;
21
26
  }
@@ -36,7 +41,7 @@ class RenderQueue {
36
41
  return this.list.length === 0;
37
42
  }
38
43
 
39
- isAdded(webComponent) {
44
+ isAdded(webComponent: UI5Element) {
40
45
  return this.lookup.has(webComponent);
41
46
  }
42
47
 
@@ -46,9 +51,9 @@ class RenderQueue {
46
51
  *
47
52
  * @param callback - function with one argument (the web component to be processed)
48
53
  */
49
- process(callback) {
54
+ process(callback: (el: UI5Element) => void) {
50
55
  let webComponent;
51
- const stats = new Map();
56
+ const stats = new Map<UI5Element, number>();
52
57
 
53
58
  webComponent = this.shift();
54
59
  while (webComponent) {
@@ -1,17 +1,22 @@
1
1
  import VersionInfo from "./generated/VersionInfo.js";
2
2
  import getSharedResource from "./getSharedResource.js";
3
3
 
4
- let currentRuntimeIndex;
4
+ type RuntimeData = VersionInfo & {
5
+ alias: string,
6
+ description: string,
7
+ };
8
+
9
+ let currentRuntimeIndex: number;
5
10
  let currentRuntimeAlias = "";
6
11
 
7
- const compareCache = new Map();
12
+ const compareCache = new Map<string, number>();
8
13
 
9
14
  /**
10
15
  * Central registry where all runtimes register themselves by pushing an object.
11
16
  * The index in the registry servers as an ID for the runtime.
12
17
  * @type {*}
13
18
  */
14
- const Runtimes = getSharedResource("Runtimes", []);
19
+ const Runtimes = getSharedResource<Array<RuntimeData>>("Runtimes", []);
15
20
 
16
21
  /**
17
22
  * Registers the current runtime in the shared runtimes resource registry
@@ -19,10 +24,12 @@ const Runtimes = getSharedResource("Runtimes", []);
19
24
  const registerCurrentRuntime = () => {
20
25
  if (currentRuntimeIndex === undefined) {
21
26
  currentRuntimeIndex = Runtimes.length;
27
+ const versionInfo = VersionInfo;
28
+
22
29
  Runtimes.push({
23
- ...VersionInfo,
30
+ ...versionInfo,
24
31
  alias: currentRuntimeAlias,
25
- description: `Runtime ${currentRuntimeIndex} - ver ${VersionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : ""}`,
32
+ description: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : ""}`,
26
33
  });
27
34
  }
28
35
  };
@@ -41,10 +48,10 @@ const getCurrentRuntimeIndex = () => {
41
48
  * @param index2 The index of the second runtime to compare
42
49
  * @returns {number}
43
50
  */
44
- const compareRuntimes = (index1, index2) => {
51
+ const compareRuntimes = (index1: number, index2: number) => {
45
52
  const cacheIndex = `${index1},${index2}`;
46
53
  if (compareCache.has(cacheIndex)) {
47
- return compareCache.get(cacheIndex);
54
+ return compareCache.get(cacheIndex)!;
48
55
  }
49
56
 
50
57
  const runtime1 = Runtimes[index1];
@@ -90,7 +97,7 @@ const compareRuntimes = (index1, index2) => {
90
97
  * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings
91
98
  * @param alias
92
99
  */
93
- const setRuntimeAlias = alias => {
100
+ const setRuntimeAlias = (alias: string) => {
94
101
  currentRuntimeAlias = alias;
95
102
  };
96
103
 
@@ -4,6 +4,10 @@ import { renderFinished } from "./Render.js";
4
4
  import getEffectiveContentDensity from "./util/getEffectiveContentDensity.js";
5
5
  import { getEffectiveScopingSuffixForTag } from "./CustomElementsScopeUtils.js";
6
6
  import getEffectiveDir from "./locale/getEffectiveDir.js";
7
+ import type UI5Element from "./UI5Element.js";
8
+
9
+ const pureTagName = "ui5-static-area-item";
10
+ const popupIntegrationAttr = "data-sap-ui-integration-popup-content";
7
11
 
8
12
  /**
9
13
  *
@@ -12,6 +16,9 @@ import getEffectiveDir from "./locale/getEffectiveDir.js";
12
16
  * @private
13
17
  */
14
18
  class StaticAreaItem extends HTMLElement {
19
+ _rendered: boolean;
20
+ ownerElement?: UI5Element;
21
+
15
22
  constructor() {
16
23
  super();
17
24
  this._rendered = false;
@@ -19,26 +26,25 @@ class StaticAreaItem extends HTMLElement {
19
26
  }
20
27
 
21
28
  /**
22
- * @protected
23
- * @param ownerElement The UI5Element instance that owns this static area item
29
+ * @param {UI5Element} ownerElement the UI5Element instance that owns this static area item
24
30
  */
25
- setOwnerElement(ownerElement) {
31
+ setOwnerElement(ownerElement: UI5Element) {
26
32
  this.ownerElement = ownerElement;
27
33
  this.classList.add(this.ownerElement._id); // used for getting the popover in the tests
28
34
  if (this.ownerElement.hasAttribute("data-ui5-static-stable")) {
29
- this.setAttribute("data-ui5-stable", this.ownerElement.getAttribute("data-ui5-static-stable")); // stable selector
35
+ this.setAttribute("data-ui5-stable", this.ownerElement.getAttribute("data-ui5-static-stable")!); // stable selector
30
36
  }
31
37
  }
32
38
 
33
39
  /**
34
40
  * Updates the shadow root of the static area item with the latest state, if rendered
35
- * @protected
36
41
  */
37
42
  update() {
38
43
  if (this._rendered) {
44
+ this._updateAdditionalAttrs();
39
45
  this._updateContentDensity();
40
46
  this._updateDirection();
41
- updateShadowRoot(this.ownerElement, true);
47
+ updateShadowRoot(this.ownerElement!, true);
42
48
  }
43
49
  }
44
50
 
@@ -47,7 +53,7 @@ class StaticAreaItem extends HTMLElement {
47
53
  * @private
48
54
  */
49
55
  _updateContentDensity() {
50
- if (getEffectiveContentDensity(this.ownerElement) === "compact") {
56
+ if (getEffectiveContentDensity(this.ownerElement!) === "compact") {
51
57
  this.classList.add("sapUiSizeCompact");
52
58
  this.classList.add("ui5-content-density-compact");
53
59
  } else {
@@ -57,14 +63,21 @@ class StaticAreaItem extends HTMLElement {
57
63
  }
58
64
 
59
65
  _updateDirection() {
60
- const dir = getEffectiveDir(this.ownerElement);
61
- if (dir) {
62
- this.setAttribute("dir", dir);
63
- } else {
64
- this.removeAttribute("dir");
66
+ if (this.ownerElement) {
67
+ const dir = getEffectiveDir(this.ownerElement);
68
+ if (dir) {
69
+ this.setAttribute("dir", dir);
70
+ } else {
71
+ this.removeAttribute("dir");
72
+ }
65
73
  }
66
74
  }
67
75
 
76
+ _updateAdditionalAttrs() {
77
+ this.setAttribute(pureTagName, "");
78
+ this.setAttribute(popupIntegrationAttr, "");
79
+ }
80
+
68
81
  /**
69
82
  * @protected
70
83
  * Returns reference to the DOM element where the current fragment is added.
@@ -73,20 +86,19 @@ class StaticAreaItem extends HTMLElement {
73
86
  this._updateContentDensity();
74
87
  if (!this._rendered) {
75
88
  this._rendered = true;
76
- updateShadowRoot(this.ownerElement, true);
89
+ updateShadowRoot(this.ownerElement!, true);
77
90
  }
78
91
  await renderFinished(); // Wait for the content of the ui5-static-area-item to be rendered
79
92
  return this.shadowRoot;
80
93
  }
81
94
 
82
95
  static getTag() {
83
- const pureTag = "ui5-static-area-item";
84
- const suffix = getEffectiveScopingSuffixForTag(pureTag);
96
+ const suffix = getEffectiveScopingSuffixForTag(pureTagName);
85
97
  if (!suffix) {
86
- return pureTag;
98
+ return pureTagName;
87
99
  }
88
100
 
89
- return `${pureTag}-${suffix}`;
101
+ return `${pureTagName}-${suffix}`;
90
102
  }
91
103
 
92
104
  static createInstance() {
@@ -94,7 +106,7 @@ class StaticAreaItem extends HTMLElement {
94
106
  customElements.define(StaticAreaItem.getTag(), StaticAreaItem);
95
107
  }
96
108
 
97
- return document.createElement(this.getTag());
109
+ return document.createElement(this.getTag()) as StaticAreaItem;
98
110
  }
99
111
  }
100
112