@ui5/webcomponents-base 0.0.0-db2be6526 → 0.0.0-db622d8a8

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 (619) hide show
  1. package/.eslintignore +7 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +621 -0
  4. package/README.md +32 -6
  5. package/bundle.esm.js +20 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -28
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +69 -30
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +148 -89
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -82
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +16 -121
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +27 -0
  44. package/dist/InitialConfiguration.js +121 -131
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +57 -0
  47. package/dist/Keys.js +174 -244
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +77 -29
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +54 -65
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +72 -82
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +82 -112
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +52 -62
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +5 -1
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +36 -0
  74. package/dist/StaticAreaItem.js +88 -93
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +5 -25
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  80. package/dist/Theming.js +1 -1
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +931 -989
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -298
  87. package/dist/UI5ElementMetadata.js.map +1 -0
  88. package/dist/animations/AnimationQueue.d.ts +8 -0
  89. package/dist/animations/AnimationQueue.js +31 -38
  90. package/dist/animations/AnimationQueue.js.map +1 -0
  91. package/dist/animations/animate.d.ts +14 -0
  92. package/dist/animations/animate.js +46 -51
  93. package/dist/animations/animate.js.map +1 -0
  94. package/dist/animations/scroll.d.ts +5 -0
  95. package/dist/animations/scroll.js +18 -27
  96. package/dist/animations/scroll.js.map +1 -0
  97. package/dist/animations/slideDown.d.ts +5 -0
  98. package/dist/animations/slideDown.js +53 -78
  99. package/dist/animations/slideDown.js.map +1 -0
  100. package/dist/animations/slideUp.d.ts +5 -0
  101. package/dist/animations/slideUp.js +49 -70
  102. package/dist/animations/slideUp.js.map +1 -0
  103. package/dist/api.json +1 -0
  104. package/dist/asset-registries/Icons.d.ts +38 -0
  105. package/dist/asset-registries/Icons.js +109 -112
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +17 -0
  108. package/dist/asset-registries/Illustrations.js +41 -25
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -127
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +40 -66
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +61 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/assets/Boot.34b7cea0.css +1 -0
  120. package/dist/assets/Boot.48b53df7.js +9 -0
  121. package/dist/assets/bundle.esm.7885cd75.js +50 -0
  122. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  123. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  124. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  125. package/dist/config/AnimationMode.d.ts +14 -0
  126. package/dist/config/AnimationMode.js +21 -18
  127. package/dist/config/AnimationMode.js.map +1 -0
  128. package/dist/config/CalendarType.d.ts +8 -0
  129. package/dist/config/CalendarType.js +13 -12
  130. package/dist/config/CalendarType.js.map +1 -0
  131. package/dist/config/FormatSettings.d.ts +15 -0
  132. package/dist/config/FormatSettings.js +15 -9
  133. package/dist/config/FormatSettings.js.map +1 -0
  134. package/dist/config/Icons.d.ts +55 -0
  135. package/dist/config/Icons.js +103 -0
  136. package/dist/config/Icons.js.map +1 -0
  137. package/dist/config/Language.d.ts +40 -0
  138. package/dist/config/Language.js +43 -43
  139. package/dist/config/Language.js.map +1 -0
  140. package/dist/config/NoConflict.d.ts +20 -0
  141. package/dist/config/NoConflict.js +41 -41
  142. package/dist/config/NoConflict.js.map +1 -0
  143. package/dist/config/RTL.d.ts +7 -0
  144. package/dist/config/RTL.js +26 -20
  145. package/dist/config/RTL.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +64 -22
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +29 -0
  150. package/dist/config/ThemeRoot.js +59 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/css/BusyIndicator.css +80 -0
  156. package/dist/css/FontFace.css +66 -0
  157. package/dist/css/OverrideFontFace.css +32 -0
  158. package/dist/css/SystemCSSVars.css +17 -0
  159. package/dist/decorators/customElement.d.ts +23 -0
  160. package/dist/decorators/customElement.js +37 -0
  161. package/dist/decorators/customElement.js.map +1 -0
  162. package/dist/decorators/event.d.ts +10 -0
  163. package/dist/decorators/event.js +24 -0
  164. package/dist/decorators/event.js.map +1 -0
  165. package/dist/decorators/property.d.ts +9 -0
  166. package/dist/decorators/property.js +24 -0
  167. package/dist/decorators/property.js.map +1 -0
  168. package/dist/decorators/slot.d.ts +9 -0
  169. package/dist/decorators/slot.js +37 -0
  170. package/dist/decorators/slot.js.map +1 -0
  171. package/dist/delegate/ItemNavigation.d.ts +113 -0
  172. package/dist/delegate/ItemNavigation.js +277 -312
  173. package/dist/delegate/ItemNavigation.js.map +1 -0
  174. package/dist/delegate/ResizeHandler.d.ts +25 -0
  175. package/dist/delegate/ResizeHandler.js +72 -91
  176. package/dist/delegate/ResizeHandler.js.map +1 -0
  177. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  178. package/dist/delegate/ScrollEnablement.js +157 -180
  179. package/dist/delegate/ScrollEnablement.js.map +1 -0
  180. package/dist/features/F6Navigation.d.ts +19 -0
  181. package/dist/features/F6Navigation.js +151 -0
  182. package/dist/features/F6Navigation.js.map +1 -0
  183. package/dist/features/LegacyDateFormats.d.ts +18 -0
  184. package/dist/features/LegacyDateFormats.js +20 -0
  185. package/dist/features/LegacyDateFormats.js.map +1 -0
  186. package/dist/features/OpenUI5Element.d.ts +9 -0
  187. package/dist/features/OpenUI5Element.js +5 -0
  188. package/dist/features/OpenUI5Element.js.map +1 -0
  189. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  190. package/dist/features/OpenUI5Enablement.js +96 -0
  191. package/dist/features/OpenUI5Enablement.js.map +1 -0
  192. package/dist/features/OpenUI5Support.d.ts +26 -0
  193. package/dist/features/OpenUI5Support.js +93 -119
  194. package/dist/features/OpenUI5Support.js.map +1 -0
  195. package/dist/generated/AssetParameters.js +3 -1
  196. package/dist/generated/VersionInfo.js +10 -0
  197. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  198. package/dist/generated/css/BusyIndicator.css.js +7 -0
  199. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  200. package/dist/generated/css/FontFace.css.d.ts +3 -0
  201. package/dist/generated/css/FontFace.css.js +7 -0
  202. package/dist/generated/css/FontFace.css.js.map +1 -0
  203. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  204. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  205. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  206. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  207. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  208. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  209. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  210. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  211. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  212. package/dist/getSharedResource.d.ts +11 -0
  213. package/dist/getSharedResource.js +28 -18
  214. package/dist/getSharedResource.js.map +1 -0
  215. package/dist/global.d.ts +40 -0
  216. package/dist/i18nBundle.d.ts +43 -0
  217. package/dist/i18nBundle.js +57 -64
  218. package/dist/i18nBundle.js.map +1 -0
  219. package/dist/locale/Locale.d.ts +22 -0
  220. package/dist/locale/Locale.js +75 -87
  221. package/dist/locale/Locale.js.map +1 -0
  222. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  223. package/dist/locale/RTLAwareRegistry.js +6 -11
  224. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  225. package/dist/locale/applyDirection.d.ts +10 -0
  226. package/dist/locale/applyDirection.js +7 -7
  227. package/dist/locale/applyDirection.js.map +1 -0
  228. package/dist/locale/directionChange.d.ts +15 -0
  229. package/dist/locale/directionChange.js +7 -15
  230. package/dist/locale/directionChange.js.map +1 -0
  231. package/dist/locale/getEffectiveDir.d.ts +2 -0
  232. package/dist/locale/getEffectiveDir.js +20 -24
  233. package/dist/locale/getEffectiveDir.js.map +1 -0
  234. package/dist/locale/getLocale.d.ts +7 -0
  235. package/dist/locale/getLocale.js +26 -29
  236. package/dist/locale/getLocale.js.map +1 -0
  237. package/dist/locale/languageChange.d.ts +5 -0
  238. package/dist/locale/languageChange.js +8 -16
  239. package/dist/locale/languageChange.js.map +1 -0
  240. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  241. package/dist/locale/nextFallbackLocale.js +15 -19
  242. package/dist/locale/nextFallbackLocale.js.map +1 -0
  243. package/dist/locale/normalizeLocale.d.ts +7 -0
  244. package/dist/locale/normalizeLocale.js +34 -41
  245. package/dist/locale/normalizeLocale.js.map +1 -0
  246. package/dist/renderer/LitRenderer.d.ts +14 -0
  247. package/dist/renderer/LitRenderer.js +31 -22
  248. package/dist/renderer/LitRenderer.js.map +1 -0
  249. package/dist/renderer/executeTemplate.d.ts +13 -0
  250. package/dist/renderer/executeTemplate.js +20 -7
  251. package/dist/renderer/executeTemplate.js.map +1 -0
  252. package/dist/sap/base/Log.js +28 -29
  253. package/dist/sap/base/assert.js +5 -6
  254. package/dist/sap/base/security/URLListValidator.js +13 -2
  255. package/dist/sap/base/security/encodeCSS.js +14 -0
  256. package/dist/sap/base/security/encodeXML.js +23 -0
  257. package/dist/sap/base/strings/toHex.js +8 -0
  258. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  259. package/dist/theming/CustomStyle.d.ts +6 -0
  260. package/dist/theming/CustomStyle.js +39 -31
  261. package/dist/theming/CustomStyle.js.map +1 -0
  262. package/dist/theming/ThemeLoaded.d.ts +5 -0
  263. package/dist/theming/ThemeLoaded.js +8 -16
  264. package/dist/theming/ThemeLoaded.js.map +1 -0
  265. package/dist/theming/ThemeRegistered.d.ts +4 -0
  266. package/dist/theming/ThemeRegistered.js +11 -0
  267. package/dist/theming/ThemeRegistered.js.map +1 -0
  268. package/dist/theming/applyTheme.d.ts +2 -0
  269. package/dist/theming/applyTheme.js +62 -64
  270. package/dist/theming/applyTheme.js.map +1 -0
  271. package/dist/theming/getConstructableStyle.d.ts +9 -0
  272. package/dist/theming/getConstructableStyle.js +12 -17
  273. package/dist/theming/getConstructableStyle.js.map +1 -0
  274. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  275. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  276. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  277. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  278. package/dist/theming/getEffectiveStyle.js +25 -23
  279. package/dist/theming/getEffectiveStyle.js.map +1 -0
  280. package/dist/theming/getStylesString.d.ts +3 -0
  281. package/dist/theming/getStylesString.js +9 -11
  282. package/dist/theming/getStylesString.js.map +1 -0
  283. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  284. package/dist/theming/getThemeDesignerTheme.js +73 -61
  285. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  286. package/dist/theming/preloadLinks.d.ts +3 -0
  287. package/dist/theming/preloadLinks.js +19 -0
  288. package/dist/theming/preloadLinks.js.map +1 -0
  289. package/dist/thirdparty/_merge.d.ts +2 -0
  290. package/dist/thirdparty/_merge.js +7 -4
  291. package/dist/thirdparty/_merge.js.map +1 -0
  292. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  293. package/dist/thirdparty/isPlainObject.js +11 -10
  294. package/dist/thirdparty/isPlainObject.js.map +1 -0
  295. package/dist/thirdparty/merge.d.ts +2 -0
  296. package/dist/thirdparty/merge.js +4 -8
  297. package/dist/thirdparty/merge.js.map +1 -0
  298. package/dist/types/AnimationMode.d.ts +32 -0
  299. package/dist/types/AnimationMode.js +33 -6
  300. package/dist/types/AnimationMode.js.map +1 -0
  301. package/dist/types/CSSColor.d.ts +15 -0
  302. package/dist/types/CSSColor.js +14 -5
  303. package/dist/types/CSSColor.js.map +1 -0
  304. package/dist/types/CalendarType.d.ts +37 -0
  305. package/dist/types/CalendarType.js +35 -18
  306. package/dist/types/CalendarType.js.map +1 -0
  307. package/dist/types/DOMReference.d.ts +17 -0
  308. package/dist/types/DOMReference.js +25 -0
  309. package/dist/types/DOMReference.js.map +1 -0
  310. package/dist/types/DataType.d.ts +25 -0
  311. package/dist/types/DataType.js +33 -26
  312. package/dist/types/DataType.js.map +1 -0
  313. package/dist/types/Float.d.ts +17 -0
  314. package/dist/types/Float.js +17 -10
  315. package/dist/types/Float.js.map +1 -0
  316. package/dist/types/Integer.d.ts +17 -0
  317. package/dist/types/Integer.js +17 -9
  318. package/dist/types/Integer.js.map +1 -0
  319. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  320. package/dist/types/InvisibleMessageMode.js +20 -23
  321. package/dist/types/InvisibleMessageMode.js.map +1 -0
  322. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  323. package/dist/types/ItemNavigationBehavior.js +22 -12
  324. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  325. package/dist/types/NavigationMode.d.ts +32 -0
  326. package/dist/types/NavigationMode.js +33 -6
  327. package/dist/types/NavigationMode.js.map +1 -0
  328. package/dist/types/ValueState.d.ts +42 -0
  329. package/dist/types/ValueState.js +41 -19
  330. package/dist/types/ValueState.js.map +1 -0
  331. package/dist/types.d.ts +18 -0
  332. package/dist/types.js +2 -0
  333. package/dist/types.js.map +1 -0
  334. package/dist/updateShadowRoot.d.ts +8 -0
  335. package/dist/updateShadowRoot.js +31 -16
  336. package/dist/updateShadowRoot.js.map +1 -0
  337. package/dist/util/AriaLabelHelper.d.ts +15 -0
  338. package/dist/util/AriaLabelHelper.js +166 -36
  339. package/dist/util/AriaLabelHelper.js.map +1 -0
  340. package/dist/util/Caret.d.ts +7 -0
  341. package/dist/util/Caret.js +16 -38
  342. package/dist/util/Caret.js.map +1 -0
  343. package/dist/util/ColorConversion.d.ts +30 -0
  344. package/dist/util/ColorConversion.js +315 -348
  345. package/dist/util/ColorConversion.js.map +1 -0
  346. package/dist/util/FetchHelper.d.ts +3 -0
  347. package/dist/util/FetchHelper.js +19 -25
  348. package/dist/util/FetchHelper.js.map +1 -0
  349. package/dist/util/FocusableElements.d.ts +4 -0
  350. package/dist/util/FocusableElements.js +67 -72
  351. package/dist/util/FocusableElements.js.map +1 -0
  352. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  353. package/dist/util/HTMLSanitizer.js +4 -5
  354. package/dist/util/HTMLSanitizer.js.map +1 -0
  355. package/dist/util/InvisibleMessage.d.ts +10 -0
  356. package/dist/util/InvisibleMessage.js +42 -44
  357. package/dist/util/InvisibleMessage.js.map +1 -0
  358. package/dist/util/PopupUtils.d.ts +7 -0
  359. package/dist/util/PopupUtils.js +58 -77
  360. package/dist/util/PopupUtils.js.map +1 -0
  361. package/dist/util/SlotsHelper.d.ts +9 -0
  362. package/dist/util/SlotsHelper.js +22 -35
  363. package/dist/util/SlotsHelper.js.map +1 -0
  364. package/dist/util/StringHelper.d.ts +3 -0
  365. package/dist/util/StringHelper.js +17 -20
  366. package/dist/util/StringHelper.js.map +1 -0
  367. package/dist/util/TabbableElements.d.ts +17 -0
  368. package/dist/util/TabbableElements.js +53 -43
  369. package/dist/util/TabbableElements.js.map +1 -0
  370. package/dist/util/arraysAreEqual.d.ts +2 -0
  371. package/dist/util/arraysAreEqual.js +10 -12
  372. package/dist/util/arraysAreEqual.js.map +1 -0
  373. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  374. package/dist/util/clamp.js +2 -2
  375. package/dist/util/clamp.js.map +1 -0
  376. package/dist/util/createLinkInHead.d.ts +7 -0
  377. package/dist/util/createLinkInHead.js +21 -0
  378. package/dist/util/createLinkInHead.js.map +1 -0
  379. package/dist/util/createStyleInHead.d.ts +8 -0
  380. package/dist/util/createStyleInHead.js +10 -10
  381. package/dist/util/createStyleInHead.js.map +1 -0
  382. package/dist/util/debounce.d.ts +2 -0
  383. package/dist/util/debounce.js +6 -8
  384. package/dist/util/debounce.js.map +1 -0
  385. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  386. package/dist/util/detectNavigatorLanguage.js +7 -10
  387. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  388. package/dist/util/escapeRegex.d.ts +8 -0
  389. package/dist/util/escapeRegex.js +11 -0
  390. package/dist/util/escapeRegex.js.map +1 -0
  391. package/dist/util/formatMessage.d.ts +2 -0
  392. package/dist/util/formatMessage.js +15 -19
  393. package/dist/util/formatMessage.js.map +1 -0
  394. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  395. package/dist/util/generateHighlightedMarkup.js +41 -0
  396. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  397. package/dist/util/getActiveElement.d.ts +2 -0
  398. package/dist/util/getActiveElement.js +6 -8
  399. package/dist/util/getActiveElement.js.map +1 -0
  400. package/dist/util/getClassCopy.d.ts +400 -0
  401. package/dist/util/getClassCopy.js +7 -7
  402. package/dist/util/getClassCopy.js.map +1 -0
  403. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  404. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  405. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  406. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  407. package/dist/util/getEffectiveContentDensity.js +2 -3
  408. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  409. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  410. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  411. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  412. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  413. package/dist/util/getFastNavigationGroups.js +51 -0
  414. package/dist/util/getFastNavigationGroups.js.map +1 -0
  415. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  416. package/dist/util/getFileExtension.js +9 -11
  417. package/dist/util/getFileExtension.js.map +1 -0
  418. package/dist/util/getNormalizedTarget.d.ts +7 -0
  419. package/dist/util/getNormalizedTarget.js +14 -0
  420. package/dist/util/getNormalizedTarget.js.map +1 -0
  421. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  422. package/dist/util/getSingletonElementInstance.js +17 -11
  423. package/dist/util/getSingletonElementInstance.js.map +1 -0
  424. package/dist/util/isElementClickable.d.ts +2 -0
  425. package/dist/util/isElementClickable.js +16 -0
  426. package/dist/util/isElementClickable.js.map +1 -0
  427. package/dist/util/isElementHidden.d.ts +2 -0
  428. package/dist/util/isElementHidden.js +8 -0
  429. package/dist/util/isElementHidden.js.map +1 -0
  430. package/dist/util/isElementInView.d.ts +6 -0
  431. package/dist/util/isElementInView.js +6 -9
  432. package/dist/util/isElementInView.js.map +1 -0
  433. package/dist/util/isElementTabbable.d.ts +9 -0
  434. package/dist/util/isElementTabbable.js +30 -0
  435. package/dist/util/isElementTabbable.js.map +1 -0
  436. package/dist/util/isValidPropertyName.d.ts +8 -0
  437. package/dist/util/isValidPropertyName.js +16 -17
  438. package/dist/util/isValidPropertyName.js.map +1 -0
  439. package/dist/util/whenDOMReady.d.ts +2 -0
  440. package/dist/util/whenDOMReady.js +11 -10
  441. package/dist/util/whenDOMReady.js.map +1 -0
  442. package/dist/util/willShowContent.d.ts +2 -0
  443. package/dist/util/willShowContent.js +7 -0
  444. package/dist/util/willShowContent.js.map +1 -0
  445. package/dist/validateThemeRoot.d.ts +2 -0
  446. package/dist/validateThemeRoot.js +48 -0
  447. package/dist/validateThemeRoot.js.map +1 -0
  448. package/index.js +227 -1
  449. package/lib/generate-asset-parameters/index.js +11 -5
  450. package/lib/generate-styles/index.js +31 -0
  451. package/lib/generate-version-info/index.js +32 -0
  452. package/package-scripts.cjs +71 -0
  453. package/package.json +9 -6
  454. package/src/css/BusyIndicator.css +80 -0
  455. package/src/css/FontFace.css +66 -0
  456. package/src/css/OverrideFontFace.css +32 -0
  457. package/src/css/SystemCSSVars.css +17 -0
  458. package/tsconfig.json +14 -0
  459. package/used-modules.txt +4 -1
  460. package/config/rollup.config.js +0 -1
  461. package/config/wdio.conf.js +0 -1
  462. package/dist/RenderScheduler.js +0 -44
  463. package/dist/animations/config.js +0 -5
  464. package/dist/isLegacyBrowser.js +0 -3
  465. package/dist/resources/bundle.esm.js +0 -37
  466. package/dist/resources/bundle.esm.js.map +0 -1
  467. package/dist/test-resources/assets/Themes.js +0 -17
  468. package/dist/test-resources/elements/Child.js +0 -35
  469. package/dist/test-resources/elements/Generic.js +0 -84
  470. package/dist/test-resources/elements/GenericExt.js +0 -26
  471. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  472. package/dist/test-resources/elements/Parent.js +0 -41
  473. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  474. package/dist/test-resources/pages/AllTestElements.html +0 -42
  475. package/dist/test-resources/pages/Configuration.html +0 -18
  476. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  477. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  478. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  479. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  480. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  481. package/dist/test-resources/pages/i18n.html +0 -33
  482. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  483. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  484. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  485. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  486. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  487. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  488. package/dist/test-resources/specs/Theming.spec.js +0 -33
  489. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  490. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  491. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  492. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  493. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  494. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  495. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  496. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  497. package/dist/theming/createThemePropertiesStyleTag.js +0 -16
  498. package/dist/types/CSSSize.js +0 -9
  499. package/dist/types/PopupState.js +0 -37
  500. package/dist/util/encodeCSS.js +0 -24
  501. package/dist/util/findNodeOwner.js +0 -35
  502. package/dist/util/isDescendantOf.js +0 -15
  503. package/dist/util/isNodeClickable.js +0 -19
  504. package/dist/util/isNodeHidden.js +0 -9
  505. package/dist/util/isNodeTabbable.js +0 -28
  506. package/dist/util/setToArray.js +0 -10
  507. package/hash.txt +0 -1
  508. package/package-scripts.js +0 -62
  509. package/src/Boot.js +0 -43
  510. package/src/CustomElementsRegistry.js +0 -39
  511. package/src/DOMObserver.js +0 -65
  512. package/src/Device.js +0 -107
  513. package/src/EventProvider.js +0 -85
  514. package/src/FeaturesRegistry.js +0 -11
  515. package/src/FontFace.js +0 -130
  516. package/src/InitialConfiguration.js +0 -166
  517. package/src/Keys.js +0 -248
  518. package/src/ManagedStyles.js +0 -36
  519. package/src/MediaRange.js +0 -109
  520. package/src/PropertiesFileFormat.js +0 -95
  521. package/src/Render.js +0 -173
  522. package/src/RenderQueue.js +0 -66
  523. package/src/RenderScheduler.js +0 -44
  524. package/src/StaticArea.js +0 -3
  525. package/src/StaticAreaItem.js +0 -107
  526. package/src/SystemCSSVars.js +0 -29
  527. package/src/UI5Element.js +0 -1026
  528. package/src/UI5ElementMetadata.js +0 -311
  529. package/src/animations/AnimationQueue.js +0 -42
  530. package/src/animations/animate.js +0 -53
  531. package/src/animations/config.js +0 -5
  532. package/src/animations/scroll.js +0 -28
  533. package/src/animations/slideDown.js +0 -79
  534. package/src/animations/slideUp.js +0 -71
  535. package/src/asset-registries/Icons.js +0 -128
  536. package/src/asset-registries/Illustrations.js +0 -30
  537. package/src/asset-registries/LocaleData.js +0 -159
  538. package/src/asset-registries/Themes.js +0 -78
  539. package/src/asset-registries/i18n.js +0 -121
  540. package/src/config/AnimationMode.js +0 -23
  541. package/src/config/CalendarType.js +0 -18
  542. package/src/config/FormatSettings.js +0 -13
  543. package/src/config/Language.js +0 -68
  544. package/src/config/NoConflict.js +0 -51
  545. package/src/config/RTL.js +0 -31
  546. package/src/config/Theme.js +0 -28
  547. package/src/delegate/ItemNavigation.js +0 -351
  548. package/src/delegate/ResizeHandler.js +0 -106
  549. package/src/delegate/ScrollEnablement.js +0 -188
  550. package/src/features/OpenUI5Support.js +0 -125
  551. package/src/getSharedResource.js +0 -30
  552. package/src/i18nBundle.js +0 -86
  553. package/src/isLegacyBrowser.js +0 -3
  554. package/src/locale/Locale.js +0 -91
  555. package/src/locale/RTLAwareRegistry.js +0 -14
  556. package/src/locale/applyDirection.js +0 -17
  557. package/src/locale/directionChange.js +0 -32
  558. package/src/locale/getEffectiveDir.js +0 -28
  559. package/src/locale/getLocale.js +0 -41
  560. package/src/locale/languageChange.js +0 -22
  561. package/src/locale/nextFallbackLocale.js +0 -28
  562. package/src/locale/normalizeLocale.js +0 -54
  563. package/src/renderer/LitRenderer.js +0 -32
  564. package/src/renderer/executeTemplate.js +0 -17
  565. package/src/theming/CustomStyle.js +0 -40
  566. package/src/theming/ThemeLoaded.js +0 -22
  567. package/src/theming/applyTheme.js +0 -78
  568. package/src/theming/createThemePropertiesStyleTag.js +0 -16
  569. package/src/theming/getConstructableStyle.js +0 -30
  570. package/src/theming/getEffectiveStyle.js +0 -30
  571. package/src/theming/getStylesString.js +0 -13
  572. package/src/theming/getThemeDesignerTheme.js +0 -68
  573. package/src/thirdparty/_merge.js +0 -32
  574. package/src/thirdparty/isPlainObject.js +0 -18
  575. package/src/thirdparty/merge.js +0 -10
  576. package/src/types/AnimationMode.js +0 -7
  577. package/src/types/CSSColor.js +0 -9
  578. package/src/types/CSSSize.js +0 -9
  579. package/src/types/CalendarType.js +0 -22
  580. package/src/types/DataType.js +0 -37
  581. package/src/types/Float.js +0 -14
  582. package/src/types/Integer.js +0 -13
  583. package/src/types/InvisibleMessageMode.js +0 -30
  584. package/src/types/ItemNavigationBehavior.js +0 -16
  585. package/src/types/NavigationMode.js +0 -7
  586. package/src/types/PopupState.js +0 -37
  587. package/src/types/ValueState.js +0 -22
  588. package/src/updateShadowRoot.js +0 -26
  589. package/src/util/AriaLabelHelper.js +0 -41
  590. package/src/util/Caret.js +0 -45
  591. package/src/util/ColorConversion.js +0 -370
  592. package/src/util/FetchHelper.js +0 -31
  593. package/src/util/FocusableElements.js +0 -77
  594. package/src/util/InvisibleMessage.js +0 -58
  595. package/src/util/PopupUtils.js +0 -93
  596. package/src/util/SlotsHelper.js +0 -43
  597. package/src/util/StringHelper.js +0 -26
  598. package/src/util/TabbableElements.js +0 -47
  599. package/src/util/arraysAreEqual.js +0 -15
  600. package/src/util/createStyleInHead.js +0 -18
  601. package/src/util/debounce.js +0 -17
  602. package/src/util/detectNavigatorLanguage.js +0 -13
  603. package/src/util/encodeCSS.js +0 -24
  604. package/src/util/findNodeOwner.js +0 -35
  605. package/src/util/formatMessage.js +0 -23
  606. package/src/util/getActiveElement.js +0 -11
  607. package/src/util/getClassCopy.js +0 -10
  608. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  609. package/src/util/getEffectiveContentDensity.js +0 -5
  610. package/src/util/getSingletonElementInstance.js +0 -13
  611. package/src/util/isDescendantOf.js +0 -15
  612. package/src/util/isElementInView.js +0 -15
  613. package/src/util/isNodeClickable.js +0 -19
  614. package/src/util/isNodeHidden.js +0 -9
  615. package/src/util/isNodeTabbable.js +0 -28
  616. package/src/util/isValidPropertyName.js +0 -29
  617. package/src/util/setToArray.js +0 -10
  618. package/src/util/whenDOMReady.js +0 -13
  619. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,85 +1,70 @@
1
1
  class EventProvider {
2
- constructor() {
3
- this._eventRegistry = new Map();
4
- }
5
-
6
- attachEvent(eventName, fnFunction) {
7
- const eventRegistry = this._eventRegistry;
8
- const eventListeners = eventRegistry.get(eventName);
9
-
10
- if (!Array.isArray(eventListeners)) {
11
- eventRegistry.set(eventName, [fnFunction]);
12
- return;
13
- }
14
-
15
- if (!eventListeners.includes(fnFunction)) {
16
- eventListeners.push(fnFunction);
17
- }
18
- }
19
-
20
- detachEvent(eventName, fnFunction) {
21
- const eventRegistry = this._eventRegistry;
22
- const eventListeners = eventRegistry.get(eventName);
23
-
24
- if (!eventListeners) {
25
- return;
26
- }
27
- const indexOfFnToDetach = eventListeners.indexOf(fnFunction);
28
-
29
- if (indexOfFnToDetach !== -1) {
30
- eventListeners.splice(indexOfFnToDetach, 1);
31
- }
32
-
33
- if (eventListeners.length === 0) {
34
- eventRegistry.delete(eventName);
35
- }
36
- }
37
-
38
- /**
39
- * Fires an event and returns the results of all event listeners as an array.
40
- *
41
- * @param eventName the event to fire
42
- * @param data optional data to pass to each event listener
43
- * @returns {Array} an array with the results of all event listeners
44
- */
45
- fireEvent(eventName, data) {
46
- const eventRegistry = this._eventRegistry;
47
- const eventListeners = eventRegistry.get(eventName);
48
-
49
- if (!eventListeners) {
50
- return [];
51
- }
52
-
53
- return eventListeners.map(fn => {
54
- return fn.call(this, data); // eslint-disable-line
55
- });
56
- }
57
-
58
- /**
59
- * Fires an event and returns a promise that will resolve once all listeners have resolved.
60
- *
61
- * @param eventName the event to fire
62
- * @param data optional data to pass to each event listener
63
- * @returns {Promise} a promise that will resolve when all listeners have resolved
64
- */
65
- fireEventAsync(eventName, data) {
66
- return Promise.all(this.fireEvent(eventName, data));
67
- }
68
-
69
- isHandlerAttached(eventName, fnFunction) {
70
- const eventRegistry = this._eventRegistry;
71
- const eventListeners = eventRegistry.get(eventName);
72
-
73
- if (!eventListeners) {
74
- return false;
75
- }
76
-
77
- return eventListeners.includes(fnFunction);
78
- }
79
-
80
- hasListeners(eventName) {
81
- return !!this._eventRegistry.get(eventName);
82
- }
2
+ constructor() {
3
+ this._eventRegistry = new Map();
4
+ }
5
+ attachEvent(eventName, fnFunction) {
6
+ const eventRegistry = this._eventRegistry;
7
+ const eventListeners = eventRegistry.get(eventName);
8
+ if (!Array.isArray(eventListeners)) {
9
+ eventRegistry.set(eventName, [fnFunction]);
10
+ return;
11
+ }
12
+ if (!eventListeners.includes(fnFunction)) {
13
+ eventListeners.push(fnFunction);
14
+ }
15
+ }
16
+ detachEvent(eventName, fnFunction) {
17
+ const eventRegistry = this._eventRegistry;
18
+ const eventListeners = eventRegistry.get(eventName);
19
+ if (!eventListeners) {
20
+ return;
21
+ }
22
+ const indexOfFnToDetach = eventListeners.indexOf(fnFunction);
23
+ if (indexOfFnToDetach !== -1) {
24
+ eventListeners.splice(indexOfFnToDetach, 1);
25
+ }
26
+ if (eventListeners.length === 0) {
27
+ eventRegistry.delete(eventName);
28
+ }
29
+ }
30
+ /**
31
+ * Fires an event and returns the results of all event listeners as an array.
32
+ *
33
+ * @param eventName the event to fire
34
+ * @param data optional data to pass to each event listener
35
+ * @returns {Array} an array with the results of all event listeners
36
+ */
37
+ fireEvent(eventName, data) {
38
+ const eventRegistry = this._eventRegistry;
39
+ const eventListeners = eventRegistry.get(eventName);
40
+ if (!eventListeners) {
41
+ return [];
42
+ }
43
+ return eventListeners.map(fn => {
44
+ return fn.call(this, data);
45
+ });
46
+ }
47
+ /**
48
+ * Fires an event and returns a promise that will resolve once all listeners have resolved.
49
+ *
50
+ * @param eventName the event to fire
51
+ * @param data optional data to pass to each event listener
52
+ * @returns {Promise} a promise that will resolve when all listeners have resolved
53
+ */
54
+ fireEventAsync(eventName, data) {
55
+ return Promise.all(this.fireEvent(eventName, data));
56
+ }
57
+ isHandlerAttached(eventName, fnFunction) {
58
+ const eventRegistry = this._eventRegistry;
59
+ const eventListeners = eventRegistry.get(eventName);
60
+ if (!eventListeners) {
61
+ return false;
62
+ }
63
+ return eventListeners.includes(fnFunction);
64
+ }
65
+ hasListeners(eventName) {
66
+ return !!this._eventRegistry.get(eventName);
67
+ }
83
68
  }
84
-
85
69
  export default EventProvider;
70
+ //# sourceMappingURL=EventProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventProvider.js","sourceRoot":"","sources":["../src/EventProvider.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa;IAGlB;QACC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,UAA8D;QAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACnC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3C,OAAO;SACP;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACzC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAChC;IACF,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,UAA8D;QAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO;SACP;QACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;YAC7B,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;SAC5C;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChC;IACF,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAiB,EAAE,IAAwB;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO,EAAE,CAAC;SACV;QAED,OAAO,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,SAAiB,EAAE,IAAwB;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,UAA8D;QAClG,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,SAAiB;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;CACD;AAED,eAAe,aAAa,CAAC","sourcesContent":["class EventProvider<EventListenerParam, EventListenerReturn> {\n\t_eventRegistry: Map<string, Array<(param: EventListenerParam) => EventListenerReturn>>;\n\n\tconstructor() {\n\t\tthis._eventRegistry = new Map();\n\t}\n\n\tattachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!Array.isArray(eventListeners)) {\n\t\t\teventRegistry.set(eventName, [fnFunction]);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventListeners.includes(fnFunction)) {\n\t\t\teventListeners.push(fnFunction);\n\t\t}\n\t}\n\n\tdetachEvent(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!eventListeners) {\n\t\t\treturn;\n\t\t}\n\t\tconst indexOfFnToDetach = eventListeners.indexOf(fnFunction);\n\n\t\tif (indexOfFnToDetach !== -1) {\n\t\t\teventListeners.splice(indexOfFnToDetach, 1);\n\t\t}\n\n\t\tif (eventListeners.length === 0) {\n\t\t\teventRegistry.delete(eventName);\n\t\t}\n\t}\n\n\t/**\n\t * Fires an event and returns the results of all event listeners as an array.\n\t *\n\t * @param eventName the event to fire\n\t * @param data optional data to pass to each event listener\n\t * @returns {Array} an array with the results of all event listeners\n\t */\n\tfireEvent(eventName: string, data: EventListenerParam) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!eventListeners) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn eventListeners.map(fn => {\n\t\t\treturn fn.call(this, data);\n\t\t});\n\t}\n\n\t/**\n\t * Fires an event and returns a promise that will resolve once all listeners have resolved.\n\t *\n\t * @param eventName the event to fire\n\t * @param data optional data to pass to each event listener\n\t * @returns {Promise} a promise that will resolve when all listeners have resolved\n\t */\n\tfireEventAsync(eventName: string, data: EventListenerParam) {\n\t\treturn Promise.all(this.fireEvent(eventName, data));\n\t}\n\n\tisHandlerAttached(eventName: string, fnFunction: (param: EventListenerParam) => EventListenerReturn) {\n\t\tconst eventRegistry = this._eventRegistry;\n\t\tconst eventListeners = eventRegistry.get(eventName);\n\n\t\tif (!eventListeners) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn eventListeners.includes(fnFunction);\n\t}\n\n\thasListeners(eventName: string) {\n\t\treturn !!this._eventRegistry.get(eventName);\n\t}\n}\n\nexport default EventProvider;\n"]}
@@ -0,0 +1,3 @@
1
+ declare const registerFeature: (name: string, feature: object) => void;
2
+ declare const getFeature: <T>(name: string) => T;
3
+ export { registerFeature, getFeature, };
@@ -1,11 +1,9 @@
1
1
  const features = new Map();
2
-
3
2
  const registerFeature = (name, feature) => {
4
- features.set(name, feature);
3
+ features.set(name, feature);
5
4
  };
6
-
7
- const getFeature = name => {
8
- return features.get(name);
5
+ const getFeature = (name) => {
6
+ return features.get(name);
9
7
  };
10
-
11
- export { registerFeature, getFeature };
8
+ export { registerFeature, getFeature, };
9
+ //# sourceMappingURL=FeaturesRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeaturesRegistry.js","sourceRoot":"","sources":["../src/FeaturesRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;AAExC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE;IACzD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAI,IAAY,EAAK,EAAE;IACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;AAChC,CAAC,CAAC;AAEF,OAAO,EACN,eAAe,EACf,UAAU,GACV,CAAC","sourcesContent":["const features = new Map<string, any>();\n\nconst registerFeature = (name: string, feature: object) => {\n\tfeatures.set(name, feature);\n};\n\nconst getFeature = <T>(name: string): T => {\n\treturn features.get(name) as T;\n};\n\nexport {\n\tregisterFeature,\n\tgetFeature,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ declare const insertFontFace: () => void;
2
+ export default insertFontFace;
package/dist/FontFace.js CHANGED
@@ -1,130 +1,25 @@
1
- /**
2
- * CSS font face used for the texts provided by SAP.
3
- */
4
1
  import { hasStyle, createStyle } from "./ManagedStyles.js";
5
2
  import { getFeature } from "./FeaturesRegistry.js";
6
-
7
- /* CDN Locations */
8
- const font72RegularWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents`;
9
- const font72RegularWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents`;
10
-
11
- const font72RegularFullWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents`;
12
- const font72RegularFullWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents`;
13
-
14
- const font72BoldWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents`;
15
- const font72BoldWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents`;
16
-
17
- const font72BoldFullWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents`;
18
- const font72BoldFullWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents`;
19
-
20
- const font72BlackWoff = `https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents`;
21
- const font72BlackWoff2 = `https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents`;
22
-
23
- const fontFaceCSS = `
24
- @font-face {
25
- font-family: "72";
26
- font-style: normal;
27
- font-weight: 400;
28
- src: local("72"),
29
- url(${font72RegularWoff2}) format("woff2"),
30
- url(${font72RegularWoff}) format("woff");
31
- }
32
-
33
- @font-face {
34
- font-family: "72full";
35
- font-style: normal;
36
- font-weight: 400;
37
- src: local('72-full'),
38
- url(${font72RegularFullWoff2}) format("woff2"),
39
- url(${font72RegularFullWoff}) format("woff");
40
-
41
- }
42
-
43
- @font-face {
44
- font-family: "72";
45
- font-style: normal;
46
- font-weight: 700;
47
- src: local('72-Bold'),
48
- url(${font72BoldWoff2}) format("woff2"),
49
- url(${font72BoldWoff}) format("woff");
50
- }
51
-
52
- @font-face {
53
- font-family: "72full";
54
- font-style: normal;
55
- font-weight: 700;
56
- src: local('72-Bold-full'),
57
- url(${font72BoldFullWoff2}) format("woff2"),
58
- url(${font72BoldFullWoff}) format("woff");
59
- }
60
-
61
- @font-face {
62
- font-family: "72Black";
63
- font-style: bold;
64
- font-weight: 900;
65
- src: local('72Black'),
66
- url(${font72BlackWoff2}) format("woff2"),
67
- url(${font72BlackWoff}) format("woff");
68
- }
69
- `;
70
-
71
- /**
72
- * Some diacritics are supported by the 72 font:
73
- * * Grave
74
- * * Acute
75
- * * Circumflex
76
- * * Tilde
77
- *
78
- * However, the following diacritics and the combination of multiple diacritics (including the supported ones) are not supported:
79
- * * Breve
80
- * * Horn
81
- * * Dot below
82
- * * Hook above
83
- *
84
- *
85
- * Override for the characters that aren't covered by the '72' font to other system fonts
86
- *
87
- * U+0102-0103: A and a with Breve
88
- * U+01A0-01A1: O and o with Horn
89
- * U+01AF-01B0: U and u with Horn
90
- * U+1EA0-1EB7: A and a with diacritics that are not supported by the font and combination of multiple diacritics
91
- * U+1EB8-1EC7: E and e with diacritics that are not supported by the font and combination of multiple diacritics
92
- * U+1EC8-1ECB: I and i with diacritics that are not supported by the font and combination of multiple diacritics
93
- * U+1ECC-1EE3: O and o with diacritics that are not supported by the font and combination of multiple diacritics
94
- * U+1EE4-1EF1: U and u with diacritics that are not supported by the font and combination of multiple diacritics
95
- * U+1EF4-1EF7: Y and y with diacritics that are not supported by the font and combination of multiple diacritics
96
- *
97
- */
98
- const overrideFontFaceCSS = `
99
- @font-face {
100
- font-family: '72override';
101
- unicode-range: U+0102-0103, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EB7, U+1EB8-1EC7, U+1EC8-1ECB, U+1ECC-1EE3, U+1EE4-1EF1, U+1EF4-1EF7;
102
- src: local('Arial'), local('Helvetica'), local('sans-serif');
103
- }
104
- `;
105
-
3
+ import fontFaceCSS from "./generated/css/FontFace.css.js";
4
+ import overrideFontFaceCSS from "./generated/css/OverrideFontFace.css.js";
106
5
  const insertFontFace = () => {
107
- const OpenUI5Support = getFeature("OpenUI5Support");
108
-
109
- // Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded
110
- if (!OpenUI5Support || !OpenUI5Support.isLoaded()) {
111
- insertMainFontFace();
112
- }
113
-
114
- // Always set the override font - OpenUI5 in CSS Vars mode does not set it, unlike the main font
115
- insertOverrideFontFace();
6
+ const openUI5Support = getFeature("OpenUI5Support");
7
+ // Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded
8
+ if (!openUI5Support || !openUI5Support.isLoaded()) {
9
+ insertMainFontFace();
10
+ }
11
+ // Always set the override font - OpenUI5 in CSS Vars mode does not set it, unlike the main font
12
+ insertOverrideFontFace();
116
13
  };
117
-
118
14
  const insertMainFontFace = () => {
119
- if (!hasStyle("data-ui5-font-face")) {
120
- createStyle(fontFaceCSS, "data-ui5-font-face");
121
- }
15
+ if (!hasStyle("data-ui5-font-face")) {
16
+ createStyle(fontFaceCSS, "data-ui5-font-face");
17
+ }
122
18
  };
123
-
124
19
  const insertOverrideFontFace = () => {
125
- if (!hasStyle("data-ui5-font-face-override")) {
126
- createStyle(overrideFontFaceCSS, "data-ui5-font-face-override");
127
- }
20
+ if (!hasStyle("data-ui5-font-face-override")) {
21
+ createStyle(overrideFontFaceCSS, "data-ui5-font-face-override");
22
+ }
128
23
  };
129
-
130
24
  export default insertFontFace;
25
+ //# sourceMappingURL=FontFace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FontFace.js","sourceRoot":"","sources":["../src/FontFace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAC1D,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAG1E,MAAM,cAAc,GAAG,GAAG,EAAE;IAC3B,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;IAE3E,gGAAgG;IAChG,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE;QAClD,kBAAkB,EAAE,CAAC;KACrB;IAED,gGAAgG;IAChG,sBAAsB,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QACpC,WAAW,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KAC/C;AACF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACnC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;QAC7C,WAAW,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;KAChE;AACF,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { hasStyle, createStyle } from \"./ManagedStyles.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport fontFaceCSS from \"./generated/css/FontFace.css.js\";\nimport overrideFontFaceCSS from \"./generated/css/OverrideFontFace.css.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\n\nconst insertFontFace = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\n\t// Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded\n\tif (!openUI5Support || !openUI5Support.isLoaded()) {\n\t\tinsertMainFontFace();\n\t}\n\n\t// Always set the override font - OpenUI5 in CSS Vars mode does not set it, unlike the main font\n\tinsertOverrideFontFace();\n};\n\nconst insertMainFontFace = () => {\n\tif (!hasStyle(\"data-ui5-font-face\")) {\n\t\tcreateStyle(fontFaceCSS, \"data-ui5-font-face\");\n\t}\n};\n\nconst insertOverrideFontFace = () => {\n\tif (!hasStyle(\"data-ui5-font-face-override\")) {\n\t\tcreateStyle(overrideFontFaceCSS, \"data-ui5-font-face-override\");\n\t}\n};\n\nexport default insertFontFace;\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Ignores all custom HTML elements with a given tag prefix to improve the rendering performance of the UI5 Web Components.
3
+ * <br>
4
+ *
5
+ * <b>When used:</b> the UI5 Web Components framework treats all custom HTML elements,
6
+ * starting with the given prefix as if they are standard HTML elements, such as: `div`, `span`, etc, without additional processing.
7
+ * <br>
8
+ *
9
+ * <b>When not used:</b> the framework waits for the slotted children to be defined and registered first,
10
+ * because the state or visual appearance of the parent may rely on the slotted elements/children.
11
+ *
12
+ * <b>Note:</b> We recommend using `ignoreCustomElements` when slotting custom HTML elements (with only semantic purpose)
13
+ * inside UI5 Web Components, to improve the time to render.
14
+ *
15
+ * @public
16
+ * @since 1.14.0
17
+ * @param { string } tagPrefix
18
+ */
19
+ declare const ignoreCustomElements: (tagPrefix: string) => void;
20
+ /**
21
+ * Determines whether custom elements with the given tag should be ignored.
22
+ *
23
+ * @private
24
+ * @param { string } tag
25
+ */
26
+ declare const shouldIgnoreCustomElement: (tag: string) => boolean;
27
+ export { ignoreCustomElements, shouldIgnoreCustomElement, };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The tag prefixes to be ignored.
3
+ */
4
+ const tagPrefixes = [];
5
+ /**
6
+ * Ignores all custom HTML elements with a given tag prefix to improve the rendering performance of the UI5 Web Components.
7
+ * <br>
8
+ *
9
+ * <b>When used:</b> the UI5 Web Components framework treats all custom HTML elements,
10
+ * starting with the given prefix as if they are standard HTML elements, such as: `div`, `span`, etc, without additional processing.
11
+ * <br>
12
+ *
13
+ * <b>When not used:</b> the framework waits for the slotted children to be defined and registered first,
14
+ * because the state or visual appearance of the parent may rely on the slotted elements/children.
15
+ *
16
+ * <b>Note:</b> We recommend using `ignoreCustomElements` when slotting custom HTML elements (with only semantic purpose)
17
+ * inside UI5 Web Components, to improve the time to render.
18
+ *
19
+ * @public
20
+ * @since 1.14.0
21
+ * @param { string } tagPrefix
22
+ */
23
+ const ignoreCustomElements = (tagPrefix) => {
24
+ if (typeof tagPrefix !== "string" || !tagPrefix.length) {
25
+ throw new Error("Only string characters for a tag prefix.");
26
+ }
27
+ tagPrefixes.push(tagPrefix);
28
+ };
29
+ /**
30
+ * Determines whether custom elements with the given tag should be ignored.
31
+ *
32
+ * @private
33
+ * @param { string } tag
34
+ */
35
+ const shouldIgnoreCustomElement = (tag) => {
36
+ return tagPrefixes.some(pref => tag.startsWith(pref));
37
+ };
38
+ export { ignoreCustomElements, shouldIgnoreCustomElement, };
39
+ //# sourceMappingURL=IgnoreCustomElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IgnoreCustomElements.js","sourceRoot":"","sources":["../src/IgnoreCustomElements.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,GAAkB,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC5D;IAED,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,CAAC,GAAW,EAAW,EAAE;IAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EACN,oBAAoB,EACpB,yBAAyB,GACzB,CAAC","sourcesContent":["/**\n * The tag prefixes to be ignored.\n */\nconst tagPrefixes: Array<string> = [];\n\n/**\n * Ignores all custom HTML elements with a given tag prefix to improve the rendering performance of the UI5 Web Components.\n * <br>\n *\n * <b>When used:</b> the UI5 Web Components framework treats all custom HTML elements,\n * starting with the given prefix as if they are standard HTML elements, such as: `div`, `span`, etc, without additional processing.\n * <br>\n *\n * <b>When not used:</b> the framework waits for the slotted children to be defined and registered first,\n * because the state or visual appearance of the parent may rely on the slotted elements/children.\n *\n * <b>Note:</b> We recommend using `ignoreCustomElements` when slotting custom HTML elements (with only semantic purpose)\n * inside UI5 Web Components, to improve the time to render.\n *\n * @public\n * @since 1.14.0\n * @param { string } tagPrefix\n */\nconst ignoreCustomElements = (tagPrefix: string) => {\n\tif (typeof tagPrefix !== \"string\" || !tagPrefix.length) {\n\t\tthrow new Error(\"Only string characters for a tag prefix.\");\n\t}\n\n\ttagPrefixes.push(tagPrefix);\n};\n\n/**\n * Determines whether custom elements with the given tag should be ignored.\n *\n * @private\n * @param { string } tag\n */\nconst shouldIgnoreCustomElement = (tag: string): boolean => {\n\treturn tagPrefixes.some(pref => tag.startsWith(pref));\n};\n\nexport {\n\tignoreCustomElements,\n\tshouldIgnoreCustomElement,\n};\n"]}
@@ -0,0 +1,27 @@
1
+ import type { FormatSettings } from "./config/FormatSettings.js";
2
+ import AnimationMode from "./types/AnimationMode.js";
3
+ import CalendarType from "./types/CalendarType.js";
4
+ declare const getAnimationMode: () => AnimationMode;
5
+ declare const getTheme: () => string;
6
+ declare const getThemeRoot: () => string | undefined;
7
+ declare const getRTL: () => boolean | undefined;
8
+ declare const getLanguage: () => string | undefined;
9
+ /**
10
+ * Returns if the default language, that is inlined at build time,
11
+ * should be fetched over the network instead.
12
+ * @returns {Boolean}
13
+ */
14
+ declare const getFetchDefaultLanguage: () => boolean;
15
+ declare const getNoConflict: () => boolean;
16
+ /**
17
+ * Get the configured calendar type
18
+ * @returns { String } the name of the configured calendar type
19
+ */
20
+ declare const getCalendarType: () => CalendarType | undefined;
21
+ /**
22
+ * Returns the configured IANA timezone ID.
23
+ * @returns { String } the configured IANA timezone ID, e.g. "America/New_York"
24
+ */
25
+ declare const getTimezone: () => string | undefined;
26
+ declare const getFormatSettings: () => FormatSettings;
27
+ export { getAnimationMode, getTheme, getThemeRoot, getRTL, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getTimezone, getFormatSettings, };