@ui5/webcomponents-base 0.0.0-c6155714e → 0.0.0-c638668a1

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 (476) hide show
  1. package/.eslintignore +5 -0
  2. package/CHANGELOG.md +293 -0
  3. package/README.md +26 -2
  4. package/bundle.esm.js +18 -16
  5. package/dist/AssetRegistry.js +8 -6
  6. package/dist/Boot.js +61 -0
  7. package/dist/CSP.js +59 -0
  8. package/dist/CustomElementsRegistry.js +95 -0
  9. package/dist/CustomElementsScope.js +108 -0
  10. package/dist/DOMObserver.js +65 -0
  11. package/dist/Device.js +69 -776
  12. package/dist/EventProvider.js +38 -26
  13. package/dist/FeaturesRegistry.js +4 -1
  14. package/dist/FontFace.js +20 -56
  15. package/dist/InitialConfiguration.js +61 -21
  16. package/dist/Keys.js +271 -0
  17. package/dist/ManagedStyles.js +83 -0
  18. package/dist/MediaRange.js +109 -0
  19. package/dist/PropertiesFileFormat.js +95 -0
  20. package/dist/Render.js +175 -0
  21. package/dist/RenderQueue.js +41 -17
  22. package/dist/RenderScheduler.js +24 -140
  23. package/dist/Runtimes.js +107 -0
  24. package/dist/StaticArea.js +3 -0
  25. package/dist/StaticAreaItem.js +101 -0
  26. package/dist/SystemCSSVars.js +10 -0
  27. package/dist/Theming.js +3 -44
  28. package/dist/UI5Element.js +503 -314
  29. package/dist/UI5ElementMetadata.js +194 -23
  30. package/dist/asset-registries/Icons.js +129 -14
  31. package/dist/asset-registries/Illustrations.js +30 -0
  32. package/dist/asset-registries/LocaleData.js +108 -50
  33. package/dist/asset-registries/Themes.js +35 -32
  34. package/dist/asset-registries/i18n.js +80 -34
  35. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  36. package/dist/config/AnimationMode.js +16 -2
  37. package/dist/config/CalendarType.js +7 -7
  38. package/dist/config/FormatSettings.js +5 -1
  39. package/dist/config/Language.js +62 -3
  40. package/dist/config/NoConflict.js +10 -3
  41. package/dist/config/Theme.js +21 -3
  42. package/dist/css/FontFace.css +45 -0
  43. package/dist/css/OverrideFontFace.css +32 -0
  44. package/dist/css/SystemCSSVars.css +17 -0
  45. package/dist/delegate/ItemNavigation.js +246 -130
  46. package/dist/delegate/ResizeHandler.js +78 -38
  47. package/dist/delegate/ScrollEnablement.js +122 -14
  48. package/dist/features/F6Navigation.js +106 -0
  49. package/dist/features/OpenUI5Support.js +125 -0
  50. package/dist/generated/AssetParameters.js +13 -0
  51. package/dist/generated/VersionInfo.js +10 -0
  52. package/dist/generated/css/FontFace.css.js +5 -0
  53. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  54. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  55. package/dist/getSharedResource.js +30 -0
  56. package/dist/i18nBundle.js +62 -11
  57. package/dist/isLegacyBrowser.js +3 -0
  58. package/dist/{Locale.js → locale/Locale.js} +0 -10
  59. package/dist/locale/RTLAwareRegistry.js +14 -0
  60. package/dist/locale/applyDirection.js +17 -0
  61. package/dist/locale/directionChange.js +32 -0
  62. package/dist/locale/getEffectiveDir.js +28 -0
  63. package/dist/locale/getLocale.js +41 -0
  64. package/dist/locale/languageChange.js +22 -0
  65. package/dist/locale/nextFallbackLocale.js +28 -0
  66. package/{src/util → dist/locale}/normalizeLocale.js +8 -31
  67. package/dist/renderer/LitRenderer.js +26 -7
  68. package/dist/renderer/directives/style-map.js +72 -0
  69. package/dist/renderer/executeTemplate.js +17 -0
  70. package/dist/resources/bundle.esm.js +20 -106
  71. package/dist/resources/bundle.esm.js.map +1 -1
  72. package/dist/sap/base/Log.js +241 -0
  73. package/dist/sap/base/assert.js +8 -0
  74. package/dist/sap/base/security/URLListValidator.js +148 -0
  75. package/dist/sap/base/security/encodeCSS.js +14 -0
  76. package/dist/sap/base/security/encodeXML.js +23 -0
  77. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  78. package/dist/sap/base/strings/toHex.js +8 -0
  79. package/dist/sap/base/util/now.js +7 -0
  80. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  81. package/dist/test-resources/assets/Themes.js +11 -5
  82. package/dist/test-resources/elements/Generic.js +1 -0
  83. package/dist/test-resources/elements/Parent.js +7 -2
  84. package/dist/test-resources/elements/WithStaticArea.js +77 -0
  85. package/dist/test-resources/pages/AllTestElements.html +5 -5
  86. package/dist/test-resources/pages/Configuration.html +0 -2
  87. package/dist/test-resources/pages/ConfigurationScript.html +1 -4
  88. package/dist/test-resources/pages/assets/messagebundle_de.properties +1 -0
  89. package/dist/test-resources/pages/assets/messagebundle_en.properties +1 -0
  90. package/dist/test-resources/pages/assets/messagebundle_es.properties +1 -0
  91. package/dist/test-resources/pages/assets/messagebundle_fr.properties +1 -0
  92. package/dist/test-resources/pages/i18n.html +33 -0
  93. package/dist/test-resources/specs/ConfigurationChange.spec.js +10 -17
  94. package/dist/test-resources/specs/ConfigurationScript.spec.js +25 -31
  95. package/dist/test-resources/specs/ConfigurationURL.spec.js +65 -25
  96. package/dist/test-resources/specs/CustomTheme.spec.js +9 -7
  97. package/dist/test-resources/specs/EventProvider.spec.js +63 -0
  98. package/dist/test-resources/specs/StaticArea.spec.js +78 -0
  99. package/dist/test-resources/specs/Theming.spec.js +12 -10
  100. package/dist/test-resources/specs/UI5ElementInvalidation.js +54 -70
  101. package/dist/test-resources/specs/UI5ElementLifecycle.js +19 -14
  102. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +25 -51
  103. package/dist/test-resources/specs/UI5ElementMetadataExt.js +9 -7
  104. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +7 -5
  105. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +37 -35
  106. package/dist/test-resources/specs/UI5ElementShadowDOM.js +10 -8
  107. package/dist/test-resources/specs/UI5ElementSlots.js +10 -8
  108. package/dist/theming/CustomStyle.js +47 -6
  109. package/dist/theming/ThemeLoaded.js +22 -0
  110. package/dist/theming/applyTheme.js +79 -0
  111. package/dist/theming/getConstructableStyle.js +30 -0
  112. package/dist/theming/getEffectiveLinksHrefs.js +20 -0
  113. package/dist/theming/getEffectiveStyle.js +30 -0
  114. package/dist/theming/getStylesString.js +15 -0
  115. package/dist/theming/getThemeDesignerTheme.js +87 -0
  116. package/dist/theming/preloadLinks.js +23 -0
  117. package/dist/thirdparty/_merge.js +32 -0
  118. package/dist/thirdparty/isPlainObject.js +18 -0
  119. package/dist/thirdparty/merge.js +10 -0
  120. package/dist/types/CSSColor.js +9 -0
  121. package/dist/{dates → types}/CalendarType.js +2 -2
  122. package/dist/types/DataType.js +13 -1
  123. package/dist/types/Float.js +14 -0
  124. package/dist/types/Integer.js +4 -0
  125. package/dist/types/InvisibleMessageMode.js +30 -0
  126. package/dist/types/ItemNavigationBehavior.js +2 -7
  127. package/dist/types/NavigationMode.js +1 -0
  128. package/dist/types/PopupState.js +1 -1
  129. package/dist/types/ValueState.js +2 -1
  130. package/dist/updateShadowRoot.js +30 -0
  131. package/dist/util/AriaLabelHelper.js +41 -0
  132. package/dist/util/Caret.js +45 -0
  133. package/dist/util/ColorConversion.js +370 -0
  134. package/dist/util/FocusableElements.js +30 -11
  135. package/dist/util/HTMLSanitizer.js +7 -0
  136. package/dist/util/InvisibleMessage.js +58 -0
  137. package/dist/util/PopupUtils.js +93 -0
  138. package/dist/util/SlotsHelper.js +43 -0
  139. package/dist/util/StringHelper.js +17 -2
  140. package/dist/util/TabbableElements.js +5 -2
  141. package/dist/util/arraysAreEqual.js +15 -0
  142. package/dist/util/clamp.js +12 -0
  143. package/dist/util/createLinkInHead.js +19 -0
  144. package/dist/util/debounce.js +17 -0
  145. package/dist/util/detectNavigatorLanguage.js +3 -1
  146. package/dist/util/escapeRegex.js +10 -0
  147. package/dist/util/findNodeOwner.js +35 -0
  148. package/dist/util/generateHighlightedMarkup.js +42 -0
  149. package/dist/util/getActiveElement.js +11 -0
  150. package/dist/util/getClassCopy.js +10 -0
  151. package/dist/util/getEffectiveContentDensity.js +5 -0
  152. package/dist/util/getFileExtension.js +21 -0
  153. package/dist/util/getSingletonElementInstance.js +13 -0
  154. package/dist/util/isElementInView.js +15 -0
  155. package/dist/util/isNodeHidden.js +1 -5
  156. package/dist/util/isNodeTabbable.js +4 -4
  157. package/dist/util/isValidPropertyName.js +11 -2
  158. package/dist/util/setToArray.js +10 -0
  159. package/hash.txt +1 -0
  160. package/index.js +1 -1
  161. package/lib/generate-asset-parameters/index.js +21 -0
  162. package/lib/generate-styles/index.js +18 -0
  163. package/lib/generate-version-info/index.js +27 -0
  164. package/package-scripts.js +43 -18
  165. package/package.json +21 -14
  166. package/src/AssetRegistry.js +8 -6
  167. package/src/Boot.js +61 -0
  168. package/src/CSP.js +59 -0
  169. package/src/CustomElementsRegistry.js +95 -0
  170. package/src/CustomElementsScope.js +108 -0
  171. package/src/DOMObserver.js +65 -0
  172. package/src/Device.js +69 -776
  173. package/src/EventProvider.js +38 -26
  174. package/src/FeaturesRegistry.js +4 -1
  175. package/src/FontFace.js +20 -56
  176. package/src/InitialConfiguration.js +61 -21
  177. package/src/Keys.js +271 -0
  178. package/src/ManagedStyles.js +83 -0
  179. package/src/MediaRange.js +109 -0
  180. package/src/PropertiesFileFormat.js +95 -0
  181. package/src/Render.js +175 -0
  182. package/src/RenderQueue.js +41 -17
  183. package/src/RenderScheduler.js +24 -140
  184. package/src/Runtimes.js +107 -0
  185. package/src/StaticArea.js +3 -0
  186. package/src/StaticAreaItem.js +101 -0
  187. package/src/SystemCSSVars.js +10 -0
  188. package/src/Theming.js +3 -44
  189. package/src/UI5Element.js +503 -314
  190. package/src/UI5ElementMetadata.js +194 -23
  191. package/src/asset-registries/Icons.js +129 -14
  192. package/src/asset-registries/Illustrations.js +30 -0
  193. package/src/asset-registries/LocaleData.js +108 -50
  194. package/src/asset-registries/Themes.js +35 -32
  195. package/src/asset-registries/i18n.js +80 -34
  196. package/src/assets-meta/IconCollectionsAlias.js +18 -0
  197. package/src/config/AnimationMode.js +16 -2
  198. package/src/config/CalendarType.js +7 -7
  199. package/src/config/FormatSettings.js +5 -1
  200. package/src/config/Language.js +62 -3
  201. package/src/config/NoConflict.js +10 -3
  202. package/src/config/Theme.js +21 -3
  203. package/src/css/FontFace.css +45 -0
  204. package/src/css/OverrideFontFace.css +32 -0
  205. package/src/css/SystemCSSVars.css +17 -0
  206. package/src/delegate/ItemNavigation.js +246 -129
  207. package/src/delegate/ResizeHandler.js +78 -38
  208. package/src/delegate/ScrollEnablement.js +122 -14
  209. package/src/features/F6Navigation.js +106 -0
  210. package/src/features/OpenUI5Support.js +125 -0
  211. package/src/getSharedResource.js +30 -0
  212. package/src/i18nBundle.js +62 -11
  213. package/src/isLegacyBrowser.js +3 -0
  214. package/src/{Locale.js → locale/Locale.js} +0 -10
  215. package/src/locale/RTLAwareRegistry.js +14 -0
  216. package/src/locale/applyDirection.js +17 -0
  217. package/src/locale/directionChange.js +32 -0
  218. package/src/locale/getEffectiveDir.js +28 -0
  219. package/src/locale/getLocale.js +41 -0
  220. package/src/locale/languageChange.js +22 -0
  221. package/src/locale/nextFallbackLocale.js +28 -0
  222. package/{dist/util → src/locale}/normalizeLocale.js +8 -31
  223. package/src/renderer/LitRenderer.js +26 -7
  224. package/src/renderer/directives/style-map.js +72 -0
  225. package/src/renderer/executeTemplate.js +17 -0
  226. package/src/theming/CustomStyle.js +47 -6
  227. package/src/theming/ThemeLoaded.js +22 -0
  228. package/src/theming/applyTheme.js +79 -0
  229. package/src/theming/getConstructableStyle.js +30 -0
  230. package/src/theming/getEffectiveLinksHrefs.js +20 -0
  231. package/src/theming/getEffectiveStyle.js +30 -0
  232. package/src/theming/getStylesString.js +15 -0
  233. package/src/theming/getThemeDesignerTheme.js +87 -0
  234. package/src/theming/preloadLinks.js +23 -0
  235. package/src/thirdparty/_merge.js +32 -0
  236. package/src/thirdparty/isPlainObject.js +18 -0
  237. package/src/thirdparty/merge.js +10 -0
  238. package/src/types/CSSColor.js +9 -0
  239. package/src/{dates → types}/CalendarType.js +2 -2
  240. package/src/types/DataType.js +13 -1
  241. package/src/types/Float.js +14 -0
  242. package/src/types/Integer.js +4 -0
  243. package/src/types/InvisibleMessageMode.js +30 -0
  244. package/src/types/ItemNavigationBehavior.js +2 -7
  245. package/src/types/NavigationMode.js +1 -0
  246. package/src/types/PopupState.js +1 -1
  247. package/src/types/ValueState.js +2 -1
  248. package/src/updateShadowRoot.js +30 -0
  249. package/src/util/AriaLabelHelper.js +41 -0
  250. package/src/util/Caret.js +45 -0
  251. package/src/util/ColorConversion.js +370 -0
  252. package/src/util/FocusableElements.js +30 -11
  253. package/src/util/HTMLSanitizer.js +7 -0
  254. package/src/util/InvisibleMessage.js +58 -0
  255. package/src/util/PopupUtils.js +93 -0
  256. package/src/util/SlotsHelper.js +43 -0
  257. package/src/util/StringHelper.js +17 -2
  258. package/src/util/TabbableElements.js +5 -2
  259. package/src/util/arraysAreEqual.js +15 -0
  260. package/src/util/clamp.js +12 -0
  261. package/src/util/createLinkInHead.js +19 -0
  262. package/src/util/debounce.js +17 -0
  263. package/src/util/detectNavigatorLanguage.js +3 -1
  264. package/src/util/escapeRegex.js +10 -0
  265. package/src/util/findNodeOwner.js +35 -0
  266. package/src/util/generateHighlightedMarkup.js +42 -0
  267. package/src/util/getActiveElement.js +11 -0
  268. package/src/util/getClassCopy.js +10 -0
  269. package/src/util/getEffectiveContentDensity.js +5 -0
  270. package/src/util/getFileExtension.js +21 -0
  271. package/src/util/getSingletonElementInstance.js +13 -0
  272. package/src/util/isElementInView.js +15 -0
  273. package/src/util/isNodeHidden.js +1 -5
  274. package/src/util/isNodeTabbable.js +4 -4
  275. package/src/util/isValidPropertyName.js +11 -2
  276. package/src/util/setToArray.js +10 -0
  277. package/used-modules.txt +10 -0
  278. package/bundle.es5.js +0 -31
  279. package/dist/Assets.js +0 -2
  280. package/dist/CSS.js +0 -48
  281. package/dist/ContentDensity.js +0 -20
  282. package/dist/FormatSettings.js +0 -31
  283. package/dist/LocaleProvider.js +0 -34
  284. package/dist/ResourceLoaderOverrides.js +0 -38
  285. package/dist/SVGIconRegistry.js +0 -54
  286. package/dist/boot.js +0 -28
  287. package/dist/cldr/en.js +0 -4788
  288. package/dist/compatibility/DOMObserver.js +0 -62
  289. package/dist/compatibility/patchNodeValue.js +0 -24
  290. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  291. package/dist/config/CompactSize.js +0 -23
  292. package/dist/dates/CalendarDate.js +0 -203
  293. package/dist/dates/CalendarDatesRegistry.js +0 -17
  294. package/dist/dates/CalendarUtils.js +0 -99
  295. package/dist/delegate/CustomResize.js +0 -78
  296. package/dist/delegate/NativeResize.js +0 -44
  297. package/dist/events/EventEnrichment.js +0 -38
  298. package/dist/events/PseudoEvents.js +0 -58
  299. package/dist/features/browsersupport/Edge.js +0 -6
  300. package/dist/features/browsersupport/IE11.js +0 -41
  301. package/dist/features/calendar/Buddhist.js +0 -1
  302. package/dist/features/calendar/Islamic.js +0 -1
  303. package/dist/features/calendar/Japanese.js +0 -1
  304. package/dist/features/calendar/Persian.js +0 -1
  305. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  306. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  307. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  308. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  309. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  310. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  311. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  312. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  313. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  314. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  315. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  316. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  317. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  318. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  319. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  320. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  321. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  322. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  323. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  324. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  325. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  326. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  327. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  328. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  329. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  330. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  331. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  332. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  333. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  334. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  335. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  336. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  337. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  338. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  339. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  340. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  341. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  342. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  343. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  344. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  345. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  346. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  347. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  348. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  349. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  350. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  351. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  352. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  353. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  354. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  355. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  356. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  357. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  358. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  359. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  360. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  361. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  362. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  363. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  364. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  365. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  366. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  367. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  368. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  369. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  370. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  371. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  372. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  373. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  374. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  375. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  376. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  377. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  378. package/dist/json-imports/LocaleData.js +0 -171
  379. package/dist/renderer/ifDefined.js +0 -21
  380. package/dist/resources/bundle.es5.js +0 -212
  381. package/dist/resources/bundle.es5.js.map +0 -1
  382. package/dist/shims/Core-shim.js +0 -52
  383. package/dist/shims/jquery-shim.js +0 -89
  384. package/dist/test-resources/elements/DensityAware.js +0 -14
  385. package/dist/test-resources/specs/UI5ElementDensityAware.spec.js +0 -51
  386. package/dist/theming/StyleInjection.js +0 -67
  387. package/dist/theming/ThemeBundle.js +0 -29
  388. package/dist/thirdparty/Array.from.js +0 -16
  389. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  390. package/dist/thirdparty/Array.prototype.find.js +0 -46
  391. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  392. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  393. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  394. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  395. package/dist/thirdparty/Number.isInteger.js +0 -5
  396. package/dist/thirdparty/Number.isNaN.js +0 -1
  397. package/dist/thirdparty/Number.parseInt.js +0 -1
  398. package/dist/thirdparty/Object.assign.js +0 -31
  399. package/dist/thirdparty/Object.entries.js +0 -11
  400. package/dist/thirdparty/Symbol.js +0 -2
  401. package/dist/thirdparty/WeakSet.js +0 -27
  402. package/dist/thirdparty/events-polyfills.js +0 -89
  403. package/dist/thirdparty/fetch.js +0 -1
  404. package/dist/thirdparty/template.js +0 -600
  405. package/dist/util/CSSTransformUtils.js +0 -90
  406. package/dist/webcomponentsjs/LICENSE.md +0 -19
  407. package/dist/webcomponentsjs/README.md +0 -229
  408. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  409. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  410. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  411. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  412. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  413. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  414. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  415. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  416. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  417. package/dist/webcomponentsjs/package.json +0 -46
  418. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  419. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  420. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  421. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  422. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  423. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  424. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  425. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  426. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  427. package/src/Assets.js +0 -2
  428. package/src/CSS.js +0 -48
  429. package/src/ContentDensity.js +0 -20
  430. package/src/FormatSettings.js +0 -31
  431. package/src/LocaleProvider.js +0 -34
  432. package/src/ResourceLoaderOverrides.js +0 -38
  433. package/src/SVGIconRegistry.js +0 -54
  434. package/src/boot.js +0 -28
  435. package/src/cldr/en.js +0 -4788
  436. package/src/compatibility/DOMObserver.js +0 -62
  437. package/src/compatibility/patchNodeValue.js +0 -24
  438. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  439. package/src/config/CompactSize.js +0 -23
  440. package/src/dates/CalendarDate.js +0 -203
  441. package/src/dates/CalendarDatesRegistry.js +0 -17
  442. package/src/dates/CalendarUtils.js +0 -99
  443. package/src/delegate/CustomResize.js +0 -78
  444. package/src/delegate/NativeResize.js +0 -44
  445. package/src/events/EventEnrichment.js +0 -38
  446. package/src/events/PseudoEvents.js +0 -58
  447. package/src/features/browsersupport/Edge.js +0 -6
  448. package/src/features/browsersupport/IE11.js +0 -41
  449. package/src/features/calendar/Buddhist.js +0 -1
  450. package/src/features/calendar/Islamic.js +0 -1
  451. package/src/features/calendar/Japanese.js +0 -1
  452. package/src/features/calendar/Persian.js +0 -1
  453. package/src/json-imports/LocaleData.js +0 -171
  454. package/src/renderer/ifDefined.js +0 -21
  455. package/src/shims/Core-shim.js +0 -52
  456. package/src/shims/jquery-shim.js +0 -89
  457. package/src/theming/StyleInjection.js +0 -67
  458. package/src/theming/ThemeBundle.js +0 -29
  459. package/src/thirdparty/Array.from.js +0 -16
  460. package/src/thirdparty/Array.prototype.fill.js +0 -44
  461. package/src/thirdparty/Array.prototype.find.js +0 -46
  462. package/src/thirdparty/Array.prototype.includes.js +0 -51
  463. package/src/thirdparty/Element.prototype.closest.js +0 -11
  464. package/src/thirdparty/Element.prototype.matches.js +0 -6
  465. package/src/thirdparty/Map.prototype.keys.js +0 -9
  466. package/src/thirdparty/Number.isInteger.js +0 -5
  467. package/src/thirdparty/Number.isNaN.js +0 -1
  468. package/src/thirdparty/Number.parseInt.js +0 -1
  469. package/src/thirdparty/Object.assign.js +0 -31
  470. package/src/thirdparty/Object.entries.js +0 -11
  471. package/src/thirdparty/Symbol.js +0 -2
  472. package/src/thirdparty/WeakSet.js +0 -27
  473. package/src/thirdparty/events-polyfills.js +0 -89
  474. package/src/thirdparty/fetch.js +0 -1
  475. package/src/thirdparty/template.js +0 -600
  476. package/src/util/CSSTransformUtils.js +0 -90
@@ -1,7 +1,7 @@
1
- import { fetchJsonOnce } from "../util/FetchHelper.js";
1
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
2
2
 
3
- const themeURLs = new Map();
4
3
  const themeStyles = new Map();
4
+ const loaders = new Map();
5
5
  const registeredPackages = new Set();
6
6
  const registeredThemes = new Set();
7
7
 
@@ -13,63 +13,66 @@ const registeredThemes = new Set();
13
13
  * Example usage:
14
14
  * 1) Pass the CSS Vars as a string directly.
15
15
  * registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
16
- * 2) Pass the CSS Vars as an object directly
17
- * registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
18
- * 3) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
19
- * registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
20
16
  *
21
17
  * @public
22
18
  * @param packageName - the NPM package for which CSS Vars are registered
23
19
  * @param themeName - the theme which the CSS Vars implement
24
- * @param style - can be one of three options: a string, an object with a "_" property or a URL to a JSON file with a "_" property
20
+ * @param style - the style content directly
21
+ * @deprecated
25
22
  */
26
- const registerThemeProperties = (packageName, themeName, style) => {
27
- if (style._) {
28
- // JSON object like ({"_": ":root"})
29
- themeStyles.set(`${packageName}_${themeName}`, style._);
30
- } else if (style.includes(":root")) {
31
- // pure string
32
- themeStyles.set(`${packageName}_${themeName}`, style);
33
- } else {
34
- // url for fetching
35
- themeURLs.set(`${packageName}_${themeName}`, style);
36
- }
23
+ const registerThemeProperties = (_packageName, _themeName, _style) => {
24
+ throw new Error("`registerThemeProperties` has been depracated. Use `registerThemePropertiesLoader` instead.");
25
+ };
26
+
27
+ const registerThemePropertiesLoader = (packageName, themeName, loader) => {
28
+ loaders.set(`${packageName}/${themeName}`, loader);
37
29
  registeredPackages.add(packageName);
38
30
  registeredThemes.add(themeName);
39
31
  };
40
32
 
41
33
  const getThemeProperties = async (packageName, themeName) => {
42
34
  const style = themeStyles.get(`${packageName}_${themeName}`);
43
- if (style) {
35
+ if (style !== undefined) { // it's valid for style to be an empty string
44
36
  return style;
45
37
  }
46
38
 
47
39
  if (!registeredThemes.has(themeName)) {
48
40
  const regThemesStr = [...registeredThemes.values()].join(", ");
49
- console.warn(`You have requested a non-registered theme - falling back to sap_fiori_3. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
50
- return themeStyles.get(`${packageName}_sap_fiori_3`);
41
+ console.warn(`You have requested a non-registered theme - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
42
+ return themeStyles.get(`${packageName}_${DEFAULT_THEME}`);
51
43
  }
52
44
 
53
- const data = await fetchThemeProperties(packageName, themeName);
54
- themeStyles.set(`${packageName}_${themeName}`, data._);
55
- return data._;
56
- };
57
-
58
- const fetchThemeProperties = async (packageName, themeName) => {
59
- const url = themeURLs.get(`${packageName}_${themeName}`);
60
-
61
- if (!url) {
62
- throw new Error(`You have to import the ${packageName}/dist/Assets.js module to switch to additional themes`);
45
+ const loader = loaders.get(`${packageName}/${themeName}`);
46
+ if (!loader) {
47
+ // no themes for package
48
+ console.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */
49
+ return;
50
+ }
51
+ let data;
52
+ try {
53
+ data = await loader(themeName);
54
+ } catch (e) {
55
+ console.error(packageName, e.message); /* eslint-disable-line */
56
+ return;
63
57
  }
64
- return fetchJsonOnce(url);
58
+ const themeProps = data._ || data;
59
+
60
+ themeStyles.set(`${packageName}_${themeName}`, themeProps);
61
+ return themeProps;
65
62
  };
66
63
 
67
64
  const getRegisteredPackages = () => {
68
65
  return registeredPackages;
69
66
  };
70
67
 
68
+ const isThemeRegistered = theme => {
69
+ return registeredThemes.has(theme);
70
+ };
71
+
71
72
  export {
73
+ registerThemePropertiesLoader,
72
74
  registerThemeProperties,
73
75
  getThemeProperties,
74
76
  getRegisteredPackages,
77
+ isThemeRegistered,
75
78
  };
@@ -1,19 +1,31 @@
1
- import "../shims/jquery-shim.js";
2
- import "../shims/Core-shim.js";
3
- import { getLanguage } from "../LocaleProvider.js";
4
- import { fetchJsonOnce } from "../util/FetchHelper.js";
5
- import { normalizeLocale, nextFallbackLocale } from "../util/normalizeLocale.js";
1
+ import getLocale from "../locale/getLocale.js";
2
+ import { attachLanguageChange } from "../locale/languageChange.js";
3
+ import normalizeLocale from "../locale/normalizeLocale.js";
4
+ import nextFallbackLocale from "../locale/nextFallbackLocale.js";
5
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
6
+ import { getFetchDefaultLanguage } from "../config/Language.js";
7
+
8
+ // contains package names for which the warning has been shown
9
+ const warningShown = new Set();
10
+ const reportedErrors = new Set();
6
11
 
7
12
  const bundleData = new Map();
8
- const bundleURLs = new Map();
13
+ const bundlePromises = new Map();
14
+ const loaders = new Map();
9
15
 
10
16
  /**
11
- * Sets a map with texts and ID the are related to.
12
- * @param {string} packageName package ID that the i18n bundle will be related to
13
- * @param {Object} data an object with string locales as keys and text translataions as values
14
- * @public
17
+ *
18
+ * @param {string} packageName for which package this loader can fetch data
19
+ * @param {function} loader async function that will be passed a localeId and should return a JSON object
20
+ * @param {Array} localeIds Array of locale IDs that this loader can handle
15
21
  */
16
- const setI18nBundleData = (packageName, data) => {
22
+ const registerI18nLoader = (packageName, localeId, loader) => {
23
+ // register loader by key
24
+ const bundleKey = `${packageName}/${localeId}`;
25
+ loaders.set(bundleKey, loader);
26
+ };
27
+
28
+ const _setI18nBundleData = (packageName, data) => {
17
29
  bundleData.set(packageName, data);
18
30
  };
19
31
 
@@ -22,13 +34,36 @@ const getI18nBundleData = packageName => {
22
34
  };
23
35
 
24
36
  /**
25
- * Registers a map of locale/url information, to be used by the <code>fetchI18nBundle</code> method.
26
- * @param {string} packageName package ID that the i18n bundle will be related to
27
- * @param {Object} bundle an object with string locales as keys and the URLs of where the corresponding locale can be fetched from, f.e {"en": "path/en.json", ...}
28
37
  * @public
38
+ * @deprecated
29
39
  */
30
- const registerI18nBundle = (packageName, bundle) => {
31
- bundleURLs.set(packageName, bundle);
40
+ const registerI18nBundle = (_packageName, _bundle) => {
41
+ throw new Error("This method has been removed. Use `registerI18nLoader` instead.");
42
+ };
43
+
44
+ const _hasLoader = (packageName, localeId) => {
45
+ const bundleKey = `${packageName}/${localeId}`;
46
+ return loaders.has(bundleKey);
47
+ };
48
+
49
+ // load bundle over the network once
50
+ const _loadMessageBundleOnce = (packageName, localeId) => {
51
+ const bundleKey = `${packageName}/${localeId}`;
52
+ const loadMessageBundle = loaders.get(bundleKey);
53
+
54
+ if (!bundlePromises.get(bundleKey)) {
55
+ bundlePromises.set(bundleKey, loadMessageBundle(localeId));
56
+ }
57
+
58
+ return bundlePromises.get(bundleKey);
59
+ };
60
+
61
+ const _showAssetsWarningOnce = packageName => {
62
+ if (!warningShown.has(packageName)) {
63
+ console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
64
+ ` Add \`import "${packageName}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`); /* eslint-disable-line */
65
+ warningShown.add(packageName);
66
+ }
32
67
  };
33
68
 
34
69
  /**
@@ -41,35 +76,46 @@ const registerI18nBundle = (packageName, bundle) => {
41
76
  * @public
42
77
  */
43
78
  const fetchI18nBundle = async packageName => {
44
- const bundlesForPackage = bundleURLs.get(packageName);
45
-
46
- if (!bundlesForPackage) {
47
- console.warn(`Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
48
- ` You need to import ${packageName}/dist/Assets.js with a build tool that supports JSON imports.`); /* eslint-disable-line */
49
- return;
50
- }
51
-
52
- const language = getLanguage();
79
+ const language = getLocale().getLanguage();
80
+ const region = getLocale().getRegion();
81
+ let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
53
82
 
54
- let localeId = normalizeLocale(language);
55
- while (!bundlesForPackage[localeId]) {
83
+ while (localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId)) {
56
84
  localeId = nextFallbackLocale(localeId);
57
85
  }
58
86
 
59
- const bundleURL = bundlesForPackage[localeId];
87
+ // use default language unless configured to always fetch it from the network
88
+ const fetchDefaultLanguage = getFetchDefaultLanguage();
89
+ if (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {
90
+ _setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
91
+ return;
92
+ }
60
93
 
61
- if (typeof bundleURL === "object") { // inlined from build
62
- setI18nBundleData(packageName, bundleURL);
63
- return bundleURL;
94
+ if (!_hasLoader(packageName, localeId)) {
95
+ _showAssetsWarningOnce(packageName);
96
+ return;
64
97
  }
65
98
 
66
- const data = await fetchJsonOnce(bundleURL);
67
- setI18nBundleData(packageName, data);
99
+ try {
100
+ const data = await _loadMessageBundleOnce(packageName, localeId);
101
+ _setI18nBundleData(packageName, data);
102
+ } catch (e) {
103
+ if (!reportedErrors.has(e.message)) {
104
+ reportedErrors.add(e.message);
105
+ console.error(e.message); /* eslint-disable-line */
106
+ }
107
+ }
68
108
  };
69
109
 
110
+ // When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
111
+ attachLanguageChange(() => {
112
+ const allPackages = [...bundleData.keys()];
113
+ return Promise.all(allPackages.map(fetchI18nBundle));
114
+ });
115
+
70
116
  export {
117
+ registerI18nLoader,
71
118
  fetchI18nBundle,
72
119
  registerI18nBundle,
73
- setI18nBundleData,
74
120
  getI18nBundleData,
75
121
  };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Supported icon collection names and aliases.
3
+ *
4
+ * Users might specify a collection, using both the key and the value in the following key-value pairs,
5
+ * e.g the following pairs are completely exchangeable:
6
+ * "SAP-icons-TNT/actor" and "tnt/actor", "BusinessSuiteInAppSymbols/3d" and "business-suite/3d",
7
+ * "SAP-icons-v5/accept" and "horizon/accept".
8
+ *
9
+ * Note: technically, in the code we maintain the collections under the "value" name - "tnt", "business-suite",
10
+ * SAP-icons-v5" and "SAP-icons"(which does not have an alias).
11
+ */
12
+ const IconCollectionsAlias = {
13
+ "SAP-icons-TNT": "tnt",
14
+ "BusinessSuiteInAppSymbols": "business-suite",
15
+ "horizon": "SAP-icons-v5",
16
+ };
17
+
18
+ export default IconCollectionsAlias;
@@ -1,9 +1,23 @@
1
1
  import { getAnimationMode as getConfiguredAnimationMode } from "../InitialConfiguration.js";
2
+ import AnimationMode from "../types/AnimationMode.js";
2
3
 
3
- const animationMode = getConfiguredAnimationMode();
4
+ let animationMode;
4
5
 
5
6
  const getAnimationMode = () => {
7
+ if (animationMode === undefined) {
8
+ animationMode = getConfiguredAnimationMode();
9
+ }
10
+
6
11
  return animationMode;
7
12
  };
8
13
 
9
- export { getAnimationMode }; // eslint-disable-line
14
+ const setAnimationMode = newAnimationMode => {
15
+ if (Object.values(AnimationMode).includes(newAnimationMode)) {
16
+ animationMode = newAnimationMode;
17
+ }
18
+ };
19
+
20
+ export {
21
+ getAnimationMode,
22
+ setAnimationMode,
23
+ };
@@ -1,15 +1,15 @@
1
- import CalendarType from "@ui5/webcomponents-utils/dist/sap/ui/core/CalendarType.js";
1
+ import CalendarType from "../types/CalendarType.js";
2
2
  import { getCalendarType as getConfiguredCalendarType } from "../InitialConfiguration.js";
3
3
 
4
- const calendarType = getConfiguredCalendarType();
4
+ let calendarType;
5
5
 
6
6
  const getCalendarType = () => {
7
- if (calendarType) {
8
- const type = Object.keys(CalendarType).find(calType => calType === calendarType);
7
+ if (calendarType === undefined) {
8
+ calendarType = getConfiguredCalendarType();
9
+ }
9
10
 
10
- if (type) {
11
- return type;
12
- }
11
+ if (CalendarType.isValid(calendarType)) {
12
+ return calendarType;
13
13
  }
14
14
 
15
15
  return CalendarType.Gregorian;
@@ -1,8 +1,12 @@
1
1
  import { getFormatSettings } from "../InitialConfiguration.js";
2
2
 
3
- const formatSettings = getFormatSettings();
3
+ let formatSettings;
4
4
 
5
5
  const getFirstDayOfWeek = () => {
6
+ if (formatSettings === undefined) {
7
+ formatSettings = getFormatSettings();
8
+ }
9
+
6
10
  return formatSettings.firstDayOfWeek;
7
11
  };
8
12
 
@@ -1,9 +1,68 @@
1
- import { getLanguage as getConfiguredLanguage } from "../InitialConfiguration.js";
1
+ import {
2
+ getLanguage as getConfiguredLanguage,
3
+ getFetchDefaultLanguage as getConfiguredFetchDefaultLanguage,
4
+ } from "../InitialConfiguration.js";
5
+ import { fireLanguageChange } from "../locale/languageChange.js";
6
+ import { reRenderAllUI5Elements } from "../Render.js";
2
7
 
3
- const language = getConfiguredLanguage();
8
+ let language;
9
+ let fetchDefaultLanguage;
4
10
 
11
+ /**
12
+ * Returns the currently configured language, or the browser language as a fallback
13
+ * @returns {String}
14
+ */
5
15
  const getLanguage = () => {
16
+ if (language === undefined) {
17
+ language = getConfiguredLanguage();
18
+ }
6
19
  return language;
7
20
  };
8
21
 
9
- export { getLanguage }; // eslint-disable-line
22
+ /**
23
+ * Changes the current language, re-fetches all message bundles, updates all language-aware components
24
+ * and returns a promise that resolves when all rendering is done
25
+ *
26
+ * @param newLanguage
27
+ * @returns {Promise<void>}
28
+ */
29
+ const setLanguage = async newLanguage => {
30
+ if (language === newLanguage) {
31
+ return;
32
+ }
33
+
34
+ language = newLanguage;
35
+
36
+ await fireLanguageChange(newLanguage);
37
+ await reRenderAllUI5Elements({ languageAware: true });
38
+ };
39
+
40
+ /**
41
+ * Defines if the default language, that is inlined, should be
42
+ * fetched over the network instead of using the inlined one.
43
+ * <b>Note:</b> By default the language will not be fetched.
44
+ *
45
+ * @param {Boolean} fetchDefaultLanguage
46
+ */
47
+ const setFetchDefaultLanguage = fetchDefaultLang => {
48
+ fetchDefaultLanguage = fetchDefaultLang;
49
+ };
50
+
51
+ /**
52
+ * Returns if the default language, that is inlined, should be fetched over the network.
53
+ * @returns {Boolean}
54
+ */
55
+ const getFetchDefaultLanguage = () => {
56
+ if (fetchDefaultLanguage === undefined) {
57
+ setFetchDefaultLanguage(getConfiguredFetchDefaultLanguage());
58
+ }
59
+
60
+ return fetchDefaultLanguage;
61
+ };
62
+
63
+ export {
64
+ getLanguage,
65
+ setLanguage,
66
+ setFetchDefaultLanguage,
67
+ getFetchDefaultLanguage,
68
+ };
@@ -9,24 +9,31 @@ const shouldFireOriginalEvent = eventName => {
9
9
  return excludeList.includes(eventName);
10
10
  };
11
11
 
12
- let noConflict = getConfiguredNoConflict();
12
+ let noConflict;
13
13
 
14
14
  const shouldNotFireOriginalEvent = eventName => {
15
- return !(noConflict.events && noConflict.events.includes && noConflict.events.includes(eventName));
15
+ const nc = getNoConflict();
16
+ return !(nc.events && nc.events.includes && nc.events.includes(eventName));
16
17
  };
17
18
 
18
19
  const getNoConflict = () => {
20
+ if (noConflict === undefined) {
21
+ noConflict = getConfiguredNoConflict();
22
+ }
23
+
19
24
  return noConflict;
20
25
  };
21
26
 
22
27
  const skipOriginalEvent = eventName => {
28
+ const nc = getNoConflict();
29
+
23
30
  // Always fire these events
24
31
  if (shouldFireOriginalEvent(eventName)) {
25
32
  return false;
26
33
  }
27
34
 
28
35
  // Read from the configuration
29
- if (noConflict === true) {
36
+ if (nc === true) {
30
37
  return true;
31
38
  }
32
39
 
@@ -1,9 +1,14 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
- import { _applyTheme } from "../Theming.js";
2
+ import { reRenderAllUI5Elements } from "../Render.js";
3
+ import applyTheme from "../theming/applyTheme.js";
3
4
 
4
- let theme = getConfiguredTheme();
5
+ let theme;
5
6
 
6
7
  const getTheme = () => {
8
+ if (theme === undefined) {
9
+ theme = getConfiguredTheme();
10
+ }
11
+
7
12
  return theme;
8
13
  };
9
14
 
@@ -15,10 +20,23 @@ const setTheme = async newTheme => {
15
20
  theme = newTheme;
16
21
 
17
22
  // Update CSS Custom Properties
18
- await _applyTheme(theme);
23
+ await applyTheme(theme);
24
+ await reRenderAllUI5Elements({ themeAware: true });
25
+ };
26
+
27
+ /**
28
+ * Returns if the given theme name is the one currently applied.
29
+ * @private
30
+ * @param {String}
31
+ * @returns {boolean}
32
+ */
33
+ const isTheme = _theme => {
34
+ const currentTheme = getTheme();
35
+ return currentTheme === _theme || currentTheme === `${_theme}_exp`;
19
36
  };
20
37
 
21
38
  export {
22
39
  getTheme,
23
40
  setTheme,
41
+ isTheme,
24
42
  };
@@ -0,0 +1,45 @@
1
+ @font-face {
2
+ font-family: "72";
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ src: local("72"),
6
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),
7
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff");
8
+ }
9
+
10
+ @font-face {
11
+ font-family: "72full";
12
+ font-style: normal;
13
+ font-weight: 400;
14
+ src: local('72-full'),
15
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),
16
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff");
17
+
18
+ }
19
+
20
+ @font-face {
21
+ font-family: "72";
22
+ font-style: normal;
23
+ font-weight: 700;
24
+ src: local('72-Bold'),
25
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),
26
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
27
+ }
28
+
29
+ @font-face {
30
+ font-family: "72full";
31
+ font-style: normal;
32
+ font-weight: 700;
33
+ src: local('72-Bold-full'),
34
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),
35
+ url(https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
36
+ }
37
+
38
+ @font-face {
39
+ font-family: "72Black";
40
+ font-style: bold;
41
+ font-weight: 900;
42
+ src: local('72Black'),
43
+ url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"),
44
+ url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents) format("woff");
45
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Some diacritics are supported by the 72 font:
3
+ * * Grave
4
+ * * Acute
5
+ * * Circumflex
6
+ * * Tilde
7
+ *
8
+ * However, the following diacritics and the combination of multiple diacritics (including the supported ones) are not supported:
9
+ * * Breve
10
+ * * Horn
11
+ * * Dot below
12
+ * * Hook above
13
+ *
14
+ *
15
+ * Override for the characters that aren't covered by the '72' font to other system fonts
16
+ *
17
+ * U+0102-0103: A and a with Breve
18
+ * U+01A0-01A1: O and o with Horn
19
+ * U+01AF-01B0: U and u with Horn
20
+ * U+1EA0-1EB7: A and a with diacritics that are not supported by the font and combination of multiple diacritics
21
+ * U+1EB8-1EC7: E and e with diacritics that are not supported by the font and combination of multiple diacritics
22
+ * U+1EC8-1ECB: I and i with diacritics that are not supported by the font and combination of multiple diacritics
23
+ * U+1ECC-1EE3: O and o with diacritics that are not supported by the font and combination of multiple diacritics
24
+ * U+1EE4-1EF1: U and u with diacritics that are not supported by the font and combination of multiple diacritics
25
+ * U+1EF4-1EF7: Y and y with diacritics that are not supported by the font and combination of multiple diacritics
26
+ *
27
+ */
28
+ @font-face {
29
+ font-family: '72override';
30
+ unicode-range: U+0102-0103, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EB7, U+1EB8-1EC7, U+1EC8-1ECB, U+1ECC-1EE3, U+1EE4-1EF1, U+1EF4-1EF7;
31
+ src: local('Arial'), local('Helvetica'), local('sans-serif');
32
+ }
@@ -0,0 +1,17 @@
1
+ :root {
2
+ --_ui5_content_density:cozy;
3
+ }
4
+
5
+ [data-ui5-compact-size],
6
+ .ui5-content-density-compact,
7
+ .sapUiSizeCompact {
8
+ --_ui5_content_density:compact;
9
+ }
10
+
11
+ [dir="rtl"] {
12
+ --_ui5_dir:rtl;
13
+ }
14
+
15
+ [dir="ltr"] {
16
+ --_ui5_dir:ltr;
17
+ }