@ui5/webcomponents-base 1.9.3 → 1.10.1

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 +1 -0
  2. package/CHANGELOG.md +37 -0
  3. package/LICENSE.txt +201 -0
  4. package/bundle.esm.js +4 -1
  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 +29 -48
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +16 -24
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +66 -83
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +10 -29
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +34 -52
  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 +53 -83
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -82
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -10
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +14 -19
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +107 -146
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -291
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +62 -68
  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 +81 -113
  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 +49 -70
  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 +84 -94
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +4 -5
  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 +928 -1006
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +277 -313
  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 -1
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +85 -118
  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 +37 -50
  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 -126
  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 +36 -68
  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 +52 -80
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/bundle.esm.405f7937.js +56 -0
  115. package/dist/assets/test/pages/i18n.html.0fd577d8.js +1 -0
  116. package/dist/assets/test/pages/i18n_texts.html.699a5556.js +1 -0
  117. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  118. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  119. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  120. package/dist/config/AnimationMode.d.ts +14 -0
  121. package/dist/config/AnimationMode.js +21 -18
  122. package/dist/config/AnimationMode.js.map +1 -0
  123. package/dist/config/CalendarType.d.ts +8 -0
  124. package/dist/config/CalendarType.js +13 -12
  125. package/dist/config/CalendarType.js.map +1 -0
  126. package/dist/config/FormatSettings.d.ts +11 -0
  127. package/dist/config/FormatSettings.js +10 -8
  128. package/dist/config/FormatSettings.js.map +1 -0
  129. package/dist/config/Icons.d.ts +30 -0
  130. package/dist/config/Icons.js +28 -32
  131. package/dist/config/Icons.js.map +1 -0
  132. package/dist/config/Language.d.ts +31 -0
  133. package/dist/config/Language.js +31 -43
  134. package/dist/config/Language.js.map +1 -0
  135. package/dist/config/NoConflict.d.ts +20 -0
  136. package/dist/config/NoConflict.js +40 -41
  137. package/dist/config/NoConflict.js.map +1 -0
  138. package/dist/config/RTL.d.ts +7 -0
  139. package/dist/config/RTL.js +23 -20
  140. package/dist/config/RTL.js.map +1 -0
  141. package/dist/config/Theme.d.ts +28 -0
  142. package/dist/config/Theme.js +34 -36
  143. package/dist/config/Theme.js.map +1 -0
  144. package/dist/config/ThemeRoots.d.ts +4 -0
  145. package/dist/config/ThemeRoots.js +18 -29
  146. package/dist/config/ThemeRoots.js.map +1 -0
  147. package/dist/decorators/customElement.d.ts +8 -0
  148. package/dist/decorators/customElement.js +16 -0
  149. package/dist/decorators/customElement.js.map +1 -0
  150. package/dist/decorators/event.d.ts +10 -0
  151. package/dist/decorators/event.js +24 -0
  152. package/dist/decorators/event.js.map +1 -0
  153. package/dist/decorators/fastNavigation.d.ts +7 -0
  154. package/dist/decorators/fastNavigation.js +13 -0
  155. package/dist/decorators/fastNavigation.js.map +1 -0
  156. package/dist/decorators/languageAware.d.ts +7 -0
  157. package/dist/decorators/languageAware.js +13 -0
  158. package/dist/decorators/languageAware.js.map +1 -0
  159. package/dist/decorators/property.d.ts +9 -0
  160. package/dist/decorators/property.js +24 -0
  161. package/dist/decorators/property.js.map +1 -0
  162. package/dist/decorators/slot.d.ts +9 -0
  163. package/dist/decorators/slot.js +37 -0
  164. package/dist/decorators/slot.js.map +1 -0
  165. package/dist/decorators/themeAware.d.ts +7 -0
  166. package/dist/decorators/themeAware.js +13 -0
  167. package/dist/decorators/themeAware.js.map +1 -0
  168. package/dist/delegate/ItemNavigation.d.ts +113 -0
  169. package/dist/delegate/ItemNavigation.js +277 -317
  170. package/dist/delegate/ItemNavigation.js.map +1 -0
  171. package/dist/delegate/ResizeHandler.d.ts +24 -0
  172. package/dist/delegate/ResizeHandler.js +68 -91
  173. package/dist/delegate/ResizeHandler.js.map +1 -0
  174. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  175. package/dist/delegate/ScrollEnablement.js +157 -180
  176. package/dist/delegate/ScrollEnablement.js.map +1 -0
  177. package/dist/features/F6Navigation.d.ts +16 -0
  178. package/dist/features/F6Navigation.js +105 -109
  179. package/dist/features/F6Navigation.js.map +1 -0
  180. package/dist/features/OpenUI5Element.d.ts +9 -0
  181. package/dist/features/OpenUI5Element.js +5 -0
  182. package/dist/features/OpenUI5Element.js.map +1 -0
  183. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  184. package/dist/features/OpenUI5Enablement.js +89 -112
  185. package/dist/features/OpenUI5Enablement.js.map +1 -0
  186. package/dist/features/OpenUI5Support.d.ts +23 -0
  187. package/dist/features/OpenUI5Support.js +91 -120
  188. package/dist/features/OpenUI5Support.js.map +1 -0
  189. package/dist/generated/VersionInfo.js +4 -4
  190. package/dist/getSharedResource.d.ts +11 -0
  191. package/dist/getSharedResource.js +12 -16
  192. package/dist/getSharedResource.js.map +1 -0
  193. package/dist/global.d.ts +44 -0
  194. package/dist/i18nBundle.d.ts +43 -0
  195. package/dist/i18nBundle.js +56 -64
  196. package/dist/i18nBundle.js.map +1 -0
  197. package/dist/locale/Locale.d.ts +22 -0
  198. package/dist/locale/Locale.js +75 -87
  199. package/dist/locale/Locale.js.map +1 -0
  200. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  201. package/dist/locale/RTLAwareRegistry.js +6 -11
  202. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  203. package/dist/locale/applyDirection.d.ts +10 -0
  204. package/dist/locale/applyDirection.js +7 -7
  205. package/dist/locale/applyDirection.js.map +1 -0
  206. package/dist/locale/directionChange.d.ts +15 -0
  207. package/dist/locale/directionChange.js +7 -15
  208. package/dist/locale/directionChange.js.map +1 -0
  209. package/dist/locale/getEffectiveDir.d.ts +2 -0
  210. package/dist/locale/getEffectiveDir.js +20 -24
  211. package/dist/locale/getEffectiveDir.js.map +1 -0
  212. package/dist/locale/getLocale.d.ts +7 -0
  213. package/dist/locale/getLocale.js +26 -29
  214. package/dist/locale/getLocale.js.map +1 -0
  215. package/dist/locale/languageChange.d.ts +5 -0
  216. package/dist/locale/languageChange.js +8 -16
  217. package/dist/locale/languageChange.js.map +1 -0
  218. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  219. package/dist/locale/nextFallbackLocale.js +15 -19
  220. package/dist/locale/nextFallbackLocale.js.map +1 -0
  221. package/dist/locale/normalizeLocale.d.ts +7 -0
  222. package/dist/locale/normalizeLocale.js +34 -41
  223. package/dist/locale/normalizeLocale.js.map +1 -0
  224. package/dist/renderer/LitRenderer.d.ts +14 -0
  225. package/dist/renderer/LitRenderer.js +28 -39
  226. package/dist/renderer/LitRenderer.js.map +1 -0
  227. package/dist/renderer/executeTemplate.d.ts +13 -0
  228. package/dist/renderer/executeTemplate.js +12 -16
  229. package/dist/renderer/executeTemplate.js.map +1 -0
  230. package/dist/sap/base/Log.js +28 -29
  231. package/dist/sap/base/assert.js +5 -6
  232. package/dist/sap/base/security/URLListValidator.js +13 -2
  233. package/dist/test/pages/AllTestElements.html +42 -0
  234. package/dist/test/pages/Configuration.html +18 -0
  235. package/dist/test/pages/ConfigurationScript.html +34 -0
  236. package/dist/test/pages/WithComplexTemplate.html +22 -0
  237. package/dist/test/pages/i18n.html +20 -0
  238. package/dist/test/pages/i18n_texts.html +88 -0
  239. package/dist/theming/CustomStyle.d.ts +6 -0
  240. package/dist/theming/CustomStyle.js +29 -43
  241. package/dist/theming/CustomStyle.js.map +1 -0
  242. package/dist/theming/ThemeLoaded.d.ts +5 -0
  243. package/dist/theming/ThemeLoaded.js +8 -16
  244. package/dist/theming/ThemeLoaded.js.map +1 -0
  245. package/dist/theming/applyTheme.d.ts +2 -0
  246. package/dist/theming/applyTheme.js +59 -68
  247. package/dist/theming/applyTheme.js.map +1 -0
  248. package/dist/theming/getConstructableStyle.d.ts +9 -0
  249. package/dist/theming/getConstructableStyle.js +12 -17
  250. package/dist/theming/getConstructableStyle.js.map +1 -0
  251. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  252. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  253. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  254. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  255. package/dist/theming/getEffectiveStyle.js +24 -31
  256. package/dist/theming/getEffectiveStyle.js.map +1 -0
  257. package/dist/theming/getStylesString.d.ts +3 -0
  258. package/dist/theming/getStylesString.js +9 -13
  259. package/dist/theming/getStylesString.js.map +1 -0
  260. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  261. package/dist/theming/getThemeDesignerTheme.js +72 -79
  262. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  263. package/dist/theming/preloadLinks.d.ts +3 -0
  264. package/dist/theming/preloadLinks.js +13 -17
  265. package/dist/theming/preloadLinks.js.map +1 -0
  266. package/dist/thirdparty/_merge.d.ts +2 -0
  267. package/dist/thirdparty/_merge.js +7 -4
  268. package/dist/thirdparty/_merge.js.map +1 -0
  269. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  270. package/dist/thirdparty/isPlainObject.js +11 -10
  271. package/dist/thirdparty/isPlainObject.js.map +1 -0
  272. package/dist/thirdparty/merge.d.ts +2 -0
  273. package/dist/thirdparty/merge.js +4 -8
  274. package/dist/thirdparty/merge.js.map +1 -0
  275. package/dist/types/AnimationMode.d.ts +32 -0
  276. package/dist/types/AnimationMode.js +33 -6
  277. package/dist/types/AnimationMode.js.map +1 -0
  278. package/dist/types/CSSColor.d.ts +16 -0
  279. package/dist/types/CSSColor.js +6 -7
  280. package/dist/types/CSSColor.js.map +1 -0
  281. package/dist/types/CalendarType.d.ts +37 -0
  282. package/dist/types/CalendarType.js +33 -53
  283. package/dist/types/CalendarType.js.map +1 -0
  284. package/dist/types/DOMReference.d.ts +17 -0
  285. package/dist/types/DOMReference.js +12 -15
  286. package/dist/types/DOMReference.js.map +1 -0
  287. package/dist/types/DataType.d.ts +25 -0
  288. package/dist/types/DataType.js +33 -32
  289. package/dist/types/DataType.js.map +1 -0
  290. package/dist/types/Float.d.ts +18 -0
  291. package/dist/types/Float.js +9 -12
  292. package/dist/types/Float.js.map +1 -0
  293. package/dist/types/Integer.d.ts +18 -0
  294. package/dist/types/Integer.js +9 -11
  295. package/dist/types/Integer.js.map +1 -0
  296. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  297. package/dist/types/InvisibleMessageMode.js +19 -38
  298. package/dist/types/InvisibleMessageMode.js.map +1 -0
  299. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  300. package/dist/types/ItemNavigationBehavior.js +22 -12
  301. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  302. package/dist/types/NavigationMode.d.ts +32 -0
  303. package/dist/types/NavigationMode.js +33 -6
  304. package/dist/types/NavigationMode.js.map +1 -0
  305. package/dist/types/ValueState.d.ts +42 -0
  306. package/dist/types/ValueState.js +38 -58
  307. package/dist/types/ValueState.js.map +1 -0
  308. package/dist/types.d.ts +18 -0
  309. package/dist/types.js +2 -0
  310. package/dist/types.js.map +1 -0
  311. package/dist/updateShadowRoot.d.ts +8 -0
  312. package/dist/updateShadowRoot.js +21 -16
  313. package/dist/updateShadowRoot.js.map +1 -0
  314. package/dist/util/AriaLabelHelper.d.ts +6 -0
  315. package/dist/util/AriaLabelHelper.js +34 -46
  316. package/dist/util/AriaLabelHelper.js.map +1 -0
  317. package/dist/util/Caret.d.ts +7 -0
  318. package/dist/util/Caret.js +16 -25
  319. package/dist/util/Caret.js.map +1 -0
  320. package/dist/util/ColorConversion.d.ts +30 -0
  321. package/dist/util/ColorConversion.js +311 -372
  322. package/dist/util/ColorConversion.js.map +1 -0
  323. package/dist/util/FetchHelper.d.ts +3 -0
  324. package/dist/util/FetchHelper.js +19 -25
  325. package/dist/util/FetchHelper.js.map +1 -0
  326. package/dist/util/FocusableElements.d.ts +4 -0
  327. package/dist/util/FocusableElements.js +54 -71
  328. package/dist/util/FocusableElements.js.map +1 -0
  329. package/dist/util/HTMLSanitizer.d.ts +3 -0
  330. package/dist/util/HTMLSanitizer.js +4 -5
  331. package/dist/util/HTMLSanitizer.js.map +1 -0
  332. package/dist/util/InvisibleMessage.d.ts +10 -0
  333. package/dist/util/InvisibleMessage.js +40 -53
  334. package/dist/util/InvisibleMessage.js.map +1 -0
  335. package/dist/util/PopupUtils.d.ts +7 -0
  336. package/dist/util/PopupUtils.js +58 -77
  337. package/dist/util/PopupUtils.js.map +1 -0
  338. package/dist/util/SlotsHelper.d.ts +9 -0
  339. package/dist/util/SlotsHelper.js +22 -35
  340. package/dist/util/SlotsHelper.js.map +1 -0
  341. package/dist/util/StringHelper.d.ts +3 -0
  342. package/dist/util/StringHelper.js +17 -20
  343. package/dist/util/StringHelper.js.map +1 -0
  344. package/dist/util/TabbableElements.d.ts +17 -0
  345. package/dist/util/TabbableElements.js +53 -47
  346. package/dist/util/TabbableElements.js.map +1 -0
  347. package/dist/util/arraysAreEqual.d.ts +2 -0
  348. package/dist/util/arraysAreEqual.js +10 -12
  349. package/dist/util/arraysAreEqual.js.map +1 -0
  350. package/dist/util/clamp.d.ts +9 -0
  351. package/dist/util/clamp.js +2 -2
  352. package/dist/util/clamp.js.map +1 -0
  353. package/dist/util/createLinkInHead.d.ts +7 -0
  354. package/dist/util/createLinkInHead.js +14 -17
  355. package/dist/util/createLinkInHead.js.map +1 -0
  356. package/dist/util/createStyleInHead.d.ts +8 -0
  357. package/dist/util/createStyleInHead.js +10 -10
  358. package/dist/util/createStyleInHead.js.map +1 -0
  359. package/dist/util/debounce.d.ts +2 -0
  360. package/dist/util/debounce.js +6 -8
  361. package/dist/util/debounce.js.map +1 -0
  362. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  363. package/dist/util/detectNavigatorLanguage.js +7 -10
  364. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  365. package/dist/util/escapeRegex.d.ts +8 -0
  366. package/dist/util/escapeRegex.js +8 -7
  367. package/dist/util/escapeRegex.js.map +1 -0
  368. package/dist/util/formatMessage.d.ts +2 -0
  369. package/dist/util/formatMessage.js +15 -19
  370. package/dist/util/formatMessage.js.map +1 -0
  371. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  372. package/dist/util/generateHighlightedMarkup.js +26 -27
  373. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  374. package/dist/util/getActiveElement.d.ts +2 -0
  375. package/dist/util/getActiveElement.js +6 -8
  376. package/dist/util/getActiveElement.js.map +1 -0
  377. package/dist/util/getClassCopy.d.ts +400 -0
  378. package/dist/util/getClassCopy.js +7 -7
  379. package/dist/util/getClassCopy.js.map +1 -0
  380. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  381. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  382. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  383. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  384. package/dist/util/getEffectiveContentDensity.js +2 -3
  385. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  386. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  387. package/dist/util/getEffectiveScrollbarStyle.js +1 -2
  388. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  389. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  390. package/dist/util/getFastNavigationGroups.js +44 -56
  391. package/dist/util/getFastNavigationGroups.js.map +1 -0
  392. package/dist/util/getFileExtension.d.ts +12 -0
  393. package/dist/util/getFileExtension.js +9 -11
  394. package/dist/util/getFileExtension.js.map +1 -0
  395. package/dist/util/getNormalizedTarget.d.ts +7 -0
  396. package/dist/util/getNormalizedTarget.js +7 -9
  397. package/dist/util/getNormalizedTarget.js.map +1 -0
  398. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  399. package/dist/util/getSingletonElementInstance.js +7 -10
  400. package/dist/util/getSingletonElementInstance.js.map +1 -0
  401. package/dist/util/isElementClickable.d.ts +2 -0
  402. package/dist/util/isElementClickable.js +16 -0
  403. package/dist/util/isElementClickable.js.map +1 -0
  404. package/dist/util/isElementHidden.d.ts +2 -0
  405. package/dist/util/isElementHidden.js +8 -0
  406. package/dist/util/isElementHidden.js.map +1 -0
  407. package/dist/util/isElementInView.d.ts +6 -0
  408. package/dist/util/isElementInView.js +6 -9
  409. package/dist/util/isElementInView.js.map +1 -0
  410. package/dist/util/isElementTabbable.d.ts +9 -0
  411. package/dist/util/isElementTabbable.js +30 -0
  412. package/dist/util/isElementTabbable.js.map +1 -0
  413. package/dist/util/isValidPropertyName.d.ts +8 -0
  414. package/dist/util/isValidPropertyName.js +16 -17
  415. package/dist/util/isValidPropertyName.js.map +1 -0
  416. package/dist/util/whenDOMReady.d.ts +2 -0
  417. package/dist/util/whenDOMReady.js +11 -10
  418. package/dist/util/whenDOMReady.js.map +1 -0
  419. package/dist/util/willShowContent.d.ts +2 -0
  420. package/dist/util/willShowContent.js +7 -0
  421. package/dist/util/willShowContent.js.map +1 -0
  422. package/dist/validateThemeRoot.d.ts +2 -0
  423. package/dist/validateThemeRoot.js +41 -52
  424. package/dist/validateThemeRoot.js.map +1 -0
  425. package/package-scripts.js +15 -6
  426. package/package.json +7 -6
  427. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  428. package/src/Boot.ts +61 -0
  429. package/src/{CSP.js → CSP.ts} +14 -7
  430. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  431. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  432. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  433. package/src/DOMObserver.ts +28 -0
  434. package/src/{Device.js → Device.ts} +17 -14
  435. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  436. package/src/FeaturesRegistry.ts +14 -0
  437. package/src/{FontFace.js → FontFace.ts} +3 -2
  438. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +33 -12
  439. package/src/Keys.ts +295 -0
  440. package/src/ManagedStyles.ts +92 -0
  441. package/src/MarkedEvents.ts +20 -0
  442. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  443. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  444. package/src/{Render.js → Render.ts} +25 -20
  445. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  446. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  447. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  448. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +26 -22
  449. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  450. package/src/{Theming.js → Theming.ts} +0 -0
  451. package/src/{UI5Element.js → UI5Element.ts} +264 -154
  452. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  453. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  454. package/src/animations/animate.ts +64 -0
  455. package/src/animations/scroll.ts +21 -0
  456. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  457. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  458. package/src/asset-registries/{Icons.js → Icons.ts} +63 -38
  459. package/src/asset-registries/Illustrations.ts +75 -0
  460. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +35 -21
  461. package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
  462. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  463. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  464. package/src/config/AnimationMode.ts +33 -0
  465. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  466. package/src/config/FormatSettings.ts +21 -0
  467. package/src/config/{Icons.js → Icons.ts} +19 -12
  468. package/src/config/{Language.js → Language.ts} +22 -18
  469. package/src/config/NoConflict.ts +67 -0
  470. package/src/config/{RTL.js → RTL.ts} +14 -4
  471. package/src/config/Theme.ts +64 -0
  472. package/src/config/{ThemeRoots.js → ThemeRoots.ts} +9 -7
  473. package/src/decorators/customElement.ts +17 -0
  474. package/src/decorators/event.ts +28 -0
  475. package/src/decorators/fastNavigation.ts +14 -0
  476. package/src/decorators/languageAware.ts +14 -0
  477. package/src/decorators/property.ts +30 -0
  478. package/src/decorators/slot.ts +49 -0
  479. package/src/decorators/themeAware.ts +14 -0
  480. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  481. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  482. package/src/delegate/ScrollEnablement.ts +224 -0
  483. package/src/features/{F6Navigation.js → F6Navigation.ts} +50 -25
  484. package/src/features/OpenUI5Element.ts +11 -0
  485. package/src/features/OpenUI5Enablement.ts +117 -0
  486. package/src/features/OpenUI5Support.ts +148 -0
  487. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  488. package/src/global.d.ts +44 -0
  489. package/src/{i18nBundle.js → i18nBundle.ts} +45 -23
  490. package/src/locale/{Locale.js → Locale.ts} +15 -5
  491. package/src/locale/RTLAwareRegistry.ts +16 -0
  492. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  493. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  494. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  495. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  496. package/src/locale/languageChange.ts +24 -0
  497. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  498. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  499. package/src/renderer/LitRenderer.ts +60 -0
  500. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  501. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  502. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  503. package/src/theming/{applyTheme.js → applyTheme.ts} +16 -10
  504. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  505. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  506. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  507. package/src/theming/getStylesString.ts +15 -0
  508. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  509. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  510. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  511. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  512. package/src/thirdparty/merge.ts +5 -0
  513. package/src/types/AnimationMode.ts +33 -0
  514. package/src/types/{CSSColor.js → CSSColor.ts} +3 -3
  515. package/src/types/CalendarType.ts +38 -0
  516. package/src/types/{DOMReference.js → DOMReference.ts} +4 -4
  517. package/src/types/DataType.ts +51 -0
  518. package/src/types/{Float.js → Float.ts} +5 -5
  519. package/src/types/{Integer.js → Integer.ts} +5 -4
  520. package/src/types/InvisibleMessageMode.ts +27 -0
  521. package/src/types/ItemNavigationBehavior.ts +26 -0
  522. package/src/types/NavigationMode.ts +33 -0
  523. package/src/types/ValueState.ts +47 -0
  524. package/src/types.ts +30 -0
  525. package/src/updateShadowRoot.ts +37 -0
  526. package/src/util/AriaLabelHelper.ts +63 -0
  527. package/src/util/{Caret.js → Caret.ts} +5 -9
  528. package/src/util/{ColorConversion.js → ColorConversion.ts} +183 -182
  529. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  530. package/src/util/FocusableElements.ts +82 -0
  531. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  532. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  533. package/src/util/PopupUtils.ts +112 -0
  534. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  535. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  536. package/src/util/TabbableElements.ts +70 -0
  537. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  538. package/src/util/{clamp.js → clamp.ts} +1 -1
  539. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +6 -5
  540. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  541. package/src/util/{debounce.js → debounce.ts} +5 -4
  542. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  543. package/src/util/escapeRegex.ts +11 -0
  544. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  545. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  546. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  547. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  548. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  549. package/src/util/getEffectiveContentDensity.ts +5 -0
  550. package/src/util/{getEffectiveScrollbarStyle.js → getEffectiveScrollbarStyle.ts} +0 -0
  551. package/src/util/{getFastNavigationGroups.js → getFastNavigationGroups.ts} +10 -10
  552. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  553. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  554. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  555. package/src/util/isElementClickable.ts +19 -0
  556. package/src/util/isElementHidden.ts +9 -0
  557. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  558. package/src/util/isElementTabbable.ts +37 -0
  559. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  560. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  561. package/src/util/willShowContent.ts +7 -0
  562. package/src/{validateThemeRoot.js → validateThemeRoot.ts} +4 -4
  563. package/tsconfig.json +13 -0
  564. package/dist/RenderScheduler.js +0 -44
  565. package/dist/animations/config.js +0 -5
  566. package/dist/assets/bundle.esm.e2bd78ba.js +0 -55
  567. package/dist/types/CSSSize.js +0 -20
  568. package/dist/types/PopupState.js +0 -57
  569. package/dist/util/isDefaultSlotProvided.js +0 -11
  570. package/dist/util/isDescendantOf.js +0 -15
  571. package/dist/util/isNodeClickable.js +0 -19
  572. package/dist/util/isNodeHidden.js +0 -9
  573. package/dist/util/isNodeTabbable.js +0 -28
  574. package/dist/util/setToArray.js +0 -10
  575. package/src/Boot.js +0 -63
  576. package/src/DOMObserver.js +0 -65
  577. package/src/FeaturesRegistry.js +0 -14
  578. package/src/Keys.js +0 -295
  579. package/src/ManagedStyles.js +0 -83
  580. package/src/RenderScheduler.js +0 -44
  581. package/src/animations/animate.js +0 -53
  582. package/src/animations/config.js +0 -5
  583. package/src/animations/scroll.js +0 -28
  584. package/src/asset-registries/Illustrations.js +0 -59
  585. package/src/config/AnimationMode.js +0 -23
  586. package/src/config/FormatSettings.js +0 -13
  587. package/src/config/NoConflict.js +0 -51
  588. package/src/config/Theme.js +0 -53
  589. package/src/delegate/ScrollEnablement.js +0 -188
  590. package/src/features/OpenUI5Enablement.js +0 -119
  591. package/src/features/OpenUI5Support.js +0 -126
  592. package/src/locale/RTLAwareRegistry.js +0 -14
  593. package/src/locale/languageChange.js +0 -22
  594. package/src/renderer/LitRenderer.js +0 -52
  595. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  596. package/src/theming/getStylesString.js +0 -15
  597. package/src/thirdparty/merge.js +0 -10
  598. package/src/types/AnimationMode.js +0 -7
  599. package/src/types/CSSSize.js +0 -20
  600. package/src/types/CalendarType.js +0 -59
  601. package/src/types/DataType.js +0 -43
  602. package/src/types/InvisibleMessageMode.js +0 -46
  603. package/src/types/ItemNavigationBehavior.js +0 -16
  604. package/src/types/NavigationMode.js +0 -7
  605. package/src/types/PopupState.js +0 -57
  606. package/src/types/ValueState.js +0 -64
  607. package/src/updateShadowRoot.js +0 -29
  608. package/src/util/AriaLabelHelper.js +0 -56
  609. package/src/util/FocusableElements.js +0 -79
  610. package/src/util/PopupUtils.js +0 -93
  611. package/src/util/TabbableElements.js +0 -51
  612. package/src/util/escapeRegex.js +0 -10
  613. package/src/util/getEffectiveContentDensity.js +0 -5
  614. package/src/util/isDefaultSlotProvided.js +0 -11
  615. package/src/util/isDescendantOf.js +0 -15
  616. package/src/util/isNodeClickable.js +0 -19
  617. package/src/util/isNodeHidden.js +0 -9
  618. package/src/util/isNodeTabbable.js +0 -28
  619. package/src/util/setToArray.js +0 -10
@@ -0,0 +1,88 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+
7
+ <title>i18n</title>
8
+
9
+
10
+
11
+ <script type="module" crossorigin src="/assets/test/pages/i18n_texts.html.699a5556.js"></script>
12
+ <link rel="modulepreload" href="/assets/bundle.esm.405f7937.js">
13
+ </head>
14
+
15
+ <body>
16
+ <h1>i18n texts</h1>
17
+ <p>
18
+ Single quote ' escape some symbols after it. For example: "Text '{0}" will result in "Text {0}". To use single
19
+ quote you have to use: ''
20
+ </p>
21
+ <div>
22
+ <span id="test_1_text"></span>
23
+ |
24
+ <span id="test_1_result">
25
+ Text {0}
26
+ </span>
27
+ </div>
28
+ <div>
29
+ <span id="test_2_text"></span>
30
+ |
31
+ <span id="test_2_result">
32
+ Text 'test
33
+ </span>
34
+ </div>
35
+ <div>
36
+ <span id="test_3_text"></span>
37
+ |
38
+ <span id="test_3_result">
39
+ Text 'test'
40
+ </span>
41
+ </div>
42
+ <div>
43
+ <span id="test_4_text"></span>
44
+ |
45
+ <span id="test_4_result">
46
+ Text
47
+ </span>
48
+ </div>
49
+ <div>
50
+ <span id="test_5_text"></span>
51
+ |
52
+ <span id="test_5_result">
53
+ Text '
54
+ </span>
55
+ </div>
56
+ <div>
57
+ <span id="test_6_text"></span>
58
+ |
59
+ <span id="test_6_result">
60
+ Text '
61
+ </span>
62
+ </div>
63
+ <div>
64
+ <span id="test_7_text"></span>
65
+ |
66
+ <span id="test_7_result">
67
+ Text test
68
+ </span>
69
+ </div>
70
+ <div>
71
+ <span id="test_8_text"></span>
72
+ |
73
+ <span id="test_8_result">
74
+ Text {0}
75
+ </span>
76
+ </div>
77
+ <div>
78
+ <span id="test_9_text"></span>
79
+ |
80
+ <span id="test_9_result">
81
+ Text {0}'
82
+ </span>
83
+ </div>
84
+
85
+
86
+ </body>
87
+
88
+ </html>
@@ -0,0 +1,6 @@
1
+ type CustomCSSChangeCallback = (tag: string) => void;
2
+ declare const attachCustomCSSChange: (listener: CustomCSSChangeCallback) => void;
3
+ declare const detachCustomCSSChange: (listener: CustomCSSChangeCallback) => void;
4
+ declare const addCustomCSS: (tag: string, css: string) => Promise<void>;
5
+ declare const getCustomCSS: (tag: string) => string;
6
+ export { addCustomCSS, getCustomCSS, attachCustomCSSChange, detachCustomCSSChange, };
@@ -1,60 +1,46 @@
1
1
  import { reRenderAllUI5Elements } from "../Render.js";
2
2
  import getSharedResource from "../getSharedResource.js";
3
3
  import EventProvider from "../EventProvider.js";
4
-
5
4
  const eventProvider = getSharedResource("CustomStyle.eventProvider", new EventProvider());
6
5
  const CUSTOM_CSS_CHANGE = "CustomCSSChange";
7
-
8
- const attachCustomCSSChange = listener => {
9
- eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
6
+ const attachCustomCSSChange = (listener) => {
7
+ eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
10
8
  };
11
-
12
- const detachCustomCSSChange = listener => {
13
- eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
9
+ const detachCustomCSSChange = (listener) => {
10
+ eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
14
11
  };
15
-
16
- const fireCustomCSSChange = tag => {
17
- return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
12
+ const fireCustomCSSChange = (tag) => {
13
+ return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
18
14
  };
19
-
20
15
  const customCSSFor = getSharedResource("CustomStyle.customCSSFor", {});
21
-
22
16
  // Listen to the eventProvider, in case other copies of this CustomStyle module fire this
23
17
  // event, and this copy would therefore need to reRender the ui5 webcomponents; but
24
18
  // don't reRender if it was this copy that fired the event to begin with.
25
19
  let skipRerender;
26
- attachCustomCSSChange(tag => {
27
- if (!skipRerender) {
28
- reRenderAllUI5Elements({ tag });
29
- }
20
+ attachCustomCSSChange((tag) => {
21
+ if (!skipRerender) {
22
+ reRenderAllUI5Elements({ tag });
23
+ }
30
24
  });
31
-
32
25
  const addCustomCSS = (tag, css) => {
33
- if (!customCSSFor[tag]) {
34
- customCSSFor[tag] = [];
35
- }
36
- customCSSFor[tag].push(css);
37
-
38
- skipRerender = true;
39
- try {
40
- // The event is fired and the attached event listeners are all called synchronously
41
- // The skipRerender flag will be used to avoid calling reRenderAllUI5Elements twice when it is this copy
42
- // of CustomStyle.js which is firing the `CustomCSSChange` event.
43
- fireCustomCSSChange(tag);
44
- } finally {
45
- skipRerender = false;
46
- }
47
-
48
- return reRenderAllUI5Elements({ tag });
26
+ if (!customCSSFor[tag]) {
27
+ customCSSFor[tag] = [];
28
+ }
29
+ customCSSFor[tag].push(css);
30
+ skipRerender = true;
31
+ try {
32
+ // The event is fired and the attached event listeners are all called synchronously
33
+ // The skipRerender flag will be used to avoid calling reRenderAllUI5Elements twice when it is this copy
34
+ // of CustomStyle.js which is firing the `CustomCSSChange` event.
35
+ fireCustomCSSChange(tag);
36
+ }
37
+ finally {
38
+ skipRerender = false;
39
+ }
40
+ return reRenderAllUI5Elements({ tag });
49
41
  };
50
-
51
- const getCustomCSS = tag => {
52
- return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
53
- };
54
-
55
- export {
56
- addCustomCSS,
57
- getCustomCSS,
58
- attachCustomCSSChange,
59
- detachCustomCSSChange,
42
+ const getCustomCSS = (tag) => {
43
+ return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
60
44
  };
45
+ export { addCustomCSS, getCustomCSS, attachCustomCSSChange, detachCustomCSSChange, };
46
+ //# sourceMappingURL=CustomStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomStyle.js","sourceRoot":"","sources":["../../src/theming/CustomStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,iBAAiB,CAAC,2BAA2B,EAAE,IAAI,aAAa,EAAgB,CAAC,CAAC;AACxG,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,OAAO,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,iBAAiB,CAAgC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAEtG,yFAAyF;AACzF,mFAAmF;AACnF,yEAAyE;AACzE,IAAI,YAAqB,CAAC;AAC1B,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;IACrC,IAAI,CAAC,YAAY,EAAE;QAClB,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KAChC;AACF,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;KACvB;IACD,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,YAAY,GAAG,IAAI,CAAC;IACpB,IAAI;QACH,mFAAmF;QACnF,wGAAwG;QACxG,iEAAiE;QACjE,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACzB;YAAS;QACT,YAAY,GAAG,KAAK,CAAC;KACrB;IAED,OAAO,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACpC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,GACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ type ThemeLoadedCallback = (theme: string) => void;
2
+ declare const attachThemeLoaded: (listener: ThemeLoadedCallback) => void;
3
+ declare const detachThemeLoaded: (listener: ThemeLoadedCallback) => void;
4
+ declare const fireThemeLoaded: (theme: string) => void[];
5
+ export { attachThemeLoaded, detachThemeLoaded, fireThemeLoaded, };
@@ -1,22 +1,14 @@
1
1
  import EventProvider from "../EventProvider.js";
2
-
3
2
  const eventProvider = new EventProvider();
4
3
  const THEME_LOADED = "themeLoaded";
5
-
6
- const attachThemeLoaded = listener => {
7
- eventProvider.attachEvent(THEME_LOADED, listener);
4
+ const attachThemeLoaded = (listener) => {
5
+ eventProvider.attachEvent(THEME_LOADED, listener);
8
6
  };
9
-
10
- const detachThemeLoaded = listener => {
11
- eventProvider.detachEvent(THEME_LOADED, listener);
7
+ const detachThemeLoaded = (listener) => {
8
+ eventProvider.detachEvent(THEME_LOADED, listener);
12
9
  };
13
-
14
- const fireThemeLoaded = theme => {
15
- return eventProvider.fireEvent(THEME_LOADED, theme);
16
- };
17
-
18
- export {
19
- attachThemeLoaded,
20
- detachThemeLoaded,
21
- fireThemeLoaded,
10
+ const fireThemeLoaded = (theme) => {
11
+ return eventProvider.fireEvent(THEME_LOADED, theme);
22
12
  };
13
+ export { attachThemeLoaded, detachThemeLoaded, fireThemeLoaded, };
14
+ //# sourceMappingURL=ThemeLoaded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeLoaded.js","sourceRoot":"","sources":["../../src/theming/ThemeLoaded.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAgB,CAAC;AACxD,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,EAAE;IAC3D,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,EAAE;IAC3D,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,OAAO,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const applyTheme: (theme: string) => Promise<void>;
2
+ export default applyTheme;
@@ -4,81 +4,72 @@ import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
4
4
  import { fireThemeLoaded } from "./ThemeLoaded.js";
5
5
  import { getFeature } from "../FeaturesRegistry.js";
6
6
  import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoots.js";
7
-
7
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
8
8
  const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
9
-
10
9
  const isThemeBaseRegistered = () => {
11
- const registeredPackages = getRegisteredPackages();
12
- return registeredPackages.has(BASE_THEME_PACKAGE);
10
+ const registeredPackages = getRegisteredPackages();
11
+ return registeredPackages.has(BASE_THEME_PACKAGE);
13
12
  };
14
-
15
- const loadThemeBase = async theme => {
16
- if (!isThemeBaseRegistered()) {
17
- return;
18
- }
19
-
20
- const cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);
21
- if (cssData) {
22
- createOrUpdateStyle(cssData, "data-ui5-theme-properties", BASE_THEME_PACKAGE);
23
- }
13
+ const loadThemeBase = async (theme) => {
14
+ if (!isThemeBaseRegistered()) {
15
+ return;
16
+ }
17
+ const cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);
18
+ if (cssData) {
19
+ createOrUpdateStyle(cssData, "data-ui5-theme-properties", BASE_THEME_PACKAGE);
20
+ }
24
21
  };
25
-
26
22
  const deleteThemeBase = () => {
27
- removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
23
+ removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
28
24
  };
29
-
30
- const loadComponentPackages = async theme => {
31
- const registeredPackages = getRegisteredPackages();
32
- registeredPackages.forEach(async packageName => {
33
- if (packageName === BASE_THEME_PACKAGE) {
34
- return;
35
- }
36
-
37
- const cssData = await getThemeProperties(packageName, theme);
38
- if (cssData) {
39
- createOrUpdateStyle(cssData, "data-ui5-theme-properties", packageName);
40
- }
41
- });
25
+ const loadComponentPackages = async (theme) => {
26
+ const registeredPackages = getRegisteredPackages();
27
+ const packagesStylesPromises = [...registeredPackages].map(async (packageName) => {
28
+ if (packageName === BASE_THEME_PACKAGE) {
29
+ return;
30
+ }
31
+ const cssData = await getThemeProperties(packageName, theme);
32
+ if (cssData) {
33
+ createOrUpdateStyle(cssData, "data-ui5-theme-properties", packageName);
34
+ }
35
+ });
36
+ return Promise.all(packagesStylesPromises);
42
37
  };
43
-
44
- const detectExternalTheme = async theme => {
45
- // If theme designer theme is detected, use this
46
- const extTheme = getThemeDesignerTheme();
47
- if (extTheme) {
48
- return extTheme;
49
- }
50
-
51
- // If OpenUI5Support is enabled, try to find out if it loaded variables
52
- const OpenUI5Support = getFeature("OpenUI5Support");
53
- if (OpenUI5Support) {
54
- const varsLoaded = OpenUI5Support.cssVariablesLoaded();
55
- if (varsLoaded) {
56
- return {
57
- themeName: OpenUI5Support.getConfigurationSettingsObject().theme, // just themeName, baseThemeName is only relevant for custom themes
58
- };
59
- }
60
- } else if (getThemeRoot()) {
61
- await attachCustomThemeStylesToHead(theme);
62
-
63
- return getThemeDesignerTheme();
64
- }
38
+ const detectExternalTheme = async (theme) => {
39
+ // If theme designer theme is detected, use this
40
+ const extTheme = getThemeDesignerTheme();
41
+ if (extTheme) {
42
+ return extTheme;
43
+ }
44
+ // If OpenUI5Support is enabled, try to find out if it loaded variables
45
+ const openUI5Support = getFeature("OpenUI5Support");
46
+ if (openUI5Support) {
47
+ const varsLoaded = openUI5Support.cssVariablesLoaded();
48
+ if (varsLoaded) {
49
+ return {
50
+ themeName: openUI5Support.getConfigurationSettingsObject()?.theme,
51
+ baseThemeName: "", // baseThemeName is only relevant for custom themes
52
+ };
53
+ }
54
+ }
55
+ else if (getThemeRoot()) {
56
+ await attachCustomThemeStylesToHead(theme);
57
+ return getThemeDesignerTheme();
58
+ }
65
59
  };
66
-
67
- const applyTheme = async theme => {
68
- const extTheme = await detectExternalTheme(theme);
69
-
70
- // Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
71
- if (!extTheme || theme !== extTheme.themeName) {
72
- await loadThemeBase(theme);
73
- } else {
74
- deleteThemeBase();
75
- }
76
-
77
- // Always load component packages properties. For non-registered themes, try with the base theme, if any
78
- const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
79
- await loadComponentPackages(packagesTheme);
80
-
81
- fireThemeLoaded(theme);
60
+ const applyTheme = async (theme) => {
61
+ const extTheme = await detectExternalTheme(theme);
62
+ // Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
63
+ if (!extTheme || theme !== extTheme.themeName) {
64
+ await loadThemeBase(theme);
65
+ }
66
+ else {
67
+ deleteThemeBase();
68
+ }
69
+ // Always load component packages properties. For non-registered themes, try with the base theme, if any
70
+ const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
71
+ await loadComponentPackages(packagesTheme || DEFAULT_THEME);
72
+ fireThemeLoaded(theme);
82
73
  };
83
-
84
74
  export default applyTheme;
75
+ //# sourceMappingURL=applyTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyTheme.js","sourceRoot":"","sources":["../../src/theming/applyTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAExD,MAAM,qBAAqB,GAAG,GAAG,EAAE;IAClC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC7C,IAAI,CAAC,qBAAqB,EAAE,EAAE;QAC7B,OAAO;KACP;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACpE,IAAI,OAAO,EAAE;QACZ,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;KAC9E;AACF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,WAAW,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IAEnD,MAAM,sBAAsB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;QAC9E,IAAI,WAAW,KAAK,kBAAkB,EAAE;YACvC,OAAO;SACP;QAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE;YACZ,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,WAAW,CAAC,CAAC;SACvE;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACnD,gDAAgD;IAChD,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,QAAQ,EAAE;QACb,OAAO,QAAQ,CAAC;KAChB;IAED,uEAAuE;IACvE,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;IAC3E,IAAI,cAAc,EAAE;QACnB,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACvD,IAAI,UAAU,EAAE;YACf,OAAO;gBACN,SAAS,EAAE,cAAc,CAAC,8BAA8B,EAAE,EAAE,KAAK;gBACjE,aAAa,EAAE,EAAE,EAAE,mDAAmD;aACtE,CAAC;SACF;KACD;SAAM,IAAI,YAAY,EAAE,EAAE;QAC1B,MAAM,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAE3C,OAAO,qBAAqB,EAAE,CAAC;KAC/B;AACF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAElD,kHAAkH;IAClH,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,SAAS,EAAE;QAC9C,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3B;SAAM;QACN,eAAe,EAAE,CAAC;KAClB;IAED,wGAAwG;IACxG,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC;IAC5F,MAAM,qBAAqB,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IAE5D,eAAe,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ import UI5Element from "../UI5Element.js";
2
+ /**
3
+ * Returns (and caches) a constructable style sheet for a web component class
4
+ * Note: Chrome
5
+ * @param ElementClass
6
+ * @returns {*}
7
+ */
8
+ declare const getConstructableStyle: (ElementClass: typeof UI5Element, forStaticArea?: boolean) => CSSStyleSheet[];
9
+ export default getConstructableStyle;
@@ -1,12 +1,9 @@
1
1
  import getEffectiveStyle from "./getEffectiveStyle.js";
2
2
  import { attachCustomCSSChange } from "./CustomStyle.js";
3
-
4
3
  const constructableStyleMap = new Map();
5
-
6
- attachCustomCSSChange(tag => {
7
- constructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
4
+ attachCustomCSSChange((tag) => {
5
+ constructableStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
8
6
  });
9
-
10
7
  /**
11
8
  * Returns (and caches) a constructable style sheet for a web component class
12
9
  * Note: Chrome
@@ -14,17 +11,15 @@ attachCustomCSSChange(tag => {
14
11
  * @returns {*}
15
12
  */
16
13
  const getConstructableStyle = (ElementClass, forStaticArea = false) => {
17
- const tag = ElementClass.getMetadata().getTag();
18
- const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
19
-
20
- if (!constructableStyleMap.has(key)) {
21
- const styleContent = getEffectiveStyle(ElementClass, forStaticArea);
22
- const style = new CSSStyleSheet();
23
- style.replaceSync(styleContent);
24
- constructableStyleMap.set(key, [style]);
25
- }
26
-
27
- return constructableStyleMap.get(key);
14
+ const tag = ElementClass.getMetadata().getTag();
15
+ const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
16
+ if (!constructableStyleMap.has(key)) {
17
+ const styleContent = getEffectiveStyle(ElementClass, forStaticArea);
18
+ const style = new CSSStyleSheet();
19
+ style.replaceSync(styleContent);
20
+ constructableStyleMap.set(key, [style]);
21
+ }
22
+ return constructableStyleMap.get(key);
28
23
  };
29
-
30
24
  export default getConstructableStyle;
25
+ //# sourceMappingURL=getConstructableStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConstructableStyle.js","sourceRoot":"","sources":["../../src/theming/getConstructableStyle.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEtE,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;IACrC,qBAAqB,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,kFAAkF;AAClI,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,YAA+B,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACxF,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpC,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACxC,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ declare const getEffectiveLinksHrefs: (ElementClass: typeof UI5Element, forStaticArea?: boolean) => string[] | undefined;
3
+ export default getEffectiveLinksHrefs;
@@ -1,27 +1,17 @@
1
1
  import { getUrl } from "../CSP.js";
2
2
  import { getFeature } from "../FeaturesRegistry.js";
3
-
4
- const flatten = arr => {
5
- return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten(val) : val), []);
6
- };
7
-
3
+ const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
8
4
  const getEffectiveLinksHrefs = (ElementClass, forStaticArea = false) => {
9
- let stylesData = ElementClass[forStaticArea ? "staticAreaStyles" : "styles"];
10
- const OpenUI5Enablement = getFeature("OpenUI5Enablement");
11
-
12
- if (!stylesData) {
13
- return;
14
- }
15
-
16
- if (!Array.isArray(stylesData)) {
17
- stylesData = [stylesData];
18
- }
19
-
20
- if (OpenUI5Enablement) {
21
- stylesData.push(OpenUI5Enablement.getBusyIndicatorStyles());
22
- }
23
-
24
- return flatten(stylesData).filter(data => !!data).map(data => getUrl(data.packageName, data.fileName));
5
+ const stylesData = ElementClass[forStaticArea ? "staticAreaStyles" : "styles"];
6
+ if (!stylesData) {
7
+ return;
8
+ }
9
+ const stylesDataArray = Array.isArray(stylesData) ? stylesData : [stylesData];
10
+ const openUI5Enablement = getFeature("OpenUI5Enablement");
11
+ if (openUI5Enablement) {
12
+ stylesDataArray.push(openUI5Enablement.getBusyIndicatorStyles());
13
+ }
14
+ return stylesDataArray.flat(MAX_DEPTH_INHERITED_CLASSES).filter(data => !!data).map(data => getUrl(data.packageName, data.fileName));
25
15
  };
26
-
27
16
  export default getEffectiveLinksHrefs;
17
+ //# sourceMappingURL=getEffectiveLinksHrefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEffectiveLinksHrefs.js","sourceRoot":"","sources":["../../src/theming/getEffectiveLinksHrefs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKpD,MAAM,2BAA2B,GAAG,EAAE,CAAC,CAAC,sDAAsD;AAE9F,MAAM,sBAAsB,GAAG,CAAC,YAA+B,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACzF,MAAM,UAAU,GAAwB,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEpG,IAAI,CAAC,UAAU,EAAE;QAChB,OAAO;KACP;IAED,MAAM,eAAe,GAAwB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEnG,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;IACpF,IAAI,iBAAiB,EAAE;QACtB,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,CAAC;KACjE;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAE,IAAqB,CAAC,WAAW,EAAG,IAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1K,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ declare const getEffectiveStyle: (ElementClass: typeof UI5Element, forStaticArea?: boolean) => string;
3
+ export default getEffectiveStyle;
@@ -1,39 +1,32 @@
1
1
  import { getCustomCSS, attachCustomCSSChange } from "./CustomStyle.js";
2
2
  import getStylesString from "./getStylesString.js";
3
3
  import { getFeature } from "../FeaturesRegistry.js";
4
-
5
4
  const effectiveStyleMap = new Map();
6
-
7
- attachCustomCSSChange(tag => {
8
- effectiveStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
5
+ attachCustomCSSChange((tag) => {
6
+ effectiveStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
9
7
  });
10
-
11
8
  const getEffectiveStyle = (ElementClass, forStaticArea = false) => {
12
- const tag = ElementClass.getMetadata().getTag();
13
- const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
14
- const OpenUI5Enablement = getFeature("OpenUI5Enablement");
15
-
16
- if (!effectiveStyleMap.has(key)) {
17
- let effectiveStyle;
18
- let busyIndicatorStyles = "";
19
-
20
- if (OpenUI5Enablement) {
21
- busyIndicatorStyles = getStylesString(OpenUI5Enablement.getBusyIndicatorStyles());
22
- }
23
-
24
- if (forStaticArea) {
25
- effectiveStyle = getStylesString(ElementClass.staticAreaStyles);
26
- } else {
27
- const customStyle = getCustomCSS(tag) || "";
28
- const builtInStyles = getStylesString(ElementClass.styles);
29
- effectiveStyle = `${builtInStyles} ${customStyle}`;
30
- }
31
-
32
- effectiveStyle = `${effectiveStyle} ${busyIndicatorStyles}`;
33
- effectiveStyleMap.set(key, effectiveStyle);
34
- }
35
-
36
- return effectiveStyleMap.get(key);
9
+ const tag = ElementClass.getMetadata().getTag();
10
+ const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
11
+ const openUI5Enablement = getFeature("OpenUI5Enablement");
12
+ if (!effectiveStyleMap.has(key)) {
13
+ let effectiveStyle;
14
+ let busyIndicatorStyles = "";
15
+ if (openUI5Enablement) {
16
+ busyIndicatorStyles = getStylesString(openUI5Enablement.getBusyIndicatorStyles());
17
+ }
18
+ if (forStaticArea) {
19
+ effectiveStyle = getStylesString(ElementClass.staticAreaStyles);
20
+ }
21
+ else {
22
+ const customStyle = getCustomCSS(tag) || "";
23
+ const builtInStyles = getStylesString(ElementClass.styles);
24
+ effectiveStyle = `${builtInStyles} ${customStyle}`;
25
+ }
26
+ effectiveStyle = `${effectiveStyle} ${busyIndicatorStyles}`;
27
+ effectiveStyleMap.set(key, effectiveStyle);
28
+ }
29
+ return effectiveStyleMap.get(key); // The key is guaranteed to exist
37
30
  };
38
-
39
31
  export default getEffectiveStyle;
32
+ //# sourceMappingURL=getEffectiveStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEffectiveStyle.js","sourceRoot":"","sources":["../../src/theming/getEffectiveStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEpD,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;IACrC,iBAAiB,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,kFAAkF;AAC9H,CAAC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,YAA+B,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACpF,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;IAEpF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAChC,IAAI,cAAc,CAAC;QACnB,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAE7B,IAAI,iBAAiB,EAAE;YACtB,mBAAmB,GAAG,eAAe,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,CAAC;SAClF;QAED,IAAI,aAAa,EAAE;YAClB,cAAc,GAAG,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;SAChE;aAAM;YACN,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3D,cAAc,GAAG,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC;SACnD;QAED,cAAc,GAAG,GAAG,cAAc,IAAI,mBAAmB,EAAE,CAAC;QAC5D,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;KAC3C;IAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,iCAAiC;AACtE,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ComponentStylesData } from "../types.js";
2
+ declare const getStylesString: (styles: ComponentStylesData) => string;
3
+ export default getStylesString;
@@ -1,15 +1,11 @@
1
- const getStylesString = styles => {
2
- if (Array.isArray(styles)) {
3
- return flatten(styles.filter(style => !!style)).map(style => {
4
- return typeof style === "string" ? style : style.content;
5
- }).join(" ");
6
- }
7
-
8
- return typeof styles === "string" ? styles : styles.content;
1
+ const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
2
+ const getStylesString = (styles) => {
3
+ if (Array.isArray(styles)) {
4
+ return styles.filter(style => !!style).flat(MAX_DEPTH_INHERITED_CLASSES).map((style) => {
5
+ return typeof style === "string" ? style : style.content;
6
+ }).join(" ");
7
+ }
8
+ return typeof styles === "string" ? styles : styles.content;
9
9
  };
10
-
11
- const flatten = arr => {
12
- return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten(val) : val), []);
13
- };
14
-
15
10
  export default getStylesString;
11
+ //# sourceMappingURL=getStylesString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStylesString.js","sourceRoot":"","sources":["../../src/theming/getStylesString.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,EAAE,CAAC,CAAC,sDAAsD;AAE9F,MAAM,eAAe,GAAG,CAAC,MAA2B,EAAE,EAAE;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,OAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAsB,CAAC,GAAG,CAAC,CAAC,KAAgB,EAAE,EAAE;YACvH,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACb;IAED,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7D,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ type ThemeDescriptor = {
2
+ themeName: string;
3
+ baseThemeName?: string;
4
+ };
5
+ declare const getThemeDesignerTheme: () => ThemeDescriptor | undefined;
6
+ export default getThemeDesignerTheme;
7
+ export type { ThemeDescriptor };