@ui5/webcomponents-base 0.0.0-ca2fa23d3 → 0.0.0-cad512aa3

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 (740) hide show
  1. package/.eslintignore +6 -0
  2. package/CHANGELOG.md +660 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +32 -26
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +6 -9
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +9 -0
  9. package/dist/Boot.js +71 -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 +78 -0
  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 +159 -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 +22 -63
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +123 -102
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +178 -0
  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 +6 -0
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +99 -0
  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 +4 -45
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +378 -0
  78. package/dist/UI5Element.js +940 -819
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -143
  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 +127 -92
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +11 -0
  109. package/dist/asset-registries/Themes.js +42 -65
  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 +84 -58
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/Boot.318259fc.js +9 -0
  115. package/dist/assets/Boot.34b7cea0.css +1 -0
  116. package/dist/assets/bundle.esm.a4578c3b.js +52 -0
  117. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  118. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  119. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  120. package/dist/config/AnimationMode.d.ts +14 -0
  121. package/dist/config/AnimationMode.js +23 -6
  122. package/dist/config/AnimationMode.js.map +1 -0
  123. package/dist/config/CalendarType.d.ts +8 -0
  124. package/dist/config/CalendarType.js +15 -14
  125. package/dist/config/CalendarType.js.map +1 -0
  126. package/dist/config/FormatSettings.d.ts +15 -0
  127. package/dist/config/FormatSettings.js +16 -6
  128. package/dist/config/FormatSettings.js.map +1 -0
  129. package/dist/config/Icons.d.ts +55 -0
  130. package/dist/config/Icons.js +103 -0
  131. package/dist/config/Icons.js.map +1 -0
  132. package/dist/config/Language.d.ts +40 -0
  133. package/dist/config/Language.js +66 -7
  134. package/dist/config/Language.js.map +1 -0
  135. package/dist/config/NoConflict.d.ts +20 -0
  136. package/dist/config/NoConflict.js +40 -34
  137. package/dist/config/NoConflict.js.map +1 -0
  138. package/dist/config/RTL.d.ts +7 -0
  139. package/dist/config/RTL.js +26 -20
  140. package/dist/config/RTL.js.map +1 -0
  141. package/dist/config/Theme.d.ts +37 -0
  142. package/dist/config/Theme.js +58 -19
  143. package/dist/config/Theme.js.map +1 -0
  144. package/dist/config/ThemeRoots.d.ts +4 -0
  145. package/dist/config/ThemeRoots.js +28 -0
  146. package/dist/config/ThemeRoots.js.map +1 -0
  147. package/dist/css/BusyIndicator.css +80 -0
  148. package/dist/css/FontFace.css +66 -0
  149. package/dist/css/OverrideFontFace.css +32 -0
  150. package/dist/css/SystemCSSVars.css +17 -0
  151. package/dist/decorators/customElement.d.ts +23 -0
  152. package/dist/decorators/customElement.js +31 -0
  153. package/dist/decorators/customElement.js.map +1 -0
  154. package/dist/decorators/event.d.ts +10 -0
  155. package/dist/decorators/event.js +24 -0
  156. package/dist/decorators/event.js.map +1 -0
  157. package/dist/decorators/property.d.ts +9 -0
  158. package/dist/decorators/property.js +24 -0
  159. package/dist/decorators/property.js.map +1 -0
  160. package/dist/decorators/slot.d.ts +9 -0
  161. package/dist/decorators/slot.js +37 -0
  162. package/dist/decorators/slot.js.map +1 -0
  163. package/dist/delegate/ItemNavigation.d.ts +113 -0
  164. package/dist/delegate/ItemNavigation.js +312 -230
  165. package/dist/delegate/ItemNavigation.js.map +1 -0
  166. package/dist/delegate/ResizeHandler.d.ts +25 -0
  167. package/dist/delegate/ResizeHandler.js +82 -63
  168. package/dist/delegate/ResizeHandler.js.map +1 -0
  169. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  170. package/dist/delegate/ScrollEnablement.js +159 -74
  171. package/dist/delegate/ScrollEnablement.js.map +1 -0
  172. package/dist/features/F6Navigation.d.ts +19 -0
  173. package/dist/features/F6Navigation.js +151 -0
  174. package/dist/features/F6Navigation.js.map +1 -0
  175. package/dist/features/LegacyDateFormats.d.ts +18 -0
  176. package/dist/features/LegacyDateFormats.js +20 -0
  177. package/dist/features/LegacyDateFormats.js.map +1 -0
  178. package/dist/features/OpenUI5Element.d.ts +9 -0
  179. package/dist/features/OpenUI5Element.js +5 -0
  180. package/dist/features/OpenUI5Element.js.map +1 -0
  181. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  182. package/dist/features/OpenUI5Enablement.js +96 -0
  183. package/dist/features/OpenUI5Enablement.js.map +1 -0
  184. package/dist/features/OpenUI5Support.d.ts +25 -0
  185. package/dist/features/OpenUI5Support.js +98 -0
  186. package/dist/features/OpenUI5Support.js.map +1 -0
  187. package/dist/generated/AssetParameters.js +13 -0
  188. package/dist/generated/VersionInfo.js +10 -0
  189. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  190. package/dist/generated/css/BusyIndicator.css.js +7 -0
  191. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  192. package/dist/generated/css/FontFace.css.d.ts +3 -0
  193. package/dist/generated/css/FontFace.css.js +7 -0
  194. package/dist/generated/css/FontFace.css.js.map +1 -0
  195. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  196. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  197. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  198. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  199. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  200. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  201. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  202. package/dist/getSharedResource.d.ts +11 -0
  203. package/dist/getSharedResource.js +34 -0
  204. package/dist/getSharedResource.js.map +1 -0
  205. package/dist/global.d.ts +38 -0
  206. package/dist/i18nBundle.d.ts +43 -0
  207. package/dist/i18nBundle.js +73 -30
  208. package/dist/i18nBundle.js.map +1 -0
  209. package/dist/locale/Locale.d.ts +22 -0
  210. package/dist/locale/Locale.js +79 -0
  211. package/dist/locale/Locale.js.map +1 -0
  212. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  213. package/dist/locale/RTLAwareRegistry.js +9 -0
  214. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  215. package/dist/locale/applyDirection.d.ts +10 -0
  216. package/dist/locale/applyDirection.js +17 -0
  217. package/dist/locale/applyDirection.js.map +1 -0
  218. package/dist/locale/directionChange.d.ts +15 -0
  219. package/dist/locale/directionChange.js +24 -0
  220. package/dist/locale/directionChange.js.map +1 -0
  221. package/dist/locale/getEffectiveDir.d.ts +2 -0
  222. package/dist/locale/getEffectiveDir.js +24 -0
  223. package/dist/locale/getEffectiveDir.js.map +1 -0
  224. package/dist/locale/getLocale.d.ts +7 -0
  225. package/dist/locale/getLocale.js +38 -0
  226. package/dist/locale/getLocale.js.map +1 -0
  227. package/dist/locale/languageChange.d.ts +5 -0
  228. package/dist/locale/languageChange.js +14 -0
  229. package/dist/locale/languageChange.js.map +1 -0
  230. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  231. package/dist/locale/nextFallbackLocale.js +24 -0
  232. package/dist/locale/nextFallbackLocale.js.map +1 -0
  233. package/dist/locale/normalizeLocale.d.ts +7 -0
  234. package/dist/locale/normalizeLocale.js +47 -0
  235. package/dist/locale/normalizeLocale.js.map +1 -0
  236. package/dist/renderer/LitRenderer.d.ts +14 -0
  237. package/dist/renderer/LitRenderer.js +38 -12
  238. package/dist/renderer/LitRenderer.js.map +1 -0
  239. package/dist/renderer/directives/style-map.js +72 -0
  240. package/dist/renderer/executeTemplate.d.ts +13 -0
  241. package/dist/renderer/executeTemplate.js +30 -0
  242. package/dist/renderer/executeTemplate.js.map +1 -0
  243. package/dist/sap/base/Log.js +240 -0
  244. package/dist/sap/base/assert.js +7 -0
  245. package/dist/sap/base/security/URLListValidator.js +159 -0
  246. package/dist/sap/base/security/encodeCSS.js +14 -0
  247. package/dist/sap/base/security/encodeXML.js +23 -0
  248. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  249. package/dist/sap/base/strings/toHex.js +8 -0
  250. package/dist/sap/base/util/now.js +7 -0
  251. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  252. package/dist/theming/CustomStyle.d.ts +6 -0
  253. package/dist/theming/CustomStyle.js +46 -17
  254. package/dist/theming/CustomStyle.js.map +1 -0
  255. package/dist/theming/ThemeLoaded.d.ts +5 -0
  256. package/dist/theming/ThemeLoaded.js +14 -0
  257. package/dist/theming/ThemeLoaded.js.map +1 -0
  258. package/dist/theming/ThemeRegistered.d.ts +4 -0
  259. package/dist/theming/ThemeRegistered.js +11 -0
  260. package/dist/theming/ThemeRegistered.js.map +1 -0
  261. package/dist/theming/applyTheme.d.ts +2 -0
  262. package/dist/theming/applyTheme.js +75 -0
  263. package/dist/theming/applyTheme.js.map +1 -0
  264. package/dist/theming/getConstructableStyle.d.ts +9 -0
  265. package/dist/theming/getConstructableStyle.js +25 -0
  266. package/dist/theming/getConstructableStyle.js.map +1 -0
  267. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  268. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  269. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  270. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  271. package/dist/theming/getEffectiveStyle.js +32 -0
  272. package/dist/theming/getEffectiveStyle.js.map +1 -0
  273. package/dist/theming/getStylesString.d.ts +3 -0
  274. package/dist/theming/getStylesString.js +11 -0
  275. package/dist/theming/getStylesString.js.map +1 -0
  276. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  277. package/dist/theming/getThemeDesignerTheme.js +80 -0
  278. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  279. package/dist/theming/preloadLinks.d.ts +3 -0
  280. package/dist/theming/preloadLinks.js +19 -0
  281. package/dist/theming/preloadLinks.js.map +1 -0
  282. package/dist/thirdparty/_merge.d.ts +2 -0
  283. package/dist/thirdparty/_merge.js +35 -0
  284. package/dist/thirdparty/_merge.js.map +1 -0
  285. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  286. package/dist/thirdparty/isPlainObject.js +19 -0
  287. package/dist/thirdparty/isPlainObject.js.map +1 -0
  288. package/dist/thirdparty/merge.d.ts +2 -0
  289. package/dist/thirdparty/merge.js +6 -0
  290. package/dist/thirdparty/merge.js.map +1 -0
  291. package/dist/types/AnimationMode.d.ts +32 -0
  292. package/dist/types/AnimationMode.js +33 -6
  293. package/dist/types/AnimationMode.js.map +1 -0
  294. package/dist/types/CSSColor.d.ts +15 -0
  295. package/dist/types/CSSColor.js +18 -0
  296. package/dist/types/CSSColor.js.map +1 -0
  297. package/dist/types/CalendarType.d.ts +37 -0
  298. package/dist/types/CalendarType.js +39 -0
  299. package/dist/types/CalendarType.js.map +1 -0
  300. package/dist/types/DOMReference.d.ts +17 -0
  301. package/dist/types/DOMReference.js +25 -0
  302. package/dist/types/DOMReference.js.map +1 -0
  303. package/dist/types/DataType.d.ts +25 -0
  304. package/dist/types/DataType.js +33 -14
  305. package/dist/types/DataType.js.map +1 -0
  306. package/dist/types/Float.d.ts +17 -0
  307. package/dist/types/Float.js +21 -0
  308. package/dist/types/Float.js.map +1 -0
  309. package/dist/types/Integer.d.ts +17 -0
  310. package/dist/types/Integer.js +17 -5
  311. package/dist/types/Integer.js.map +1 -0
  312. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  313. package/dist/types/InvisibleMessageMode.js +27 -0
  314. package/dist/types/InvisibleMessageMode.js.map +1 -0
  315. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  316. package/dist/types/ItemNavigationBehavior.js +22 -17
  317. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  318. package/dist/types/NavigationMode.d.ts +32 -0
  319. package/dist/types/NavigationMode.js +33 -5
  320. package/dist/types/NavigationMode.js.map +1 -0
  321. package/dist/types/ValueState.d.ts +42 -0
  322. package/dist/types/ValueState.js +41 -18
  323. package/dist/types/ValueState.js.map +1 -0
  324. package/dist/types.d.ts +18 -0
  325. package/dist/types.js +2 -0
  326. package/dist/types.js.map +1 -0
  327. package/dist/updateShadowRoot.d.ts +8 -0
  328. package/dist/updateShadowRoot.js +38 -0
  329. package/dist/updateShadowRoot.js.map +1 -0
  330. package/dist/util/AriaLabelHelper.d.ts +15 -0
  331. package/dist/util/AriaLabelHelper.js +171 -0
  332. package/dist/util/AriaLabelHelper.js.map +1 -0
  333. package/dist/util/Caret.d.ts +7 -0
  334. package/dist/util/Caret.js +23 -0
  335. package/dist/util/Caret.js.map +1 -0
  336. package/dist/util/ColorConversion.d.ts +30 -0
  337. package/dist/util/ColorConversion.js +337 -0
  338. package/dist/util/ColorConversion.js.map +1 -0
  339. package/dist/util/FetchHelper.d.ts +3 -0
  340. package/dist/util/FetchHelper.js +19 -25
  341. package/dist/util/FetchHelper.js.map +1 -0
  342. package/dist/util/FocusableElements.d.ts +4 -0
  343. package/dist/util/FocusableElements.js +67 -56
  344. package/dist/util/FocusableElements.js.map +1 -0
  345. package/dist/util/HTMLSanitizer.d.ts +3 -0
  346. package/dist/util/HTMLSanitizer.js +6 -0
  347. package/dist/util/HTMLSanitizer.js.map +1 -0
  348. package/dist/util/InvisibleMessage.d.ts +10 -0
  349. package/dist/util/InvisibleMessage.js +56 -0
  350. package/dist/util/InvisibleMessage.js.map +1 -0
  351. package/dist/util/PopupUtils.d.ts +7 -0
  352. package/dist/util/PopupUtils.js +74 -0
  353. package/dist/util/PopupUtils.js.map +1 -0
  354. package/dist/util/SlotsHelper.d.ts +9 -0
  355. package/dist/util/SlotsHelper.js +30 -0
  356. package/dist/util/SlotsHelper.js.map +1 -0
  357. package/dist/util/StringHelper.d.ts +3 -0
  358. package/dist/util/StringHelper.js +21 -9
  359. package/dist/util/StringHelper.js.map +1 -0
  360. package/dist/util/TabbableElements.d.ts +17 -0
  361. package/dist/util/TabbableElements.js +53 -40
  362. package/dist/util/TabbableElements.js.map +1 -0
  363. package/dist/util/arraysAreEqual.d.ts +2 -0
  364. package/dist/util/arraysAreEqual.js +13 -0
  365. package/dist/util/arraysAreEqual.js.map +1 -0
  366. package/dist/util/clamp.d.ts +9 -0
  367. package/dist/util/clamp.js +12 -0
  368. package/dist/util/clamp.js.map +1 -0
  369. package/dist/util/createLinkInHead.d.ts +7 -0
  370. package/dist/util/createLinkInHead.js +21 -0
  371. package/dist/util/createLinkInHead.js.map +1 -0
  372. package/dist/util/createStyleInHead.d.ts +8 -0
  373. package/dist/util/createStyleInHead.js +10 -10
  374. package/dist/util/createStyleInHead.js.map +1 -0
  375. package/dist/util/debounce.d.ts +2 -0
  376. package/dist/util/debounce.js +15 -0
  377. package/dist/util/debounce.js.map +1 -0
  378. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  379. package/dist/util/detectNavigatorLanguage.js +8 -9
  380. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  381. package/dist/util/escapeRegex.d.ts +8 -0
  382. package/dist/util/escapeRegex.js +11 -0
  383. package/dist/util/escapeRegex.js.map +1 -0
  384. package/dist/util/formatMessage.d.ts +2 -0
  385. package/dist/util/formatMessage.js +15 -19
  386. package/dist/util/formatMessage.js.map +1 -0
  387. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  388. package/dist/util/generateHighlightedMarkup.js +41 -0
  389. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  390. package/dist/util/getActiveElement.d.ts +2 -0
  391. package/dist/util/getActiveElement.js +9 -0
  392. package/dist/util/getActiveElement.js.map +1 -0
  393. package/dist/util/getClassCopy.d.ts +398 -0
  394. package/dist/util/getClassCopy.js +10 -0
  395. package/dist/util/getClassCopy.js.map +1 -0
  396. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  397. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  398. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  399. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  400. package/dist/util/getEffectiveContentDensity.js +4 -0
  401. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  402. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  403. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  404. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  405. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  406. package/dist/util/getFastNavigationGroups.js +51 -0
  407. package/dist/util/getFastNavigationGroups.js.map +1 -0
  408. package/dist/util/getFileExtension.d.ts +12 -0
  409. package/dist/util/getFileExtension.js +19 -0
  410. package/dist/util/getFileExtension.js.map +1 -0
  411. package/dist/util/getNormalizedTarget.d.ts +7 -0
  412. package/dist/util/getNormalizedTarget.js +14 -0
  413. package/dist/util/getNormalizedTarget.js.map +1 -0
  414. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  415. package/dist/util/getSingletonElementInstance.js +10 -0
  416. package/dist/util/getSingletonElementInstance.js.map +1 -0
  417. package/dist/util/isElementClickable.d.ts +2 -0
  418. package/dist/util/isElementClickable.js +16 -0
  419. package/dist/util/isElementClickable.js.map +1 -0
  420. package/dist/util/isElementHidden.d.ts +2 -0
  421. package/dist/util/isElementHidden.js +8 -0
  422. package/dist/util/isElementHidden.js.map +1 -0
  423. package/dist/util/isElementInView.d.ts +6 -0
  424. package/dist/util/isElementInView.js +12 -0
  425. package/dist/util/isElementInView.js.map +1 -0
  426. package/dist/util/isElementTabbable.d.ts +9 -0
  427. package/dist/util/isElementTabbable.js +30 -0
  428. package/dist/util/isElementTabbable.js.map +1 -0
  429. package/dist/util/isValidPropertyName.d.ts +8 -0
  430. package/dist/util/isValidPropertyName.js +20 -12
  431. package/dist/util/isValidPropertyName.js.map +1 -0
  432. package/dist/util/whenDOMReady.d.ts +2 -0
  433. package/dist/util/whenDOMReady.js +11 -10
  434. package/dist/util/whenDOMReady.js.map +1 -0
  435. package/dist/util/willShowContent.d.ts +2 -0
  436. package/dist/util/willShowContent.js +7 -0
  437. package/dist/util/willShowContent.js.map +1 -0
  438. package/dist/validateThemeRoot.d.ts +2 -0
  439. package/dist/validateThemeRoot.js +47 -0
  440. package/dist/validateThemeRoot.js.map +1 -0
  441. package/index.js +1 -1
  442. package/lib/generate-asset-parameters/index.js +25 -0
  443. package/lib/generate-styles/index.js +31 -0
  444. package/lib/generate-version-info/index.js +32 -0
  445. package/package-scripts.js +53 -25
  446. package/package.json +22 -14
  447. package/src/css/BusyIndicator.css +80 -0
  448. package/src/css/FontFace.css +66 -0
  449. package/src/css/OverrideFontFace.css +32 -0
  450. package/src/css/SystemCSSVars.css +17 -0
  451. package/src/renderer/directives/style-map.js +72 -0
  452. package/tsconfig.json +14 -0
  453. package/used-modules.txt +10 -0
  454. package/bundle.es5.js +0 -31
  455. package/config/rollup.config.js +0 -1
  456. package/dist/Assets.js +0 -2
  457. package/dist/CSS.js +0 -48
  458. package/dist/ContentDensity.js +0 -20
  459. package/dist/FormatSettings.js +0 -31
  460. package/dist/Locale.js +0 -101
  461. package/dist/LocaleProvider.js +0 -34
  462. package/dist/RenderScheduler.js +0 -160
  463. package/dist/ResourceLoaderOverrides.js +0 -38
  464. package/dist/SVGIconRegistry.js +0 -54
  465. package/dist/animations/config.js +0 -5
  466. package/dist/boot.js +0 -25
  467. package/dist/compatibility/DOMObserver.js +0 -62
  468. package/dist/compatibility/patchNodeValue.js +0 -24
  469. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  470. package/dist/config/CompactSize.js +0 -23
  471. package/dist/dates/CalendarDate.js +0 -203
  472. package/dist/dates/CalendarType.js +0 -22
  473. package/dist/dates/CalendarUtils.js +0 -99
  474. package/dist/delegate/CustomResize.js +0 -78
  475. package/dist/delegate/NativeResize.js +0 -44
  476. package/dist/events/PseudoEvents.js +0 -58
  477. package/dist/features/browsersupport/Edge.js +0 -6
  478. package/dist/features/browsersupport/IE11.js +0 -41
  479. package/dist/features/calendar/Buddhist.js +0 -1
  480. package/dist/features/calendar/Islamic.js +0 -1
  481. package/dist/features/calendar/Japanese.js +0 -1
  482. package/dist/features/calendar/Persian.js +0 -1
  483. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  484. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  485. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  486. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  487. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  488. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  489. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  490. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  491. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  492. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  493. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  494. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  495. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  496. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  497. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  498. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  499. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  500. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  501. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  502. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  503. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  504. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  505. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  506. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  507. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  508. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  509. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  510. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  511. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  512. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  513. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  514. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  515. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  516. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  517. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  518. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  519. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  520. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  521. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  522. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  523. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  524. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  525. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  526. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  527. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  528. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  529. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  530. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  531. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  532. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  533. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  534. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  535. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  536. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  537. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  538. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  539. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  540. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  541. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  542. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  543. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  544. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  545. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  546. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  547. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  548. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  549. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  550. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  551. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  552. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  553. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  554. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  555. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  556. package/dist/json-imports/LocaleData.js +0 -171
  557. package/dist/renderer/ifDefined.js +0 -21
  558. package/dist/resources/bundle.es5.js +0 -12581
  559. package/dist/resources/bundle.es5.js.map +0 -1
  560. package/dist/resources/bundle.esm.js +0 -7401
  561. package/dist/resources/bundle.esm.js.map +0 -1
  562. package/dist/shims/Core-shim.js +0 -52
  563. package/dist/shims/jquery-shim.js +0 -89
  564. package/dist/test-resources/assets/Themes.js +0 -11
  565. package/dist/test-resources/elements/Child.js +0 -35
  566. package/dist/test-resources/elements/DensityAware.js +0 -14
  567. package/dist/test-resources/elements/Generic.js +0 -83
  568. package/dist/test-resources/elements/GenericExt.js +0 -26
  569. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  570. package/dist/test-resources/elements/Parent.js +0 -36
  571. package/dist/test-resources/pages/AllTestElements.html +0 -42
  572. package/dist/test-resources/pages/Configuration.html +0 -20
  573. package/dist/test-resources/pages/ConfigurationScript.html +0 -37
  574. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -34
  575. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -69
  576. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -53
  577. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  578. package/dist/test-resources/specs/Theming.spec.js +0 -31
  579. package/dist/test-resources/specs/UI5ElementDensityAware.spec.js +0 -51
  580. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  581. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  582. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  583. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  584. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  585. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  586. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  587. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  588. package/dist/theming/StyleInjection.js +0 -67
  589. package/dist/thirdparty/Array.from.js +0 -16
  590. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  591. package/dist/thirdparty/Array.prototype.find.js +0 -46
  592. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  593. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  594. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  595. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  596. package/dist/thirdparty/Number.isInteger.js +0 -5
  597. package/dist/thirdparty/Number.isNaN.js +0 -1
  598. package/dist/thirdparty/Number.parseInt.js +0 -1
  599. package/dist/thirdparty/Object.assign.js +0 -31
  600. package/dist/thirdparty/Object.entries.js +0 -11
  601. package/dist/thirdparty/Symbol.js +0 -2
  602. package/dist/thirdparty/WeakSet.js +0 -27
  603. package/dist/thirdparty/events-polyfills.js +0 -89
  604. package/dist/thirdparty/fetch.js +0 -1
  605. package/dist/thirdparty/template.js +0 -600
  606. package/dist/types/CSSSize.js +0 -9
  607. package/dist/types/PopupState.js +0 -37
  608. package/dist/util/CSSTransformUtils.js +0 -90
  609. package/dist/util/isDescendantOf.js +0 -15
  610. package/dist/util/isNodeClickable.js +0 -19
  611. package/dist/util/isNodeHidden.js +0 -13
  612. package/dist/util/isNodeTabbable.js +0 -28
  613. package/dist/util/normalizeLocale.js +0 -77
  614. package/dist/webcomponentsjs/LICENSE.md +0 -19
  615. package/dist/webcomponentsjs/README.md +0 -229
  616. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  617. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  618. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  619. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  620. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  621. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  622. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  623. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  624. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  625. package/dist/webcomponentsjs/package.json +0 -46
  626. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  627. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  628. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  629. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  630. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  631. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  632. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  633. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  634. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  635. package/src/AssetRegistry.js +0 -9
  636. package/src/Assets.js +0 -2
  637. package/src/CSS.js +0 -48
  638. package/src/ContentDensity.js +0 -20
  639. package/src/Device.js +0 -823
  640. package/src/EventProvider.js +0 -73
  641. package/src/FeaturesRegistry.js +0 -11
  642. package/src/FontFace.js +0 -66
  643. package/src/FormatSettings.js +0 -31
  644. package/src/InitialConfiguration.js +0 -126
  645. package/src/Locale.js +0 -101
  646. package/src/LocaleProvider.js +0 -34
  647. package/src/RenderQueue.js +0 -42
  648. package/src/RenderScheduler.js +0 -160
  649. package/src/ResourceLoaderOverrides.js +0 -38
  650. package/src/SVGIconRegistry.js +0 -54
  651. package/src/Theming.js +0 -45
  652. package/src/UI5Element.js +0 -834
  653. package/src/UI5ElementMetadata.js +0 -156
  654. package/src/animations/AnimationQueue.js +0 -42
  655. package/src/animations/animate.js +0 -53
  656. package/src/animations/config.js +0 -5
  657. package/src/animations/scroll.js +0 -28
  658. package/src/animations/slideDown.js +0 -79
  659. package/src/animations/slideUp.js +0 -71
  660. package/src/asset-registries/Icons.js +0 -24
  661. package/src/asset-registries/LocaleData.js +0 -101
  662. package/src/asset-registries/Themes.js +0 -75
  663. package/src/asset-registries/i18n.js +0 -75
  664. package/src/boot.js +0 -25
  665. package/src/compatibility/DOMObserver.js +0 -62
  666. package/src/compatibility/patchNodeValue.js +0 -24
  667. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  668. package/src/config/AnimationMode.js +0 -9
  669. package/src/config/CalendarType.js +0 -18
  670. package/src/config/CompactSize.js +0 -23
  671. package/src/config/FormatSettings.js +0 -9
  672. package/src/config/Language.js +0 -9
  673. package/src/config/NoConflict.js +0 -44
  674. package/src/config/RTL.js +0 -31
  675. package/src/config/Theme.js +0 -24
  676. package/src/dates/CalendarDate.js +0 -203
  677. package/src/dates/CalendarType.js +0 -22
  678. package/src/dates/CalendarUtils.js +0 -99
  679. package/src/delegate/CustomResize.js +0 -78
  680. package/src/delegate/ItemNavigation.js +0 -234
  681. package/src/delegate/NativeResize.js +0 -44
  682. package/src/delegate/ResizeHandler.js +0 -66
  683. package/src/delegate/ScrollEnablement.js +0 -80
  684. package/src/events/PseudoEvents.js +0 -58
  685. package/src/features/browsersupport/Edge.js +0 -6
  686. package/src/features/browsersupport/IE11.js +0 -41
  687. package/src/features/calendar/Buddhist.js +0 -1
  688. package/src/features/calendar/Islamic.js +0 -1
  689. package/src/features/calendar/Japanese.js +0 -1
  690. package/src/features/calendar/Persian.js +0 -1
  691. package/src/i18nBundle.js +0 -35
  692. package/src/json-imports/LocaleData.js +0 -171
  693. package/src/renderer/LitRenderer.js +0 -15
  694. package/src/renderer/ifDefined.js +0 -21
  695. package/src/shims/Core-shim.js +0 -52
  696. package/src/shims/jquery-shim.js +0 -89
  697. package/src/theming/CustomStyle.js +0 -19
  698. package/src/theming/StyleInjection.js +0 -67
  699. package/src/thirdparty/Array.from.js +0 -16
  700. package/src/thirdparty/Array.prototype.fill.js +0 -44
  701. package/src/thirdparty/Array.prototype.find.js +0 -46
  702. package/src/thirdparty/Array.prototype.includes.js +0 -51
  703. package/src/thirdparty/Element.prototype.closest.js +0 -11
  704. package/src/thirdparty/Element.prototype.matches.js +0 -6
  705. package/src/thirdparty/Map.prototype.keys.js +0 -9
  706. package/src/thirdparty/Number.isInteger.js +0 -5
  707. package/src/thirdparty/Number.isNaN.js +0 -1
  708. package/src/thirdparty/Number.parseInt.js +0 -1
  709. package/src/thirdparty/Object.assign.js +0 -31
  710. package/src/thirdparty/Object.entries.js +0 -11
  711. package/src/thirdparty/Symbol.js +0 -2
  712. package/src/thirdparty/WeakSet.js +0 -27
  713. package/src/thirdparty/events-polyfills.js +0 -89
  714. package/src/thirdparty/fetch.js +0 -1
  715. package/src/thirdparty/template.js +0 -600
  716. package/src/types/AnimationMode.js +0 -7
  717. package/src/types/CSSSize.js +0 -9
  718. package/src/types/DataType.js +0 -25
  719. package/src/types/Integer.js +0 -9
  720. package/src/types/ItemNavigationBehavior.js +0 -21
  721. package/src/types/NavigationMode.js +0 -6
  722. package/src/types/PopupState.js +0 -37
  723. package/src/types/ValueState.js +0 -21
  724. package/src/util/CSSTransformUtils.js +0 -90
  725. package/src/util/FetchHelper.js +0 -31
  726. package/src/util/FocusableElements.js +0 -60
  727. package/src/util/StringHelper.js +0 -11
  728. package/src/util/TabbableElements.js +0 -44
  729. package/src/util/createStyleInHead.js +0 -18
  730. package/src/util/detectNavigatorLanguage.js +0 -11
  731. package/src/util/formatMessage.js +0 -23
  732. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  733. package/src/util/isDescendantOf.js +0 -15
  734. package/src/util/isNodeClickable.js +0 -19
  735. package/src/util/isNodeHidden.js +0 -13
  736. package/src/util/isNodeTabbable.js +0 -28
  737. package/src/util/isValidPropertyName.js +0 -20
  738. package/src/util/normalizeLocale.js +0 -77
  739. package/src/util/whenDOMReady.js +0 -13
  740. /package/{config/.eslintrc.js → .eslintrc.js} +0 -0
@@ -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,35 +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
- const bundle = getI18nBundleData(this.packageName);
16
-
17
- if (!bundle || !bundle[textObj.key]) {
18
- return formatMessage(textObj.defaultText, params); // Fallback to "en"
19
- }
20
-
21
- return formatMessage(bundle[textObj.key], params);
22
- }
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
+ }
23
35
  }
24
-
25
- const getI18nBundle = packageName => {
26
- if (I18nBundleInstances.has(packageName)) {
27
- return I18nBundleInstances.get(packageName);
28
- }
29
-
30
- const i18nBunle = new I18nBundle(packageName);
31
- I18nBundleInstances.set(packageName, i18nBunle);
32
- return i18nBunle;
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;
33
50
  };
34
-
35
- 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","sourcesContent":["import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from \"./asset-registries/i18n.js\";\nimport formatMessage from \"./util/formatMessage.js\";\n\nconst I18nBundleInstances = new Map<string, I18nBundle>();\n\nlet customGetI18nBundle: I18nBundleGetter;\n\ntype I18nText = {\n\tkey: string,\n\tdefaultText: string,\n};\n\ntype I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;\n\n/**\n * @class\n * @public\n */\nclass I18nBundle {\n\tpackageName: string;\n\n\tconstructor(packageName: string) {\n\t\tthis.packageName = packageName;\n\t}\n\n\t/**\n\t * Returns a text in the currently loaded language\n\t *\n\t * @public\n\t * @param {Object|String} textObj key/defaultText pair or just the key\n\t * @param params Values for the placeholders\n\t * @returns {string}\n\t */\n\tgetText(textObj: I18nText, ...params: Array<number | string>): string {\n\t\tif (typeof textObj === \"string\") {\n\t\t\ttextObj = { key: textObj, defaultText: textObj };\n\t\t}\n\n\t\tif (!textObj || !textObj.key) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst bundle = getI18nBundleData(this.packageName);\n\t\tif (bundle && !bundle[textObj.key]) {\n\t\t\tconsole.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`); // eslint-disable-line\n\t\t}\n\t\tconst messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);\n\n\t\treturn formatMessage(messageText, params);\n\t}\n}\n\n/**\n * Returns the I18nBundle instance for the given package synchronously.\n *\n * @public\n * @param packageName\n * @returns { I18nBundle }\n */\nconst getI18nBundleSync = (packageName: string): I18nBundle => {\n\tif (I18nBundleInstances.has(packageName)) {\n\t\treturn I18nBundleInstances.get(packageName)!;\n\t}\n\n\tconst i18nBundle = new I18nBundle(packageName);\n\tI18nBundleInstances.set(packageName, i18nBundle);\n\treturn i18nBundle;\n};\n\n/**\n * Fetches and returns the I18nBundle instance for the given package.\n *\n * @public\n * @param packageName\n * @returns { Promise<I18nBundle> }\n */\nconst getI18nBundle = async (packageName: string): Promise<I18nBundle> => {\n\tif (customGetI18nBundle) {\n\t\treturn customGetI18nBundle(packageName);\n\t}\n\n\tawait fetchI18nBundle(packageName);\n\treturn getI18nBundleSync(packageName);\n};\n\n/**\n * Allows developers to provide a custom getI18nBundle implementation\n * If this function is called, the custom implementation will be used for all components and will completely\n * replace the default implementation.\n *\n * @public\n * @param customGet the function to use instead of the standard getI18nBundle implementation\n */\nconst registerCustomI18nBundleGetter = (customGet: I18nBundleGetter) => {\n\tcustomGetI18nBundle = customGet;\n};\n\nexport default I18nBundle;\n\nexport {\n\tregisterI18nLoader,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n};\n\nexport type {\n\tI18nText,\n};\n"]}
@@ -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;
@@ -0,0 +1,79 @@
1
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
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;
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] || 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
+ }
77
+ }
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","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nconst 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;\n\nclass Locale {\n\tsLocaleId: string;\n\tsLanguage: string;\n\tsScript: string;\n\tsRegion: string;\n\tsVariant: string | null;\n\tsExtension: string | null;\n\tsPrivateUse: string | null;\n\n\tconstructor(sLocaleId: string) {\n\t\tconst aResult = rLocale.exec(sLocaleId.replace(/_/g, \"-\"));\n\t\tif (aResult === null) {\n\t\t\tthrow new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);\n\t\t}\n\t\tthis.sLocaleId = sLocaleId;\n\t\tthis.sLanguage = aResult[1] || DEFAULT_LANGUAGE;\n\t\tthis.sScript = aResult[2] || \"\";\n\t\tthis.sRegion = aResult[3] || \"\";\n\t\tthis.sVariant = (aResult[4] && aResult[4].slice(1)) || null;\n\t\tthis.sExtension = (aResult[5] && aResult[5].slice(1)) || null;\n\t\tthis.sPrivateUse = aResult[6] || null;\n\t\tif (this.sLanguage) {\n\t\t\tthis.sLanguage = this.sLanguage.toLowerCase();\n\t\t}\n\t\tif (this.sScript) {\n\t\t\tthis.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {\n\t\t\t\treturn s.toUpperCase();\n\t\t\t});\n\t\t}\n\t\tif (this.sRegion) {\n\t\t\tthis.sRegion = this.sRegion.toUpperCase();\n\t\t}\n\t}\n\n\tgetLanguage() {\n\t\treturn this.sLanguage;\n\t}\n\n\tgetScript() {\n\t\treturn this.sScript;\n\t}\n\n\tgetRegion() {\n\t\treturn this.sRegion;\n\t}\n\n\tgetVariant() {\n\t\treturn this.sVariant;\n\t}\n\n\tgetVariantSubtags() {\n\t\treturn this.sVariant ? this.sVariant.split(\"-\") : [];\n\t}\n\n\tgetExtension() {\n\t\treturn this.sExtension;\n\t}\n\n\tgetExtensionSubtags() {\n\t\treturn this.sExtension ? this.sExtension.slice(2).split(\"-\") : [];\n\t}\n\n\tgetPrivateUse() {\n\t\treturn this.sPrivateUse;\n\t}\n\n\tgetPrivateUseSubtags() {\n\t\treturn this.sPrivateUse ? this.sPrivateUse.slice(2).split(\"-\") : [];\n\t}\n\n\thasPrivateUseSubtag(sSubtag: string) {\n\t\treturn this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;\n\t}\n\n\ttoString() {\n\t\tconst r = [this.sLanguage];\n\n\t\tif (this.sScript) {\n\t\t\tr.push(this.sScript);\n\t\t}\n\t\tif (this.sRegion) {\n\t\t\tr.push(this.sRegion);\n\t\t}\n\t\tif (this.sVariant) {\n\t\t\tr.push(this.sVariant);\n\t\t}\n\t\tif (this.sExtension) {\n\t\t\tr.push(this.sExtension);\n\t\t}\n\t\tif (this.sPrivateUse) {\n\t\t\tr.push(this.sPrivateUse);\n\t\t}\n\t\treturn r.join(\"-\");\n\t}\n}\n\nexport default Locale;\n"]}
@@ -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","sourcesContent":["import type UI5Element from \"../UI5Element\";\n\nconst rtlAwareSet = new Set<typeof UI5Element>();\n\nconst markAsRtlAware = (klass: typeof UI5Element) => {\n\trtlAwareSet.add(klass);\n};\n\nconst isRtlAware = (klass: typeof UI5Element) => {\n\treturn rtlAwareSet.has(klass);\n};\n\nexport {\n\tmarkAsRtlAware,\n\tisRtlAware,\n};\n"]}
@@ -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","sourcesContent":["import { reRenderAllUI5Elements } from \"../Render.js\";\nimport { fireDirectionChange } from \"./directionChange.js\";\n\n/**\n * Re-renders all RTL-aware UI5 Elements.\n *\n * <b>Note:</b> Call this method whenever you change the \"dir\" property anywhere in your HTML page.\n * <b>Example:</b> <code>document.body.dir = \"rtl\"; applyDirection();</code>\n * @public\n * @returns {Promise<void>}\n */\nconst applyDirection = async (): Promise<void> => {\n\tconst listenersResults = fireDirectionChange();\n\tawait Promise.all(listenersResults);\n\tawait reRenderAllUI5Elements({ rtlAware: true });\n};\n\nexport default applyDirection;\n"]}
@@ -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","sourcesContent":["import EventProvider from \"../EventProvider.js\";\n\ntype DirectionChangeCallback = () => void;\n\nconst eventProvider = new EventProvider<undefined, void>();\nconst DIR_CHANGE = \"directionChange\";\n\n/**\n * Attach a callback that will be executed whenever the application calls the \"applyDirection\" function\n * @public\n * @param listener\n */\nconst attachDirectionChange = (listener: DirectionChangeCallback) => {\n\teventProvider.attachEvent(DIR_CHANGE, listener);\n};\n\n/**\n * Detach a callback that was passed with \"attachDirectionChange\"\n * @public\n * @param listener\n */\nconst detachDirectionChange = (listener: DirectionChangeCallback) => {\n\teventProvider.detachEvent(DIR_CHANGE, listener);\n};\n\nconst fireDirectionChange = () => {\n\treturn eventProvider.fireEvent(DIR_CHANGE, undefined);\n};\n\nexport {\n\tattachDirectionChange,\n\tdetachDirectionChange,\n\tfireDirectionChange,\n};\n"]}
@@ -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","sourcesContent":["import { getRTL } from \"../config/RTL.js\";\n\nconst GLOBAL_DIR_CSS_VAR = \"--_ui5_dir\";\n\nconst getEffectiveDir = (element: HTMLElement) => {\n\tconst doc = window.document;\n\tconst dirValues = [\"ltr\", \"rtl\"]; // exclude \"auto\" and \"\" from all calculations\n\tconst locallyAppliedDir = getComputedStyle(element).getPropertyValue(GLOBAL_DIR_CSS_VAR);\n\n\t// In that order, inspect the CSS Var (for modern browsers), the element itself, html and body (for IE fallback)\n\tif (dirValues.includes(locallyAppliedDir)) {\n\t\treturn locallyAppliedDir;\n\t}\n\tif (dirValues.includes(element.dir)) {\n\t\treturn element.dir;\n\t}\n\tif (dirValues.includes(doc.documentElement.dir)) {\n\t\treturn doc.documentElement.dir;\n\t}\n\tif (dirValues.includes(doc.body.dir)) {\n\t\treturn doc.body.dir;\n\t}\n\n\t// Finally, check the configuration for explicitly set RTL or language-implied RTL\n\treturn getRTL() ? \"rtl\" : undefined;\n};\n\nexport default getEffectiveDir;\n"]}
@@ -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;
@@ -0,0 +1,38 @@
1
+ import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
2
+ import { getLanguage as getConfigLanguage } from "../config/Language.js";
3
+ import Locale from "./Locale.js";
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);
22
+ };
23
+ /**
24
+ * Returns the locale based on the parameter or configured language Configuration#getLanguage
25
+ * If no language has been configured - a new locale based on browser language is returned
26
+ */
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());
36
+ };
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","sourcesContent":["import detectNavigatorLanguage from \"../util/detectNavigatorLanguage.js\";\nimport { getLanguage as getConfigLanguage } from \"../config/Language.js\";\nimport Locale from \"./Locale.js\";\nimport { DEFAULT_LOCALE } from \"../generated/AssetParameters.js\";\n\nconst cache = new Map<string, Locale>();\n\nconst getLocaleInstance = (lang: string) => {\n\tif (!cache.has(lang)) {\n\t\tcache.set(lang, new Locale(lang));\n\t}\n\n\treturn cache.get(lang)!;\n};\n\nconst convertToLocaleOrNull = (lang: string) => {\n\ttry {\n\t\tif (lang && typeof lang === \"string\") {\n\t\t\treturn getLocaleInstance(lang);\n\t\t}\n\t} catch (e) {\n\t\t// ignore\n\t}\n\n\treturn new Locale(DEFAULT_LOCALE);\n};\n\n/**\n * Returns the locale based on the parameter or configured language Configuration#getLanguage\n * If no language has been configured - a new locale based on browser language is returned\n */\nconst getLocale = (lang?: string): Locale => {\n\tif (lang) {\n\t\treturn convertToLocaleOrNull(lang);\n\t}\n\n\tconst configLanguage = getConfigLanguage();\n\n\tif (configLanguage) {\n\t\treturn getLocaleInstance(configLanguage);\n\t}\n\n\treturn convertToLocaleOrNull(detectNavigatorLanguage());\n};\n\nexport default getLocale;\n"]}
@@ -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","sourcesContent":["import EventProvider from \"../EventProvider.js\";\n\ntype LanguageChangeCallback = (lang: string) => Promise<void | Array<void>>;\n\nconst eventProvider = new EventProvider<string, Promise<void | Array<void>>>();\nconst LANG_CHANGE = \"languageChange\";\n\nconst attachLanguageChange = (listener: LanguageChangeCallback) => {\n\teventProvider.attachEvent(LANG_CHANGE, listener);\n};\n\nconst detachLanguageChange = (listener: LanguageChangeCallback) => {\n\teventProvider.detachEvent(LANG_CHANGE, listener);\n};\n\nconst fireLanguageChange = (lang: string) => {\n\treturn eventProvider.fireEventAsync(LANG_CHANGE, lang);\n};\n\nexport {\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\tfireLanguageChange,\n};\n"]}
@@ -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;
@@ -0,0 +1,24 @@
1
+ import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
2
+ /**
3
+ * Calculates the next fallback locale for the given locale.
4
+ *
5
+ * @param {string} locale Locale string in Java format (underscores) or null
6
+ * @returns {string} Next fallback Locale or "en" if no fallbacks found.
7
+ */
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 : "";
22
+ };
23
+ export default nextFallbackLocale;
24
+ //# sourceMappingURL=nextFallbackLocale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextFallbackLocale.js","sourceRoot":"","sources":["../../src/locale/nextFallbackLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO,cAAc,CAAC;KACtB;IAED,IAAI,MAAM,KAAK,OAAO,EAAE;QACvB,OAAO,OAAO,CAAC;KACf;IAED,iFAAiF;IACjF,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,EAAE;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1B;IAED,2HAA2H;IAC3H,OAAO,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { DEFAULT_LOCALE } from \"../generated/AssetParameters.js\";\n\n/**\n * Calculates the next fallback locale for the given locale.\n *\n * @param {string} locale Locale string in Java format (underscores) or null\n * @returns {string} Next fallback Locale or \"en\" if no fallbacks found.\n */\nconst nextFallbackLocale = (locale: string) => {\n\tif (!locale) {\n\t\treturn DEFAULT_LOCALE;\n\t}\n\n\tif (locale === \"zh_HK\") {\n\t\treturn \"zh_TW\";\n\t}\n\n\t// if there are multiple segments (separated by underscores), remove the last one\n\tconst p = locale.lastIndexOf(\"_\");\n\tif (p >= 0) {\n\t\treturn locale.slice(0, p);\n\t}\n\n\t// for any language but the default, fallback to the default first before falling back to the 'raw' language (empty string)\n\treturn locale !== DEFAULT_LOCALE ? DEFAULT_LOCALE : \"\";\n};\n\nexport default nextFallbackLocale;\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Normalizes the given locale in BCP-47 syntax.
3
+ * @param {string} locale locale to normalize
4
+ * @returns {string} Normalized locale, "undefined" if the locale can't be normalized or the default locale, if no locale provided.
5
+ */
6
+ declare const normalizeLocale: (locale: string) => string;
7
+ export default normalizeLocale;
@@ -0,0 +1,47 @@
1
+ import { DEFAULT_LOCALE } from "../generated/AssetParameters.js";
2
+ const localeRegEX = /^((?:[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;
3
+ const SAPSupportabilityLocales = /(?:^|-)(saptrc|sappsd)(?:-|$)/i;
4
+ /* Map for old language names for a few ISO639 codes. */
5
+ const M_ISO639_NEW_TO_OLD = {
6
+ "he": "iw",
7
+ "yi": "ji",
8
+ "nb": "no",
9
+ "sr": "sh",
10
+ };
11
+ /**
12
+ * Normalizes the given locale in BCP-47 syntax.
13
+ * @param {string} locale locale to normalize
14
+ * @returns {string} Normalized locale, "undefined" if the locale can't be normalized or the default locale, if no locale provided.
15
+ */
16
+ const normalizeLocale = (locale) => {
17
+ let m;
18
+ if (!locale) {
19
+ return DEFAULT_LOCALE;
20
+ }
21
+ if (typeof locale === "string" && (m = localeRegEX.exec(locale.replace(/_/g, "-")))) { /* eslint-disable-line */
22
+ let language = m[1].toLowerCase();
23
+ let region = m[3] ? m[3].toUpperCase() : undefined;
24
+ const script = m[2] ? m[2].toLowerCase() : undefined;
25
+ const variants = m[4] ? m[4].slice(1) : undefined;
26
+ const isPrivate = m[6];
27
+ language = M_ISO639_NEW_TO_OLD[language] || language;
28
+ // recognize and convert special SAP supportability locales (overwrites m[]!)
29
+ if ((isPrivate && (m = SAPSupportabilityLocales.exec(isPrivate))) /* eslint-disable-line */ ||
30
+ (variants && (m = SAPSupportabilityLocales.exec(variants)))) { /* eslint-disable-line */
31
+ return `en_US_${m[1].toLowerCase()}`; // for now enforce en_US (agreed with SAP SLS)
32
+ }
33
+ // Chinese: when no region but a script is specified, use default region for each script
34
+ if (language === "zh" && !region) {
35
+ if (script === "hans") {
36
+ region = "CN";
37
+ }
38
+ else if (script === "hant") {
39
+ region = "TW";
40
+ }
41
+ }
42
+ return language + (region ? "_" + region + (variants ? "_" + variants.replace("-", "_") : "") : ""); /* eslint-disable-line */
43
+ }
44
+ return DEFAULT_LOCALE;
45
+ };
46
+ export default normalizeLocale;
47
+ //# sourceMappingURL=normalizeLocale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeLocale.js","sourceRoot":"","sources":["../../src/locale/normalizeLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,WAAW,GAAG,4MAA4M,CAAC;AACjO,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;AAElE,wDAAwD;AACxD,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1C,IAAI,CAAC,CAAC;IAEN,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO,cAAc,CAAC;KACtB;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAC,yBAAyB;QAC9G,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvB,QAAQ,GAAG,mBAAmB,CAAC,QAA4C,CAAC,IAAI,QAAQ,CAAC;QAEzF,6EAA6E;QAC7E,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,yBAAyB;YAC1F,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAC,yBAAyB;YACvF,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,8CAA8C;SACpF;QAED,wFAAwF;QACxF,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,IAAI,MAAM,KAAK,MAAM,EAAE;gBACtB,MAAM,GAAG,IAAI,CAAC;aACd;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC7B,MAAM,GAAG,IAAI,CAAC;aACd;SACD;QAED,OAAO,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;KAC9H;IAED,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import { DEFAULT_LOCALE } from \"../generated/AssetParameters.js\";\n\nconst localeRegEX = /^((?:[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;\nconst SAPSupportabilityLocales = /(?:^|-)(saptrc|sappsd)(?:-|$)/i;\n\n/* Map for old language names for a few ISO639 codes. */\nconst M_ISO639_NEW_TO_OLD = {\n\t\"he\": \"iw\",\n\t\"yi\": \"ji\",\n\t\"nb\": \"no\",\n\t\"sr\": \"sh\",\n};\n\n/**\n * Normalizes the given locale in BCP-47 syntax.\n * @param {string} locale locale to normalize\n * @returns {string} Normalized locale, \"undefined\" if the locale can't be normalized or the default locale, if no locale provided.\n */\nconst normalizeLocale = (locale: string) => {\n\tlet m;\n\n\tif (!locale) {\n\t\treturn DEFAULT_LOCALE;\n\t}\n\n\tif (typeof locale === \"string\" && (m = localeRegEX.exec(locale.replace(/_/g, \"-\")))) {/* eslint-disable-line */\n\t\tlet language = m[1].toLowerCase();\n\t\tlet region = m[3] ? m[3].toUpperCase() : undefined;\n\t\tconst script = m[2] ? m[2].toLowerCase() : undefined;\n\t\tconst variants = m[4] ? m[4].slice(1) : undefined;\n\t\tconst isPrivate = m[6];\n\n\t\tlanguage = M_ISO639_NEW_TO_OLD[language as keyof typeof M_ISO639_NEW_TO_OLD] || language;\n\n\t\t// recognize and convert special SAP supportability locales (overwrites m[]!)\n\t\tif ((isPrivate && (m = SAPSupportabilityLocales.exec(isPrivate))) /* eslint-disable-line */ ||\n\t\t\t(variants && (m = SAPSupportabilityLocales.exec(variants)))) {/* eslint-disable-line */\n\t\t\treturn `en_US_${m[1].toLowerCase()}`; // for now enforce en_US (agreed with SAP SLS)\n\t\t}\n\n\t\t// Chinese: when no region but a script is specified, use default region for each script\n\t\tif (language === \"zh\" && !region) {\n\t\t\tif (script === \"hans\") {\n\t\t\t\tregion = \"CN\";\n\t\t\t} else if (script === \"hant\") {\n\t\t\t\tregion = \"TW\";\n\t\t\t}\n\t\t}\n\n\t\treturn language + (region ? \"_\" + region + (variants ? \"_\" + variants.replace(\"-\", \"_\") : \"\") : \"\"); /* eslint-disable-line */\n\t}\n\n\treturn DEFAULT_LOCALE;\n};\n\nexport default normalizeLocale;\n"]}
@@ -0,0 +1,14 @@
1
+ import { TemplateResult } from "lit-html";
2
+ import type { Renderer } from "../UI5Element.js";
3
+ declare const effectiveHtml: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult<1 | 2>;
4
+ declare const effectiveSvg: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult<1 | 2>;
5
+ declare const litRender: Renderer;
6
+ declare const scopeTag: (tag: string, tags: Array<string>, suffix: string) => object | undefined;
7
+ export { effectiveHtml as html, effectiveSvg as svg, };
8
+ export { scopeTag };
9
+ export { repeat } from "lit-html/directives/repeat.js";
10
+ export { classMap } from "lit-html/directives/class-map.js";
11
+ export { styleMap } from "./directives/style-map.js";
12
+ export { ifDefined } from "lit-html/directives/if-defined.js";
13
+ export { unsafeHTML } from "lit-html/directives/unsafe-html.js";
14
+ export default litRender;