@ui5/webcomponents-base 0.0.0-b053ad005 → 0.0.0-b0b835975

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 (630) hide show
  1. package/.eslintignore +7 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +813 -0
  4. package/README.md +32 -6
  5. package/bundle.esm.js +20 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -28
  12. package/dist/Boot.js.map +1 -0
  13. package/{src/CSP.js → dist/CSP.d.ts} +8 -37
  14. package/dist/CSP.js +16 -24
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +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 +62 -0
  23. package/dist/CustomElementsScopeUtils.js +102 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +13 -0
  29. package/dist/Device.js +157 -89
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -82
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +14 -19
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +28 -0
  44. package/dist/InitialConfiguration.js +126 -131
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +61 -0
  47. package/dist/Keys.js +178 -244
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +63 -68
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +54 -65
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +72 -82
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +81 -113
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +52 -62
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +5 -1
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +88 -84
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +4 -5
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  80. package/dist/Theming.js +1 -1
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +927 -980
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -306
  87. package/dist/UI5ElementMetadata.js.map +1 -0
  88. package/dist/animations/AnimationQueue.d.ts +8 -0
  89. package/dist/animations/AnimationQueue.js +31 -38
  90. package/dist/animations/AnimationQueue.js.map +1 -0
  91. package/dist/animations/animate.d.ts +14 -0
  92. package/dist/animations/animate.js +46 -51
  93. package/dist/animations/animate.js.map +1 -0
  94. package/dist/animations/scroll.d.ts +5 -0
  95. package/dist/animations/scroll.js +18 -27
  96. package/dist/animations/scroll.js.map +1 -0
  97. package/dist/animations/slideDown.d.ts +5 -0
  98. package/dist/animations/slideDown.js +53 -78
  99. package/dist/animations/slideDown.js.map +1 -0
  100. package/dist/animations/slideUp.d.ts +5 -0
  101. package/dist/animations/slideUp.js +49 -70
  102. package/dist/animations/slideUp.js.map +1 -0
  103. package/dist/api.json +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -123
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +80 -25
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -127
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +40 -66
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +61 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/assets/Boot-34b7cea0.css +1 -0
  129. package/dist/assets/Boot-a6333fde.js +9 -0
  130. package/dist/assets/bundle.esm-c305a65f.js +50 -0
  131. package/dist/config/AnimationMode.d.ts +14 -0
  132. package/dist/config/AnimationMode.js +21 -18
  133. package/dist/config/AnimationMode.js.map +1 -0
  134. package/dist/config/CalendarType.d.ts +15 -0
  135. package/dist/config/CalendarType.js +31 -14
  136. package/dist/config/CalendarType.js.map +1 -0
  137. package/dist/config/FormatSettings.d.ts +15 -0
  138. package/dist/config/FormatSettings.js +15 -9
  139. package/dist/config/FormatSettings.js.map +1 -0
  140. package/dist/config/Icons.d.ts +40 -0
  141. package/dist/config/Icons.js +44 -0
  142. package/dist/config/Icons.js.map +1 -0
  143. package/dist/config/Language.d.ts +40 -0
  144. package/dist/config/Language.js +43 -43
  145. package/dist/config/Language.js.map +1 -0
  146. package/dist/config/NoConflict.d.ts +20 -0
  147. package/dist/config/NoConflict.js +41 -41
  148. package/dist/config/NoConflict.js.map +1 -0
  149. package/dist/config/RTL.d.ts +7 -0
  150. package/dist/config/RTL.js +26 -20
  151. package/dist/config/RTL.js.map +1 -0
  152. package/dist/config/Theme.d.ts +38 -0
  153. package/dist/config/Theme.js +57 -29
  154. package/dist/config/Theme.js.map +1 -0
  155. package/dist/config/ThemeRoot.d.ts +29 -0
  156. package/dist/config/ThemeRoot.js +59 -0
  157. package/dist/config/ThemeRoot.js.map +1 -0
  158. package/dist/config/Timezone.d.ts +17 -0
  159. package/dist/config/Timezone.js +30 -0
  160. package/dist/config/Timezone.js.map +1 -0
  161. package/dist/connectToComponent.d.ts +9 -0
  162. package/dist/connectToComponent.js +59 -0
  163. package/dist/connectToComponent.js.map +1 -0
  164. package/dist/css/BusyIndicator.css +80 -0
  165. package/dist/css/FontFace.css +54 -15
  166. package/dist/decorators/customElement.d.ts +23 -0
  167. package/dist/decorators/customElement.js +37 -0
  168. package/dist/decorators/customElement.js.map +1 -0
  169. package/dist/decorators/event.d.ts +10 -0
  170. package/dist/decorators/event.js +24 -0
  171. package/dist/decorators/event.js.map +1 -0
  172. package/dist/decorators/property.d.ts +9 -0
  173. package/dist/decorators/property.js +24 -0
  174. package/dist/decorators/property.js.map +1 -0
  175. package/dist/decorators/slot.d.ts +9 -0
  176. package/dist/decorators/slot.js +37 -0
  177. package/dist/decorators/slot.js.map +1 -0
  178. package/dist/delegate/ItemNavigation.d.ts +113 -0
  179. package/dist/delegate/ItemNavigation.js +277 -312
  180. package/dist/delegate/ItemNavigation.js.map +1 -0
  181. package/dist/delegate/ResizeHandler.d.ts +25 -0
  182. package/dist/delegate/ResizeHandler.js +72 -91
  183. package/dist/delegate/ResizeHandler.js.map +1 -0
  184. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  185. package/dist/delegate/ScrollEnablement.js +157 -180
  186. package/dist/delegate/ScrollEnablement.js.map +1 -0
  187. package/dist/features/F6Navigation.d.ts +19 -0
  188. package/dist/features/F6Navigation.js +151 -0
  189. package/dist/features/F6Navigation.js.map +1 -0
  190. package/dist/features/LegacyDateFormats.d.ts +18 -0
  191. package/dist/features/LegacyDateFormats.js +20 -0
  192. package/dist/features/LegacyDateFormats.js.map +1 -0
  193. package/dist/features/OpenUI5Element.d.ts +9 -0
  194. package/dist/features/OpenUI5Element.js +5 -0
  195. package/dist/features/OpenUI5Element.js.map +1 -0
  196. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  197. package/dist/features/OpenUI5Enablement.js +96 -0
  198. package/dist/features/OpenUI5Enablement.js.map +1 -0
  199. package/dist/features/OpenUI5Support.d.ts +36 -0
  200. package/dist/features/OpenUI5Support.js +150 -121
  201. package/dist/features/OpenUI5Support.js.map +1 -0
  202. package/dist/generated/AssetParameters.js +3 -1
  203. package/dist/generated/VersionInfo.js +10 -0
  204. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  205. package/dist/generated/css/BusyIndicator.css.js +7 -0
  206. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  207. package/dist/generated/css/FontFace.css.d.ts +3 -0
  208. package/dist/generated/css/FontFace.css.js +7 -5
  209. package/dist/generated/css/FontFace.css.js.map +1 -0
  210. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  211. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  212. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  213. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  214. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  215. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  216. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  217. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  219. package/dist/getSharedResource.d.ts +11 -0
  220. package/dist/getSharedResource.js +28 -18
  221. package/dist/getSharedResource.js.map +1 -0
  222. package/dist/global.d.ts +40 -0
  223. package/dist/i18nBundle.d.ts +43 -0
  224. package/dist/i18nBundle.js +57 -64
  225. package/dist/i18nBundle.js.map +1 -0
  226. package/dist/locale/Locale.d.ts +22 -0
  227. package/dist/locale/Locale.js +75 -87
  228. package/dist/locale/Locale.js.map +1 -0
  229. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  230. package/dist/locale/RTLAwareRegistry.js +6 -11
  231. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  232. package/dist/locale/applyDirection.d.ts +10 -0
  233. package/dist/locale/applyDirection.js +7 -7
  234. package/dist/locale/applyDirection.js.map +1 -0
  235. package/dist/locale/directionChange.d.ts +15 -0
  236. package/dist/locale/directionChange.js +7 -15
  237. package/dist/locale/directionChange.js.map +1 -0
  238. package/dist/locale/getEffectiveDir.d.ts +2 -0
  239. package/dist/locale/getEffectiveDir.js +20 -24
  240. package/dist/locale/getEffectiveDir.js.map +1 -0
  241. package/dist/locale/getLocale.d.ts +7 -0
  242. package/dist/locale/getLocale.js +26 -29
  243. package/dist/locale/getLocale.js.map +1 -0
  244. package/dist/locale/languageChange.d.ts +5 -0
  245. package/dist/locale/languageChange.js +8 -16
  246. package/dist/locale/languageChange.js.map +1 -0
  247. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  248. package/dist/locale/nextFallbackLocale.js +15 -19
  249. package/dist/locale/nextFallbackLocale.js.map +1 -0
  250. package/dist/locale/normalizeLocale.d.ts +7 -0
  251. package/dist/locale/normalizeLocale.js +34 -41
  252. package/dist/locale/normalizeLocale.js.map +1 -0
  253. package/dist/renderer/LitRenderer.d.ts +14 -0
  254. package/dist/renderer/LitRenderer.js +31 -24
  255. package/dist/renderer/LitRenderer.js.map +1 -0
  256. package/dist/renderer/executeTemplate.d.ts +13 -0
  257. package/dist/renderer/executeTemplate.js +20 -7
  258. package/dist/renderer/executeTemplate.js.map +1 -0
  259. package/dist/sap/base/Log.js +28 -29
  260. package/dist/sap/base/assert.js +5 -6
  261. package/dist/sap/base/security/URLListValidator.js +13 -2
  262. package/dist/sap/base/security/encodeCSS.js +14 -0
  263. package/dist/sap/base/security/encodeXML.js +23 -0
  264. package/dist/sap/base/strings/toHex.js +8 -0
  265. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  266. package/dist/theming/CustomStyle.d.ts +6 -0
  267. package/dist/theming/CustomStyle.js +39 -31
  268. package/dist/theming/CustomStyle.js.map +1 -0
  269. package/dist/theming/ThemeLoaded.d.ts +5 -0
  270. package/dist/theming/ThemeLoaded.js +8 -16
  271. package/dist/theming/ThemeLoaded.js.map +1 -0
  272. package/dist/theming/ThemeRegistered.d.ts +4 -0
  273. package/dist/theming/ThemeRegistered.js +11 -0
  274. package/dist/theming/ThemeRegistered.js.map +1 -0
  275. package/dist/theming/applyTheme.d.ts +2 -0
  276. package/dist/theming/applyTheme.js +61 -60
  277. package/dist/theming/applyTheme.js.map +1 -0
  278. package/dist/theming/getConstructableStyle.d.ts +9 -0
  279. package/dist/theming/getConstructableStyle.js +12 -17
  280. package/dist/theming/getConstructableStyle.js.map +1 -0
  281. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  282. package/dist/theming/getEffectiveLinksHrefs.js +13 -16
  283. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  284. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  285. package/dist/theming/getEffectiveStyle.js +25 -23
  286. package/dist/theming/getEffectiveStyle.js.map +1 -0
  287. package/dist/theming/getStylesString.d.ts +3 -0
  288. package/dist/theming/getStylesString.js +9 -13
  289. package/dist/theming/getStylesString.js.map +1 -0
  290. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  291. package/dist/theming/getThemeDesignerTheme.js +73 -61
  292. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  293. package/dist/theming/preloadLinks.d.ts +3 -0
  294. package/dist/theming/preloadLinks.js +13 -17
  295. package/dist/theming/preloadLinks.js.map +1 -0
  296. package/dist/thirdparty/_merge.d.ts +2 -0
  297. package/dist/thirdparty/_merge.js +7 -4
  298. package/dist/thirdparty/_merge.js.map +1 -0
  299. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  300. package/dist/thirdparty/isPlainObject.js +11 -10
  301. package/dist/thirdparty/isPlainObject.js.map +1 -0
  302. package/dist/thirdparty/merge.d.ts +2 -0
  303. package/dist/thirdparty/merge.js +4 -8
  304. package/dist/thirdparty/merge.js.map +1 -0
  305. package/dist/types/AnimationMode.d.ts +32 -0
  306. package/dist/types/AnimationMode.js +33 -6
  307. package/dist/types/AnimationMode.js.map +1 -0
  308. package/dist/types/CSSColor.d.ts +15 -0
  309. package/dist/types/CSSColor.js +14 -5
  310. package/dist/types/CSSColor.js.map +1 -0
  311. package/dist/types/CSSSize.d.ts +15 -0
  312. package/dist/types/CSSSize.js +14 -5
  313. package/dist/types/CSSSize.js.map +1 -0
  314. package/dist/types/CalendarType.d.ts +37 -0
  315. package/dist/types/CalendarType.js +35 -18
  316. package/dist/types/CalendarType.js.map +1 -0
  317. package/dist/types/DOMReference.d.ts +17 -0
  318. package/dist/types/DOMReference.js +25 -0
  319. package/dist/types/DOMReference.js.map +1 -0
  320. package/dist/types/DataType.d.ts +25 -0
  321. package/dist/types/DataType.js +33 -26
  322. package/dist/types/DataType.js.map +1 -0
  323. package/dist/types/Float.d.ts +17 -0
  324. package/dist/types/Float.js +17 -10
  325. package/dist/types/Float.js.map +1 -0
  326. package/dist/types/Integer.d.ts +17 -0
  327. package/dist/types/Integer.js +17 -9
  328. package/dist/types/Integer.js.map +1 -0
  329. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  330. package/dist/types/InvisibleMessageMode.js +20 -23
  331. package/dist/types/InvisibleMessageMode.js.map +1 -0
  332. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  333. package/dist/types/ItemNavigationBehavior.js +22 -12
  334. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  335. package/dist/types/NavigationMode.d.ts +32 -0
  336. package/dist/types/NavigationMode.js +33 -6
  337. package/dist/types/NavigationMode.js.map +1 -0
  338. package/dist/types/ValueState.d.ts +42 -0
  339. package/dist/types/ValueState.js +41 -19
  340. package/dist/types/ValueState.js.map +1 -0
  341. package/dist/types.d.ts +18 -0
  342. package/dist/types.js +2 -0
  343. package/dist/types.js.map +1 -0
  344. package/dist/updateShadowRoot.d.ts +8 -0
  345. package/dist/updateShadowRoot.js +30 -18
  346. package/dist/updateShadowRoot.js.map +1 -0
  347. package/dist/util/AriaLabelHelper.d.ts +15 -0
  348. package/dist/util/AriaLabelHelper.js +166 -36
  349. package/dist/util/AriaLabelHelper.js.map +1 -0
  350. package/dist/util/Caret.d.ts +7 -0
  351. package/dist/util/Caret.js +16 -38
  352. package/dist/util/Caret.js.map +1 -0
  353. package/dist/util/ColorConversion.d.ts +30 -0
  354. package/dist/util/ColorConversion.js +315 -348
  355. package/dist/util/ColorConversion.js.map +1 -0
  356. package/dist/util/FetchHelper.d.ts +3 -0
  357. package/dist/util/FetchHelper.js +19 -25
  358. package/dist/util/FetchHelper.js.map +1 -0
  359. package/dist/util/FocusableElements.d.ts +4 -0
  360. package/dist/util/FocusableElements.js +67 -72
  361. package/dist/util/FocusableElements.js.map +1 -0
  362. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  363. package/dist/util/HTMLSanitizer.js +4 -5
  364. package/dist/util/HTMLSanitizer.js.map +1 -0
  365. package/dist/util/InvisibleMessage.d.ts +10 -0
  366. package/dist/util/InvisibleMessage.js +42 -44
  367. package/dist/util/InvisibleMessage.js.map +1 -0
  368. package/dist/util/PopupUtils.d.ts +7 -0
  369. package/dist/util/PopupUtils.js +58 -77
  370. package/dist/util/PopupUtils.js.map +1 -0
  371. package/dist/util/SlotsHelper.d.ts +9 -0
  372. package/dist/util/SlotsHelper.js +22 -35
  373. package/dist/util/SlotsHelper.js.map +1 -0
  374. package/dist/util/StringHelper.d.ts +3 -0
  375. package/dist/util/StringHelper.js +17 -20
  376. package/dist/util/StringHelper.js.map +1 -0
  377. package/dist/util/TabbableElements.d.ts +17 -0
  378. package/dist/util/TabbableElements.js +53 -43
  379. package/dist/util/TabbableElements.js.map +1 -0
  380. package/dist/util/arraysAreEqual.d.ts +2 -0
  381. package/dist/util/arraysAreEqual.js +10 -12
  382. package/dist/util/arraysAreEqual.js.map +1 -0
  383. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  384. package/dist/util/clamp.js +2 -2
  385. package/dist/util/clamp.js.map +1 -0
  386. package/dist/util/createLinkInHead.d.ts +7 -0
  387. package/dist/util/createLinkInHead.js +14 -12
  388. package/dist/util/createLinkInHead.js.map +1 -0
  389. package/dist/util/createStyleInHead.d.ts +8 -0
  390. package/dist/util/createStyleInHead.js +10 -10
  391. package/dist/util/createStyleInHead.js.map +1 -0
  392. package/dist/util/debounce.d.ts +2 -0
  393. package/dist/util/debounce.js +6 -8
  394. package/dist/util/debounce.js.map +1 -0
  395. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  396. package/dist/util/detectNavigatorLanguage.js +7 -10
  397. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  398. package/dist/util/escapeRegex.d.ts +8 -0
  399. package/dist/util/escapeRegex.js +11 -0
  400. package/dist/util/escapeRegex.js.map +1 -0
  401. package/dist/util/formatMessage.d.ts +2 -0
  402. package/dist/util/formatMessage.js +15 -19
  403. package/dist/util/formatMessage.js.map +1 -0
  404. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  405. package/dist/util/generateHighlightedMarkup.js +41 -0
  406. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  407. package/dist/util/getActiveElement.d.ts +2 -0
  408. package/dist/util/getActiveElement.js +6 -8
  409. package/dist/util/getActiveElement.js.map +1 -0
  410. package/dist/util/getClassCopy.d.ts +400 -0
  411. package/dist/util/getClassCopy.js +7 -7
  412. package/dist/util/getClassCopy.js.map +1 -0
  413. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  414. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  415. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  416. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  417. package/dist/util/getEffectiveContentDensity.js +2 -3
  418. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  419. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  420. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  421. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  422. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  423. package/dist/util/getFastNavigationGroups.js +51 -0
  424. package/dist/util/getFastNavigationGroups.js.map +1 -0
  425. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  426. package/dist/util/getFileExtension.js +9 -11
  427. package/dist/util/getFileExtension.js.map +1 -0
  428. package/dist/util/getNormalizedTarget.d.ts +7 -0
  429. package/dist/util/getNormalizedTarget.js +14 -0
  430. package/dist/util/getNormalizedTarget.js.map +1 -0
  431. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  432. package/dist/util/getSingletonElementInstance.js +17 -11
  433. package/dist/util/getSingletonElementInstance.js.map +1 -0
  434. package/dist/util/isElementClickable.d.ts +2 -0
  435. package/dist/util/isElementClickable.js +16 -0
  436. package/dist/util/isElementClickable.js.map +1 -0
  437. package/dist/util/isElementHidden.d.ts +2 -0
  438. package/dist/util/isElementHidden.js +8 -0
  439. package/dist/util/isElementHidden.js.map +1 -0
  440. package/dist/util/isElementInView.d.ts +6 -0
  441. package/dist/util/isElementInView.js +6 -9
  442. package/dist/util/isElementInView.js.map +1 -0
  443. package/dist/util/isElementTabbable.d.ts +9 -0
  444. package/dist/util/isElementTabbable.js +30 -0
  445. package/dist/util/isElementTabbable.js.map +1 -0
  446. package/dist/util/isValidPropertyName.d.ts +8 -0
  447. package/dist/util/isValidPropertyName.js +16 -17
  448. package/dist/util/isValidPropertyName.js.map +1 -0
  449. package/dist/util/whenDOMReady.d.ts +2 -0
  450. package/dist/util/whenDOMReady.js +11 -10
  451. package/dist/util/whenDOMReady.js.map +1 -0
  452. package/dist/util/willShowContent.d.ts +2 -0
  453. package/dist/util/willShowContent.js +7 -0
  454. package/dist/util/willShowContent.js.map +1 -0
  455. package/dist/validateThemeRoot.d.ts +2 -0
  456. package/dist/validateThemeRoot.js +48 -0
  457. package/dist/validateThemeRoot.js.map +1 -0
  458. package/index.js +227 -1
  459. package/lib/generate-asset-parameters/index.js +11 -5
  460. package/lib/generate-styles/index.js +26 -13
  461. package/lib/generate-version-info/index.js +32 -0
  462. package/package-scripts.cjs +71 -0
  463. package/package.json +8 -6
  464. package/src/css/BusyIndicator.css +80 -0
  465. package/src/css/FontFace.css +54 -15
  466. package/tsconfig.json +14 -0
  467. package/used-modules.txt +4 -1
  468. package/config/rollup.config.js +0 -1
  469. package/config/wdio.conf.js +0 -1
  470. package/dist/RenderScheduler.js +0 -44
  471. package/dist/animations/config.js +0 -5
  472. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  473. package/dist/isLegacyBrowser.js +0 -3
  474. package/dist/resources/bundle.esm.js +0 -37
  475. package/dist/resources/bundle.esm.js.map +0 -1
  476. package/dist/test-resources/assets/Themes.js +0 -17
  477. package/dist/test-resources/elements/Child.js +0 -35
  478. package/dist/test-resources/elements/Generic.js +0 -84
  479. package/dist/test-resources/elements/GenericExt.js +0 -26
  480. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  481. package/dist/test-resources/elements/Parent.js +0 -41
  482. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  483. package/dist/test-resources/pages/AllTestElements.html +0 -42
  484. package/dist/test-resources/pages/Configuration.html +0 -18
  485. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  486. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  487. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  488. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  489. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  490. package/dist/test-resources/pages/i18n.html +0 -33
  491. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  492. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  493. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  494. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  495. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  496. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  497. package/dist/test-resources/specs/Theming.spec.js +0 -33
  498. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  499. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  500. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  501. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  502. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  503. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  504. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  505. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  506. package/dist/types/PopupState.js +0 -37
  507. package/dist/util/encodeCSS.js +0 -24
  508. package/dist/util/findNodeOwner.js +0 -35
  509. package/dist/util/isDescendantOf.js +0 -15
  510. package/dist/util/isNodeClickable.js +0 -19
  511. package/dist/util/isNodeHidden.js +0 -9
  512. package/dist/util/isNodeTabbable.js +0 -28
  513. package/dist/util/setToArray.js +0 -10
  514. package/hash.txt +0 -1
  515. package/package-scripts.js +0 -65
  516. package/src/Boot.js +0 -43
  517. package/src/CustomElementsRegistry.js +0 -39
  518. package/src/CustomElementsScope.js +0 -108
  519. package/src/DOMObserver.js +0 -65
  520. package/src/Device.js +0 -107
  521. package/src/EventProvider.js +0 -85
  522. package/src/FeaturesRegistry.js +0 -11
  523. package/src/FontFace.js +0 -30
  524. package/src/InitialConfiguration.js +0 -166
  525. package/src/Keys.js +0 -248
  526. package/src/ManagedStyles.js +0 -83
  527. package/src/MediaRange.js +0 -109
  528. package/src/PropertiesFileFormat.js +0 -95
  529. package/src/Render.js +0 -175
  530. package/src/RenderQueue.js +0 -66
  531. package/src/RenderScheduler.js +0 -44
  532. package/src/StaticArea.js +0 -3
  533. package/src/StaticAreaItem.js +0 -98
  534. package/src/SystemCSSVars.js +0 -10
  535. package/src/UI5Element.js +0 -1018
  536. package/src/UI5ElementMetadata.js +0 -319
  537. package/src/animations/AnimationQueue.js +0 -42
  538. package/src/animations/animate.js +0 -53
  539. package/src/animations/config.js +0 -5
  540. package/src/animations/scroll.js +0 -28
  541. package/src/animations/slideDown.js +0 -79
  542. package/src/animations/slideUp.js +0 -71
  543. package/src/asset-registries/Icons.js +0 -139
  544. package/src/asset-registries/Illustrations.js +0 -30
  545. package/src/asset-registries/LocaleData.js +0 -159
  546. package/src/asset-registries/Themes.js +0 -78
  547. package/src/asset-registries/i18n.js +0 -121
  548. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  549. package/src/config/AnimationMode.js +0 -23
  550. package/src/config/CalendarType.js +0 -18
  551. package/src/config/FormatSettings.js +0 -13
  552. package/src/config/Language.js +0 -68
  553. package/src/config/NoConflict.js +0 -51
  554. package/src/config/RTL.js +0 -31
  555. package/src/config/Theme.js +0 -42
  556. package/src/delegate/ItemNavigation.js +0 -351
  557. package/src/delegate/ResizeHandler.js +0 -106
  558. package/src/delegate/ScrollEnablement.js +0 -188
  559. package/src/features/OpenUI5Support.js +0 -125
  560. package/src/getSharedResource.js +0 -30
  561. package/src/i18nBundle.js +0 -86
  562. package/src/isLegacyBrowser.js +0 -3
  563. package/src/locale/Locale.js +0 -91
  564. package/src/locale/RTLAwareRegistry.js +0 -14
  565. package/src/locale/applyDirection.js +0 -17
  566. package/src/locale/directionChange.js +0 -32
  567. package/src/locale/getEffectiveDir.js +0 -28
  568. package/src/locale/getLocale.js +0 -41
  569. package/src/locale/languageChange.js +0 -22
  570. package/src/locale/nextFallbackLocale.js +0 -28
  571. package/src/locale/normalizeLocale.js +0 -54
  572. package/src/renderer/LitRenderer.js +0 -34
  573. package/src/renderer/executeTemplate.js +0 -17
  574. package/src/theming/CustomStyle.js +0 -40
  575. package/src/theming/ThemeLoaded.js +0 -22
  576. package/src/theming/applyTheme.js +0 -75
  577. package/src/theming/getConstructableStyle.js +0 -30
  578. package/src/theming/getEffectiveLinksHrefs.js +0 -20
  579. package/src/theming/getEffectiveStyle.js +0 -30
  580. package/src/theming/getStylesString.js +0 -15
  581. package/src/theming/getThemeDesignerTheme.js +0 -68
  582. package/src/theming/preloadLinks.js +0 -23
  583. package/src/thirdparty/_merge.js +0 -32
  584. package/src/thirdparty/isPlainObject.js +0 -18
  585. package/src/thirdparty/merge.js +0 -10
  586. package/src/types/AnimationMode.js +0 -7
  587. package/src/types/CSSColor.js +0 -9
  588. package/src/types/CSSSize.js +0 -9
  589. package/src/types/CalendarType.js +0 -22
  590. package/src/types/DataType.js +0 -37
  591. package/src/types/Float.js +0 -14
  592. package/src/types/Integer.js +0 -13
  593. package/src/types/InvisibleMessageMode.js +0 -30
  594. package/src/types/ItemNavigationBehavior.js +0 -16
  595. package/src/types/NavigationMode.js +0 -7
  596. package/src/types/PopupState.js +0 -37
  597. package/src/types/ValueState.js +0 -22
  598. package/src/updateShadowRoot.js +0 -30
  599. package/src/util/AriaLabelHelper.js +0 -41
  600. package/src/util/Caret.js +0 -45
  601. package/src/util/ColorConversion.js +0 -370
  602. package/src/util/FetchHelper.js +0 -31
  603. package/src/util/FocusableElements.js +0 -77
  604. package/src/util/InvisibleMessage.js +0 -58
  605. package/src/util/PopupUtils.js +0 -93
  606. package/src/util/SlotsHelper.js +0 -43
  607. package/src/util/StringHelper.js +0 -26
  608. package/src/util/TabbableElements.js +0 -47
  609. package/src/util/arraysAreEqual.js +0 -15
  610. package/src/util/createLinkInHead.js +0 -19
  611. package/src/util/createStyleInHead.js +0 -18
  612. package/src/util/debounce.js +0 -17
  613. package/src/util/detectNavigatorLanguage.js +0 -13
  614. package/src/util/encodeCSS.js +0 -24
  615. package/src/util/findNodeOwner.js +0 -35
  616. package/src/util/formatMessage.js +0 -23
  617. package/src/util/getActiveElement.js +0 -11
  618. package/src/util/getClassCopy.js +0 -10
  619. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  620. package/src/util/getEffectiveContentDensity.js +0 -5
  621. package/src/util/getSingletonElementInstance.js +0 -13
  622. package/src/util/isDescendantOf.js +0 -15
  623. package/src/util/isElementInView.js +0 -15
  624. package/src/util/isNodeClickable.js +0 -19
  625. package/src/util/isNodeHidden.js +0 -9
  626. package/src/util/isNodeTabbable.js +0 -28
  627. package/src/util/isValidPropertyName.js +0 -29
  628. package/src/util/setToArray.js +0 -10
  629. package/src/util/whenDOMReady.js +0 -13
  630. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,15 @@
1
+ import LegacyDateFormats from "../features/LegacyDateFormats.js";
2
+ import type { LegacyDateCalendarCustomizing } from "../features/LegacyDateFormats.js";
3
+ type FormatSettings = {
4
+ firstDayOfWeek?: number;
5
+ legacyDateCalendarCustomizing?: LegacyDateCalendarCustomizing;
6
+ };
7
+ /**
8
+ * Returns the first day of the week from the configured format settings or based on the current locale.
9
+ * @public
10
+ * @returns {Number} 0 (Sunday) through 6 (Saturday)
11
+ */
12
+ declare const getFirstDayOfWeek: () => number | undefined;
13
+ declare const getLegacyDateCalendarCustomizing: typeof LegacyDateFormats.getLegacyDateCalendarCustomizing;
14
+ export { getFirstDayOfWeek, getLegacyDateCalendarCustomizing, };
15
+ export type { FormatSettings };
@@ -1,13 +1,19 @@
1
+ import LegacyDateFormats from "../features/LegacyDateFormats.js";
1
2
  import { getFormatSettings } from "../InitialConfiguration.js";
2
-
3
+ import { getFeature } from "../FeaturesRegistry.js";
3
4
  let formatSettings;
4
-
5
+ /**
6
+ * Returns the first day of the week from the configured format settings or based on the current locale.
7
+ * @public
8
+ * @returns {Number} 0 (Sunday) through 6 (Saturday)
9
+ */
5
10
  const getFirstDayOfWeek = () => {
6
- if (formatSettings === undefined) {
7
- formatSettings = getFormatSettings();
8
- }
9
-
10
- return formatSettings.firstDayOfWeek;
11
+ if (formatSettings === undefined) {
12
+ formatSettings = getFormatSettings();
13
+ }
14
+ return formatSettings.firstDayOfWeek;
11
15
  };
12
-
13
- export { getFirstDayOfWeek }; // eslint-disable-line
16
+ const legacyDateFormats = getFeature("LegacyDateFormats");
17
+ const getLegacyDateCalendarCustomizing = legacyDateFormats ? LegacyDateFormats.getLegacyDateCalendarCustomizing : () => { return []; };
18
+ export { getFirstDayOfWeek, getLegacyDateCalendarCustomizing, };
19
+ //# sourceMappingURL=FormatSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatSettings.js","sourceRoot":"","sources":["../../src/config/FormatSettings.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOpD,IAAI,cAA8B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,GAAuB,EAAE;IAClD,IAAI,cAAc,KAAK,SAAS,EAAE;QACjC,cAAc,GAAG,iBAAiB,EAAE,CAAC;KACrC;IAED,OAAO,cAAc,CAAC,cAAc,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;AAEpF,MAAM,gCAAgC,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvI,OAAO,EACN,iBAAiB,EACjB,gCAAgC,GAChC,CAAC","sourcesContent":["import LegacyDateFormats from \"../features/LegacyDateFormats.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { getFormatSettings } from \"../InitialConfiguration.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\n\ntype FormatSettings = {\n\tfirstDayOfWeek?: number,\n\tlegacyDateCalendarCustomizing?: LegacyDateCalendarCustomizing,\n};\n\nlet formatSettings: FormatSettings;\n\n/**\n * Returns the first day of the week from the configured format settings or based on the current locale.\n * @public\n * @returns {Number} 0 (Sunday) through 6 (Saturday)\n */\nconst getFirstDayOfWeek = (): number | undefined => {\n\tif (formatSettings === undefined) {\n\t\tformatSettings = getFormatSettings();\n\t}\n\n\treturn formatSettings.firstDayOfWeek;\n};\n\nconst legacyDateFormats = getFeature<typeof LegacyDateFormats>(\"LegacyDateFormats\");\n\nconst getLegacyDateCalendarCustomizing = legacyDateFormats ? LegacyDateFormats.getLegacyDateCalendarCustomizing : () => { return []; };\n\nexport {\n\tgetFirstDayOfWeek,\n\tgetLegacyDateCalendarCustomizing,\n};\n\nexport type { FormatSettings };\n"]}
@@ -0,0 +1,40 @@
1
+ type IconCollection = "SAP-icons" | "SAP-icons-v4" | "SAP-icons-v5" | "horizon" | "tnt" | "tnt-v2" | "tnt-v3" | "business-suite" | "business-suite-v1" | "business-suite-v2" | string;
2
+ /**
3
+ * Sets the default icon collection for a given theme.
4
+ *
5
+ * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)
6
+ * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: "tnt/actor", "business-suite/1x2-grid-layout", etc.
7
+ * This method allows setting another (built-in or custom) icon collection as default per theme.
8
+ *
9
+ * <b>Usage</b>
10
+ * <b>For example</b>, to make "SAP-icons version 5.x" the default icon collection in "sap_fiori_3":
11
+ *
12
+ * <pre>
13
+ * setDefaultIconCollection("sap_fiori_3", "SAP-icons-v5");
14
+ *
15
+ * <ui5-icon name="home"></ui5-icon>
16
+ * </pre>
17
+ *
18
+ * <b>For example</b>, to make a custom icon collection (with name "my-custom-collection") the default icon collection in "sap_fiori_3":
19
+ *
20
+ * <pre>
21
+ * setDefaultIconCollection("sap_fiori_3", "my-custom-collection");
22
+ *
23
+ * <ui5-icon name="custom-icon-name"></ui5-icon>
24
+ * </pre>
25
+ *
26
+ * @public
27
+ * @param { string } theme
28
+ * @param { string } collectionName
29
+ */
30
+ declare const setDefaultIconCollection: (theme: string, collectionName: IconCollection) => void;
31
+ /**
32
+ * Returns the configured default icon collection for a given theme.
33
+ *
34
+ * @param { string } theme
35
+ * @public
36
+ * @returns { string | undefined }
37
+ */
38
+ declare const getDefaultIconCollection: (theme: string) => string | undefined;
39
+ export { setDefaultIconCollection, getDefaultIconCollection, };
40
+ export type { IconCollection, };
@@ -0,0 +1,44 @@
1
+ const IconCollectionConfiguration = new Map();
2
+ /**
3
+ * Sets the default icon collection for a given theme.
4
+ *
5
+ * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)
6
+ * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: "tnt/actor", "business-suite/1x2-grid-layout", etc.
7
+ * This method allows setting another (built-in or custom) icon collection as default per theme.
8
+ *
9
+ * <b>Usage</b>
10
+ * <b>For example</b>, to make "SAP-icons version 5.x" the default icon collection in "sap_fiori_3":
11
+ *
12
+ * <pre>
13
+ * setDefaultIconCollection("sap_fiori_3", "SAP-icons-v5");
14
+ *
15
+ * <ui5-icon name="home"></ui5-icon>
16
+ * </pre>
17
+ *
18
+ * <b>For example</b>, to make a custom icon collection (with name "my-custom-collection") the default icon collection in "sap_fiori_3":
19
+ *
20
+ * <pre>
21
+ * setDefaultIconCollection("sap_fiori_3", "my-custom-collection");
22
+ *
23
+ * <ui5-icon name="custom-icon-name"></ui5-icon>
24
+ * </pre>
25
+ *
26
+ * @public
27
+ * @param { string } theme
28
+ * @param { string } collectionName
29
+ */
30
+ const setDefaultIconCollection = (theme, collectionName) => {
31
+ IconCollectionConfiguration.set(theme, collectionName);
32
+ };
33
+ /**
34
+ * Returns the configured default icon collection for a given theme.
35
+ *
36
+ * @param { string } theme
37
+ * @public
38
+ * @returns { string | undefined }
39
+ */
40
+ const getDefaultIconCollection = (theme) => {
41
+ return IconCollectionConfiguration.get(theme);
42
+ };
43
+ export { setDefaultIconCollection, getDefaultIconCollection, };
44
+ //# sourceMappingURL=Icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/config/Icons.ts"],"names":[],"mappings":"AAAA,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAkB,CAAC;AAK9D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,cAA8B,EAAE,EAAE;IAClF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAsB,EAAE;IACtE,OAAO,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,OAAO,EACN,wBAAwB,EACxB,wBAAwB,GACxB,CAAC","sourcesContent":["const IconCollectionConfiguration = new Map<string, string>();\n\n// All supported icon collections + unknown custom ones\ntype IconCollection = \"SAP-icons\" | \"SAP-icons-v4\" | \"SAP-icons-v5\" | \"horizon\" | \"tnt\" | \"tnt-v2\" | \"tnt-v3\" | \"business-suite\" | \"business-suite-v1\" | \"business-suite-v2\" | string;\n\n/**\n * Sets the default icon collection for a given theme.\n *\n * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)\n * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: \"tnt/actor\", \"business-suite/1x2-grid-layout\", etc.\n * This method allows setting another (built-in or custom) icon collection as default per theme.\n *\n * <b>Usage</b>\n * <b>For example</b>, to make \"SAP-icons version 5.x\" the default icon collection in \"sap_fiori_3\":\n *\n * <pre>\n * setDefaultIconCollection(\"sap_fiori_3\", \"SAP-icons-v5\");\n *\n * <ui5-icon name=\"home\"></ui5-icon>\n * </pre>\n *\n * <b>For example</b>, to make a custom icon collection (with name \"my-custom-collection\") the default icon collection in \"sap_fiori_3\":\n *\n * <pre>\n * setDefaultIconCollection(\"sap_fiori_3\", \"my-custom-collection\");\n *\n * <ui5-icon name=\"custom-icon-name\"></ui5-icon>\n * </pre>\n *\n * @public\n * @param { string } theme\n * @param { string } collectionName\n */\nconst setDefaultIconCollection = (theme: string, collectionName: IconCollection) => {\n\tIconCollectionConfiguration.set(theme, collectionName);\n};\n\n/**\n * Returns the configured default icon collection for a given theme.\n *\n * @param { string } theme\n * @public\n * @returns { string | undefined }\n */\nconst getDefaultIconCollection = (theme: string): string | undefined => {\n\treturn IconCollectionConfiguration.get(theme);\n};\n\nexport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n};\n\nexport type {\n\tIconCollection,\n};\n"]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Returns the currently configured language, or the browser language as a fallback.
3
+ * @public
4
+ * @returns {string}
5
+ */
6
+ declare const getLanguage: () => string | undefined;
7
+ /**
8
+ * Changes the current language, re-fetches all message bundles, updates all language-aware components
9
+ * and returns a promise that resolves when all rendering is done.
10
+ *
11
+ * @param {string} language
12
+ * @public
13
+ * @returns {Promise<void>}
14
+ */
15
+ declare const setLanguage: (language: string) => Promise<void>;
16
+ /**
17
+ * Returns the default languague.
18
+ *
19
+ * Note: Default language might be different than the configurated one.
20
+ *
21
+ * @public
22
+ * @returns {string}
23
+ */
24
+ declare const getDefaultLanguage: () => string;
25
+ /**
26
+ * Defines if the default language, that is inlined, should be
27
+ * fetched over the network instead of using the inlined one.
28
+ * <b>Note:</b> By default the language will not be fetched.
29
+ *
30
+ * @public
31
+ * @param {boolean} fetchDefaultLang
32
+ */
33
+ declare const setFetchDefaultLanguage: (fetchDefaultLang: boolean) => void;
34
+ /**
35
+ * Returns if the default language, that is inlined, should be fetched over the network.
36
+ * @public
37
+ * @returns {boolean}
38
+ */
39
+ declare const getFetchDefaultLanguage: () => boolean;
40
+ export { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, };
@@ -1,68 +1,68 @@
1
- import {
2
- getLanguage as getConfiguredLanguage,
3
- getFetchDefaultLanguage as getConfiguredFetchDefaultLanguage,
4
- } from "../InitialConfiguration.js";
1
+ import { getLanguage as getConfiguredLanguage, getFetchDefaultLanguage as getConfiguredFetchDefaultLanguage, } from "../InitialConfiguration.js";
5
2
  import { fireLanguageChange } from "../locale/languageChange.js";
6
3
  import { reRenderAllUI5Elements } from "../Render.js";
7
-
8
- let language;
4
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
5
+ let curLanguage;
9
6
  let fetchDefaultLanguage;
10
-
11
7
  /**
12
- * Returns the currently configured language, or the browser language as a fallback
13
- * @returns {String}
8
+ * Returns the currently configured language, or the browser language as a fallback.
9
+ * @public
10
+ * @returns {string}
14
11
  */
15
12
  const getLanguage = () => {
16
- if (language === undefined) {
17
- language = getConfiguredLanguage();
18
- }
19
- return language;
13
+ if (curLanguage === undefined) {
14
+ curLanguage = getConfiguredLanguage();
15
+ }
16
+ return curLanguage;
20
17
  };
21
-
22
18
  /**
23
19
  * 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
20
+ * and returns a promise that resolves when all rendering is done.
25
21
  *
26
- * @param newLanguage
22
+ * @param {string} language
23
+ * @public
27
24
  * @returns {Promise<void>}
28
25
  */
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 });
26
+ const setLanguage = async (language) => {
27
+ if (curLanguage === language) {
28
+ return;
29
+ }
30
+ curLanguage = language;
31
+ await fireLanguageChange(language);
32
+ await reRenderAllUI5Elements({ languageAware: true });
33
+ };
34
+ /**
35
+ * Returns the default languague.
36
+ *
37
+ * Note: Default language might be different than the configurated one.
38
+ *
39
+ * @public
40
+ * @returns {string}
41
+ */
42
+ const getDefaultLanguage = () => {
43
+ return DEFAULT_LANGUAGE;
38
44
  };
39
-
40
45
  /**
41
46
  * Defines if the default language, that is inlined, should be
42
47
  * fetched over the network instead of using the inlined one.
43
48
  * <b>Note:</b> By default the language will not be fetched.
44
49
  *
45
- * @param {Boolean} fetchDefaultLanguage
50
+ * @public
51
+ * @param {boolean} fetchDefaultLang
46
52
  */
47
- const setFetchDefaultLanguage = fetchDefaultLang => {
48
- fetchDefaultLanguage = fetchDefaultLang;
53
+ const setFetchDefaultLanguage = (fetchDefaultLang) => {
54
+ fetchDefaultLanguage = fetchDefaultLang;
49
55
  };
50
-
51
56
  /**
52
57
  * Returns if the default language, that is inlined, should be fetched over the network.
53
- * @returns {Boolean}
58
+ * @public
59
+ * @returns {boolean}
54
60
  */
55
61
  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,
62
+ if (fetchDefaultLanguage === undefined) {
63
+ setFetchDefaultLanguage(getConfiguredFetchDefaultLanguage());
64
+ }
65
+ return fetchDefaultLanguage;
68
66
  };
67
+ export { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, };
68
+ //# sourceMappingURL=Language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Language.js","sourceRoot":"","sources":["../../src/config/Language.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,IAAI,qBAAqB,EACpC,uBAAuB,IAAI,iCAAiC,GAC5D,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,IAAI,WAA+B,CAAC;AACpC,IAAI,oBAA6B,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,GAAG,GAAuB,EAAE;IAC5C,IAAI,WAAW,KAAK,SAAS,EAAE;QAC9B,WAAW,GAAG,qBAAqB,EAAE,CAAC;KACtC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAC7D,IAAI,WAAW,KAAK,QAAQ,EAAE;QAC7B,OAAO;KACP;IAED,WAAW,GAAG,QAAQ,CAAC;IAEvB,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,sBAAsB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,GAAW,EAAE;IACvC,OAAO,gBAAgB,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,CAAC,gBAAyB,EAAE,EAAE;IAC7D,oBAAoB,GAAG,gBAAgB,CAAC;AACzC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,GAAY,EAAE;IAC7C,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACvC,uBAAuB,CAAC,iCAAiC,EAAE,CAAC,CAAC;KAC7D;IAED,OAAO,oBAAoB,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACvB,CAAC","sourcesContent":["import {\n\tgetLanguage as getConfiguredLanguage,\n\tgetFetchDefaultLanguage as getConfiguredFetchDefaultLanguage,\n} from \"../InitialConfiguration.js\";\nimport { fireLanguageChange } from \"../locale/languageChange.js\";\nimport { reRenderAllUI5Elements } from \"../Render.js\";\nimport { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nlet curLanguage: string | undefined;\nlet fetchDefaultLanguage: boolean;\n\n/**\n * Returns the currently configured language, or the browser language as a fallback.\n * @public\n * @returns {string}\n */\nconst getLanguage = (): string | undefined => {\n\tif (curLanguage === undefined) {\n\t\tcurLanguage = getConfiguredLanguage();\n\t}\n\treturn curLanguage;\n};\n\n/**\n * Changes the current language, re-fetches all message bundles, updates all language-aware components\n * and returns a promise that resolves when all rendering is done.\n *\n * @param {string} language\n * @public\n * @returns {Promise<void>}\n */\nconst setLanguage = async (language: string): Promise<void> => {\n\tif (curLanguage === language) {\n\t\treturn;\n\t}\n\n\tcurLanguage = language;\n\n\tawait fireLanguageChange(language);\n\tawait reRenderAllUI5Elements({ languageAware: true });\n};\n\n/**\n * Returns the default languague.\n *\n * Note: Default language might be different than the configurated one.\n *\n * @public\n * @returns {string}\n */\nconst getDefaultLanguage = (): string => {\n\treturn DEFAULT_LANGUAGE;\n};\n\n/**\n * Defines if the default language, that is inlined, should be\n * fetched over the network instead of using the inlined one.\n * <b>Note:</b> By default the language will not be fetched.\n *\n * @public\n * @param {boolean} fetchDefaultLang\n */\nconst setFetchDefaultLanguage = (fetchDefaultLang: boolean) => {\n\tfetchDefaultLanguage = fetchDefaultLang;\n};\n\n/**\n * Returns if the default language, that is inlined, should be fetched over the network.\n * @public\n * @returns {boolean}\n */\nconst getFetchDefaultLanguage = (): boolean => {\n\tif (fetchDefaultLanguage === undefined) {\n\t\tsetFetchDefaultLanguage(getConfiguredFetchDefaultLanguage());\n\t}\n\n\treturn fetchDefaultLanguage;\n};\n\nexport {\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n};\n"]}
@@ -0,0 +1,20 @@
1
+ type NoConflictData = boolean | {
2
+ events: Array<string>;
3
+ };
4
+ /**
5
+ * Returns if the "noConflict" configuration is set.
6
+ * @public
7
+ * @returns { NoConflictData }
8
+ */
9
+ declare const getNoConflict: () => NoConflictData;
10
+ /**
11
+ * Sets the "noConflict" mode.
12
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
13
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
14
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
15
+ * @public
16
+ * @param { NoConflictData } noConflictData
17
+ */
18
+ declare const setNoConflict: (noConflictData: NoConflictData) => void;
19
+ declare const skipOriginalEvent: (eventName: string) => boolean;
20
+ export { getNoConflict, setNoConflict, skipOriginalEvent, };
@@ -1,51 +1,51 @@
1
1
  import { getNoConflict as getConfiguredNoConflict } from "../InitialConfiguration.js";
2
-
3
2
  // Fire these events even with noConflict: true
4
3
  const excludeList = [
5
- "value-changed",
4
+ "value-changed",
5
+ "click",
6
6
  ];
7
-
8
- const shouldFireOriginalEvent = eventName => {
9
- return excludeList.includes(eventName);
10
- };
11
-
12
7
  let noConflict;
13
-
14
- const shouldNotFireOriginalEvent = eventName => {
15
- const nc = getNoConflict();
16
- return !(nc.events && nc.events.includes && nc.events.includes(eventName));
8
+ const shouldFireOriginalEvent = (eventName) => {
9
+ return excludeList.includes(eventName);
17
10
  };
18
-
19
- const getNoConflict = () => {
20
- if (noConflict === undefined) {
21
- noConflict = getConfiguredNoConflict();
22
- }
23
-
24
- return noConflict;
11
+ const shouldNotFireOriginalEvent = (eventName) => {
12
+ const nc = getNoConflict();
13
+ // return !(nc.events && nc.events.includes && nc.events.includes(eventName));
14
+ return !(typeof nc !== "boolean" && nc.events && nc.events.includes && nc.events.includes(eventName));
25
15
  };
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);
16
+ /**
17
+ * Returns if the "noConflict" configuration is set.
18
+ * @public
19
+ * @returns { NoConflictData }
20
+ */
21
+ const getNoConflict = () => {
22
+ if (noConflict === undefined) {
23
+ noConflict = getConfiguredNoConflict();
24
+ }
25
+ return noConflict;
41
26
  };
42
-
43
- const setNoConflict = noConflictData => {
44
- noConflict = noConflictData;
27
+ /**
28
+ * Sets the "noConflict" mode.
29
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
30
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
31
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
32
+ * @public
33
+ * @param { NoConflictData } noConflictData
34
+ */
35
+ const setNoConflict = (noConflictData) => {
36
+ noConflict = noConflictData;
45
37
  };
46
-
47
- export {
48
- getNoConflict,
49
- setNoConflict,
50
- skipOriginalEvent,
38
+ const skipOriginalEvent = (eventName) => {
39
+ const nc = getNoConflict();
40
+ // Always fire these events
41
+ if (shouldFireOriginalEvent(eventName)) {
42
+ return false;
43
+ }
44
+ // Read from the configuration
45
+ if (nc === true) {
46
+ return true;
47
+ }
48
+ return !shouldNotFireOriginalEvent(eventName);
51
49
  };
50
+ export { getNoConflict, setNoConflict, skipOriginalEvent, };
51
+ //# sourceMappingURL=NoConflict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoConflict.js","sourceRoot":"","sources":["../../src/config/NoConflict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,+CAA+C;AAC/C,MAAM,WAAW,GAAG;IACnB,eAAe;IACf,OAAO;CACP,CAAC;AAIF,IAAI,UAA0B,CAAC;AAE/B,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,SAAiB,EAAE,EAAE;IACxD,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,GAAmB,EAAE;IAC1C,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,UAAU,GAAG,uBAAuB,EAAE,CAAC;KACvC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,CAAC,cAA8B,EAAE,EAAE;IACxD,UAAU,GAAG,cAAc,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,KAAK,CAAC;KACb;IAED,8BAA8B;IAC9B,IAAI,EAAE,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,OAAO,EACN,aAAa,EACb,aAAa,EACb,iBAAiB,GACjB,CAAC","sourcesContent":["import { getNoConflict as getConfiguredNoConflict } from \"../InitialConfiguration.js\";\n\n// Fire these events even with noConflict: true\nconst excludeList = [\n\t\"value-changed\",\n\t\"click\",\n];\n\ntype NoConflictData = boolean | { events: Array<string>};\n\nlet noConflict: NoConflictData;\n\nconst shouldFireOriginalEvent = (eventName: string) => {\n\treturn excludeList.includes(eventName);\n};\n\nconst shouldNotFireOriginalEvent = (eventName: string) => {\n\tconst nc = getNoConflict();\n\t// return !(nc.events && nc.events.includes && nc.events.includes(eventName));\n\treturn !(typeof nc !== \"boolean\" && nc.events && nc.events.includes && nc.events.includes(eventName));\n};\n\n/**\n * Returns if the \"noConflict\" configuration is set.\n * @public\n * @returns { NoConflictData }\n */\nconst getNoConflict = (): NoConflictData => {\n\tif (noConflict === undefined) {\n\t\tnoConflict = getConfiguredNoConflict();\n\t}\n\n\treturn noConflict;\n};\n\n/**\n * Sets the \"noConflict\" mode.\n * - When \"false\" (default value), all custom events are fired with and without the \"ui5-\" prefix.\n * - When \"true\", all custom events are fired with the \"ui5-\" prefix only.\n * - When an object is supplied, just the specified events will be fired with the \"ui5-\" prefix.\n * @public\n * @param { NoConflictData } noConflictData\n */\nconst setNoConflict = (noConflictData: NoConflictData) => {\n\tnoConflict = noConflictData;\n};\n\nconst skipOriginalEvent = (eventName: string) => {\n\tconst nc = getNoConflict();\n\n\t// Always fire these events\n\tif (shouldFireOriginalEvent(eventName)) {\n\t\treturn false;\n\t}\n\n\t// Read from the configuration\n\tif (nc === true) {\n\t\treturn true;\n\t}\n\n\treturn !shouldNotFireOriginalEvent(eventName);\n};\n\nexport {\n\tgetNoConflict,\n\tsetNoConflict,\n\tskipOriginalEvent,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Gets the effective RTL setting by first checking the configuration
3
+ * and if not set using the currently set language or the navigator language if the language is not explicitly set.
4
+ * @returns {boolean} whether RTL should be used
5
+ */
6
+ declare const getRTL: () => boolean;
7
+ export { getRTL };
@@ -2,30 +2,36 @@ import { getRTL as getConfiguredRTL } from "../InitialConfiguration.js";
2
2
  import { getLanguage } from "./Language.js";
3
3
  import getDesigntimePropertyAsArray from "../util/getDesigntimePropertyAsArray.js";
4
4
  import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
5
-
6
5
  const M_ISO639_OLD_TO_NEW = {
7
- "iw": "he",
8
- "ji": "yi",
9
- "in": "id",
10
- "sh": "sr",
6
+ "iw": "he",
7
+ "ji": "yi",
8
+ "in": "id",
9
+ "sh": "sr",
11
10
  };
12
-
13
11
  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;
12
+ /**
13
+ * Checks whether the language is using RTL
14
+ * @param {string} language
15
+ * @returns {boolean} whether the language is using RTL
16
+ */
17
+ const impliesRTL = (language) => {
18
+ language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
19
+ return A_RTL_LOCALES.indexOf(language) >= 0;
19
20
  };
20
-
21
+ /**
22
+ * Gets the effective RTL setting by first checking the configuration
23
+ * and if not set using the currently set language or the navigator language if the language is not explicitly set.
24
+ * @returns {boolean} whether RTL should be used
25
+ */
21
26
  const getRTL = () => {
22
- const configurationRTL = getConfiguredRTL();
23
-
24
- if (configurationRTL !== null) {
25
- return !!configurationRTL;
26
- }
27
-
28
- return impliesRTL(getLanguage() || detectNavigatorLanguage());
27
+ if (typeof document === "undefined") {
28
+ return false;
29
+ }
30
+ const configurationRTL = getConfiguredRTL();
31
+ if (configurationRTL !== undefined) {
32
+ return !!configurationRTL;
33
+ }
34
+ return impliesRTL(getLanguage() || detectNavigatorLanguage());
29
35
  };
30
-
31
36
  export { getRTL }; // eslint-disable-line
37
+ //# sourceMappingURL=RTL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTL.js","sourceRoot":"","sources":["../../src/config/RTL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,4BAA4B,MAAM,yCAAyC,CAAC;AACnF,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AAEzE,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,aAAa,GAAG,4BAA4B,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;AAExF;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,QAAQ,GAAG,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAA4C,CAAC,CAAC,IAAI,QAAQ,CAAC;IAEvG,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAY,EAAE;IAC5B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACpC,OAAO,KAAK,CAAC;KACb;IAED,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAE5C,IAAI,gBAAgB,KAAK,SAAS,EAAE;QACnC,OAAO,CAAC,CAAC,gBAAgB,CAAC;KAC1B;IAED,OAAO,UAAU,CAAC,WAAW,EAAE,IAAI,uBAAuB,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,sBAAsB","sourcesContent":["import { getRTL as getConfiguredRTL } from \"../InitialConfiguration.js\";\nimport { getLanguage } from \"./Language.js\";\nimport getDesigntimePropertyAsArray from \"../util/getDesigntimePropertyAsArray.js\";\nimport detectNavigatorLanguage from \"../util/detectNavigatorLanguage.js\";\n\nconst M_ISO639_OLD_TO_NEW = {\n\t\"iw\": \"he\",\n\t\"ji\": \"yi\",\n\t\"in\": \"id\",\n\t\"sh\": \"sr\",\n};\n\nconst A_RTL_LOCALES = getDesigntimePropertyAsArray(\"$cldr-rtl-locales:ar,fa,he$\") || [];\n\n/**\n * Checks whether the language is using RTL\n * @param {string} language\n * @returns {boolean} whether the language is using RTL\n */\nconst impliesRTL = (language: string) => {\n\tlanguage = (language && M_ISO639_OLD_TO_NEW[language as keyof typeof M_ISO639_OLD_TO_NEW]) || language;\n\n\treturn A_RTL_LOCALES.indexOf(language) >= 0;\n};\n\n/**\n * Gets the effective RTL setting by first checking the configuration\n * and if not set using the currently set language or the navigator language if the language is not explicitly set.\n * @returns {boolean} whether RTL should be used\n */\nconst getRTL = (): boolean => {\n\tif (typeof document === \"undefined\") {\n\t\treturn false;\n\t}\n\n\tconst configurationRTL = getConfiguredRTL();\n\n\tif (configurationRTL !== undefined) {\n\t\treturn !!configurationRTL;\n\t}\n\n\treturn impliesRTL(getLanguage() || detectNavigatorLanguage());\n};\n\nexport { getRTL }; // eslint-disable-line\n"]}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Returns the current theme.
3
+ * @public
4
+ * @returns {string} the current theme name
5
+ */
6
+ declare const getTheme: () => string;
7
+ /**
8
+ * Applies a new theme after fetching its assets from the network.
9
+ * @public
10
+ * @param {string} theme the name of the new theme
11
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
12
+ */
13
+ declare const setTheme: (theme: string) => Promise<void>;
14
+ /**
15
+ * Returns the default theme.
16
+ *
17
+ * Note: Default theme might be different than the configurated one.
18
+ *
19
+ * @public
20
+ * @returns {string}
21
+ */
22
+ declare const getDefaultTheme: () => string;
23
+ /**
24
+ * Returns if the given theme name is the one currently applied.
25
+ * @private
26
+ * @param {string} theme
27
+ * @returns {boolean}
28
+ */
29
+ declare const isTheme: (theme: string) => boolean;
30
+ /**
31
+ * Returns if the currently set theme is part of legacy theme families ("sap_belize" or "sap_fiori_3").
32
+ * <b>Note</b>: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
33
+ *
34
+ * @private
35
+ * @returns { boolean }
36
+ */
37
+ declare const isLegacyThemeFamily: () => boolean;
38
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, getDefaultTheme, };
@@ -1,42 +1,70 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
2
  import { reRenderAllUI5Elements } from "../Render.js";
3
3
  import applyTheme from "../theming/applyTheme.js";
4
-
5
- let theme;
6
-
4
+ import getThemeDesignerTheme from "../theming/getThemeDesignerTheme.js";
5
+ import { DEFAULT_THEME, SUPPORTED_THEMES } from "../generated/AssetParameters.js";
6
+ let curTheme;
7
+ /**
8
+ * Returns the current theme.
9
+ * @public
10
+ * @returns {string} the current theme name
11
+ */
7
12
  const getTheme = () => {
8
- if (theme === undefined) {
9
- theme = getConfiguredTheme();
10
- }
11
-
12
- return theme;
13
+ if (curTheme === undefined) {
14
+ curTheme = getConfiguredTheme();
15
+ }
16
+ return curTheme;
17
+ };
18
+ /**
19
+ * Applies a new theme after fetching its assets from the network.
20
+ * @public
21
+ * @param {string} theme the name of the new theme
22
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
23
+ */
24
+ const setTheme = async (theme) => {
25
+ if (curTheme === theme) {
26
+ return;
27
+ }
28
+ curTheme = theme;
29
+ // Update CSS Custom Properties
30
+ await applyTheme(curTheme);
31
+ await reRenderAllUI5Elements({ themeAware: true });
13
32
  };
14
-
15
- const setTheme = async newTheme => {
16
- if (theme === newTheme) {
17
- return;
18
- }
19
-
20
- theme = newTheme;
21
-
22
- // Update CSS Custom Properties
23
- await applyTheme(theme);
24
- await reRenderAllUI5Elements({ themeAware: true });
33
+ /**
34
+ * Returns the default theme.
35
+ *
36
+ * Note: Default theme might be different than the configurated one.
37
+ *
38
+ * @public
39
+ * @returns {string}
40
+ */
41
+ const getDefaultTheme = () => {
42
+ return DEFAULT_THEME;
25
43
  };
26
-
27
44
  /**
28
45
  * Returns if the given theme name is the one currently applied.
29
46
  * @private
30
- * @param {String}
47
+ * @param {string} theme
31
48
  * @returns {boolean}
32
49
  */
33
- const isTheme = _theme => {
34
- const currentTheme = getTheme();
35
- return currentTheme === _theme || currentTheme === `${_theme}_exp`;
50
+ const isTheme = (theme) => {
51
+ const currentTheme = getTheme();
52
+ return currentTheme === theme || currentTheme === `${theme}_exp`;
36
53
  };
37
-
38
- export {
39
- getTheme,
40
- setTheme,
41
- isTheme,
54
+ /**
55
+ * Returns if the currently set theme is part of legacy theme families ("sap_belize" or "sap_fiori_3").
56
+ * <b>Note</b>: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
57
+ *
58
+ * @private
59
+ * @returns { boolean }
60
+ */
61
+ const isLegacyThemeFamily = () => {
62
+ const currentTheme = getTheme();
63
+ if (!isKnownTheme(currentTheme)) {
64
+ return !getThemeDesignerTheme()?.baseThemeName?.startsWith("sap_horizon");
65
+ }
66
+ return !currentTheme.startsWith("sap_horizon");
42
67
  };
68
+ const isKnownTheme = (theme) => SUPPORTED_THEMES.includes(theme);
69
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, getDefaultTheme, };
70
+ //# sourceMappingURL=Theme.js.map