@ui5/webcomponents-base 0.0.0-b4cbc43ba → 0.0.0-b93bc8b37

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 (619) hide show
  1. package/.eslintignore +8 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +614 -0
  4. package/README.md +53 -7
  5. package/bundle.esm.js +27 -18
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +6 -12
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +57 -34
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +69 -30
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -50
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +159 -816
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -88
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +17 -110
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/InitialConfiguration.d.ts +27 -0
  41. package/dist/InitialConfiguration.js +124 -118
  42. package/dist/InitialConfiguration.js.map +1 -0
  43. package/dist/Keys.d.ts +57 -0
  44. package/dist/Keys.js +174 -217
  45. package/dist/Keys.js.map +1 -0
  46. package/dist/ManagedStyles.d.ts +8 -0
  47. package/dist/ManagedStyles.js +77 -0
  48. package/dist/ManagedStyles.js.map +1 -0
  49. package/dist/MarkedEvents.d.ts +9 -0
  50. package/dist/MarkedEvents.js +15 -0
  51. package/dist/MarkedEvents.js.map +1 -0
  52. package/dist/MediaRange.d.ts +37 -0
  53. package/dist/MediaRange.js +98 -0
  54. package/dist/MediaRange.js.map +1 -0
  55. package/dist/PropertiesFileFormat.d.ts +8 -0
  56. package/dist/PropertiesFileFormat.js +85 -0
  57. package/dist/PropertiesFileFormat.js.map +1 -0
  58. package/dist/Render.d.ts +47 -0
  59. package/dist/Render.js +82 -113
  60. package/dist/Render.js.map +1 -0
  61. package/dist/RenderQueue.d.ts +19 -0
  62. package/dist/RenderQueue.js +52 -62
  63. package/dist/RenderQueue.js.map +1 -0
  64. package/dist/Runtimes.d.ts +27 -0
  65. package/dist/Runtimes.js +86 -0
  66. package/dist/Runtimes.js.map +1 -0
  67. package/dist/StaticArea.d.ts +3 -0
  68. package/dist/StaticArea.js +7 -0
  69. package/dist/StaticArea.js.map +1 -0
  70. package/dist/StaticAreaItem.d.ts +36 -0
  71. package/dist/StaticAreaItem.js +87 -68
  72. package/dist/StaticAreaItem.js.map +1 -0
  73. package/dist/SystemCSSVars.d.ts +2 -0
  74. package/dist/SystemCSSVars.js +6 -28
  75. package/dist/SystemCSSVars.js.map +1 -0
  76. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  77. package/dist/Theming.js +1 -1
  78. package/dist/Theming.js.map +1 -0
  79. package/dist/UI5Element.d.ts +378 -0
  80. package/dist/UI5Element.js +919 -996
  81. package/dist/UI5Element.js.map +1 -0
  82. package/dist/UI5ElementMetadata.d.ts +150 -0
  83. package/dist/UI5ElementMetadata.js +278 -298
  84. package/dist/UI5ElementMetadata.js.map +1 -0
  85. package/dist/animations/AnimationQueue.d.ts +8 -0
  86. package/dist/animations/AnimationQueue.js +31 -38
  87. package/dist/animations/AnimationQueue.js.map +1 -0
  88. package/dist/animations/animate.d.ts +14 -0
  89. package/dist/animations/animate.js +46 -51
  90. package/dist/animations/animate.js.map +1 -0
  91. package/dist/animations/scroll.d.ts +5 -0
  92. package/dist/animations/scroll.js +18 -27
  93. package/dist/animations/scroll.js.map +1 -0
  94. package/dist/animations/slideDown.d.ts +5 -0
  95. package/dist/animations/slideDown.js +53 -78
  96. package/dist/animations/slideDown.js.map +1 -0
  97. package/dist/animations/slideUp.d.ts +5 -0
  98. package/dist/animations/slideUp.js +49 -70
  99. package/dist/animations/slideUp.js.map +1 -0
  100. package/dist/api.json +1 -0
  101. package/dist/asset-registries/Icons.d.ts +38 -0
  102. package/dist/asset-registries/Icons.js +125 -32
  103. package/dist/asset-registries/Icons.js.map +1 -0
  104. package/dist/asset-registries/Illustrations.d.ts +17 -0
  105. package/dist/asset-registries/Illustrations.js +46 -0
  106. package/dist/asset-registries/Illustrations.js.map +1 -0
  107. package/dist/asset-registries/LocaleData.d.ts +7 -0
  108. package/dist/asset-registries/LocaleData.js +119 -118
  109. package/dist/asset-registries/LocaleData.js.map +1 -0
  110. package/dist/asset-registries/Themes.d.ts +11 -0
  111. package/dist/asset-registries/Themes.js +41 -77
  112. package/dist/asset-registries/Themes.js.map +1 -0
  113. package/dist/asset-registries/i18n.d.ts +23 -0
  114. package/dist/asset-registries/i18n.js +77 -86
  115. package/dist/asset-registries/i18n.js.map +1 -0
  116. package/dist/assets/Boot.34b7cea0.css +1 -0
  117. package/dist/assets/Boot.943283a1.js +9 -0
  118. package/dist/assets/bundle.esm.de818fe7.js +50 -0
  119. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  120. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  121. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  122. package/dist/config/AnimationMode.d.ts +14 -0
  123. package/dist/config/AnimationMode.js +21 -18
  124. package/dist/config/AnimationMode.js.map +1 -0
  125. package/dist/config/CalendarType.d.ts +8 -0
  126. package/dist/config/CalendarType.js +13 -12
  127. package/dist/config/CalendarType.js.map +1 -0
  128. package/dist/config/FormatSettings.d.ts +15 -0
  129. package/dist/config/FormatSettings.js +15 -9
  130. package/dist/config/FormatSettings.js.map +1 -0
  131. package/dist/config/Icons.d.ts +55 -0
  132. package/dist/config/Icons.js +103 -0
  133. package/dist/config/Icons.js.map +1 -0
  134. package/dist/config/Language.d.ts +40 -0
  135. package/dist/config/Language.js +48 -48
  136. package/dist/config/Language.js.map +1 -0
  137. package/dist/config/NoConflict.d.ts +20 -0
  138. package/dist/config/NoConflict.js +41 -41
  139. package/dist/config/NoConflict.js.map +1 -0
  140. package/dist/config/RTL.d.ts +7 -0
  141. package/dist/config/RTL.js +26 -20
  142. package/dist/config/RTL.js.map +1 -0
  143. package/dist/config/Theme.d.ts +38 -0
  144. package/dist/config/Theme.js +64 -22
  145. package/dist/config/Theme.js.map +1 -0
  146. package/dist/config/ThemeRoots.d.ts +4 -0
  147. package/dist/config/ThemeRoots.js +28 -0
  148. package/dist/config/ThemeRoots.js.map +1 -0
  149. package/dist/config/Timezone.d.ts +17 -0
  150. package/dist/config/Timezone.js +30 -0
  151. package/dist/config/Timezone.js.map +1 -0
  152. package/dist/css/BusyIndicator.css +80 -0
  153. package/dist/css/FontFace.css +66 -0
  154. package/dist/css/OverrideFontFace.css +32 -0
  155. package/dist/css/SystemCSSVars.css +17 -0
  156. package/dist/decorators/customElement.d.ts +23 -0
  157. package/dist/decorators/customElement.js +37 -0
  158. package/dist/decorators/customElement.js.map +1 -0
  159. package/dist/decorators/event.d.ts +10 -0
  160. package/dist/decorators/event.js +24 -0
  161. package/dist/decorators/event.js.map +1 -0
  162. package/dist/decorators/property.d.ts +9 -0
  163. package/dist/decorators/property.js +24 -0
  164. package/dist/decorators/property.js.map +1 -0
  165. package/dist/decorators/slot.d.ts +9 -0
  166. package/dist/decorators/slot.js +37 -0
  167. package/dist/decorators/slot.js.map +1 -0
  168. package/dist/delegate/ItemNavigation.d.ts +113 -0
  169. package/dist/delegate/ItemNavigation.js +280 -257
  170. package/dist/delegate/ItemNavigation.js.map +1 -0
  171. package/dist/delegate/ResizeHandler.d.ts +25 -0
  172. package/dist/delegate/ResizeHandler.js +72 -91
  173. package/dist/delegate/ResizeHandler.js.map +1 -0
  174. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  175. package/dist/delegate/ScrollEnablement.js +159 -176
  176. package/dist/delegate/ScrollEnablement.js.map +1 -0
  177. package/dist/features/F6Navigation.d.ts +19 -0
  178. package/dist/features/F6Navigation.js +151 -0
  179. package/dist/features/F6Navigation.js.map +1 -0
  180. package/dist/features/LegacyDateFormats.d.ts +18 -0
  181. package/dist/features/LegacyDateFormats.js +20 -0
  182. package/dist/features/LegacyDateFormats.js.map +1 -0
  183. package/dist/features/OpenUI5Element.d.ts +9 -0
  184. package/dist/features/OpenUI5Element.js +5 -0
  185. package/dist/features/OpenUI5Element.js.map +1 -0
  186. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  187. package/dist/features/OpenUI5Enablement.js +96 -0
  188. package/dist/features/OpenUI5Enablement.js.map +1 -0
  189. package/dist/features/OpenUI5Support.d.ts +26 -0
  190. package/dist/features/OpenUI5Support.js +95 -86
  191. package/dist/features/OpenUI5Support.js.map +1 -0
  192. package/dist/generated/AssetParameters.js +3 -1
  193. package/dist/generated/VersionInfo.js +10 -0
  194. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  195. package/dist/generated/css/BusyIndicator.css.js +7 -0
  196. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  197. package/dist/generated/css/FontFace.css.d.ts +3 -0
  198. package/dist/generated/css/FontFace.css.js +7 -0
  199. package/dist/generated/css/FontFace.css.js.map +1 -0
  200. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  201. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  202. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  203. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  204. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  205. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  206. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  207. package/dist/getSharedResource.d.ts +11 -0
  208. package/dist/getSharedResource.js +22 -18
  209. package/dist/getSharedResource.js.map +1 -0
  210. package/dist/global.d.ts +40 -0
  211. package/dist/i18nBundle.d.ts +43 -0
  212. package/dist/i18nBundle.js +68 -42
  213. package/dist/i18nBundle.js.map +1 -0
  214. package/dist/locale/Locale.d.ts +22 -0
  215. package/dist/locale/Locale.js +75 -87
  216. package/dist/locale/Locale.js.map +1 -0
  217. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  218. package/dist/locale/RTLAwareRegistry.js +6 -11
  219. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  220. package/dist/locale/applyDirection.d.ts +10 -0
  221. package/dist/locale/applyDirection.js +7 -7
  222. package/dist/locale/applyDirection.js.map +1 -0
  223. package/dist/locale/directionChange.d.ts +15 -0
  224. package/dist/locale/directionChange.js +7 -15
  225. package/dist/locale/directionChange.js.map +1 -0
  226. package/dist/locale/getEffectiveDir.d.ts +2 -0
  227. package/dist/locale/getEffectiveDir.js +20 -24
  228. package/dist/locale/getEffectiveDir.js.map +1 -0
  229. package/dist/locale/getLocale.d.ts +7 -0
  230. package/dist/locale/getLocale.js +26 -29
  231. package/dist/locale/getLocale.js.map +1 -0
  232. package/dist/locale/languageChange.d.ts +5 -0
  233. package/dist/locale/languageChange.js +8 -16
  234. package/dist/locale/languageChange.js.map +1 -0
  235. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  236. package/dist/locale/nextFallbackLocale.js +15 -19
  237. package/dist/locale/nextFallbackLocale.js.map +1 -0
  238. package/dist/locale/normalizeLocale.d.ts +7 -0
  239. package/dist/locale/normalizeLocale.js +34 -41
  240. package/dist/locale/normalizeLocale.js.map +1 -0
  241. package/dist/renderer/LitRenderer.d.ts +14 -0
  242. package/dist/renderer/LitRenderer.js +34 -24
  243. package/dist/renderer/LitRenderer.js.map +1 -0
  244. package/dist/renderer/directives/style-map.js +72 -0
  245. package/dist/renderer/executeTemplate.d.ts +13 -0
  246. package/dist/renderer/executeTemplate.js +20 -7
  247. package/dist/renderer/executeTemplate.js.map +1 -0
  248. package/dist/sap/base/Log.js +240 -0
  249. package/dist/sap/base/assert.js +7 -0
  250. package/dist/sap/base/security/URLListValidator.js +159 -0
  251. package/dist/sap/base/security/encodeCSS.js +14 -0
  252. package/dist/sap/base/security/encodeXML.js +23 -0
  253. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  254. package/dist/sap/base/strings/toHex.js +8 -0
  255. package/dist/sap/base/util/now.js +7 -0
  256. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  257. package/dist/theming/CustomStyle.d.ts +6 -0
  258. package/dist/theming/CustomStyle.js +39 -31
  259. package/dist/theming/CustomStyle.js.map +1 -0
  260. package/dist/theming/ThemeLoaded.d.ts +5 -0
  261. package/dist/theming/ThemeLoaded.js +8 -16
  262. package/dist/theming/ThemeLoaded.js.map +1 -0
  263. package/dist/theming/ThemeRegistered.d.ts +4 -0
  264. package/dist/theming/ThemeRegistered.js +11 -0
  265. package/dist/theming/ThemeRegistered.js.map +1 -0
  266. package/dist/theming/applyTheme.d.ts +2 -0
  267. package/dist/theming/applyTheme.js +62 -65
  268. package/dist/theming/applyTheme.js.map +1 -0
  269. package/dist/theming/getConstructableStyle.d.ts +9 -0
  270. package/dist/theming/getConstructableStyle.js +12 -17
  271. package/dist/theming/getConstructableStyle.js.map +1 -0
  272. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  273. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  274. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  275. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  276. package/dist/theming/getEffectiveStyle.js +25 -23
  277. package/dist/theming/getEffectiveStyle.js.map +1 -0
  278. package/dist/theming/getStylesString.d.ts +3 -0
  279. package/dist/theming/getStylesString.js +9 -11
  280. package/dist/theming/getStylesString.js.map +1 -0
  281. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  282. package/dist/theming/getThemeDesignerTheme.js +73 -60
  283. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  284. package/dist/theming/preloadLinks.d.ts +3 -0
  285. package/dist/theming/preloadLinks.js +19 -0
  286. package/dist/theming/preloadLinks.js.map +1 -0
  287. package/dist/thirdparty/_merge.d.ts +2 -0
  288. package/dist/thirdparty/_merge.js +7 -4
  289. package/dist/thirdparty/_merge.js.map +1 -0
  290. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  291. package/dist/thirdparty/isPlainObject.js +11 -10
  292. package/dist/thirdparty/isPlainObject.js.map +1 -0
  293. package/dist/thirdparty/merge.d.ts +2 -0
  294. package/dist/thirdparty/merge.js +4 -8
  295. package/dist/thirdparty/merge.js.map +1 -0
  296. package/dist/types/AnimationMode.d.ts +32 -0
  297. package/dist/types/AnimationMode.js +33 -6
  298. package/dist/types/AnimationMode.js.map +1 -0
  299. package/dist/types/CSSColor.d.ts +15 -0
  300. package/dist/types/CSSColor.js +18 -0
  301. package/dist/types/CSSColor.js.map +1 -0
  302. package/dist/types/CalendarType.d.ts +37 -0
  303. package/dist/types/CalendarType.js +35 -18
  304. package/dist/types/CalendarType.js.map +1 -0
  305. package/dist/types/DOMReference.d.ts +17 -0
  306. package/dist/types/DOMReference.js +25 -0
  307. package/dist/types/DOMReference.js.map +1 -0
  308. package/dist/types/DataType.d.ts +25 -0
  309. package/dist/types/DataType.js +33 -14
  310. package/dist/types/DataType.js.map +1 -0
  311. package/dist/types/Float.d.ts +17 -0
  312. package/dist/types/Float.js +17 -6
  313. package/dist/types/Float.js.map +1 -0
  314. package/dist/types/Integer.d.ts +17 -0
  315. package/dist/types/Integer.js +17 -5
  316. package/dist/types/Integer.js.map +1 -0
  317. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  318. package/dist/types/InvisibleMessageMode.js +27 -0
  319. package/dist/types/InvisibleMessageMode.js.map +1 -0
  320. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  321. package/dist/types/ItemNavigationBehavior.js +22 -12
  322. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  323. package/dist/types/NavigationMode.d.ts +32 -0
  324. package/dist/types/NavigationMode.js +33 -6
  325. package/dist/types/NavigationMode.js.map +1 -0
  326. package/dist/types/ValueState.d.ts +42 -0
  327. package/dist/types/ValueState.js +41 -19
  328. package/dist/types/ValueState.js.map +1 -0
  329. package/dist/types.d.ts +18 -0
  330. package/dist/types.js +2 -0
  331. package/dist/types.js.map +1 -0
  332. package/dist/updateShadowRoot.d.ts +8 -0
  333. package/dist/updateShadowRoot.js +27 -15
  334. package/dist/updateShadowRoot.js.map +1 -0
  335. package/dist/util/AriaLabelHelper.d.ts +15 -0
  336. package/dist/util/AriaLabelHelper.js +166 -36
  337. package/dist/util/AriaLabelHelper.js.map +1 -0
  338. package/dist/util/Caret.d.ts +7 -0
  339. package/dist/util/Caret.js +16 -38
  340. package/dist/util/Caret.js.map +1 -0
  341. package/dist/util/ColorConversion.d.ts +30 -0
  342. package/dist/util/ColorConversion.js +337 -0
  343. package/dist/util/ColorConversion.js.map +1 -0
  344. package/dist/util/FetchHelper.d.ts +3 -0
  345. package/dist/util/FetchHelper.js +19 -25
  346. package/dist/util/FetchHelper.js.map +1 -0
  347. package/dist/util/FocusableElements.d.ts +4 -0
  348. package/dist/util/FocusableElements.js +67 -68
  349. package/dist/util/FocusableElements.js.map +1 -0
  350. package/dist/util/HTMLSanitizer.d.ts +3 -0
  351. package/dist/util/HTMLSanitizer.js +6 -0
  352. package/dist/util/HTMLSanitizer.js.map +1 -0
  353. package/dist/util/InvisibleMessage.d.ts +10 -0
  354. package/dist/util/InvisibleMessage.js +56 -0
  355. package/dist/util/InvisibleMessage.js.map +1 -0
  356. package/dist/util/PopupUtils.d.ts +7 -0
  357. package/dist/util/PopupUtils.js +74 -0
  358. package/dist/util/PopupUtils.js.map +1 -0
  359. package/dist/util/SlotsHelper.d.ts +9 -0
  360. package/dist/util/SlotsHelper.js +22 -35
  361. package/dist/util/SlotsHelper.js.map +1 -0
  362. package/dist/util/StringHelper.d.ts +3 -0
  363. package/dist/util/StringHelper.js +17 -20
  364. package/dist/util/StringHelper.js.map +1 -0
  365. package/dist/util/TabbableElements.d.ts +17 -0
  366. package/dist/util/TabbableElements.js +53 -43
  367. package/dist/util/TabbableElements.js.map +1 -0
  368. package/dist/util/arraysAreEqual.d.ts +2 -0
  369. package/dist/util/arraysAreEqual.js +10 -12
  370. package/dist/util/arraysAreEqual.js.map +1 -0
  371. package/dist/util/clamp.d.ts +9 -0
  372. package/dist/util/clamp.js +12 -0
  373. package/dist/util/clamp.js.map +1 -0
  374. package/dist/util/createLinkInHead.d.ts +7 -0
  375. package/dist/util/createLinkInHead.js +21 -0
  376. package/dist/util/createLinkInHead.js.map +1 -0
  377. package/dist/util/createStyleInHead.d.ts +8 -0
  378. package/dist/util/createStyleInHead.js +10 -10
  379. package/dist/util/createStyleInHead.js.map +1 -0
  380. package/dist/util/debounce.d.ts +2 -0
  381. package/dist/util/debounce.js +6 -8
  382. package/dist/util/debounce.js.map +1 -0
  383. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  384. package/dist/util/detectNavigatorLanguage.js +7 -10
  385. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  386. package/dist/util/escapeRegex.d.ts +8 -0
  387. package/dist/util/escapeRegex.js +11 -0
  388. package/dist/util/escapeRegex.js.map +1 -0
  389. package/dist/util/formatMessage.d.ts +2 -0
  390. package/dist/util/formatMessage.js +15 -19
  391. package/dist/util/formatMessage.js.map +1 -0
  392. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  393. package/dist/util/generateHighlightedMarkup.js +41 -0
  394. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  395. package/dist/util/getActiveElement.d.ts +2 -0
  396. package/dist/util/getActiveElement.js +6 -8
  397. package/dist/util/getActiveElement.js.map +1 -0
  398. package/dist/util/getClassCopy.d.ts +398 -0
  399. package/dist/util/getClassCopy.js +10 -0
  400. package/dist/util/getClassCopy.js.map +1 -0
  401. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  402. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  403. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  404. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  405. package/dist/util/getEffectiveContentDensity.js +2 -3
  406. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  407. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  408. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  409. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  410. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  411. package/dist/util/getFastNavigationGroups.js +51 -0
  412. package/dist/util/getFastNavigationGroups.js.map +1 -0
  413. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  414. package/dist/util/getFileExtension.js +9 -11
  415. package/dist/util/getFileExtension.js.map +1 -0
  416. package/dist/util/getNormalizedTarget.d.ts +7 -0
  417. package/dist/util/getNormalizedTarget.js +14 -0
  418. package/dist/util/getNormalizedTarget.js.map +1 -0
  419. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  420. package/dist/util/getSingletonElementInstance.js +7 -10
  421. package/dist/util/getSingletonElementInstance.js.map +1 -0
  422. package/dist/util/isElementClickable.d.ts +2 -0
  423. package/dist/util/isElementClickable.js +16 -0
  424. package/dist/util/isElementClickable.js.map +1 -0
  425. package/dist/util/isElementHidden.d.ts +2 -0
  426. package/dist/util/isElementHidden.js +8 -0
  427. package/dist/util/isElementHidden.js.map +1 -0
  428. package/dist/util/isElementInView.d.ts +6 -0
  429. package/dist/util/isElementInView.js +12 -0
  430. package/dist/util/isElementInView.js.map +1 -0
  431. package/dist/util/isElementTabbable.d.ts +9 -0
  432. package/dist/util/isElementTabbable.js +30 -0
  433. package/dist/util/isElementTabbable.js.map +1 -0
  434. package/dist/util/isValidPropertyName.d.ts +8 -0
  435. package/dist/util/isValidPropertyName.js +16 -17
  436. package/dist/util/isValidPropertyName.js.map +1 -0
  437. package/dist/util/whenDOMReady.d.ts +2 -0
  438. package/dist/util/whenDOMReady.js +11 -10
  439. package/dist/util/whenDOMReady.js.map +1 -0
  440. package/dist/util/willShowContent.d.ts +2 -0
  441. package/dist/util/willShowContent.js +7 -0
  442. package/dist/util/willShowContent.js.map +1 -0
  443. package/dist/validateThemeRoot.d.ts +2 -0
  444. package/dist/validateThemeRoot.js +48 -0
  445. package/dist/validateThemeRoot.js.map +1 -0
  446. package/index.js +228 -2
  447. package/lib/generate-asset-parameters/index.js +11 -6
  448. package/lib/generate-styles/index.js +31 -0
  449. package/lib/generate-version-info/index.js +32 -0
  450. package/package-scripts.cjs +71 -0
  451. package/package.json +21 -10
  452. package/src/css/BusyIndicator.css +80 -0
  453. package/src/css/FontFace.css +66 -0
  454. package/src/css/OverrideFontFace.css +32 -0
  455. package/src/css/SystemCSSVars.css +17 -0
  456. package/src/renderer/directives/style-map.js +72 -0
  457. package/tsconfig.json +14 -0
  458. package/used-modules.txt +10 -0
  459. package/config/rollup.config.js +0 -1
  460. package/config/wdio.conf.js +0 -1
  461. package/dist/RenderScheduler.js +0 -44
  462. package/dist/SVGIconRegistry.js +0 -73
  463. package/dist/animations/config.js +0 -5
  464. package/dist/config/AssetsPath.js +0 -17
  465. package/dist/features/PropertiesFormatSupport.js +0 -8
  466. package/dist/isLegacyBrowser.js +0 -3
  467. package/dist/renderer/ifDefined.js +0 -21
  468. package/dist/renderer/scopeHTML.js +0 -32
  469. package/dist/resources/bundle.esm.js +0 -121
  470. package/dist/resources/bundle.esm.js.map +0 -1
  471. package/dist/test-resources/assets/Themes.js +0 -17
  472. package/dist/test-resources/elements/Child.js +0 -35
  473. package/dist/test-resources/elements/Generic.js +0 -84
  474. package/dist/test-resources/elements/GenericExt.js +0 -26
  475. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  476. package/dist/test-resources/elements/Parent.js +0 -41
  477. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  478. package/dist/test-resources/pages/AllTestElements.html +0 -39
  479. package/dist/test-resources/pages/Configuration.html +0 -18
  480. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  481. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  482. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  483. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  484. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  485. package/dist/test-resources/pages/i18n.html +0 -40
  486. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  487. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  488. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  489. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  490. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  491. package/dist/test-resources/specs/Theming.spec.js +0 -31
  492. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -240
  493. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
  494. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -73
  495. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  496. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  497. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  498. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  499. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  500. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  501. package/dist/types/CSSSize.js +0 -9
  502. package/dist/types/PopupState.js +0 -37
  503. package/dist/util/EffectiveAssetPath.js +0 -27
  504. package/dist/util/encodeCSS.js +0 -24
  505. package/dist/util/findNodeOwner.js +0 -35
  506. package/dist/util/isDescendantOf.js +0 -15
  507. package/dist/util/isNodeClickable.js +0 -19
  508. package/dist/util/isNodeHidden.js +0 -9
  509. package/dist/util/isNodeTabbable.js +0 -28
  510. package/dist/util/parseProperties.js +0 -89
  511. package/dist/util/setToArray.js +0 -10
  512. package/package-scripts.js +0 -46
  513. package/src/AssetRegistry.js +0 -12
  514. package/src/Boot.js +0 -48
  515. package/src/CustomElementsRegistry.js +0 -39
  516. package/src/DOMObserver.js +0 -61
  517. package/src/Device.js +0 -823
  518. package/src/EventProvider.js +0 -91
  519. package/src/FeaturesRegistry.js +0 -11
  520. package/src/FontFace.js +0 -118
  521. package/src/InitialConfiguration.js +0 -150
  522. package/src/Keys.js +0 -221
  523. package/src/Render.js +0 -174
  524. package/src/RenderQueue.js +0 -66
  525. package/src/RenderScheduler.js +0 -44
  526. package/src/SVGIconRegistry.js +0 -73
  527. package/src/StaticAreaItem.js +0 -80
  528. package/src/SystemCSSVars.js +0 -31
  529. package/src/UI5Element.js +0 -1032
  530. package/src/UI5ElementMetadata.js +0 -311
  531. package/src/animations/AnimationQueue.js +0 -42
  532. package/src/animations/animate.js +0 -53
  533. package/src/animations/config.js +0 -5
  534. package/src/animations/scroll.js +0 -28
  535. package/src/animations/slideDown.js +0 -79
  536. package/src/animations/slideUp.js +0 -71
  537. package/src/asset-registries/Icons.js +0 -32
  538. package/src/asset-registries/LocaleData.js +0 -135
  539. package/src/asset-registries/Themes.js +0 -88
  540. package/src/asset-registries/i18n.js +0 -110
  541. package/src/config/AnimationMode.js +0 -23
  542. package/src/config/AssetsPath.js +0 -17
  543. package/src/config/CalendarType.js +0 -18
  544. package/src/config/FormatSettings.js +0 -13
  545. package/src/config/Language.js +0 -68
  546. package/src/config/NoConflict.js +0 -51
  547. package/src/config/RTL.js +0 -31
  548. package/src/config/Theme.js +0 -28
  549. package/src/delegate/ItemNavigation.js +0 -293
  550. package/src/delegate/ResizeHandler.js +0 -106
  551. package/src/delegate/ScrollEnablement.js +0 -182
  552. package/src/features/OpenUI5Support.js +0 -90
  553. package/src/features/PropertiesFormatSupport.js +0 -8
  554. package/src/getSharedResource.js +0 -30
  555. package/src/i18nBundle.js +0 -52
  556. package/src/isLegacyBrowser.js +0 -3
  557. package/src/locale/Locale.js +0 -91
  558. package/src/locale/RTLAwareRegistry.js +0 -14
  559. package/src/locale/applyDirection.js +0 -17
  560. package/src/locale/directionChange.js +0 -32
  561. package/src/locale/getEffectiveDir.js +0 -28
  562. package/src/locale/getLocale.js +0 -41
  563. package/src/locale/languageChange.js +0 -22
  564. package/src/locale/nextFallbackLocale.js +0 -28
  565. package/src/locale/normalizeLocale.js +0 -54
  566. package/src/renderer/LitRenderer.js +0 -31
  567. package/src/renderer/executeTemplate.js +0 -17
  568. package/src/renderer/ifDefined.js +0 -21
  569. package/src/renderer/scopeHTML.js +0 -32
  570. package/src/theming/CustomStyle.js +0 -40
  571. package/src/theming/ThemeLoaded.js +0 -22
  572. package/src/theming/applyTheme.js +0 -78
  573. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  574. package/src/theming/getConstructableStyle.js +0 -30
  575. package/src/theming/getEffectiveStyle.js +0 -30
  576. package/src/theming/getStylesString.js +0 -13
  577. package/src/theming/getThemeDesignerTheme.js +0 -67
  578. package/src/thirdparty/_merge.js +0 -32
  579. package/src/thirdparty/isPlainObject.js +0 -18
  580. package/src/thirdparty/merge.js +0 -10
  581. package/src/types/AnimationMode.js +0 -7
  582. package/src/types/CSSSize.js +0 -9
  583. package/src/types/CalendarType.js +0 -22
  584. package/src/types/DataType.js +0 -25
  585. package/src/types/Float.js +0 -10
  586. package/src/types/Integer.js +0 -9
  587. package/src/types/ItemNavigationBehavior.js +0 -16
  588. package/src/types/NavigationMode.js +0 -7
  589. package/src/types/PopupState.js +0 -37
  590. package/src/types/ValueState.js +0 -22
  591. package/src/updateShadowRoot.js +0 -26
  592. package/src/util/AriaLabelHelper.js +0 -41
  593. package/src/util/Caret.js +0 -45
  594. package/src/util/EffectiveAssetPath.js +0 -27
  595. package/src/util/FetchHelper.js +0 -31
  596. package/src/util/FocusableElements.js +0 -73
  597. package/src/util/SlotsHelper.js +0 -43
  598. package/src/util/StringHelper.js +0 -26
  599. package/src/util/TabbableElements.js +0 -47
  600. package/src/util/arraysAreEqual.js +0 -15
  601. package/src/util/createStyleInHead.js +0 -18
  602. package/src/util/debounce.js +0 -17
  603. package/src/util/detectNavigatorLanguage.js +0 -13
  604. package/src/util/encodeCSS.js +0 -24
  605. package/src/util/findNodeOwner.js +0 -35
  606. package/src/util/formatMessage.js +0 -23
  607. package/src/util/getActiveElement.js +0 -11
  608. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  609. package/src/util/getEffectiveContentDensity.js +0 -5
  610. package/src/util/getSingletonElementInstance.js +0 -13
  611. package/src/util/isDescendantOf.js +0 -15
  612. package/src/util/isNodeClickable.js +0 -19
  613. package/src/util/isNodeHidden.js +0 -9
  614. package/src/util/isNodeTabbable.js +0 -28
  615. package/src/util/isValidPropertyName.js +0 -29
  616. package/src/util/parseProperties.js +0 -89
  617. package/src/util/setToArray.js +0 -10
  618. package/src/util/whenDOMReady.js +0 -13
  619. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,135 +0,0 @@
1
- import { fetchJsonOnce } from "../util/FetchHelper.js";
2
- import { attachLanguageChange } from "../locale/languageChange.js";
3
- import getLocale from "../locale/getLocale.js";
4
- import { getFeature } from "../FeaturesRegistry.js";
5
- import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from "../generated/AssetParameters.js";
6
- import { getEffectiveAssetPath } from "../util/EffectiveAssetPath.js";
7
-
8
- const resources = new Map();
9
- const cldrData = {};
10
- const cldrUrls = {};
11
-
12
- // externally configurable mapping function for resolving (localeId -> URL)
13
- // default implementation - ui5 CDN
14
- let cldrMappingFn = locale => `https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/${locale}.json`;
15
-
16
- const M_ISO639_OLD_TO_NEW = {
17
- "iw": "he",
18
- "ji": "yi",
19
- "in": "id",
20
- "sh": "sr",
21
- };
22
-
23
- const calcLocale = (language, region, script) => {
24
- // normalize language and handle special cases
25
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
26
- // Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
27
- if (language === "no") {
28
- language = "nb";
29
- }
30
- // Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
31
- if (language === "zh" && !region) {
32
- if (script === "Hans") {
33
- region = "CN";
34
- } else if (script === "Hant") {
35
- region = "TW";
36
- }
37
- }
38
-
39
- // try language + region
40
- let localeId = `${language}_${region}`;
41
- if (!SUPPORTED_LOCALES.includes(localeId)) {
42
- // fallback to language only
43
- localeId = language;
44
- }
45
- if (!SUPPORTED_LOCALES.includes(localeId)) {
46
- // fallback to english
47
- localeId = DEFAULT_LOCALE;
48
- }
49
-
50
- return localeId;
51
- };
52
-
53
-
54
- const resolveMissingMappings = () => {
55
- if (!cldrMappingFn) {
56
- return;
57
- }
58
-
59
- const missingLocales = SUPPORTED_LOCALES.filter(locale => !cldrData[locale] && !cldrUrls[locale]);
60
- missingLocales.forEach(locale => {
61
- cldrUrls[locale] = cldrMappingFn(locale);
62
- });
63
- };
64
-
65
- const registerModuleContent = (moduleName, content) => {
66
- resources.set(moduleName, content);
67
- };
68
-
69
- const getModuleContent = moduleName => {
70
- const moduleContent = resources.get(moduleName);
71
- if (moduleContent) {
72
- return moduleContent;
73
- }
74
-
75
- const missingModule = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
76
- if (missingModule) {
77
- throw new Error(`CLDR data for locale ${missingModule[1]} is not loaded!`);
78
- }
79
-
80
- throw new Error(`Unknown module ${moduleName}`);
81
- };
82
-
83
- const fetchCldr = async (language, region, script) => {
84
- resolveMissingMappings();
85
- const localeId = calcLocale(language, region, script);
86
-
87
- let cldrObj = cldrData[localeId];
88
- const url = cldrUrls[localeId];
89
-
90
- const OpenUI5Support = getFeature("OpenUI5Support");
91
- if (!cldrObj && OpenUI5Support) {
92
- cldrObj = OpenUI5Support.getLocaleDataObject();
93
- }
94
-
95
- if (cldrObj) {
96
- // inlined from build or fetched independently
97
- registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrObj);
98
- } else if (url) {
99
- // fetch it
100
- const cldrContent = await fetchJsonOnce(getEffectiveAssetPath(url));
101
- registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrContent);
102
- }
103
- };
104
-
105
- const registerCldr = (locale, url) => {
106
- cldrUrls[locale] = url;
107
- };
108
-
109
- const setCldrData = (locale, data) => {
110
- cldrData[locale] = data;
111
- };
112
-
113
- const getCldrData = locale => {
114
- return cldrData[locale];
115
- };
116
-
117
- const _registerMappingFunction = mappingFn => {
118
- cldrMappingFn = mappingFn;
119
- };
120
-
121
- // When the language changes dynamically (the user calls setLanguage),
122
- // re-fetch the required CDRD data.
123
- attachLanguageChange(() => {
124
- const locale = getLocale();
125
- return fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
126
- });
127
-
128
- export {
129
- fetchCldr,
130
- registerCldr,
131
- setCldrData,
132
- getCldrData,
133
- getModuleContent,
134
- _registerMappingFunction,
135
- };
@@ -1,88 +0,0 @@
1
- import { fetchJsonOnce, fetchTextOnce } from "../util/FetchHelper.js";
2
- import { DEFAULT_THEME } from "../generated/AssetParameters.js";
3
- import getFileExtension from "../util/getFileExtension.js";
4
- import { getEffectiveAssetPath } from "../util/EffectiveAssetPath.js";
5
-
6
- const themeURLs = new Map();
7
- const themeStyles = new Map();
8
- const registeredPackages = new Set();
9
- const registeredThemes = new Set();
10
-
11
- /**
12
- * Used to provide CSS Vars for a specific theme for a specific package.
13
- * The CSS Vars can be passed directly as a string (containing them), as an object with a "_" property(containing them in the "_" property), or as a URL.
14
- * This URL must point to a JSON file, containing a "_" property.
15
- *
16
- * Example usage:
17
- * 1) Pass the CSS Vars as a string directly.
18
- * registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
19
- * 2) Pass the CSS Vars as an object directly
20
- * registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
21
- * 3) Pass a URL to a CSS file, containing the CSS Vars. Will be fetched on demand, not upon registration.
22
- * registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.css");
23
- * 4) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
24
- * registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
25
- *
26
- * @public
27
- * @param packageName - the NPM package for which CSS Vars are registered
28
- * @param themeName - the theme which the CSS Vars implement
29
- * @param style - can be one of four options: a string, an object with a "_" property, URL to a CSS file, or URL to a JSON file with a "_" property
30
- */
31
- const registerThemeProperties = (packageName, themeName, style) => {
32
- if (style._) {
33
- // JSON object like ({"_": ":root"})
34
- themeStyles.set(`${packageName}_${themeName}`, style._);
35
- } else if (style.includes(":root") || style === "") {
36
- // pure string, including empty string
37
- themeStyles.set(`${packageName}_${themeName}`, style);
38
- } else {
39
- // url for fetching
40
- themeURLs.set(`${packageName}_${themeName}`, style);
41
- }
42
- registeredPackages.add(packageName);
43
- registeredThemes.add(themeName);
44
- };
45
-
46
- const getThemeProperties = async (packageName, themeName) => {
47
- const style = themeStyles.get(`${packageName}_${themeName}`);
48
- if (style !== undefined) { // it's valid for style to be an empty string
49
- return style;
50
- }
51
-
52
- if (!registeredThemes.has(themeName)) {
53
- const regThemesStr = [...registeredThemes.values()].join(", ");
54
- console.warn(`You have requested a non-registered theme - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
55
- return themeStyles.get(`${packageName}_${DEFAULT_THEME}`);
56
- }
57
-
58
- const data = await fetchThemeProperties(packageName, themeName);
59
- const themeProps = data._ || data;
60
-
61
- themeStyles.set(`${packageName}_${themeName}`, themeProps);
62
- return themeProps;
63
- };
64
-
65
- const fetchThemeProperties = async (packageName, themeName) => {
66
- const url = themeURLs.get(`${packageName}_${themeName}`);
67
-
68
- if (!url) {
69
- throw new Error(`You have to import the ${packageName}/dist/Assets.js module to switch to additional themes`);
70
- }
71
-
72
- return getFileExtension(url) === ".css" ? fetchTextOnce(url) : fetchJsonOnce(getEffectiveAssetPath(url));
73
- };
74
-
75
- const getRegisteredPackages = () => {
76
- return registeredPackages;
77
- };
78
-
79
- const isThemeRegistered = theme => {
80
- return registeredThemes.has(theme);
81
- };
82
-
83
- export {
84
- registerThemeProperties,
85
- getThemeProperties,
86
- getRegisteredPackages,
87
- isThemeRegistered,
88
- };
@@ -1,110 +0,0 @@
1
- import { getFeature } from "../FeaturesRegistry.js";
2
- import getLocale from "../locale/getLocale.js";
3
- import { attachLanguageChange } from "../locale/languageChange.js";
4
- import { fetchTextOnce } from "../util/FetchHelper.js";
5
- import normalizeLocale from "../locale/normalizeLocale.js";
6
- import nextFallbackLocale from "../locale/nextFallbackLocale.js";
7
- import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
8
- import { getEffectiveAssetPath } from "../util/EffectiveAssetPath.js";
9
- import { getUseDefaultLanguage } from "../config/Language.js";
10
-
11
- const bundleData = new Map();
12
- const bundleURLs = new Map();
13
-
14
- /**
15
- * Sets a map with texts and ID the are related to.
16
- * @param {string} packageName package ID that the i18n bundle will be related to
17
- * @param {Object} data an object with string locales as keys and text translataions as values
18
- * @public
19
- */
20
- const setI18nBundleData = (packageName, data) => {
21
- bundleData.set(packageName, data);
22
- };
23
-
24
- const getI18nBundleData = packageName => {
25
- return bundleData.get(packageName);
26
- };
27
-
28
- /**
29
- * Registers a map of locale/url information, to be used by the <code>fetchI18nBundle</code> method.
30
- * Note: In order to be able to register ".properties" files, you must import the following module:
31
- * import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";
32
- *
33
- * @param {string} packageName package ID that the i18n bundle will be related to
34
- * @param {Object} bundle an object with string locales as keys and the URLs (in .json or .properties format - see the note above) where the corresponding locale can be fetched from, f.e {"en": "path/en.json", ...}
35
- *
36
- * @public
37
- */
38
- const registerI18nBundle = (packageName, bundle) => {
39
- const oldBundle = bundleURLs.get(packageName) || {};
40
- bundleURLs.set(packageName, Object.assign({}, oldBundle, bundle));
41
- };
42
-
43
- /**
44
- * This method preforms the asynchronous task of fetching the actual text resources. It will fetch
45
- * each text resource over the network once (even for multiple calls to the same method).
46
- * It should be fully finished before the i18nBundle class is created in the webcomponents.
47
- * This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.
48
- * To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>
49
- * @param {packageName} packageName the NPM package name
50
- * @public
51
- */
52
- const fetchI18nBundle = async packageName => {
53
- const bundlesForPackage = bundleURLs.get(packageName);
54
-
55
- if (!bundlesForPackage) {
56
- console.warn(`Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
57
- ` You need to import ${packageName}/dist/Assets.js with a build tool that supports JSON imports.`); /* eslint-disable-line */
58
- return;
59
- }
60
-
61
- const language = getLocale().getLanguage();
62
- const region = getLocale().getRegion();
63
- const useDefaultLanguage = getUseDefaultLanguage();
64
- let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
65
-
66
- while (localeId !== DEFAULT_LANGUAGE && !bundlesForPackage[localeId]) {
67
- localeId = nextFallbackLocale(localeId);
68
- }
69
-
70
- if (useDefaultLanguage && localeId === DEFAULT_LANGUAGE) {
71
- setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
72
- return;
73
- }
74
-
75
- const bundleURL = bundlesForPackage[localeId];
76
-
77
- if (typeof bundleURL === "object") { // inlined from build
78
- setI18nBundleData(packageName, bundleURL);
79
- return;
80
- }
81
-
82
- const content = await fetchTextOnce(getEffectiveAssetPath(bundleURL));
83
- let parser;
84
- if (content.startsWith("{")) {
85
- parser = JSON.parse;
86
- } else {
87
- const PropertiesFormatSupport = getFeature("PropertiesFormatSupport");
88
- if (!PropertiesFormatSupport) {
89
- throw new Error(`In order to support .properties files, please: import "@ui5/webcomponents-base/dist/features/PropertiesFormatSupport.js";`);
90
- }
91
- parser = PropertiesFormatSupport.parser;
92
- }
93
-
94
- const data = parser(content);
95
-
96
- setI18nBundleData(packageName, data);
97
- };
98
-
99
- // When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
100
- attachLanguageChange(() => {
101
- const allPackages = [...bundleData.keys()];
102
- return Promise.all(allPackages.map(fetchI18nBundle));
103
- });
104
-
105
- export {
106
- fetchI18nBundle,
107
- registerI18nBundle,
108
- setI18nBundleData,
109
- getI18nBundleData,
110
- };
@@ -1,23 +0,0 @@
1
- import { getAnimationMode as getConfiguredAnimationMode } from "../InitialConfiguration.js";
2
- import AnimationMode from "../types/AnimationMode.js";
3
-
4
- let animationMode;
5
-
6
- const getAnimationMode = () => {
7
- if (animationMode === undefined) {
8
- animationMode = getConfiguredAnimationMode();
9
- }
10
-
11
- return animationMode;
12
- };
13
-
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,17 +0,0 @@
1
- import { getAssetsPath as getConfiguredAssetsPath } from "../InitialConfiguration.js";
2
-
3
- let assetsPath;
4
-
5
- const getAssetsPath = () => {
6
- if (assetsPath === undefined) {
7
- assetsPath = getConfiguredAssetsPath();
8
- }
9
-
10
- return assetsPath;
11
- };
12
-
13
- const setAssetsPath = newAssetsPath => {
14
- assetsPath = newAssetsPath;
15
- };
16
-
17
- export { getAssetsPath, setAssetsPath }; // eslint-disable-line
@@ -1,18 +0,0 @@
1
- import CalendarType from "../types/CalendarType.js";
2
- import { getCalendarType as getConfiguredCalendarType } from "../InitialConfiguration.js";
3
-
4
- let calendarType;
5
-
6
- const getCalendarType = () => {
7
- if (calendarType === undefined) {
8
- calendarType = getConfiguredCalendarType();
9
- }
10
-
11
- if (CalendarType.isValid(calendarType)) {
12
- return calendarType;
13
- }
14
-
15
- return CalendarType.Gregorian;
16
- };
17
-
18
- export { getCalendarType }; // eslint-disable-line
@@ -1,13 +0,0 @@
1
- import { getFormatSettings } from "../InitialConfiguration.js";
2
-
3
- let formatSettings;
4
-
5
- const getFirstDayOfWeek = () => {
6
- if (formatSettings === undefined) {
7
- formatSettings = getFormatSettings();
8
- }
9
-
10
- return formatSettings.firstDayOfWeek;
11
- };
12
-
13
- export { getFirstDayOfWeek }; // eslint-disable-line
@@ -1,68 +0,0 @@
1
- import {
2
- getLanguage as getConfiguredLanguage,
3
- getUseDefaultLanguage as getConfiguredUseDefaultLanguage,
4
- } from "../InitialConfiguration.js";
5
- import { fireLanguageChange } from "../locale/languageChange.js";
6
- import { reRenderAllUI5Elements } from "../Render.js";
7
-
8
- let language;
9
- let useDefaultLanguage;
10
-
11
- /**
12
- * Returns the currently configured language, or the browser language as a fallback
13
- * @returns {String}
14
- */
15
- const getLanguage = () => {
16
- if (language === undefined) {
17
- language = getConfiguredLanguage();
18
- }
19
- return language;
20
- };
21
-
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 used,
42
- * instead of fetching the language over the network.
43
- * <b>Note:</b> By default the language will be fetched.
44
- *
45
- * @param {Boolean} useDefaultLanguage
46
- */
47
- const setUseDefaultLanguage = useDefaultLang => {
48
- useDefaultLanguage = useDefaultLang;
49
- };
50
-
51
- /**
52
- * Returns if the default language, that is inlined, should be used.
53
- * @returns {Boolean}
54
- */
55
- const getUseDefaultLanguage = () => {
56
- if (useDefaultLanguage === undefined) {
57
- setUseDefaultLanguage(getConfiguredUseDefaultLanguage());
58
- }
59
-
60
- return useDefaultLanguage;
61
- };
62
-
63
- export {
64
- getLanguage,
65
- setLanguage,
66
- setUseDefaultLanguage,
67
- getUseDefaultLanguage,
68
- };
@@ -1,51 +0,0 @@
1
- import { getNoConflict as getConfiguredNoConflict } from "../InitialConfiguration.js";
2
-
3
- // Fire these events even with noConflict: true
4
- const excludeList = [
5
- "value-changed",
6
- ];
7
-
8
- const shouldFireOriginalEvent = eventName => {
9
- return excludeList.includes(eventName);
10
- };
11
-
12
- let noConflict;
13
-
14
- const shouldNotFireOriginalEvent = eventName => {
15
- const nc = getNoConflict();
16
- return !(nc.events && nc.events.includes && nc.events.includes(eventName));
17
- };
18
-
19
- const getNoConflict = () => {
20
- if (noConflict === undefined) {
21
- noConflict = getConfiguredNoConflict();
22
- }
23
-
24
- return noConflict;
25
- };
26
-
27
- const skipOriginalEvent = eventName => {
28
- const nc = getNoConflict();
29
-
30
- // Always fire these events
31
- if (shouldFireOriginalEvent(eventName)) {
32
- return false;
33
- }
34
-
35
- // Read from the configuration
36
- if (nc === true) {
37
- return true;
38
- }
39
-
40
- return !shouldNotFireOriginalEvent(eventName);
41
- };
42
-
43
- const setNoConflict = noConflictData => {
44
- noConflict = noConflictData;
45
- };
46
-
47
- export {
48
- getNoConflict,
49
- setNoConflict,
50
- skipOriginalEvent,
51
- };
package/src/config/RTL.js DELETED
@@ -1,31 +0,0 @@
1
- import { getRTL as getConfiguredRTL } from "../InitialConfiguration.js";
2
- import { getLanguage } from "./Language.js";
3
- import getDesigntimePropertyAsArray from "../util/getDesigntimePropertyAsArray.js";
4
- import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
5
-
6
- const M_ISO639_OLD_TO_NEW = {
7
- "iw": "he",
8
- "ji": "yi",
9
- "in": "id",
10
- "sh": "sr",
11
- };
12
-
13
- const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
14
-
15
- const impliesRTL = language => {
16
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
17
-
18
- return A_RTL_LOCALES.indexOf(language) >= 0;
19
- };
20
-
21
- const getRTL = () => {
22
- const configurationRTL = getConfiguredRTL();
23
-
24
- if (configurationRTL !== null) {
25
- return !!configurationRTL;
26
- }
27
-
28
- return impliesRTL(getLanguage() || detectNavigatorLanguage());
29
- };
30
-
31
- export { getRTL }; // eslint-disable-line
@@ -1,28 +0,0 @@
1
- import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
- import applyTheme from "../theming/applyTheme.js";
3
-
4
- let theme;
5
-
6
- const getTheme = () => {
7
- if (theme === undefined) {
8
- theme = getConfiguredTheme();
9
- }
10
-
11
- return theme;
12
- };
13
-
14
- const setTheme = async newTheme => {
15
- if (theme === newTheme) {
16
- return;
17
- }
18
-
19
- theme = newTheme;
20
-
21
- // Update CSS Custom Properties
22
- await applyTheme(theme);
23
- };
24
-
25
- export {
26
- getTheme,
27
- setTheme,
28
- };