@ui5/webcomponents-base 1.9.2 → 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 (608) hide show
  1. package/.eslintignore +1 -0
  2. package/bundle.esm.js +4 -1
  3. package/dist/AssetRegistry.d.ts +5 -0
  4. package/dist/AssetRegistry.js +2 -7
  5. package/dist/AssetRegistry.js.map +1 -0
  6. package/dist/Boot.d.ts +8 -0
  7. package/dist/Boot.js +29 -48
  8. package/dist/Boot.js.map +1 -0
  9. package/dist/CSP.d.ts +30 -0
  10. package/dist/CSP.js +16 -24
  11. package/dist/CSP.js.map +1 -0
  12. package/dist/CustomElementsRegistry.d.ts +5 -0
  13. package/dist/CustomElementsRegistry.js +66 -83
  14. package/dist/CustomElementsRegistry.js.map +1 -0
  15. package/dist/CustomElementsScope.d.ts +7 -0
  16. package/dist/CustomElementsScope.js +10 -29
  17. package/dist/CustomElementsScope.js.map +1 -0
  18. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  19. package/dist/CustomElementsScopeUtils.js +34 -52
  20. package/dist/CustomElementsScopeUtils.js.map +1 -0
  21. package/dist/DOMObserver.d.ts +11 -0
  22. package/dist/DOMObserver.js +12 -54
  23. package/dist/DOMObserver.js.map +1 -0
  24. package/dist/Device.d.ts +12 -0
  25. package/dist/Device.js +53 -83
  26. package/dist/Device.js.map +1 -0
  27. package/dist/EventProvider.d.ts +25 -0
  28. package/dist/EventProvider.js +67 -82
  29. package/dist/EventProvider.js.map +1 -0
  30. package/dist/FeaturesRegistry.d.ts +3 -0
  31. package/dist/FeaturesRegistry.js +5 -10
  32. package/dist/FeaturesRegistry.js.map +1 -0
  33. package/dist/FontFace.d.ts +2 -0
  34. package/dist/FontFace.js +14 -19
  35. package/dist/FontFace.js.map +1 -0
  36. package/dist/InitialConfiguration.d.ts +22 -0
  37. package/dist/InitialConfiguration.js +107 -146
  38. package/dist/InitialConfiguration.js.map +1 -0
  39. package/dist/Keys.d.ts +57 -0
  40. package/dist/Keys.js +174 -291
  41. package/dist/Keys.js.map +1 -0
  42. package/dist/ManagedStyles.d.ts +8 -0
  43. package/dist/ManagedStyles.js +62 -68
  44. package/dist/ManagedStyles.js.map +1 -0
  45. package/dist/MarkedEvents.d.ts +9 -0
  46. package/dist/MarkedEvents.js +15 -0
  47. package/dist/MarkedEvents.js.map +1 -0
  48. package/dist/MediaRange.d.ts +37 -0
  49. package/dist/MediaRange.js +54 -65
  50. package/dist/MediaRange.js.map +1 -0
  51. package/dist/PropertiesFileFormat.d.ts +8 -0
  52. package/dist/PropertiesFileFormat.js +72 -82
  53. package/dist/PropertiesFileFormat.js.map +1 -0
  54. package/dist/Render.d.ts +47 -0
  55. package/dist/Render.js +81 -113
  56. package/dist/Render.js.map +1 -0
  57. package/dist/RenderQueue.d.ts +19 -0
  58. package/dist/RenderQueue.js +52 -62
  59. package/dist/RenderQueue.js.map +1 -0
  60. package/dist/Runtimes.d.ts +27 -0
  61. package/dist/Runtimes.js +49 -70
  62. package/dist/Runtimes.js.map +1 -0
  63. package/dist/StaticArea.d.ts +0 -0
  64. package/dist/StaticArea.js +4 -1
  65. package/dist/StaticArea.js.map +1 -0
  66. package/dist/StaticAreaItem.d.ts +36 -0
  67. package/dist/StaticAreaItem.js +84 -94
  68. package/dist/StaticAreaItem.js.map +1 -0
  69. package/dist/SystemCSSVars.d.ts +2 -0
  70. package/dist/SystemCSSVars.js +4 -5
  71. package/dist/SystemCSSVars.js.map +1 -0
  72. package/dist/Theming.d.ts +3 -0
  73. package/dist/Theming.js +1 -1
  74. package/dist/Theming.js.map +1 -0
  75. package/dist/UI5Element.d.ts +373 -0
  76. package/dist/UI5Element.js +928 -1006
  77. package/dist/UI5Element.js.map +1 -0
  78. package/dist/UI5ElementMetadata.d.ts +150 -0
  79. package/dist/UI5ElementMetadata.js +277 -313
  80. package/dist/UI5ElementMetadata.js.map +1 -0
  81. package/dist/animations/AnimationQueue.d.ts +8 -0
  82. package/dist/animations/AnimationQueue.js +31 -38
  83. package/dist/animations/AnimationQueue.js.map +1 -0
  84. package/dist/animations/animate.d.ts +14 -0
  85. package/dist/animations/animate.js +46 -51
  86. package/dist/animations/animate.js.map +1 -0
  87. package/dist/animations/scroll.d.ts +5 -0
  88. package/dist/animations/scroll.js +18 -27
  89. package/dist/animations/scroll.js.map +1 -0
  90. package/dist/animations/slideDown.d.ts +5 -0
  91. package/dist/animations/slideDown.js +53 -78
  92. package/dist/animations/slideDown.js.map +1 -0
  93. package/dist/animations/slideUp.d.ts +5 -0
  94. package/dist/animations/slideUp.js +49 -70
  95. package/dist/animations/slideUp.js.map +1 -0
  96. package/dist/api.json +1 -1
  97. package/dist/asset-registries/Icons.d.ts +30 -0
  98. package/dist/asset-registries/Icons.js +85 -118
  99. package/dist/asset-registries/Icons.js.map +1 -0
  100. package/dist/asset-registries/Illustrations.d.ts +17 -0
  101. package/dist/asset-registries/Illustrations.js +37 -50
  102. package/dist/asset-registries/Illustrations.js.map +1 -0
  103. package/dist/asset-registries/LocaleData.d.ts +7 -0
  104. package/dist/asset-registries/LocaleData.js +104 -126
  105. package/dist/asset-registries/LocaleData.js.map +1 -0
  106. package/dist/asset-registries/Themes.d.ts +10 -0
  107. package/dist/asset-registries/Themes.js +36 -68
  108. package/dist/asset-registries/Themes.js.map +1 -0
  109. package/dist/asset-registries/i18n.d.ts +23 -0
  110. package/dist/asset-registries/i18n.js +52 -80
  111. package/dist/asset-registries/i18n.js.map +1 -0
  112. package/dist/assets/bundle.esm.3d967c4e.js +56 -0
  113. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  114. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  115. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  116. package/dist/config/AnimationMode.d.ts +14 -0
  117. package/dist/config/AnimationMode.js +21 -18
  118. package/dist/config/AnimationMode.js.map +1 -0
  119. package/dist/config/CalendarType.d.ts +8 -0
  120. package/dist/config/CalendarType.js +13 -12
  121. package/dist/config/CalendarType.js.map +1 -0
  122. package/dist/config/FormatSettings.d.ts +11 -0
  123. package/dist/config/FormatSettings.js +10 -8
  124. package/dist/config/FormatSettings.js.map +1 -0
  125. package/dist/config/Icons.d.ts +30 -0
  126. package/dist/config/Icons.js +28 -32
  127. package/dist/config/Icons.js.map +1 -0
  128. package/dist/config/Language.d.ts +31 -0
  129. package/dist/config/Language.js +31 -43
  130. package/dist/config/Language.js.map +1 -0
  131. package/dist/config/NoConflict.d.ts +20 -0
  132. package/dist/config/NoConflict.js +40 -41
  133. package/dist/config/NoConflict.js.map +1 -0
  134. package/dist/config/RTL.d.ts +7 -0
  135. package/dist/config/RTL.js +23 -20
  136. package/dist/config/RTL.js.map +1 -0
  137. package/dist/config/Theme.d.ts +28 -0
  138. package/dist/config/Theme.js +34 -36
  139. package/dist/config/Theme.js.map +1 -0
  140. package/dist/config/ThemeRoots.d.ts +4 -0
  141. package/dist/config/ThemeRoots.js +18 -29
  142. package/dist/config/ThemeRoots.js.map +1 -0
  143. package/dist/decorators/customElement.d.ts +8 -0
  144. package/dist/decorators/customElement.js +16 -0
  145. package/dist/decorators/customElement.js.map +1 -0
  146. package/dist/decorators/event.d.ts +10 -0
  147. package/dist/decorators/event.js +24 -0
  148. package/dist/decorators/event.js.map +1 -0
  149. package/dist/decorators/fastNavigation.d.ts +7 -0
  150. package/dist/decorators/fastNavigation.js +13 -0
  151. package/dist/decorators/fastNavigation.js.map +1 -0
  152. package/dist/decorators/languageAware.d.ts +7 -0
  153. package/dist/decorators/languageAware.js +13 -0
  154. package/dist/decorators/languageAware.js.map +1 -0
  155. package/dist/decorators/property.d.ts +9 -0
  156. package/dist/decorators/property.js +24 -0
  157. package/dist/decorators/property.js.map +1 -0
  158. package/dist/decorators/slot.d.ts +9 -0
  159. package/dist/decorators/slot.js +37 -0
  160. package/dist/decorators/slot.js.map +1 -0
  161. package/dist/decorators/themeAware.d.ts +7 -0
  162. package/dist/decorators/themeAware.js +13 -0
  163. package/dist/decorators/themeAware.js.map +1 -0
  164. package/dist/delegate/ItemNavigation.d.ts +113 -0
  165. package/dist/delegate/ItemNavigation.js +277 -317
  166. package/dist/delegate/ItemNavigation.js.map +1 -0
  167. package/dist/delegate/ResizeHandler.d.ts +24 -0
  168. package/dist/delegate/ResizeHandler.js +68 -91
  169. package/dist/delegate/ResizeHandler.js.map +1 -0
  170. package/dist/delegate/ScrollEnablement.d.ts +48 -0
  171. package/dist/delegate/ScrollEnablement.js +157 -180
  172. package/dist/delegate/ScrollEnablement.js.map +1 -0
  173. package/dist/features/F6Navigation.d.ts +16 -0
  174. package/dist/features/F6Navigation.js +105 -109
  175. package/dist/features/F6Navigation.js.map +1 -0
  176. package/dist/features/OpenUI5Element.d.ts +9 -0
  177. package/dist/features/OpenUI5Element.js +5 -0
  178. package/dist/features/OpenUI5Element.js.map +1 -0
  179. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  180. package/dist/features/OpenUI5Enablement.js +89 -112
  181. package/dist/features/OpenUI5Enablement.js.map +1 -0
  182. package/dist/features/OpenUI5Support.d.ts +23 -0
  183. package/dist/features/OpenUI5Support.js +91 -120
  184. package/dist/features/OpenUI5Support.js.map +1 -0
  185. package/dist/generated/VersionInfo.js +4 -4
  186. package/dist/getSharedResource.d.ts +11 -0
  187. package/dist/getSharedResource.js +12 -16
  188. package/dist/getSharedResource.js.map +1 -0
  189. package/dist/i18nBundle.d.ts +43 -0
  190. package/dist/i18nBundle.js +56 -64
  191. package/dist/i18nBundle.js.map +1 -0
  192. package/dist/locale/Locale.d.ts +22 -0
  193. package/dist/locale/Locale.js +75 -87
  194. package/dist/locale/Locale.js.map +1 -0
  195. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  196. package/dist/locale/RTLAwareRegistry.js +6 -11
  197. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  198. package/dist/locale/applyDirection.d.ts +10 -0
  199. package/dist/locale/applyDirection.js +7 -7
  200. package/dist/locale/applyDirection.js.map +1 -0
  201. package/dist/locale/directionChange.d.ts +15 -0
  202. package/dist/locale/directionChange.js +7 -15
  203. package/dist/locale/directionChange.js.map +1 -0
  204. package/dist/locale/getEffectiveDir.d.ts +2 -0
  205. package/dist/locale/getEffectiveDir.js +20 -24
  206. package/dist/locale/getEffectiveDir.js.map +1 -0
  207. package/dist/locale/getLocale.d.ts +7 -0
  208. package/dist/locale/getLocale.js +26 -29
  209. package/dist/locale/getLocale.js.map +1 -0
  210. package/dist/locale/languageChange.d.ts +5 -0
  211. package/dist/locale/languageChange.js +8 -16
  212. package/dist/locale/languageChange.js.map +1 -0
  213. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  214. package/dist/locale/nextFallbackLocale.js +15 -19
  215. package/dist/locale/nextFallbackLocale.js.map +1 -0
  216. package/dist/locale/normalizeLocale.d.ts +7 -0
  217. package/dist/locale/normalizeLocale.js +34 -41
  218. package/dist/locale/normalizeLocale.js.map +1 -0
  219. package/dist/renderer/LitRenderer.d.ts +14 -0
  220. package/dist/renderer/LitRenderer.js +28 -39
  221. package/dist/renderer/LitRenderer.js.map +1 -0
  222. package/dist/renderer/executeTemplate.d.ts +13 -0
  223. package/dist/renderer/executeTemplate.js +12 -16
  224. package/dist/renderer/executeTemplate.js.map +1 -0
  225. package/dist/sap/base/Log.js +28 -29
  226. package/dist/sap/base/assert.js +5 -6
  227. package/dist/sap/base/security/URLListValidator.js +13 -2
  228. package/dist/theming/CustomStyle.d.ts +6 -0
  229. package/dist/theming/CustomStyle.js +29 -43
  230. package/dist/theming/CustomStyle.js.map +1 -0
  231. package/dist/theming/ThemeLoaded.d.ts +5 -0
  232. package/dist/theming/ThemeLoaded.js +8 -16
  233. package/dist/theming/ThemeLoaded.js.map +1 -0
  234. package/dist/theming/applyTheme.d.ts +2 -0
  235. package/dist/theming/applyTheme.js +59 -68
  236. package/dist/theming/applyTheme.js.map +1 -0
  237. package/dist/theming/getConstructableStyle.d.ts +9 -0
  238. package/dist/theming/getConstructableStyle.js +12 -17
  239. package/dist/theming/getConstructableStyle.js.map +1 -0
  240. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  241. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  242. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  243. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  244. package/dist/theming/getEffectiveStyle.js +24 -31
  245. package/dist/theming/getEffectiveStyle.js.map +1 -0
  246. package/dist/theming/getStylesString.d.ts +3 -0
  247. package/dist/theming/getStylesString.js +9 -13
  248. package/dist/theming/getStylesString.js.map +1 -0
  249. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  250. package/dist/theming/getThemeDesignerTheme.js +72 -79
  251. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  252. package/dist/theming/preloadLinks.d.ts +3 -0
  253. package/dist/theming/preloadLinks.js +13 -17
  254. package/dist/theming/preloadLinks.js.map +1 -0
  255. package/dist/thirdparty/_merge.d.ts +2 -0
  256. package/dist/thirdparty/_merge.js +7 -4
  257. package/dist/thirdparty/_merge.js.map +1 -0
  258. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  259. package/dist/thirdparty/isPlainObject.js +11 -10
  260. package/dist/thirdparty/isPlainObject.js.map +1 -0
  261. package/dist/thirdparty/merge.d.ts +2 -0
  262. package/dist/thirdparty/merge.js +4 -8
  263. package/dist/thirdparty/merge.js.map +1 -0
  264. package/dist/types/AnimationMode.d.ts +32 -0
  265. package/dist/types/AnimationMode.js +33 -6
  266. package/dist/types/AnimationMode.js.map +1 -0
  267. package/dist/types/CSSColor.d.ts +16 -0
  268. package/dist/types/CSSColor.js +6 -7
  269. package/dist/types/CSSColor.js.map +1 -0
  270. package/dist/types/CalendarType.d.ts +37 -0
  271. package/dist/types/CalendarType.js +33 -53
  272. package/dist/types/CalendarType.js.map +1 -0
  273. package/dist/types/DOMReference.d.ts +17 -0
  274. package/dist/types/DOMReference.js +12 -15
  275. package/dist/types/DOMReference.js.map +1 -0
  276. package/dist/types/DataType.d.ts +25 -0
  277. package/dist/types/DataType.js +33 -32
  278. package/dist/types/DataType.js.map +1 -0
  279. package/dist/types/Float.d.ts +18 -0
  280. package/dist/types/Float.js +9 -12
  281. package/dist/types/Float.js.map +1 -0
  282. package/dist/types/Integer.d.ts +18 -0
  283. package/dist/types/Integer.js +9 -11
  284. package/dist/types/Integer.js.map +1 -0
  285. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  286. package/dist/types/InvisibleMessageMode.js +19 -38
  287. package/dist/types/InvisibleMessageMode.js.map +1 -0
  288. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  289. package/dist/types/ItemNavigationBehavior.js +22 -12
  290. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  291. package/dist/types/NavigationMode.d.ts +32 -0
  292. package/dist/types/NavigationMode.js +33 -6
  293. package/dist/types/NavigationMode.js.map +1 -0
  294. package/dist/types/ValueState.d.ts +42 -0
  295. package/dist/types/ValueState.js +38 -58
  296. package/dist/types/ValueState.js.map +1 -0
  297. package/dist/types.d.ts +18 -0
  298. package/dist/types.js +2 -0
  299. package/dist/types.js.map +1 -0
  300. package/dist/updateShadowRoot.d.ts +8 -0
  301. package/dist/updateShadowRoot.js +21 -16
  302. package/dist/updateShadowRoot.js.map +1 -0
  303. package/dist/util/AriaLabelHelper.d.ts +6 -0
  304. package/dist/util/AriaLabelHelper.js +34 -46
  305. package/dist/util/AriaLabelHelper.js.map +1 -0
  306. package/dist/util/Caret.d.ts +7 -0
  307. package/dist/util/Caret.js +16 -25
  308. package/dist/util/Caret.js.map +1 -0
  309. package/dist/util/ColorConversion.d.ts +30 -0
  310. package/dist/util/ColorConversion.js +311 -372
  311. package/dist/util/ColorConversion.js.map +1 -0
  312. package/dist/util/FetchHelper.d.ts +3 -0
  313. package/dist/util/FetchHelper.js +19 -25
  314. package/dist/util/FetchHelper.js.map +1 -0
  315. package/dist/util/FocusableElements.d.ts +4 -0
  316. package/dist/util/FocusableElements.js +54 -71
  317. package/dist/util/FocusableElements.js.map +1 -0
  318. package/dist/util/HTMLSanitizer.d.ts +3 -0
  319. package/dist/util/HTMLSanitizer.js +4 -5
  320. package/dist/util/HTMLSanitizer.js.map +1 -0
  321. package/dist/util/InvisibleMessage.d.ts +10 -0
  322. package/dist/util/InvisibleMessage.js +40 -53
  323. package/dist/util/InvisibleMessage.js.map +1 -0
  324. package/dist/util/PopupUtils.d.ts +7 -0
  325. package/dist/util/PopupUtils.js +58 -77
  326. package/dist/util/PopupUtils.js.map +1 -0
  327. package/dist/util/SlotsHelper.d.ts +9 -0
  328. package/dist/util/SlotsHelper.js +22 -35
  329. package/dist/util/SlotsHelper.js.map +1 -0
  330. package/dist/util/StringHelper.d.ts +3 -0
  331. package/dist/util/StringHelper.js +17 -20
  332. package/dist/util/StringHelper.js.map +1 -0
  333. package/dist/util/TabbableElements.d.ts +17 -0
  334. package/dist/util/TabbableElements.js +53 -47
  335. package/dist/util/TabbableElements.js.map +1 -0
  336. package/dist/util/arraysAreEqual.d.ts +2 -0
  337. package/dist/util/arraysAreEqual.js +10 -12
  338. package/dist/util/arraysAreEqual.js.map +1 -0
  339. package/dist/util/clamp.d.ts +9 -0
  340. package/dist/util/clamp.js +2 -2
  341. package/dist/util/clamp.js.map +1 -0
  342. package/dist/util/createLinkInHead.d.ts +7 -0
  343. package/dist/util/createLinkInHead.js +14 -17
  344. package/dist/util/createLinkInHead.js.map +1 -0
  345. package/dist/util/createStyleInHead.d.ts +8 -0
  346. package/dist/util/createStyleInHead.js +10 -10
  347. package/dist/util/createStyleInHead.js.map +1 -0
  348. package/dist/util/debounce.d.ts +2 -0
  349. package/dist/util/debounce.js +6 -8
  350. package/dist/util/debounce.js.map +1 -0
  351. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  352. package/dist/util/detectNavigatorLanguage.js +7 -10
  353. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  354. package/dist/util/escapeRegex.d.ts +8 -0
  355. package/dist/util/escapeRegex.js +8 -7
  356. package/dist/util/escapeRegex.js.map +1 -0
  357. package/dist/util/formatMessage.d.ts +2 -0
  358. package/dist/util/formatMessage.js +15 -19
  359. package/dist/util/formatMessage.js.map +1 -0
  360. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  361. package/dist/util/generateHighlightedMarkup.js +26 -27
  362. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  363. package/dist/util/getActiveElement.d.ts +2 -0
  364. package/dist/util/getActiveElement.js +6 -8
  365. package/dist/util/getActiveElement.js.map +1 -0
  366. package/dist/util/getClassCopy.d.ts +400 -0
  367. package/dist/util/getClassCopy.js +7 -7
  368. package/dist/util/getClassCopy.js.map +1 -0
  369. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  370. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  371. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  372. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  373. package/dist/util/getEffectiveContentDensity.js +2 -3
  374. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  375. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  376. package/dist/util/getEffectiveScrollbarStyle.js +1 -2
  377. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  378. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  379. package/dist/util/getFastNavigationGroups.js +44 -56
  380. package/dist/util/getFastNavigationGroups.js.map +1 -0
  381. package/dist/util/getFileExtension.d.ts +12 -0
  382. package/dist/util/getFileExtension.js +9 -11
  383. package/dist/util/getFileExtension.js.map +1 -0
  384. package/dist/util/getNormalizedTarget.d.ts +7 -0
  385. package/dist/util/getNormalizedTarget.js +7 -9
  386. package/dist/util/getNormalizedTarget.js.map +1 -0
  387. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  388. package/dist/util/getSingletonElementInstance.js +7 -10
  389. package/dist/util/getSingletonElementInstance.js.map +1 -0
  390. package/dist/util/isElementClickable.d.ts +2 -0
  391. package/dist/util/isElementClickable.js +16 -0
  392. package/dist/util/isElementClickable.js.map +1 -0
  393. package/dist/util/isElementHidden.d.ts +2 -0
  394. package/dist/util/isElementHidden.js +8 -0
  395. package/dist/util/isElementHidden.js.map +1 -0
  396. package/dist/util/isElementInView.d.ts +6 -0
  397. package/dist/util/isElementInView.js +6 -9
  398. package/dist/util/isElementInView.js.map +1 -0
  399. package/dist/util/isElementTabbable.d.ts +9 -0
  400. package/dist/util/isElementTabbable.js +30 -0
  401. package/dist/util/isElementTabbable.js.map +1 -0
  402. package/dist/util/isValidPropertyName.d.ts +8 -0
  403. package/dist/util/isValidPropertyName.js +16 -17
  404. package/dist/util/isValidPropertyName.js.map +1 -0
  405. package/dist/util/whenDOMReady.d.ts +2 -0
  406. package/dist/util/whenDOMReady.js +11 -10
  407. package/dist/util/whenDOMReady.js.map +1 -0
  408. package/dist/util/willShowContent.d.ts +2 -0
  409. package/dist/util/willShowContent.js +7 -0
  410. package/dist/util/willShowContent.js.map +1 -0
  411. package/dist/validateThemeRoot.d.ts +2 -0
  412. package/dist/validateThemeRoot.js +41 -52
  413. package/dist/validateThemeRoot.js.map +1 -0
  414. package/global.d.ts +44 -0
  415. package/package-scripts.js +14 -5
  416. package/package.json +4 -4
  417. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  418. package/src/Boot.ts +61 -0
  419. package/src/{CSP.js → CSP.ts} +14 -7
  420. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  421. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  422. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  423. package/src/DOMObserver.ts +28 -0
  424. package/src/{Device.js → Device.ts} +17 -14
  425. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  426. package/src/FeaturesRegistry.ts +14 -0
  427. package/src/{FontFace.js → FontFace.ts} +3 -2
  428. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +33 -12
  429. package/src/Keys.ts +295 -0
  430. package/src/ManagedStyles.ts +92 -0
  431. package/src/MarkedEvents.ts +20 -0
  432. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  433. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  434. package/src/{Render.js → Render.ts} +25 -20
  435. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  436. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  437. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  438. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +26 -22
  439. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  440. package/src/{Theming.js → Theming.ts} +0 -0
  441. package/src/{UI5Element.js → UI5Element.ts} +263 -153
  442. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  443. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  444. package/src/animations/animate.ts +64 -0
  445. package/src/animations/scroll.ts +21 -0
  446. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  447. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  448. package/src/asset-registries/{Icons.js → Icons.ts} +63 -38
  449. package/src/asset-registries/Illustrations.ts +75 -0
  450. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +35 -21
  451. package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
  452. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  453. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  454. package/src/config/AnimationMode.ts +33 -0
  455. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  456. package/src/config/FormatSettings.ts +21 -0
  457. package/src/config/{Icons.js → Icons.ts} +19 -12
  458. package/src/config/{Language.js → Language.ts} +22 -18
  459. package/src/config/NoConflict.ts +67 -0
  460. package/src/config/{RTL.js → RTL.ts} +14 -4
  461. package/src/config/Theme.ts +64 -0
  462. package/src/config/{ThemeRoots.js → ThemeRoots.ts} +9 -7
  463. package/src/decorators/customElement.ts +17 -0
  464. package/src/decorators/event.ts +28 -0
  465. package/src/decorators/fastNavigation.ts +14 -0
  466. package/src/decorators/languageAware.ts +14 -0
  467. package/src/decorators/property.ts +30 -0
  468. package/src/decorators/slot.ts +49 -0
  469. package/src/decorators/themeAware.ts +14 -0
  470. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  471. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  472. package/src/delegate/ScrollEnablement.ts +221 -0
  473. package/src/features/{F6Navigation.js → F6Navigation.ts} +50 -25
  474. package/src/features/OpenUI5Element.ts +11 -0
  475. package/src/features/OpenUI5Enablement.ts +117 -0
  476. package/src/features/OpenUI5Support.ts +148 -0
  477. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  478. package/src/{i18nBundle.js → i18nBundle.ts} +45 -23
  479. package/src/locale/{Locale.js → Locale.ts} +15 -5
  480. package/src/locale/RTLAwareRegistry.ts +16 -0
  481. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  482. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  483. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  484. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  485. package/src/locale/languageChange.ts +24 -0
  486. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  487. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  488. package/src/renderer/LitRenderer.ts +60 -0
  489. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  490. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  491. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  492. package/src/theming/{applyTheme.js → applyTheme.ts} +16 -10
  493. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  494. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  495. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  496. package/src/theming/getStylesString.ts +15 -0
  497. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  498. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  499. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  500. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  501. package/src/thirdparty/merge.ts +5 -0
  502. package/src/types/AnimationMode.ts +33 -0
  503. package/src/types/{CSSColor.js → CSSColor.ts} +3 -3
  504. package/src/types/CalendarType.ts +38 -0
  505. package/src/types/{DOMReference.js → DOMReference.ts} +4 -4
  506. package/src/types/DataType.ts +51 -0
  507. package/src/types/{Float.js → Float.ts} +5 -5
  508. package/src/types/{Integer.js → Integer.ts} +5 -4
  509. package/src/types/InvisibleMessageMode.ts +27 -0
  510. package/src/types/ItemNavigationBehavior.ts +26 -0
  511. package/src/types/NavigationMode.ts +33 -0
  512. package/src/types/ValueState.ts +47 -0
  513. package/src/types.ts +30 -0
  514. package/src/updateShadowRoot.ts +37 -0
  515. package/src/util/AriaLabelHelper.ts +63 -0
  516. package/src/util/{Caret.js → Caret.ts} +5 -9
  517. package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
  518. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  519. package/src/util/FocusableElements.ts +82 -0
  520. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  521. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  522. package/src/util/PopupUtils.ts +112 -0
  523. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  524. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  525. package/src/util/TabbableElements.ts +70 -0
  526. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  527. package/src/util/{clamp.js → clamp.ts} +1 -1
  528. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +6 -5
  529. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  530. package/src/util/{debounce.js → debounce.ts} +5 -4
  531. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  532. package/src/util/escapeRegex.ts +11 -0
  533. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  534. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  535. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  536. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  537. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  538. package/src/util/getEffectiveContentDensity.ts +5 -0
  539. package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
  540. package/src/util/{getFastNavigationGroups.js → getFastNavigationGroups.ts} +10 -10
  541. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  542. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  543. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  544. package/src/util/isElementClickable.ts +19 -0
  545. package/src/util/isElementHidden.ts +9 -0
  546. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  547. package/src/util/isElementTabbable.ts +37 -0
  548. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  549. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  550. package/src/util/willShowContent.ts +7 -0
  551. package/src/{validateThemeRoot.js → validateThemeRoot.ts} +4 -4
  552. package/tsconfig.json +13 -0
  553. package/dist/RenderScheduler.js +0 -44
  554. package/dist/animations/config.js +0 -5
  555. package/dist/assets/bundle.esm.383d9c8a.js +0 -55
  556. package/dist/types/CSSSize.js +0 -20
  557. package/dist/types/PopupState.js +0 -57
  558. package/dist/util/isDefaultSlotProvided.js +0 -11
  559. package/dist/util/isDescendantOf.js +0 -15
  560. package/dist/util/isNodeClickable.js +0 -19
  561. package/dist/util/isNodeHidden.js +0 -9
  562. package/dist/util/isNodeTabbable.js +0 -28
  563. package/dist/util/setToArray.js +0 -10
  564. package/src/Boot.js +0 -63
  565. package/src/DOMObserver.js +0 -65
  566. package/src/FeaturesRegistry.js +0 -14
  567. package/src/Keys.js +0 -295
  568. package/src/ManagedStyles.js +0 -83
  569. package/src/RenderScheduler.js +0 -44
  570. package/src/animations/animate.js +0 -53
  571. package/src/animations/config.js +0 -5
  572. package/src/animations/scroll.js +0 -28
  573. package/src/asset-registries/Illustrations.js +0 -59
  574. package/src/config/AnimationMode.js +0 -23
  575. package/src/config/FormatSettings.js +0 -13
  576. package/src/config/NoConflict.js +0 -51
  577. package/src/config/Theme.js +0 -53
  578. package/src/delegate/ScrollEnablement.js +0 -188
  579. package/src/features/OpenUI5Enablement.js +0 -119
  580. package/src/features/OpenUI5Support.js +0 -126
  581. package/src/locale/RTLAwareRegistry.js +0 -14
  582. package/src/locale/languageChange.js +0 -22
  583. package/src/renderer/LitRenderer.js +0 -52
  584. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  585. package/src/theming/getStylesString.js +0 -15
  586. package/src/thirdparty/merge.js +0 -10
  587. package/src/types/AnimationMode.js +0 -7
  588. package/src/types/CSSSize.js +0 -20
  589. package/src/types/CalendarType.js +0 -59
  590. package/src/types/DataType.js +0 -43
  591. package/src/types/InvisibleMessageMode.js +0 -46
  592. package/src/types/ItemNavigationBehavior.js +0 -16
  593. package/src/types/NavigationMode.js +0 -7
  594. package/src/types/PopupState.js +0 -57
  595. package/src/types/ValueState.js +0 -64
  596. package/src/updateShadowRoot.js +0 -29
  597. package/src/util/AriaLabelHelper.js +0 -56
  598. package/src/util/FocusableElements.js +0 -79
  599. package/src/util/PopupUtils.js +0 -93
  600. package/src/util/TabbableElements.js +0 -51
  601. package/src/util/escapeRegex.js +0 -10
  602. package/src/util/getEffectiveContentDensity.js +0 -5
  603. package/src/util/isDefaultSlotProvided.js +0 -11
  604. package/src/util/isDescendantOf.js +0 -15
  605. package/src/util/isNodeClickable.js +0 -19
  606. package/src/util/isNodeHidden.js +0 -9
  607. package/src/util/isNodeTabbable.js +0 -28
  608. package/src/util/setToArray.js +0 -10
@@ -3,14 +3,12 @@
3
3
  * @param {Object} target The original event target
4
4
  * @returns {Object} The normalized target
5
5
  */
6
- const getNormalizedTarget = target => {
7
- let element = target;
8
-
9
- if (target.shadowRoot && target.shadowRoot.activeElement) {
10
- element = target.shadowRoot.activeElement;
11
- }
12
-
13
- return element;
6
+ const getNormalizedTarget = (target) => {
7
+ let element = target;
8
+ if (target.shadowRoot && target.shadowRoot.activeElement) {
9
+ element = target.shadowRoot.activeElement;
10
+ }
11
+ return element;
14
12
  };
15
-
16
13
  export default getNormalizedTarget;
14
+ //# sourceMappingURL=getNormalizedTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNormalizedTarget.js","sourceRoot":"","sources":["../../src/util/getNormalizedTarget.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAE,EAAE;IACnD,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE;QACzD,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,aAA4B,CAAC;KACzD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const getSingletonElementInstance: (tag: string, parentElement?: HTMLElement) => Element;
2
+ export default getSingletonElementInstance;
@@ -1,13 +1,10 @@
1
1
  const getSingletonElementInstance = (tag, parentElement = document.body) => {
2
- let el = document.querySelector(tag);
3
-
4
- if (el) {
5
- return el;
6
- }
7
-
8
- el = document.createElement(tag);
9
-
10
- return parentElement.insertBefore(el, parentElement.firstChild);
2
+ let el = document.querySelector(tag);
3
+ if (el) {
4
+ return el;
5
+ }
6
+ el = document.createElement(tag);
7
+ return parentElement.insertBefore(el, parentElement.firstChild);
11
8
  };
12
-
13
9
  export default getSingletonElementInstance;
10
+ //# sourceMappingURL=getSingletonElementInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSingletonElementInstance.js","sourceRoot":"","sources":["../../src/util/getSingletonElementInstance.ts"],"names":[],"mappings":"AAAA,MAAM,2BAA2B,GAAG,CAAC,GAAW,EAAE,gBAA6B,QAAQ,CAAC,IAAI,EAAE,EAAE;IAC/F,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,EAAE,EAAE;QACP,OAAO,EAAE,CAAC;KACV;IAED,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const isElementClickable: (el: HTMLElement) => boolean;
2
+ export default isElementClickable;
@@ -0,0 +1,16 @@
1
+ const rClickable = /^(?:a|area)$/i;
2
+ const rFocusable = /^(?:input|select|textarea|button)$/i;
3
+ const isElementClickable = (el) => {
4
+ if (el.disabled) {
5
+ return false;
6
+ }
7
+ const tabIndex = el.getAttribute("tabindex");
8
+ if (tabIndex !== null && tabIndex !== undefined) {
9
+ return parseInt(tabIndex) >= 0;
10
+ }
11
+ return rFocusable.test(el.nodeName)
12
+ || (rClickable.test(el.nodeName)
13
+ && !!el.href);
14
+ };
15
+ export default isElementClickable;
16
+ //# sourceMappingURL=isElementClickable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementClickable.js","sourceRoot":"","sources":["../../src/util/isElementClickable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,EAAe,EAAW,EAAE;IACvD,IAAK,EAAwB,CAAC,QAAQ,EAAE;QACvC,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;WAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;eAC7B,CAAC,CAAE,EAAsB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const isElementHidden: (el: HTMLElement) => boolean;
2
+ export default isElementHidden;
@@ -0,0 +1,8 @@
1
+ const isElementHidden = (el) => {
2
+ if (el.nodeName === "SLOT") {
3
+ return false;
4
+ }
5
+ return (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === "hidden");
6
+ };
7
+ export default isElementHidden;
8
+ //# sourceMappingURL=isElementHidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementHidden.js","sourceRoot":"","sources":["../../src/util/isElementHidden.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAC;KACb;IAED,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;AACxG,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determines if the element is within the viewport.
3
+ * @param el {HTMLElement}
4
+ */
5
+ declare const isElementInView: (el: HTMLElement) => boolean;
6
+ export default isElementInView;
@@ -2,14 +2,11 @@
2
2
  * Determines if the element is within the viewport.
3
3
  * @param el {HTMLElement}
4
4
  */
5
- const isElementInView = el => {
6
- const rect = el.getBoundingClientRect();
7
-
8
- return (
9
- rect.top >= 0 && rect.left >= 0
10
- && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
11
- && rect.right <= (window.innerWidth || document.documentElement.clientWidth)
12
- );
5
+ const isElementInView = (el) => {
6
+ const rect = el.getBoundingClientRect();
7
+ return (rect.top >= 0 && rect.left >= 0
8
+ && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
9
+ && rect.right <= (window.innerWidth || document.documentElement.clientWidth));
13
10
  };
14
-
15
11
  export default isElementInView;
12
+ //# sourceMappingURL=isElementInView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementInView.js","sourceRoot":"","sources":["../../src/util/isElementInView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;IAExC,OAAO,CACN,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;WAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;WAC5E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAC7E,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns if the HTMLElement is tabbable.
3
+ *
4
+ * @public
5
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
6
+ * @returns { boolean } true if the element is tabbable or false - if not
7
+ */
8
+ declare const isElementTabbable: (el: HTMLElement) => boolean;
9
+ export default isElementTabbable;
@@ -0,0 +1,30 @@
1
+ import isElementHidden from "./isElementHidden.js";
2
+ /**
3
+ * Returns if the HTMLElement is tabbable.
4
+ *
5
+ * @public
6
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
7
+ * @returns { boolean } true if the element is tabbable or false - if not
8
+ */
9
+ const isElementTabbable = (el) => {
10
+ if (!el) {
11
+ return false;
12
+ }
13
+ const nodeName = el.nodeName.toLowerCase();
14
+ if (el.hasAttribute("data-sap-no-tab-ref")) {
15
+ return false;
16
+ }
17
+ if (isElementHidden(el)) {
18
+ return false;
19
+ }
20
+ const tabIndex = el.getAttribute("tabindex");
21
+ if (tabIndex !== null && tabIndex !== undefined) {
22
+ return parseInt(tabIndex) >= 0;
23
+ }
24
+ if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
25
+ return !el.disabled;
26
+ }
27
+ return false;
28
+ };
29
+ export default isElementTabbable;
30
+ //# sourceMappingURL=isElementTabbable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementTabbable.js","sourceRoot":"","sources":["../../src/util/isElementTabbable.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,EAAe,EAAW,EAAE;IACtD,IAAI,CAAC,EAAE,EAAE;QACR,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC;KACb;IAED,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,IAAI,QAAQ,KAAK,GAAG,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7E,OAAO,CAAE,EAAsB,CAAC,QAAQ,CAAC;KACzC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Checks whether a property name is valid (does not collide with existing DOM API properties)
3
+ *
4
+ * @param name
5
+ * @returns {boolean}
6
+ */
7
+ declare const isValidPropertyName: (name: string) => boolean;
8
+ export default isValidPropertyName;
@@ -1,29 +1,28 @@
1
1
  // Note: disabled is present in IE so we explicitly allow it here.
2
2
  // Others, such as title/hidden, we explicitly override, so valid too
3
3
  const allowList = [
4
- "disabled",
5
- "title",
6
- "hidden",
7
- "role",
8
- "draggable",
4
+ "disabled",
5
+ "title",
6
+ "hidden",
7
+ "role",
8
+ "draggable",
9
9
  ];
10
-
11
10
  /**
12
11
  * Checks whether a property name is valid (does not collide with existing DOM API properties)
13
12
  *
14
13
  * @param name
15
14
  * @returns {boolean}
16
15
  */
17
- const isValidPropertyName = name => {
18
- if (allowList.includes(name) || name.startsWith("aria")) {
19
- return true;
20
- }
21
- const classes = [
22
- HTMLElement,
23
- Element,
24
- Node,
25
- ];
26
- return !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line
16
+ const isValidPropertyName = (name) => {
17
+ if (allowList.includes(name) || name.startsWith("aria")) {
18
+ return true;
19
+ }
20
+ const classes = [
21
+ HTMLElement,
22
+ Element,
23
+ Node,
24
+ ];
25
+ return !classes.some(klass => klass.prototype.hasOwnProperty(name)); // eslint-disable-line
27
26
  };
28
-
29
27
  export default isValidPropertyName;
28
+ //# sourceMappingURL=isValidPropertyName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidPropertyName.js","sourceRoot":"","sources":["../../src/util/isValidPropertyName.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,qEAAqE;AACrE,MAAM,SAAS,GAAG;IACjB,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;CACX,CAAC;AAEF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACxD,OAAO,IAAI,CAAC;KACZ;IACD,MAAM,OAAO,GAAG;QACf,WAAW;QACX,OAAO;QACP,IAAI;KACJ,CAAC;IACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB;AAC5F,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const whenDOMReady: () => Promise<void>;
2
+ export default whenDOMReady;
@@ -1,13 +1,14 @@
1
1
  const whenDOMReady = () => {
2
- return new Promise(resolve => {
3
- if (document.body) {
4
- resolve();
5
- } else {
6
- document.addEventListener("DOMContentLoaded", () => {
7
- resolve();
8
- });
9
- }
10
- });
2
+ return new Promise(resolve => {
3
+ if (document.body) {
4
+ resolve();
5
+ }
6
+ else {
7
+ document.addEventListener("DOMContentLoaded", () => {
8
+ resolve();
9
+ });
10
+ }
11
+ });
11
12
  };
12
-
13
13
  export default whenDOMReady;
14
+ //# sourceMappingURL=whenDOMReady.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whenDOMReady.js","sourceRoot":"","sources":["../../src/util/whenDOMReady.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAClC,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;SACV;aAAM;YACN,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAClD,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACH;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const willShowContent: (childNodes: Array<Node>) => boolean;
2
+ export default willShowContent;
@@ -0,0 +1,7 @@
1
+ const willShowContent = (childNodes) => {
2
+ return Array.from(childNodes).filter(node => {
3
+ return node.nodeType !== Node.COMMENT_NODE && (node.nodeType !== Node.TEXT_NODE || (node.nodeValue || "").trim().length !== 0);
4
+ }).length > 0;
5
+ };
6
+ export default willShowContent;
7
+ //# sourceMappingURL=willShowContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"willShowContent.js","sourceRoot":"","sources":["../../src/util/willShowContent.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,UAAuB,EAAE,EAAE;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAChI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const validateThemeRoot: (themeRoot: string) => string | undefined;
2
+ export default validateThemeRoot;
@@ -1,58 +1,47 @@
1
- const getMetaTagValue = metaTagName => {
2
- const metaTag = document.querySelector(`META[name="${metaTagName}"]`),
3
- metaTagContent = metaTag && metaTag.getAttribute("content");
4
-
5
- return metaTagContent;
1
+ const getMetaTagValue = (metaTagName) => {
2
+ const metaTag = document.querySelector(`META[name="${metaTagName}"]`), metaTagContent = metaTag && metaTag.getAttribute("content");
3
+ return metaTagContent;
6
4
  };
7
-
8
- const validateThemeOrigin = origin => {
9
- const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
10
-
11
- return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
12
- return allowedOrigin === "*" || origin === allowedOrigin.trim();
13
- });
5
+ const validateThemeOrigin = (origin) => {
6
+ const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
7
+ return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
8
+ return allowedOrigin === "*" || origin === allowedOrigin.trim();
9
+ });
14
10
  };
15
-
16
11
  const buildCorrectUrl = (oldUrl, newOrigin) => {
17
- const oldUrlPath = new URL(oldUrl).pathname;
18
-
19
- return new URL(oldUrlPath, newOrigin).toString();
12
+ const oldUrlPath = new URL(oldUrl).pathname;
13
+ return new URL(oldUrlPath, newOrigin).toString();
20
14
  };
21
-
22
- const validateThemeRoot = themeRoot => {
23
- let themeRootURL,
24
- resultUrl;
25
-
26
- try {
27
- themeRootURL = new URL(themeRoot);
28
-
29
- const origin = themeRootURL.origin;
30
-
31
- themeRootURL = themeRootURL.toString();
32
-
33
- if (themeRootURL.startsWith(".") || themeRootURL.startsWith("/")) {
34
- // Handle relative url
35
- // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
36
- // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
37
- // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
38
- resultUrl = new URL(themeRootURL, window.location.href).toString();
39
- } else if (origin && validateThemeOrigin(origin)) {
40
- // If origin is allowed, use it
41
- resultUrl = themeRootURL.toString();
42
- } else {
43
- // If origin is not allow and the URL is not relative, we have to replace the origin
44
- // with current location
45
- resultUrl = buildCorrectUrl(themeRootURL, window.location.href);
46
- }
47
-
48
- if (!resultUrl.endsWith("/")) {
49
- resultUrl = `${resultUrl}/`;
50
- }
51
-
52
- return `${resultUrl}UI5/`;
53
- } catch (e) {
54
- // Catch if URL is not correct
55
- }
15
+ const validateThemeRoot = (themeRoot) => {
16
+ let themeRootURL, resultUrl;
17
+ try {
18
+ themeRootURL = new URL(themeRoot);
19
+ const origin = themeRootURL.origin;
20
+ themeRootURL = themeRootURL.toString();
21
+ if (themeRootURL.startsWith(".") || themeRootURL.startsWith("/")) {
22
+ // Handle relative url
23
+ // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
24
+ // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
25
+ // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
26
+ resultUrl = new URL(themeRootURL, window.location.href).toString();
27
+ }
28
+ else if (origin && validateThemeOrigin(origin)) {
29
+ // If origin is allowed, use it
30
+ resultUrl = themeRootURL.toString();
31
+ }
32
+ else {
33
+ // If origin is not allow and the URL is not relative, we have to replace the origin
34
+ // with current location
35
+ resultUrl = buildCorrectUrl(themeRootURL, window.location.href);
36
+ }
37
+ if (!resultUrl.endsWith("/")) {
38
+ resultUrl = `${resultUrl}/`;
39
+ }
40
+ return `${resultUrl}UI5/`;
41
+ }
42
+ catch (e) {
43
+ // Catch if URL is not correct
44
+ }
56
45
  };
57
-
58
46
  export default validateThemeRoot;
47
+ //# sourceMappingURL=validateThemeRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateThemeRoot.js","sourceRoot":"","sources":["../src/validateThemeRoot.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,WAAW,IAAI,CAAC,EACpE,cAAc,GAAG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAE7D,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAElE,OAAO,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACvE,OAAO,aAAa,KAAK,GAAG,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAE5C,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,IAAI,YAAY,EACf,SAAS,CAAC;IAEX,IAAI;QACH,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAEvC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACjE,sBAAsB;YACtB,wFAAwF;YACxF,iGAAiG;YACjG,0FAA0F;YAC1F,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE;aAAM,IAAI,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;YACjD,+BAA+B;YAC/B,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;SACpC;aAAM;YACN,oFAAoF;YACpF,wBAAwB;YACxB,SAAS,GAAG,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7B,SAAS,GAAG,GAAG,SAAS,GAAG,CAAC;SAC5B;QAED,OAAO,GAAG,SAAS,MAAM,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACX,8BAA8B;KAC9B;AACF,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/global.d.ts ADDED
@@ -0,0 +1,44 @@
1
+ import { StyleData } from "./src/types.js";
2
+
3
+ export {};
4
+
5
+ declare global {
6
+
7
+ type VersionInfo = {
8
+ version: string,
9
+ major: number,
10
+ minor: number,
11
+ patch: number,
12
+ suffix: string,
13
+ isNext: boolean,
14
+ buildTime: number,
15
+ }
16
+
17
+ interface Window {
18
+ sap: any;
19
+ chrome: any;
20
+ v8: any;
21
+ }
22
+ module "*.css.js" {
23
+ const content: StyleData;
24
+ export default content;
25
+ }
26
+
27
+ module "*generated/AssetParameters.js" {
28
+ const DEFAULT_THEME: string;
29
+ const DEFAULT_LANGUAGE: string;
30
+ const DEFAULT_LOCALE: string;
31
+ const SUPPORTED_LOCALES: Array<string>;
32
+ export {
33
+ DEFAULT_THEME,
34
+ DEFAULT_LANGUAGE,
35
+ DEFAULT_LOCALE,
36
+ SUPPORTED_LOCALES,
37
+ };
38
+ }
39
+
40
+ module "*generated/VersionInfo.js" {
41
+ const content: VersionInfo;
42
+ export default content;
43
+ }
44
+ }
@@ -6,6 +6,7 @@ const stylesScript = resolve.sync("@ui5/webcomponents-base/lib/generate-styles/i
6
6
  const versionScript = resolve.sync("@ui5/webcomponents-base/lib/generate-version-info/index.js");
7
7
  const copyUsedModules = resolve.sync("@ui5/webcomponents-tools/lib/copy-list/index.js");
8
8
  const esmAbsToRel = resolve.sync("@ui5/webcomponents-tools/lib/esm-abs-to-rel/index.js");
9
+ const preprocessJSDocScript = resolve.sync("@ui5/webcomponents-tools/lib/jsdoc/preprocess.js");
9
10
 
10
11
  const LIB = path.join(__dirname, `../tools/lib/`);
11
12
 
@@ -13,9 +14,10 @@ const viteConfig = `-c "${require.resolve("@ui5/webcomponents-tools/components-p
13
14
  const eslintConfig = `--config ${require.resolve("@ui5/webcomponents-tools/components-package/eslint.js")}`;
14
15
 
15
16
  const scripts = {
16
- clean: "rimraf dist && rimraf .port",
17
+ clean: "rimraf jsdoc-dist && rimraf dist && rimraf .port",
17
18
  lint: `eslint . ${eslintConfig}`,
18
- prepare: "nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates generateAPI",
19
+ prepare: "nps clean integrate copy typescript generateAssetParameters generateVersionInfo generateStyles generateTemplates generateAPI",
20
+ typescript: "tsc",
19
21
  integrate: {
20
22
  default: "nps integrate.copy-used-modules integrate.replace-amd integrate.amd-to-es6 integrate.esm-abs-to-rel integrate.third-party",
21
23
  "copy-used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
@@ -40,11 +42,18 @@ const scripts = {
40
42
  generateVersionInfo: `node "${versionScript}"`,
41
43
  generateStyles: `node "${stylesScript}"`,
42
44
  generateTemplates: `mkdirp dist/generated/templates && node "${LIB}/hbs2ui5/index.js" -d test/elements -o dist/generated/templates`,
43
- generateAPI: `jsdoc -c "${LIB}/jsdoc/config.json"`,
45
+ generateAPI: {
46
+ default: "nps generateAPI.prepare generateAPI.preprocess generateAPI.jsdoc generateAPI.cleanup",
47
+ prepare: `copy-and-watch "dist/**/*.js" jsdoc-dist/`,
48
+ preprocess: `node "${preprocessJSDocScript}" jsdoc-dist/`,
49
+ jsdoc: `jsdoc -c "${LIB}/jsdoc/configTypescript.json"`,
50
+ cleanup: "rimraf jsdoc-dist/"
51
+ },
44
52
  watch: {
45
- default: 'concurrently "nps watch.src" "nps watch.styles"',
46
- withBundle: 'concurrently "nps watch.src" "nps watch.bundle" "nps watch.styles"',
53
+ default: 'concurrently "nps watch.src" "nps watch.styles" "nps watch.typescript"',
54
+ withBundle: 'concurrently "nps watch.src" "nps watch.bundle" "nps watch.styles" "nps watch.typescript"',
47
55
  src: 'nps "copy.src --watch --skip-initial-copy"',
56
+ typescript: 'tsc --watch',
48
57
  bundle: `node ${LIB}/dev-server/dev-server.js ${viteConfig}`,
49
58
  styles: 'chokidar "src/css/*.css" -c "nps generateStyles"'
50
59
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents-base",
3
- "version": "1.9.2",
3
+ "version": "1.10.0",
4
4
  "description": "UI5 Web Components: webcomponents.base",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -35,9 +35,9 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@buxlabs/amd-to-es6": "0.16.1",
38
- "@openui5/sap.ui.core": "1.101.0",
39
- "@ui5/webcomponents-tools": "1.9.2",
40
- "chromedriver": "106.0.1",
38
+ "@openui5/sap.ui.core": "1.109.0",
39
+ "@ui5/webcomponents-tools": "1.10.0",
40
+ "chromedriver": "108.0.0",
41
41
  "clean-css": "^5.2.2",
42
42
  "copy-and-watch": "^0.1.5",
43
43
  "cross-env": "^7.0.3",
File without changes
package/src/Boot.ts ADDED
@@ -0,0 +1,61 @@
1
+ import whenDOMReady from "./util/whenDOMReady.js";
2
+ import insertFontFace from "./FontFace.js";
3
+ import insertSystemCSSVars from "./SystemCSSVars.js";
4
+ import { getTheme } from "./config/Theme.js";
5
+ import applyTheme from "./theming/applyTheme.js";
6
+ import { registerCurrentRuntime } from "./Runtimes.js";
7
+ import { getFeature } from "./FeaturesRegistry.js";
8
+ import type OpenUI5Support from "./features/OpenUI5Support.js";
9
+ import type F6Navigation from "./features/F6Navigation.js";
10
+ import { PromiseResolve } from "./types.js";
11
+
12
+ let bootPromise: Promise<void>;
13
+
14
+ /**
15
+ * Attach a callback that will be executed on boot
16
+ * @public
17
+ * @param listener
18
+ */
19
+ const attachBoot = async (listener: () => void) => {
20
+ await boot();
21
+ listener();
22
+ };
23
+
24
+ const boot = async (): Promise<void> => {
25
+ if (bootPromise !== undefined) {
26
+ return bootPromise;
27
+ }
28
+
29
+ const bootExecutor = async (resolve: PromiseResolve) => {
30
+ registerCurrentRuntime();
31
+
32
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
33
+ const isOpenUI5Loaded = openUI5Support ? openUI5Support.isLoaded() : false;
34
+ const f6Navigation = getFeature<typeof F6Navigation>("F6Navigation");
35
+
36
+ if (openUI5Support) {
37
+ await openUI5Support.init();
38
+ }
39
+
40
+ if (f6Navigation && !isOpenUI5Loaded) {
41
+ f6Navigation.init();
42
+ }
43
+
44
+ await whenDOMReady();
45
+ await applyTheme(getTheme());
46
+ openUI5Support && openUI5Support.attachListeners();
47
+ insertFontFace();
48
+ insertSystemCSSVars();
49
+
50
+ resolve();
51
+ };
52
+
53
+ bootPromise = new Promise(bootExecutor as (resolve: PromiseResolve) => void);
54
+
55
+ return bootPromise;
56
+ };
57
+
58
+ export {
59
+ boot,
60
+ attachBoot,
61
+ };
@@ -1,20 +1,27 @@
1
- const roots = new Map();
1
+ const roots = new Map<string, string>();
2
2
  let useLinks = false;
3
3
  let preloadLinks = true;
4
4
 
5
5
  /**
6
- * Use this function to provide the path to the directory where the css resources for the given package will be served from
6
+ * Use this function to provide the path to the directory where the css resources for the given package will be served from.
7
7
  *
8
8
  * @public
9
9
  * @param packageName name of the package that is being configured
10
10
  * @param root path, accessible by the server that will serve the css resources
11
11
  */
12
- const setPackageCSSRoot = (packageName, root) => {
12
+ const setPackageCSSRoot = (packageName: string, root: string) => {
13
13
  roots.set(packageName, root);
14
14
  };
15
15
 
16
- const getUrl = (packageName, path) => {
17
- return `${roots.get(packageName)}${path}`;
16
+ const getUrl = (packageName: string, path: string) => {
17
+ const packageCSSRoot = roots.get(packageName);
18
+
19
+ if (!packageCSSRoot) {
20
+ console.warn(`Root path to the CSS resources ${packageName} not provided - use "setPackageCSSRoot" to provide the root.`); // eslint-disable-line
21
+ return "";
22
+ }
23
+
24
+ return `${packageCSSRoot}${path}`;
18
25
  };
19
26
 
20
27
  /**
@@ -25,7 +32,7 @@ const getUrl = (packageName, path) => {
25
32
  * @public
26
33
  * @param use whether links will be used
27
34
  */
28
- const setUseLinks = use => {
35
+ const setUseLinks = (use: boolean) => {
29
36
  useLinks = use;
30
37
  };
31
38
 
@@ -37,7 +44,7 @@ const setUseLinks = use => {
37
44
  * @public
38
45
  * @param preload
39
46
  */
40
- const setPreloadLinks = preload => {
47
+ const setPreloadLinks = (preload: boolean) => {
41
48
  preloadLinks = preload;
42
49
  };
43
50