@ui5/webcomponents-base 0.0.0-1929d08ff → 0.0.0-1acdb5da5

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 (610) hide show
  1. package/.eslintignore +6 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +423 -0
  4. package/README.md +28 -6
  5. package/bundle.esm.js +17 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -44
  12. package/dist/Boot.js.map +1 -0
  13. package/{src/CSP.js → dist/CSP.d.ts} +8 -37
  14. package/dist/CSP.js +16 -24
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +66 -83
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +146 -96
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -82
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -10
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +14 -19
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/InitialConfiguration.d.ts +27 -0
  41. package/dist/InitialConfiguration.js +121 -131
  42. package/dist/InitialConfiguration.js.map +1 -0
  43. package/dist/Keys.d.ts +57 -0
  44. package/dist/Keys.js +174 -276
  45. package/dist/Keys.js.map +1 -0
  46. package/dist/ManagedStyles.d.ts +8 -0
  47. package/dist/ManagedStyles.js +62 -68
  48. package/dist/ManagedStyles.js.map +1 -0
  49. package/dist/MarkedEvents.d.ts +9 -0
  50. package/dist/MarkedEvents.js +15 -0
  51. package/dist/MarkedEvents.js.map +1 -0
  52. package/dist/MediaRange.d.ts +37 -0
  53. package/dist/MediaRange.js +54 -65
  54. package/dist/MediaRange.js.map +1 -0
  55. package/dist/PropertiesFileFormat.d.ts +8 -0
  56. package/dist/PropertiesFileFormat.js +72 -82
  57. package/dist/PropertiesFileFormat.js.map +1 -0
  58. package/dist/Render.d.ts +47 -0
  59. package/dist/Render.js +81 -113
  60. package/dist/Render.js.map +1 -0
  61. package/dist/RenderQueue.d.ts +19 -0
  62. package/dist/RenderQueue.js +52 -62
  63. package/dist/RenderQueue.js.map +1 -0
  64. package/dist/Runtimes.d.ts +27 -0
  65. package/dist/Runtimes.js +49 -70
  66. package/dist/Runtimes.js.map +1 -0
  67. package/dist/StaticArea.d.ts +0 -0
  68. package/dist/StaticArea.js +4 -1
  69. package/dist/StaticArea.js.map +1 -0
  70. package/dist/StaticAreaItem.d.ts +36 -0
  71. package/dist/StaticAreaItem.js +85 -87
  72. package/dist/StaticAreaItem.js.map +1 -0
  73. package/dist/SystemCSSVars.d.ts +2 -0
  74. package/dist/SystemCSSVars.js +4 -5
  75. package/dist/SystemCSSVars.js.map +1 -0
  76. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  77. package/dist/Theming.js +1 -1
  78. package/dist/Theming.js.map +1 -0
  79. package/dist/UI5Element.d.ts +378 -0
  80. package/dist/UI5Element.js +917 -985
  81. package/dist/UI5Element.js.map +1 -0
  82. package/dist/UI5ElementMetadata.d.ts +150 -0
  83. package/dist/UI5ElementMetadata.js +278 -314
  84. package/dist/UI5ElementMetadata.js.map +1 -0
  85. package/dist/animations/AnimationQueue.d.ts +8 -0
  86. package/dist/animations/AnimationQueue.js +31 -38
  87. package/dist/animations/AnimationQueue.js.map +1 -0
  88. package/dist/animations/animate.d.ts +14 -0
  89. package/dist/animations/animate.js +46 -51
  90. package/dist/animations/animate.js.map +1 -0
  91. package/dist/animations/scroll.d.ts +5 -0
  92. package/dist/animations/scroll.js +18 -27
  93. package/dist/animations/scroll.js.map +1 -0
  94. package/dist/animations/slideDown.d.ts +5 -0
  95. package/dist/animations/slideDown.js +53 -78
  96. package/dist/animations/slideDown.js.map +1 -0
  97. package/dist/animations/slideUp.d.ts +5 -0
  98. package/dist/animations/slideUp.js +49 -70
  99. package/dist/animations/slideUp.js.map +1 -0
  100. package/dist/api.json +1 -0
  101. package/dist/asset-registries/Icons.d.ts +38 -0
  102. package/dist/asset-registries/Icons.js +109 -123
  103. package/dist/asset-registries/Icons.js.map +1 -0
  104. package/dist/asset-registries/Illustrations.d.ts +17 -0
  105. package/dist/asset-registries/Illustrations.js +41 -25
  106. package/dist/asset-registries/Illustrations.js.map +1 -0
  107. package/dist/asset-registries/LocaleData.d.ts +7 -0
  108. package/dist/asset-registries/LocaleData.js +104 -127
  109. package/dist/asset-registries/LocaleData.js.map +1 -0
  110. package/dist/asset-registries/Themes.d.ts +11 -0
  111. package/dist/asset-registries/Themes.js +40 -66
  112. package/dist/asset-registries/Themes.js.map +1 -0
  113. package/dist/asset-registries/i18n.d.ts +23 -0
  114. package/dist/asset-registries/i18n.js +61 -81
  115. package/dist/asset-registries/i18n.js.map +1 -0
  116. package/dist/assets/Boot.0a265eda.js +9 -0
  117. package/dist/assets/Boot.34b7cea0.css +1 -0
  118. package/dist/assets/bundle.esm.4cfffff3.js +50 -0
  119. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  120. package/dist/assets-meta/IconCollectionsAlias.js +30 -10
  121. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  122. package/dist/config/AnimationMode.d.ts +14 -0
  123. package/dist/config/AnimationMode.js +21 -18
  124. package/dist/config/AnimationMode.js.map +1 -0
  125. package/dist/config/CalendarType.d.ts +8 -0
  126. package/dist/config/CalendarType.js +13 -12
  127. package/dist/config/CalendarType.js.map +1 -0
  128. package/dist/config/FormatSettings.d.ts +15 -0
  129. package/dist/config/FormatSettings.js +15 -9
  130. package/dist/config/FormatSettings.js.map +1 -0
  131. package/dist/config/Icons.d.ts +55 -0
  132. package/dist/config/Icons.js +103 -0
  133. package/dist/config/Icons.js.map +1 -0
  134. package/dist/config/Language.d.ts +40 -0
  135. package/dist/config/Language.js +43 -43
  136. package/dist/config/Language.js.map +1 -0
  137. package/dist/config/NoConflict.d.ts +20 -0
  138. package/dist/config/NoConflict.js +41 -41
  139. package/dist/config/NoConflict.js.map +1 -0
  140. package/dist/config/RTL.d.ts +7 -0
  141. package/dist/config/RTL.js +26 -20
  142. package/dist/config/RTL.js.map +1 -0
  143. package/dist/config/Theme.d.ts +38 -0
  144. package/dist/config/Theme.js +57 -29
  145. package/dist/config/Theme.js.map +1 -0
  146. package/dist/config/ThemeRoots.d.ts +4 -0
  147. package/dist/config/ThemeRoots.js +28 -0
  148. package/dist/config/ThemeRoots.js.map +1 -0
  149. package/dist/config/Timezone.d.ts +17 -0
  150. package/dist/config/Timezone.js +30 -0
  151. package/dist/config/Timezone.js.map +1 -0
  152. package/dist/css/BusyIndicator.css +80 -0
  153. package/dist/css/FontFace.css +31 -10
  154. package/dist/decorators/customElement.d.ts +23 -0
  155. package/dist/decorators/customElement.js +37 -0
  156. package/dist/decorators/customElement.js.map +1 -0
  157. package/dist/decorators/event.d.ts +10 -0
  158. package/dist/decorators/event.js +24 -0
  159. package/dist/decorators/event.js.map +1 -0
  160. package/dist/decorators/property.d.ts +9 -0
  161. package/dist/decorators/property.js +24 -0
  162. package/dist/decorators/property.js.map +1 -0
  163. package/dist/decorators/slot.d.ts +9 -0
  164. package/dist/decorators/slot.js +37 -0
  165. package/dist/decorators/slot.js.map +1 -0
  166. package/dist/delegate/ItemNavigation.d.ts +113 -0
  167. package/dist/delegate/ItemNavigation.js +277 -312
  168. package/dist/delegate/ItemNavigation.js.map +1 -0
  169. package/dist/delegate/ResizeHandler.d.ts +25 -0
  170. package/dist/delegate/ResizeHandler.js +70 -91
  171. package/dist/delegate/ResizeHandler.js.map +1 -0
  172. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  173. package/dist/delegate/ScrollEnablement.js +157 -180
  174. package/dist/delegate/ScrollEnablement.js.map +1 -0
  175. package/dist/features/F6Navigation.d.ts +19 -0
  176. package/dist/features/F6Navigation.js +145 -100
  177. package/dist/features/F6Navigation.js.map +1 -0
  178. package/dist/features/LegacyDateFormats.d.ts +18 -0
  179. package/dist/features/LegacyDateFormats.js +20 -0
  180. package/dist/features/LegacyDateFormats.js.map +1 -0
  181. package/dist/features/OpenUI5Element.d.ts +9 -0
  182. package/dist/features/OpenUI5Element.js +5 -0
  183. package/dist/features/OpenUI5Element.js.map +1 -0
  184. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  185. package/dist/features/OpenUI5Enablement.js +96 -0
  186. package/dist/features/OpenUI5Enablement.js.map +1 -0
  187. package/dist/features/OpenUI5Support.d.ts +26 -0
  188. package/dist/features/OpenUI5Support.js +93 -119
  189. package/dist/features/OpenUI5Support.js.map +1 -0
  190. package/dist/generated/AssetParameters.js +3 -1
  191. package/dist/generated/VersionInfo.js +3 -3
  192. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  193. package/dist/generated/css/BusyIndicator.css.js +7 -0
  194. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  195. package/dist/generated/css/FontFace.css.d.ts +3 -0
  196. package/dist/generated/css/FontFace.css.js +7 -5
  197. package/dist/generated/css/FontFace.css.js.map +1 -0
  198. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  199. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  200. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  201. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  202. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  203. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  204. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  205. package/dist/getSharedResource.d.ts +11 -0
  206. package/dist/getSharedResource.js +22 -18
  207. package/dist/getSharedResource.js.map +1 -0
  208. package/dist/global.d.ts +40 -0
  209. package/dist/i18nBundle.d.ts +43 -0
  210. package/dist/i18nBundle.js +56 -64
  211. package/dist/i18nBundle.js.map +1 -0
  212. package/dist/locale/Locale.d.ts +22 -0
  213. package/dist/locale/Locale.js +75 -87
  214. package/dist/locale/Locale.js.map +1 -0
  215. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  216. package/dist/locale/RTLAwareRegistry.js +6 -11
  217. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  218. package/dist/locale/applyDirection.d.ts +10 -0
  219. package/dist/locale/applyDirection.js +7 -7
  220. package/dist/locale/applyDirection.js.map +1 -0
  221. package/dist/locale/directionChange.d.ts +15 -0
  222. package/dist/locale/directionChange.js +7 -15
  223. package/dist/locale/directionChange.js.map +1 -0
  224. package/dist/locale/getEffectiveDir.d.ts +2 -0
  225. package/dist/locale/getEffectiveDir.js +20 -24
  226. package/dist/locale/getEffectiveDir.js.map +1 -0
  227. package/dist/locale/getLocale.d.ts +7 -0
  228. package/dist/locale/getLocale.js +26 -29
  229. package/dist/locale/getLocale.js.map +1 -0
  230. package/dist/locale/languageChange.d.ts +5 -0
  231. package/dist/locale/languageChange.js +8 -16
  232. package/dist/locale/languageChange.js.map +1 -0
  233. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  234. package/dist/locale/nextFallbackLocale.js +15 -19
  235. package/dist/locale/nextFallbackLocale.js.map +1 -0
  236. package/dist/locale/normalizeLocale.d.ts +7 -0
  237. package/dist/locale/normalizeLocale.js +34 -41
  238. package/dist/locale/normalizeLocale.js.map +1 -0
  239. package/dist/renderer/LitRenderer.d.ts +14 -0
  240. package/dist/renderer/LitRenderer.js +31 -24
  241. package/dist/renderer/LitRenderer.js.map +1 -0
  242. package/dist/renderer/executeTemplate.d.ts +13 -0
  243. package/dist/renderer/executeTemplate.js +20 -7
  244. package/dist/renderer/executeTemplate.js.map +1 -0
  245. package/dist/sap/base/Log.js +28 -29
  246. package/dist/sap/base/assert.js +5 -6
  247. package/dist/sap/base/security/URLListValidator.js +13 -2
  248. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  249. package/dist/theming/CustomStyle.d.ts +6 -0
  250. package/dist/theming/CustomStyle.js +33 -45
  251. package/dist/theming/CustomStyle.js.map +1 -0
  252. package/dist/theming/ThemeLoaded.d.ts +5 -0
  253. package/dist/theming/ThemeLoaded.js +8 -16
  254. package/dist/theming/ThemeLoaded.js.map +1 -0
  255. package/dist/theming/ThemeRegistered.d.ts +4 -0
  256. package/dist/theming/ThemeRegistered.js +11 -0
  257. package/dist/theming/ThemeRegistered.js.map +1 -0
  258. package/dist/theming/applyTheme.d.ts +2 -0
  259. package/dist/theming/applyTheme.js +60 -64
  260. package/dist/theming/applyTheme.js.map +1 -0
  261. package/dist/theming/getConstructableStyle.d.ts +9 -0
  262. package/dist/theming/getConstructableStyle.js +12 -17
  263. package/dist/theming/getConstructableStyle.js.map +1 -0
  264. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  265. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  266. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  267. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  268. package/dist/theming/getEffectiveStyle.js +25 -23
  269. package/dist/theming/getEffectiveStyle.js.map +1 -0
  270. package/dist/theming/getStylesString.d.ts +3 -0
  271. package/dist/theming/getStylesString.js +9 -13
  272. package/dist/theming/getStylesString.js.map +1 -0
  273. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  274. package/dist/theming/getThemeDesignerTheme.js +72 -79
  275. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  276. package/dist/theming/preloadLinks.d.ts +3 -0
  277. package/dist/theming/preloadLinks.js +13 -17
  278. package/dist/theming/preloadLinks.js.map +1 -0
  279. package/dist/thirdparty/_merge.d.ts +2 -0
  280. package/dist/thirdparty/_merge.js +7 -4
  281. package/dist/thirdparty/_merge.js.map +1 -0
  282. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  283. package/dist/thirdparty/isPlainObject.js +11 -10
  284. package/dist/thirdparty/isPlainObject.js.map +1 -0
  285. package/dist/thirdparty/merge.d.ts +2 -0
  286. package/dist/thirdparty/merge.js +4 -8
  287. package/dist/thirdparty/merge.js.map +1 -0
  288. package/dist/types/AnimationMode.d.ts +32 -0
  289. package/dist/types/AnimationMode.js +33 -6
  290. package/dist/types/AnimationMode.js.map +1 -0
  291. package/dist/types/CSSColor.d.ts +15 -0
  292. package/dist/types/CSSColor.js +14 -5
  293. package/dist/types/CSSColor.js.map +1 -0
  294. package/dist/types/CalendarType.d.ts +37 -0
  295. package/dist/types/CalendarType.js +35 -18
  296. package/dist/types/CalendarType.js.map +1 -0
  297. package/dist/types/DOMReference.d.ts +17 -0
  298. package/dist/types/DOMReference.js +25 -0
  299. package/dist/types/DOMReference.js.map +1 -0
  300. package/dist/types/DataType.d.ts +25 -0
  301. package/dist/types/DataType.js +33 -26
  302. package/dist/types/DataType.js.map +1 -0
  303. package/dist/types/Float.d.ts +17 -0
  304. package/dist/types/Float.js +17 -10
  305. package/dist/types/Float.js.map +1 -0
  306. package/dist/types/Integer.d.ts +17 -0
  307. package/dist/types/Integer.js +17 -9
  308. package/dist/types/Integer.js.map +1 -0
  309. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  310. package/dist/types/InvisibleMessageMode.js +20 -23
  311. package/dist/types/InvisibleMessageMode.js.map +1 -0
  312. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  313. package/dist/types/ItemNavigationBehavior.js +22 -12
  314. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  315. package/dist/types/NavigationMode.d.ts +32 -0
  316. package/dist/types/NavigationMode.js +33 -6
  317. package/dist/types/NavigationMode.js.map +1 -0
  318. package/dist/types/ValueState.d.ts +42 -0
  319. package/dist/types/ValueState.js +41 -19
  320. package/dist/types/ValueState.js.map +1 -0
  321. package/dist/types.d.ts +18 -0
  322. package/dist/types.js +2 -0
  323. package/dist/types.js.map +1 -0
  324. package/dist/updateShadowRoot.d.ts +8 -0
  325. package/dist/updateShadowRoot.js +25 -17
  326. package/dist/updateShadowRoot.js.map +1 -0
  327. package/dist/util/AriaLabelHelper.d.ts +15 -0
  328. package/dist/util/AriaLabelHelper.js +166 -36
  329. package/dist/util/AriaLabelHelper.js.map +1 -0
  330. package/dist/util/Caret.d.ts +7 -0
  331. package/dist/util/Caret.js +16 -38
  332. package/dist/util/Caret.js.map +1 -0
  333. package/dist/util/ColorConversion.d.ts +30 -0
  334. package/dist/util/ColorConversion.js +315 -348
  335. package/dist/util/ColorConversion.js.map +1 -0
  336. package/dist/util/FetchHelper.d.ts +3 -0
  337. package/dist/util/FetchHelper.js +19 -25
  338. package/dist/util/FetchHelper.js.map +1 -0
  339. package/dist/util/FocusableElements.d.ts +4 -0
  340. package/dist/util/FocusableElements.js +64 -71
  341. package/dist/util/FocusableElements.js.map +1 -0
  342. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  343. package/dist/util/HTMLSanitizer.js +4 -5
  344. package/dist/util/HTMLSanitizer.js.map +1 -0
  345. package/dist/util/InvisibleMessage.d.ts +10 -0
  346. package/dist/util/InvisibleMessage.js +41 -45
  347. package/dist/util/InvisibleMessage.js.map +1 -0
  348. package/dist/util/PopupUtils.d.ts +7 -0
  349. package/dist/util/PopupUtils.js +58 -77
  350. package/dist/util/PopupUtils.js.map +1 -0
  351. package/dist/util/SlotsHelper.d.ts +9 -0
  352. package/dist/util/SlotsHelper.js +22 -35
  353. package/dist/util/SlotsHelper.js.map +1 -0
  354. package/dist/util/StringHelper.d.ts +3 -0
  355. package/dist/util/StringHelper.js +17 -20
  356. package/dist/util/StringHelper.js.map +1 -0
  357. package/dist/util/TabbableElements.d.ts +17 -0
  358. package/dist/util/TabbableElements.js +53 -47
  359. package/dist/util/TabbableElements.js.map +1 -0
  360. package/dist/util/arraysAreEqual.d.ts +2 -0
  361. package/dist/util/arraysAreEqual.js +10 -12
  362. package/dist/util/arraysAreEqual.js.map +1 -0
  363. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  364. package/dist/util/clamp.js +2 -2
  365. package/dist/util/clamp.js.map +1 -0
  366. package/dist/util/createLinkInHead.d.ts +7 -0
  367. package/dist/util/createLinkInHead.js +14 -12
  368. package/dist/util/createLinkInHead.js.map +1 -0
  369. package/dist/util/createStyleInHead.d.ts +8 -0
  370. package/dist/util/createStyleInHead.js +10 -10
  371. package/dist/util/createStyleInHead.js.map +1 -0
  372. package/dist/util/debounce.d.ts +2 -0
  373. package/dist/util/debounce.js +6 -8
  374. package/dist/util/debounce.js.map +1 -0
  375. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  376. package/dist/util/detectNavigatorLanguage.js +7 -10
  377. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  378. package/dist/util/escapeRegex.d.ts +8 -0
  379. package/dist/util/escapeRegex.js +8 -7
  380. package/dist/util/escapeRegex.js.map +1 -0
  381. package/dist/util/formatMessage.d.ts +2 -0
  382. package/dist/util/formatMessage.js +15 -19
  383. package/dist/util/formatMessage.js.map +1 -0
  384. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  385. package/dist/util/generateHighlightedMarkup.js +26 -27
  386. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  387. package/dist/util/getActiveElement.d.ts +2 -0
  388. package/dist/util/getActiveElement.js +6 -8
  389. package/dist/util/getActiveElement.js.map +1 -0
  390. package/dist/util/getClassCopy.d.ts +398 -0
  391. package/dist/util/getClassCopy.js +7 -7
  392. package/dist/util/getClassCopy.js.map +1 -0
  393. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  394. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  395. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  396. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  397. package/dist/util/getEffectiveContentDensity.js +2 -3
  398. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  399. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  400. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  401. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  402. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  403. package/dist/util/getFastNavigationGroups.js +51 -0
  404. package/dist/util/getFastNavigationGroups.js.map +1 -0
  405. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  406. package/dist/util/getFileExtension.js +9 -11
  407. package/dist/util/getFileExtension.js.map +1 -0
  408. package/dist/util/getNormalizedTarget.d.ts +7 -0
  409. package/dist/util/getNormalizedTarget.js +14 -0
  410. package/dist/util/getNormalizedTarget.js.map +1 -0
  411. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  412. package/dist/util/getSingletonElementInstance.js +7 -10
  413. package/dist/util/getSingletonElementInstance.js.map +1 -0
  414. package/dist/util/isElementClickable.d.ts +2 -0
  415. package/dist/util/isElementClickable.js +16 -0
  416. package/dist/util/isElementClickable.js.map +1 -0
  417. package/dist/util/isElementHidden.d.ts +2 -0
  418. package/dist/util/isElementHidden.js +8 -0
  419. package/dist/util/isElementHidden.js.map +1 -0
  420. package/dist/util/isElementInView.d.ts +6 -0
  421. package/dist/util/isElementInView.js +6 -9
  422. package/dist/util/isElementInView.js.map +1 -0
  423. package/dist/util/isElementTabbable.d.ts +9 -0
  424. package/dist/util/isElementTabbable.js +30 -0
  425. package/dist/util/isElementTabbable.js.map +1 -0
  426. package/dist/util/isValidPropertyName.d.ts +8 -0
  427. package/dist/util/isValidPropertyName.js +16 -17
  428. package/dist/util/isValidPropertyName.js.map +1 -0
  429. package/dist/util/whenDOMReady.d.ts +2 -0
  430. package/dist/util/whenDOMReady.js +11 -10
  431. package/dist/util/whenDOMReady.js.map +1 -0
  432. package/dist/util/willShowContent.d.ts +2 -0
  433. package/dist/util/willShowContent.js +7 -0
  434. package/dist/util/willShowContent.js.map +1 -0
  435. package/dist/validateThemeRoot.d.ts +2 -0
  436. package/dist/validateThemeRoot.js +48 -0
  437. package/dist/validateThemeRoot.js.map +1 -0
  438. package/index.js +227 -1
  439. package/lib/generate-asset-parameters/index.js +11 -5
  440. package/lib/generate-styles/index.js +26 -13
  441. package/lib/generate-version-info/index.js +18 -13
  442. package/package-scripts.cjs +71 -0
  443. package/package.json +8 -6
  444. package/src/css/BusyIndicator.css +80 -0
  445. package/src/css/FontFace.css +31 -10
  446. package/tsconfig.json +14 -0
  447. package/config/rollup.config.js +0 -1
  448. package/config/wdio.conf.js +0 -1
  449. package/dist/RenderScheduler.js +0 -44
  450. package/dist/animations/config.js +0 -5
  451. package/dist/isLegacyBrowser.js +0 -3
  452. package/dist/resources/bundle.esm.js +0 -37
  453. package/dist/resources/bundle.esm.js.map +0 -1
  454. package/dist/test-resources/assets/Themes.js +0 -17
  455. package/dist/test-resources/elements/Child.js +0 -35
  456. package/dist/test-resources/elements/Generic.js +0 -84
  457. package/dist/test-resources/elements/GenericExt.js +0 -26
  458. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  459. package/dist/test-resources/elements/Parent.js +0 -41
  460. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  461. package/dist/test-resources/pages/AllTestElements.html +0 -42
  462. package/dist/test-resources/pages/Configuration.html +0 -18
  463. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  464. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  465. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  466. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  467. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  468. package/dist/test-resources/pages/i18n.html +0 -33
  469. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  470. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  471. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  472. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  473. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  474. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  475. package/dist/test-resources/specs/Theming.spec.js +0 -33
  476. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  477. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  478. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  479. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  480. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  481. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  482. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  483. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  484. package/dist/types/CSSSize.js +0 -9
  485. package/dist/types/PopupState.js +0 -37
  486. package/dist/util/findNodeOwner.js +0 -35
  487. package/dist/util/isDescendantOf.js +0 -15
  488. package/dist/util/isNodeClickable.js +0 -19
  489. package/dist/util/isNodeHidden.js +0 -9
  490. package/dist/util/isNodeTabbable.js +0 -28
  491. package/dist/util/setToArray.js +0 -10
  492. package/hash.txt +0 -1
  493. package/package-scripts.js +0 -67
  494. package/src/Boot.js +0 -59
  495. package/src/CustomElementsRegistry.js +0 -95
  496. package/src/DOMObserver.js +0 -65
  497. package/src/Device.js +0 -116
  498. package/src/EventProvider.js +0 -85
  499. package/src/FeaturesRegistry.js +0 -14
  500. package/src/FontFace.js +0 -30
  501. package/src/InitialConfiguration.js +0 -166
  502. package/src/Keys.js +0 -280
  503. package/src/ManagedStyles.js +0 -83
  504. package/src/MediaRange.js +0 -109
  505. package/src/PropertiesFileFormat.js +0 -95
  506. package/src/Render.js +0 -175
  507. package/src/RenderQueue.js +0 -66
  508. package/src/RenderScheduler.js +0 -44
  509. package/src/Runtimes.js +0 -107
  510. package/src/StaticArea.js +0 -3
  511. package/src/StaticAreaItem.js +0 -101
  512. package/src/SystemCSSVars.js +0 -10
  513. package/src/UI5Element.js +0 -1023
  514. package/src/UI5ElementMetadata.js +0 -327
  515. package/src/animations/AnimationQueue.js +0 -42
  516. package/src/animations/animate.js +0 -53
  517. package/src/animations/config.js +0 -5
  518. package/src/animations/scroll.js +0 -28
  519. package/src/animations/slideDown.js +0 -79
  520. package/src/animations/slideUp.js +0 -71
  521. package/src/asset-registries/Icons.js +0 -139
  522. package/src/asset-registries/Illustrations.js +0 -30
  523. package/src/asset-registries/LocaleData.js +0 -159
  524. package/src/asset-registries/Themes.js +0 -78
  525. package/src/asset-registries/i18n.js +0 -121
  526. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  527. package/src/config/AnimationMode.js +0 -23
  528. package/src/config/CalendarType.js +0 -18
  529. package/src/config/FormatSettings.js +0 -13
  530. package/src/config/Language.js +0 -68
  531. package/src/config/NoConflict.js +0 -51
  532. package/src/config/RTL.js +0 -31
  533. package/src/config/Theme.js +0 -42
  534. package/src/delegate/ItemNavigation.js +0 -351
  535. package/src/delegate/ResizeHandler.js +0 -106
  536. package/src/delegate/ScrollEnablement.js +0 -188
  537. package/src/features/F6Navigation.js +0 -106
  538. package/src/features/OpenUI5Support.js +0 -125
  539. package/src/getSharedResource.js +0 -30
  540. package/src/i18nBundle.js +0 -86
  541. package/src/isLegacyBrowser.js +0 -3
  542. package/src/locale/Locale.js +0 -91
  543. package/src/locale/RTLAwareRegistry.js +0 -14
  544. package/src/locale/applyDirection.js +0 -17
  545. package/src/locale/directionChange.js +0 -32
  546. package/src/locale/getEffectiveDir.js +0 -28
  547. package/src/locale/getLocale.js +0 -41
  548. package/src/locale/languageChange.js +0 -22
  549. package/src/locale/nextFallbackLocale.js +0 -28
  550. package/src/locale/normalizeLocale.js +0 -54
  551. package/src/renderer/LitRenderer.js +0 -34
  552. package/src/renderer/executeTemplate.js +0 -17
  553. package/src/theming/CustomStyle.js +0 -60
  554. package/src/theming/ThemeLoaded.js +0 -22
  555. package/src/theming/applyTheme.js +0 -79
  556. package/src/theming/getConstructableStyle.js +0 -30
  557. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  558. package/src/theming/getEffectiveStyle.js +0 -30
  559. package/src/theming/getStylesString.js +0 -15
  560. package/src/theming/getThemeDesignerTheme.js +0 -87
  561. package/src/theming/preloadLinks.js +0 -23
  562. package/src/thirdparty/_merge.js +0 -32
  563. package/src/thirdparty/isPlainObject.js +0 -18
  564. package/src/thirdparty/merge.js +0 -10
  565. package/src/types/AnimationMode.js +0 -7
  566. package/src/types/CSSColor.js +0 -9
  567. package/src/types/CSSSize.js +0 -9
  568. package/src/types/CalendarType.js +0 -22
  569. package/src/types/DataType.js +0 -37
  570. package/src/types/Float.js +0 -14
  571. package/src/types/Integer.js +0 -13
  572. package/src/types/InvisibleMessageMode.js +0 -30
  573. package/src/types/ItemNavigationBehavior.js +0 -16
  574. package/src/types/NavigationMode.js +0 -7
  575. package/src/types/PopupState.js +0 -37
  576. package/src/types/ValueState.js +0 -22
  577. package/src/updateShadowRoot.js +0 -30
  578. package/src/util/AriaLabelHelper.js +0 -41
  579. package/src/util/Caret.js +0 -45
  580. package/src/util/ColorConversion.js +0 -370
  581. package/src/util/FetchHelper.js +0 -31
  582. package/src/util/FocusableElements.js +0 -79
  583. package/src/util/InvisibleMessage.js +0 -60
  584. package/src/util/PopupUtils.js +0 -93
  585. package/src/util/SlotsHelper.js +0 -43
  586. package/src/util/StringHelper.js +0 -26
  587. package/src/util/TabbableElements.js +0 -51
  588. package/src/util/arraysAreEqual.js +0 -15
  589. package/src/util/createLinkInHead.js +0 -19
  590. package/src/util/createStyleInHead.js +0 -18
  591. package/src/util/debounce.js +0 -17
  592. package/src/util/detectNavigatorLanguage.js +0 -13
  593. package/src/util/escapeRegex.js +0 -10
  594. package/src/util/findNodeOwner.js +0 -35
  595. package/src/util/formatMessage.js +0 -23
  596. package/src/util/generateHighlightedMarkup.js +0 -42
  597. package/src/util/getActiveElement.js +0 -11
  598. package/src/util/getClassCopy.js +0 -10
  599. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  600. package/src/util/getEffectiveContentDensity.js +0 -5
  601. package/src/util/getSingletonElementInstance.js +0 -13
  602. package/src/util/isDescendantOf.js +0 -15
  603. package/src/util/isElementInView.js +0 -15
  604. package/src/util/isNodeClickable.js +0 -19
  605. package/src/util/isNodeHidden.js +0 -9
  606. package/src/util/isNodeTabbable.js +0 -28
  607. package/src/util/isValidPropertyName.js +0 -29
  608. package/src/util/setToArray.js +0 -10
  609. package/src/util/whenDOMReady.js +0 -13
  610. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,28 +0,0 @@
1
- import { getRTL } from "../config/RTL.js";
2
-
3
- const GLOBAL_DIR_CSS_VAR = "--_ui5_dir";
4
-
5
- const getEffectiveDir = element => {
6
- const doc = window.document;
7
- const dirValues = ["ltr", "rtl"]; // exclude "auto" and "" from all calculations
8
- const locallyAppliedDir = getComputedStyle(element).getPropertyValue(GLOBAL_DIR_CSS_VAR);
9
-
10
- // In that order, inspect the CSS Var (for modern browsers), the element itself, html and body (for IE fallback)
11
- if (dirValues.includes(locallyAppliedDir)) {
12
- return locallyAppliedDir;
13
- }
14
- if (dirValues.includes(element.dir)) {
15
- return element.dir;
16
- }
17
- if (dirValues.includes(doc.documentElement.dir)) {
18
- return doc.documentElement.dir;
19
- }
20
- if (dirValues.includes(doc.body.dir)) {
21
- return doc.body.dir;
22
- }
23
-
24
- // Finally, check the configuration for explicitly set RTL or language-implied RTL
25
- return getRTL() ? "rtl" : undefined;
26
- };
27
-
28
- export default getEffectiveDir;
@@ -1,41 +0,0 @@
1
- import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
2
- import { getLanguage as getConfigLanguage } from "../config/Language.js";
3
- import Locale from "./Locale.js";
4
-
5
- const cache = new Map();
6
-
7
- const getLocaleInstance = lang => {
8
- if (!cache.has(lang)) {
9
- cache.set(lang, new Locale(lang));
10
- }
11
-
12
- return cache.get(lang);
13
- };
14
-
15
- const convertToLocaleOrNull = lang => {
16
- try {
17
- if (lang && typeof lang === "string") {
18
- return getLocaleInstance(lang);
19
- }
20
- } catch (e) {
21
- // ignore
22
- }
23
- };
24
-
25
- /**
26
- * Returns the locale based on the parameter or configured language Configuration#getLanguage
27
- * If no language has been configured - a new locale based on browser language is returned
28
- */
29
- const getLocale = lang => {
30
- if (lang) {
31
- return convertToLocaleOrNull(lang);
32
- }
33
-
34
- if (getConfigLanguage()) {
35
- return getLocaleInstance(getConfigLanguage());
36
- }
37
-
38
- return convertToLocaleOrNull(detectNavigatorLanguage());
39
- };
40
-
41
- export default getLocale;
@@ -1,22 +0,0 @@
1
- import EventProvider from "../EventProvider.js";
2
-
3
- const eventProvider = new EventProvider();
4
- const LANG_CHANGE = "languageChange";
5
-
6
- const attachLanguageChange = listener => {
7
- eventProvider.attachEvent(LANG_CHANGE, listener);
8
- };
9
-
10
- const detachLanguageChange = listener => {
11
- eventProvider.detachEvent(LANG_CHANGE, listener);
12
- };
13
-
14
- const fireLanguageChange = lang => {
15
- return eventProvider.fireEventAsync(LANG_CHANGE, lang);
16
- };
17
-
18
- export {
19
- attachLanguageChange,
20
- detachLanguageChange,
21
- fireLanguageChange,
22
- };
@@ -1,28 +0,0 @@
1
- import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
2
-
3
- /**
4
- * Calculates the next fallback locale for the given locale.
5
- *
6
- * @param {string} locale Locale string in Java format (underscores) or null
7
- * @returns {string} Next fallback Locale or "en" if no fallbacks found.
8
- */
9
- const nextFallbackLocale = locale => {
10
- if (!locale) {
11
- return DEFAULT_LOCALE;
12
- }
13
-
14
- if (locale === "zh_HK") {
15
- return "zh_TW";
16
- }
17
-
18
- // if there are multiple segments (separated by underscores), remove the last one
19
- const p = locale.lastIndexOf("_");
20
- if (p >= 0) {
21
- return locale.slice(0, p);
22
- }
23
-
24
- // for any language but the default, fallback to the default first before falling back to the 'raw' language (empty string)
25
- return locale !== DEFAULT_LOCALE ? DEFAULT_LOCALE : "";
26
- };
27
-
28
- export default nextFallbackLocale;
@@ -1,54 +0,0 @@
1
- import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
2
-
3
- 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
- const SAPSupportabilityLocales = /(?:^|-)(saptrc|sappsd)(?:-|$)/i;
5
-
6
- /* Map for old language names for a few ISO639 codes. */
7
- const M_ISO639_NEW_TO_OLD = {
8
- "he": "iw",
9
- "yi": "ji",
10
- "id": "in",
11
- "sr": "sh",
12
- };
13
-
14
- /**
15
- * Normalizes the given locale in BCP-47 syntax.
16
- * @param {string} locale locale to normalize
17
- * @returns {string} Normalized locale, "undefined" if the locale can't be normalized or the default locale, if no locale provided.
18
- */
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
- }
52
- };
53
-
54
- export default normalizeLocale;
@@ -1,34 +0,0 @@
1
- import { render } from "lit-html";
2
- import {
3
- html,
4
- svg,
5
- unsafeStatic,
6
- } from "lit-html/static.js";
7
-
8
- const litRender = (templateResult, domNode, styleStrOrHrefsArr, { host } = {}) => {
9
- if (typeof styleStrOrHrefsArr === "string") {
10
- templateResult = html`<style>${styleStrOrHrefsArr}</style>${templateResult}`;
11
- } else if (Array.isArray(styleStrOrHrefsArr) && styleStrOrHrefsArr.length) {
12
- templateResult = html`${styleStrOrHrefsArr.map(href => html`<link type="text/css" rel="stylesheet" href="${href}">`)}${templateResult}`;
13
- }
14
- render(templateResult, domNode, { host });
15
- };
16
-
17
- const scopeTag = (tag, tags, suffix) => {
18
- const resultTag = suffix && (tags || []).includes(tag) ? `${tag}-${suffix}` : tag;
19
- return unsafeStatic(resultTag);
20
- };
21
-
22
- export {
23
- html,
24
- svg,
25
- unsafeStatic,
26
- };
27
- export { scopeTag };
28
- export { repeat } from "lit-html/directives/repeat.js";
29
- export { classMap } from "lit-html/directives/class-map.js";
30
- export { styleMap } from "./directives/style-map.js";
31
- export { ifDefined } from "lit-html/directives/if-defined.js";
32
- export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
33
-
34
- export default litRender;
@@ -1,17 +0,0 @@
1
- import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../CustomElementsScope.js";
2
-
3
- /**
4
- * Runs a component's template with the component's current state, while also scoping HTML
5
- *
6
- * @param template - the template to execute
7
- * @param component - the component
8
- * @public
9
- * @returns {*}
10
- */
11
- const executeTemplate = (template, component) => {
12
- const tagsToScope = component.constructor.getUniqueDependencies().map(dep => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
13
- const scope = getCustomElementsScopingSuffix();
14
- return template(component, tagsToScope, scope);
15
- };
16
-
17
- export default executeTemplate;
@@ -1,60 +0,0 @@
1
- import { reRenderAllUI5Elements } from "../Render.js";
2
- import getSharedResource from "../getSharedResource.js";
3
- import EventProvider from "../EventProvider.js";
4
-
5
- const eventProvider = getSharedResource("CustomStyle.eventProvider", new EventProvider());
6
- const CUSTOM_CSS_CHANGE = "CustomCSSChange";
7
-
8
- const attachCustomCSSChange = listener => {
9
- eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
10
- };
11
-
12
- const detachCustomCSSChange = listener => {
13
- eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
14
- };
15
-
16
- const fireCustomCSSChange = tag => {
17
- return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
18
- };
19
-
20
- const customCSSFor = getSharedResource("CustomStyle.customCSSFor", {});
21
-
22
- // Listen to the eventProvider, in case other copies of this CustomStyle module fire this
23
- // event, and this copy would therefore need to reRender the ui5 webcomponents; but
24
- // don't reRender if it was this copy that fired the event to begin with.
25
- let skipRerender;
26
- attachCustomCSSChange(tag => {
27
- if (!skipRerender) {
28
- reRenderAllUI5Elements({ tag });
29
- }
30
- });
31
-
32
- 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 });
49
- };
50
-
51
- const getCustomCSS = tag => {
52
- return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
53
- };
54
-
55
- export {
56
- addCustomCSS,
57
- getCustomCSS,
58
- attachCustomCSSChange,
59
- detachCustomCSSChange,
60
- };
@@ -1,22 +0,0 @@
1
- import EventProvider from "../EventProvider.js";
2
-
3
- const eventProvider = new EventProvider();
4
- const THEME_LOADED = "themeLoaded";
5
-
6
- const attachThemeLoaded = listener => {
7
- eventProvider.attachEvent(THEME_LOADED, listener);
8
- };
9
-
10
- const detachThemeLoaded = listener => {
11
- eventProvider.detachEvent(THEME_LOADED, listener);
12
- };
13
-
14
- const fireThemeLoaded = theme => {
15
- return eventProvider.fireEvent(THEME_LOADED, theme);
16
- };
17
-
18
- export {
19
- attachThemeLoaded,
20
- detachThemeLoaded,
21
- fireThemeLoaded,
22
- };
@@ -1,79 +0,0 @@
1
- import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from "../asset-registries/Themes.js";
2
- import { removeStyle, createOrUpdateStyle } from "../ManagedStyles.js";
3
- import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
4
- import { fireThemeLoaded } from "./ThemeLoaded.js";
5
- import { getFeature } from "../FeaturesRegistry.js";
6
-
7
- const BASE_THEME_PACKAGE = "@ui5/webcomponents-theming";
8
-
9
- const isThemeBaseRegistered = () => {
10
- const registeredPackages = getRegisteredPackages();
11
- return registeredPackages.has(BASE_THEME_PACKAGE);
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
- }
23
- };
24
-
25
- const deleteThemeBase = () => {
26
- removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
27
- };
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
- });
41
- };
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
- }
60
- };
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);
77
- };
78
-
79
- export default applyTheme;
@@ -1,30 +0,0 @@
1
- import getEffectiveStyle from "./getEffectiveStyle.js";
2
- import { attachCustomCSSChange } from "./CustomStyle.js";
3
-
4
- 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
8
- });
9
-
10
- /**
11
- * Returns (and caches) a constructable style sheet for a web component class
12
- * Note: Chrome
13
- * @param ElementClass
14
- * @returns {*}
15
- */
16
- 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);
28
- };
29
-
30
- export default getConstructableStyle;
@@ -1,20 +0,0 @@
1
- import { getUrl } from "../CSP.js";
2
-
3
- const flatten = arr => {
4
- return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten(val) : val), []);
5
- };
6
-
7
- const getEffectiveLinksHrefs = (ElementClass, forStaticArea = false) => {
8
- let stylesData = ElementClass[forStaticArea ? "staticAreaStyles" : "styles"];
9
- if (!stylesData) {
10
- return;
11
- }
12
-
13
- if (!Array.isArray(stylesData)) {
14
- stylesData = [stylesData];
15
- }
16
-
17
- return flatten(stylesData).filter(data => !!data).map(data => getUrl(data.packageName, data.fileName));
18
- };
19
-
20
- export default getEffectiveLinksHrefs;
@@ -1,30 +0,0 @@
1
- import { getCustomCSS, attachCustomCSSChange } from "./CustomStyle.js";
2
- import getStylesString from "./getStylesString.js";
3
-
4
- const effectiveStyleMap = new Map();
5
-
6
- attachCustomCSSChange(tag => {
7
- effectiveStyleMap.delete(`${tag}_normal`); // there is custom CSS only for the component itself, not for its static area part
8
- });
9
-
10
- const getEffectiveStyle = (ElementClass, forStaticArea = false) => {
11
- const tag = ElementClass.getMetadata().getTag();
12
- const key = `${tag}_${forStaticArea ? "static" : "normal"}`;
13
-
14
- if (!effectiveStyleMap.has(key)) {
15
- let effectiveStyle;
16
-
17
- if (forStaticArea) {
18
- effectiveStyle = getStylesString(ElementClass.staticAreaStyles);
19
- } else {
20
- const customStyle = getCustomCSS(tag) || "";
21
- const builtInStyles = getStylesString(ElementClass.styles);
22
- effectiveStyle = `${builtInStyles} ${customStyle}`;
23
- }
24
- effectiveStyleMap.set(key, effectiveStyle);
25
- }
26
-
27
- return effectiveStyleMap.get(key);
28
- };
29
-
30
- export default getEffectiveStyle;
@@ -1,15 +0,0 @@
1
- const getStylesString = styles => {
2
- if (Array.isArray(styles)) {
3
- return flatten(styles.filter(style => !!style)).map(style => {
4
- return typeof style === "string" ? style : style.content;
5
- }).join(" ");
6
- }
7
-
8
- return typeof styles === "string" ? styles : styles.content;
9
- };
10
-
11
- const flatten = arr => {
12
- return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten(val) : val), []);
13
- };
14
-
15
- export default getStylesString;
@@ -1,87 +0,0 @@
1
- const warnings = new Set();
2
-
3
- const getThemeMetadata = () => {
4
- // Check if the class was already applied, most commonly to the link/style tag with the CSS Variables
5
- let el = document.querySelector(".sapThemeMetaData-Base-baseLib") || document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");
6
- if (el) {
7
- return getComputedStyle(el).backgroundImage;
8
- }
9
-
10
- el = document.createElement("span");
11
- el.style.display = "none";
12
-
13
- // Try with sapThemeMetaData-Base-baseLib first
14
- el.classList.add("sapThemeMetaData-Base-baseLib");
15
- document.body.appendChild(el);
16
- let metadata = getComputedStyle(el).backgroundImage;
17
-
18
- // Try with sapThemeMetaData-UI5-sap-ui-core only if the previous selector was not found
19
- if (metadata === "none") {
20
- el.classList.add("sapThemeMetaData-UI5-sap-ui-core");
21
- metadata = getComputedStyle(el).backgroundImage;
22
- }
23
-
24
- document.body.removeChild(el);
25
-
26
- return metadata;
27
- };
28
-
29
- const parseThemeMetadata = metadataString => {
30
- const params = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(metadataString);
31
- if (params && params.length >= 2) {
32
- let paramsString = params[1];
33
- paramsString = paramsString.replace(/\\"/g, `"`);
34
- if (paramsString.charAt(0) !== "{" && paramsString.charAt(paramsString.length - 1) !== "}") {
35
- try {
36
- paramsString = decodeURIComponent(paramsString);
37
- } catch (ex) {
38
- if (!warnings.has("decode")) {
39
- console.warn("Malformed theme metadata string, unable to decodeURIComponent"); // eslint-disable-line
40
- warnings.add("decode");
41
- }
42
- return;
43
- }
44
- }
45
- try {
46
- return JSON.parse(paramsString);
47
- } catch (ex) {
48
- if (!warnings.has("parse")) {
49
- console.warn("Malformed theme metadata string, unable to parse JSON"); // eslint-disable-line
50
- warnings.add("parse");
51
- }
52
- }
53
- }
54
- };
55
-
56
- const processThemeMetadata = metadata => {
57
- let themeName;
58
- let baseThemeName;
59
-
60
- try {
61
- themeName = metadata.Path.match(/\.([^.]+)\.css_variables$/)[1];
62
- baseThemeName = metadata.Extends[0];
63
- } catch (ex) {
64
- if (!warnings.has("object")) {
65
- console.warn("Malformed theme metadata Object", metadata); // eslint-disable-line
66
- warnings.add("object");
67
- }
68
- return;
69
- }
70
-
71
- return {
72
- themeName,
73
- baseThemeName,
74
- };
75
- };
76
-
77
- const getThemeDesignerTheme = () => {
78
- const metadataString = getThemeMetadata();
79
- if (!metadataString || metadataString === "none") {
80
- return;
81
- }
82
-
83
- const metadata = parseThemeMetadata(metadataString);
84
- return processThemeMetadata(metadata);
85
- };
86
-
87
- export default getThemeDesignerTheme;
@@ -1,23 +0,0 @@
1
- import getEffectiveLinksHrefs from "./getEffectiveLinksHrefs.js";
2
- import createLinkInHead from "../util/createLinkInHead.js";
3
- import { shouldUseLinks, shouldPreloadLinks } from "../CSP.js";
4
-
5
- const preloaded = new Set();
6
-
7
- const preloadLinks = ElementClass => {
8
- if (!shouldUseLinks() || !shouldPreloadLinks()) {
9
- return;
10
- }
11
-
12
- const linksHrefs = getEffectiveLinksHrefs(ElementClass, false) || [];
13
- const staticAreaLinksHrefs = getEffectiveLinksHrefs(ElementClass, true) || [];
14
-
15
- [...linksHrefs, ...staticAreaLinksHrefs].forEach(href => {
16
- if (!preloaded.has(href)) {
17
- createLinkInHead(href, { rel: "preload", as: "style" });
18
- preloaded.add(href);
19
- }
20
- });
21
- };
22
-
23
- export default preloadLinks;
@@ -1,32 +0,0 @@
1
- import isPlainObject from './isPlainObject.js';
2
- var oToken = Object.create(null);
3
- var fnMerge = function () {
4
- var src, copyIsArray, copy, name, options, clone, target = arguments[2] || {}, i = 3, length = arguments.length, deep = arguments[0] || false, skipToken = arguments[1] ? undefined : oToken;
5
- if (typeof target !== 'object' && typeof target !== 'function') {
6
- target = {};
7
- }
8
- for (; i < length; i++) {
9
- if ((options = arguments[i]) != null) {
10
- for (name in options) {
11
- src = target[name];
12
- copy = options[name];
13
- if (name === '__proto__' || target === copy) {
14
- continue;
15
- }
16
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {
17
- if (copyIsArray) {
18
- copyIsArray = false;
19
- clone = src && Array.isArray(src) ? src : [];
20
- } else {
21
- clone = src && isPlainObject(src) ? src : {};
22
- }
23
- target[name] = fnMerge(deep, arguments[1], clone, copy);
24
- } else if (copy !== skipToken) {
25
- target[name] = copy;
26
- }
27
- }
28
- }
29
- }
30
- return target;
31
- };
32
- export default fnMerge;
@@ -1,18 +0,0 @@
1
- var class2type = {};
2
- var hasOwn = class2type.hasOwnProperty;
3
- var toString = class2type.toString;
4
- var fnToString = hasOwn.toString;
5
- var ObjectFunctionString = fnToString.call(Object);
6
- var fnIsPlainObject = function (obj) {
7
- var proto, Ctor;
8
- if (!obj || toString.call(obj) !== "[object Object]") {
9
- return false;
10
- }
11
- proto = Object.getPrototypeOf(obj);
12
- if (!proto) {
13
- return true;
14
- }
15
- Ctor = hasOwn.call(proto, "constructor") && proto.constructor;
16
- return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString;
17
- };
18
- export default fnIsPlainObject;
@@ -1,10 +0,0 @@
1
- import _merge from './_merge.js';
2
- var fnMerge = function () {
3
- var args = [
4
- true,
5
- false
6
- ];
7
- args.push.apply(args, arguments);
8
- return _merge.apply(null, args);
9
- };
10
- export default fnMerge;
@@ -1,7 +0,0 @@
1
- const AnimationMode = {
2
- Full: "full",
3
- Basic: "basic",
4
- Minimal: "minimal",
5
- None: "none",
6
- };
7
- export default AnimationMode;