@ui5/webcomponents-base 0.0.0-389bdbabc → 0.0.0-453158269

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 (473) hide show
  1. package/.eslintignore +4 -0
  2. package/CHANGELOG.md +407 -0
  3. package/README.md +26 -2
  4. package/bundle.esm.js +18 -12
  5. package/dist/AssetRegistry.js +8 -6
  6. package/dist/Boot.js +59 -0
  7. package/dist/CSP.js +59 -0
  8. package/dist/CustomElementsRegistry.js +95 -0
  9. package/dist/CustomElementsScope.js +30 -0
  10. package/dist/CustomElementsScopeUtils.js +108 -0
  11. package/dist/DOMObserver.js +65 -0
  12. package/dist/Device.js +71 -773
  13. package/dist/EventProvider.js +38 -26
  14. package/dist/FeaturesRegistry.js +4 -1
  15. package/dist/FontFace.js +20 -56
  16. package/dist/InitialConfiguration.js +64 -17
  17. package/dist/Keys.js +295 -0
  18. package/dist/ManagedStyles.js +83 -0
  19. package/dist/MediaRange.js +109 -0
  20. package/dist/PropertiesFileFormat.js +95 -0
  21. package/dist/Render.js +175 -0
  22. package/dist/RenderQueue.js +41 -17
  23. package/dist/RenderScheduler.js +24 -145
  24. package/dist/Runtimes.js +107 -0
  25. package/dist/StaticArea.js +2 -34
  26. package/dist/StaticAreaItem.js +69 -35
  27. package/dist/SystemCSSVars.js +10 -0
  28. package/dist/Theming.js +3 -44
  29. package/dist/UI5Element.js +497 -306
  30. package/dist/UI5ElementMetadata.js +198 -19
  31. package/dist/asset-registries/Icons.js +125 -14
  32. package/dist/asset-registries/Illustrations.js +30 -0
  33. package/dist/asset-registries/LocaleData.js +114 -51
  34. package/dist/asset-registries/Themes.js +37 -30
  35. package/dist/asset-registries/i18n.js +80 -34
  36. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  37. package/dist/config/AnimationMode.js +16 -2
  38. package/dist/config/CalendarType.js +7 -7
  39. package/dist/config/FormatSettings.js +5 -1
  40. package/dist/config/Icons.js +52 -0
  41. package/dist/config/Language.js +62 -3
  42. package/dist/config/NoConflict.js +10 -3
  43. package/dist/config/Theme.js +32 -3
  44. package/dist/css/BusyIndicator.css +80 -0
  45. package/dist/css/FontFace.css +75 -0
  46. package/dist/css/OverrideFontFace.css +32 -0
  47. package/dist/css/SystemCSSVars.css +17 -0
  48. package/dist/delegate/ItemNavigation.js +245 -168
  49. package/dist/delegate/ResizeHandler.js +78 -38
  50. package/dist/delegate/ScrollEnablement.js +122 -14
  51. package/dist/features/F6Navigation.js +106 -0
  52. package/dist/features/OpenUI5Enablement.js +119 -0
  53. package/dist/features/OpenUI5Support.js +125 -0
  54. package/dist/generated/AssetParameters.js +13 -0
  55. package/dist/generated/VersionInfo.js +10 -0
  56. package/dist/generated/css/BusyIndicator.css.js +5 -0
  57. package/dist/generated/css/FontFace.css.js +5 -0
  58. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  59. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  60. package/dist/getSharedResource.js +30 -0
  61. package/dist/i18nBundle.js +62 -11
  62. package/dist/isLegacyBrowser.js +3 -0
  63. package/dist/{Locale.js → locale/Locale.js} +0 -10
  64. package/dist/locale/RTLAwareRegistry.js +14 -0
  65. package/dist/locale/applyDirection.js +17 -0
  66. package/dist/locale/directionChange.js +32 -0
  67. package/dist/locale/getEffectiveDir.js +28 -0
  68. package/dist/locale/getLocale.js +41 -0
  69. package/dist/locale/languageChange.js +22 -0
  70. package/dist/locale/nextFallbackLocale.js +28 -0
  71. package/{src/util → dist/locale}/normalizeLocale.js +8 -31
  72. package/dist/renderer/LitRenderer.js +44 -7
  73. package/dist/renderer/directives/style-map.js +72 -0
  74. package/dist/renderer/executeTemplate.js +34 -0
  75. package/dist/resources/bundle.esm.js +18 -7436
  76. package/dist/resources/bundle.esm.js.map +1 -1
  77. package/dist/sap/base/Log.js +241 -0
  78. package/dist/sap/base/assert.js +8 -0
  79. package/dist/sap/base/security/URLListValidator.js +148 -0
  80. package/dist/sap/base/security/encodeCSS.js +14 -0
  81. package/dist/sap/base/security/encodeXML.js +23 -0
  82. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  83. package/dist/sap/base/strings/toHex.js +8 -0
  84. package/dist/sap/base/util/now.js +7 -0
  85. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  86. package/dist/test-resources/assets/Themes.js +11 -5
  87. package/dist/test-resources/elements/Generic.js +1 -0
  88. package/dist/test-resources/elements/Parent.js +7 -2
  89. package/dist/test-resources/elements/WithStaticArea.js +77 -0
  90. package/dist/test-resources/pages/AllTestElements.html +5 -5
  91. package/dist/test-resources/pages/Configuration.html +0 -2
  92. package/dist/test-resources/pages/ConfigurationScript.html +1 -3
  93. package/dist/test-resources/pages/assets/messagebundle_de.properties +1 -0
  94. package/dist/test-resources/pages/assets/messagebundle_en.properties +1 -0
  95. package/dist/test-resources/pages/assets/messagebundle_es.properties +1 -0
  96. package/dist/test-resources/pages/assets/messagebundle_fr.properties +1 -0
  97. package/dist/test-resources/pages/i18n.html +33 -0
  98. package/dist/test-resources/specs/ConfigurationChange.spec.js +11 -9
  99. package/dist/test-resources/specs/ConfigurationScript.spec.js +25 -23
  100. package/dist/test-resources/specs/ConfigurationURL.spec.js +65 -17
  101. package/dist/test-resources/specs/CustomTheme.spec.js +9 -7
  102. package/dist/test-resources/specs/EventProvider.spec.js +63 -0
  103. package/dist/test-resources/specs/StaticArea.spec.js +78 -0
  104. package/dist/test-resources/specs/Theming.spec.js +23 -10
  105. package/dist/test-resources/specs/UI5ElementInvalidation.js +54 -70
  106. package/dist/test-resources/specs/UI5ElementLifecycle.js +19 -14
  107. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +25 -51
  108. package/dist/test-resources/specs/UI5ElementMetadataExt.js +9 -7
  109. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +7 -5
  110. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +37 -35
  111. package/dist/test-resources/specs/UI5ElementShadowDOM.js +10 -8
  112. package/dist/test-resources/specs/UI5ElementSlots.js +10 -8
  113. package/dist/theming/CustomStyle.js +47 -6
  114. package/dist/theming/ThemeLoaded.js +22 -0
  115. package/dist/theming/applyTheme.js +79 -0
  116. package/dist/theming/getConstructableStyle.js +30 -0
  117. package/dist/theming/getEffectiveLinksHrefs.js +27 -0
  118. package/dist/theming/getEffectiveStyle.js +39 -0
  119. package/dist/theming/getStylesString.js +15 -0
  120. package/dist/theming/getThemeDesignerTheme.js +87 -0
  121. package/dist/theming/preloadLinks.js +23 -0
  122. package/dist/thirdparty/_merge.js +32 -0
  123. package/dist/thirdparty/isPlainObject.js +18 -0
  124. package/dist/thirdparty/merge.js +10 -0
  125. package/dist/types/CSSColor.js +9 -0
  126. package/{src/dates → dist/types}/CalendarType.js +2 -2
  127. package/dist/types/DataType.js +13 -1
  128. package/dist/types/Float.js +14 -0
  129. package/dist/types/Integer.js +4 -0
  130. package/dist/types/InvisibleMessageMode.js +30 -0
  131. package/dist/types/ItemNavigationBehavior.js +2 -7
  132. package/dist/types/NavigationMode.js +1 -0
  133. package/dist/types/PopupState.js +1 -1
  134. package/dist/types/ValueState.js +2 -1
  135. package/dist/updateShadowRoot.js +30 -0
  136. package/dist/util/AriaLabelHelper.js +41 -0
  137. package/dist/util/Caret.js +45 -0
  138. package/dist/util/ColorConversion.js +370 -0
  139. package/dist/util/FocusableElements.js +30 -11
  140. package/dist/util/HTMLSanitizer.js +7 -0
  141. package/dist/util/InvisibleMessage.js +60 -0
  142. package/dist/util/PopupUtils.js +93 -0
  143. package/dist/util/SlotsHelper.js +43 -0
  144. package/dist/util/StringHelper.js +17 -2
  145. package/dist/util/TabbableElements.js +9 -2
  146. package/dist/util/arraysAreEqual.js +15 -0
  147. package/dist/util/clamp.js +12 -0
  148. package/dist/util/createLinkInHead.js +19 -0
  149. package/dist/util/debounce.js +17 -0
  150. package/dist/util/detectNavigatorLanguage.js +3 -1
  151. package/dist/util/escapeRegex.js +10 -0
  152. package/dist/util/findNodeOwner.js +35 -0
  153. package/dist/util/generateHighlightedMarkup.js +42 -0
  154. package/dist/util/getActiveElement.js +11 -0
  155. package/dist/util/getClassCopy.js +10 -0
  156. package/dist/util/getEffectiveContentDensity.js +5 -0
  157. package/dist/util/getFileExtension.js +21 -0
  158. package/dist/util/getNormalizedTarget.js +16 -0
  159. package/dist/util/getSingletonElementInstance.js +13 -0
  160. package/dist/util/isElementInView.js +15 -0
  161. package/dist/util/isNodeHidden.js +1 -5
  162. package/dist/util/isNodeTabbable.js +4 -4
  163. package/dist/util/isValidPropertyName.js +11 -2
  164. package/dist/util/setToArray.js +10 -0
  165. package/hash.txt +1 -0
  166. package/index.js +1 -1
  167. package/lib/generate-asset-parameters/index.js +25 -0
  168. package/lib/generate-styles/index.js +26 -0
  169. package/lib/generate-version-info/index.js +32 -0
  170. package/package-scripts.js +34 -18
  171. package/package.json +21 -14
  172. package/src/AssetRegistry.js +8 -6
  173. package/src/Boot.js +59 -0
  174. package/src/CSP.js +59 -0
  175. package/src/CustomElementsRegistry.js +95 -0
  176. package/src/CustomElementsScope.js +30 -0
  177. package/src/CustomElementsScopeUtils.js +108 -0
  178. package/src/DOMObserver.js +65 -0
  179. package/src/Device.js +71 -773
  180. package/src/EventProvider.js +38 -26
  181. package/src/FeaturesRegistry.js +4 -1
  182. package/src/FontFace.js +20 -56
  183. package/src/InitialConfiguration.js +64 -17
  184. package/src/Keys.js +295 -0
  185. package/src/ManagedStyles.js +83 -0
  186. package/src/MediaRange.js +109 -0
  187. package/src/PropertiesFileFormat.js +95 -0
  188. package/src/Render.js +175 -0
  189. package/src/RenderQueue.js +41 -17
  190. package/src/RenderScheduler.js +24 -145
  191. package/src/Runtimes.js +107 -0
  192. package/src/StaticArea.js +1 -39
  193. package/src/StaticAreaItem.js +67 -39
  194. package/src/SystemCSSVars.js +10 -0
  195. package/src/Theming.js +3 -44
  196. package/src/UI5Element.js +497 -306
  197. package/src/UI5ElementMetadata.js +198 -19
  198. package/src/asset-registries/Icons.js +125 -14
  199. package/src/asset-registries/Illustrations.js +30 -0
  200. package/src/asset-registries/LocaleData.js +114 -51
  201. package/src/asset-registries/Themes.js +37 -30
  202. package/src/asset-registries/i18n.js +80 -34
  203. package/src/assets-meta/IconCollectionsAlias.js +18 -0
  204. package/src/config/AnimationMode.js +16 -2
  205. package/src/config/CalendarType.js +7 -7
  206. package/src/config/FormatSettings.js +5 -1
  207. package/src/config/Icons.js +52 -0
  208. package/src/config/Language.js +62 -3
  209. package/src/config/NoConflict.js +10 -3
  210. package/src/config/Theme.js +32 -3
  211. package/src/css/BusyIndicator.css +80 -0
  212. package/src/css/FontFace.css +75 -0
  213. package/src/css/OverrideFontFace.css +32 -0
  214. package/src/css/SystemCSSVars.css +17 -0
  215. package/src/delegate/ItemNavigation.js +245 -168
  216. package/src/delegate/ResizeHandler.js +78 -38
  217. package/src/delegate/ScrollEnablement.js +122 -14
  218. package/src/features/F6Navigation.js +106 -0
  219. package/src/features/OpenUI5Enablement.js +119 -0
  220. package/src/features/OpenUI5Support.js +125 -0
  221. package/src/getSharedResource.js +30 -0
  222. package/src/i18nBundle.js +62 -11
  223. package/src/isLegacyBrowser.js +3 -0
  224. package/src/{Locale.js → locale/Locale.js} +0 -10
  225. package/src/locale/RTLAwareRegistry.js +14 -0
  226. package/src/locale/applyDirection.js +17 -0
  227. package/src/locale/directionChange.js +32 -0
  228. package/src/locale/getEffectiveDir.js +28 -0
  229. package/src/locale/getLocale.js +41 -0
  230. package/src/locale/languageChange.js +22 -0
  231. package/src/locale/nextFallbackLocale.js +28 -0
  232. package/{dist/util → src/locale}/normalizeLocale.js +8 -31
  233. package/src/renderer/LitRenderer.js +44 -7
  234. package/src/renderer/directives/style-map.js +72 -0
  235. package/src/renderer/executeTemplate.js +34 -0
  236. package/src/theming/CustomStyle.js +47 -6
  237. package/src/theming/ThemeLoaded.js +22 -0
  238. package/src/theming/applyTheme.js +79 -0
  239. package/src/theming/getConstructableStyle.js +30 -0
  240. package/src/theming/getEffectiveLinksHrefs.js +27 -0
  241. package/src/theming/getEffectiveStyle.js +39 -0
  242. package/src/theming/getStylesString.js +15 -0
  243. package/src/theming/getThemeDesignerTheme.js +87 -0
  244. package/src/theming/preloadLinks.js +23 -0
  245. package/src/thirdparty/_merge.js +32 -0
  246. package/src/thirdparty/isPlainObject.js +18 -0
  247. package/src/thirdparty/merge.js +10 -0
  248. package/src/types/CSSColor.js +9 -0
  249. package/{dist/dates → src/types}/CalendarType.js +2 -2
  250. package/src/types/DataType.js +13 -1
  251. package/src/types/Float.js +14 -0
  252. package/src/types/Integer.js +4 -0
  253. package/src/types/InvisibleMessageMode.js +30 -0
  254. package/src/types/ItemNavigationBehavior.js +2 -7
  255. package/src/types/NavigationMode.js +1 -0
  256. package/src/types/PopupState.js +1 -1
  257. package/src/types/ValueState.js +2 -1
  258. package/src/updateShadowRoot.js +30 -0
  259. package/src/util/AriaLabelHelper.js +41 -0
  260. package/src/util/Caret.js +45 -0
  261. package/src/util/ColorConversion.js +370 -0
  262. package/src/util/FocusableElements.js +30 -11
  263. package/src/util/HTMLSanitizer.js +7 -0
  264. package/src/util/InvisibleMessage.js +60 -0
  265. package/src/util/PopupUtils.js +93 -0
  266. package/src/util/SlotsHelper.js +43 -0
  267. package/src/util/StringHelper.js +17 -2
  268. package/src/util/TabbableElements.js +9 -2
  269. package/src/util/arraysAreEqual.js +15 -0
  270. package/src/util/clamp.js +12 -0
  271. package/src/util/createLinkInHead.js +19 -0
  272. package/src/util/debounce.js +17 -0
  273. package/src/util/detectNavigatorLanguage.js +3 -1
  274. package/src/util/escapeRegex.js +10 -0
  275. package/src/util/findNodeOwner.js +35 -0
  276. package/src/util/generateHighlightedMarkup.js +42 -0
  277. package/src/util/getActiveElement.js +11 -0
  278. package/src/util/getClassCopy.js +10 -0
  279. package/src/util/getEffectiveContentDensity.js +5 -0
  280. package/src/util/getFileExtension.js +21 -0
  281. package/src/util/getNormalizedTarget.js +16 -0
  282. package/src/util/getSingletonElementInstance.js +13 -0
  283. package/src/util/isElementInView.js +15 -0
  284. package/src/util/isNodeHidden.js +1 -5
  285. package/src/util/isNodeTabbable.js +4 -4
  286. package/src/util/isValidPropertyName.js +11 -2
  287. package/src/util/setToArray.js +10 -0
  288. package/used-modules.txt +10 -0
  289. package/bundle.es5.js +0 -28
  290. package/dist/Assets.js +0 -2
  291. package/dist/CSS.js +0 -48
  292. package/dist/FormatSettings.js +0 -31
  293. package/dist/LocaleProvider.js +0 -34
  294. package/dist/ResourceLoaderOverrides.js +0 -38
  295. package/dist/SVGIconRegistry.js +0 -54
  296. package/dist/boot.js +0 -25
  297. package/dist/compatibility/DOMObserver.js +0 -62
  298. package/dist/compatibility/patchNodeValue.js +0 -24
  299. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  300. package/dist/dates/CalendarDate.js +0 -203
  301. package/dist/dates/CalendarUtils.js +0 -99
  302. package/dist/delegate/CustomResize.js +0 -78
  303. package/dist/delegate/NativeResize.js +0 -44
  304. package/dist/events/PseudoEvents.js +0 -58
  305. package/dist/features/browsersupport/Edge.js +0 -6
  306. package/dist/features/browsersupport/IE11.js +0 -41
  307. package/dist/features/calendar/Buddhist.js +0 -1
  308. package/dist/features/calendar/Islamic.js +0 -1
  309. package/dist/features/calendar/Japanese.js +0 -1
  310. package/dist/features/calendar/Persian.js +0 -1
  311. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  312. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  313. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  314. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  315. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  316. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  317. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  318. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  319. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  320. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  321. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  322. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  323. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  324. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  325. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  326. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  327. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  328. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  329. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  330. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  331. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  332. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  333. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  334. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  335. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  336. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  337. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  338. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  339. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  340. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  341. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  342. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  343. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  344. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  345. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  346. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  347. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  348. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  349. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  350. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  351. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  352. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  353. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  354. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  355. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  356. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  357. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  358. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  359. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  360. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  361. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  362. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  363. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  364. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  365. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  366. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  367. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  368. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  369. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  370. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  371. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  372. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  373. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  374. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  375. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  376. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  377. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  378. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  379. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  380. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  381. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  382. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  383. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  384. package/dist/json-imports/LocaleData.js +0 -171
  385. package/dist/renderer/ifDefined.js +0 -21
  386. package/dist/resources/bundle.es5.js +0 -12643
  387. package/dist/resources/bundle.es5.js.map +0 -1
  388. package/dist/shims/Core-shim.js +0 -52
  389. package/dist/shims/jquery-shim.js +0 -89
  390. package/dist/theming/StyleInjection.js +0 -67
  391. package/dist/thirdparty/Array.from.js +0 -16
  392. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  393. package/dist/thirdparty/Array.prototype.find.js +0 -46
  394. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  395. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  396. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  397. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  398. package/dist/thirdparty/Number.isInteger.js +0 -5
  399. package/dist/thirdparty/Number.isNaN.js +0 -1
  400. package/dist/thirdparty/Number.parseInt.js +0 -1
  401. package/dist/thirdparty/Object.assign.js +0 -31
  402. package/dist/thirdparty/Object.entries.js +0 -11
  403. package/dist/thirdparty/Symbol.js +0 -2
  404. package/dist/thirdparty/WeakSet.js +0 -27
  405. package/dist/thirdparty/events-polyfills.js +0 -89
  406. package/dist/thirdparty/fetch.js +0 -1
  407. package/dist/thirdparty/template.js +0 -600
  408. package/dist/util/CSSTransformUtils.js +0 -90
  409. package/dist/webcomponentsjs/LICENSE.md +0 -19
  410. package/dist/webcomponentsjs/README.md +0 -229
  411. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  412. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  413. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  414. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  415. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  416. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  417. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  418. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  419. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  420. package/dist/webcomponentsjs/package.json +0 -46
  421. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  422. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  423. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  424. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  425. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  426. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  427. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  428. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  429. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  430. package/src/Assets.js +0 -2
  431. package/src/CSS.js +0 -48
  432. package/src/FormatSettings.js +0 -31
  433. package/src/LocaleProvider.js +0 -34
  434. package/src/ResourceLoaderOverrides.js +0 -38
  435. package/src/SVGIconRegistry.js +0 -54
  436. package/src/boot.js +0 -25
  437. package/src/compatibility/DOMObserver.js +0 -62
  438. package/src/compatibility/patchNodeValue.js +0 -24
  439. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  440. package/src/dates/CalendarDate.js +0 -203
  441. package/src/dates/CalendarUtils.js +0 -99
  442. package/src/delegate/CustomResize.js +0 -78
  443. package/src/delegate/NativeResize.js +0 -44
  444. package/src/events/PseudoEvents.js +0 -58
  445. package/src/features/browsersupport/Edge.js +0 -6
  446. package/src/features/browsersupport/IE11.js +0 -41
  447. package/src/features/calendar/Buddhist.js +0 -1
  448. package/src/features/calendar/Islamic.js +0 -1
  449. package/src/features/calendar/Japanese.js +0 -1
  450. package/src/features/calendar/Persian.js +0 -1
  451. package/src/json-imports/LocaleData.js +0 -171
  452. package/src/renderer/ifDefined.js +0 -21
  453. package/src/shims/Core-shim.js +0 -52
  454. package/src/shims/jquery-shim.js +0 -89
  455. package/src/theming/StyleInjection.js +0 -67
  456. package/src/thirdparty/Array.from.js +0 -16
  457. package/src/thirdparty/Array.prototype.fill.js +0 -44
  458. package/src/thirdparty/Array.prototype.find.js +0 -46
  459. package/src/thirdparty/Array.prototype.includes.js +0 -51
  460. package/src/thirdparty/Element.prototype.closest.js +0 -11
  461. package/src/thirdparty/Element.prototype.matches.js +0 -6
  462. package/src/thirdparty/Map.prototype.keys.js +0 -9
  463. package/src/thirdparty/Number.isInteger.js +0 -5
  464. package/src/thirdparty/Number.isNaN.js +0 -1
  465. package/src/thirdparty/Number.parseInt.js +0 -1
  466. package/src/thirdparty/Object.assign.js +0 -31
  467. package/src/thirdparty/Object.entries.js +0 -11
  468. package/src/thirdparty/Symbol.js +0 -2
  469. package/src/thirdparty/WeakSet.js +0 -27
  470. package/src/thirdparty/events-polyfills.js +0 -89
  471. package/src/thirdparty/fetch.js +0 -1
  472. package/src/thirdparty/template.js +0 -600
  473. package/src/util/CSSTransformUtils.js +0 -90
@@ -1,164 +1,43 @@
1
- import RenderQueue from "./RenderQueue.js";
2
-
3
- const MAX_RERENDER_COUNT = 10;
4
-
5
- // Tells whether a render task is currently scheduled
6
- let renderTaskId;
7
-
8
- // Queue for invalidated web components
9
- const invalidatedWebComponents = new RenderQueue();
10
-
11
- let renderTaskPromise,
12
- renderTaskPromiseResolve,
13
- taskResult;
14
-
15
- let mutationObserverTimer;
1
+ import {
2
+ renderDeferred,
3
+ renderImmediately,
4
+ renderFinished,
5
+ } from "./Render.js";
16
6
 
17
7
  /**
18
- * Class that manages the rendering/re-rendering of web components
19
- * This is always asynchronous
8
+ * @deprecated Use the Render.js module instead
20
9
  */
21
10
  class RenderScheduler {
22
- constructor() {
23
- throw new Error("Static class");
24
- }
25
-
26
11
  /**
27
- * Queues a web component for re-rendering
12
+ * Schedules a render task (if not already scheduled) to render the component
13
+ *
28
14
  * @param webComponent
15
+ * @returns {Promise}
16
+ * @deprecated Use renderDeferred from the Render.js module instead
29
17
  */
30
- static renderDeferred(webComponent) {
31
- // Enqueue the web component
32
- const res = invalidatedWebComponents.add(webComponent);
33
-
34
- // Schedule a rendering task
35
- RenderScheduler.scheduleRenderTask();
36
- return res;
37
- }
38
-
39
- static renderImmediately(webComponent) {
40
- // Enqueue the web component
41
- const res = invalidatedWebComponents.add(webComponent);
42
-
43
- // Immediately start a render task
44
- RenderScheduler.runRenderTask();
45
- return res;
46
- }
47
-
48
- /**
49
- * Schedules a rendering task, if not scheduled already
50
- */
51
- static scheduleRenderTask() {
52
- if (!renderTaskId) {
53
- // renderTaskId = window.setTimeout(RenderScheduler.renderWebComponents, 3000); // Task
54
- // renderTaskId = Promise.resolve().then(RenderScheduler.renderWebComponents); // Micro task
55
- renderTaskId = window.requestAnimationFrame(RenderScheduler.renderWebComponents); // AF
56
- }
57
- }
58
-
59
- static runRenderTask() {
60
- if (!renderTaskId) {
61
- renderTaskId = 1; // prevent another rendering task from being scheduled, all web components should use this task
62
- RenderScheduler.renderWebComponents();
63
- }
64
- }
65
-
66
- static renderWebComponents() {
67
- // console.log("------------- NEW RENDER TASK ---------------");
68
-
69
- let webComponentInfo,
70
- webComponent,
71
- promise;
72
- const renderStats = new Map();
73
- while (webComponentInfo = invalidatedWebComponents.shift()) { // eslint-disable-line
74
- webComponent = webComponentInfo.webComponent;
75
- promise = webComponentInfo.promise;
76
-
77
- const timesRerendered = renderStats.get(webComponent) || 0;
78
- if (timesRerendered > MAX_RERENDER_COUNT) {
79
- // console.warn("WARNING RERENDER", webComponent);
80
- throw new Error(`Web component re-rendered too many times this task, max allowed is: ${MAX_RERENDER_COUNT}`);
81
- }
82
- webComponent._render();
83
- promise._deferredResolve();
84
- renderStats.set(webComponent, timesRerendered + 1);
85
- }
86
-
87
- // wait for Mutation observer just in case
88
- if (!mutationObserverTimer) {
89
- mutationObserverTimer = setTimeout(() => {
90
- mutationObserverTimer = undefined;
91
- if (invalidatedWebComponents.getList().length === 0) {
92
- RenderScheduler._resolveTaskPromise();
93
- }
94
- }, 200);
95
- }
96
-
97
- renderTaskId = undefined;
18
+ static async renderDeferred(webComponent) {
19
+ console.log("RenderScheduler.renderDeferred is deprecated, please use renderDeferred, exported by Render.js instead"); // eslint-disable-line
20
+ await renderDeferred(webComponent);
98
21
  }
99
22
 
100
23
  /**
101
- * return a promise that will be resolved once all invalidated web components are rendered
24
+ * Renders a component synchronously
25
+ *
26
+ * @param webComponent
27
+ * @deprecated Use renderImmediately from the Render.js module instead
102
28
  */
103
- static whenDOMUpdated() {
104
- if (renderTaskPromise) {
105
- return renderTaskPromise;
106
- }
107
-
108
- renderTaskPromise = new Promise(resolve => {
109
- renderTaskPromiseResolve = resolve;
110
- window.requestAnimationFrame(() => {
111
- if (invalidatedWebComponents.getList().length === 0) {
112
- renderTaskPromise = undefined;
113
- resolve();
114
- }
115
- });
116
- });
117
-
118
- return renderTaskPromise;
119
- }
120
-
121
- static getNotDefinedComponents() {
122
- return Array.from(document.querySelectorAll("*")).filter(el => el.localName.startsWith("ui5-") && !el.isUI5Element);
29
+ static renderImmediately(webComponent) {
30
+ console.log("RenderScheduler.renderImmediately is deprecated, please use renderImmediately, exported by Render.js instead"); // eslint-disable-line
31
+ return renderImmediately(webComponent);
123
32
  }
124
33
 
125
34
  /**
126
- * return a promise that will be resolved once all ui5 webcomponents on the page have their shadow root ready
35
+ * @deprecated Use renderFinished from the Render.js module instead
36
+ * @returns {Promise<void>}
127
37
  */
128
- static async whenShadowDOMReady() {
129
- const undefinedElements = this.getNotDefinedComponents();
130
-
131
- const definedPromises = undefinedElements.map(
132
- el => customElements.whenDefined(el.localName)
133
- );
134
- const timeoutPromise = new Promise(resolve => setTimeout(resolve, 5000));
135
-
136
- await Promise.race([Promise.all(definedPromises), timeoutPromise]);
137
- const stillUndefined = this.getNotDefinedComponents();
138
- if (stillUndefined.length) {
139
- // eslint-disable-next-line
140
- console.warn("undefined elements after 5 seconds are: " + [...stillUndefined].map(el => el.localName).join(" ; "));
141
- }
142
-
143
- return Promise.resolve();
144
- }
145
-
146
38
  static async whenFinished() {
147
- await RenderScheduler.whenShadowDOMReady();
148
- await RenderScheduler.whenDOMUpdated();
149
- }
150
-
151
- static _resolveTaskPromise() {
152
- if (invalidatedWebComponents.getList().length > 0) {
153
- // More updates are pending. Resolve will be called again
154
- return;
155
- }
156
-
157
- if (renderTaskPromiseResolve) {
158
- renderTaskPromiseResolve.call(this, taskResult);
159
- renderTaskPromiseResolve = undefined;
160
- renderTaskPromise = undefined;
161
- }
39
+ console.log("RenderScheduler.whenFinished is deprecated, please use renderFinished, exported by Render.js instead"); // eslint-disable-line
40
+ await renderFinished();
162
41
  }
163
42
  }
164
43
 
@@ -0,0 +1,107 @@
1
+ import VersionInfo from "./generated/VersionInfo.js";
2
+ import getSharedResource from "./getSharedResource.js";
3
+
4
+ let currentRuntimeIndex;
5
+ let currentRuntimeAlias = "";
6
+
7
+ const compareCache = new Map();
8
+
9
+ /**
10
+ * Central registry where all runtimes register themselves by pushing an object.
11
+ * The index in the registry servers as an ID for the runtime.
12
+ * @type {*}
13
+ */
14
+ const Runtimes = getSharedResource("Runtimes", []);
15
+
16
+ /**
17
+ * Registers the current runtime in the shared runtimes resource registry
18
+ */
19
+ const registerCurrentRuntime = () => {
20
+ if (currentRuntimeIndex === undefined) {
21
+ currentRuntimeIndex = Runtimes.length;
22
+ Runtimes.push({
23
+ ...VersionInfo,
24
+ alias: currentRuntimeAlias,
25
+ description: `Runtime ${currentRuntimeIndex} - ver ${VersionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : ""}`,
26
+ });
27
+ }
28
+ };
29
+
30
+ /**
31
+ * Returns the index of the current runtime's object in the shared runtimes resource registry
32
+ * @returns {*}
33
+ */
34
+ const getCurrentRuntimeIndex = () => {
35
+ return currentRuntimeIndex;
36
+ };
37
+
38
+ /**
39
+ * Compares two runtimes and returns 1 if the first is of a bigger version, -1 if the second is of a bigger version, and 0 if equal
40
+ * @param index1 The index of the first runtime to compare
41
+ * @param index2 The index of the second runtime to compare
42
+ * @returns {number}
43
+ */
44
+ const compareRuntimes = (index1, index2) => {
45
+ const cacheIndex = `${index1},${index2}`;
46
+ if (compareCache.has(cacheIndex)) {
47
+ return compareCache.get(cacheIndex);
48
+ }
49
+
50
+ const runtime1 = Runtimes[index1];
51
+ const runtime2 = Runtimes[index2];
52
+
53
+ if (!runtime1 || !runtime2) {
54
+ throw new Error("Invalid runtime index supplied");
55
+ }
56
+
57
+ // If any of the two is a next version, bigger buildTime wins
58
+ if (runtime1.isNext || runtime2.isNext) {
59
+ return runtime1.buildTime - runtime2.buildTime;
60
+ }
61
+
62
+ // If major versions differ, bigger one wins
63
+ const majorDiff = runtime1.major - runtime2.major;
64
+ if (majorDiff) {
65
+ return majorDiff;
66
+ }
67
+
68
+ // If minor versions differ, bigger one wins
69
+ const minorDiff = runtime1.minor - runtime2.minor;
70
+ if (minorDiff) {
71
+ return minorDiff;
72
+ }
73
+
74
+ // If patch versions differ, bigger one wins
75
+ const patchDiff = runtime1.patch - runtime2.patch;
76
+ if (patchDiff) {
77
+ return patchDiff;
78
+ }
79
+
80
+ // Bigger suffix wins, f.e. rc10 > rc9
81
+ // Important: suffix is alphanumeric, must use natural compare
82
+ const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: "base" });
83
+ const result = collator.compare(runtime1.suffix, runtime2.suffix);
84
+
85
+ compareCache.set(cacheIndex, result);
86
+ return result;
87
+ };
88
+
89
+ /**
90
+ * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings
91
+ * @param alias
92
+ */
93
+ const setRuntimeAlias = alias => {
94
+ currentRuntimeAlias = alias;
95
+ };
96
+
97
+ const getAllRuntimes = () => {
98
+ return Runtimes;
99
+ };
100
+
101
+ export {
102
+ getCurrentRuntimeIndex,
103
+ registerCurrentRuntime,
104
+ compareRuntimes,
105
+ setRuntimeAlias,
106
+ getAllRuntimes,
107
+ };
@@ -1,35 +1,3 @@
1
- const getStaticAreaInstance = () => {
2
- let staticArea = document.querySelector("ui5-static-area");
3
-
4
- if (staticArea) {
5
- return staticArea;
6
- }
7
-
8
- // Create static area if it is not present
9
- const bodyElement = document.body;
10
- staticArea = document.createElement("ui5-static-area");
11
-
12
- return bodyElement.insertBefore(staticArea, bodyElement.firstChild);
13
- };
14
-
15
- const removeStaticArea = () => {
16
- getStaticAreaInstance().destroy();
17
- };
18
-
19
- class StaticAreaElement extends HTMLElement {
20
- constructor() {
21
- super();
22
- }
23
-
24
- destroy() {
25
- const staticAreaDomRef = document.querySelector(this.tagName.toLowerCase());
26
- staticAreaDomRef.parentElement.removeChild(staticAreaDomRef);
27
- }
1
+ if (!customElements.get("ui5-static-area")) {
2
+ customElements.define("ui5-static-area", class extends HTMLElement {});
28
3
  }
29
-
30
- customElements.define("ui5-static-area", StaticAreaElement);
31
-
32
- export {
33
- getStaticAreaInstance,
34
- removeStaticArea,
35
- };
@@ -1,49 +1,67 @@
1
- import { getStaticAreaInstance, removeStaticArea } from "./StaticArea.js";
1
+ import "./StaticArea.js";
2
+ import updateShadowRoot from "./updateShadowRoot.js";
3
+ import { renderFinished } from "./Render.js";
4
+ import getEffectiveContentDensity from "./util/getEffectiveContentDensity.js";
5
+ import { getEffectiveScopingSuffixForTag } from "./CustomElementsScopeUtils.js";
6
+ import getEffectiveDir from "./locale/getEffectiveDir.js";
2
7
 
3
8
  /**
9
+ *
4
10
  * @class
5
11
  * @author SAP SE
6
12
  * @private
7
- * Defines and takes care of ui5-static-are-item items
8
13
  */
9
- class StaticAreaItem {
10
- constructor(_ui5ElementContext) {
11
- this.ui5ElementContext = _ui5ElementContext;
14
+ class StaticAreaItem extends HTMLElement {
15
+ constructor() {
16
+ super();
17
+ this._rendered = false;
18
+ this.attachShadow({ mode: "open" });
12
19
  }
13
20
 
14
21
  /**
15
22
  * @protected
23
+ * @param ownerElement The UI5Element instance that owns this static area item
16
24
  */
17
- _updateFragment() {
18
- const renderResult = this.ui5ElementContext.constructor.staticAreaTemplate(this.ui5ElementContext),
19
- stylesToAdd = this.ui5ElementContext.constructor.staticAreaStyles || false;
20
-
21
- if (!this.staticAreaItemDomRef) {
22
- // Initial rendering of fragment
23
-
24
- this.staticAreaItemDomRef = document.createElement("ui5-static-area-item");
25
- this.staticAreaItemDomRef.attachShadow({ mode: "open" });
26
- this.staticAreaItemDomRef.classList.add(this.ui5ElementContext._id); // used for getting the popover in the tests
27
-
28
- getStaticAreaInstance().appendChild(this.staticAreaItemDomRef);
25
+ setOwnerElement(ownerElement) {
26
+ this.ownerElement = ownerElement;
27
+ this.classList.add(this.ownerElement._id); // used for getting the popover in the tests
28
+ if (this.ownerElement.hasAttribute("data-ui5-static-stable")) {
29
+ this.setAttribute("data-ui5-stable", this.ownerElement.getAttribute("data-ui5-static-stable")); // stable selector
29
30
  }
30
-
31
- this.ui5ElementContext.constructor.render(renderResult, this.staticAreaItemDomRef.shadowRoot, stylesToAdd, { eventContext: this.ui5ElementContext });
32
31
  }
33
32
 
34
33
  /**
34
+ * Updates the shadow root of the static area item with the latest state, if rendered
35
35
  * @protected
36
36
  */
37
- _removeFragmentFromStaticArea() {
38
- const staticArea = getStaticAreaInstance();
39
-
40
- staticArea.removeChild(this.staticAreaItemDomRef);
37
+ update() {
38
+ if (this._rendered) {
39
+ this._updateContentDensity();
40
+ this._updateDirection();
41
+ updateShadowRoot(this.ownerElement, true);
42
+ }
43
+ }
41
44
 
42
- this.staticAreaItemDomRef = null;
45
+ /**
46
+ * Sets the correct content density based on the owner element's state
47
+ * @private
48
+ */
49
+ _updateContentDensity() {
50
+ if (getEffectiveContentDensity(this.ownerElement) === "compact") {
51
+ this.classList.add("sapUiSizeCompact");
52
+ this.classList.add("ui5-content-density-compact");
53
+ } else {
54
+ this.classList.remove("sapUiSizeCompact");
55
+ this.classList.remove("ui5-content-density-compact");
56
+ }
57
+ }
43
58
 
44
- // remove static area
45
- if (staticArea.childElementCount < 1) {
46
- removeStaticArea();
59
+ _updateDirection() {
60
+ const dir = getEffectiveDir(this.ownerElement);
61
+ if (dir) {
62
+ this.setAttribute("dir", dir);
63
+ } else {
64
+ this.removeAttribute("dir");
47
65
  }
48
66
  }
49
67
 
@@ -51,17 +69,33 @@ class StaticAreaItem {
51
69
  * @protected
52
70
  * Returns reference to the DOM element where the current fragment is added.
53
71
  */
54
- getDomRef() {
55
- return this.staticAreaItemDomRef.shadowRoot;
72
+ async getDomRef() {
73
+ this._updateContentDensity();
74
+ if (!this._rendered) {
75
+ this._rendered = true;
76
+ updateShadowRoot(this.ownerElement, true);
77
+ }
78
+ await renderFinished(); // Wait for the content of the ui5-static-area-item to be rendered
79
+ return this.shadowRoot;
56
80
  }
57
- }
58
81
 
59
- class StaticAreaItemElement extends HTMLElement {
60
- constructor() {
61
- super();
82
+ static getTag() {
83
+ const pureTag = "ui5-static-area-item";
84
+ const suffix = getEffectiveScopingSuffixForTag(pureTag);
85
+ if (!suffix) {
86
+ return pureTag;
87
+ }
88
+
89
+ return `${pureTag}-${suffix}`;
62
90
  }
63
- }
64
91
 
65
- customElements.define("ui5-static-area-item", StaticAreaItemElement);
92
+ static createInstance() {
93
+ if (!customElements.get(StaticAreaItem.getTag())) {
94
+ customElements.define(StaticAreaItem.getTag(), StaticAreaItem);
95
+ }
96
+
97
+ return document.createElement(this.getTag());
98
+ }
99
+ }
66
100
 
67
101
  export default StaticAreaItem;
@@ -0,0 +1,10 @@
1
+ import { hasStyle, createStyle } from "./ManagedStyles.js";
2
+ import systemCSSVars from "./generated/css/SystemCSSVars.css.js";
3
+
4
+ const insertSystemCSSVars = () => {
5
+ if (!hasStyle("data-ui5-system-css-vars")) {
6
+ createStyle(systemCSSVars, "data-ui5-system-css-vars");
7
+ }
8
+ };
9
+
10
+ export default insertSystemCSSVars;
package/dist/Theming.js CHANGED
@@ -1,45 +1,4 @@
1
- import { addCustomCSS, getCustomCSS } from "./theming/CustomStyle.js";
2
- import { getThemeProperties, getRegisteredPackages } from "./asset-registries/Themes.js";
3
- import { injectThemeProperties } from "./theming/StyleInjection.js";
1
+ import { addCustomCSS } from "./theming/CustomStyle.js";
2
+ import { attachThemeLoaded, detachThemeLoaded } from "./theming/ThemeLoaded.js";
4
3
 
5
- const themeChangeCallbacks = [];
6
-
7
- const attachThemeChange = function attachThemeChange(callback) {
8
- if (themeChangeCallbacks.indexOf(callback) === -1) {
9
- themeChangeCallbacks.push(callback);
10
- }
11
- };
12
-
13
- const _applyTheme = async theme => {
14
- let cssText = "";
15
-
16
- const registeredPackages = getRegisteredPackages();
17
- registeredPackages.forEach(async packageName => {
18
- cssText = await getThemeProperties(packageName, theme);
19
- injectThemeProperties(cssText, packageName);
20
- });
21
-
22
- _executeThemeChangeCallbacks(theme);
23
- };
24
-
25
- const _executeThemeChangeCallbacks = theme => {
26
- themeChangeCallbacks.forEach(callback => callback(theme));
27
- };
28
-
29
- const getEffectiveStyle = ElementClass => {
30
- const tag = ElementClass.getMetadata().getTag();
31
- const customStyle = getCustomCSS(tag) || "";
32
- let componentStyles = ElementClass.styles;
33
-
34
- if (Array.isArray(componentStyles)) {
35
- componentStyles = componentStyles.join(" ");
36
- }
37
- return `${componentStyles} ${customStyle}`;
38
- };
39
-
40
- export {
41
- attachThemeChange,
42
- _applyTheme,
43
- getEffectiveStyle,
44
- addCustomCSS,
45
- };
4
+ export { addCustomCSS, attachThemeLoaded, detachThemeLoaded };