@ui5/webcomponents-base 0.0.0-6cb3eb0db → 0.0.0-6ebf1b8af

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 (650) hide show
  1. package/.eslintignore +8 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1103 -0
  4. package/README.md +34 -8
  5. package/bundle.esm.js +21 -15
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/AssetRegistry.d.ts +5 -0
  9. package/dist/AssetRegistry.js +3 -8
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +10 -0
  12. package/dist/Boot.js +59 -28
  13. package/dist/Boot.js.map +1 -0
  14. package/dist/CSP.d.ts +30 -0
  15. package/dist/CSP.js +51 -0
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +69 -30
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -108
  22. package/dist/CustomElementsScope.js.map +1 -0
  23. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  24. package/dist/CustomElementsScopeUtils.js +102 -0
  25. package/dist/CustomElementsScopeUtils.js.map +1 -0
  26. package/dist/DOMObserver.d.ts +11 -0
  27. package/dist/DOMObserver.js +12 -54
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +159 -86
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -82
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +3 -0
  36. package/dist/FeaturesRegistry.js +5 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +17 -110
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +27 -0
  42. package/dist/IgnoreCustomElements.js +39 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +27 -0
  45. package/dist/InitialConfiguration.js +122 -120
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +175 -242
  49. package/dist/Keys.js.map +1 -0
  50. package/dist/ManagedStyles.d.ts +9 -0
  51. package/dist/ManagedStyles.js +157 -0
  52. package/dist/ManagedStyles.js.map +1 -0
  53. package/dist/MarkedEvents.d.ts +9 -0
  54. package/dist/MarkedEvents.js +15 -0
  55. package/dist/MarkedEvents.js.map +1 -0
  56. package/dist/MediaRange.d.ts +31 -0
  57. package/dist/MediaRange.js +54 -75
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +72 -82
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +82 -112
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +52 -62
  67. package/dist/RenderQueue.js.map +1 -0
  68. package/dist/Runtimes.d.ts +27 -0
  69. package/dist/Runtimes.js +86 -0
  70. package/dist/Runtimes.js.map +1 -0
  71. package/dist/StaticArea.d.ts +3 -0
  72. package/dist/StaticArea.js +5 -1
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +35 -0
  75. package/dist/StaticAreaItem.js +88 -95
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +6 -28
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  81. package/dist/Theming.js +1 -1
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +384 -0
  84. package/dist/UI5Element.js +941 -992
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +143 -0
  87. package/dist/UI5ElementMetadata.js +281 -299
  88. package/dist/UI5ElementMetadata.js.map +1 -0
  89. package/dist/animations/AnimationQueue.d.ts +8 -0
  90. package/dist/animations/AnimationQueue.js +31 -38
  91. package/dist/animations/AnimationQueue.js.map +1 -0
  92. package/dist/animations/animate.d.ts +14 -0
  93. package/dist/animations/animate.js +46 -51
  94. package/dist/animations/animate.js.map +1 -0
  95. package/dist/animations/scroll.d.ts +5 -0
  96. package/dist/animations/scroll.js +18 -27
  97. package/dist/animations/scroll.js.map +1 -0
  98. package/dist/animations/slideDown.d.ts +5 -0
  99. package/dist/animations/slideDown.js +53 -78
  100. package/dist/animations/slideDown.js.map +1 -0
  101. package/dist/animations/slideUp.d.ts +5 -0
  102. package/dist/animations/slideUp.js +49 -70
  103. package/dist/animations/slideUp.js.map +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -112
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +71 -25
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -118
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +12 -0
  114. package/dist/asset-registries/Themes.js +57 -67
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +62 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/config/AnimationMode.d.ts +14 -0
  129. package/dist/config/AnimationMode.js +21 -18
  130. package/dist/config/AnimationMode.js.map +1 -0
  131. package/dist/config/CalendarType.d.ts +15 -0
  132. package/dist/config/CalendarType.js +31 -14
  133. package/dist/config/CalendarType.js.map +1 -0
  134. package/dist/config/FormatSettings.d.ts +15 -0
  135. package/dist/config/FormatSettings.js +15 -9
  136. package/dist/config/FormatSettings.js.map +1 -0
  137. package/dist/config/Icons.d.ts +40 -0
  138. package/dist/config/Icons.js +44 -0
  139. package/dist/config/Icons.js.map +1 -0
  140. package/dist/config/Language.d.ts +40 -0
  141. package/dist/config/Language.js +46 -43
  142. package/dist/config/Language.js.map +1 -0
  143. package/dist/config/NoConflict.d.ts +20 -0
  144. package/dist/config/NoConflict.js +41 -41
  145. package/dist/config/NoConflict.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +67 -22
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +29 -0
  150. package/dist/config/ThemeRoot.js +59 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/connectToComponent.d.ts +9 -0
  156. package/dist/connectToComponent.js +59 -0
  157. package/dist/connectToComponent.js.map +1 -0
  158. package/dist/css/BusyIndicator.css +80 -0
  159. package/dist/css/FontFace.css +96 -0
  160. package/dist/css/OverrideFontFace.css +32 -0
  161. package/dist/css/SystemCSSVars.css +9 -0
  162. package/dist/custom-elements-internal.json +2759 -0
  163. package/dist/custom-elements.json +2522 -0
  164. package/dist/decorators/customElement.d.ts +23 -0
  165. package/dist/decorators/customElement.js +37 -0
  166. package/dist/decorators/customElement.js.map +1 -0
  167. package/dist/decorators/event.d.ts +13 -0
  168. package/dist/decorators/event.js +24 -0
  169. package/dist/decorators/event.js.map +1 -0
  170. package/dist/decorators/property.d.ts +9 -0
  171. package/dist/decorators/property.js +24 -0
  172. package/dist/decorators/property.js.map +1 -0
  173. package/dist/decorators/slot.d.ts +9 -0
  174. package/dist/decorators/slot.js +37 -0
  175. package/dist/decorators/slot.js.map +1 -0
  176. package/dist/delegate/ItemNavigation.d.ts +114 -0
  177. package/dist/delegate/ItemNavigation.js +283 -319
  178. package/dist/delegate/ItemNavigation.js.map +1 -0
  179. package/dist/delegate/ResizeHandler.d.ts +23 -0
  180. package/dist/delegate/ResizeHandler.js +70 -91
  181. package/dist/delegate/ResizeHandler.js.map +1 -0
  182. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  183. package/dist/delegate/ScrollEnablement.js +157 -180
  184. package/dist/delegate/ScrollEnablement.js.map +1 -0
  185. package/dist/features/F6Navigation.d.ts +19 -0
  186. package/dist/features/F6Navigation.js +151 -0
  187. package/dist/features/F6Navigation.js.map +1 -0
  188. package/dist/features/LegacyDateFormats.d.ts +18 -0
  189. package/dist/features/LegacyDateFormats.js +20 -0
  190. package/dist/features/LegacyDateFormats.js.map +1 -0
  191. package/dist/features/OpenUI5Element.d.ts +9 -0
  192. package/dist/features/OpenUI5Element.js +5 -0
  193. package/dist/features/OpenUI5Element.js.map +1 -0
  194. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  195. package/dist/features/OpenUI5Enablement.js +96 -0
  196. package/dist/features/OpenUI5Enablement.js.map +1 -0
  197. package/dist/features/OpenUI5Support.d.ts +36 -0
  198. package/dist/features/OpenUI5Support.js +151 -121
  199. package/dist/features/OpenUI5Support.js.map +1 -0
  200. package/dist/generated/AssetParameters.d.ts +6 -0
  201. package/dist/generated/AssetParameters.js +4 -9
  202. package/dist/generated/AssetParameters.js.map +1 -0
  203. package/dist/generated/VersionInfo.d.ts +10 -0
  204. package/dist/generated/VersionInfo.js +11 -0
  205. package/dist/generated/VersionInfo.js.map +1 -0
  206. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  207. package/dist/generated/css/BusyIndicator.css.js +7 -0
  208. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  209. package/dist/generated/css/FontFace.css.d.ts +3 -0
  210. package/dist/generated/css/FontFace.css.js +7 -0
  211. package/dist/generated/css/FontFace.css.js.map +1 -0
  212. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  213. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  214. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  215. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  216. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  217. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  221. package/dist/getSharedResource.d.ts +11 -0
  222. package/dist/getSharedResource.js +28 -18
  223. package/dist/getSharedResource.js.map +1 -0
  224. package/dist/global.d.ts +40 -0
  225. package/dist/i18nBundle.d.ts +41 -0
  226. package/dist/i18nBundle.js +65 -45
  227. package/dist/i18nBundle.js.map +1 -0
  228. package/dist/locale/Locale.d.ts +22 -0
  229. package/dist/locale/Locale.js +75 -87
  230. package/dist/locale/Locale.js.map +1 -0
  231. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  232. package/dist/locale/RTLAwareRegistry.js +6 -11
  233. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  234. package/dist/locale/applyDirection.d.ts +10 -0
  235. package/dist/locale/applyDirection.js +7 -7
  236. package/dist/locale/applyDirection.js.map +1 -0
  237. package/dist/locale/directionChange.d.ts +15 -0
  238. package/dist/locale/directionChange.js +7 -15
  239. package/dist/locale/directionChange.js.map +1 -0
  240. package/dist/locale/getEffectiveDir.d.ts +2 -0
  241. package/dist/locale/getEffectiveDir.js +6 -26
  242. package/dist/locale/getEffectiveDir.js.map +1 -0
  243. package/dist/locale/getLocale.d.ts +7 -0
  244. package/dist/locale/getLocale.js +26 -29
  245. package/dist/locale/getLocale.js.map +1 -0
  246. package/dist/locale/languageChange.d.ts +5 -0
  247. package/dist/locale/languageChange.js +8 -16
  248. package/dist/locale/languageChange.js.map +1 -0
  249. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  250. package/dist/locale/nextFallbackLocale.js +15 -19
  251. package/dist/locale/nextFallbackLocale.js.map +1 -0
  252. package/dist/locale/normalizeLocale.d.ts +7 -0
  253. package/dist/locale/normalizeLocale.js +34 -41
  254. package/dist/locale/normalizeLocale.js.map +1 -0
  255. package/dist/renderer/LitRenderer.d.ts +14 -0
  256. package/dist/renderer/LitRenderer.js +32 -23
  257. package/dist/renderer/LitRenderer.js.map +1 -0
  258. package/dist/renderer/directives/style-map.js +72 -0
  259. package/dist/renderer/executeTemplate.d.ts +13 -0
  260. package/dist/renderer/executeTemplate.js +20 -7
  261. package/dist/renderer/executeTemplate.js.map +1 -0
  262. package/dist/sap/base/Log.js +705 -196
  263. package/dist/sap/base/assert.js +31 -5
  264. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  265. package/dist/sap/base/security/URLListValidator.js +265 -7
  266. package/dist/sap/base/security/encodeCSS.js +40 -0
  267. package/dist/sap/base/security/encodeXML.js +53 -0
  268. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  269. package/dist/sap/base/strings/toHex.js +33 -0
  270. package/dist/sap/base/util/now.js +24 -3
  271. package/dist/sap/base/util/uid.js +27 -0
  272. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  273. package/dist/ssr-dom-shim.d.ts +1 -0
  274. package/dist/ssr-dom-shim.js +12 -0
  275. package/dist/ssr-dom-shim.js.map +1 -0
  276. package/dist/ssr-dom.d.ts +0 -0
  277. package/dist/ssr-dom.js +3 -0
  278. package/dist/ssr-dom.js.map +1 -0
  279. package/dist/theming/CustomStyle.d.ts +6 -0
  280. package/dist/theming/CustomStyle.js +39 -31
  281. package/dist/theming/CustomStyle.js.map +1 -0
  282. package/dist/theming/ThemeLoaded.d.ts +5 -0
  283. package/dist/theming/ThemeLoaded.js +8 -16
  284. package/dist/theming/ThemeLoaded.js.map +1 -0
  285. package/dist/theming/ThemeRegistered.d.ts +4 -0
  286. package/dist/theming/ThemeRegistered.js +11 -0
  287. package/dist/theming/ThemeRegistered.js.map +1 -0
  288. package/dist/theming/applyTheme.d.ts +2 -0
  289. package/dist/theming/applyTheme.js +63 -65
  290. package/dist/theming/applyTheme.js.map +1 -0
  291. package/dist/theming/getConstructableStyle.d.ts +9 -0
  292. package/dist/theming/getConstructableStyle.js +12 -17
  293. package/dist/theming/getConstructableStyle.js.map +1 -0
  294. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  295. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  296. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  297. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  298. package/dist/theming/getEffectiveStyle.js +25 -23
  299. package/dist/theming/getEffectiveStyle.js.map +1 -0
  300. package/dist/theming/getStylesString.d.ts +3 -0
  301. package/dist/theming/getStylesString.js +9 -11
  302. package/dist/theming/getStylesString.js.map +1 -0
  303. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  304. package/dist/theming/getThemeDesignerTheme.js +73 -60
  305. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  306. package/dist/theming/preloadLinks.d.ts +3 -0
  307. package/dist/theming/preloadLinks.js +19 -0
  308. package/dist/theming/preloadLinks.js.map +1 -0
  309. package/dist/thirdparty/_merge.d.ts +2 -0
  310. package/dist/thirdparty/_merge.js +7 -4
  311. package/dist/thirdparty/_merge.js.map +1 -0
  312. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  313. package/dist/thirdparty/isPlainObject.js +11 -10
  314. package/dist/thirdparty/isPlainObject.js.map +1 -0
  315. package/dist/thirdparty/merge.d.ts +2 -0
  316. package/dist/thirdparty/merge.js +4 -8
  317. package/dist/thirdparty/merge.js.map +1 -0
  318. package/dist/types/AnimationMode.d.ts +24 -0
  319. package/dist/types/AnimationMode.js +25 -6
  320. package/dist/types/AnimationMode.js.map +1 -0
  321. package/dist/types/CSSColor.d.ts +11 -0
  322. package/dist/types/CSSColor.js +10 -5
  323. package/dist/types/CSSColor.js.map +1 -0
  324. package/dist/types/CSSSize.d.ts +11 -0
  325. package/dist/types/CSSSize.js +10 -5
  326. package/dist/types/CSSSize.js.map +1 -0
  327. package/dist/types/CalendarType.d.ts +28 -0
  328. package/dist/types/CalendarType.js +26 -18
  329. package/dist/types/CalendarType.js.map +1 -0
  330. package/dist/types/DOMReference.d.ts +13 -0
  331. package/dist/types/DOMReference.js +21 -0
  332. package/dist/types/DOMReference.js.map +1 -0
  333. package/dist/types/DataType.d.ts +20 -0
  334. package/dist/types/DataType.js +31 -29
  335. package/dist/types/DataType.js.map +1 -0
  336. package/dist/types/Float.d.ts +14 -0
  337. package/dist/types/Float.js +14 -10
  338. package/dist/types/Float.js.map +1 -0
  339. package/dist/types/Integer.d.ts +14 -0
  340. package/dist/types/Integer.js +14 -9
  341. package/dist/types/Integer.js.map +1 -0
  342. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  343. package/dist/types/InvisibleMessageMode.js +12 -22
  344. package/dist/types/InvisibleMessageMode.js.map +1 -0
  345. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  346. package/dist/types/ItemNavigationBehavior.js +16 -12
  347. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  348. package/dist/types/NavigationMode.d.ts +24 -0
  349. package/dist/types/NavigationMode.js +25 -6
  350. package/dist/types/NavigationMode.js.map +1 -0
  351. package/dist/types/ValueState.d.ts +28 -0
  352. package/dist/types/ValueState.js +27 -19
  353. package/dist/types/ValueState.js.map +1 -0
  354. package/dist/types.d.ts +18 -0
  355. package/dist/types.js +2 -0
  356. package/dist/types.js.map +1 -0
  357. package/dist/updateShadowRoot.d.ts +8 -0
  358. package/dist/updateShadowRoot.js +32 -16
  359. package/dist/updateShadowRoot.js.map +1 -0
  360. package/dist/util/AriaLabelHelper.d.ts +15 -0
  361. package/dist/util/AriaLabelHelper.js +166 -36
  362. package/dist/util/AriaLabelHelper.js.map +1 -0
  363. package/dist/util/Caret.d.ts +7 -0
  364. package/dist/util/Caret.js +16 -38
  365. package/dist/util/Caret.js.map +1 -0
  366. package/dist/util/ColorConversion.d.ts +30 -0
  367. package/dist/util/ColorConversion.js +320 -348
  368. package/dist/util/ColorConversion.js.map +1 -0
  369. package/dist/util/FetchHelper.d.ts +3 -0
  370. package/dist/util/FetchHelper.js +19 -25
  371. package/dist/util/FetchHelper.js.map +1 -0
  372. package/dist/util/FocusableElements.d.ts +4 -0
  373. package/dist/util/FocusableElements.js +67 -72
  374. package/dist/util/FocusableElements.js.map +1 -0
  375. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  376. package/dist/util/HTMLSanitizer.js +4 -5
  377. package/dist/util/HTMLSanitizer.js.map +1 -0
  378. package/dist/util/InvisibleMessage.d.ts +10 -0
  379. package/dist/util/InvisibleMessage.js +42 -44
  380. package/dist/util/InvisibleMessage.js.map +1 -0
  381. package/dist/util/PopupUtils.d.ts +7 -0
  382. package/dist/util/PopupUtils.js +58 -77
  383. package/dist/util/PopupUtils.js.map +1 -0
  384. package/dist/util/SlotsHelper.d.ts +9 -0
  385. package/dist/util/SlotsHelper.js +22 -35
  386. package/dist/util/SlotsHelper.js.map +1 -0
  387. package/dist/util/StringHelper.d.ts +3 -0
  388. package/dist/util/StringHelper.js +17 -20
  389. package/dist/util/StringHelper.js.map +1 -0
  390. package/dist/util/TabbableElements.d.ts +17 -0
  391. package/dist/util/TabbableElements.js +53 -43
  392. package/dist/util/TabbableElements.js.map +1 -0
  393. package/dist/util/arraysAreEqual.d.ts +2 -0
  394. package/dist/util/arraysAreEqual.js +10 -12
  395. package/dist/util/arraysAreEqual.js.map +1 -0
  396. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  397. package/dist/util/clamp.js +2 -2
  398. package/dist/util/clamp.js.map +1 -0
  399. package/dist/util/createLinkInHead.d.ts +7 -0
  400. package/dist/util/createLinkInHead.js +21 -0
  401. package/dist/util/createLinkInHead.js.map +1 -0
  402. package/dist/util/createStyleInHead.d.ts +8 -0
  403. package/dist/util/createStyleInHead.js +10 -10
  404. package/dist/util/createStyleInHead.js.map +1 -0
  405. package/dist/util/debounce.d.ts +2 -0
  406. package/dist/util/debounce.js +6 -8
  407. package/dist/util/debounce.js.map +1 -0
  408. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  409. package/dist/util/detectNavigatorLanguage.js +13 -11
  410. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  411. package/dist/util/escapeRegex.d.ts +8 -0
  412. package/dist/util/escapeRegex.js +11 -0
  413. package/dist/util/escapeRegex.js.map +1 -0
  414. package/dist/util/formatMessage.d.ts +2 -0
  415. package/dist/util/formatMessage.js +15 -19
  416. package/dist/util/formatMessage.js.map +1 -0
  417. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  418. package/dist/util/generateHighlightedMarkup.js +41 -0
  419. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  420. package/dist/util/getActiveElement.d.ts +2 -0
  421. package/dist/util/getActiveElement.js +6 -8
  422. package/dist/util/getActiveElement.js.map +1 -0
  423. package/dist/util/getClassCopy.d.ts +419 -0
  424. package/dist/util/getClassCopy.js +7 -7
  425. package/dist/util/getClassCopy.js.map +1 -0
  426. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  427. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  428. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  429. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  430. package/dist/util/getEffectiveContentDensity.js +2 -3
  431. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  432. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  433. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  434. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  435. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  436. package/dist/util/getFastNavigationGroups.js +51 -0
  437. package/dist/util/getFastNavigationGroups.js.map +1 -0
  438. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  439. package/dist/util/getFileExtension.js +9 -11
  440. package/dist/util/getFileExtension.js.map +1 -0
  441. package/dist/util/getNormalizedTarget.d.ts +7 -0
  442. package/dist/util/getNormalizedTarget.js +14 -0
  443. package/dist/util/getNormalizedTarget.js.map +1 -0
  444. package/dist/util/getParentElement.d.ts +2 -0
  445. package/dist/util/getParentElement.js +5 -0
  446. package/dist/util/getParentElement.js.map +1 -0
  447. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  448. package/dist/util/getSingletonElementInstance.js +17 -11
  449. package/dist/util/getSingletonElementInstance.js.map +1 -0
  450. package/dist/util/isElementClickable.d.ts +2 -0
  451. package/dist/util/isElementClickable.js +16 -0
  452. package/dist/util/isElementClickable.js.map +1 -0
  453. package/dist/util/isElementContainingBlock.d.ts +2 -0
  454. package/dist/util/isElementContainingBlock.js +11 -0
  455. package/dist/util/isElementContainingBlock.js.map +1 -0
  456. package/dist/util/isElementHidden.d.ts +2 -0
  457. package/dist/util/isElementHidden.js +8 -0
  458. package/dist/util/isElementHidden.js.map +1 -0
  459. package/dist/util/isElementInView.d.ts +6 -0
  460. package/dist/util/isElementInView.js +6 -9
  461. package/dist/util/isElementInView.js.map +1 -0
  462. package/dist/util/isElementTabbable.d.ts +9 -0
  463. package/dist/util/isElementTabbable.js +30 -0
  464. package/dist/util/isElementTabbable.js.map +1 -0
  465. package/dist/util/isValidPropertyName.d.ts +8 -0
  466. package/dist/util/isValidPropertyName.js +16 -17
  467. package/dist/util/isValidPropertyName.js.map +1 -0
  468. package/dist/util/whenDOMReady.d.ts +2 -0
  469. package/dist/util/whenDOMReady.js +11 -10
  470. package/dist/util/whenDOMReady.js.map +1 -0
  471. package/dist/util/willShowContent.d.ts +2 -0
  472. package/dist/util/willShowContent.js +7 -0
  473. package/dist/util/willShowContent.js.map +1 -0
  474. package/dist/validateThemeRoot.d.ts +2 -0
  475. package/dist/validateThemeRoot.js +48 -0
  476. package/dist/validateThemeRoot.js.map +1 -0
  477. package/index.js +225 -1
  478. package/lib/generate-asset-parameters/index.js +11 -6
  479. package/lib/generate-styles/index.js +31 -0
  480. package/lib/generate-version-info/index.js +32 -0
  481. package/package-scripts.cjs +65 -0
  482. package/package.json +21 -13
  483. package/src/css/BusyIndicator.css +80 -0
  484. package/src/css/FontFace.css +96 -0
  485. package/src/css/OverrideFontFace.css +32 -0
  486. package/src/css/SystemCSSVars.css +9 -0
  487. package/src/renderer/directives/style-map.js +72 -0
  488. package/tsconfig.json +18 -0
  489. package/used-modules.txt +8 -1
  490. package/config/rollup.config.js +0 -1
  491. package/config/wdio.conf.js +0 -1
  492. package/dist/RenderScheduler.js +0 -44
  493. package/dist/animations/config.js +0 -5
  494. package/dist/config/RTL.js +0 -31
  495. package/dist/isLegacyBrowser.js +0 -3
  496. package/dist/resources/bundle.esm.js +0 -37
  497. package/dist/resources/bundle.esm.js.map +0 -1
  498. package/dist/test-resources/assets/Themes.js +0 -17
  499. package/dist/test-resources/elements/Child.js +0 -35
  500. package/dist/test-resources/elements/Generic.js +0 -84
  501. package/dist/test-resources/elements/GenericExt.js +0 -26
  502. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  503. package/dist/test-resources/elements/Parent.js +0 -41
  504. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  505. package/dist/test-resources/pages/AllTestElements.html +0 -42
  506. package/dist/test-resources/pages/Configuration.html +0 -18
  507. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  508. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  509. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  510. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  511. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  512. package/dist/test-resources/pages/i18n.html +0 -35
  513. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  514. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  515. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  516. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  517. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  518. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  519. package/dist/test-resources/specs/Theming.spec.js +0 -33
  520. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  521. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  522. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  523. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  524. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  525. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  526. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  527. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  528. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  529. package/dist/types/PopupState.js +0 -37
  530. package/dist/util/encodeCSS.js +0 -24
  531. package/dist/util/findNodeOwner.js +0 -35
  532. package/dist/util/isDescendantOf.js +0 -15
  533. package/dist/util/isNodeClickable.js +0 -19
  534. package/dist/util/isNodeHidden.js +0 -9
  535. package/dist/util/isNodeTabbable.js +0 -28
  536. package/dist/util/setToArray.js +0 -10
  537. package/hash.txt +0 -1
  538. package/package-scripts.js +0 -62
  539. package/src/AssetRegistry.js +0 -11
  540. package/src/Boot.js +0 -43
  541. package/src/CustomElementsRegistry.js +0 -39
  542. package/src/CustomElementsScope.js +0 -108
  543. package/src/DOMObserver.js +0 -65
  544. package/src/Device.js +0 -102
  545. package/src/EventProvider.js +0 -85
  546. package/src/FeaturesRegistry.js +0 -11
  547. package/src/FontFace.js +0 -118
  548. package/src/InitialConfiguration.js +0 -155
  549. package/src/Keys.js +0 -248
  550. package/src/MediaRange.js +0 -109
  551. package/src/PropertiesFileFormat.js +0 -95
  552. package/src/Render.js +0 -173
  553. package/src/RenderQueue.js +0 -66
  554. package/src/RenderScheduler.js +0 -44
  555. package/src/StaticArea.js +0 -3
  556. package/src/StaticAreaItem.js +0 -107
  557. package/src/SystemCSSVars.js +0 -31
  558. package/src/UI5Element.js +0 -1026
  559. package/src/UI5ElementMetadata.js +0 -311
  560. package/src/animations/AnimationQueue.js +0 -42
  561. package/src/animations/animate.js +0 -53
  562. package/src/animations/config.js +0 -5
  563. package/src/animations/scroll.js +0 -28
  564. package/src/animations/slideDown.js +0 -79
  565. package/src/animations/slideUp.js +0 -71
  566. package/src/asset-registries/Icons.js +0 -128
  567. package/src/asset-registries/Illustrations.js +0 -30
  568. package/src/asset-registries/LocaleData.js +0 -150
  569. package/src/asset-registries/Themes.js +0 -78
  570. package/src/asset-registries/i18n.js +0 -121
  571. package/src/config/AnimationMode.js +0 -23
  572. package/src/config/CalendarType.js +0 -18
  573. package/src/config/FormatSettings.js +0 -13
  574. package/src/config/Language.js +0 -68
  575. package/src/config/NoConflict.js +0 -51
  576. package/src/config/RTL.js +0 -31
  577. package/src/config/Theme.js +0 -28
  578. package/src/delegate/ItemNavigation.js +0 -351
  579. package/src/delegate/ResizeHandler.js +0 -106
  580. package/src/delegate/ScrollEnablement.js +0 -188
  581. package/src/features/OpenUI5Support.js +0 -125
  582. package/src/getSharedResource.js +0 -30
  583. package/src/i18nBundle.js +0 -56
  584. package/src/isLegacyBrowser.js +0 -3
  585. package/src/locale/Locale.js +0 -91
  586. package/src/locale/RTLAwareRegistry.js +0 -14
  587. package/src/locale/applyDirection.js +0 -17
  588. package/src/locale/directionChange.js +0 -32
  589. package/src/locale/getEffectiveDir.js +0 -28
  590. package/src/locale/getLocale.js +0 -41
  591. package/src/locale/languageChange.js +0 -22
  592. package/src/locale/nextFallbackLocale.js +0 -28
  593. package/src/locale/normalizeLocale.js +0 -54
  594. package/src/renderer/LitRenderer.js +0 -32
  595. package/src/renderer/executeTemplate.js +0 -17
  596. package/src/theming/CustomStyle.js +0 -40
  597. package/src/theming/ThemeLoaded.js +0 -22
  598. package/src/theming/applyTheme.js +0 -78
  599. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  600. package/src/theming/getConstructableStyle.js +0 -30
  601. package/src/theming/getEffectiveStyle.js +0 -30
  602. package/src/theming/getStylesString.js +0 -13
  603. package/src/theming/getThemeDesignerTheme.js +0 -67
  604. package/src/thirdparty/_merge.js +0 -32
  605. package/src/thirdparty/isPlainObject.js +0 -18
  606. package/src/thirdparty/merge.js +0 -10
  607. package/src/types/AnimationMode.js +0 -7
  608. package/src/types/CSSColor.js +0 -9
  609. package/src/types/CSSSize.js +0 -9
  610. package/src/types/CalendarType.js +0 -22
  611. package/src/types/DataType.js +0 -37
  612. package/src/types/Float.js +0 -14
  613. package/src/types/Integer.js +0 -13
  614. package/src/types/InvisibleMessageMode.js +0 -30
  615. package/src/types/ItemNavigationBehavior.js +0 -16
  616. package/src/types/NavigationMode.js +0 -7
  617. package/src/types/PopupState.js +0 -37
  618. package/src/types/ValueState.js +0 -22
  619. package/src/updateShadowRoot.js +0 -26
  620. package/src/util/AriaLabelHelper.js +0 -41
  621. package/src/util/Caret.js +0 -45
  622. package/src/util/ColorConversion.js +0 -370
  623. package/src/util/FetchHelper.js +0 -31
  624. package/src/util/FocusableElements.js +0 -77
  625. package/src/util/InvisibleMessage.js +0 -58
  626. package/src/util/PopupUtils.js +0 -93
  627. package/src/util/SlotsHelper.js +0 -43
  628. package/src/util/StringHelper.js +0 -26
  629. package/src/util/TabbableElements.js +0 -47
  630. package/src/util/arraysAreEqual.js +0 -15
  631. package/src/util/createStyleInHead.js +0 -18
  632. package/src/util/debounce.js +0 -17
  633. package/src/util/detectNavigatorLanguage.js +0 -13
  634. package/src/util/encodeCSS.js +0 -24
  635. package/src/util/findNodeOwner.js +0 -35
  636. package/src/util/formatMessage.js +0 -23
  637. package/src/util/getActiveElement.js +0 -11
  638. package/src/util/getClassCopy.js +0 -10
  639. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  640. package/src/util/getEffectiveContentDensity.js +0 -5
  641. package/src/util/getSingletonElementInstance.js +0 -13
  642. package/src/util/isDescendantOf.js +0 -15
  643. package/src/util/isElementInView.js +0 -15
  644. package/src/util/isNodeClickable.js +0 -19
  645. package/src/util/isNodeHidden.js +0 -9
  646. package/src/util/isNodeTabbable.js +0 -28
  647. package/src/util/isValidPropertyName.js +0 -29
  648. package/src/util/setToArray.js +0 -10
  649. package/src/util/whenDOMReady.js +0 -13
  650. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Some private variable used for creation of (pseudo-)unique IDs.
3
+ * @type int
4
+ * @private
5
+ */ /*!
6
+ * OpenUI5
7
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
8
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
9
+ */
10
+
11
+ var iIdCounter = 0;
12
+
13
+ /**
14
+ * Creates and returns a pseudo-unique ID.
15
+ *
16
+ * No means for detection of overlap with already present or future UIDs.
17
+ *
18
+ * @function
19
+ * @since 1.58
20
+ * @alias module:sap/base/util/uid
21
+ * @return {string} A pseudo-unique id.
22
+ * @public
23
+ */
24
+ var fnUid = function uid() {
25
+ return "id-" + new Date().valueOf() + "-" + iIdCounter++;
26
+ };
27
+ export default fnUid;
@@ -489,7 +489,10 @@ var cssSchema = (function () {
489
489
  },
490
490
  'font-weight': {
491
491
  'cssPropBits': 0,
492
- 'cssLitGroup': [ L[ 4 ], L[ 47 ], L[ 55 ] ]
492
+ 'cssLitGroup': [ L[ 4 ], L[ 47 ], L[ 55 ] ],
493
+ // ##### BEGIN: MODIFIED BY SAP
494
+ 'cssLitNumeric': true
495
+ // ##### END: MODIFIED BY SAP
493
496
  },
494
497
  'height': {
495
498
  'cssPropBits': 37,
@@ -1217,101 +1220,113 @@ var sanitizeCssProperty = (function () {
1217
1220
  token = (
1218
1221
  // Strip out spaces. Normally cssparser.js dumps these, but we
1219
1222
  // strip them out in case the content doesn't come via cssparser.js.
1220
- (cc === ' '.charCodeAt(0)) ? ''
1221
- : (cc === '"'.charCodeAt(0)) ? ( // Quoted string.
1222
- (qstringBits === CSS_PROP_BIT_QSTRING_URL && opt_naiveUriRewriter)
1223
- // Sanitize and convert to url("...") syntax.
1224
- // Treat url content as case-sensitive.
1225
- ? (normalizeUrl(safeUri(
1226
- decodeCss(tokens[i].substring(1, token.length - 1)),
1227
- property,
1228
- opt_naiveUriRewriter)))
1229
- // Drop if plain text content strings not allowed.
1230
- : (qstringBits === CSS_PROP_BIT_QSTRING_CONTENT) ? token : '')
1231
- // Preserve hash color literals if allowed.
1232
- : (cc === '#'.charCodeAt(0) && /^#(?:[0-9a-f]{3}){1,2}$/.test(token))
1233
- ? (propBits & CSS_PROP_BIT_HASH_VALUE ? token : '')
1234
- : ('0'.charCodeAt(0) <= cc && cc <= '9'.charCodeAt(0))
1235
- // A number starting with a digit.
1236
- ? ((propBits & CSS_PROP_BIT_QUANTITY)
1237
- ? ((propBits & CSS_PROP_BIT_Z_INDEX)
1238
- ? (token.match(/^\d{1,7}$/) ? token : '')
1239
- : token)
1240
- : '')
1241
- // Normalize quantities so they don't start with a '.' or '+' sign and
1242
- // make sure they all have an integer component so can't be confused
1243
- // with a dotted identifier.
1244
- // This can't be done in the lexer since ".4" is a valid rule part.
1245
- : (cc1 = token.charCodeAt(1),
1246
- cc2 = token.charCodeAt(2),
1247
- isnum1 = '0'.charCodeAt(0) <= cc1 && cc1 <= '9'.charCodeAt(0),
1248
- isnum2 = '0'.charCodeAt(0) <= cc2 && cc2 <= '9'.charCodeAt(0),
1249
- // +.5 -> 0.5 if allowed.
1250
- (cc === '+'.charCodeAt(0)
1251
- && (isnum1 || (cc1 === '.'.charCodeAt(0) && isnum2))))
1252
- ? ((propBits & CSS_PROP_BIT_QUANTITY)
1253
- ? ((propBits & CSS_PROP_BIT_Z_INDEX)
1254
- ? (token.match(/^\+\d{1,7}$/) ? token : '')
1255
- : ((isnum1 ? '' : '0') + token.substring(1)))
1256
- : '')
1257
- // -.5 -> -0.5 if allowed otherwise -> 0 if quantities allowed.
1258
- : (cc === '-'.charCodeAt(0)
1259
- && (isnum1 || (cc1 === '.'.charCodeAt(0) && isnum2)))
1260
- ? ((propBits & CSS_PROP_BIT_NEGATIVE_QUANTITY)
1261
- ? ((propBits & CSS_PROP_BIT_Z_INDEX)
1262
- ? (token.match(/^\-\d{1,7}$/) ? token : '')
1263
- : ((isnum1 ? '-' : '-0') + token.substring(1)))
1264
- : ((propBits & CSS_PROP_BIT_QUANTITY) ? '0' : ''))
1265
- // .5 -> 0.5 if allowed.
1266
- : (cc === '.'.charCodeAt(0) && isnum1)
1267
- ? ((propBits & CSS_PROP_BIT_QUANTITY) ? '0' + token : '')
1268
- // Handle url("...") by rewriting the body.
1269
- : ('url(' === token.substring(0, 4))
1270
- ? ((opt_naiveUriRewriter && (qstringBits & CSS_PROP_BIT_QSTRING_URL))
1271
- ? normalizeUrl(safeUri(
1272
- tokens[i].substring(5, token.length - 2),
1273
- property,
1274
- opt_naiveUriRewriter))
1275
- : '')
1276
- // Handle func(...) and literal tokens
1277
- // such as keywords and punctuation.
1278
- : (
1279
- // Step 1. Combine func(...) into something that can be compared
1280
- // against propertySchema.cssExtra.
1281
- (token.charAt(token.length-1) === '(')
1282
- && (end = normalizeFunctionCall(tokens, i),
1283
- // When tokens is
1284
- // ['x', ' ', 'rgb(', '255', ',', '0', ',', '0', ')', ' ', 'y']
1285
- // and i is the index of 'rgb(' and end is the index of ')'
1286
- // splices tokens to where i now is the index of the whole call:
1287
- // ['x', ' ', 'rgb( 255 , 0 , 0 )', ' ', 'y']
1288
- tokens.splice(i, end - i,
1289
- token = tokens.slice(i, end).join(' '))),
1290
- litGroup = propertySchema.cssLitGroup,
1291
- litMap = (litGroup
1292
- ? (propertySchema.cssLitMap
1293
- // Lazily compute the union from litGroup.
1294
- || (propertySchema.cssLitMap = unionArrays(litGroup)))
1295
- : ALLOWED_LITERAL), // A convenient empty object.
1296
- (litMap[token] === ALLOWED_LITERAL
1297
- || propertySchema.cssExtra && propertySchema.cssExtra.test(token)))
1298
- // Token is in the literal map or matches extra.
1299
- ? token
1300
- : (/^\w+$/.test(token)
1301
- && (qstringBits === CSS_PROP_BIT_QSTRING_CONTENT))
1302
- // Quote unrecognized keywords so font names like
1303
- // Arial Bold
1304
- // ->
1305
- // "Arial Bold"
1306
- ? (lastQuoted+1 === k
1307
- // If the last token was also a keyword that was quoted, then
1308
- // combine this token into that.
1309
- ? (tokens[lastQuoted] = tokens[lastQuoted]
1310
- .substring(0, tokens[lastQuoted].length-1) + ' ' + token + '"',
1311
- token = '')
1312
- : (lastQuoted = k, '"' + token + '"'))
1313
- // Disallowed.
1314
- : '');
1223
+ (cc === ' '.charCodeAt(0))
1224
+ ? ''
1225
+ : (cc === '"'.charCodeAt(0))
1226
+ ? ( // Quoted string.
1227
+ (qstringBits === CSS_PROP_BIT_QSTRING_URL && opt_naiveUriRewriter)
1228
+ // Sanitize and convert to url("...") syntax.
1229
+ // Treat url content as case-sensitive.
1230
+ ? (normalizeUrl(
1231
+ safeUri(
1232
+ decodeCss(tokens[i].substring(1, token.length - 1)),
1233
+ property,
1234
+ opt_naiveUriRewriter
1235
+ )
1236
+ ))
1237
+ // Drop if plain text content strings not allowed.
1238
+ : (qstringBits === CSS_PROP_BIT_QSTRING_CONTENT) ? token : '')
1239
+ // Preserve hash color literals if allowed.
1240
+ : (cc === '#'.charCodeAt(0) && /^#(?:[0-9a-f]{3}){1,2}$/.test(token))
1241
+ ? (propBits & CSS_PROP_BIT_HASH_VALUE ? token : '')
1242
+ // ##### BEGIN: MODIFIED BY SAP
1243
+ // : ('0'.charCodeAt(0) <= cc && cc <= '9'.charCodeAt(0))
1244
+ : ('0'.charCodeAt(0) <= cc && cc <= '9'.charCodeAt(0) && !propertySchema.cssLitNumeric)
1245
+ // ##### END: MODIFIED BY SAP
1246
+ // A number starting with a digit.
1247
+ ? ((propBits & CSS_PROP_BIT_QUANTITY)
1248
+ ? ((propBits & CSS_PROP_BIT_Z_INDEX)
1249
+ ? (token.match(/^\d{1,7}$/) ? token : '')
1250
+ : token)
1251
+ : '')
1252
+ // Normalize quantities so they don't start with a '.' or '+' sign and
1253
+ // make sure they all have an integer component so can't be confused
1254
+ // with a dotted identifier.
1255
+ // This can't be done in the lexer since ".4" is a valid rule part.
1256
+ : (cc1 = token.charCodeAt(1),
1257
+ cc2 = token.charCodeAt(2),
1258
+ isnum1 = '0'.charCodeAt(0) <= cc1 && cc1 <= '9'.charCodeAt(0),
1259
+ isnum2 = '0'.charCodeAt(0) <= cc2 && cc2 <= '9'.charCodeAt(0),
1260
+ // +.5 -> 0.5 if allowed.
1261
+ (cc === '+'.charCodeAt(0)
1262
+ && (isnum1 || (cc1 === '.'.charCodeAt(0) && isnum2))))
1263
+ ? ((propBits & CSS_PROP_BIT_QUANTITY)
1264
+ ? ((propBits & CSS_PROP_BIT_Z_INDEX)
1265
+ ? (token.match(/^\+\d{1,7}$/) ? token : '')
1266
+ : ((isnum1 ? '' : '0') + token.substring(1)))
1267
+ : '')
1268
+ // -.5 -> -0.5 if allowed otherwise -> 0 if quantities allowed.
1269
+ : (cc === '-'.charCodeAt(0)
1270
+ && (isnum1 || (cc1 === '.'.charCodeAt(0) && isnum2)))
1271
+ ? ((propBits & CSS_PROP_BIT_NEGATIVE_QUANTITY)
1272
+ ? ((propBits & CSS_PROP_BIT_Z_INDEX)
1273
+ ? (token.match(/^\-\d{1,7}$/) ? token : '')
1274
+ : ((isnum1 ? '-' : '-0') + token.substring(1)))
1275
+ : ((propBits & CSS_PROP_BIT_QUANTITY) ? '0' : ''))
1276
+ // .5 -> 0.5 if allowed.
1277
+ : (cc === '.'.charCodeAt(0) && isnum1)
1278
+ ? ((propBits & CSS_PROP_BIT_QUANTITY) ? '0' + token : '')
1279
+ // Handle url("...") by rewriting the body.
1280
+ : ('url(' === token.substring(0, 4))
1281
+ ? ((opt_naiveUriRewriter && (qstringBits & CSS_PROP_BIT_QSTRING_URL))
1282
+ ? normalizeUrl(
1283
+ safeUri(
1284
+ tokens[i].substring(5, token.length - 2),
1285
+ property,
1286
+ opt_naiveUriRewriter
1287
+ )
1288
+ )
1289
+ : '')
1290
+ // Handle func(...) and literal tokens
1291
+ // such as keywords and punctuation.
1292
+ : (
1293
+ // Step 1. Combine func(...) into something that can be compared
1294
+ // against propertySchema.cssExtra.
1295
+ (token.charAt(token.length-1) === '(')
1296
+ && (end = normalizeFunctionCall(tokens, i),
1297
+ // When tokens is
1298
+ // ['x', ' ', 'rgb(', '255', ',', '0', ',', '0', ')', ' ', 'y']
1299
+ // and i is the index of 'rgb(' and end is the index of ')'
1300
+ // splices tokens to where i now is the index of the whole call:
1301
+ // ['x', ' ', 'rgb( 255 , 0 , 0 )', ' ', 'y']
1302
+ tokens.splice(i, end - i,
1303
+ token = tokens.slice(i, end).join(' '))),
1304
+ litGroup = propertySchema.cssLitGroup,
1305
+ litMap = (
1306
+ litGroup
1307
+ ? (propertySchema.cssLitMap
1308
+ // Lazily compute the union from litGroup.
1309
+ || (propertySchema.cssLitMap = unionArrays(litGroup)))
1310
+ : ALLOWED_LITERAL), // A convenient empty object.
1311
+ (litMap[token] === ALLOWED_LITERAL
1312
+ || propertySchema.cssExtra && propertySchema.cssExtra.test(token)))
1313
+ // Token is in the literal map or matches extra.
1314
+ ? token
1315
+ : (/^\w+$/.test(token)
1316
+ && (qstringBits === CSS_PROP_BIT_QSTRING_CONTENT))
1317
+ // Quote unrecognized keywords so font names like
1318
+ // Arial Bold
1319
+ // ->
1320
+ // "Arial Bold"
1321
+ ? (lastQuoted+1 === k
1322
+ // If the last token was also a keyword that was quoted, then
1323
+ // combine this token into that.
1324
+ ? (tokens[lastQuoted] = tokens[lastQuoted]
1325
+ .substring(0, tokens[lastQuoted].length-1) + ' ' + token + '"',
1326
+ token = '')
1327
+ : (lastQuoted = k, '"' + token + '"'))
1328
+ // Disallowed.
1329
+ : '');
1315
1330
  if (token) {
1316
1331
  tokens[k++] = token;
1317
1332
  }
@@ -1989,7 +2004,7 @@ if (typeof window !== 'undefined') {
1989
2004
  }
1990
2005
  /*!
1991
2006
  * OpenUI5
1992
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
2007
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
1993
2008
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
1994
2009
  */
1995
2010
  // Based on coding from the HTML4 Sanitizer by Google Inc.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ /* eslint-disable max-classes-per-file */
2
+ import { HTMLElement, Element, customElements } from "@lit-labs/ssr-dom-shim";
3
+ globalThis.HTMLElement ??= HTMLElement;
4
+ globalThis.Element ??= Element;
5
+ globalThis.customElements ??= customElements;
6
+ class NodeShim {
7
+ }
8
+ globalThis.Node ??= NodeShim;
9
+ class FileListShim {
10
+ }
11
+ globalThis.FileList ??= FileListShim;
12
+ //# sourceMappingURL=ssr-dom-shim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-dom-shim.js","sourceRoot":"","sources":["../src/ssr-dom-shim.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9E,UAAU,CAAC,WAAW,KAAK,WAAW,CAAC;AACvC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC;AAC/B,UAAU,CAAC,cAAc,KAAK,cAAc,CAAC;AAE7C,MAAM,QAAQ;CAAG;AACjB,UAAU,CAAC,IAAI,KAAK,QAAiC,CAAC;AAEtD,MAAM,YAAY;CAAG;AACrB,UAAU,CAAC,QAAQ,KAAK,YAAyC,CAAC","sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { HTMLElement, Element, customElements } from \"@lit-labs/ssr-dom-shim\";\n\nglobalThis.HTMLElement ??= HTMLElement;\nglobalThis.Element ??= Element;\nglobalThis.customElements ??= customElements;\n\nclass NodeShim {}\nglobalThis.Node ??= NodeShim as object as typeof Node;\n\nclass FileListShim {}\nglobalThis.FileList ??= FileListShim as object as typeof FileList;\n"]}
File without changes
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // no shims in the browser when imported via conditional export
3
+ //# sourceMappingURL=ssr-dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-dom.js","sourceRoot":"","sources":["../src/ssr-dom.ts"],"names":[],"mappings":";AAAA,+DAA+D","sourcesContent":["// no shims in the browser when imported via conditional export\n"]}
@@ -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,40 +1,48 @@
1
1
  import { reRenderAllUI5Elements } from "../Render.js";
2
+ import getSharedResource from "../getSharedResource.js";
2
3
  import EventProvider from "../EventProvider.js";
3
-
4
- const eventProvider = new EventProvider();
4
+ const getEventProvider = () => getSharedResource("CustomStyle.eventProvider", new EventProvider());
5
5
  const CUSTOM_CSS_CHANGE = "CustomCSSChange";
6
-
7
- const attachCustomCSSChange = listener => {
8
- eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
6
+ const attachCustomCSSChange = (listener) => {
7
+ getEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);
9
8
  };
10
-
11
- const detachCustomCSSChange = listener => {
12
- eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
9
+ const detachCustomCSSChange = (listener) => {
10
+ getEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);
13
11
  };
14
-
15
- const fireCustomCSSChange = tag => {
16
- return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
12
+ const fireCustomCSSChange = (tag) => {
13
+ return getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);
17
14
  };
18
-
19
- const customCSSFor = {};
20
-
15
+ const getCustomCSSFor = () => getSharedResource("CustomStyle.customCSSFor", {});
16
+ // Listen to the eventProvider, in case other copies of this CustomStyle module fire this
17
+ // event, and this copy would therefore need to reRender the ui5 webcomponents; but
18
+ // don't reRender if it was this copy that fired the event to begin with.
19
+ let skipRerender;
20
+ attachCustomCSSChange((tag) => {
21
+ if (!skipRerender) {
22
+ reRenderAllUI5Elements({ tag });
23
+ }
24
+ });
21
25
  const addCustomCSS = (tag, css) => {
22
- if (!customCSSFor[tag]) {
23
- customCSSFor[tag] = [];
24
- }
25
- customCSSFor[tag].push(css);
26
- fireCustomCSSChange(tag);
27
-
28
- return reRenderAllUI5Elements({ tag });
26
+ const customCSSFor = getCustomCSSFor();
27
+ if (!customCSSFor[tag]) {
28
+ customCSSFor[tag] = [];
29
+ }
30
+ customCSSFor[tag].push(css);
31
+ skipRerender = true;
32
+ try {
33
+ // The event is fired and the attached event listeners are all called synchronously
34
+ // The skipRerender flag will be used to avoid calling reRenderAllUI5Elements twice when it is this copy
35
+ // of CustomStyle.js which is firing the `CustomCSSChange` event.
36
+ fireCustomCSSChange(tag);
37
+ }
38
+ finally {
39
+ skipRerender = false;
40
+ }
41
+ return reRenderAllUI5Elements({ tag });
29
42
  };
30
-
31
- const getCustomCSS = tag => {
32
- return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
33
- };
34
-
35
- export {
36
- addCustomCSS,
37
- getCustomCSS,
38
- attachCustomCSSChange,
39
- detachCustomCSSChange,
43
+ const getCustomCSS = (tag) => {
44
+ const customCSSFor = getCustomCSSFor();
45
+ return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
40
46
  };
47
+ export { addCustomCSS, getCustomCSS, attachCustomCSSChange, detachCustomCSSChange, };
48
+ //# 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,gBAAgB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,2BAA2B,EAAE,IAAI,aAAa,EAAgB,CAAC,CAAC;AACjH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,gBAAgB,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,gBAAgB,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,OAAO,gBAAgB,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAgC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAE/G,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,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,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,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,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","sourcesContent":["import { reRenderAllUI5Elements } from \"../Render.js\";\nimport getSharedResource from \"../getSharedResource.js\";\nimport EventProvider from \"../EventProvider.js\";\n\ntype CustomCSSChangeCallback = (tag: string) => void;\n\nconst getEventProvider = () => getSharedResource(\"CustomStyle.eventProvider\", new EventProvider<string, void>());\nconst CUSTOM_CSS_CHANGE = \"CustomCSSChange\";\n\nconst attachCustomCSSChange = (listener: CustomCSSChangeCallback) => {\n\tgetEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);\n};\n\nconst detachCustomCSSChange = (listener: CustomCSSChangeCallback) => {\n\tgetEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);\n};\n\nconst fireCustomCSSChange = (tag: string) => {\n\treturn getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);\n};\n\nconst getCustomCSSFor = () => getSharedResource<Record<string, Array<string>>>(\"CustomStyle.customCSSFor\", {});\n\n// Listen to the eventProvider, in case other copies of this CustomStyle module fire this\n// event, and this copy would therefore need to reRender the ui5 webcomponents; but\n// don't reRender if it was this copy that fired the event to begin with.\nlet skipRerender: boolean;\nattachCustomCSSChange((tag: string) => {\n\tif (!skipRerender) {\n\t\treRenderAllUI5Elements({ tag });\n\t}\n});\n\nconst addCustomCSS = (tag: string, css: string) => {\n\tconst customCSSFor = getCustomCSSFor();\n\tif (!customCSSFor[tag]) {\n\t\tcustomCSSFor[tag] = [];\n\t}\n\tcustomCSSFor[tag].push(css);\n\n\tskipRerender = true;\n\ttry {\n\t\t// The event is fired and the attached event listeners are all called synchronously\n\t\t// The skipRerender flag will be used to avoid calling reRenderAllUI5Elements twice when it is this copy\n\t\t// of CustomStyle.js which is firing the `CustomCSSChange` event.\n\t\tfireCustomCSSChange(tag);\n\t} finally {\n\t\tskipRerender = false;\n\t}\n\n\treturn reRenderAllUI5Elements({ tag });\n};\n\nconst getCustomCSS = (tag: string) => {\n\tconst customCSSFor = getCustomCSSFor();\n\treturn customCSSFor[tag] ? customCSSFor[tag].join(\"\") : \"\";\n};\n\nexport {\n\taddCustomCSS,\n\tgetCustomCSS,\n\tattachCustomCSSChange,\n\tdetachCustomCSSChange,\n};\n"]}
@@ -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","sourcesContent":["import EventProvider from \"../EventProvider.js\";\n\ntype ThemeLoadedCallback = (theme: string) => void;\n\nconst eventProvider = new EventProvider<string, void>();\nconst THEME_LOADED = \"themeLoaded\";\n\nconst attachThemeLoaded = (listener: ThemeLoadedCallback) => {\n\teventProvider.attachEvent(THEME_LOADED, listener);\n};\n\nconst detachThemeLoaded = (listener: ThemeLoadedCallback) => {\n\teventProvider.detachEvent(THEME_LOADED, listener);\n};\n\nconst fireThemeLoaded = (theme: string) => {\n\treturn eventProvider.fireEvent(THEME_LOADED, theme);\n};\n\nexport {\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\tfireThemeLoaded,\n};\n"]}
@@ -0,0 +1,4 @@
1
+ type ThemeRegisteredCallback = (theme: string) => void;
2
+ declare const attachThemeRegistered: (listener: ThemeRegisteredCallback) => void;
3
+ declare const fireThemeRegistered: (theme: string) => void[];
4
+ export { attachThemeRegistered, fireThemeRegistered, };
@@ -0,0 +1,11 @@
1
+ import EventProvider from "../EventProvider.js";
2
+ const eventProvider = new EventProvider();
3
+ const THEME_REGISTERED = "themeRegistered";
4
+ const attachThemeRegistered = (listener) => {
5
+ eventProvider.attachEvent(THEME_REGISTERED, listener);
6
+ };
7
+ const fireThemeRegistered = (theme) => {
8
+ return eventProvider.fireEvent(THEME_REGISTERED, theme);
9
+ };
10
+ export { attachThemeRegistered, fireThemeRegistered, };
11
+ //# sourceMappingURL=ThemeRegistered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeRegistered.js","sourceRoot":"","sources":["../../src/theming/ThemeRegistered.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAgB,CAAC;AACxD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC7C,OAAO,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,OAAO,EACN,qBAAqB,EACrB,mBAAmB,GACnB,CAAC","sourcesContent":["import EventProvider from \"../EventProvider.js\";\n\ntype ThemeRegisteredCallback = (theme: string) => void;\n\nconst eventProvider = new EventProvider<string, void>();\nconst THEME_REGISTERED = \"themeRegistered\";\n\nconst attachThemeRegistered = (listener: ThemeRegisteredCallback) => {\n\teventProvider.attachEvent(THEME_REGISTERED, listener);\n};\n\nconst fireThemeRegistered = (theme: string) => {\n\treturn eventProvider.fireEvent(THEME_REGISTERED, theme);\n};\n\nexport {\n\tattachThemeRegistered,\n\tfireThemeRegistered,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ declare const applyTheme: (theme: string) => Promise<void>;
2
+ export default applyTheme;
@@ -1,78 +1,76 @@
1
1
  import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from "../asset-registries/Themes.js";
2
- import createThemePropertiesStyleTag from "./createThemePropertiesStyleTag.js";
2
+ import { removeStyle, createOrUpdateStyle } from "../ManagedStyles.js";
3
3
  import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
4
4
  import { fireThemeLoaded } from "./ThemeLoaded.js";
5
5
  import { getFeature } from "../FeaturesRegistry.js";
6
-
7
- const BASE_THEME_PACKAGE = "@ui5/webcomponents-theme-base";
8
-
6
+ import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoot.js";
7
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
8
+ import { getCurrentRuntimeIndex } from "../Runtimes.js";
9
+ const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
9
10
  const isThemeBaseRegistered = () => {
10
- const registeredPackages = getRegisteredPackages();
11
- return registeredPackages.has(BASE_THEME_PACKAGE);
11
+ const registeredPackages = getRegisteredPackages();
12
+ return registeredPackages.has(BASE_THEME_PACKAGE);
12
13
  };
13
-
14
- const loadThemeBase = async theme => {
15
- if (!isThemeBaseRegistered()) {
16
- return;
17
- }
18
-
19
- const cssText = await getThemeProperties(BASE_THEME_PACKAGE, theme);
20
- createThemePropertiesStyleTag(cssText, BASE_THEME_PACKAGE);
14
+ const loadThemeBase = async (theme) => {
15
+ if (!isThemeBaseRegistered()) {
16
+ return;
17
+ }
18
+ const cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);
19
+ if (cssData) {
20
+ createOrUpdateStyle(cssData, "data-ui5-theme-properties", BASE_THEME_PACKAGE, theme);
21
+ }
21
22
  };
22
-
23
23
  const deleteThemeBase = () => {
24
- const styleElement = document.head.querySelector(`style[data-ui5-theme-properties="${BASE_THEME_PACKAGE}"]`);
25
- if (styleElement) {
26
- styleElement.parentElement.removeChild(styleElement);
27
- }
24
+ removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
28
25
  };
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 cssText = await getThemeProperties(packageName, theme);
38
- createThemePropertiesStyleTag(cssText, packageName);
39
- });
26
+ const loadComponentPackages = async (theme, externalThemeName) => {
27
+ const registeredPackages = getRegisteredPackages();
28
+ const packagesStylesPromises = [...registeredPackages].map(async (packageName) => {
29
+ if (packageName === BASE_THEME_PACKAGE) {
30
+ return;
31
+ }
32
+ const cssData = await getThemeProperties(packageName, theme, externalThemeName);
33
+ if (cssData) {
34
+ createOrUpdateStyle(cssData, `data-ui5-component-properties-${getCurrentRuntimeIndex()}`, packageName);
35
+ }
36
+ });
37
+ return Promise.all(packagesStylesPromises);
40
38
  };
41
-
42
- const detectExternalTheme = () => {
43
- // If theme designer theme is detected, use this
44
- const extTheme = getThemeDesignerTheme();
45
- if (extTheme) {
46
- return extTheme;
47
- }
48
-
49
- // If OpenUI5Support is enabled, try to find out if it loaded variables
50
- const OpenUI5Support = getFeature("OpenUI5Support");
51
- if (OpenUI5Support) {
52
- const varsLoaded = OpenUI5Support.cssVariablesLoaded();
53
- if (varsLoaded) {
54
- return {
55
- themeName: OpenUI5Support.getConfigurationSettingsObject().theme, // just themeName, baseThemeName is only relevant for custom themes
56
- };
57
- }
58
- }
39
+ const detectExternalTheme = async (theme) => {
40
+ // If theme designer theme is detected, use this
41
+ const extTheme = getThemeDesignerTheme();
42
+ if (extTheme) {
43
+ return extTheme;
44
+ }
45
+ // If OpenUI5Support is enabled, try to find out if it loaded variables
46
+ const openUI5Support = getFeature("OpenUI5Support");
47
+ if (openUI5Support && openUI5Support.isOpenUI5Detected()) {
48
+ const varsLoaded = openUI5Support.cssVariablesLoaded();
49
+ if (varsLoaded) {
50
+ return {
51
+ themeName: openUI5Support.getConfigurationSettingsObject()?.theme,
52
+ baseThemeName: "", // baseThemeName is only relevant for custom themes
53
+ };
54
+ }
55
+ }
56
+ else if (getThemeRoot()) {
57
+ await attachCustomThemeStylesToHead(theme);
58
+ return getThemeDesignerTheme();
59
+ }
59
60
  };
60
-
61
- const applyTheme = async theme => {
62
- const extTheme = detectExternalTheme();
63
-
64
- // Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
65
- if (!extTheme || theme !== extTheme.themeName) {
66
- await loadThemeBase(theme);
67
- } else {
68
- deleteThemeBase();
69
- }
70
-
71
- // Always load component packages properties. For non-registered themes, try with the base theme, if any
72
- const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
73
- await loadComponentPackages(packagesTheme);
74
-
75
- fireThemeLoaded(theme);
61
+ const applyTheme = async (theme) => {
62
+ const extTheme = await detectExternalTheme(theme);
63
+ // Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
64
+ if (!extTheme || theme !== extTheme.themeName) {
65
+ await loadThemeBase(theme);
66
+ }
67
+ else {
68
+ deleteThemeBase();
69
+ }
70
+ // Always load component packages properties. For non-registered themes, try with the base theme, if any
71
+ const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
72
+ await loadComponentPackages(packagesTheme || DEFAULT_THEME, extTheme && extTheme.themeName === theme ? theme : undefined);
73
+ fireThemeLoaded(theme);
76
74
  };
77
-
78
75
  export default applyTheme;
76
+ //# sourceMappingURL=applyTheme.js.map