@ui5/webcomponents-base 0.0.0-934b4df24 → 0.0.0-96e98c995

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 (768) hide show
  1. package/.eslintignore +4 -0
  2. package/CHANGELOG.md +510 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +28 -17
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +6 -10
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +8 -0
  9. package/dist/Boot.js +44 -0
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +51 -0
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +73 -18
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -0
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +23 -0
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +84 -816
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -70
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -7
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +21 -69
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +119 -103
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +175 -158
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +77 -0
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MarkedEvents.d.ts +9 -0
  48. package/dist/MarkedEvents.js +15 -0
  49. package/dist/MarkedEvents.js.map +1 -0
  50. package/dist/MediaRange.d.ts +37 -0
  51. package/dist/MediaRange.js +98 -0
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +85 -0
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +143 -0
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +53 -39
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +86 -0
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +4 -39
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +92 -98
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +9 -0
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/dist/Theming.d.ts +3 -0
  75. package/dist/Theming.js +3 -2
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +373 -0
  78. package/dist/UI5Element.js +947 -906
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -158
  82. package/dist/UI5ElementMetadata.js.map +1 -0
  83. package/dist/animations/AnimationQueue.d.ts +8 -0
  84. package/dist/animations/AnimationQueue.js +31 -38
  85. package/dist/animations/AnimationQueue.js.map +1 -0
  86. package/dist/animations/animate.d.ts +14 -0
  87. package/dist/animations/animate.js +46 -51
  88. package/dist/animations/animate.js.map +1 -0
  89. package/dist/animations/scroll.d.ts +5 -0
  90. package/dist/animations/scroll.js +18 -27
  91. package/dist/animations/scroll.js.map +1 -0
  92. package/dist/animations/slideDown.d.ts +5 -0
  93. package/dist/animations/slideDown.js +53 -78
  94. package/dist/animations/slideDown.js.map +1 -0
  95. package/dist/animations/slideUp.d.ts +5 -0
  96. package/dist/animations/slideUp.js +49 -70
  97. package/dist/animations/slideUp.js.map +1 -0
  98. package/dist/api.json +1 -0
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +104 -24
  101. package/dist/asset-registries/Icons.js.map +1 -0
  102. package/dist/asset-registries/Illustrations.d.ts +17 -0
  103. package/dist/asset-registries/Illustrations.js +46 -0
  104. package/dist/asset-registries/Illustrations.js.map +1 -0
  105. package/dist/asset-registries/LocaleData.d.ts +7 -0
  106. package/dist/asset-registries/LocaleData.js +125 -114
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +10 -0
  109. package/dist/asset-registries/Themes.js +39 -76
  110. package/dist/asset-registries/Themes.js.map +1 -0
  111. package/dist/asset-registries/i18n.d.ts +23 -0
  112. package/dist/asset-registries/i18n.js +74 -58
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/bundle.esm.ba5d36d4.js +56 -0
  115. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  116. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  117. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  118. package/dist/config/AnimationMode.d.ts +14 -0
  119. package/dist/config/AnimationMode.js +23 -10
  120. package/dist/config/AnimationMode.js.map +1 -0
  121. package/dist/config/CalendarType.d.ts +8 -0
  122. package/dist/config/CalendarType.js +13 -12
  123. package/dist/config/CalendarType.js.map +1 -0
  124. package/dist/config/FormatSettings.d.ts +11 -0
  125. package/dist/config/FormatSettings.js +10 -8
  126. package/dist/config/FormatSettings.js.map +1 -0
  127. package/dist/config/Icons.d.ts +30 -0
  128. package/dist/config/Icons.js +48 -0
  129. package/dist/config/Icons.js.map +1 -0
  130. package/dist/config/Language.d.ts +31 -0
  131. package/dist/config/Language.js +54 -10
  132. package/dist/config/Language.js.map +1 -0
  133. package/dist/config/NoConflict.d.ts +20 -0
  134. package/dist/config/NoConflict.js +40 -41
  135. package/dist/config/NoConflict.js.map +1 -0
  136. package/dist/config/RTL.d.ts +7 -0
  137. package/dist/config/RTL.js +23 -20
  138. package/dist/config/RTL.js.map +1 -0
  139. package/dist/config/Theme.d.ts +28 -0
  140. package/dist/config/Theme.js +45 -22
  141. package/dist/config/Theme.js.map +1 -0
  142. package/dist/config/ThemeRoots.d.ts +4 -0
  143. package/dist/config/ThemeRoots.js +28 -0
  144. package/dist/config/ThemeRoots.js.map +1 -0
  145. package/dist/css/BusyIndicator.css +80 -0
  146. package/dist/css/FontFace.css +66 -0
  147. package/dist/css/OverrideFontFace.css +32 -0
  148. package/dist/css/SystemCSSVars.css +17 -0
  149. package/dist/decorators/customElement.d.ts +8 -0
  150. package/dist/decorators/customElement.js +16 -0
  151. package/dist/decorators/customElement.js.map +1 -0
  152. package/dist/decorators/event.d.ts +10 -0
  153. package/dist/decorators/event.js +24 -0
  154. package/dist/decorators/event.js.map +1 -0
  155. package/dist/decorators/fastNavigation.d.ts +7 -0
  156. package/dist/decorators/fastNavigation.js +13 -0
  157. package/dist/decorators/fastNavigation.js.map +1 -0
  158. package/dist/decorators/languageAware.d.ts +7 -0
  159. package/dist/decorators/languageAware.js +13 -0
  160. package/dist/decorators/languageAware.js.map +1 -0
  161. package/dist/decorators/property.d.ts +9 -0
  162. package/dist/decorators/property.js +24 -0
  163. package/dist/decorators/property.js.map +1 -0
  164. package/dist/decorators/slot.d.ts +9 -0
  165. package/dist/decorators/slot.js +37 -0
  166. package/dist/decorators/slot.js.map +1 -0
  167. package/dist/decorators/themeAware.d.ts +7 -0
  168. package/dist/decorators/themeAware.js +13 -0
  169. package/dist/decorators/themeAware.js.map +1 -0
  170. package/dist/delegate/ItemNavigation.d.ts +113 -0
  171. package/dist/delegate/ItemNavigation.js +312 -274
  172. package/dist/delegate/ItemNavigation.js.map +1 -0
  173. package/dist/delegate/ResizeHandler.d.ts +24 -0
  174. package/dist/delegate/ResizeHandler.js +80 -63
  175. package/dist/delegate/ResizeHandler.js.map +1 -0
  176. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  177. package/dist/delegate/ScrollEnablement.js +159 -153
  178. package/dist/delegate/ScrollEnablement.js.map +1 -0
  179. package/dist/features/F6Navigation.d.ts +16 -0
  180. package/dist/features/F6Navigation.js +112 -0
  181. package/dist/features/F6Navigation.js.map +1 -0
  182. package/dist/features/OpenUI5Element.d.ts +9 -0
  183. package/dist/features/OpenUI5Element.js +5 -0
  184. package/dist/features/OpenUI5Element.js.map +1 -0
  185. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  186. package/dist/features/OpenUI5Enablement.js +96 -0
  187. package/dist/features/OpenUI5Enablement.js.map +1 -0
  188. package/dist/features/OpenUI5Support.d.ts +23 -0
  189. package/dist/features/OpenUI5Support.js +93 -86
  190. package/dist/features/OpenUI5Support.js.map +1 -0
  191. package/dist/generated/AssetParameters.js +1 -1
  192. package/dist/generated/VersionInfo.js +10 -0
  193. package/dist/generated/css/BusyIndicator.css.js +5 -0
  194. package/dist/generated/css/FontFace.css.js +5 -0
  195. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  196. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  197. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  198. package/dist/getSharedResource.d.ts +11 -0
  199. package/dist/getSharedResource.js +26 -0
  200. package/dist/getSharedResource.js.map +1 -0
  201. package/dist/global.d.ts +44 -0
  202. package/dist/i18nBundle.d.ts +43 -0
  203. package/dist/i18nBundle.js +73 -28
  204. package/dist/i18nBundle.js.map +1 -0
  205. package/dist/locale/Locale.d.ts +22 -0
  206. package/dist/locale/Locale.js +75 -87
  207. package/dist/locale/Locale.js.map +1 -0
  208. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  209. package/dist/locale/RTLAwareRegistry.js +9 -0
  210. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  211. package/dist/locale/applyDirection.d.ts +10 -0
  212. package/dist/locale/applyDirection.js +17 -0
  213. package/dist/locale/applyDirection.js.map +1 -0
  214. package/dist/locale/directionChange.d.ts +15 -0
  215. package/dist/locale/directionChange.js +24 -0
  216. package/dist/locale/directionChange.js.map +1 -0
  217. package/dist/locale/getEffectiveDir.d.ts +2 -0
  218. package/dist/locale/getEffectiveDir.js +24 -0
  219. package/dist/locale/getEffectiveDir.js.map +1 -0
  220. package/dist/locale/getLocale.d.ts +7 -0
  221. package/dist/locale/getLocale.js +28 -21
  222. package/dist/locale/getLocale.js.map +1 -0
  223. package/dist/locale/languageChange.d.ts +5 -0
  224. package/dist/locale/languageChange.js +14 -0
  225. package/dist/locale/languageChange.js.map +1 -0
  226. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  227. package/dist/locale/nextFallbackLocale.js +15 -19
  228. package/dist/locale/nextFallbackLocale.js.map +1 -0
  229. package/dist/locale/normalizeLocale.d.ts +7 -0
  230. package/dist/locale/normalizeLocale.js +34 -41
  231. package/dist/locale/normalizeLocale.js.map +1 -0
  232. package/dist/renderer/LitRenderer.d.ts +14 -0
  233. package/dist/renderer/LitRenderer.js +38 -12
  234. package/dist/renderer/LitRenderer.js.map +1 -0
  235. package/dist/renderer/directives/style-map.js +72 -0
  236. package/dist/renderer/executeTemplate.d.ts +13 -0
  237. package/dist/renderer/executeTemplate.js +30 -0
  238. package/dist/renderer/executeTemplate.js.map +1 -0
  239. package/dist/sap/base/Log.js +240 -0
  240. package/dist/sap/base/assert.js +7 -0
  241. package/dist/sap/base/security/URLListValidator.js +159 -0
  242. package/dist/sap/base/security/encodeCSS.js +14 -0
  243. package/dist/sap/base/security/encodeXML.js +23 -0
  244. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  245. package/dist/sap/base/strings/toHex.js +8 -0
  246. package/dist/sap/base/util/now.js +7 -0
  247. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  248. package/dist/theming/CustomStyle.d.ts +6 -0
  249. package/dist/theming/CustomStyle.js +44 -17
  250. package/dist/theming/CustomStyle.js.map +1 -0
  251. package/dist/theming/ThemeLoaded.d.ts +5 -0
  252. package/dist/theming/ThemeLoaded.js +14 -0
  253. package/dist/theming/ThemeLoaded.js.map +1 -0
  254. package/dist/theming/applyTheme.d.ts +2 -0
  255. package/dist/theming/applyTheme.js +63 -69
  256. package/dist/theming/applyTheme.js.map +1 -0
  257. package/dist/theming/getConstructableStyle.d.ts +9 -0
  258. package/dist/theming/getConstructableStyle.js +15 -15
  259. package/dist/theming/getConstructableStyle.js.map +1 -0
  260. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  261. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  262. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  263. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  264. package/dist/theming/getEffectiveStyle.js +30 -13
  265. package/dist/theming/getEffectiveStyle.js.map +1 -0
  266. package/dist/theming/getStylesString.d.ts +3 -0
  267. package/dist/theming/getStylesString.js +11 -0
  268. package/dist/theming/getStylesString.js.map +1 -0
  269. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  270. package/dist/theming/getThemeDesignerTheme.js +73 -60
  271. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  272. package/dist/theming/preloadLinks.d.ts +3 -0
  273. package/dist/theming/preloadLinks.js +19 -0
  274. package/dist/theming/preloadLinks.js.map +1 -0
  275. package/dist/thirdparty/_merge.d.ts +2 -0
  276. package/dist/thirdparty/_merge.js +7 -4
  277. package/dist/thirdparty/_merge.js.map +1 -0
  278. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  279. package/dist/thirdparty/isPlainObject.js +11 -10
  280. package/dist/thirdparty/isPlainObject.js.map +1 -0
  281. package/dist/thirdparty/merge.d.ts +2 -0
  282. package/dist/thirdparty/merge.js +4 -8
  283. package/dist/thirdparty/merge.js.map +1 -0
  284. package/dist/types/AnimationMode.d.ts +32 -0
  285. package/dist/types/AnimationMode.js +33 -6
  286. package/dist/types/AnimationMode.js.map +1 -0
  287. package/dist/types/CSSColor.d.ts +16 -0
  288. package/dist/types/CSSColor.js +19 -0
  289. package/dist/types/CSSColor.js.map +1 -0
  290. package/dist/types/CalendarType.d.ts +37 -0
  291. package/dist/types/CalendarType.js +35 -18
  292. package/dist/types/CalendarType.js.map +1 -0
  293. package/dist/types/DOMReference.d.ts +17 -0
  294. package/dist/types/DOMReference.js +25 -0
  295. package/dist/types/DOMReference.js.map +1 -0
  296. package/dist/types/DataType.d.ts +25 -0
  297. package/dist/types/DataType.js +33 -14
  298. package/dist/types/DataType.js.map +1 -0
  299. package/dist/types/Float.d.ts +18 -0
  300. package/dist/types/Float.js +22 -0
  301. package/dist/types/Float.js.map +1 -0
  302. package/dist/types/Integer.d.ts +18 -0
  303. package/dist/types/Integer.js +18 -5
  304. package/dist/types/Integer.js.map +1 -0
  305. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  306. package/dist/types/InvisibleMessageMode.js +27 -0
  307. package/dist/types/InvisibleMessageMode.js.map +1 -0
  308. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  309. package/dist/types/ItemNavigationBehavior.js +22 -17
  310. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  311. package/dist/types/NavigationMode.d.ts +32 -0
  312. package/dist/types/NavigationMode.js +33 -5
  313. package/dist/types/NavigationMode.js.map +1 -0
  314. package/dist/types/ValueState.d.ts +42 -0
  315. package/dist/types/ValueState.js +41 -19
  316. package/dist/types/ValueState.js.map +1 -0
  317. package/dist/types.d.ts +18 -0
  318. package/dist/types.js +2 -0
  319. package/dist/types.js.map +1 -0
  320. package/dist/updateShadowRoot.d.ts +8 -0
  321. package/dist/updateShadowRoot.js +34 -0
  322. package/dist/updateShadowRoot.js.map +1 -0
  323. package/dist/util/AriaLabelHelper.d.ts +6 -0
  324. package/dist/util/AriaLabelHelper.js +44 -0
  325. package/dist/util/AriaLabelHelper.js.map +1 -0
  326. package/dist/util/Caret.d.ts +7 -0
  327. package/dist/util/Caret.js +23 -0
  328. package/dist/util/Caret.js.map +1 -0
  329. package/dist/util/ColorConversion.d.ts +30 -0
  330. package/dist/util/ColorConversion.js +337 -0
  331. package/dist/util/ColorConversion.js.map +1 -0
  332. package/dist/util/FetchHelper.d.ts +3 -0
  333. package/dist/util/FetchHelper.js +19 -25
  334. package/dist/util/FetchHelper.js.map +1 -0
  335. package/dist/util/FocusableElements.d.ts +4 -0
  336. package/dist/util/FocusableElements.js +58 -56
  337. package/dist/util/FocusableElements.js.map +1 -0
  338. package/dist/util/HTMLSanitizer.d.ts +3 -0
  339. package/dist/util/HTMLSanitizer.js +6 -0
  340. package/dist/util/HTMLSanitizer.js.map +1 -0
  341. package/dist/util/InvisibleMessage.d.ts +10 -0
  342. package/dist/util/InvisibleMessage.js +56 -0
  343. package/dist/util/InvisibleMessage.js.map +1 -0
  344. package/dist/util/PopupUtils.d.ts +7 -0
  345. package/dist/util/PopupUtils.js +74 -0
  346. package/dist/util/PopupUtils.js.map +1 -0
  347. package/dist/util/SlotsHelper.d.ts +9 -0
  348. package/dist/util/SlotsHelper.js +30 -0
  349. package/dist/util/SlotsHelper.js.map +1 -0
  350. package/dist/util/StringHelper.d.ts +3 -0
  351. package/dist/util/StringHelper.js +17 -20
  352. package/dist/util/StringHelper.js.map +1 -0
  353. package/dist/util/TabbableElements.d.ts +17 -0
  354. package/dist/util/TabbableElements.js +53 -43
  355. package/dist/util/TabbableElements.js.map +1 -0
  356. package/dist/util/arraysAreEqual.d.ts +2 -0
  357. package/dist/util/arraysAreEqual.js +13 -0
  358. package/dist/util/arraysAreEqual.js.map +1 -0
  359. package/dist/util/clamp.d.ts +9 -0
  360. package/dist/util/clamp.js +12 -0
  361. package/dist/util/clamp.js.map +1 -0
  362. package/dist/util/createLinkInHead.d.ts +7 -0
  363. package/dist/util/createLinkInHead.js +21 -0
  364. package/dist/util/createLinkInHead.js.map +1 -0
  365. package/dist/util/createStyleInHead.d.ts +8 -0
  366. package/dist/util/createStyleInHead.js +10 -10
  367. package/dist/util/createStyleInHead.js.map +1 -0
  368. package/dist/util/debounce.d.ts +2 -0
  369. package/dist/util/debounce.js +15 -0
  370. package/dist/util/debounce.js.map +1 -0
  371. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  372. package/dist/util/detectNavigatorLanguage.js +7 -10
  373. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  374. package/dist/util/escapeRegex.d.ts +8 -0
  375. package/dist/util/escapeRegex.js +11 -0
  376. package/dist/util/escapeRegex.js.map +1 -0
  377. package/dist/util/formatMessage.d.ts +2 -0
  378. package/dist/util/formatMessage.js +15 -19
  379. package/dist/util/formatMessage.js.map +1 -0
  380. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  381. package/dist/util/generateHighlightedMarkup.js +41 -0
  382. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  383. package/dist/util/getActiveElement.d.ts +2 -0
  384. package/dist/util/getActiveElement.js +9 -0
  385. package/dist/util/getActiveElement.js.map +1 -0
  386. package/dist/util/getClassCopy.d.ts +400 -0
  387. package/dist/util/getClassCopy.js +10 -0
  388. package/dist/util/getClassCopy.js.map +1 -0
  389. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  390. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  391. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  392. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  393. package/dist/util/getEffectiveContentDensity.js +4 -0
  394. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  395. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  396. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  397. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  398. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  399. package/dist/util/getFastNavigationGroups.js +51 -0
  400. package/dist/util/getFastNavigationGroups.js.map +1 -0
  401. package/dist/util/getFileExtension.d.ts +12 -0
  402. package/dist/util/getFileExtension.js +9 -11
  403. package/dist/util/getFileExtension.js.map +1 -0
  404. package/dist/util/getNormalizedTarget.d.ts +7 -0
  405. package/dist/util/getNormalizedTarget.js +14 -0
  406. package/dist/util/getNormalizedTarget.js.map +1 -0
  407. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  408. package/dist/util/getSingletonElementInstance.js +10 -0
  409. package/dist/util/getSingletonElementInstance.js.map +1 -0
  410. package/dist/util/isElementClickable.d.ts +2 -0
  411. package/dist/util/isElementClickable.js +16 -0
  412. package/dist/util/isElementClickable.js.map +1 -0
  413. package/dist/util/isElementHidden.d.ts +2 -0
  414. package/dist/util/isElementHidden.js +8 -0
  415. package/dist/util/isElementHidden.js.map +1 -0
  416. package/dist/util/isElementInView.d.ts +6 -0
  417. package/dist/util/isElementInView.js +12 -0
  418. package/dist/util/isElementInView.js.map +1 -0
  419. package/dist/util/isElementTabbable.d.ts +9 -0
  420. package/dist/util/isElementTabbable.js +30 -0
  421. package/dist/util/isElementTabbable.js.map +1 -0
  422. package/dist/util/isValidPropertyName.d.ts +8 -0
  423. package/dist/util/isValidPropertyName.js +19 -14
  424. package/dist/util/isValidPropertyName.js.map +1 -0
  425. package/dist/util/whenDOMReady.d.ts +2 -0
  426. package/dist/util/whenDOMReady.js +11 -10
  427. package/dist/util/whenDOMReady.js.map +1 -0
  428. package/dist/util/willShowContent.d.ts +2 -0
  429. package/dist/util/willShowContent.js +7 -0
  430. package/dist/util/willShowContent.js.map +1 -0
  431. package/dist/validateThemeRoot.d.ts +2 -0
  432. package/dist/validateThemeRoot.js +47 -0
  433. package/dist/validateThemeRoot.js.map +1 -0
  434. package/index.js +1 -1
  435. package/lib/generate-asset-parameters/index.js +8 -5
  436. package/lib/generate-styles/index.js +26 -0
  437. package/lib/generate-version-info/index.js +32 -0
  438. package/package-scripts.js +48 -28
  439. package/package.json +20 -13
  440. package/src/AssetRegistry.ts +11 -0
  441. package/src/Boot.ts +61 -0
  442. package/src/CSP.ts +66 -0
  443. package/src/CustomElementsRegistry.ts +98 -0
  444. package/src/CustomElementsScope.ts +33 -0
  445. package/src/CustomElementsScopeUtils.ts +115 -0
  446. package/src/DOMObserver.ts +28 -0
  447. package/src/Device.ts +124 -0
  448. package/src/EventProvider.ts +87 -0
  449. package/src/FeaturesRegistry.ts +14 -0
  450. package/src/FontFace.ts +31 -0
  451. package/src/InitialConfiguration.ts +207 -0
  452. package/src/Keys.ts +295 -0
  453. package/src/ManagedStyles.ts +92 -0
  454. package/src/MarkedEvents.ts +20 -0
  455. package/src/MediaRange.ts +110 -0
  456. package/src/PropertiesFileFormat.ts +95 -0
  457. package/src/Render.ts +180 -0
  458. package/src/RenderQueue.ts +71 -0
  459. package/src/Runtimes.ts +114 -0
  460. package/src/StaticArea.ts +3 -0
  461. package/src/StaticAreaItem.ts +113 -0
  462. package/src/SystemCSSVars.ts +10 -0
  463. package/src/Theming.ts +4 -0
  464. package/src/UI5Element.ts +1155 -0
  465. package/src/UI5ElementMetadata.ts +389 -0
  466. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  467. package/src/animations/animate.ts +64 -0
  468. package/src/animations/scroll.ts +21 -0
  469. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  470. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  471. package/src/asset-registries/Icons.ts +162 -0
  472. package/src/asset-registries/Illustrations.ts +75 -0
  473. package/src/asset-registries/LocaleData.ts +172 -0
  474. package/src/asset-registries/Themes.ts +67 -0
  475. package/src/asset-registries/i18n.ts +118 -0
  476. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  477. package/src/config/AnimationMode.ts +33 -0
  478. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  479. package/src/config/FormatSettings.ts +21 -0
  480. package/src/config/Icons.ts +59 -0
  481. package/src/config/Language.ts +72 -0
  482. package/src/config/NoConflict.ts +67 -0
  483. package/src/config/{RTL.js → RTL.ts} +14 -4
  484. package/src/config/Theme.ts +64 -0
  485. package/src/config/ThemeRoots.ts +41 -0
  486. package/src/css/BusyIndicator.css +80 -0
  487. package/src/css/FontFace.css +66 -0
  488. package/src/css/OverrideFontFace.css +32 -0
  489. package/src/css/SystemCSSVars.css +17 -0
  490. package/src/decorators/customElement.ts +17 -0
  491. package/src/decorators/event.ts +28 -0
  492. package/src/decorators/fastNavigation.ts +14 -0
  493. package/src/decorators/languageAware.ts +14 -0
  494. package/src/decorators/property.ts +30 -0
  495. package/src/decorators/slot.ts +49 -0
  496. package/src/decorators/themeAware.ts +14 -0
  497. package/src/delegate/ItemNavigation.ts +393 -0
  498. package/src/delegate/ResizeHandler.ts +95 -0
  499. package/src/delegate/ScrollEnablement.ts +224 -0
  500. package/src/features/F6Navigation.ts +141 -0
  501. package/src/features/OpenUI5Element.ts +11 -0
  502. package/src/features/OpenUI5Enablement.ts +117 -0
  503. package/src/features/OpenUI5Support.ts +148 -0
  504. package/src/getSharedResource.ts +30 -0
  505. package/src/global.d.ts +44 -0
  506. package/src/i18nBundle.ts +108 -0
  507. package/src/locale/{Locale.js → Locale.ts} +15 -5
  508. package/src/locale/RTLAwareRegistry.ts +16 -0
  509. package/src/locale/applyDirection.ts +18 -0
  510. package/src/locale/directionChange.ts +34 -0
  511. package/src/locale/getEffectiveDir.ts +28 -0
  512. package/src/locale/{getLocale.js → getLocale.ts} +20 -5
  513. package/src/locale/languageChange.ts +24 -0
  514. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  515. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  516. package/src/renderer/LitRenderer.ts +60 -0
  517. package/src/renderer/directives/style-map.js +72 -0
  518. package/src/renderer/executeTemplate.ts +40 -0
  519. package/src/theming/CustomStyle.ts +62 -0
  520. package/src/theming/ThemeLoaded.ts +24 -0
  521. package/src/theming/applyTheme.ts +90 -0
  522. package/src/theming/getConstructableStyle.ts +31 -0
  523. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  524. package/src/theming/getEffectiveStyle.ts +41 -0
  525. package/src/theming/getStylesString.ts +15 -0
  526. package/src/theming/getThemeDesignerTheme.ts +101 -0
  527. package/src/theming/preloadLinks.ts +24 -0
  528. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  529. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  530. package/src/thirdparty/merge.ts +5 -0
  531. package/src/types/AnimationMode.ts +33 -0
  532. package/src/types/CSSColor.ts +20 -0
  533. package/src/types/CalendarType.ts +38 -0
  534. package/src/types/DOMReference.ts +28 -0
  535. package/src/types/DataType.ts +51 -0
  536. package/src/types/Float.ts +25 -0
  537. package/src/types/Integer.ts +25 -0
  538. package/src/types/InvisibleMessageMode.ts +27 -0
  539. package/src/types/ItemNavigationBehavior.ts +26 -0
  540. package/src/types/NavigationMode.ts +33 -0
  541. package/src/types/ValueState.ts +47 -0
  542. package/src/types.ts +30 -0
  543. package/src/updateShadowRoot.ts +37 -0
  544. package/src/util/AriaLabelHelper.ts +63 -0
  545. package/src/util/Caret.ts +28 -0
  546. package/src/util/ColorConversion.ts +399 -0
  547. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  548. package/src/util/FocusableElements.ts +82 -0
  549. package/src/util/HTMLSanitizer.ts +9 -0
  550. package/src/util/InvisibleMessage.ts +69 -0
  551. package/src/util/PopupUtils.ts +112 -0
  552. package/src/util/SlotsHelper.ts +39 -0
  553. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  554. package/src/util/TabbableElements.ts +70 -0
  555. package/src/util/arraysAreEqual.ts +15 -0
  556. package/src/util/clamp.ts +12 -0
  557. package/src/util/createLinkInHead.ts +25 -0
  558. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  559. package/src/util/debounce.ts +18 -0
  560. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  561. package/src/util/escapeRegex.ts +11 -0
  562. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  563. package/src/util/generateHighlightedMarkup.ts +43 -0
  564. package/src/util/getActiveElement.ts +11 -0
  565. package/src/util/getClassCopy.ts +12 -0
  566. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  567. package/src/util/getEffectiveContentDensity.ts +5 -0
  568. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  569. package/src/util/getFastNavigationGroups.ts +63 -0
  570. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  571. package/src/util/getNormalizedTarget.ts +16 -0
  572. package/src/util/getSingletonElementInstance.ts +13 -0
  573. package/src/util/isElementClickable.ts +19 -0
  574. package/src/util/isElementHidden.ts +9 -0
  575. package/src/util/isElementInView.ts +15 -0
  576. package/src/util/isElementTabbable.ts +37 -0
  577. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +10 -4
  578. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  579. package/src/util/willShowContent.ts +7 -0
  580. package/src/validateThemeRoot.ts +58 -0
  581. package/tsconfig.json +13 -0
  582. package/used-modules.txt +10 -0
  583. package/bundle.es5.js +0 -28
  584. package/config/.eslintrc.js +0 -3
  585. package/config/rollup.config.js +0 -1
  586. package/dist/RenderScheduler.js +0 -146
  587. package/dist/SVGIconRegistry.js +0 -60
  588. package/dist/animations/config.js +0 -5
  589. package/dist/boot.js +0 -32
  590. package/dist/compatibility/DOMObserver.js +0 -62
  591. package/dist/compatibility/patchNodeValue.js +0 -24
  592. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  593. package/dist/delegate/CustomResize.js +0 -78
  594. package/dist/delegate/NativeResize.js +0 -44
  595. package/dist/features/browsersupport/Edge.js +0 -6
  596. package/dist/features/browsersupport/IE11.js +0 -41
  597. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  598. package/dist/renderer/ifDefined.js +0 -21
  599. package/dist/resources/bundle.es5.js +0 -212
  600. package/dist/resources/bundle.es5.js.map +0 -1
  601. package/dist/resources/bundle.esm.js +0 -129
  602. package/dist/resources/bundle.esm.js.map +0 -1
  603. package/dist/test-resources/assets/Themes.js +0 -13
  604. package/dist/test-resources/elements/Child.js +0 -35
  605. package/dist/test-resources/elements/Generic.js +0 -84
  606. package/dist/test-resources/elements/GenericExt.js +0 -26
  607. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  608. package/dist/test-resources/elements/Parent.js +0 -37
  609. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  610. package/dist/test-resources/pages/AllTestElements.html +0 -42
  611. package/dist/test-resources/pages/Configuration.html +0 -20
  612. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  613. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  614. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  615. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  616. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  617. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  618. package/dist/test-resources/specs/Theming.spec.js +0 -31
  619. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  620. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  621. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  622. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  623. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  624. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  625. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  626. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  627. package/dist/theming/CSSVarsPonyfill.js +0 -24
  628. package/dist/theming/adaptCSSForIE.js +0 -90
  629. package/dist/theming/createComponentStyleTag.js +0 -49
  630. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  631. package/dist/thirdparty/Array.from.js +0 -16
  632. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  633. package/dist/thirdparty/Array.prototype.find.js +0 -46
  634. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  635. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  636. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  637. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  638. package/dist/thirdparty/Number.isInteger.js +0 -5
  639. package/dist/thirdparty/Number.isNaN.js +0 -1
  640. package/dist/thirdparty/Number.parseInt.js +0 -1
  641. package/dist/thirdparty/Object.assign.js +0 -31
  642. package/dist/thirdparty/Object.entries.js +0 -11
  643. package/dist/thirdparty/Symbol.js +0 -2
  644. package/dist/thirdparty/WeakSet.js +0 -27
  645. package/dist/thirdparty/es6-string-methods.js +0 -182
  646. package/dist/thirdparty/events-polyfills.js +0 -89
  647. package/dist/thirdparty/fetch.js +0 -1
  648. package/dist/thirdparty/template.js +0 -600
  649. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  650. package/dist/types/CSSSize.js +0 -9
  651. package/dist/types/PopupState.js +0 -37
  652. package/dist/util/findNodeOwner.js +0 -35
  653. package/dist/util/isDescendantOf.js +0 -15
  654. package/dist/util/isNodeClickable.js +0 -19
  655. package/dist/util/isNodeHidden.js +0 -13
  656. package/dist/util/isNodeTabbable.js +0 -28
  657. package/dist/util/isSlot.js +0 -3
  658. package/dist/webcomponentsjs/LICENSE.md +0 -19
  659. package/dist/webcomponentsjs/README.md +0 -229
  660. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  661. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  662. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  663. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  664. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  665. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  666. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  667. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  668. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  669. package/dist/webcomponentsjs/package.json +0 -46
  670. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  671. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  672. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  673. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  674. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  675. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  676. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  677. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  678. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  679. package/src/AssetRegistry.js +0 -10
  680. package/src/CustomElementsRegistry.js +0 -23
  681. package/src/Device.js +0 -823
  682. package/src/EventProvider.js +0 -73
  683. package/src/FeaturesRegistry.js +0 -11
  684. package/src/FontFace.js +0 -73
  685. package/src/InitialConfiguration.js +0 -131
  686. package/src/Keys.js +0 -161
  687. package/src/RenderQueue.js +0 -42
  688. package/src/RenderScheduler.js +0 -146
  689. package/src/SVGIconRegistry.js +0 -60
  690. package/src/StaticArea.js +0 -41
  691. package/src/StaticAreaItem.js +0 -105
  692. package/src/Theming.js +0 -3
  693. package/src/UI5Element.js +0 -926
  694. package/src/UI5ElementMetadata.js +0 -171
  695. package/src/animations/animate.js +0 -53
  696. package/src/animations/config.js +0 -5
  697. package/src/animations/scroll.js +0 -28
  698. package/src/asset-registries/Icons.js +0 -24
  699. package/src/asset-registries/LocaleData.js +0 -125
  700. package/src/asset-registries/Themes.js +0 -87
  701. package/src/asset-registries/i18n.js +0 -79
  702. package/src/boot.js +0 -32
  703. package/src/compatibility/DOMObserver.js +0 -62
  704. package/src/compatibility/patchNodeValue.js +0 -24
  705. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  706. package/src/config/AnimationMode.js +0 -13
  707. package/src/config/FormatSettings.js +0 -13
  708. package/src/config/Language.js +0 -12
  709. package/src/config/NoConflict.js +0 -51
  710. package/src/config/Theme.js +0 -28
  711. package/src/delegate/CustomResize.js +0 -78
  712. package/src/delegate/ItemNavigation.js +0 -278
  713. package/src/delegate/NativeResize.js +0 -44
  714. package/src/delegate/ResizeHandler.js +0 -66
  715. package/src/delegate/ScrollEnablement.js +0 -159
  716. package/src/features/OpenUI5Support.js +0 -90
  717. package/src/features/browsersupport/Edge.js +0 -6
  718. package/src/features/browsersupport/IE11.js +0 -41
  719. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  720. package/src/i18nBundle.js +0 -33
  721. package/src/renderer/LitRenderer.js +0 -15
  722. package/src/renderer/ifDefined.js +0 -21
  723. package/src/theming/CSSVarsPonyfill.js +0 -24
  724. package/src/theming/CustomStyle.js +0 -19
  725. package/src/theming/adaptCSSForIE.js +0 -90
  726. package/src/theming/applyTheme.js +0 -81
  727. package/src/theming/createComponentStyleTag.js +0 -49
  728. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  729. package/src/theming/getConstructableStyle.js +0 -25
  730. package/src/theming/getEffectiveStyle.js +0 -15
  731. package/src/theming/getThemeDesignerTheme.js +0 -67
  732. package/src/thirdparty/Array.from.js +0 -16
  733. package/src/thirdparty/Array.prototype.fill.js +0 -44
  734. package/src/thirdparty/Array.prototype.find.js +0 -46
  735. package/src/thirdparty/Array.prototype.includes.js +0 -51
  736. package/src/thirdparty/Element.prototype.closest.js +0 -11
  737. package/src/thirdparty/Element.prototype.matches.js +0 -6
  738. package/src/thirdparty/Map.prototype.keys.js +0 -9
  739. package/src/thirdparty/Number.isInteger.js +0 -5
  740. package/src/thirdparty/Number.isNaN.js +0 -1
  741. package/src/thirdparty/Number.parseInt.js +0 -1
  742. package/src/thirdparty/Object.assign.js +0 -31
  743. package/src/thirdparty/Object.entries.js +0 -11
  744. package/src/thirdparty/Symbol.js +0 -2
  745. package/src/thirdparty/WeakSet.js +0 -27
  746. package/src/thirdparty/es6-string-methods.js +0 -182
  747. package/src/thirdparty/events-polyfills.js +0 -89
  748. package/src/thirdparty/fetch.js +0 -1
  749. package/src/thirdparty/merge.js +0 -10
  750. package/src/thirdparty/template.js +0 -600
  751. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  752. package/src/types/AnimationMode.js +0 -7
  753. package/src/types/CSSSize.js +0 -9
  754. package/src/types/CalendarType.js +0 -22
  755. package/src/types/DataType.js +0 -25
  756. package/src/types/Integer.js +0 -9
  757. package/src/types/ItemNavigationBehavior.js +0 -21
  758. package/src/types/NavigationMode.js +0 -6
  759. package/src/types/PopupState.js +0 -37
  760. package/src/types/ValueState.js +0 -22
  761. package/src/util/FocusableElements.js +0 -60
  762. package/src/util/TabbableElements.js +0 -47
  763. package/src/util/findNodeOwner.js +0 -35
  764. package/src/util/isDescendantOf.js +0 -15
  765. package/src/util/isNodeClickable.js +0 -19
  766. package/src/util/isNodeHidden.js +0 -13
  767. package/src/util/isNodeTabbable.js +0 -28
  768. package/src/util/isSlot.js +0 -3
@@ -0,0 +1,43 @@
1
+ import { registerI18nLoader } from "./asset-registries/i18n.js";
2
+ type I18nText = {
3
+ key: string;
4
+ defaultText: string;
5
+ };
6
+ type I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;
7
+ /**
8
+ * @class
9
+ * @public
10
+ */
11
+ declare class I18nBundle {
12
+ packageName: string;
13
+ constructor(packageName: string);
14
+ /**
15
+ * Returns a text in the currently loaded language
16
+ *
17
+ * @public
18
+ * @param {Object|String} textObj key/defaultText pair or just the key
19
+ * @param params Values for the placeholders
20
+ * @returns {string}
21
+ */
22
+ getText(textObj: I18nText, ...params: Array<number | string>): string;
23
+ }
24
+ /**
25
+ * Fetches and returns the I18nBundle instance for the given package.
26
+ *
27
+ * @public
28
+ * @param packageName
29
+ * @returns { Promise<I18nBundle> }
30
+ */
31
+ declare const getI18nBundle: (packageName: string) => Promise<I18nBundle>;
32
+ /**
33
+ * Allows developers to provide a custom getI18nBundle implementation
34
+ * If this function is called, the custom implementation will be used for all components and will completely
35
+ * replace the default implementation.
36
+ *
37
+ * @public
38
+ * @param customGet the function to use instead of the standard getI18nBundle implementation
39
+ */
40
+ declare const registerCustomI18nBundleGetter: (customGet: I18nBundleGetter) => void;
41
+ export default I18nBundle;
42
+ export { registerI18nLoader, getI18nBundle, registerCustomI18nBundleGetter, };
43
+ export type { I18nText, };
@@ -1,33 +1,78 @@
1
- import { fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
1
+ import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
2
2
  import formatMessage from "./util/formatMessage.js";
3
-
4
3
  const I18nBundleInstances = new Map();
5
-
4
+ let customGetI18nBundle;
5
+ /**
6
+ * @class
7
+ * @public
8
+ */
6
9
  class I18nBundle {
7
- constructor(packageName) {
8
- this.packageName = packageName;
9
- }
10
-
11
- getText(textObj, ...params) {
12
- if (!textObj || !textObj.key || !textObj.defaultText) {
13
- return "";
14
- }
15
-
16
- const bundle = getI18nBundleData(this.packageName);
17
- const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : textObj.defaultText;
18
-
19
- return formatMessage(messageText, params);
20
- }
10
+ constructor(packageName) {
11
+ this.packageName = packageName;
12
+ }
13
+ /**
14
+ * Returns a text in the currently loaded language
15
+ *
16
+ * @public
17
+ * @param {Object|String} textObj key/defaultText pair or just the key
18
+ * @param params Values for the placeholders
19
+ * @returns {string}
20
+ */
21
+ getText(textObj, ...params) {
22
+ if (typeof textObj === "string") {
23
+ textObj = { key: textObj, defaultText: textObj };
24
+ }
25
+ if (!textObj || !textObj.key) {
26
+ return "";
27
+ }
28
+ const bundle = getI18nBundleData(this.packageName);
29
+ if (bundle && !bundle[textObj.key]) {
30
+ console.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`); // eslint-disable-line
31
+ }
32
+ const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
33
+ return formatMessage(messageText, params);
34
+ }
21
35
  }
22
-
23
- const getI18nBundle = packageName => {
24
- if (I18nBundleInstances.has(packageName)) {
25
- return I18nBundleInstances.get(packageName);
26
- }
27
-
28
- const i18nBundle = new I18nBundle(packageName);
29
- I18nBundleInstances.set(packageName, i18nBundle);
30
- return i18nBundle;
36
+ /**
37
+ * Returns the I18nBundle instance for the given package synchronously.
38
+ *
39
+ * @public
40
+ * @param packageName
41
+ * @returns { I18nBundle }
42
+ */
43
+ const getI18nBundleSync = (packageName) => {
44
+ if (I18nBundleInstances.has(packageName)) {
45
+ return I18nBundleInstances.get(packageName);
46
+ }
47
+ const i18nBundle = new I18nBundle(packageName);
48
+ I18nBundleInstances.set(packageName, i18nBundle);
49
+ return i18nBundle;
31
50
  };
32
-
33
- export { fetchI18nBundle, getI18nBundle };
51
+ /**
52
+ * Fetches and returns the I18nBundle instance for the given package.
53
+ *
54
+ * @public
55
+ * @param packageName
56
+ * @returns { Promise<I18nBundle> }
57
+ */
58
+ const getI18nBundle = async (packageName) => {
59
+ if (customGetI18nBundle) {
60
+ return customGetI18nBundle(packageName);
61
+ }
62
+ await fetchI18nBundle(packageName);
63
+ return getI18nBundleSync(packageName);
64
+ };
65
+ /**
66
+ * Allows developers to provide a custom getI18nBundle implementation
67
+ * If this function is called, the custom implementation will be used for all components and will completely
68
+ * replace the default implementation.
69
+ *
70
+ * @public
71
+ * @param customGet the function to use instead of the standard getI18nBundle implementation
72
+ */
73
+ const registerCustomI18nBundleGetter = (customGet) => {
74
+ customGetI18nBundle = customGet;
75
+ };
76
+ export default I18nBundle;
77
+ export { registerI18nLoader, getI18nBundle, registerCustomI18nBundleGetter, };
78
+ //# sourceMappingURL=i18nBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nBundle.js","sourceRoot":"","sources":["../src/i18nBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE1D,IAAI,mBAAqC,CAAC;AAS1C;;;GAGG;AACH,MAAM,UAAU;IAGf,YAAY,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAiB,EAAE,GAAG,MAA8B;QAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAChC,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;SACV;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,GAAG,8DAA8D,CAAC,CAAC,CAAC,sBAAsB;SACtH;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/G,OAAO,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACD;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAc,EAAE;IAC7D,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACzC,OAAO,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;KAC7C;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/C,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,WAAmB,EAAuB,EAAE;IACxE,IAAI,mBAAmB,EAAE;QACxB,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;KACxC;IAED,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,8BAA8B,GAAG,CAAC,SAA2B,EAAE,EAAE;IACtE,mBAAmB,GAAG,SAAS,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC;AAE1B,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,8BAA8B,GAC9B,CAAC"}
@@ -0,0 +1,22 @@
1
+ declare class Locale {
2
+ sLocaleId: string;
3
+ sLanguage: string;
4
+ sScript: string;
5
+ sRegion: string;
6
+ sVariant: string | null;
7
+ sExtension: string | null;
8
+ sPrivateUse: string | null;
9
+ constructor(sLocaleId: string);
10
+ getLanguage(): string;
11
+ getScript(): string;
12
+ getRegion(): string;
13
+ getVariant(): string | null;
14
+ getVariantSubtags(): string[];
15
+ getExtension(): string | null;
16
+ getExtensionSubtags(): string[];
17
+ getPrivateUse(): string | null;
18
+ getPrivateUseSubtags(): string[];
19
+ hasPrivateUseSubtag(sSubtag: string): boolean;
20
+ toString(): string;
21
+ }
22
+ export default Locale;
@@ -1,91 +1,79 @@
1
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
1
2
  const rLocale = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
2
-
3
3
  class Locale {
4
- constructor(sLocaleId) {
5
- const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
6
- if (aResult === null) {
7
- throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
8
- }
9
- this.sLocaleId = sLocaleId;
10
- this.sLanguage = aResult[1] || null;
11
- this.sScript = aResult[2] || null;
12
- this.sRegion = aResult[3] || null;
13
- this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
14
- this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
15
- this.sPrivateUse = aResult[6] || null;
16
- if (this.sLanguage) {
17
- this.sLanguage = this.sLanguage.toLowerCase();
18
- }
19
- if (this.sScript) {
20
- this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
21
- return s.toUpperCase();
22
- });
23
- }
24
- if (this.sRegion) {
25
- this.sRegion = this.sRegion.toUpperCase();
26
- }
27
- }
28
-
29
- getLanguage() {
30
- return this.sLanguage;
31
- }
32
-
33
- getScript() {
34
- return this.sScript;
35
- }
36
-
37
- getRegion() {
38
- return this.sRegion;
39
- }
40
-
41
- getVariant() {
42
- return this.sVariant;
43
- }
44
-
45
- getVariantSubtags() {
46
- return this.sVariant ? this.sVariant.split("-") : [];
47
- }
48
-
49
- getExtension() {
50
- return this.sExtension;
51
- }
52
-
53
- getExtensionSubtags() {
54
- return this.sExtension ? this.sExtension.slice(2).split("-") : [];
55
- }
56
-
57
- getPrivateUse() {
58
- return this.sPrivateUse;
59
- }
60
-
61
- getPrivateUseSubtags() {
62
- return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
63
- }
64
-
65
- hasPrivateUseSubtag(sSubtag) {
66
- return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
67
- }
68
-
69
- toString() {
70
- const r = [this.sLanguage];
71
-
72
- if (this.sScript) {
73
- r.push(this.sScript);
74
- }
75
- if (this.sRegion) {
76
- r.push(this.sRegion);
77
- }
78
- if (this.sVariant) {
79
- r.push(this.sVariant);
80
- }
81
- if (this.sExtension) {
82
- r.push(this.sExtension);
83
- }
84
- if (this.sPrivateUse) {
85
- r.push(this.sPrivateUse);
86
- }
87
- return r.join("-");
88
- }
4
+ constructor(sLocaleId) {
5
+ const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
6
+ if (aResult === null) {
7
+ throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
8
+ }
9
+ this.sLocaleId = sLocaleId;
10
+ this.sLanguage = aResult[1] || DEFAULT_LANGUAGE;
11
+ this.sScript = aResult[2] || "";
12
+ this.sRegion = aResult[3] || "";
13
+ this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
14
+ this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
15
+ this.sPrivateUse = aResult[6] || null;
16
+ if (this.sLanguage) {
17
+ this.sLanguage = this.sLanguage.toLowerCase();
18
+ }
19
+ if (this.sScript) {
20
+ this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
21
+ return s.toUpperCase();
22
+ });
23
+ }
24
+ if (this.sRegion) {
25
+ this.sRegion = this.sRegion.toUpperCase();
26
+ }
27
+ }
28
+ getLanguage() {
29
+ return this.sLanguage;
30
+ }
31
+ getScript() {
32
+ return this.sScript;
33
+ }
34
+ getRegion() {
35
+ return this.sRegion;
36
+ }
37
+ getVariant() {
38
+ return this.sVariant;
39
+ }
40
+ getVariantSubtags() {
41
+ return this.sVariant ? this.sVariant.split("-") : [];
42
+ }
43
+ getExtension() {
44
+ return this.sExtension;
45
+ }
46
+ getExtensionSubtags() {
47
+ return this.sExtension ? this.sExtension.slice(2).split("-") : [];
48
+ }
49
+ getPrivateUse() {
50
+ return this.sPrivateUse;
51
+ }
52
+ getPrivateUseSubtags() {
53
+ return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
54
+ }
55
+ hasPrivateUseSubtag(sSubtag) {
56
+ return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
57
+ }
58
+ toString() {
59
+ const r = [this.sLanguage];
60
+ if (this.sScript) {
61
+ r.push(this.sScript);
62
+ }
63
+ if (this.sRegion) {
64
+ r.push(this.sRegion);
65
+ }
66
+ if (this.sVariant) {
67
+ r.push(this.sVariant);
68
+ }
69
+ if (this.sExtension) {
70
+ r.push(this.sExtension);
71
+ }
72
+ if (this.sPrivateUse) {
73
+ r.push(this.sPrivateUse);
74
+ }
75
+ return r.join("-");
76
+ }
89
77
  }
90
-
91
78
  export default Locale;
79
+ //# sourceMappingURL=Locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Locale.js","sourceRoot":"","sources":["../../src/locale/Locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,OAAO,GAAG,4MAA4M,CAAC;AAE7N,MAAM,MAAM;IASX,YAAY,SAAiB;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,IAAI,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,6BAA6B,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gBAC/D,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;SACH;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SAC1C;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,mBAAmB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,oBAAoB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACP,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACD;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type UI5Element from "../UI5Element";
2
+ declare const markAsRtlAware: (klass: typeof UI5Element) => void;
3
+ declare const isRtlAware: (klass: typeof UI5Element) => boolean;
4
+ export { markAsRtlAware, isRtlAware, };
@@ -0,0 +1,9 @@
1
+ const rtlAwareSet = new Set();
2
+ const markAsRtlAware = (klass) => {
3
+ rtlAwareSet.add(klass);
4
+ };
5
+ const isRtlAware = (klass) => {
6
+ return rtlAwareSet.has(klass);
7
+ };
8
+ export { markAsRtlAware, isRtlAware, };
9
+ //# sourceMappingURL=RTLAwareRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTLAwareRegistry.js","sourceRoot":"","sources":["../../src/locale/RTLAwareRegistry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;AAEjD,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,EAAE;IACnD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,EAAE;IAC/C,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,OAAO,EACN,cAAc,EACd,UAAU,GACV,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Re-renders all RTL-aware UI5 Elements.
3
+ *
4
+ * <b>Note:</b> Call this method whenever you change the "dir" property anywhere in your HTML page.
5
+ * <b>Example:</b> <code>document.body.dir = "rtl"; applyDirection();</code>
6
+ * @public
7
+ * @returns {Promise<void>}
8
+ */
9
+ declare const applyDirection: () => Promise<void>;
10
+ export default applyDirection;
@@ -0,0 +1,17 @@
1
+ import { reRenderAllUI5Elements } from "../Render.js";
2
+ import { fireDirectionChange } from "./directionChange.js";
3
+ /**
4
+ * Re-renders all RTL-aware UI5 Elements.
5
+ *
6
+ * <b>Note:</b> Call this method whenever you change the "dir" property anywhere in your HTML page.
7
+ * <b>Example:</b> <code>document.body.dir = "rtl"; applyDirection();</code>
8
+ * @public
9
+ * @returns {Promise<void>}
10
+ */
11
+ const applyDirection = async () => {
12
+ const listenersResults = fireDirectionChange();
13
+ await Promise.all(listenersResults);
14
+ await reRenderAllUI5Elements({ rtlAware: true });
15
+ };
16
+ export default applyDirection;
17
+ //# sourceMappingURL=applyDirection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyDirection.js","sourceRoot":"","sources":["../../src/locale/applyDirection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;IAChD,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,MAAM,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ type DirectionChangeCallback = () => void;
2
+ /**
3
+ * Attach a callback that will be executed whenever the application calls the "applyDirection" function
4
+ * @public
5
+ * @param listener
6
+ */
7
+ declare const attachDirectionChange: (listener: DirectionChangeCallback) => void;
8
+ /**
9
+ * Detach a callback that was passed with "attachDirectionChange"
10
+ * @public
11
+ * @param listener
12
+ */
13
+ declare const detachDirectionChange: (listener: DirectionChangeCallback) => void;
14
+ declare const fireDirectionChange: () => void[];
15
+ export { attachDirectionChange, detachDirectionChange, fireDirectionChange, };
@@ -0,0 +1,24 @@
1
+ import EventProvider from "../EventProvider.js";
2
+ const eventProvider = new EventProvider();
3
+ const DIR_CHANGE = "directionChange";
4
+ /**
5
+ * Attach a callback that will be executed whenever the application calls the "applyDirection" function
6
+ * @public
7
+ * @param listener
8
+ */
9
+ const attachDirectionChange = (listener) => {
10
+ eventProvider.attachEvent(DIR_CHANGE, listener);
11
+ };
12
+ /**
13
+ * Detach a callback that was passed with "attachDirectionChange"
14
+ * @public
15
+ * @param listener
16
+ */
17
+ const detachDirectionChange = (listener) => {
18
+ eventProvider.detachEvent(DIR_CHANGE, listener);
19
+ };
20
+ const fireDirectionChange = () => {
21
+ return eventProvider.fireEvent(DIR_CHANGE, undefined);
22
+ };
23
+ export { attachDirectionChange, detachDirectionChange, fireDirectionChange, };
24
+ //# sourceMappingURL=directionChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directionChange.js","sourceRoot":"","sources":["../../src/locale/directionChange.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAmB,CAAC;AAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,OAAO,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EACN,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const getEffectiveDir: (element: HTMLElement) => string | undefined;
2
+ export default getEffectiveDir;
@@ -0,0 +1,24 @@
1
+ import { getRTL } from "../config/RTL.js";
2
+ const GLOBAL_DIR_CSS_VAR = "--_ui5_dir";
3
+ const getEffectiveDir = (element) => {
4
+ const doc = window.document;
5
+ const dirValues = ["ltr", "rtl"]; // exclude "auto" and "" from all calculations
6
+ const locallyAppliedDir = getComputedStyle(element).getPropertyValue(GLOBAL_DIR_CSS_VAR);
7
+ // In that order, inspect the CSS Var (for modern browsers), the element itself, html and body (for IE fallback)
8
+ if (dirValues.includes(locallyAppliedDir)) {
9
+ return locallyAppliedDir;
10
+ }
11
+ if (dirValues.includes(element.dir)) {
12
+ return element.dir;
13
+ }
14
+ if (dirValues.includes(doc.documentElement.dir)) {
15
+ return doc.documentElement.dir;
16
+ }
17
+ if (dirValues.includes(doc.body.dir)) {
18
+ return doc.body.dir;
19
+ }
20
+ // Finally, check the configuration for explicitly set RTL or language-implied RTL
21
+ return getRTL() ? "rtl" : undefined;
22
+ };
23
+ export default getEffectiveDir;
24
+ //# sourceMappingURL=getEffectiveDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEffectiveDir.js","sourceRoot":"","sources":["../../src/locale/getEffectiveDir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,MAAM,eAAe,GAAG,CAAC,OAAoB,EAAE,EAAE;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5B,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,8CAA8C;IAChF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAEzF,gHAAgH;IAChH,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAC1C,OAAO,iBAAiB,CAAC;KACzB;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC;KACnB;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;QAChD,OAAO,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;KAC/B;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;KACpB;IAED,kFAAkF;IAClF,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ import Locale from "./Locale.js";
2
+ /**
3
+ * Returns the locale based on the parameter or configured language Configuration#getLanguage
4
+ * If no language has been configured - a new locale based on browser language is returned
5
+ */
6
+ declare const getLocale: (lang?: string) => Locale;
7
+ export default getLocale;
@@ -1,31 +1,38 @@
1
1
  import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
2
2
  import { getLanguage as getConfigLanguage } from "../config/Language.js";
3
3
  import Locale from "./Locale.js";
4
-
5
- const convertToLocaleOrNull = lang => {
6
- try {
7
- if (lang && typeof lang === "string") {
8
- return new Locale(lang);
9
- }
10
- } catch (e) {
11
- // ignore
12
- }
4
+ import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
5
+ const cache = new Map();
6
+ const getLocaleInstance = (lang) => {
7
+ if (!cache.has(lang)) {
8
+ cache.set(lang, new Locale(lang));
9
+ }
10
+ return cache.get(lang);
11
+ };
12
+ const convertToLocaleOrNull = (lang) => {
13
+ try {
14
+ if (lang && typeof lang === "string") {
15
+ return getLocaleInstance(lang);
16
+ }
17
+ }
18
+ catch (e) {
19
+ // ignore
20
+ }
21
+ return new Locale(DEFAULT_LOCALE);
13
22
  };
14
-
15
23
  /**
16
24
  * Returns the locale based on the parameter or configured language Configuration#getLanguage
17
25
  * If no language has been configured - a new locale based on browser language is returned
18
26
  */
19
- const getLocale = lang => {
20
- if (lang) {
21
- return convertToLocaleOrNull(lang);
22
- }
23
-
24
- if (getConfigLanguage()) {
25
- return new Locale(getConfigLanguage());
26
- }
27
-
28
- return convertToLocaleOrNull(detectNavigatorLanguage());
27
+ const getLocale = (lang) => {
28
+ if (lang) {
29
+ return convertToLocaleOrNull(lang);
30
+ }
31
+ const configLanguage = getConfigLanguage();
32
+ if (configLanguage) {
33
+ return getLocaleInstance(configLanguage);
34
+ }
35
+ return convertToLocaleOrNull(detectNavigatorLanguage());
29
36
  };
30
-
31
37
  export default getLocale;
38
+ //# sourceMappingURL=getLocale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLocale.js","sourceRoot":"","sources":["../../src/locale/getLocale.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACrB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KAClC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9C,IAAI;QACH,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC/B;KACD;IAAC,OAAO,CAAC,EAAE;QACX,SAAS;KACT;IAED,OAAO,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAC,IAAa,EAAU,EAAE;IAC3C,IAAI,IAAI,EAAE;QACT,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAI,cAAc,EAAE;QACnB,OAAO,iBAAiB,CAAC,cAAc,CAAC,CAAC;KACzC;IAED,OAAO,qBAAqB,CAAC,uBAAuB,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ type LanguageChangeCallback = (lang: string) => Promise<void | Array<void>>;
2
+ declare const attachLanguageChange: (listener: LanguageChangeCallback) => void;
3
+ declare const detachLanguageChange: (listener: LanguageChangeCallback) => void;
4
+ declare const fireLanguageChange: (lang: string) => Promise<(void | void[])[]>;
5
+ export { attachLanguageChange, detachLanguageChange, fireLanguageChange, };
@@ -0,0 +1,14 @@
1
+ import EventProvider from "../EventProvider.js";
2
+ const eventProvider = new EventProvider();
3
+ const LANG_CHANGE = "languageChange";
4
+ const attachLanguageChange = (listener) => {
5
+ eventProvider.attachEvent(LANG_CHANGE, listener);
6
+ };
7
+ const detachLanguageChange = (listener) => {
8
+ eventProvider.detachEvent(LANG_CHANGE, listener);
9
+ };
10
+ const fireLanguageChange = (lang) => {
11
+ return eventProvider.fireEventAsync(LANG_CHANGE, lang);
12
+ };
13
+ export { attachLanguageChange, detachLanguageChange, fireLanguageChange, };
14
+ //# sourceMappingURL=languageChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageChange.js","sourceRoot":"","sources":["../../src/locale/languageChange.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAuC,CAAC;AAC/E,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,MAAM,oBAAoB,GAAG,CAAC,QAAgC,EAAE,EAAE;IACjE,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,QAAgC,EAAE,EAAE;IACjE,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,OAAO,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Calculates the next fallback locale for the given locale.
3
+ *
4
+ * @param {string} locale Locale string in Java format (underscores) or null
5
+ * @returns {string} Next fallback Locale or "en" if no fallbacks found.
6
+ */
7
+ declare const nextFallbackLocale: (locale: string) => string;
8
+ export default nextFallbackLocale;
@@ -1,28 +1,24 @@
1
1
  import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
2
-
3
2
  /**
4
3
  * Calculates the next fallback locale for the given locale.
5
4
  *
6
5
  * @param {string} locale Locale string in Java format (underscores) or null
7
6
  * @returns {string} Next fallback Locale or "en" if no fallbacks found.
8
7
  */
9
- const nextFallbackLocale = locale => {
10
- if (!locale) {
11
- return DEFAULT_LOCALE;
12
- }
13
-
14
- if (locale === "zh_HK") {
15
- return "zh_TW";
16
- }
17
-
18
- // if there are multiple segments (separated by underscores), remove the last one
19
- const p = locale.lastIndexOf("_");
20
- if (p >= 0) {
21
- return locale.slice(0, p);
22
- }
23
-
24
- // for any language but the default, fallback to the default first before falling back to the 'raw' language (empty string)
25
- return locale !== DEFAULT_LOCALE ? DEFAULT_LOCALE : "";
8
+ const nextFallbackLocale = (locale) => {
9
+ if (!locale) {
10
+ return DEFAULT_LOCALE;
11
+ }
12
+ if (locale === "zh_HK") {
13
+ return "zh_TW";
14
+ }
15
+ // if there are multiple segments (separated by underscores), remove the last one
16
+ const p = locale.lastIndexOf("_");
17
+ if (p >= 0) {
18
+ return locale.slice(0, p);
19
+ }
20
+ // for any language but the default, fallback to the default first before falling back to the 'raw' language (empty string)
21
+ return locale !== DEFAULT_LOCALE ? DEFAULT_LOCALE : "";
26
22
  };
27
-
28
23
  export default nextFallbackLocale;
24
+ //# sourceMappingURL=nextFallbackLocale.js.map