@ui5/webcomponents-base 1.9.3 → 1.10.0

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 (609) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +0 -8
  3. package/bundle.esm.js +4 -1
  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 +8 -0
  8. package/dist/Boot.js +29 -48
  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 +53 -83
  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 +107 -146
  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 -94
  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 +373 -0
  77. package/dist/UI5Element.js +928 -1006
  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 -1
  98. package/dist/asset-registries/Icons.d.ts +30 -0
  99. package/dist/asset-registries/Icons.js +85 -118
  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 +37 -50
  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 -126
  106. package/dist/asset-registries/LocaleData.js.map +1 -0
  107. package/dist/asset-registries/Themes.d.ts +10 -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/bundle.esm.3d967c4e.js +56 -0
  114. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  115. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  116. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  117. package/dist/config/AnimationMode.d.ts +14 -0
  118. package/dist/config/AnimationMode.js +21 -18
  119. package/dist/config/AnimationMode.js.map +1 -0
  120. package/dist/config/CalendarType.d.ts +8 -0
  121. package/dist/config/CalendarType.js +13 -12
  122. package/dist/config/CalendarType.js.map +1 -0
  123. package/dist/config/FormatSettings.d.ts +11 -0
  124. package/dist/config/FormatSettings.js +10 -8
  125. package/dist/config/FormatSettings.js.map +1 -0
  126. package/dist/config/Icons.d.ts +30 -0
  127. package/dist/config/Icons.js +28 -32
  128. package/dist/config/Icons.js.map +1 -0
  129. package/dist/config/Language.d.ts +31 -0
  130. package/dist/config/Language.js +31 -43
  131. package/dist/config/Language.js.map +1 -0
  132. package/dist/config/NoConflict.d.ts +20 -0
  133. package/dist/config/NoConflict.js +40 -41
  134. package/dist/config/NoConflict.js.map +1 -0
  135. package/dist/config/RTL.d.ts +7 -0
  136. package/dist/config/RTL.js +23 -20
  137. package/dist/config/RTL.js.map +1 -0
  138. package/dist/config/Theme.d.ts +28 -0
  139. package/dist/config/Theme.js +34 -36
  140. package/dist/config/Theme.js.map +1 -0
  141. package/dist/config/ThemeRoots.d.ts +4 -0
  142. package/dist/config/ThemeRoots.js +18 -29
  143. package/dist/config/ThemeRoots.js.map +1 -0
  144. package/dist/decorators/customElement.d.ts +8 -0
  145. package/dist/decorators/customElement.js +16 -0
  146. package/dist/decorators/customElement.js.map +1 -0
  147. package/dist/decorators/event.d.ts +10 -0
  148. package/dist/decorators/event.js +24 -0
  149. package/dist/decorators/event.js.map +1 -0
  150. package/dist/decorators/fastNavigation.d.ts +7 -0
  151. package/dist/decorators/fastNavigation.js +13 -0
  152. package/dist/decorators/fastNavigation.js.map +1 -0
  153. package/dist/decorators/languageAware.d.ts +7 -0
  154. package/dist/decorators/languageAware.js +13 -0
  155. package/dist/decorators/languageAware.js.map +1 -0
  156. package/dist/decorators/property.d.ts +9 -0
  157. package/dist/decorators/property.js +24 -0
  158. package/dist/decorators/property.js.map +1 -0
  159. package/dist/decorators/slot.d.ts +9 -0
  160. package/dist/decorators/slot.js +37 -0
  161. package/dist/decorators/slot.js.map +1 -0
  162. package/dist/decorators/themeAware.d.ts +7 -0
  163. package/dist/decorators/themeAware.js +13 -0
  164. package/dist/decorators/themeAware.js.map +1 -0
  165. package/dist/delegate/ItemNavigation.d.ts +113 -0
  166. package/dist/delegate/ItemNavigation.js +277 -317
  167. package/dist/delegate/ItemNavigation.js.map +1 -0
  168. package/dist/delegate/ResizeHandler.d.ts +24 -0
  169. package/dist/delegate/ResizeHandler.js +68 -91
  170. package/dist/delegate/ResizeHandler.js.map +1 -0
  171. package/dist/delegate/ScrollEnablement.d.ts +48 -0
  172. package/dist/delegate/ScrollEnablement.js +157 -180
  173. package/dist/delegate/ScrollEnablement.js.map +1 -0
  174. package/dist/features/F6Navigation.d.ts +16 -0
  175. package/dist/features/F6Navigation.js +105 -109
  176. package/dist/features/F6Navigation.js.map +1 -0
  177. package/dist/features/OpenUI5Element.d.ts +9 -0
  178. package/dist/features/OpenUI5Element.js +5 -0
  179. package/dist/features/OpenUI5Element.js.map +1 -0
  180. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  181. package/dist/features/OpenUI5Enablement.js +89 -112
  182. package/dist/features/OpenUI5Enablement.js.map +1 -0
  183. package/dist/features/OpenUI5Support.d.ts +23 -0
  184. package/dist/features/OpenUI5Support.js +91 -120
  185. package/dist/features/OpenUI5Support.js.map +1 -0
  186. package/dist/generated/VersionInfo.js +4 -4
  187. package/dist/getSharedResource.d.ts +11 -0
  188. package/dist/getSharedResource.js +12 -16
  189. package/dist/getSharedResource.js.map +1 -0
  190. package/dist/i18nBundle.d.ts +43 -0
  191. package/dist/i18nBundle.js +56 -64
  192. package/dist/i18nBundle.js.map +1 -0
  193. package/dist/locale/Locale.d.ts +22 -0
  194. package/dist/locale/Locale.js +75 -87
  195. package/dist/locale/Locale.js.map +1 -0
  196. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  197. package/dist/locale/RTLAwareRegistry.js +6 -11
  198. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  199. package/dist/locale/applyDirection.d.ts +10 -0
  200. package/dist/locale/applyDirection.js +7 -7
  201. package/dist/locale/applyDirection.js.map +1 -0
  202. package/dist/locale/directionChange.d.ts +15 -0
  203. package/dist/locale/directionChange.js +7 -15
  204. package/dist/locale/directionChange.js.map +1 -0
  205. package/dist/locale/getEffectiveDir.d.ts +2 -0
  206. package/dist/locale/getEffectiveDir.js +20 -24
  207. package/dist/locale/getEffectiveDir.js.map +1 -0
  208. package/dist/locale/getLocale.d.ts +7 -0
  209. package/dist/locale/getLocale.js +26 -29
  210. package/dist/locale/getLocale.js.map +1 -0
  211. package/dist/locale/languageChange.d.ts +5 -0
  212. package/dist/locale/languageChange.js +8 -16
  213. package/dist/locale/languageChange.js.map +1 -0
  214. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  215. package/dist/locale/nextFallbackLocale.js +15 -19
  216. package/dist/locale/nextFallbackLocale.js.map +1 -0
  217. package/dist/locale/normalizeLocale.d.ts +7 -0
  218. package/dist/locale/normalizeLocale.js +34 -41
  219. package/dist/locale/normalizeLocale.js.map +1 -0
  220. package/dist/renderer/LitRenderer.d.ts +14 -0
  221. package/dist/renderer/LitRenderer.js +28 -39
  222. package/dist/renderer/LitRenderer.js.map +1 -0
  223. package/dist/renderer/executeTemplate.d.ts +13 -0
  224. package/dist/renderer/executeTemplate.js +12 -16
  225. package/dist/renderer/executeTemplate.js.map +1 -0
  226. package/dist/sap/base/Log.js +28 -29
  227. package/dist/sap/base/assert.js +5 -6
  228. package/dist/sap/base/security/URLListValidator.js +13 -2
  229. package/dist/theming/CustomStyle.d.ts +6 -0
  230. package/dist/theming/CustomStyle.js +29 -43
  231. package/dist/theming/CustomStyle.js.map +1 -0
  232. package/dist/theming/ThemeLoaded.d.ts +5 -0
  233. package/dist/theming/ThemeLoaded.js +8 -16
  234. package/dist/theming/ThemeLoaded.js.map +1 -0
  235. package/dist/theming/applyTheme.d.ts +2 -0
  236. package/dist/theming/applyTheme.js +59 -68
  237. package/dist/theming/applyTheme.js.map +1 -0
  238. package/dist/theming/getConstructableStyle.d.ts +9 -0
  239. package/dist/theming/getConstructableStyle.js +12 -17
  240. package/dist/theming/getConstructableStyle.js.map +1 -0
  241. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  242. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  243. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  244. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  245. package/dist/theming/getEffectiveStyle.js +24 -31
  246. package/dist/theming/getEffectiveStyle.js.map +1 -0
  247. package/dist/theming/getStylesString.d.ts +3 -0
  248. package/dist/theming/getStylesString.js +9 -13
  249. package/dist/theming/getStylesString.js.map +1 -0
  250. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  251. package/dist/theming/getThemeDesignerTheme.js +72 -79
  252. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  253. package/dist/theming/preloadLinks.d.ts +3 -0
  254. package/dist/theming/preloadLinks.js +13 -17
  255. package/dist/theming/preloadLinks.js.map +1 -0
  256. package/dist/thirdparty/_merge.d.ts +2 -0
  257. package/dist/thirdparty/_merge.js +7 -4
  258. package/dist/thirdparty/_merge.js.map +1 -0
  259. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  260. package/dist/thirdparty/isPlainObject.js +11 -10
  261. package/dist/thirdparty/isPlainObject.js.map +1 -0
  262. package/dist/thirdparty/merge.d.ts +2 -0
  263. package/dist/thirdparty/merge.js +4 -8
  264. package/dist/thirdparty/merge.js.map +1 -0
  265. package/dist/types/AnimationMode.d.ts +32 -0
  266. package/dist/types/AnimationMode.js +33 -6
  267. package/dist/types/AnimationMode.js.map +1 -0
  268. package/dist/types/CSSColor.d.ts +16 -0
  269. package/dist/types/CSSColor.js +6 -7
  270. package/dist/types/CSSColor.js.map +1 -0
  271. package/dist/types/CalendarType.d.ts +37 -0
  272. package/dist/types/CalendarType.js +33 -53
  273. package/dist/types/CalendarType.js.map +1 -0
  274. package/dist/types/DOMReference.d.ts +17 -0
  275. package/dist/types/DOMReference.js +12 -15
  276. package/dist/types/DOMReference.js.map +1 -0
  277. package/dist/types/DataType.d.ts +25 -0
  278. package/dist/types/DataType.js +33 -32
  279. package/dist/types/DataType.js.map +1 -0
  280. package/dist/types/Float.d.ts +18 -0
  281. package/dist/types/Float.js +9 -12
  282. package/dist/types/Float.js.map +1 -0
  283. package/dist/types/Integer.d.ts +18 -0
  284. package/dist/types/Integer.js +9 -11
  285. package/dist/types/Integer.js.map +1 -0
  286. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  287. package/dist/types/InvisibleMessageMode.js +19 -38
  288. package/dist/types/InvisibleMessageMode.js.map +1 -0
  289. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  290. package/dist/types/ItemNavigationBehavior.js +22 -12
  291. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  292. package/dist/types/NavigationMode.d.ts +32 -0
  293. package/dist/types/NavigationMode.js +33 -6
  294. package/dist/types/NavigationMode.js.map +1 -0
  295. package/dist/types/ValueState.d.ts +42 -0
  296. package/dist/types/ValueState.js +38 -58
  297. package/dist/types/ValueState.js.map +1 -0
  298. package/dist/types.d.ts +18 -0
  299. package/dist/types.js +2 -0
  300. package/dist/types.js.map +1 -0
  301. package/dist/updateShadowRoot.d.ts +8 -0
  302. package/dist/updateShadowRoot.js +21 -16
  303. package/dist/updateShadowRoot.js.map +1 -0
  304. package/dist/util/AriaLabelHelper.d.ts +6 -0
  305. package/dist/util/AriaLabelHelper.js +34 -46
  306. package/dist/util/AriaLabelHelper.js.map +1 -0
  307. package/dist/util/Caret.d.ts +7 -0
  308. package/dist/util/Caret.js +16 -25
  309. package/dist/util/Caret.js.map +1 -0
  310. package/dist/util/ColorConversion.d.ts +30 -0
  311. package/dist/util/ColorConversion.js +311 -372
  312. package/dist/util/ColorConversion.js.map +1 -0
  313. package/dist/util/FetchHelper.d.ts +3 -0
  314. package/dist/util/FetchHelper.js +19 -25
  315. package/dist/util/FetchHelper.js.map +1 -0
  316. package/dist/util/FocusableElements.d.ts +4 -0
  317. package/dist/util/FocusableElements.js +54 -71
  318. package/dist/util/FocusableElements.js.map +1 -0
  319. package/dist/util/HTMLSanitizer.d.ts +3 -0
  320. package/dist/util/HTMLSanitizer.js +4 -5
  321. package/dist/util/HTMLSanitizer.js.map +1 -0
  322. package/dist/util/InvisibleMessage.d.ts +10 -0
  323. package/dist/util/InvisibleMessage.js +40 -53
  324. package/dist/util/InvisibleMessage.js.map +1 -0
  325. package/dist/util/PopupUtils.d.ts +7 -0
  326. package/dist/util/PopupUtils.js +58 -77
  327. package/dist/util/PopupUtils.js.map +1 -0
  328. package/dist/util/SlotsHelper.d.ts +9 -0
  329. package/dist/util/SlotsHelper.js +22 -35
  330. package/dist/util/SlotsHelper.js.map +1 -0
  331. package/dist/util/StringHelper.d.ts +3 -0
  332. package/dist/util/StringHelper.js +17 -20
  333. package/dist/util/StringHelper.js.map +1 -0
  334. package/dist/util/TabbableElements.d.ts +17 -0
  335. package/dist/util/TabbableElements.js +53 -47
  336. package/dist/util/TabbableElements.js.map +1 -0
  337. package/dist/util/arraysAreEqual.d.ts +2 -0
  338. package/dist/util/arraysAreEqual.js +10 -12
  339. package/dist/util/arraysAreEqual.js.map +1 -0
  340. package/dist/util/clamp.d.ts +9 -0
  341. package/dist/util/clamp.js +2 -2
  342. package/dist/util/clamp.js.map +1 -0
  343. package/dist/util/createLinkInHead.d.ts +7 -0
  344. package/dist/util/createLinkInHead.js +14 -17
  345. package/dist/util/createLinkInHead.js.map +1 -0
  346. package/dist/util/createStyleInHead.d.ts +8 -0
  347. package/dist/util/createStyleInHead.js +10 -10
  348. package/dist/util/createStyleInHead.js.map +1 -0
  349. package/dist/util/debounce.d.ts +2 -0
  350. package/dist/util/debounce.js +6 -8
  351. package/dist/util/debounce.js.map +1 -0
  352. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  353. package/dist/util/detectNavigatorLanguage.js +7 -10
  354. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  355. package/dist/util/escapeRegex.d.ts +8 -0
  356. package/dist/util/escapeRegex.js +8 -7
  357. package/dist/util/escapeRegex.js.map +1 -0
  358. package/dist/util/formatMessage.d.ts +2 -0
  359. package/dist/util/formatMessage.js +15 -19
  360. package/dist/util/formatMessage.js.map +1 -0
  361. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  362. package/dist/util/generateHighlightedMarkup.js +26 -27
  363. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  364. package/dist/util/getActiveElement.d.ts +2 -0
  365. package/dist/util/getActiveElement.js +6 -8
  366. package/dist/util/getActiveElement.js.map +1 -0
  367. package/dist/util/getClassCopy.d.ts +400 -0
  368. package/dist/util/getClassCopy.js +7 -7
  369. package/dist/util/getClassCopy.js.map +1 -0
  370. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  371. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  372. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  373. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  374. package/dist/util/getEffectiveContentDensity.js +2 -3
  375. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  376. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  377. package/dist/util/getEffectiveScrollbarStyle.js +1 -2
  378. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  379. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  380. package/dist/util/getFastNavigationGroups.js +44 -56
  381. package/dist/util/getFastNavigationGroups.js.map +1 -0
  382. package/dist/util/getFileExtension.d.ts +12 -0
  383. package/dist/util/getFileExtension.js +9 -11
  384. package/dist/util/getFileExtension.js.map +1 -0
  385. package/dist/util/getNormalizedTarget.d.ts +7 -0
  386. package/dist/util/getNormalizedTarget.js +7 -9
  387. package/dist/util/getNormalizedTarget.js.map +1 -0
  388. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  389. package/dist/util/getSingletonElementInstance.js +7 -10
  390. package/dist/util/getSingletonElementInstance.js.map +1 -0
  391. package/dist/util/isElementClickable.d.ts +2 -0
  392. package/dist/util/isElementClickable.js +16 -0
  393. package/dist/util/isElementClickable.js.map +1 -0
  394. package/dist/util/isElementHidden.d.ts +2 -0
  395. package/dist/util/isElementHidden.js +8 -0
  396. package/dist/util/isElementHidden.js.map +1 -0
  397. package/dist/util/isElementInView.d.ts +6 -0
  398. package/dist/util/isElementInView.js +6 -9
  399. package/dist/util/isElementInView.js.map +1 -0
  400. package/dist/util/isElementTabbable.d.ts +9 -0
  401. package/dist/util/isElementTabbable.js +30 -0
  402. package/dist/util/isElementTabbable.js.map +1 -0
  403. package/dist/util/isValidPropertyName.d.ts +8 -0
  404. package/dist/util/isValidPropertyName.js +16 -17
  405. package/dist/util/isValidPropertyName.js.map +1 -0
  406. package/dist/util/whenDOMReady.d.ts +2 -0
  407. package/dist/util/whenDOMReady.js +11 -10
  408. package/dist/util/whenDOMReady.js.map +1 -0
  409. package/dist/util/willShowContent.d.ts +2 -0
  410. package/dist/util/willShowContent.js +7 -0
  411. package/dist/util/willShowContent.js.map +1 -0
  412. package/dist/validateThemeRoot.d.ts +2 -0
  413. package/dist/validateThemeRoot.js +41 -52
  414. package/dist/validateThemeRoot.js.map +1 -0
  415. package/global.d.ts +44 -0
  416. package/package-scripts.js +14 -5
  417. package/package.json +4 -4
  418. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  419. package/src/Boot.ts +61 -0
  420. package/src/{CSP.js → CSP.ts} +14 -7
  421. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  422. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  423. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  424. package/src/DOMObserver.ts +28 -0
  425. package/src/{Device.js → Device.ts} +17 -14
  426. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  427. package/src/FeaturesRegistry.ts +14 -0
  428. package/src/{FontFace.js → FontFace.ts} +3 -2
  429. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +33 -12
  430. package/src/Keys.ts +295 -0
  431. package/src/ManagedStyles.ts +92 -0
  432. package/src/MarkedEvents.ts +20 -0
  433. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  434. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  435. package/src/{Render.js → Render.ts} +25 -20
  436. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  437. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  438. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  439. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +26 -22
  440. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  441. package/src/{Theming.js → Theming.ts} +0 -0
  442. package/src/{UI5Element.js → UI5Element.ts} +263 -153
  443. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  444. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  445. package/src/animations/animate.ts +64 -0
  446. package/src/animations/scroll.ts +21 -0
  447. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  448. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  449. package/src/asset-registries/{Icons.js → Icons.ts} +63 -38
  450. package/src/asset-registries/Illustrations.ts +75 -0
  451. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +35 -21
  452. package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
  453. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  454. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  455. package/src/config/AnimationMode.ts +33 -0
  456. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  457. package/src/config/FormatSettings.ts +21 -0
  458. package/src/config/{Icons.js → Icons.ts} +19 -12
  459. package/src/config/{Language.js → Language.ts} +22 -18
  460. package/src/config/NoConflict.ts +67 -0
  461. package/src/config/{RTL.js → RTL.ts} +14 -4
  462. package/src/config/Theme.ts +64 -0
  463. package/src/config/{ThemeRoots.js → ThemeRoots.ts} +9 -7
  464. package/src/decorators/customElement.ts +17 -0
  465. package/src/decorators/event.ts +28 -0
  466. package/src/decorators/fastNavigation.ts +14 -0
  467. package/src/decorators/languageAware.ts +14 -0
  468. package/src/decorators/property.ts +30 -0
  469. package/src/decorators/slot.ts +49 -0
  470. package/src/decorators/themeAware.ts +14 -0
  471. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  472. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  473. package/src/delegate/ScrollEnablement.ts +221 -0
  474. package/src/features/{F6Navigation.js → F6Navigation.ts} +50 -25
  475. package/src/features/OpenUI5Element.ts +11 -0
  476. package/src/features/OpenUI5Enablement.ts +117 -0
  477. package/src/features/OpenUI5Support.ts +148 -0
  478. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  479. package/src/{i18nBundle.js → i18nBundle.ts} +45 -23
  480. package/src/locale/{Locale.js → Locale.ts} +15 -5
  481. package/src/locale/RTLAwareRegistry.ts +16 -0
  482. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  483. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  484. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  485. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  486. package/src/locale/languageChange.ts +24 -0
  487. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  488. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  489. package/src/renderer/LitRenderer.ts +60 -0
  490. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  491. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  492. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  493. package/src/theming/{applyTheme.js → applyTheme.ts} +16 -10
  494. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  495. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  496. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  497. package/src/theming/getStylesString.ts +15 -0
  498. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  499. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  500. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  501. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  502. package/src/thirdparty/merge.ts +5 -0
  503. package/src/types/AnimationMode.ts +33 -0
  504. package/src/types/{CSSColor.js → CSSColor.ts} +3 -3
  505. package/src/types/CalendarType.ts +38 -0
  506. package/src/types/{DOMReference.js → DOMReference.ts} +4 -4
  507. package/src/types/DataType.ts +51 -0
  508. package/src/types/{Float.js → Float.ts} +5 -5
  509. package/src/types/{Integer.js → Integer.ts} +5 -4
  510. package/src/types/InvisibleMessageMode.ts +27 -0
  511. package/src/types/ItemNavigationBehavior.ts +26 -0
  512. package/src/types/NavigationMode.ts +33 -0
  513. package/src/types/ValueState.ts +47 -0
  514. package/src/types.ts +30 -0
  515. package/src/updateShadowRoot.ts +37 -0
  516. package/src/util/AriaLabelHelper.ts +63 -0
  517. package/src/util/{Caret.js → Caret.ts} +5 -9
  518. package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
  519. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  520. package/src/util/FocusableElements.ts +82 -0
  521. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  522. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  523. package/src/util/PopupUtils.ts +112 -0
  524. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  525. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  526. package/src/util/TabbableElements.ts +70 -0
  527. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  528. package/src/util/{clamp.js → clamp.ts} +1 -1
  529. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +6 -5
  530. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  531. package/src/util/{debounce.js → debounce.ts} +5 -4
  532. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  533. package/src/util/escapeRegex.ts +11 -0
  534. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  535. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  536. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  537. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  538. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  539. package/src/util/getEffectiveContentDensity.ts +5 -0
  540. package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
  541. package/src/util/{getFastNavigationGroups.js → getFastNavigationGroups.ts} +10 -10
  542. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  543. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  544. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  545. package/src/util/isElementClickable.ts +19 -0
  546. package/src/util/isElementHidden.ts +9 -0
  547. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  548. package/src/util/isElementTabbable.ts +37 -0
  549. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  550. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  551. package/src/util/willShowContent.ts +7 -0
  552. package/src/{validateThemeRoot.js → validateThemeRoot.ts} +4 -4
  553. package/tsconfig.json +13 -0
  554. package/dist/RenderScheduler.js +0 -44
  555. package/dist/animations/config.js +0 -5
  556. package/dist/assets/bundle.esm.e2bd78ba.js +0 -55
  557. package/dist/types/CSSSize.js +0 -20
  558. package/dist/types/PopupState.js +0 -57
  559. package/dist/util/isDefaultSlotProvided.js +0 -11
  560. package/dist/util/isDescendantOf.js +0 -15
  561. package/dist/util/isNodeClickable.js +0 -19
  562. package/dist/util/isNodeHidden.js +0 -9
  563. package/dist/util/isNodeTabbable.js +0 -28
  564. package/dist/util/setToArray.js +0 -10
  565. package/src/Boot.js +0 -63
  566. package/src/DOMObserver.js +0 -65
  567. package/src/FeaturesRegistry.js +0 -14
  568. package/src/Keys.js +0 -295
  569. package/src/ManagedStyles.js +0 -83
  570. package/src/RenderScheduler.js +0 -44
  571. package/src/animations/animate.js +0 -53
  572. package/src/animations/config.js +0 -5
  573. package/src/animations/scroll.js +0 -28
  574. package/src/asset-registries/Illustrations.js +0 -59
  575. package/src/config/AnimationMode.js +0 -23
  576. package/src/config/FormatSettings.js +0 -13
  577. package/src/config/NoConflict.js +0 -51
  578. package/src/config/Theme.js +0 -53
  579. package/src/delegate/ScrollEnablement.js +0 -188
  580. package/src/features/OpenUI5Enablement.js +0 -119
  581. package/src/features/OpenUI5Support.js +0 -126
  582. package/src/locale/RTLAwareRegistry.js +0 -14
  583. package/src/locale/languageChange.js +0 -22
  584. package/src/renderer/LitRenderer.js +0 -52
  585. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  586. package/src/theming/getStylesString.js +0 -15
  587. package/src/thirdparty/merge.js +0 -10
  588. package/src/types/AnimationMode.js +0 -7
  589. package/src/types/CSSSize.js +0 -20
  590. package/src/types/CalendarType.js +0 -59
  591. package/src/types/DataType.js +0 -43
  592. package/src/types/InvisibleMessageMode.js +0 -46
  593. package/src/types/ItemNavigationBehavior.js +0 -16
  594. package/src/types/NavigationMode.js +0 -7
  595. package/src/types/PopupState.js +0 -57
  596. package/src/types/ValueState.js +0 -64
  597. package/src/updateShadowRoot.js +0 -29
  598. package/src/util/AriaLabelHelper.js +0 -56
  599. package/src/util/FocusableElements.js +0 -79
  600. package/src/util/PopupUtils.js +0 -93
  601. package/src/util/TabbableElements.js +0 -51
  602. package/src/util/escapeRegex.js +0 -10
  603. package/src/util/getEffectiveContentDensity.js +0 -5
  604. package/src/util/isDefaultSlotProvided.js +0 -11
  605. package/src/util/isDescendantOf.js +0 -15
  606. package/src/util/isNodeClickable.js +0 -19
  607. package/src/util/isNodeHidden.js +0 -9
  608. package/src/util/isNodeTabbable.js +0 -28
  609. package/src/util/setToArray.js +0 -10
@@ -1,17 +1,19 @@
1
1
  import EventProvider from "../EventProvider.js";
2
2
 
3
- const eventProvider = new EventProvider();
3
+ type ThemeLoadedCallback = (theme: string) => void;
4
+
5
+ const eventProvider = new EventProvider<string, void>();
4
6
  const THEME_LOADED = "themeLoaded";
5
7
 
6
- const attachThemeLoaded = listener => {
8
+ const attachThemeLoaded = (listener: ThemeLoadedCallback) => {
7
9
  eventProvider.attachEvent(THEME_LOADED, listener);
8
10
  };
9
11
 
10
- const detachThemeLoaded = listener => {
12
+ const detachThemeLoaded = (listener: ThemeLoadedCallback) => {
11
13
  eventProvider.detachEvent(THEME_LOADED, listener);
12
14
  };
13
15
 
14
- const fireThemeLoaded = theme => {
16
+ const fireThemeLoaded = (theme: string) => {
15
17
  return eventProvider.fireEvent(THEME_LOADED, theme);
16
18
  };
17
19
 
@@ -4,6 +4,8 @@ import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
4
4
  import { fireThemeLoaded } from "./ThemeLoaded.js";
5
5
  import { getFeature } from "../FeaturesRegistry.js";
6
6
  import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoots.js";
7
+ import type OpenUI5Support from "../features/OpenUI5Support.js";
8
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
7
9
 
8
10
  const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
9
11
 
@@ -12,7 +14,7 @@ const isThemeBaseRegistered = () => {
12
14
  return registeredPackages.has(BASE_THEME_PACKAGE);
13
15
  };
14
16
 
15
- const loadThemeBase = async theme => {
17
+ const loadThemeBase = async (theme: string) => {
16
18
  if (!isThemeBaseRegistered()) {
17
19
  return;
18
20
  }
@@ -27,9 +29,10 @@ const deleteThemeBase = () => {
27
29
  removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
28
30
  };
29
31
 
30
- const loadComponentPackages = async theme => {
32
+ const loadComponentPackages = async (theme: string) => {
31
33
  const registeredPackages = getRegisteredPackages();
32
- registeredPackages.forEach(async packageName => {
34
+
35
+ const packagesStylesPromises = [...registeredPackages].map(async packageName => {
33
36
  if (packageName === BASE_THEME_PACKAGE) {
34
37
  return;
35
38
  }
@@ -39,9 +42,11 @@ const loadComponentPackages = async theme => {
39
42
  createOrUpdateStyle(cssData, "data-ui5-theme-properties", packageName);
40
43
  }
41
44
  });
45
+
46
+ return Promise.all(packagesStylesPromises);
42
47
  };
43
48
 
44
- const detectExternalTheme = async theme => {
49
+ const detectExternalTheme = async (theme: string) => {
45
50
  // If theme designer theme is detected, use this
46
51
  const extTheme = getThemeDesignerTheme();
47
52
  if (extTheme) {
@@ -49,12 +54,13 @@ const detectExternalTheme = async theme => {
49
54
  }
50
55
 
51
56
  // If OpenUI5Support is enabled, try to find out if it loaded variables
52
- const OpenUI5Support = getFeature("OpenUI5Support");
53
- if (OpenUI5Support) {
54
- const varsLoaded = OpenUI5Support.cssVariablesLoaded();
57
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
58
+ if (openUI5Support) {
59
+ const varsLoaded = openUI5Support.cssVariablesLoaded();
55
60
  if (varsLoaded) {
56
61
  return {
57
- themeName: OpenUI5Support.getConfigurationSettingsObject().theme, // just themeName, baseThemeName is only relevant for custom themes
62
+ themeName: openUI5Support.getConfigurationSettingsObject()?.theme, // just themeName
63
+ baseThemeName: "", // baseThemeName is only relevant for custom themes
58
64
  };
59
65
  }
60
66
  } else if (getThemeRoot()) {
@@ -64,7 +70,7 @@ const detectExternalTheme = async theme => {
64
70
  }
65
71
  };
66
72
 
67
- const applyTheme = async theme => {
73
+ const applyTheme = async (theme: string) => {
68
74
  const extTheme = await detectExternalTheme(theme);
69
75
 
70
76
  // Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
@@ -76,7 +82,7 @@ const applyTheme = async theme => {
76
82
 
77
83
  // Always load component packages properties. For non-registered themes, try with the base theme, if any
78
84
  const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
79
- await loadComponentPackages(packagesTheme);
85
+ await loadComponentPackages(packagesTheme || DEFAULT_THEME);
80
86
 
81
87
  fireThemeLoaded(theme);
82
88
  };
@@ -1,9 +1,10 @@
1
1
  import getEffectiveStyle from "./getEffectiveStyle.js";
2
2
  import { attachCustomCSSChange } from "./CustomStyle.js";
3
+ import UI5Element from "../UI5Element.js";
3
4
 
4
- const constructableStyleMap = new Map();
5
+ const constructableStyleMap = new Map<string, Array<CSSStyleSheet>>();
5
6
 
6
- attachCustomCSSChange(tag => {
7
+ attachCustomCSSChange((tag: string) => {
7
8
  constructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
8
9
  });
9
10
 
@@ -13,7 +14,7 @@ attachCustomCSSChange(tag => {
13
14
  * @param ElementClass
14
15
  * @returns {*}
15
16
  */
16
- const getConstructableStyle = (ElementClass, forStaticArea = false) => {
17
+ const getConstructableStyle = (ElementClass: typeof UI5Element, forStaticArea = false) => {
17
18
  const tag = ElementClass.getMetadata().getTag();
18
19
  const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
19
20
 
@@ -24,7 +25,7 @@ const getConstructableStyle = (ElementClass, forStaticArea = false) => {
24
25
  constructableStyleMap.set(key, [style]);
25
26
  }
26
27
 
27
- return constructableStyleMap.get(key);
28
+ return constructableStyleMap.get(key)!;
28
29
  };
29
30
 
30
31
  export default getConstructableStyle;
@@ -0,0 +1,26 @@
1
+ import { getUrl } from "../CSP.js";
2
+ import { getFeature } from "../FeaturesRegistry.js";
3
+ import type UI5Element from "../UI5Element.js";
4
+ import type OpenUI5Enablement from "../features/OpenUI5Enablement.js";
5
+ import { ComponentStylesData, StyleDataCSP } from "../types.js";
6
+
7
+ const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
8
+
9
+ const getEffectiveLinksHrefs = (ElementClass: typeof UI5Element, forStaticArea = false) => {
10
+ const stylesData: ComponentStylesData = ElementClass[forStaticArea ? "staticAreaStyles" : "styles"];
11
+
12
+ if (!stylesData) {
13
+ return;
14
+ }
15
+
16
+ const stylesDataArray: ComponentStylesData = Array.isArray(stylesData) ? stylesData : [stylesData];
17
+
18
+ const openUI5Enablement = getFeature<typeof OpenUI5Enablement>("OpenUI5Enablement");
19
+ if (openUI5Enablement) {
20
+ stylesDataArray.push(openUI5Enablement.getBusyIndicatorStyles());
21
+ }
22
+
23
+ return stylesDataArray.flat(MAX_DEPTH_INHERITED_CLASSES).filter(data => !!data).map(data => getUrl((data as StyleDataCSP).packageName, (data as StyleDataCSP).fileName));
24
+ };
25
+
26
+ export default getEffectiveLinksHrefs;
@@ -1,24 +1,26 @@
1
1
  import { getCustomCSS, attachCustomCSSChange } from "./CustomStyle.js";
2
2
  import getStylesString from "./getStylesString.js";
3
3
  import { getFeature } from "../FeaturesRegistry.js";
4
+ import type UI5Element from "../UI5Element.js";
5
+ import OpenUI5Enablement from "../features/OpenUI5Enablement.js";
4
6
 
5
- const effectiveStyleMap = new Map();
7
+ const effectiveStyleMap = new Map<string, string>();
6
8
 
7
- attachCustomCSSChange(tag => {
9
+ attachCustomCSSChange((tag: string) => {
8
10
  effectiveStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
9
11
  });
10
12
 
11
- const getEffectiveStyle = (ElementClass, forStaticArea = false) => {
13
+ const getEffectiveStyle = (ElementClass: typeof UI5Element, forStaticArea = false) => {
12
14
  const tag = ElementClass.getMetadata().getTag();
13
15
  const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
14
- const OpenUI5Enablement = getFeature("OpenUI5Enablement");
16
+ const openUI5Enablement = getFeature<typeof OpenUI5Enablement>("OpenUI5Enablement");
15
17
 
16
18
  if (!effectiveStyleMap.has(key)) {
17
19
  let effectiveStyle;
18
20
  let busyIndicatorStyles = "";
19
21
 
20
- if (OpenUI5Enablement) {
21
- busyIndicatorStyles = getStylesString(OpenUI5Enablement.getBusyIndicatorStyles());
22
+ if (openUI5Enablement) {
23
+ busyIndicatorStyles = getStylesString(openUI5Enablement.getBusyIndicatorStyles());
22
24
  }
23
25
 
24
26
  if (forStaticArea) {
@@ -33,7 +35,7 @@ const getEffectiveStyle = (ElementClass, forStaticArea = false) => {
33
35
  effectiveStyleMap.set(key, effectiveStyle);
34
36
  }
35
37
 
36
- return effectiveStyleMap.get(key);
38
+ return effectiveStyleMap.get(key)!; // The key is guaranteed to exist
37
39
  };
38
40
 
39
41
  export default getEffectiveStyle;
@@ -0,0 +1,15 @@
1
+ import { ComponentStylesData, StyleData } from "../types.js";
2
+
3
+ const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
4
+
5
+ const getStylesString = (styles: ComponentStylesData) => {
6
+ if (Array.isArray(styles)) {
7
+ return (styles.filter(style => !!style).flat(MAX_DEPTH_INHERITED_CLASSES) as Array<StyleData>).map((style: StyleData) => {
8
+ return typeof style === "string" ? style : style.content;
9
+ }).join(" ");
10
+ }
11
+
12
+ return typeof styles === "string" ? styles : styles.content;
13
+ };
14
+
15
+ export default getStylesString;
@@ -1,4 +1,14 @@
1
- const warnings = new Set();
1
+ type ThemeDescriptor = {
2
+ themeName: string,
3
+ baseThemeName?: string,
4
+ };
5
+
6
+ type ThemeMetadata = {
7
+ Path: string,
8
+ Extends: Array<string>,
9
+ };
10
+
11
+ const warnings = new Set<string>();
2
12
 
3
13
  const getThemeMetadata = () => {
4
14
  // Check if the class was already applied, most commonly to the link/style tag with the CSS Variables
@@ -8,7 +18,7 @@ const getThemeMetadata = () => {
8
18
  }
9
19
 
10
20
  el = document.createElement("span");
11
- el.style.display = "none";
21
+ (el as HTMLSpanElement).style.display = "none";
12
22
 
13
23
  // Try with sapThemeMetaData-Base-baseLib first
14
24
  el.classList.add("sapThemeMetaData-Base-baseLib");
@@ -26,7 +36,7 @@ const getThemeMetadata = () => {
26
36
  return metadata;
27
37
  };
28
38
 
29
- const parseThemeMetadata = metadataString => {
39
+ const parseThemeMetadata = (metadataString: string) => {
30
40
  const params = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(metadataString);
31
41
  if (params && params.length >= 2) {
32
42
  let paramsString = params[1];
@@ -43,7 +53,7 @@ const parseThemeMetadata = metadataString => {
43
53
  }
44
54
  }
45
55
  try {
46
- return JSON.parse(paramsString);
56
+ return JSON.parse(paramsString) as ThemeMetadata;
47
57
  } catch (ex) {
48
58
  if (!warnings.has("parse")) {
49
59
  console.warn("Malformed theme metadata string, unable to parse JSON"); // eslint-disable-line
@@ -53,12 +63,12 @@ const parseThemeMetadata = metadataString => {
53
63
  }
54
64
  };
55
65
 
56
- const processThemeMetadata = metadata => {
66
+ const processThemeMetadata = (metadata: ThemeMetadata): ThemeDescriptor | undefined => {
57
67
  let themeName;
58
68
  let baseThemeName;
59
69
 
60
70
  try {
61
- themeName = metadata.Path.match(/\.([^.]+)\.css_variables$/)[1];
71
+ themeName = metadata.Path.match(/\.([^.]+)\.css_variables$/)![1];
62
72
  baseThemeName = metadata.Extends[0];
63
73
  } catch (ex) {
64
74
  if (!warnings.has("object")) {
@@ -74,14 +84,18 @@ const processThemeMetadata = metadata => {
74
84
  };
75
85
  };
76
86
 
77
- const getThemeDesignerTheme = () => {
87
+ const getThemeDesignerTheme = (): ThemeDescriptor | undefined => {
78
88
  const metadataString = getThemeMetadata();
79
89
  if (!metadataString || metadataString === "none") {
80
90
  return;
81
91
  }
82
92
 
83
93
  const metadata = parseThemeMetadata(metadataString);
84
- return processThemeMetadata(metadata);
94
+
95
+ if (metadata) {
96
+ return processThemeMetadata(metadata);
97
+ }
85
98
  };
86
99
 
87
100
  export default getThemeDesignerTheme;
101
+ export type { ThemeDescriptor };
@@ -1,10 +1,11 @@
1
1
  import getEffectiveLinksHrefs from "./getEffectiveLinksHrefs.js";
2
2
  import createLinkInHead from "../util/createLinkInHead.js";
3
3
  import { shouldUseLinks, shouldPreloadLinks } from "../CSP.js";
4
+ import type UI5Element from "../UI5Element.js";
4
5
 
5
- const preloaded = new Set();
6
+ const preloaded = new Set<string>();
6
7
 
7
- const preloadLinks = ElementClass => {
8
+ const preloadLinks = (ElementClass: typeof UI5Element) => {
8
9
  if (!shouldUseLinks() || !shouldPreloadLinks()) {
9
10
  return;
10
11
  }
@@ -1,6 +1,6 @@
1
1
  import isPlainObject from './isPlainObject.js';
2
2
  var oToken = Object.create(null);
3
- var fnMerge = function () {
3
+ var fnMerge = function (arg1?: any, arg2?: any, arg3?: any, arg4?: any) {
4
4
  var src, copyIsArray, copy, name, options, clone, target = arguments[2] || {}, i = 3, length = arguments.length, deep = arguments[0] || false, skipToken = arguments[1] ? undefined : oToken;
5
5
  if (typeof target !== 'object' && typeof target !== 'function') {
6
6
  target = {};
@@ -29,4 +29,4 @@ var fnMerge = function () {
29
29
  }
30
30
  return target;
31
31
  };
32
- export default fnMerge;
32
+ export default fnMerge;
@@ -3,7 +3,7 @@ var hasOwn = class2type.hasOwnProperty;
3
3
  var toString = class2type.toString;
4
4
  var fnToString = hasOwn.toString;
5
5
  var ObjectFunctionString = fnToString.call(Object);
6
- var fnIsPlainObject = function (obj) {
6
+ var fnIsPlainObject = function (obj: object) {
7
7
  var proto, Ctor;
8
8
  if (!obj || toString.call(obj) !== "[object Object]") {
9
9
  return false;
@@ -0,0 +1,5 @@
1
+ import _merge from './_merge.js';
2
+ const fnMerge = function (arg1?: any, arg2?: any) {
3
+ return _merge(true, false, ...arguments);
4
+ };
5
+ export default fnMerge;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Different types of AnimationMode.
3
+ *
4
+ * @class
5
+ * @enum {string}
6
+ * @public
7
+ * @author SAP SE
8
+ * @alias sap.ui.webc.base.types.AnimationMode
9
+ */
10
+ enum AnimationMode {
11
+ /**
12
+ * @public
13
+ * @type {Full}
14
+ */
15
+ Full = "full",
16
+ /**
17
+ * @public
18
+ * @type {Basic}
19
+ */
20
+ Basic = "basic",
21
+ /**
22
+ * @public
23
+ * @type {Minimal}
24
+ */
25
+ Minimal = "minimal",
26
+ /**
27
+ * @public
28
+ * @type {None}
29
+ */
30
+ None = "none",
31
+ }
32
+
33
+ export default AnimationMode;
@@ -4,15 +4,15 @@ import DataType from "./DataType.js";
4
4
  * @class
5
5
  * CSSColor data type.
6
6
  *
7
- * @extends sap.ui.webcomponents.base.types.DataType
7
+ * @extends sap.ui.webc.base.types.DataType
8
8
  * @constructor
9
9
  * @author SAP SE
10
- * @alias sap.ui.webcomponents.base.types.CSSColor
10
+ * @alias sap.ui.webc.base.types.CSSColor
11
11
  * @public
12
12
  * @enum {string}
13
13
  */
14
14
  class CSSColor extends DataType {
15
- static isValid(value) {
15
+ static override isValid(value: string) {
16
16
  return /^(#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})|rgb\(\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*(,\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*){2}\)|rgba\((\s*((1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))|([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*,){3}\s*(0(\.[0-9]+)?|1(\.0+)?)\s*\)|hsl\(\s*([0-2]?[0-9]?[0-9]|3([0-5][0-9]|60))\s*(,\s*(([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*){2}\)|hsla\(\s*([0-2]?[0-9]?[0-9]|3([0-5][0-9]|60))\s*,(\s*(([0-9]?[0-9](\.[0-9]+)?|100(\.0+)?)%)\s*,){2}\s*(0(\.[0-9]+)?|1(\.0+)?)\s*\)|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgrey|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|grey|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgrey|lightgreen|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silverskyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|transparent|inherit|)$/.test(value ); // eslint-disable-line
17
17
  }
18
18
  }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Different calendar types.
3
+ *
4
+ * @class
5
+ * @enum {string}
6
+ * @public
7
+ * @author SAP SE
8
+ * @alias sap.ui.webc.base.types.CalendarType
9
+ */
10
+ enum CalendarType {
11
+ /**
12
+ * @public
13
+ * @type {Gregorian}
14
+ */
15
+ Gregorian = "Gregorian",
16
+ /**
17
+ * @public
18
+ * @type {Islamic}
19
+ */
20
+ Islamic = "Islamic",
21
+ /**
22
+ * @public
23
+ * @type {Japanese}
24
+ */
25
+ Japanese = "Japanese",
26
+ /**
27
+ * @public
28
+ * @type {Buddhist}
29
+ */
30
+ Buddhist = "Buddhist",
31
+ /**
32
+ * @public
33
+ * @type {Persian}
34
+ */
35
+ Persian = "Persian",
36
+ }
37
+
38
+ export default CalendarType;
@@ -6,17 +6,17 @@ import DataType from "./DataType.js";
6
6
  * <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.
7
7
  *
8
8
  * @constructor
9
- * @extends sap.ui.webcomponents.base.types.DataType
9
+ * @extends sap.ui.webc.base.types.DataType
10
10
  * @author SAP SE
11
- * @alias sap.ui.webcomponents.base.types.DOMReference
11
+ * @alias sap.ui.webc.base.types.DOMReference
12
12
  * @public
13
13
  */
14
14
  class DOMReference extends DataType {
15
- static isValid(value) {
15
+ static override isValid(value: string | HTMLElement) {
16
16
  return (typeof value === "string" || value instanceof HTMLElement);
17
17
  }
18
18
 
19
- static propertyToAttribute(propertyValue) {
19
+ static override propertyToAttribute(propertyValue: string | HTMLElement) {
20
20
  if (propertyValue instanceof HTMLElement) {
21
21
  return null;
22
22
  }
@@ -0,0 +1,51 @@
1
+ import { PropertyValue } from "../UI5ElementMetadata.js";
2
+
3
+ /**
4
+ * Base class for all data types.
5
+ *
6
+ * @class
7
+ * @constructor
8
+ * @author SAP SE
9
+ * @alias sap.ui.webc.base.types.DataType
10
+ * @public
11
+ */
12
+ class DataType {
13
+ /**
14
+ * Checks if the value is valid for its data type.
15
+ * @public
16
+ * @abstract
17
+ * @returns {Boolean}
18
+ */
19
+ // eslint-disable-next-line
20
+ static isValid(value: any): boolean {
21
+ return false;
22
+ }
23
+
24
+ static attributeToProperty(attributeValue: string | null): PropertyValue {
25
+ return attributeValue;
26
+ }
27
+
28
+ static propertyToAttribute(propertyValue: PropertyValue): string | null {
29
+ return propertyValue === null ? null : String(propertyValue);
30
+ }
31
+
32
+ static valuesAreEqual(value1: any, value2: any) {
33
+ return value1 === value2;
34
+ }
35
+
36
+ static generateTypeAccessors(types: Record<string, string>) {
37
+ Object.keys(types).forEach(type => {
38
+ Object.defineProperty(this, type, {
39
+ get() {
40
+ return types[type];
41
+ },
42
+ });
43
+ });
44
+ }
45
+
46
+ static get isDataTypeClass() {
47
+ return true;
48
+ }
49
+ }
50
+
51
+ export default DataType;
@@ -1,3 +1,4 @@
1
+ import { PropertyValue } from "../UI5ElementMetadata.js";
1
2
  import DataType from "./DataType.js";
2
3
 
3
4
  /**
@@ -5,19 +6,18 @@ import DataType from "./DataType.js";
5
6
  * Float data type.
6
7
  *
7
8
  * @constructor
8
- * @extends sap.ui.webcomponents.base.types.DataType
9
+ * @extends sap.ui.webc.base.types.DataType
9
10
  * @author SAP SE
10
- * @alias sap.ui.webcomponents.base.types.Float
11
+ * @alias sap.ui.webc.base.types.Float
11
12
  * @public
12
13
  * @enum {number}
13
14
  */
14
15
  class Float extends DataType {
15
- static isValid(value) {
16
- // Assuming that integers are floats as well!
16
+ static override isValid(value: any) {
17
17
  return Number(value) === value;
18
18
  }
19
19
 
20
- static attributeToProperty(attributeValue) {
20
+ static override attributeToProperty(attributeValue: string): PropertyValue {
21
21
  return parseFloat(attributeValue);
22
22
  }
23
23
  }
@@ -1,3 +1,4 @@
1
+ import { PropertyValue } from "../UI5ElementMetadata.js";
1
2
  import DataType from "./DataType.js";
2
3
 
3
4
  /**
@@ -5,18 +6,18 @@ import DataType from "./DataType.js";
5
6
  * Integer data type.
6
7
  *
7
8
  * @constructor
8
- * @extends sap.ui.webcomponents.base.types.DataType
9
+ * @extends sap.ui.webc.base.types.DataType
9
10
  * @author SAP SE
10
- * @alias sap.ui.webcomponents.base.types.Integer
11
+ * @alias sap.ui.webc.base.types.Integer
11
12
  * @public
12
13
  * @enum {number}
13
14
  */
14
15
  class Integer extends DataType {
15
- static isValid(value) {
16
+ static override isValid(value: any) {
16
17
  return Number.isInteger(value);
17
18
  }
18
19
 
19
- static attributeToProperty(attributeValue) {
20
+ static override attributeToProperty(attributeValue: string): PropertyValue {
20
21
  return parseInt(attributeValue);
21
22
  }
22
23
  }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Enumeration for different mode behaviors of the InvisibleMessage.
3
+ *
4
+ * @class
5
+ * @enum {string}
6
+ * @public
7
+ * @author SAP SE
8
+ * @alias sap.ui.webc.base.types.InvisibleMessageMode
9
+ */
10
+ enum InvisibleMessageMode {
11
+ /**
12
+ * Indicates that updates to the region should be presented at the next graceful opportunity,
13
+ * such as at the end of reading the current sentence, or when the user pauses typing.
14
+ * @public
15
+ * @type {Polite}
16
+ */
17
+ Polite = "Polite",
18
+
19
+ /**
20
+ * Indicates that updates to the region have the highest priority and should be presented to the user immediately.
21
+ * @public
22
+ * @type {Assertive}
23
+ */
24
+ Assertive = "Assertive",
25
+ }
26
+
27
+ export default InvisibleMessageMode;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Different behavior for ItemNavigation.
3
+ *
4
+ * @class
5
+ * @enum {string}
6
+ * @public
7
+ * @author SAP SE
8
+ * @alias sap.ui.webc.base.types.ItemNavigationBehavior
9
+ */
10
+ enum ItemNavigationBehavior {
11
+ /**
12
+ * Static behavior: navigations stops at the first or last item.
13
+ * @public
14
+ * @type {Static}
15
+ */
16
+ Static = "Static",
17
+
18
+ /**
19
+ * Cycling behavior: navigating past the last item continues with the first and vice versa.
20
+ * @public
21
+ * @type {Cyclic}
22
+ */
23
+ Cyclic = "Cyclic",
24
+ }
25
+
26
+ export default ItemNavigationBehavior;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Different navigation modes for ItemNavigation.
3
+ *
4
+ * @class
5
+ * @enum {string}
6
+ * @public
7
+ * @author SAP SE
8
+ * @alias sap.ui.webc.base.types.NavigationMode
9
+ */
10
+ enum NavigationMode {
11
+ /**
12
+ * @public
13
+ * @type {Auto}
14
+ */
15
+ Auto = "Auto",
16
+ /**
17
+ * @public
18
+ * @type {Vertical}
19
+ */
20
+ Vertical = "Vertical",
21
+ /**
22
+ * @public
23
+ * @type {Horizontal}
24
+ */
25
+ Horizontal = "Horizontal",
26
+ /**
27
+ * @public
28
+ * @type {Paging}
29
+ */
30
+ Paging = "Paging",
31
+ }
32
+
33
+ export default NavigationMode;