@ui5/webcomponents-base 0.0.0-deac3098a → 0.0.0-e0658a650

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 (627) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/README.md +28 -6
  3. package/bundle.esm.js +12 -10
  4. package/dist/AssetRegistry.d.ts +5 -0
  5. package/dist/AssetRegistry.js +2 -7
  6. package/dist/AssetRegistry.js.map +1 -0
  7. package/dist/Boot.d.ts +8 -0
  8. package/dist/Boot.js +29 -44
  9. package/dist/Boot.js.map +1 -0
  10. package/dist/CSP.d.ts +30 -0
  11. package/dist/CSP.js +16 -24
  12. package/dist/CSP.js.map +1 -0
  13. package/dist/CustomElementsRegistry.d.ts +5 -0
  14. package/dist/CustomElementsRegistry.js +66 -83
  15. package/dist/CustomElementsRegistry.js.map +1 -0
  16. package/dist/CustomElementsScope.d.ts +7 -0
  17. package/dist/CustomElementsScope.js +10 -29
  18. package/dist/CustomElementsScope.js.map +1 -0
  19. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  20. package/dist/CustomElementsScopeUtils.js +34 -52
  21. package/dist/CustomElementsScopeUtils.js.map +1 -0
  22. package/dist/DOMObserver.d.ts +11 -0
  23. package/dist/DOMObserver.js +12 -54
  24. package/dist/DOMObserver.js.map +1 -0
  25. package/dist/Device.d.ts +11 -0
  26. package/dist/Device.js +51 -78
  27. package/dist/Device.js.map +1 -0
  28. package/dist/EventProvider.d.ts +25 -0
  29. package/dist/EventProvider.js +67 -82
  30. package/dist/EventProvider.js.map +1 -0
  31. package/dist/FeaturesRegistry.d.ts +3 -0
  32. package/dist/FeaturesRegistry.js +5 -10
  33. package/dist/FeaturesRegistry.js.map +1 -0
  34. package/dist/FontFace.d.ts +2 -0
  35. package/dist/FontFace.js +14 -19
  36. package/dist/FontFace.js.map +1 -0
  37. package/dist/InitialConfiguration.d.ts +22 -0
  38. package/dist/InitialConfiguration.js +112 -131
  39. package/dist/InitialConfiguration.js.map +1 -0
  40. package/dist/Keys.d.ts +57 -0
  41. package/dist/Keys.js +174 -291
  42. package/dist/Keys.js.map +1 -0
  43. package/dist/ManagedStyles.d.ts +8 -0
  44. package/dist/ManagedStyles.js +62 -68
  45. package/dist/ManagedStyles.js.map +1 -0
  46. package/dist/MediaRange.d.ts +36 -0
  47. package/dist/MediaRange.js +38 -51
  48. package/dist/MediaRange.js.map +1 -0
  49. package/dist/PropertiesFileFormat.d.ts +8 -0
  50. package/dist/PropertiesFileFormat.js +72 -82
  51. package/dist/PropertiesFileFormat.js.map +1 -0
  52. package/dist/Render.d.ts +47 -0
  53. package/dist/Render.js +81 -113
  54. package/dist/Render.js.map +1 -0
  55. package/dist/RenderQueue.d.ts +19 -0
  56. package/dist/RenderQueue.js +52 -62
  57. package/dist/RenderQueue.js.map +1 -0
  58. package/dist/Runtimes.d.ts +27 -0
  59. package/dist/Runtimes.js +49 -70
  60. package/dist/Runtimes.js.map +1 -0
  61. package/dist/StaticArea.d.ts +0 -0
  62. package/dist/StaticArea.js +4 -1
  63. package/dist/StaticArea.js.map +1 -0
  64. package/dist/StaticAreaItem.d.ts +36 -0
  65. package/dist/StaticAreaItem.js +84 -86
  66. package/dist/StaticAreaItem.js.map +1 -0
  67. package/dist/SystemCSSVars.d.ts +2 -0
  68. package/dist/SystemCSSVars.js +4 -5
  69. package/dist/SystemCSSVars.js.map +1 -0
  70. package/dist/Theming.d.ts +3 -0
  71. package/dist/Theming.js +1 -1
  72. package/dist/Theming.js.map +1 -0
  73. package/dist/UI5Element.d.ts +371 -0
  74. package/dist/UI5Element.js +905 -993
  75. package/dist/UI5Element.js.map +1 -0
  76. package/dist/UI5ElementMetadata.d.ts +147 -0
  77. package/dist/UI5ElementMetadata.js +260 -313
  78. package/dist/UI5ElementMetadata.js.map +1 -0
  79. package/dist/animations/AnimationQueue.d.ts +8 -0
  80. package/dist/animations/AnimationQueue.js +31 -38
  81. package/dist/animations/AnimationQueue.js.map +1 -0
  82. package/dist/animations/animate.d.ts +14 -0
  83. package/dist/animations/animate.js +46 -51
  84. package/dist/animations/animate.js.map +1 -0
  85. package/dist/animations/scroll.d.ts +5 -0
  86. package/dist/animations/scroll.js +18 -27
  87. package/dist/animations/scroll.js.map +1 -0
  88. package/dist/animations/slideDown.d.ts +5 -0
  89. package/dist/animations/slideDown.js +53 -78
  90. package/dist/animations/slideDown.js.map +1 -0
  91. package/dist/animations/slideUp.d.ts +5 -0
  92. package/dist/animations/slideUp.js +49 -70
  93. package/dist/animations/slideUp.js.map +1 -0
  94. package/dist/api.json +1 -0
  95. package/dist/asset-registries/Icons.d.ts +30 -0
  96. package/dist/asset-registries/Icons.js +85 -116
  97. package/dist/asset-registries/Icons.js.map +1 -0
  98. package/dist/asset-registries/Illustrations.d.ts +16 -0
  99. package/dist/asset-registries/Illustrations.js +40 -24
  100. package/dist/asset-registries/Illustrations.js.map +1 -0
  101. package/dist/asset-registries/LocaleData.d.ts +7 -0
  102. package/dist/asset-registries/LocaleData.js +104 -132
  103. package/dist/asset-registries/LocaleData.js.map +1 -0
  104. package/dist/asset-registries/Themes.d.ts +10 -0
  105. package/dist/asset-registries/Themes.js +38 -66
  106. package/dist/asset-registries/Themes.js.map +1 -0
  107. package/dist/asset-registries/i18n.d.ts +23 -0
  108. package/dist/asset-registries/i18n.js +55 -81
  109. package/dist/asset-registries/i18n.js.map +1 -0
  110. package/dist/assets/bundle.esm.72c1d211.js +56 -0
  111. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  112. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  113. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  114. package/dist/config/AnimationMode.d.ts +14 -0
  115. package/dist/config/AnimationMode.js +21 -18
  116. package/dist/config/AnimationMode.js.map +1 -0
  117. package/dist/config/CalendarType.d.ts +8 -0
  118. package/dist/config/CalendarType.js +13 -12
  119. package/dist/config/CalendarType.js.map +1 -0
  120. package/dist/config/FormatSettings.d.ts +11 -0
  121. package/dist/config/FormatSettings.js +10 -8
  122. package/dist/config/FormatSettings.js.map +1 -0
  123. package/dist/config/Icons.d.ts +30 -0
  124. package/dist/config/Icons.js +28 -32
  125. package/dist/config/Icons.js.map +1 -0
  126. package/dist/config/Language.d.ts +31 -0
  127. package/dist/config/Language.js +31 -43
  128. package/dist/config/Language.js.map +1 -0
  129. package/dist/config/NoConflict.d.ts +20 -0
  130. package/dist/config/NoConflict.js +40 -41
  131. package/dist/config/NoConflict.js.map +1 -0
  132. package/dist/config/RTL.d.ts +7 -0
  133. package/dist/config/RTL.js +23 -20
  134. package/dist/config/RTL.js.map +1 -0
  135. package/dist/config/Theme.d.ts +28 -0
  136. package/dist/config/Theme.js +34 -36
  137. package/dist/config/Theme.js.map +1 -0
  138. package/dist/config/ThemeRoots.d.ts +4 -0
  139. package/dist/config/ThemeRoots.js +28 -0
  140. package/dist/config/ThemeRoots.js.map +1 -0
  141. package/dist/css/BusyIndicator.css +4 -0
  142. package/dist/css/FontFace.css +9 -18
  143. package/dist/delegate/ItemNavigation.d.ts +113 -0
  144. package/dist/delegate/ItemNavigation.js +277 -312
  145. package/dist/delegate/ItemNavigation.js.map +1 -0
  146. package/dist/delegate/ResizeHandler.d.ts +24 -0
  147. package/dist/delegate/ResizeHandler.js +68 -91
  148. package/dist/delegate/ResizeHandler.js.map +1 -0
  149. package/dist/delegate/ScrollEnablement.d.ts +43 -0
  150. package/dist/delegate/ScrollEnablement.js +157 -180
  151. package/dist/delegate/ScrollEnablement.js.map +1 -0
  152. package/dist/features/F6Navigation.d.ts +16 -0
  153. package/dist/features/F6Navigation.js +106 -102
  154. package/dist/features/F6Navigation.js.map +1 -0
  155. package/dist/features/OpenUI5Element.d.ts +9 -0
  156. package/dist/features/OpenUI5Element.js +5 -0
  157. package/dist/features/OpenUI5Element.js.map +1 -0
  158. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  159. package/dist/features/OpenUI5Enablement.js +89 -112
  160. package/dist/features/OpenUI5Enablement.js.map +1 -0
  161. package/dist/features/OpenUI5Support.d.ts +23 -0
  162. package/dist/features/OpenUI5Support.js +91 -119
  163. package/dist/features/OpenUI5Support.js.map +1 -0
  164. package/dist/generated/VersionInfo.js +3 -3
  165. package/dist/generated/css/BusyIndicator.css.js +1 -1
  166. package/dist/generated/css/FontFace.css.js +1 -1
  167. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  168. package/dist/getSharedResource.d.ts +11 -0
  169. package/dist/getSharedResource.js +12 -16
  170. package/dist/getSharedResource.js.map +1 -0
  171. package/dist/i18nBundle.d.ts +43 -0
  172. package/dist/i18nBundle.js +56 -64
  173. package/dist/i18nBundle.js.map +1 -0
  174. package/dist/locale/Locale.d.ts +22 -0
  175. package/dist/locale/Locale.js +75 -87
  176. package/dist/locale/Locale.js.map +1 -0
  177. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  178. package/dist/locale/RTLAwareRegistry.js +6 -11
  179. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  180. package/dist/locale/applyDirection.d.ts +10 -0
  181. package/dist/locale/applyDirection.js +7 -7
  182. package/dist/locale/applyDirection.js.map +1 -0
  183. package/dist/locale/directionChange.d.ts +15 -0
  184. package/dist/locale/directionChange.js +7 -15
  185. package/dist/locale/directionChange.js.map +1 -0
  186. package/dist/locale/getEffectiveDir.d.ts +2 -0
  187. package/dist/locale/getEffectiveDir.js +20 -24
  188. package/dist/locale/getEffectiveDir.js.map +1 -0
  189. package/dist/locale/getLocale.d.ts +7 -0
  190. package/dist/locale/getLocale.js +26 -29
  191. package/dist/locale/getLocale.js.map +1 -0
  192. package/dist/locale/languageChange.d.ts +5 -0
  193. package/dist/locale/languageChange.js +8 -16
  194. package/dist/locale/languageChange.js.map +1 -0
  195. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  196. package/dist/locale/nextFallbackLocale.js +15 -19
  197. package/dist/locale/nextFallbackLocale.js.map +1 -0
  198. package/dist/locale/normalizeLocale.d.ts +7 -0
  199. package/dist/locale/normalizeLocale.js +34 -41
  200. package/dist/locale/normalizeLocale.js.map +1 -0
  201. package/dist/renderer/LitRenderer.d.ts +14 -0
  202. package/dist/renderer/LitRenderer.js +28 -39
  203. package/dist/renderer/LitRenderer.js.map +1 -0
  204. package/dist/renderer/executeTemplate.d.ts +13 -0
  205. package/dist/renderer/executeTemplate.js +12 -16
  206. package/dist/renderer/executeTemplate.js.map +1 -0
  207. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  208. package/dist/theming/CustomStyle.d.ts +6 -0
  209. package/dist/theming/CustomStyle.js +29 -43
  210. package/dist/theming/CustomStyle.js.map +1 -0
  211. package/dist/theming/ThemeLoaded.d.ts +5 -0
  212. package/dist/theming/ThemeLoaded.js +8 -16
  213. package/dist/theming/ThemeLoaded.js.map +1 -0
  214. package/dist/theming/applyTheme.d.ts +2 -0
  215. package/dist/theming/applyTheme.js +60 -64
  216. package/dist/theming/applyTheme.js.map +1 -0
  217. package/dist/theming/getConstructableStyle.d.ts +9 -0
  218. package/dist/theming/getConstructableStyle.js +12 -17
  219. package/dist/theming/getConstructableStyle.js.map +1 -0
  220. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  221. package/dist/theming/getEffectiveLinksHrefs.js +11 -22
  222. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  223. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  224. package/dist/theming/getEffectiveStyle.js +24 -31
  225. package/dist/theming/getEffectiveStyle.js.map +1 -0
  226. package/dist/theming/getStylesString.d.ts +3 -0
  227. package/dist/theming/getStylesString.js +8 -13
  228. package/dist/theming/getStylesString.js.map +1 -0
  229. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  230. package/dist/theming/getThemeDesignerTheme.js +72 -79
  231. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  232. package/dist/theming/preloadLinks.d.ts +3 -0
  233. package/dist/theming/preloadLinks.js +13 -17
  234. package/dist/theming/preloadLinks.js.map +1 -0
  235. package/dist/thirdparty/_merge.d.ts +2 -0
  236. package/dist/thirdparty/_merge.js +7 -4
  237. package/dist/thirdparty/_merge.js.map +1 -0
  238. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  239. package/dist/thirdparty/isPlainObject.js +11 -10
  240. package/dist/thirdparty/isPlainObject.js.map +1 -0
  241. package/dist/thirdparty/merge.d.ts +2 -0
  242. package/dist/thirdparty/merge.js +4 -8
  243. package/dist/thirdparty/merge.js.map +1 -0
  244. package/dist/types/AnimationMode.d.ts +32 -0
  245. package/dist/types/AnimationMode.js +33 -6
  246. package/dist/types/AnimationMode.js.map +1 -0
  247. package/dist/types/CSSColor.d.ts +16 -0
  248. package/dist/types/CSSColor.js +15 -5
  249. package/dist/types/CSSColor.js.map +1 -0
  250. package/dist/types/CalendarType.d.ts +37 -0
  251. package/dist/types/CalendarType.js +35 -18
  252. package/dist/types/CalendarType.js.map +1 -0
  253. package/dist/types/DOMReference.d.ts +17 -0
  254. package/dist/types/DOMReference.js +25 -0
  255. package/dist/types/DOMReference.js.map +1 -0
  256. package/dist/types/DataType.d.ts +25 -0
  257. package/dist/types/DataType.js +32 -25
  258. package/dist/types/DataType.js.map +1 -0
  259. package/dist/types/Float.d.ts +18 -0
  260. package/dist/types/Float.js +18 -10
  261. package/dist/types/Float.js.map +1 -0
  262. package/dist/types/Integer.d.ts +18 -0
  263. package/dist/types/Integer.js +18 -9
  264. package/dist/types/Integer.js.map +1 -0
  265. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  266. package/dist/types/InvisibleMessageMode.js +20 -23
  267. package/dist/types/InvisibleMessageMode.js.map +1 -0
  268. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  269. package/dist/types/ItemNavigationBehavior.js +22 -12
  270. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  271. package/dist/types/NavigationMode.d.ts +32 -0
  272. package/dist/types/NavigationMode.js +33 -6
  273. package/dist/types/NavigationMode.js.map +1 -0
  274. package/dist/types/ValueState.d.ts +42 -0
  275. package/dist/types/ValueState.js +41 -19
  276. package/dist/types/ValueState.js.map +1 -0
  277. package/dist/types.d.ts +13 -0
  278. package/dist/types.js +2 -0
  279. package/dist/types.js.map +1 -0
  280. package/dist/updateShadowRoot.d.ts +8 -0
  281. package/dist/updateShadowRoot.js +21 -17
  282. package/dist/updateShadowRoot.js.map +1 -0
  283. package/dist/util/AriaLabelHelper.d.ts +6 -0
  284. package/dist/util/AriaLabelHelper.js +37 -34
  285. package/dist/util/AriaLabelHelper.js.map +1 -0
  286. package/dist/util/Caret.d.ts +7 -0
  287. package/dist/util/Caret.js +16 -38
  288. package/dist/util/Caret.js.map +1 -0
  289. package/dist/util/ColorConversion.d.ts +33 -0
  290. package/dist/util/ColorConversion.js +315 -348
  291. package/dist/util/ColorConversion.js.map +1 -0
  292. package/dist/util/FetchHelper.d.ts +3 -0
  293. package/dist/util/FetchHelper.js +19 -25
  294. package/dist/util/FetchHelper.js.map +1 -0
  295. package/dist/util/FocusableElements.d.ts +3 -0
  296. package/dist/util/FocusableElements.js +54 -71
  297. package/dist/util/FocusableElements.js.map +1 -0
  298. package/dist/util/HTMLSanitizer.d.ts +3 -0
  299. package/dist/util/HTMLSanitizer.js +4 -5
  300. package/dist/util/HTMLSanitizer.js.map +1 -0
  301. package/dist/util/InvisibleMessage.d.ts +10 -0
  302. package/dist/util/InvisibleMessage.js +41 -45
  303. package/dist/util/InvisibleMessage.js.map +1 -0
  304. package/dist/util/PopupUtils.d.ts +7 -0
  305. package/dist/util/PopupUtils.js +57 -76
  306. package/dist/util/PopupUtils.js.map +1 -0
  307. package/dist/util/SlotsHelper.d.ts +9 -0
  308. package/dist/util/SlotsHelper.js +22 -35
  309. package/dist/util/SlotsHelper.js.map +1 -0
  310. package/dist/util/StringHelper.d.ts +3 -0
  311. package/dist/util/StringHelper.js +17 -20
  312. package/dist/util/StringHelper.js.map +1 -0
  313. package/dist/util/TabbableElements.d.ts +3 -0
  314. package/dist/util/TabbableElements.js +39 -47
  315. package/dist/util/TabbableElements.js.map +1 -0
  316. package/dist/util/arraysAreEqual.d.ts +2 -0
  317. package/dist/util/arraysAreEqual.js +10 -12
  318. package/dist/util/arraysAreEqual.js.map +1 -0
  319. package/dist/util/clamp.d.ts +9 -0
  320. package/dist/util/clamp.js +2 -2
  321. package/dist/util/clamp.js.map +1 -0
  322. package/dist/util/createLinkInHead.d.ts +7 -0
  323. package/dist/util/createLinkInHead.js +14 -12
  324. package/dist/util/createLinkInHead.js.map +1 -0
  325. package/dist/util/createStyleInHead.d.ts +8 -0
  326. package/dist/util/createStyleInHead.js +10 -10
  327. package/dist/util/createStyleInHead.js.map +1 -0
  328. package/dist/util/debounce.d.ts +2 -0
  329. package/dist/util/debounce.js +6 -8
  330. package/dist/util/debounce.js.map +1 -0
  331. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  332. package/dist/util/detectNavigatorLanguage.js +7 -10
  333. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  334. package/dist/util/escapeRegex.d.ts +8 -0
  335. package/dist/util/escapeRegex.js +8 -7
  336. package/dist/util/escapeRegex.js.map +1 -0
  337. package/dist/util/formatMessage.d.ts +2 -0
  338. package/dist/util/formatMessage.js +15 -19
  339. package/dist/util/formatMessage.js.map +1 -0
  340. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  341. package/dist/util/generateHighlightedMarkup.js +26 -27
  342. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  343. package/dist/util/getActiveElement.d.ts +2 -0
  344. package/dist/util/getActiveElement.js +6 -8
  345. package/dist/util/getActiveElement.js.map +1 -0
  346. package/dist/util/getClassCopy.d.ts +398 -0
  347. package/dist/util/getClassCopy.js +7 -7
  348. package/dist/util/getClassCopy.js.map +1 -0
  349. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  350. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  351. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  352. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  353. package/dist/util/getEffectiveContentDensity.js +2 -3
  354. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  355. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  356. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  357. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  358. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  359. package/dist/util/getFastNavigationGroups.js +51 -0
  360. package/dist/util/getFastNavigationGroups.js.map +1 -0
  361. package/dist/util/getFileExtension.d.ts +12 -0
  362. package/dist/util/getFileExtension.js +9 -11
  363. package/dist/util/getFileExtension.js.map +1 -0
  364. package/dist/util/getNormalizedTarget.d.ts +7 -0
  365. package/dist/util/getNormalizedTarget.js +7 -9
  366. package/dist/util/getNormalizedTarget.js.map +1 -0
  367. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  368. package/dist/util/getSingletonElementInstance.js +7 -10
  369. package/dist/util/getSingletonElementInstance.js.map +1 -0
  370. package/dist/util/isDefaultSlotProvided.d.ts +2 -0
  371. package/dist/util/isDefaultSlotProvided.js +10 -0
  372. package/dist/util/isDefaultSlotProvided.js.map +1 -0
  373. package/dist/util/isElementClickable.d.ts +2 -0
  374. package/dist/util/isElementClickable.js +16 -0
  375. package/dist/util/isElementClickable.js.map +1 -0
  376. package/dist/util/isElementHidden.d.ts +2 -0
  377. package/dist/util/isElementHidden.js +8 -0
  378. package/dist/util/isElementHidden.js.map +1 -0
  379. package/dist/util/isElementInView.d.ts +6 -0
  380. package/dist/util/isElementInView.js +6 -9
  381. package/dist/util/isElementInView.js.map +1 -0
  382. package/dist/util/isElementTabbable.d.ts +2 -0
  383. package/dist/util/isElementTabbable.js +22 -0
  384. package/dist/util/isElementTabbable.js.map +1 -0
  385. package/dist/util/isValidPropertyName.d.ts +8 -0
  386. package/dist/util/isValidPropertyName.js +16 -17
  387. package/dist/util/isValidPropertyName.js.map +1 -0
  388. package/dist/util/whenDOMReady.d.ts +2 -0
  389. package/dist/util/whenDOMReady.js +11 -10
  390. package/dist/util/whenDOMReady.js.map +1 -0
  391. package/dist/validateThemeRoot.d.ts +2 -0
  392. package/dist/validateThemeRoot.js +47 -0
  393. package/dist/validateThemeRoot.js.map +1 -0
  394. package/global.d.ts +44 -0
  395. package/lib/generate-asset-parameters/index.js +8 -4
  396. package/lib/generate-styles/index.js +17 -9
  397. package/lib/generate-version-info/index.js +18 -13
  398. package/package-scripts.js +27 -22
  399. package/package.json +9 -7
  400. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  401. package/src/Boot.ts +61 -0
  402. package/src/{CSP.js → CSP.ts} +14 -7
  403. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +20 -17
  404. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  405. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  406. package/src/DOMObserver.ts +28 -0
  407. package/src/{Device.js → Device.ts} +8 -3
  408. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  409. package/src/FeaturesRegistry.ts +14 -0
  410. package/src/{FontFace.js → FontFace.ts} +3 -2
  411. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +53 -12
  412. package/src/Keys.ts +295 -0
  413. package/src/ManagedStyles.ts +92 -0
  414. package/src/{MediaRange.js → MediaRange.ts} +14 -14
  415. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  416. package/src/{Render.js → Render.ts} +25 -20
  417. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  418. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  419. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  420. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +30 -18
  421. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  422. package/src/{Theming.js → Theming.ts} +0 -0
  423. package/src/{UI5Element.js → UI5Element.ts} +231 -139
  424. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +80 -43
  425. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  426. package/src/animations/animate.ts +64 -0
  427. package/src/animations/scroll.ts +21 -0
  428. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  429. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  430. package/src/asset-registries/{Icons.js → Icons.ts} +63 -37
  431. package/src/asset-registries/Illustrations.ts +73 -0
  432. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +36 -28
  433. package/src/asset-registries/Themes.ts +67 -0
  434. package/src/asset-registries/{i18n.js → i18n.ts} +21 -24
  435. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  436. package/src/config/AnimationMode.ts +33 -0
  437. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  438. package/src/config/FormatSettings.ts +21 -0
  439. package/src/config/{Icons.js → Icons.ts} +19 -12
  440. package/src/config/{Language.js → Language.ts} +22 -18
  441. package/src/config/NoConflict.ts +67 -0
  442. package/src/config/{RTL.js → RTL.ts} +14 -4
  443. package/src/config/Theme.ts +64 -0
  444. package/src/config/ThemeRoots.ts +41 -0
  445. package/src/css/BusyIndicator.css +4 -0
  446. package/src/css/FontFace.css +9 -18
  447. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +63 -21
  448. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  449. package/src/delegate/ScrollEnablement.ts +215 -0
  450. package/src/features/F6Navigation.ts +141 -0
  451. package/src/features/OpenUI5Element.ts +11 -0
  452. package/src/features/OpenUI5Enablement.ts +117 -0
  453. package/src/features/OpenUI5Support.ts +148 -0
  454. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  455. package/src/{i18nBundle.js → i18nBundle.ts} +44 -22
  456. package/src/locale/{Locale.js → Locale.ts} +15 -5
  457. package/src/locale/RTLAwareRegistry.ts +16 -0
  458. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  459. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  460. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  461. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  462. package/src/locale/languageChange.ts +24 -0
  463. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  464. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +4 -2
  465. package/src/renderer/LitRenderer.ts +60 -0
  466. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  467. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  468. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  469. package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
  470. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  471. package/src/theming/getEffectiveLinksHrefs.ts +24 -0
  472. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  473. package/src/theming/getStylesString.ts +13 -0
  474. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  475. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  476. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  477. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  478. package/src/thirdparty/merge.ts +5 -0
  479. package/src/types/AnimationMode.ts +33 -0
  480. package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
  481. package/src/types/CalendarType.ts +38 -0
  482. package/src/types/DOMReference.ts +28 -0
  483. package/src/types/DataType.ts +51 -0
  484. package/src/types/Float.ts +25 -0
  485. package/src/types/Integer.ts +25 -0
  486. package/src/types/InvisibleMessageMode.ts +27 -0
  487. package/src/types/ItemNavigationBehavior.ts +26 -0
  488. package/src/types/NavigationMode.ts +33 -0
  489. package/src/types/ValueState.ts +47 -0
  490. package/src/types.ts +22 -0
  491. package/src/updateShadowRoot.ts +37 -0
  492. package/src/util/AriaLabelHelper.ts +63 -0
  493. package/src/util/Caret.ts +28 -0
  494. package/src/util/ColorConversion.ts +394 -0
  495. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  496. package/src/util/FocusableElements.ts +80 -0
  497. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  498. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +15 -6
  499. package/src/util/PopupUtils.ts +114 -0
  500. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  501. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  502. package/src/util/TabbableElements.ts +56 -0
  503. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  504. package/src/util/{clamp.js → clamp.ts} +1 -1
  505. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
  506. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  507. package/src/util/{debounce.js → debounce.ts} +5 -4
  508. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  509. package/src/util/escapeRegex.ts +11 -0
  510. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  511. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  512. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  513. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  514. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  515. package/src/util/getEffectiveContentDensity.ts +5 -0
  516. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  517. package/src/util/getFastNavigationGroups.ts +63 -0
  518. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  519. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  520. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  521. package/src/util/isDefaultSlotProvided.ts +11 -0
  522. package/src/util/isElementClickable.ts +19 -0
  523. package/src/util/isElementHidden.ts +9 -0
  524. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  525. package/src/util/isElementTabbable.ts +28 -0
  526. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  527. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  528. package/src/validateThemeRoot.ts +58 -0
  529. package/tsconfig.json +13 -0
  530. package/config/.eslintrc.js +0 -3
  531. package/config/rollup.config.js +0 -1
  532. package/dist/RenderScheduler.js +0 -44
  533. package/dist/animations/config.js +0 -5
  534. package/dist/isLegacyBrowser.js +0 -3
  535. package/dist/resources/bundle.esm.js +0 -32
  536. package/dist/resources/bundle.esm.js.map +0 -1
  537. package/dist/test-resources/assets/Themes.js +0 -17
  538. package/dist/test-resources/elements/Child.js +0 -35
  539. package/dist/test-resources/elements/Generic.js +0 -84
  540. package/dist/test-resources/elements/GenericExt.js +0 -26
  541. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  542. package/dist/test-resources/elements/Parent.js +0 -41
  543. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  544. package/dist/test-resources/pages/AllTestElements.html +0 -42
  545. package/dist/test-resources/pages/Configuration.html +0 -18
  546. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  547. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  548. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  549. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  550. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  551. package/dist/test-resources/pages/i18n.html +0 -33
  552. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  553. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  554. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  555. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  556. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  557. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  558. package/dist/test-resources/specs/Theming.spec.js +0 -33
  559. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  560. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  561. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  562. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  563. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  564. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  565. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  566. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  567. package/dist/types/CSSSize.js +0 -9
  568. package/dist/types/PopupState.js +0 -37
  569. package/dist/util/findNodeOwner.js +0 -35
  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/hash.txt +0 -1
  576. package/src/Boot.js +0 -59
  577. package/src/DOMObserver.js +0 -65
  578. package/src/FeaturesRegistry.js +0 -14
  579. package/src/Keys.js +0 -295
  580. package/src/ManagedStyles.js +0 -83
  581. package/src/RenderScheduler.js +0 -44
  582. package/src/animations/animate.js +0 -53
  583. package/src/animations/config.js +0 -5
  584. package/src/animations/scroll.js +0 -28
  585. package/src/asset-registries/Illustrations.js +0 -30
  586. package/src/asset-registries/Themes.js +0 -78
  587. package/src/config/AnimationMode.js +0 -23
  588. package/src/config/FormatSettings.js +0 -13
  589. package/src/config/NoConflict.js +0 -51
  590. package/src/config/Theme.js +0 -53
  591. package/src/delegate/ScrollEnablement.js +0 -188
  592. package/src/features/F6Navigation.js +0 -108
  593. package/src/features/OpenUI5Enablement.js +0 -119
  594. package/src/features/OpenUI5Support.js +0 -125
  595. package/src/isLegacyBrowser.js +0 -3
  596. package/src/locale/RTLAwareRegistry.js +0 -14
  597. package/src/locale/languageChange.js +0 -22
  598. package/src/renderer/LitRenderer.js +0 -52
  599. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  600. package/src/theming/getStylesString.js +0 -15
  601. package/src/thirdparty/merge.js +0 -10
  602. package/src/types/AnimationMode.js +0 -7
  603. package/src/types/CSSSize.js +0 -9
  604. package/src/types/CalendarType.js +0 -22
  605. package/src/types/DataType.js +0 -37
  606. package/src/types/Float.js +0 -14
  607. package/src/types/Integer.js +0 -13
  608. package/src/types/InvisibleMessageMode.js +0 -30
  609. package/src/types/ItemNavigationBehavior.js +0 -16
  610. package/src/types/NavigationMode.js +0 -7
  611. package/src/types/PopupState.js +0 -37
  612. package/src/types/ValueState.js +0 -22
  613. package/src/updateShadowRoot.js +0 -30
  614. package/src/util/AriaLabelHelper.js +0 -41
  615. package/src/util/Caret.js +0 -45
  616. package/src/util/ColorConversion.js +0 -370
  617. package/src/util/FocusableElements.js +0 -79
  618. package/src/util/PopupUtils.js +0 -93
  619. package/src/util/TabbableElements.js +0 -51
  620. package/src/util/escapeRegex.js +0 -10
  621. package/src/util/findNodeOwner.js +0 -35
  622. package/src/util/getEffectiveContentDensity.js +0 -5
  623. package/src/util/isDescendantOf.js +0 -15
  624. package/src/util/isNodeClickable.js +0 -19
  625. package/src/util/isNodeHidden.js +0 -9
  626. package/src/util/isNodeTabbable.js +0 -28
  627. package/src/util/setToArray.js +0 -10
@@ -1,54 +1,47 @@
1
1
  import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
2
-
3
2
  const localeRegEX = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
4
3
  const SAPSupportabilityLocales = /(?:^|-)(saptrc|sappsd)(?:-|$)/i;
5
-
6
4
  /* Map for old language names for a few ISO639 codes. */
7
5
  const M_ISO639_NEW_TO_OLD = {
8
- "he": "iw",
9
- "yi": "ji",
10
- "id": "in",
11
- "sr": "sh",
6
+ "he": "iw",
7
+ "yi": "ji",
8
+ "id": "in",
9
+ "sr": "sh",
12
10
  };
13
-
14
11
  /**
15
12
  * Normalizes the given locale in BCP-47 syntax.
16
13
  * @param {string} locale locale to normalize
17
14
  * @returns {string} Normalized locale, "undefined" if the locale can't be normalized or the default locale, if no locale provided.
18
15
  */
19
- const normalizeLocale = locale => {
20
- let m;
21
-
22
- if (!locale) {
23
- return DEFAULT_LOCALE;
24
- }
25
-
26
- if (typeof locale === "string" && (m = localeRegEX.exec(locale.replace(/_/g, "-")))) {/* eslint-disable-line */
27
- let language = m[1].toLowerCase();
28
- let region = m[3] ? m[3].toUpperCase() : undefined;
29
- const script = m[2] ? m[2].toLowerCase() : undefined;
30
- const variants = m[4] ? m[4].slice(1) : undefined;
31
- const isPrivate = m[6];
32
-
33
- language = M_ISO639_NEW_TO_OLD[language] || language;
34
-
35
- // recognize and convert special SAP supportability locales (overwrites m[]!)
36
- if ((isPrivate && (m = SAPSupportabilityLocales.exec(isPrivate))) /* eslint-disable-line */ ||
37
- (variants && (m = SAPSupportabilityLocales.exec(variants)))) {/* eslint-disable-line */
38
- return `en_US_${m[1].toLowerCase()}`; // for now enforce en_US (agreed with SAP SLS)
39
- }
40
-
41
- // Chinese: when no region but a script is specified, use default region for each script
42
- if (language === "zh" && !region) {
43
- if (script === "hans") {
44
- region = "CN";
45
- } else if (script === "hant") {
46
- region = "TW";
47
- }
48
- }
49
-
50
- return language + (region ? "_" + region + (variants ? "_" + variants.replace("-", "_") : "") : ""); /* eslint-disable-line */
51
- }
16
+ const normalizeLocale = (locale) => {
17
+ let m;
18
+ if (!locale) {
19
+ return DEFAULT_LOCALE;
20
+ }
21
+ if (typeof locale === "string" && (m = localeRegEX.exec(locale.replace(/_/g, "-")))) { /* eslint-disable-line */
22
+ let language = m[1].toLowerCase();
23
+ let region = m[3] ? m[3].toUpperCase() : undefined;
24
+ const script = m[2] ? m[2].toLowerCase() : undefined;
25
+ const variants = m[4] ? m[4].slice(1) : undefined;
26
+ const isPrivate = m[6];
27
+ language = M_ISO639_NEW_TO_OLD[language] || language;
28
+ // recognize and convert special SAP supportability locales (overwrites m[]!)
29
+ if ((isPrivate && (m = SAPSupportabilityLocales.exec(isPrivate))) /* eslint-disable-line */ ||
30
+ (variants && (m = SAPSupportabilityLocales.exec(variants)))) { /* eslint-disable-line */
31
+ return `en_US_${m[1].toLowerCase()}`; // for now enforce en_US (agreed with SAP SLS)
32
+ }
33
+ // Chinese: when no region but a script is specified, use default region for each script
34
+ if (language === "zh" && !region) {
35
+ if (script === "hans") {
36
+ region = "CN";
37
+ }
38
+ else if (script === "hant") {
39
+ region = "TW";
40
+ }
41
+ }
42
+ return language + (region ? "_" + region + (variants ? "_" + variants.replace("-", "_") : "") : ""); /* eslint-disable-line */
43
+ }
44
+ return DEFAULT_LOCALE;
52
45
  };
53
-
54
46
  export default normalizeLocale;
47
+ //# sourceMappingURL=normalizeLocale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeLocale.js","sourceRoot":"","sources":["../../src/locale/normalizeLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,WAAW,GAAG,4MAA4M,CAAC;AACjO,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;AAElE,wDAAwD;AACxD,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,IAAI,CAAC,CAAC;IAEN,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO,cAAc,CAAC;KACtB;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAC,yBAAyB;QAC9G,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvB,QAAQ,GAAG,mBAAmB,CAAC,QAA4C,CAAC,IAAI,QAAQ,CAAC;QAEzF,6EAA6E;QAC7E,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,yBAAyB;YAC1F,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAC,yBAAyB;YACvF,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,8CAA8C;SACpF;QAED,wFAAwF;QACxF,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,IAAI,MAAM,KAAK,MAAM,EAAE;gBACtB,MAAM,GAAG,IAAI,CAAC;aACd;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC7B,MAAM,GAAG,IAAI,CAAC;aACd;SACD;QAED,OAAO,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;KAC9H;IAED,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { TemplateResult, RenderOptions } from "lit-html";
2
+ import { TemplateFunctionResult } from "./executeTemplate.js";
3
+ declare const effectiveHtml: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult<1 | 2>;
4
+ declare const effectiveSvg: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult<1 | 2>;
5
+ declare const litRender: (templateResult: TemplateFunctionResult, container: HTMLElement | DocumentFragment, styleStrOrHrefsArr: string | Array<string> | undefined, forStaticArea: boolean, options: RenderOptions) => void;
6
+ declare const scopeTag: (tag: string, tags: Array<string>, suffix: string) => object | undefined;
7
+ export { effectiveHtml as html, effectiveSvg as svg, };
8
+ export { scopeTag };
9
+ export { repeat } from "lit-html/directives/repeat.js";
10
+ export { classMap } from "lit-html/directives/class-map.js";
11
+ export { styleMap } from "./directives/style-map.js";
12
+ export { ifDefined } from "lit-html/directives/if-defined.js";
13
+ export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
14
+ export default litRender;
@@ -1,52 +1,41 @@
1
- import {
2
- render,
3
- html,
4
- svg,
5
- } from "lit-html";
1
+ import { render, html, svg, } from "lit-html";
6
2
  import { getFeature } from "../FeaturesRegistry.js";
7
-
8
- const effectiveHtml = (...args) => {
9
- const LitStatic = getFeature("LitStatic");
10
- const fn = LitStatic ? LitStatic.html : html;
11
- return fn(...args);
3
+ const effectiveHtml = (strings, ...values) => {
4
+ const litStatic = getFeature("LitStatic");
5
+ const fn = litStatic ? litStatic.html : html;
6
+ return fn(strings, ...values);
12
7
  };
13
-
14
- const effectiveSvg = (...args) => {
15
- const LitStatic = getFeature("LitStatic");
16
- const fn = LitStatic ? LitStatic.svg : svg;
17
- return fn(...args);
8
+ const effectiveSvg = (strings, ...values) => {
9
+ const litStatic = getFeature("LitStatic");
10
+ const fn = litStatic ? litStatic.svg : svg;
11
+ return fn(strings, ...values);
18
12
  };
19
-
20
- const litRender = (templateResult, domNode, styleStrOrHrefsArr, forStaticArea, { host } = {}) => {
21
- const OpenUI5Enablement = getFeature("OpenUI5Enablement");
22
- if (OpenUI5Enablement && !forStaticArea) {
23
- templateResult = OpenUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml, host, templateResult);
24
- }
25
-
26
- if (typeof styleStrOrHrefsArr === "string") {
27
- templateResult = effectiveHtml`<style>${styleStrOrHrefsArr}</style>${templateResult}`;
28
- } else if (Array.isArray(styleStrOrHrefsArr) && styleStrOrHrefsArr.length) {
29
- templateResult = effectiveHtml`${styleStrOrHrefsArr.map(href => effectiveHtml`<link type="text/css" rel="stylesheet" href="${href}">`)}${templateResult}`;
30
- }
31
- render(templateResult, domNode, { host });
13
+ const litRender = (templateResult, container, styleStrOrHrefsArr, forStaticArea, options) => {
14
+ const openUI5Enablement = getFeature("OpenUI5Enablement");
15
+ if (openUI5Enablement && !forStaticArea) {
16
+ templateResult = openUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml, options.host, templateResult);
17
+ }
18
+ if (typeof styleStrOrHrefsArr === "string") {
19
+ templateResult = effectiveHtml `<style>${styleStrOrHrefsArr}</style>${templateResult}`;
20
+ }
21
+ else if (Array.isArray(styleStrOrHrefsArr) && styleStrOrHrefsArr.length) {
22
+ templateResult = effectiveHtml `${styleStrOrHrefsArr.map(href => effectiveHtml `<link type="text/css" rel="stylesheet" href="${href}">`)}${templateResult}`;
23
+ }
24
+ render(templateResult, container, options);
32
25
  };
33
-
34
26
  const scopeTag = (tag, tags, suffix) => {
35
- const LitStatic = getFeature("LitStatic");
36
- if (LitStatic) {
37
- return LitStatic.unsafeStatic((tags || []).includes(tag) ? `${tag}-${suffix}` : tag);
38
- }
39
- };
40
-
41
- export {
42
- effectiveHtml as html,
43
- effectiveSvg as svg,
27
+ const litStatic = getFeature("LitStatic");
28
+ if (litStatic) {
29
+ return litStatic.unsafeStatic((tags || []).includes(tag) ? `${tag}-${suffix}` : tag);
30
+ }
44
31
  };
32
+ export { effectiveHtml as html, effectiveSvg as svg, };
45
33
  export { scopeTag };
46
34
  export { repeat } from "lit-html/directives/repeat.js";
47
35
  export { classMap } from "lit-html/directives/class-map.js";
36
+ // @ts-ignore style-map is a JS file
48
37
  export { styleMap } from "./directives/style-map.js";
49
38
  export { ifDefined } from "lit-html/directives/if-defined.js";
50
39
  export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
51
-
52
40
  export default litRender;
41
+ //# sourceMappingURL=LitRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LitRenderer.js","sourceRoot":"","sources":["../../src/renderer/LitRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,GAAG,GAGH,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMpD,MAAM,aAAa,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAsB,EAAE,EAAE;IAClF,MAAM,SAAS,GAAG,UAAU,CAAmB,WAAW,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAsB,EAAE,EAAE;IACjF,MAAM,SAAS,GAAG,UAAU,CAAmB,WAAW,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,cAAsC,EAAE,SAAyC,EAAE,kBAAsD,EAAE,aAAsB,EAAE,OAAsB,EAAE,EAAE;IAC/M,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;IACpF,IAAI,iBAAiB,IAAI,CAAC,aAAa,EAAE;QACxC,cAAc,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,IAAkB,EAAE,cAAgC,CAAC,CAAC;KAC/I;IAED,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;QAC3C,cAAc,GAAG,aAAa,CAAA,UAAU,kBAAkB,WAAW,cAAc,EAAE,CAAC;KACtF;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAC1E,cAAc,GAAG,aAAa,CAAA,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAA,gDAAgD,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC;KAC1J;IACD,MAAM,CAAC,cAAgC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,IAAmB,EAAE,MAAc,EAAE,EAAE;IACrE,MAAM,SAAS,GAAG,UAAU,CAAmB,WAAW,CAAC,CAAC;IAC5D,IAAI,SAAS,EAAE;QACd,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACrF;AACF,CAAC,CAAC;AAEF,OAAO,EACN,aAAa,IAAI,IAAI,EACrB,YAAY,IAAI,GAAG,GACnB,CAAC;AACF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,oCAAoC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,eAAe,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ type TemplateFunctionResult = object;
3
+ type TemplateFunction = (component: UI5Element, tagsToScope: Array<string>, scope: string | undefined) => TemplateFunctionResult;
4
+ /**
5
+ * Runs a component's template with the component's current state, while also scoping HTML
6
+ *
7
+ * @param template - the template to execute
8
+ * @param component - the component
9
+ * @public
10
+ */
11
+ declare const executeTemplate: (template: TemplateFunction, component: UI5Element) => TemplateFunctionResult;
12
+ export default executeTemplate;
13
+ export type { TemplateFunction, TemplateFunctionResult };
@@ -1,34 +1,30 @@
1
1
  import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../CustomElementsScopeUtils.js";
2
-
3
2
  /**
4
3
  * Runs a component's template with the component's current state, while also scoping HTML
5
4
  *
6
5
  * @param template - the template to execute
7
6
  * @param component - the component
8
7
  * @public
9
- * @returns {*}
10
8
  */
11
9
  const executeTemplate = (template, component) => {
12
- const tagsToScope = getTagsToScope(component);
13
- const scope = getCustomElementsScopingSuffix();
14
- return template(component, tagsToScope, scope);
10
+ const tagsToScope = getTagsToScope(component);
11
+ const scope = getCustomElementsScopingSuffix();
12
+ return template(component, tagsToScope, scope);
15
13
  };
16
-
17
14
  /**
18
15
  * Returns all tags, used inside component's template subject to scoping.
19
16
  * @param component - the component
20
17
  * @returns {Array[]}
21
18
  * @private
22
19
  */
23
- const getTagsToScope = component => {
24
- const componentTag = component.constructor.getMetadata().getPureTag();
25
- const tagsToScope = component.constructor.getUniqueDependencies().map(dep => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
26
-
27
- if (shouldScopeCustomElement(componentTag)) {
28
- tagsToScope.push(componentTag);
29
- }
30
-
31
- return tagsToScope;
20
+ const getTagsToScope = (component) => {
21
+ const ctor = component.constructor;
22
+ const componentTag = ctor.getMetadata().getPureTag();
23
+ const tagsToScope = ctor.getUniqueDependencies().map((dep) => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
24
+ if (shouldScopeCustomElement(componentTag)) {
25
+ tagsToScope.push(componentTag);
26
+ }
27
+ return tagsToScope;
32
28
  };
33
-
34
29
  export default executeTemplate;
30
+ //# sourceMappingURL=executeTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTemplate.js","sourceRoot":"","sources":["../../src/renderer/executeTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAM1G;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CAAC,QAA0B,EAAE,SAAqB,EAA0B,EAAE;IACrG,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,8BAA8B,EAAE,CAAC;IAC/C,OAAO,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,SAAqB,EAAE,EAAE;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAgC,CAAC;IAExD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAsB,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAElJ,IAAI,wBAAwB,CAAC,YAAY,CAAC,EAAE;QAC3C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/B;IAED,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1989,7 +1989,7 @@ if (typeof window !== 'undefined') {
1989
1989
  }
1990
1990
  /*!
1991
1991
  * OpenUI5
1992
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
1992
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
1993
1993
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
1994
1994
  */
1995
1995
  // Based on coding from the HTML4 Sanitizer by Google Inc.
@@ -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;
@@ -3,77 +3,73 @@ 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
-
6
+ import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoots.js";
7
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
7
8
  const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
8
-
9
9
  const isThemeBaseRegistered = () => {
10
- const registeredPackages = getRegisteredPackages();
11
- return registeredPackages.has(BASE_THEME_PACKAGE);
10
+ const registeredPackages = getRegisteredPackages();
11
+ return registeredPackages.has(BASE_THEME_PACKAGE);
12
12
  };
13
-
14
- const loadThemeBase = async theme => {
15
- if (!isThemeBaseRegistered()) {
16
- return;
17
- }
18
-
19
- const cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);
20
- if (cssData) {
21
- createOrUpdateStyle(cssData, "data-ui5-theme-properties", BASE_THEME_PACKAGE);
22
- }
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
+ }
23
21
  };
24
-
25
22
  const deleteThemeBase = () => {
26
- removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
23
+ removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
27
24
  };
28
-
29
- const loadComponentPackages = async theme => {
30
- const registeredPackages = getRegisteredPackages();
31
- registeredPackages.forEach(async packageName => {
32
- if (packageName === BASE_THEME_PACKAGE) {
33
- return;
34
- }
35
-
36
- const cssData = await getThemeProperties(packageName, theme);
37
- if (cssData) {
38
- createOrUpdateStyle(cssData, "data-ui5-theme-properties", packageName);
39
- }
40
- });
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);
41
37
  };
42
-
43
- const detectExternalTheme = () => {
44
- // If theme designer theme is detected, use this
45
- const extTheme = getThemeDesignerTheme();
46
- if (extTheme) {
47
- return extTheme;
48
- }
49
-
50
- // If OpenUI5Support is enabled, try to find out if it loaded variables
51
- const OpenUI5Support = getFeature("OpenUI5Support");
52
- if (OpenUI5Support) {
53
- const varsLoaded = OpenUI5Support.cssVariablesLoaded();
54
- if (varsLoaded) {
55
- return {
56
- themeName: OpenUI5Support.getConfigurationSettingsObject().theme, // just themeName, baseThemeName is only relevant for custom themes
57
- };
58
- }
59
- }
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
+ }
60
59
  };
61
-
62
- const applyTheme = async theme => {
63
- const extTheme = detectExternalTheme();
64
-
65
- // Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
66
- if (!extTheme || theme !== extTheme.themeName) {
67
- await loadThemeBase(theme);
68
- } else {
69
- deleteThemeBase();
70
- }
71
-
72
- // Always load component packages properties. For non-registered themes, try with the base theme, if any
73
- const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
74
- await loadComponentPackages(packagesTheme);
75
-
76
- 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);
77
73
  };
78
-
79
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