@ui5/webcomponents-base 0.0.0-4821618b2 → 0.0.0-49cef2d02

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 (687) hide show
  1. package/.eslintignore +4 -2
  2. package/CHANGELOG.md +316 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +18 -12
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +2 -7
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +8 -0
  9. package/dist/Boot.js +31 -30
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +51 -0
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +69 -30
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -108
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +12 -54
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +63 -72
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -88
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -7
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +17 -110
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +112 -127
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -235
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +77 -0
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MarkedEvents.d.ts +9 -0
  48. package/dist/MarkedEvents.js +15 -0
  49. package/dist/MarkedEvents.js.map +1 -0
  50. package/dist/MediaRange.d.ts +37 -0
  51. package/dist/MediaRange.js +54 -65
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +72 -82
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +82 -112
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +52 -62
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +86 -0
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +4 -1
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +86 -83
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +6 -28
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/dist/Theming.d.ts +3 -0
  75. package/dist/Theming.js +1 -1
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +373 -0
  78. package/dist/UI5Element.js +930 -997
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -298
  82. package/dist/UI5ElementMetadata.js.map +1 -0
  83. package/dist/animations/AnimationQueue.d.ts +8 -0
  84. package/dist/animations/AnimationQueue.js +31 -38
  85. package/dist/animations/AnimationQueue.js.map +1 -0
  86. package/dist/animations/animate.d.ts +14 -0
  87. package/dist/animations/animate.js +46 -51
  88. package/dist/animations/animate.js.map +1 -0
  89. package/dist/animations/scroll.d.ts +5 -0
  90. package/dist/animations/scroll.js +18 -27
  91. package/dist/animations/scroll.js.map +1 -0
  92. package/dist/animations/slideDown.d.ts +5 -0
  93. package/dist/animations/slideDown.js +53 -78
  94. package/dist/animations/slideDown.js.map +1 -0
  95. package/dist/animations/slideUp.d.ts +5 -0
  96. package/dist/animations/slideUp.js +49 -70
  97. package/dist/animations/slideUp.js.map +1 -0
  98. package/dist/api.json +1 -0
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +87 -104
  101. package/dist/asset-registries/Icons.js.map +1 -0
  102. package/dist/asset-registries/Illustrations.d.ts +17 -0
  103. package/dist/asset-registries/Illustrations.js +41 -18
  104. package/dist/asset-registries/Illustrations.js.map +1 -0
  105. package/dist/asset-registries/LocaleData.d.ts +7 -0
  106. package/dist/asset-registries/LocaleData.js +104 -118
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +10 -0
  109. package/dist/asset-registries/Themes.js +38 -66
  110. package/dist/asset-registries/Themes.js.map +1 -0
  111. package/dist/asset-registries/i18n.d.ts +23 -0
  112. package/dist/asset-registries/i18n.js +55 -81
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/bundle.esm.90eb65b3.js +56 -0
  115. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  116. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  117. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  118. package/dist/config/AnimationMode.d.ts +14 -0
  119. package/dist/config/AnimationMode.js +21 -18
  120. package/dist/config/AnimationMode.js.map +1 -0
  121. package/dist/config/CalendarType.d.ts +8 -0
  122. package/dist/config/CalendarType.js +13 -12
  123. package/dist/config/CalendarType.js.map +1 -0
  124. package/dist/config/FormatSettings.d.ts +11 -0
  125. package/dist/config/FormatSettings.js +10 -8
  126. package/dist/config/FormatSettings.js.map +1 -0
  127. package/dist/config/Icons.d.ts +30 -0
  128. package/dist/config/Icons.js +48 -0
  129. package/dist/config/Icons.js.map +1 -0
  130. package/dist/config/Language.d.ts +31 -0
  131. package/dist/config/Language.js +31 -43
  132. package/dist/config/Language.js.map +1 -0
  133. package/dist/config/NoConflict.d.ts +20 -0
  134. package/dist/config/NoConflict.js +40 -41
  135. package/dist/config/NoConflict.js.map +1 -0
  136. package/dist/config/RTL.d.ts +7 -0
  137. package/dist/config/RTL.js +23 -20
  138. package/dist/config/RTL.js.map +1 -0
  139. package/dist/config/Theme.d.ts +28 -0
  140. package/dist/config/Theme.js +45 -22
  141. package/dist/config/Theme.js.map +1 -0
  142. package/dist/config/ThemeRoots.d.ts +4 -0
  143. package/dist/config/ThemeRoots.js +28 -0
  144. package/dist/config/ThemeRoots.js.map +1 -0
  145. package/dist/css/BusyIndicator.css +80 -0
  146. package/dist/css/FontFace.css +66 -0
  147. package/dist/css/OverrideFontFace.css +32 -0
  148. package/dist/css/SystemCSSVars.css +17 -0
  149. package/dist/decorators/customElement.d.ts +8 -0
  150. package/dist/decorators/customElement.js +16 -0
  151. package/dist/decorators/customElement.js.map +1 -0
  152. package/dist/decorators/event.d.ts +10 -0
  153. package/dist/decorators/event.js +24 -0
  154. package/dist/decorators/event.js.map +1 -0
  155. package/dist/decorators/fastNavigation.d.ts +7 -0
  156. package/dist/decorators/fastNavigation.js +13 -0
  157. package/dist/decorators/fastNavigation.js.map +1 -0
  158. package/dist/decorators/languageAware.d.ts +7 -0
  159. package/dist/decorators/languageAware.js +13 -0
  160. package/dist/decorators/languageAware.js.map +1 -0
  161. package/dist/decorators/property.d.ts +9 -0
  162. package/dist/decorators/property.js +24 -0
  163. package/dist/decorators/property.js.map +1 -0
  164. package/dist/decorators/slot.d.ts +9 -0
  165. package/dist/decorators/slot.js +37 -0
  166. package/dist/decorators/slot.js.map +1 -0
  167. package/dist/decorators/themeAware.d.ts +7 -0
  168. package/dist/decorators/themeAware.js +13 -0
  169. package/dist/decorators/themeAware.js.map +1 -0
  170. package/dist/delegate/ItemNavigation.d.ts +113 -0
  171. package/dist/delegate/ItemNavigation.js +277 -246
  172. package/dist/delegate/ItemNavigation.js.map +1 -0
  173. package/dist/delegate/ResizeHandler.d.ts +24 -0
  174. package/dist/delegate/ResizeHandler.js +68 -91
  175. package/dist/delegate/ResizeHandler.js.map +1 -0
  176. package/dist/delegate/ScrollEnablement.d.ts +48 -0
  177. package/dist/delegate/ScrollEnablement.js +157 -180
  178. package/dist/delegate/ScrollEnablement.js.map +1 -0
  179. package/dist/features/F6Navigation.d.ts +16 -0
  180. package/dist/features/F6Navigation.js +112 -0
  181. package/dist/features/F6Navigation.js.map +1 -0
  182. package/dist/features/OpenUI5Element.d.ts +9 -0
  183. package/dist/features/OpenUI5Element.js +5 -0
  184. package/dist/features/OpenUI5Element.js.map +1 -0
  185. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  186. package/dist/features/OpenUI5Enablement.js +96 -0
  187. package/dist/features/OpenUI5Enablement.js.map +1 -0
  188. package/dist/features/OpenUI5Support.d.ts +23 -0
  189. package/dist/features/OpenUI5Support.js +91 -119
  190. package/dist/features/OpenUI5Support.js.map +1 -0
  191. package/dist/generated/AssetParameters.js +1 -1
  192. package/dist/generated/VersionInfo.js +10 -0
  193. package/dist/generated/css/BusyIndicator.css.js +5 -0
  194. package/dist/generated/css/FontFace.css.js +5 -0
  195. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  196. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  197. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  198. package/dist/getSharedResource.d.ts +11 -0
  199. package/dist/getSharedResource.js +12 -16
  200. package/dist/getSharedResource.js.map +1 -0
  201. package/dist/i18nBundle.d.ts +43 -0
  202. package/dist/i18nBundle.js +67 -44
  203. package/dist/i18nBundle.js.map +1 -0
  204. package/dist/locale/Locale.d.ts +22 -0
  205. package/dist/locale/Locale.js +75 -87
  206. package/dist/locale/Locale.js.map +1 -0
  207. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  208. package/dist/locale/RTLAwareRegistry.js +6 -11
  209. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  210. package/dist/locale/applyDirection.d.ts +10 -0
  211. package/dist/locale/applyDirection.js +7 -7
  212. package/dist/locale/applyDirection.js.map +1 -0
  213. package/dist/locale/directionChange.d.ts +15 -0
  214. package/dist/locale/directionChange.js +7 -15
  215. package/dist/locale/directionChange.js.map +1 -0
  216. package/dist/locale/getEffectiveDir.d.ts +2 -0
  217. package/dist/locale/getEffectiveDir.js +20 -24
  218. package/dist/locale/getEffectiveDir.js.map +1 -0
  219. package/dist/locale/getLocale.d.ts +7 -0
  220. package/dist/locale/getLocale.js +26 -29
  221. package/dist/locale/getLocale.js.map +1 -0
  222. package/dist/locale/languageChange.d.ts +5 -0
  223. package/dist/locale/languageChange.js +8 -16
  224. package/dist/locale/languageChange.js.map +1 -0
  225. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  226. package/dist/locale/nextFallbackLocale.js +15 -19
  227. package/dist/locale/nextFallbackLocale.js.map +1 -0
  228. package/dist/locale/normalizeLocale.d.ts +7 -0
  229. package/dist/locale/normalizeLocale.js +34 -41
  230. package/dist/locale/normalizeLocale.js.map +1 -0
  231. package/dist/renderer/LitRenderer.d.ts +14 -0
  232. package/dist/renderer/LitRenderer.js +33 -23
  233. package/dist/renderer/LitRenderer.js.map +1 -0
  234. package/dist/renderer/directives/style-map.js +72 -0
  235. package/dist/renderer/executeTemplate.d.ts +13 -0
  236. package/dist/renderer/executeTemplate.js +20 -7
  237. package/dist/renderer/executeTemplate.js.map +1 -0
  238. package/dist/sap/base/Log.js +28 -37
  239. package/dist/sap/base/assert.js +5 -10
  240. package/dist/sap/base/security/URLListValidator.js +13 -2
  241. package/dist/sap/base/security/encodeCSS.js +14 -0
  242. package/dist/sap/base/security/encodeXML.js +23 -0
  243. package/dist/sap/base/strings/toHex.js +8 -0
  244. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  245. package/dist/theming/CustomStyle.d.ts +6 -0
  246. package/dist/theming/CustomStyle.js +37 -31
  247. package/dist/theming/CustomStyle.js.map +1 -0
  248. package/dist/theming/ThemeLoaded.d.ts +5 -0
  249. package/dist/theming/ThemeLoaded.js +8 -16
  250. package/dist/theming/ThemeLoaded.js.map +1 -0
  251. package/dist/theming/applyTheme.d.ts +2 -0
  252. package/dist/theming/applyTheme.js +62 -65
  253. package/dist/theming/applyTheme.js.map +1 -0
  254. package/dist/theming/getConstructableStyle.d.ts +9 -0
  255. package/dist/theming/getConstructableStyle.js +12 -17
  256. package/dist/theming/getConstructableStyle.js.map +1 -0
  257. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  258. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  259. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  260. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  261. package/dist/theming/getEffectiveStyle.js +25 -23
  262. package/dist/theming/getEffectiveStyle.js.map +1 -0
  263. package/dist/theming/getStylesString.d.ts +3 -0
  264. package/dist/theming/getStylesString.js +9 -11
  265. package/dist/theming/getStylesString.js.map +1 -0
  266. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  267. package/dist/theming/getThemeDesignerTheme.js +73 -60
  268. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  269. package/dist/theming/preloadLinks.d.ts +3 -0
  270. package/dist/theming/preloadLinks.js +19 -0
  271. package/dist/theming/preloadLinks.js.map +1 -0
  272. package/dist/thirdparty/_merge.d.ts +2 -0
  273. package/dist/thirdparty/_merge.js +7 -4
  274. package/dist/thirdparty/_merge.js.map +1 -0
  275. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  276. package/dist/thirdparty/isPlainObject.js +11 -10
  277. package/dist/thirdparty/isPlainObject.js.map +1 -0
  278. package/dist/thirdparty/merge.d.ts +2 -0
  279. package/dist/thirdparty/merge.js +4 -8
  280. package/dist/thirdparty/merge.js.map +1 -0
  281. package/dist/types/AnimationMode.d.ts +32 -0
  282. package/dist/types/AnimationMode.js +33 -6
  283. package/dist/types/AnimationMode.js.map +1 -0
  284. package/dist/types/CSSColor.d.ts +16 -0
  285. package/dist/types/CSSColor.js +15 -5
  286. package/dist/types/CSSColor.js.map +1 -0
  287. package/dist/types/CalendarType.d.ts +37 -0
  288. package/dist/types/CalendarType.js +35 -18
  289. package/dist/types/CalendarType.js.map +1 -0
  290. package/dist/types/DOMReference.d.ts +17 -0
  291. package/dist/types/DOMReference.js +25 -0
  292. package/dist/types/DOMReference.js.map +1 -0
  293. package/dist/types/DataType.d.ts +25 -0
  294. package/dist/types/DataType.js +33 -14
  295. package/dist/types/DataType.js.map +1 -0
  296. package/dist/types/Float.d.ts +18 -0
  297. package/dist/types/Float.js +18 -6
  298. package/dist/types/Float.js.map +1 -0
  299. package/dist/types/Integer.d.ts +18 -0
  300. package/dist/types/Integer.js +18 -5
  301. package/dist/types/Integer.js.map +1 -0
  302. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  303. package/dist/types/InvisibleMessageMode.js +20 -23
  304. package/dist/types/InvisibleMessageMode.js.map +1 -0
  305. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  306. package/dist/types/ItemNavigationBehavior.js +22 -12
  307. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  308. package/dist/types/NavigationMode.d.ts +32 -0
  309. package/dist/types/NavigationMode.js +33 -6
  310. package/dist/types/NavigationMode.js.map +1 -0
  311. package/dist/types/ValueState.d.ts +42 -0
  312. package/dist/types/ValueState.js +41 -19
  313. package/dist/types/ValueState.js.map +1 -0
  314. package/dist/types.d.ts +18 -0
  315. package/dist/types.js +2 -0
  316. package/dist/types.js.map +1 -0
  317. package/dist/updateShadowRoot.d.ts +8 -0
  318. package/dist/updateShadowRoot.js +23 -15
  319. package/dist/updateShadowRoot.js.map +1 -0
  320. package/dist/util/AriaLabelHelper.d.ts +6 -0
  321. package/dist/util/AriaLabelHelper.js +37 -34
  322. package/dist/util/AriaLabelHelper.js.map +1 -0
  323. package/dist/util/Caret.d.ts +7 -0
  324. package/dist/util/Caret.js +16 -38
  325. package/dist/util/Caret.js.map +1 -0
  326. package/dist/util/ColorConversion.d.ts +30 -0
  327. package/dist/util/ColorConversion.js +315 -348
  328. package/dist/util/ColorConversion.js.map +1 -0
  329. package/dist/util/FetchHelper.d.ts +3 -0
  330. package/dist/util/FetchHelper.js +19 -25
  331. package/dist/util/FetchHelper.js.map +1 -0
  332. package/dist/util/FocusableElements.d.ts +4 -0
  333. package/dist/util/FocusableElements.js +57 -72
  334. package/dist/util/FocusableElements.js.map +1 -0
  335. package/dist/util/HTMLSanitizer.d.ts +3 -0
  336. package/dist/util/HTMLSanitizer.js +4 -5
  337. package/dist/util/HTMLSanitizer.js.map +1 -0
  338. package/dist/util/InvisibleMessage.d.ts +10 -0
  339. package/dist/util/InvisibleMessage.js +47 -39
  340. package/dist/util/InvisibleMessage.js.map +1 -0
  341. package/dist/util/PopupUtils.d.ts +7 -0
  342. package/dist/util/PopupUtils.js +57 -76
  343. package/dist/util/PopupUtils.js.map +1 -0
  344. package/dist/util/SlotsHelper.d.ts +9 -0
  345. package/dist/util/SlotsHelper.js +22 -35
  346. package/dist/util/SlotsHelper.js.map +1 -0
  347. package/dist/util/StringHelper.d.ts +3 -0
  348. package/dist/util/StringHelper.js +17 -20
  349. package/dist/util/StringHelper.js.map +1 -0
  350. package/dist/util/TabbableElements.d.ts +17 -0
  351. package/dist/util/TabbableElements.js +53 -43
  352. package/dist/util/TabbableElements.js.map +1 -0
  353. package/dist/util/arraysAreEqual.d.ts +2 -0
  354. package/dist/util/arraysAreEqual.js +10 -12
  355. package/dist/util/arraysAreEqual.js.map +1 -0
  356. package/dist/util/clamp.d.ts +9 -0
  357. package/dist/util/clamp.js +2 -2
  358. package/dist/util/clamp.js.map +1 -0
  359. package/dist/util/createLinkInHead.d.ts +7 -0
  360. package/dist/util/createLinkInHead.js +21 -0
  361. package/dist/util/createLinkInHead.js.map +1 -0
  362. package/dist/util/createStyleInHead.d.ts +8 -0
  363. package/dist/util/createStyleInHead.js +10 -10
  364. package/dist/util/createStyleInHead.js.map +1 -0
  365. package/dist/util/debounce.d.ts +2 -0
  366. package/dist/util/debounce.js +6 -8
  367. package/dist/util/debounce.js.map +1 -0
  368. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  369. package/dist/util/detectNavigatorLanguage.js +7 -10
  370. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  371. package/dist/util/escapeRegex.d.ts +8 -0
  372. package/dist/util/escapeRegex.js +11 -0
  373. package/dist/util/escapeRegex.js.map +1 -0
  374. package/dist/util/formatMessage.d.ts +2 -0
  375. package/dist/util/formatMessage.js +15 -19
  376. package/dist/util/formatMessage.js.map +1 -0
  377. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  378. package/dist/util/generateHighlightedMarkup.js +41 -0
  379. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  380. package/dist/util/getActiveElement.d.ts +2 -0
  381. package/dist/util/getActiveElement.js +6 -8
  382. package/dist/util/getActiveElement.js.map +1 -0
  383. package/dist/util/getClassCopy.d.ts +400 -0
  384. package/dist/util/getClassCopy.js +7 -7
  385. package/dist/util/getClassCopy.js.map +1 -0
  386. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  387. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  388. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  389. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  390. package/dist/util/getEffectiveContentDensity.js +2 -3
  391. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  392. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  393. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  394. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  395. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  396. package/dist/util/getFastNavigationGroups.js +51 -0
  397. package/dist/util/getFastNavigationGroups.js.map +1 -0
  398. package/dist/util/getFileExtension.d.ts +12 -0
  399. package/dist/util/getFileExtension.js +9 -11
  400. package/dist/util/getFileExtension.js.map +1 -0
  401. package/dist/util/getNormalizedTarget.d.ts +7 -0
  402. package/dist/util/getNormalizedTarget.js +14 -0
  403. package/dist/util/getNormalizedTarget.js.map +1 -0
  404. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  405. package/dist/util/getSingletonElementInstance.js +7 -10
  406. package/dist/util/getSingletonElementInstance.js.map +1 -0
  407. package/dist/util/isElementClickable.d.ts +2 -0
  408. package/dist/util/isElementClickable.js +16 -0
  409. package/dist/util/isElementClickable.js.map +1 -0
  410. package/dist/util/isElementHidden.d.ts +2 -0
  411. package/dist/util/isElementHidden.js +8 -0
  412. package/dist/util/isElementHidden.js.map +1 -0
  413. package/dist/util/isElementInView.d.ts +6 -0
  414. package/dist/util/isElementInView.js +6 -9
  415. package/dist/util/isElementInView.js.map +1 -0
  416. package/dist/util/isElementTabbable.d.ts +9 -0
  417. package/dist/util/isElementTabbable.js +30 -0
  418. package/dist/util/isElementTabbable.js.map +1 -0
  419. package/dist/util/isValidPropertyName.d.ts +8 -0
  420. package/dist/util/isValidPropertyName.js +16 -17
  421. package/dist/util/isValidPropertyName.js.map +1 -0
  422. package/dist/util/whenDOMReady.d.ts +2 -0
  423. package/dist/util/whenDOMReady.js +11 -10
  424. package/dist/util/whenDOMReady.js.map +1 -0
  425. package/dist/util/willShowContent.d.ts +2 -0
  426. package/dist/util/willShowContent.js +7 -0
  427. package/dist/util/willShowContent.js.map +1 -0
  428. package/dist/validateThemeRoot.d.ts +2 -0
  429. package/dist/validateThemeRoot.js +47 -0
  430. package/dist/validateThemeRoot.js.map +1 -0
  431. package/global.d.ts +44 -0
  432. package/lib/generate-asset-parameters/index.js +8 -5
  433. package/lib/generate-styles/index.js +26 -0
  434. package/lib/generate-version-info/index.js +32 -0
  435. package/package-scripts.js +37 -32
  436. package/package.json +11 -12
  437. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  438. package/src/Boot.ts +61 -0
  439. package/src/CSP.ts +66 -0
  440. package/src/CustomElementsRegistry.ts +98 -0
  441. package/src/CustomElementsScope.ts +33 -0
  442. package/src/{CustomElementsScope.js → CustomElementsScopeUtils.ts} +14 -7
  443. package/src/DOMObserver.ts +28 -0
  444. package/src/{Device.js → Device.ts} +34 -10
  445. package/src/EventProvider.ts +87 -0
  446. package/src/FeaturesRegistry.ts +14 -0
  447. package/src/FontFace.ts +31 -0
  448. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +62 -17
  449. package/src/Keys.ts +295 -0
  450. package/src/ManagedStyles.ts +92 -0
  451. package/src/MarkedEvents.ts +20 -0
  452. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  453. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  454. package/src/{Render.js → Render.ts} +27 -20
  455. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  456. package/src/Runtimes.ts +114 -0
  457. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  458. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +39 -22
  459. package/src/SystemCSSVars.ts +10 -0
  460. package/src/{Theming.js → Theming.ts} +0 -0
  461. package/src/{UI5Element.js → UI5Element.ts} +305 -184
  462. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +138 -60
  463. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  464. package/src/animations/animate.ts +64 -0
  465. package/src/animations/scroll.ts +21 -0
  466. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  467. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  468. package/src/asset-registries/Icons.ts +162 -0
  469. package/src/asset-registries/Illustrations.ts +75 -0
  470. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +47 -25
  471. package/src/asset-registries/Themes.ts +67 -0
  472. package/src/asset-registries/{i18n.js → i18n.ts} +21 -24
  473. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  474. package/src/config/AnimationMode.ts +33 -0
  475. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  476. package/src/config/FormatSettings.ts +21 -0
  477. package/src/config/Icons.ts +59 -0
  478. package/src/config/{Language.js → Language.ts} +22 -18
  479. package/src/config/NoConflict.ts +67 -0
  480. package/src/config/{RTL.js → RTL.ts} +14 -4
  481. package/src/config/Theme.ts +64 -0
  482. package/src/config/ThemeRoots.ts +41 -0
  483. package/src/css/BusyIndicator.css +80 -0
  484. package/src/css/FontFace.css +66 -0
  485. package/src/css/OverrideFontFace.css +32 -0
  486. package/src/css/SystemCSSVars.css +17 -0
  487. package/src/decorators/customElement.ts +17 -0
  488. package/src/decorators/event.ts +28 -0
  489. package/src/decorators/fastNavigation.ts +14 -0
  490. package/src/decorators/languageAware.ts +14 -0
  491. package/src/decorators/property.ts +30 -0
  492. package/src/decorators/slot.ts +49 -0
  493. package/src/decorators/themeAware.ts +14 -0
  494. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +131 -23
  495. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  496. package/src/delegate/ScrollEnablement.ts +221 -0
  497. package/src/features/F6Navigation.ts +141 -0
  498. package/src/features/OpenUI5Element.ts +11 -0
  499. package/src/features/OpenUI5Enablement.ts +117 -0
  500. package/src/features/OpenUI5Support.ts +148 -0
  501. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  502. package/src/i18nBundle.ts +108 -0
  503. package/src/locale/{Locale.js → Locale.ts} +15 -5
  504. package/src/locale/RTLAwareRegistry.ts +16 -0
  505. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  506. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  507. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  508. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  509. package/src/locale/languageChange.ts +24 -0
  510. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  511. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  512. package/src/renderer/LitRenderer.ts +60 -0
  513. package/src/renderer/directives/style-map.js +72 -0
  514. package/src/renderer/executeTemplate.ts +40 -0
  515. package/src/theming/CustomStyle.ts +62 -0
  516. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  517. package/src/theming/applyTheme.ts +90 -0
  518. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  519. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  520. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +15 -4
  521. package/src/theming/getStylesString.ts +15 -0
  522. package/src/theming/getThemeDesignerTheme.ts +101 -0
  523. package/src/theming/preloadLinks.ts +24 -0
  524. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  525. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  526. package/src/thirdparty/merge.ts +5 -0
  527. package/src/types/AnimationMode.ts +33 -0
  528. package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
  529. package/src/types/CalendarType.ts +38 -0
  530. package/src/types/DOMReference.ts +28 -0
  531. package/src/types/DataType.ts +51 -0
  532. package/src/types/Float.ts +25 -0
  533. package/src/types/Integer.ts +25 -0
  534. package/src/types/InvisibleMessageMode.ts +27 -0
  535. package/src/types/ItemNavigationBehavior.ts +26 -0
  536. package/src/types/NavigationMode.ts +33 -0
  537. package/src/types/ValueState.ts +47 -0
  538. package/src/types.ts +30 -0
  539. package/src/updateShadowRoot.ts +37 -0
  540. package/src/util/AriaLabelHelper.ts +63 -0
  541. package/src/util/Caret.ts +28 -0
  542. package/src/util/ColorConversion.ts +399 -0
  543. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  544. package/src/util/FocusableElements.ts +82 -0
  545. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  546. package/src/util/InvisibleMessage.ts +69 -0
  547. package/src/util/PopupUtils.ts +114 -0
  548. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  549. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  550. package/src/util/TabbableElements.ts +70 -0
  551. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  552. package/src/util/{clamp.js → clamp.ts} +1 -1
  553. package/src/util/createLinkInHead.ts +25 -0
  554. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  555. package/src/util/{debounce.js → debounce.ts} +5 -4
  556. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  557. package/src/util/escapeRegex.ts +11 -0
  558. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  559. package/src/util/generateHighlightedMarkup.ts +43 -0
  560. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  561. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  562. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  563. package/src/util/getEffectiveContentDensity.ts +5 -0
  564. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  565. package/src/util/getFastNavigationGroups.ts +63 -0
  566. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  567. package/src/util/getNormalizedTarget.ts +16 -0
  568. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  569. package/src/util/isElementClickable.ts +19 -0
  570. package/src/util/isElementHidden.ts +9 -0
  571. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  572. package/src/util/isElementTabbable.ts +37 -0
  573. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  574. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  575. package/src/util/willShowContent.ts +7 -0
  576. package/src/validateThemeRoot.ts +58 -0
  577. package/tsconfig.json +13 -0
  578. package/used-modules.txt +4 -1
  579. package/config/.eslintrc.js +0 -3
  580. package/config/rollup.config.js +0 -1
  581. package/dist/RenderScheduler.js +0 -44
  582. package/dist/animations/config.js +0 -5
  583. package/dist/config/AssetsPath.js +0 -17
  584. package/dist/isLegacyBrowser.js +0 -3
  585. package/dist/resources/bundle.esm.js +0 -26
  586. package/dist/resources/bundle.esm.js.map +0 -1
  587. package/dist/test-resources/assets/Themes.js +0 -17
  588. package/dist/test-resources/elements/Child.js +0 -35
  589. package/dist/test-resources/elements/Generic.js +0 -84
  590. package/dist/test-resources/elements/GenericExt.js +0 -26
  591. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  592. package/dist/test-resources/elements/Parent.js +0 -41
  593. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  594. package/dist/test-resources/pages/AllTestElements.html +0 -39
  595. package/dist/test-resources/pages/Configuration.html +0 -18
  596. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  597. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  598. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  599. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  600. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  601. package/dist/test-resources/pages/i18n.html +0 -35
  602. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  603. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  604. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  605. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  606. package/dist/test-resources/specs/StaticArea.spec.js +0 -36
  607. package/dist/test-resources/specs/Theming.spec.js +0 -33
  608. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  609. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  610. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  611. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  612. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  613. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  614. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  615. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  616. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  617. package/dist/types/CSSSize.js +0 -9
  618. package/dist/types/PopupState.js +0 -37
  619. package/dist/util/encodeCSS.js +0 -24
  620. package/dist/util/findNodeOwner.js +0 -35
  621. package/dist/util/isDescendantOf.js +0 -15
  622. package/dist/util/isNodeClickable.js +0 -19
  623. package/dist/util/isNodeHidden.js +0 -9
  624. package/dist/util/isNodeTabbable.js +0 -28
  625. package/dist/util/setToArray.js +0 -10
  626. package/hash.txt +0 -1
  627. package/src/Boot.js +0 -43
  628. package/src/CustomElementsRegistry.js +0 -39
  629. package/src/DOMObserver.js +0 -65
  630. package/src/EventProvider.js +0 -91
  631. package/src/FeaturesRegistry.js +0 -11
  632. package/src/FontFace.js +0 -118
  633. package/src/Keys.js +0 -239
  634. package/src/RenderScheduler.js +0 -44
  635. package/src/SystemCSSVars.js +0 -31
  636. package/src/animations/animate.js +0 -53
  637. package/src/animations/config.js +0 -5
  638. package/src/animations/scroll.js +0 -28
  639. package/src/asset-registries/Icons.js +0 -121
  640. package/src/asset-registries/Illustrations.js +0 -23
  641. package/src/asset-registries/Themes.js +0 -78
  642. package/src/config/AnimationMode.js +0 -23
  643. package/src/config/AssetsPath.js +0 -17
  644. package/src/config/FormatSettings.js +0 -13
  645. package/src/config/NoConflict.js +0 -51
  646. package/src/config/Theme.js +0 -28
  647. package/src/delegate/ScrollEnablement.js +0 -188
  648. package/src/features/OpenUI5Support.js +0 -125
  649. package/src/i18nBundle.js +0 -55
  650. package/src/isLegacyBrowser.js +0 -3
  651. package/src/locale/RTLAwareRegistry.js +0 -14
  652. package/src/locale/languageChange.js +0 -22
  653. package/src/renderer/LitRenderer.js +0 -31
  654. package/src/renderer/executeTemplate.js +0 -17
  655. package/src/theming/CustomStyle.js +0 -40
  656. package/src/theming/applyTheme.js +0 -78
  657. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  658. package/src/theming/getStylesString.js +0 -13
  659. package/src/theming/getThemeDesignerTheme.js +0 -67
  660. package/src/thirdparty/merge.js +0 -10
  661. package/src/types/AnimationMode.js +0 -7
  662. package/src/types/CSSSize.js +0 -9
  663. package/src/types/CalendarType.js +0 -22
  664. package/src/types/DataType.js +0 -25
  665. package/src/types/Float.js +0 -10
  666. package/src/types/Integer.js +0 -9
  667. package/src/types/InvisibleMessageMode.js +0 -30
  668. package/src/types/ItemNavigationBehavior.js +0 -16
  669. package/src/types/NavigationMode.js +0 -7
  670. package/src/types/PopupState.js +0 -37
  671. package/src/types/ValueState.js +0 -22
  672. package/src/updateShadowRoot.js +0 -26
  673. package/src/util/AriaLabelHelper.js +0 -41
  674. package/src/util/Caret.js +0 -45
  675. package/src/util/ColorConversion.js +0 -370
  676. package/src/util/FocusableElements.js +0 -77
  677. package/src/util/InvisibleMessage.js +0 -48
  678. package/src/util/PopupUtils.js +0 -93
  679. package/src/util/TabbableElements.js +0 -47
  680. package/src/util/encodeCSS.js +0 -24
  681. package/src/util/findNodeOwner.js +0 -35
  682. package/src/util/getEffectiveContentDensity.js +0 -5
  683. package/src/util/isDescendantOf.js +0 -15
  684. package/src/util/isNodeClickable.js +0 -19
  685. package/src/util/isNodeHidden.js +0 -9
  686. package/src/util/isNodeTabbable.js +0 -28
  687. package/src/util/setToArray.js +0 -10
@@ -0,0 +1,59 @@
1
+ import { getTheme, isThemeFamily } from "./Theme.js";
2
+
3
+ const IconCollectionConfiguration = new Map<string, string>();
4
+
5
+ enum IconCollection {
6
+ v4 = "SAP-icons",
7
+ v5 = "SAP-icons-v5",
8
+ }
9
+
10
+ /**
11
+ * Sets the default icon collection (SAP-icons font v4 or SAP-icons font v5) per theme,
12
+ * which will be applied in case icon collection is not specified.
13
+ *
14
+ * Note: by default SAP-icons-v5 is used in all SAP Horizon variants and SAP-icons-v4 for all the rest.
15
+ * @public
16
+ * @param {string} theme
17
+ * @param {IconCollection} collectionName
18
+ */
19
+ const setDefaultIconCollection = (theme: string, collectionName: "horizon" | IconCollection) => {
20
+ if (collectionName === "horizon") {
21
+ collectionName = IconCollection.v5;
22
+ }
23
+
24
+ IconCollectionConfiguration.set(theme, collectionName);
25
+ };
26
+
27
+ /**
28
+ * Returns the default icon collection (v4 or v5) for given theme,
29
+ * that is configured.
30
+ *
31
+ * @param {string} theme
32
+ * @public
33
+ * @returns {string | undefined}
34
+ */
35
+ const getDefaultIconCollection = (theme: string): string | undefined => {
36
+ return IconCollectionConfiguration.get(theme);
37
+ };
38
+
39
+ /**
40
+ * Returns the effective icon collection that will be applied for icon web components
41
+ * whenever namespace is not specified.
42
+ * @returns {string}
43
+ */
44
+ const getEffectiveDefaultIconCollection = () => {
45
+ const currentTheme = getTheme();
46
+ const currentThemeConfiguration = IconCollectionConfiguration.get(currentTheme);
47
+
48
+ if (currentThemeConfiguration) {
49
+ return currentThemeConfiguration;
50
+ }
51
+
52
+ return isThemeFamily("sap_horizon") ? IconCollection.v5 : IconCollection.v4;
53
+ };
54
+
55
+ export {
56
+ setDefaultIconCollection,
57
+ getDefaultIconCollection,
58
+ getEffectiveDefaultIconCollection,
59
+ };
@@ -5,35 +5,37 @@ import {
5
5
  import { fireLanguageChange } from "../locale/languageChange.js";
6
6
  import { reRenderAllUI5Elements } from "../Render.js";
7
7
 
8
- let language;
9
- let fetchDefaultLanguage;
8
+ let curLanguage: string | undefined;
9
+ let fetchDefaultLanguage: boolean;
10
10
 
11
11
  /**
12
- * Returns the currently configured language, or the browser language as a fallback
13
- * @returns {String}
12
+ * Returns the currently configured language, or the browser language as a fallback.
13
+ * @public
14
+ * @returns {string}
14
15
  */
15
- const getLanguage = () => {
16
- if (language === undefined) {
17
- language = getConfiguredLanguage();
16
+ const getLanguage = (): string | undefined => {
17
+ if (curLanguage === undefined) {
18
+ curLanguage = getConfiguredLanguage();
18
19
  }
19
- return language;
20
+ return curLanguage;
20
21
  };
21
22
 
22
23
  /**
23
24
  * Changes the current language, re-fetches all message bundles, updates all language-aware components
24
- * and returns a promise that resolves when all rendering is done
25
+ * and returns a promise that resolves when all rendering is done.
25
26
  *
26
- * @param newLanguage
27
+ * @param {string} language
28
+ * @public
27
29
  * @returns {Promise<void>}
28
30
  */
29
- const setLanguage = async newLanguage => {
30
- if (language === newLanguage) {
31
+ const setLanguage = async (language: string): Promise<void> => {
32
+ if (curLanguage === language) {
31
33
  return;
32
34
  }
33
35
 
34
- language = newLanguage;
36
+ curLanguage = language;
35
37
 
36
- await fireLanguageChange(newLanguage);
38
+ await fireLanguageChange(language);
37
39
  await reRenderAllUI5Elements({ languageAware: true });
38
40
  };
39
41
 
@@ -42,17 +44,19 @@ const setLanguage = async newLanguage => {
42
44
  * fetched over the network instead of using the inlined one.
43
45
  * <b>Note:</b> By default the language will not be fetched.
44
46
  *
45
- * @param {Boolean} fetchDefaultLanguage
47
+ * @public
48
+ * @param {boolean} fetchDefaultLang
46
49
  */
47
- const setFetchDefaultLanguage = fetchDefaultLang => {
50
+ const setFetchDefaultLanguage = (fetchDefaultLang: boolean) => {
48
51
  fetchDefaultLanguage = fetchDefaultLang;
49
52
  };
50
53
 
51
54
  /**
52
55
  * Returns if the default language, that is inlined, should be fetched over the network.
53
- * @returns {Boolean}
56
+ * @public
57
+ * @returns {boolean}
54
58
  */
55
- const getFetchDefaultLanguage = () => {
59
+ const getFetchDefaultLanguage = (): boolean => {
56
60
  if (fetchDefaultLanguage === undefined) {
57
61
  setFetchDefaultLanguage(getConfiguredFetchDefaultLanguage());
58
62
  }
@@ -0,0 +1,67 @@
1
+ import { getNoConflict as getConfiguredNoConflict } from "../InitialConfiguration.js";
2
+
3
+ // Fire these events even with noConflict: true
4
+ const excludeList = [
5
+ "value-changed",
6
+ ];
7
+
8
+ type NoConflictData = boolean | { events: Array<string>};
9
+
10
+ let noConflict: NoConflictData;
11
+
12
+ const shouldFireOriginalEvent = (eventName: string) => {
13
+ return excludeList.includes(eventName);
14
+ };
15
+
16
+ const shouldNotFireOriginalEvent = (eventName: string) => {
17
+ const nc = getNoConflict();
18
+ // return !(nc.events && nc.events.includes && nc.events.includes(eventName));
19
+ return !(typeof nc !== "boolean" && nc.events && nc.events.includes && nc.events.includes(eventName));
20
+ };
21
+
22
+ /**
23
+ * Returns if the "noConflict" configuration is set.
24
+ * @public
25
+ * @returns { NoConflictData }
26
+ */
27
+ const getNoConflict = (): NoConflictData => {
28
+ if (noConflict === undefined) {
29
+ noConflict = getConfiguredNoConflict();
30
+ }
31
+
32
+ return noConflict;
33
+ };
34
+
35
+ /**
36
+ * Sets the "noConflict" mode.
37
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
38
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
39
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
40
+ * @public
41
+ * @param { NoConflictData } noConflictData
42
+ */
43
+ const setNoConflict = (noConflictData: NoConflictData) => {
44
+ noConflict = noConflictData;
45
+ };
46
+
47
+ const skipOriginalEvent = (eventName: string) => {
48
+ const nc = getNoConflict();
49
+
50
+ // Always fire these events
51
+ if (shouldFireOriginalEvent(eventName)) {
52
+ return false;
53
+ }
54
+
55
+ // Read from the configuration
56
+ if (nc === true) {
57
+ return true;
58
+ }
59
+
60
+ return !shouldNotFireOriginalEvent(eventName);
61
+ };
62
+
63
+ export {
64
+ getNoConflict,
65
+ setNoConflict,
66
+ skipOriginalEvent,
67
+ };
@@ -12,16 +12,26 @@ const M_ISO639_OLD_TO_NEW = {
12
12
 
13
13
  const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
14
14
 
15
- const impliesRTL = language => {
16
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
15
+ /**
16
+ * Checks whether the language is using RTL
17
+ * @param {string} language
18
+ * @returns {boolean} whether the language is using RTL
19
+ */
20
+ const impliesRTL = (language: string) => {
21
+ language = (language && M_ISO639_OLD_TO_NEW[language as keyof typeof M_ISO639_OLD_TO_NEW]) || language;
17
22
 
18
23
  return A_RTL_LOCALES.indexOf(language) >= 0;
19
24
  };
20
25
 
21
- const getRTL = () => {
26
+ /**
27
+ * Gets the effective RTL setting by first checking the configuration
28
+ * and if not set using the currently set language or the navigator language if the language is not explicitly set.
29
+ * @returns {boolean} whether RTL should be used
30
+ */
31
+ const getRTL = (): boolean => {
22
32
  const configurationRTL = getConfiguredRTL();
23
33
 
24
- if (configurationRTL !== null) {
34
+ if (configurationRTL !== undefined) {
25
35
  return !!configurationRTL;
26
36
  }
27
37
 
@@ -0,0 +1,64 @@
1
+ import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
+ import { reRenderAllUI5Elements } from "../Render.js";
3
+ import applyTheme from "../theming/applyTheme.js";
4
+
5
+ let curTheme: string;
6
+
7
+ /**
8
+ * Returns the current theme.
9
+ * @public
10
+ * @returns {string} the current theme name
11
+ */
12
+ const getTheme = (): string => {
13
+ if (curTheme === undefined) {
14
+ curTheme = getConfiguredTheme();
15
+ }
16
+
17
+ return curTheme;
18
+ };
19
+
20
+ /**
21
+ * Applies a new theme after fetching its assets from the network.
22
+ * @public
23
+ * @param {string} theme the name of the new theme
24
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
25
+ */
26
+ const setTheme = async (theme: string): Promise<void> => {
27
+ if (curTheme === theme) {
28
+ return;
29
+ }
30
+
31
+ curTheme = theme;
32
+
33
+ // Update CSS Custom Properties
34
+ await applyTheme(curTheme);
35
+ await reRenderAllUI5Elements({ themeAware: true });
36
+ };
37
+
38
+ /**
39
+ * Returns if the given theme name is the one currently applied.
40
+ * @private
41
+ * @param {string} theme
42
+ * @returns {boolean}
43
+ */
44
+ const isTheme = (theme: string) => {
45
+ const currentTheme = getTheme();
46
+ return currentTheme === theme || currentTheme === `${theme}_exp`;
47
+ };
48
+
49
+ /**
50
+ * Returns if the current theme is part of given theme family.
51
+ * @private
52
+ * @param {string} theme the theme family
53
+ * @returns {boolean}
54
+ */
55
+ const isThemeFamily = (theme: string) => {
56
+ return getTheme().startsWith(theme);
57
+ };
58
+
59
+ export {
60
+ getTheme,
61
+ setTheme,
62
+ isTheme,
63
+ isThemeFamily,
64
+ };
@@ -0,0 +1,41 @@
1
+ import createLinkInHead from "../util/createLinkInHead.js";
2
+ import validateThemeRoot from "../validateThemeRoot.js";
3
+ import { getThemeRoot as getConfiguredThemeRoot } from "../InitialConfiguration.js";
4
+
5
+ let themeRoot: string | undefined;
6
+
7
+ const getThemeRoot = (): string | undefined => {
8
+ if (themeRoot === undefined) {
9
+ themeRoot = getConfiguredThemeRoot();
10
+ }
11
+
12
+ return themeRoot;
13
+ };
14
+
15
+ const setThemeRoot = (theme: string, newThemeRoot: string) => {
16
+ themeRoot = validateThemeRoot(newThemeRoot);
17
+
18
+ if (themeRoot) {
19
+ attachCustomThemeStylesToHead(theme);
20
+ }
21
+ };
22
+
23
+ const formatThemeLink = (theme: string) => {
24
+ return `${getThemeRoot()!}Base/baseLib/${theme}/css_variables.css`; // theme root is always set.
25
+ };
26
+
27
+ const attachCustomThemeStylesToHead = async (theme: string) => {
28
+ const link = document.querySelector(`[sap-ui-webcomponents-theme="${theme}"]`);
29
+
30
+ if (link) {
31
+ document.head.removeChild(link);
32
+ }
33
+
34
+ await createLinkInHead(formatThemeLink(theme), { "sap-ui-webcomponents-theme": theme });
35
+ };
36
+
37
+ export {
38
+ getThemeRoot,
39
+ setThemeRoot,
40
+ attachCustomThemeStylesToHead,
41
+ };
@@ -0,0 +1,80 @@
1
+ .busy-indicator-wrapper {
2
+ position: relative;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .busy-indicator-overlay {
8
+ display: var(--ui5_web_components_busy_indicator_display);
9
+ position: absolute;
10
+ inset: 0;
11
+ background: var(--ui5_web_components_busy_indicator_background-color);
12
+ z-index: 99;
13
+ }
14
+
15
+ .busy-indicator-busy-area {
16
+ display: var(--ui5_web_components_busy_indicator_display);
17
+ position: absolute;
18
+ z-index: 99;
19
+ inset: 0;
20
+ justify-content: center;
21
+ align-items: center;
22
+ background-color: inherit;
23
+ flex-direction: column;
24
+ color: var(--_ui5_busy_indicator_color);
25
+ }
26
+
27
+ :host([__is-busy]) .busy-indicator-wrapper > :not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]) {
28
+ --ui5_web_components_busy_indicator_display: none;
29
+ }
30
+
31
+ .busy-indicator-busy-area:focus {
32
+ outline: var(--_ui5_busy_indicator_focus_outline);
33
+ outline-offset: -.125rem;
34
+ }
35
+
36
+ .busy-indicator-circle {
37
+ width: 1rem;
38
+ height: 1rem;
39
+ display: inline-block;
40
+ background-color: currentColor;
41
+ border-radius: 50%;
42
+ }
43
+
44
+ .circle-animation-0 {
45
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
46
+ }
47
+
48
+ .circle-animation-1 {
49
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
50
+ animation-delay: 200ms;
51
+ }
52
+
53
+ .circle-animation-2 {
54
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
55
+ animation-delay: 400ms;
56
+ }
57
+
58
+ .sapUiLocalBusy {
59
+ --ui5_web_components_busy_indicator_display: none;
60
+ }
61
+
62
+ .busy-indicator-wrapper [ui5-busy-indicator] {
63
+ display: none;
64
+ }
65
+
66
+ @keyframes grow {
67
+ 0%, 50%, 100% {
68
+ -webkit-transform: scale(0.5);
69
+ -moz-transform: scale(0.5);
70
+ -ms-transform: scale(0.5);
71
+ transform: scale(0.5);
72
+ }
73
+
74
+ 25% {
75
+ -webkit-transform: scale(1);
76
+ -moz-transform: scale(1);
77
+ -ms-transform: scale(1);
78
+ transform: scale(1);
79
+ }
80
+ }
@@ -0,0 +1,66 @@
1
+ @font-face {
2
+ font-family: "72";
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ src: local("72"),
6
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2");
7
+ }
8
+
9
+ @font-face {
10
+ font-family: "72full";
11
+ font-style: normal;
12
+ font-weight: 400;
13
+ src: local('72-full'),
14
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2");
15
+
16
+ }
17
+
18
+ @font-face {
19
+ font-family: "72";
20
+ font-style: normal;
21
+ font-weight: 700;
22
+ src: local('72-Bold'),
23
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
24
+ }
25
+
26
+ @font-face {
27
+ font-family: "72full";
28
+ font-style: normal;
29
+ font-weight: 700;
30
+ src: local('72-Bold-full'),
31
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
32
+ }
33
+
34
+ @font-face {
35
+ font-family: '72-Bold';
36
+ font-style: normal;
37
+ src: local('72-Bold'),
38
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
39
+ }
40
+
41
+ @font-face {
42
+ font-family: '72-Boldfull';
43
+ font-style: normal;
44
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
45
+ }
46
+
47
+ @font-face {
48
+ font-family: '72-Light';
49
+ font-style: normal;
50
+ src: local('72-Light'),
51
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2");
52
+ }
53
+
54
+ @font-face {
55
+ font-family: '72-Lightfull';
56
+ font-style: normal;
57
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
58
+ }
59
+
60
+ @font-face {
61
+ font-family: "72Black";
62
+ font-style: bold;
63
+ font-weight: 900;
64
+ src: local('72Black'),
65
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2");
66
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Some diacritics are supported by the 72 font:
3
+ * * Grave
4
+ * * Acute
5
+ * * Circumflex
6
+ * * Tilde
7
+ *
8
+ * However, the following diacritics and the combination of multiple diacritics (including the supported ones) are not supported:
9
+ * * Breve
10
+ * * Horn
11
+ * * Dot below
12
+ * * Hook above
13
+ *
14
+ *
15
+ * Override for the characters that aren't covered by the '72' font to other system fonts
16
+ *
17
+ * U+0102-0103: A and a with Breve
18
+ * U+01A0-01A1: O and o with Horn
19
+ * U+01AF-01B0: U and u with Horn
20
+ * U+1EA0-1EB7: A and a with diacritics that are not supported by the font and combination of multiple diacritics
21
+ * U+1EB8-1EC7: E and e with diacritics that are not supported by the font and combination of multiple diacritics
22
+ * U+1EC8-1ECB: I and i with diacritics that are not supported by the font and combination of multiple diacritics
23
+ * U+1ECC-1EE3: O and o with diacritics that are not supported by the font and combination of multiple diacritics
24
+ * U+1EE4-1EF1: U and u with diacritics that are not supported by the font and combination of multiple diacritics
25
+ * U+1EF4-1EF7: Y and y with diacritics that are not supported by the font and combination of multiple diacritics
26
+ *
27
+ */
28
+ @font-face {
29
+ font-family: '72override';
30
+ 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;
31
+ src: local('Arial'), local('Helvetica'), local('sans-serif');
32
+ }
@@ -0,0 +1,17 @@
1
+ :root {
2
+ --_ui5_content_density:cozy;
3
+ }
4
+
5
+ [data-ui5-compact-size],
6
+ .ui5-content-density-compact,
7
+ .sapUiSizeCompact {
8
+ --_ui5_content_density:compact;
9
+ }
10
+
11
+ [dir="rtl"] {
12
+ --_ui5_dir:rtl;
13
+ }
14
+
15
+ [dir="ltr"] {
16
+ --_ui5_dir:ltr;
17
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns a custom element class decorator.
3
+ *
4
+ * @param { string } tag
5
+ * @returns { ClassDecorator }
6
+ */
7
+ const customElement = (tag: string): ClassDecorator => {
8
+ return (target: any) => {
9
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
10
+ target.decoratorMetadata = {};
11
+ }
12
+
13
+ target.decoratorMetadata.tag = tag;
14
+ };
15
+ };
16
+
17
+ export default customElement;
@@ -0,0 +1,28 @@
1
+ import { EventData } from "../UI5ElementMetadata.js";
2
+
3
+ /**
4
+ * Returns an event class decorator.
5
+ *
6
+ * @param { string } name the event name
7
+ * @param { EventData } data the event data
8
+ * @returns { ClassDecorator }
9
+ */
10
+ const event = (name: string, data: EventData = {}): ClassDecorator => {
11
+ return (target: any) => {
12
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
13
+ target.decoratorMetadata = {};
14
+ }
15
+
16
+ const decoratorMetadata = target.decoratorMetadata;
17
+ if (!decoratorMetadata.events) {
18
+ decoratorMetadata.events = {};
19
+ }
20
+
21
+ const eventsMetadata = decoratorMetadata.events;
22
+ if (!eventsMetadata[name]) {
23
+ eventsMetadata[name] = data;
24
+ }
25
+ };
26
+ };
27
+
28
+ export default event;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Class decorator, that sets the fastNavigation metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ const fastNavigation = (target: any): void => {
7
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
8
+ target.decoratorMetadata = {};
9
+ }
10
+
11
+ target.decoratorMetadata.fastNavigation = true;
12
+ };
13
+
14
+ export default fastNavigation;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Class decorator, that sets the languageAware metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ const languageAware = (target: any): void => {
7
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
8
+ target.decoratorMetadata = {};
9
+ }
10
+
11
+ target.decoratorMetadata.languageAware = true;
12
+ };
13
+
14
+ export default languageAware;
@@ -0,0 +1,30 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ import { Property } from "../UI5ElementMetadata.js";
3
+
4
+ /**
5
+ * Returns a property decorator.
6
+ *
7
+ * @param { Property } propData
8
+ * @returns { PropertyDecorator }
9
+ */
10
+ const property = (propData?: Property): PropertyDecorator => {
11
+ return (target: any, propertyKey: string | symbol) => {
12
+ const ctor = target.constructor as typeof UI5Element;
13
+
14
+ if (!Object.prototype.hasOwnProperty.call(ctor, "decoratorMetadata")) {
15
+ ctor.decoratorMetadata = {};
16
+ }
17
+
18
+ const decoratorMetadata = ctor.decoratorMetadata;
19
+ if (!decoratorMetadata.properties) {
20
+ decoratorMetadata.properties = {};
21
+ }
22
+
23
+ const propsMetadata = decoratorMetadata.properties;
24
+ if (!propsMetadata[propertyKey as string]) {
25
+ propsMetadata[propertyKey as string] = propData || { type: String };
26
+ }
27
+ };
28
+ };
29
+
30
+ export default property;