@ui5/webcomponents-base 0.0.0-e463d2345 → 0.0.0-e55c2cec6

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 (851) hide show
  1. package/.eslintignore +5 -0
  2. package/CHANGELOG.md +512 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +29 -21
  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 +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 +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 +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 +22 -63
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +124 -96
  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 +5 -34
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +92 -60
  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 +373 -0
  78. package/dist/UI5Element.js +950 -825
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -135
  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 +10 -0
  109. package/dist/asset-registries/Themes.js +40 -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 +78 -58
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/bundle.esm.ffad994a.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 -6
  120. package/dist/config/AnimationMode.js.map +1 -0
  121. package/dist/config/CalendarType.d.ts +8 -0
  122. package/dist/config/CalendarType.js +15 -14
  123. package/dist/config/CalendarType.js.map +1 -0
  124. package/dist/config/FormatSettings.d.ts +11 -0
  125. package/dist/config/FormatSettings.js +11 -5
  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 -7
  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 -34
  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 +46 -19
  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 -230
  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 +48 -0
  177. package/dist/delegate/ScrollEnablement.js +159 -74
  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 +97 -0
  190. package/dist/features/OpenUI5Support.js.map +1 -0
  191. package/dist/generated/AssetParameters.js +13 -0
  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/i18nBundle.d.ts +43 -0
  202. package/dist/i18nBundle.js +73 -30
  203. package/dist/i18nBundle.js.map +1 -0
  204. package/dist/locale/Locale.d.ts +22 -0
  205. package/dist/locale/Locale.js +79 -0
  206. package/dist/locale/Locale.js.map +1 -0
  207. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  208. package/dist/locale/RTLAwareRegistry.js +9 -0
  209. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  210. package/dist/locale/applyDirection.d.ts +10 -0
  211. package/dist/locale/applyDirection.js +17 -0
  212. package/dist/locale/applyDirection.js.map +1 -0
  213. package/dist/locale/directionChange.d.ts +15 -0
  214. package/dist/locale/directionChange.js +24 -0
  215. package/dist/locale/directionChange.js.map +1 -0
  216. package/dist/locale/getEffectiveDir.d.ts +2 -0
  217. package/dist/locale/getEffectiveDir.js +24 -0
  218. package/dist/locale/getEffectiveDir.js.map +1 -0
  219. package/dist/locale/getLocale.d.ts +7 -0
  220. package/dist/locale/getLocale.js +38 -0
  221. package/dist/locale/getLocale.js.map +1 -0
  222. package/dist/locale/languageChange.d.ts +5 -0
  223. package/dist/locale/languageChange.js +14 -0
  224. package/dist/locale/languageChange.js.map +1 -0
  225. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  226. package/dist/locale/nextFallbackLocale.js +24 -0
  227. package/dist/locale/nextFallbackLocale.js.map +1 -0
  228. package/dist/locale/normalizeLocale.d.ts +7 -0
  229. package/dist/locale/normalizeLocale.js +47 -0
  230. package/dist/locale/normalizeLocale.js.map +1 -0
  231. package/dist/renderer/LitRenderer.d.ts +14 -0
  232. package/dist/renderer/LitRenderer.js +38 -12
  233. package/dist/renderer/LitRenderer.js.map +1 -0
  234. package/dist/renderer/directives/style-map.js +72 -0
  235. package/dist/renderer/executeTemplate.d.ts +13 -0
  236. package/dist/renderer/executeTemplate.js +30 -0
  237. package/dist/renderer/executeTemplate.js.map +1 -0
  238. package/dist/sap/base/Log.js +240 -0
  239. package/dist/sap/base/assert.js +7 -0
  240. package/dist/sap/base/security/URLListValidator.js +159 -0
  241. package/dist/sap/base/security/encodeCSS.js +14 -0
  242. package/dist/sap/base/security/encodeXML.js +23 -0
  243. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  244. package/dist/sap/base/strings/toHex.js +8 -0
  245. package/dist/sap/base/util/now.js +7 -0
  246. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  247. package/dist/theming/CustomStyle.d.ts +6 -0
  248. package/dist/theming/CustomStyle.js +44 -17
  249. package/dist/theming/CustomStyle.js.map +1 -0
  250. package/dist/theming/ThemeLoaded.d.ts +5 -0
  251. package/dist/theming/ThemeLoaded.js +14 -0
  252. package/dist/theming/ThemeLoaded.js.map +1 -0
  253. package/dist/theming/applyTheme.d.ts +2 -0
  254. package/dist/theming/applyTheme.js +75 -0
  255. package/dist/theming/applyTheme.js.map +1 -0
  256. package/dist/theming/getConstructableStyle.d.ts +9 -0
  257. package/dist/theming/getConstructableStyle.js +25 -0
  258. package/dist/theming/getConstructableStyle.js.map +1 -0
  259. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  260. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  261. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  262. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  263. package/dist/theming/getEffectiveStyle.js +32 -0
  264. package/dist/theming/getEffectiveStyle.js.map +1 -0
  265. package/dist/theming/getStylesString.d.ts +3 -0
  266. package/dist/theming/getStylesString.js +11 -0
  267. package/dist/theming/getStylesString.js.map +1 -0
  268. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  269. package/dist/theming/getThemeDesignerTheme.js +80 -0
  270. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  271. package/dist/theming/preloadLinks.d.ts +3 -0
  272. package/dist/theming/preloadLinks.js +19 -0
  273. package/dist/theming/preloadLinks.js.map +1 -0
  274. package/dist/thirdparty/_merge.d.ts +2 -0
  275. package/dist/thirdparty/_merge.js +35 -0
  276. package/dist/thirdparty/_merge.js.map +1 -0
  277. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  278. package/dist/thirdparty/isPlainObject.js +19 -0
  279. package/dist/thirdparty/isPlainObject.js.map +1 -0
  280. package/dist/thirdparty/merge.d.ts +2 -0
  281. package/dist/thirdparty/merge.js +6 -0
  282. package/dist/thirdparty/merge.js.map +1 -0
  283. package/dist/types/AnimationMode.d.ts +32 -0
  284. package/dist/types/AnimationMode.js +33 -6
  285. package/dist/types/AnimationMode.js.map +1 -0
  286. package/dist/types/CSSColor.d.ts +16 -0
  287. package/dist/types/CSSColor.js +19 -0
  288. package/dist/types/CSSColor.js.map +1 -0
  289. package/dist/types/CalendarType.d.ts +37 -0
  290. package/dist/types/CalendarType.js +39 -0
  291. package/dist/types/CalendarType.js.map +1 -0
  292. package/dist/types/DOMReference.d.ts +17 -0
  293. package/dist/types/DOMReference.js +25 -0
  294. package/dist/types/DOMReference.js.map +1 -0
  295. package/dist/types/DataType.d.ts +25 -0
  296. package/dist/types/DataType.js +33 -14
  297. package/dist/types/DataType.js.map +1 -0
  298. package/dist/types/Float.d.ts +18 -0
  299. package/dist/types/Float.js +22 -0
  300. package/dist/types/Float.js.map +1 -0
  301. package/dist/types/Integer.d.ts +18 -0
  302. package/dist/types/Integer.js +18 -5
  303. package/dist/types/Integer.js.map +1 -0
  304. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  305. package/dist/types/InvisibleMessageMode.js +27 -0
  306. package/dist/types/InvisibleMessageMode.js.map +1 -0
  307. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  308. package/dist/types/ItemNavigationBehavior.js +22 -17
  309. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  310. package/dist/types/NavigationMode.d.ts +32 -0
  311. package/dist/types/NavigationMode.js +33 -5
  312. package/dist/types/NavigationMode.js.map +1 -0
  313. package/dist/types/ValueState.d.ts +42 -0
  314. package/dist/types/ValueState.js +41 -18
  315. package/dist/types/ValueState.js.map +1 -0
  316. package/dist/types.d.ts +18 -0
  317. package/dist/types.js +2 -0
  318. package/dist/types.js.map +1 -0
  319. package/dist/updateShadowRoot.d.ts +8 -0
  320. package/dist/updateShadowRoot.js +34 -0
  321. package/dist/updateShadowRoot.js.map +1 -0
  322. package/dist/util/AriaLabelHelper.d.ts +6 -0
  323. package/dist/util/AriaLabelHelper.js +44 -0
  324. package/dist/util/AriaLabelHelper.js.map +1 -0
  325. package/dist/util/Caret.d.ts +7 -0
  326. package/dist/util/Caret.js +23 -0
  327. package/dist/util/Caret.js.map +1 -0
  328. package/dist/util/ColorConversion.d.ts +30 -0
  329. package/dist/util/ColorConversion.js +337 -0
  330. package/dist/util/ColorConversion.js.map +1 -0
  331. package/dist/util/FetchHelper.d.ts +3 -0
  332. package/dist/util/FetchHelper.js +19 -25
  333. package/dist/util/FetchHelper.js.map +1 -0
  334. package/dist/util/FocusableElements.d.ts +4 -0
  335. package/dist/util/FocusableElements.js +58 -56
  336. package/dist/util/FocusableElements.js.map +1 -0
  337. package/dist/util/HTMLSanitizer.d.ts +3 -0
  338. package/dist/util/HTMLSanitizer.js +6 -0
  339. package/dist/util/HTMLSanitizer.js.map +1 -0
  340. package/dist/util/InvisibleMessage.d.ts +10 -0
  341. package/dist/util/InvisibleMessage.js +56 -0
  342. package/dist/util/InvisibleMessage.js.map +1 -0
  343. package/dist/util/PopupUtils.d.ts +7 -0
  344. package/dist/util/PopupUtils.js +74 -0
  345. package/dist/util/PopupUtils.js.map +1 -0
  346. package/dist/util/SlotsHelper.d.ts +9 -0
  347. package/dist/util/SlotsHelper.js +30 -0
  348. package/dist/util/SlotsHelper.js.map +1 -0
  349. package/dist/util/StringHelper.d.ts +3 -0
  350. package/dist/util/StringHelper.js +21 -9
  351. package/dist/util/StringHelper.js.map +1 -0
  352. package/dist/util/TabbableElements.d.ts +17 -0
  353. package/dist/util/TabbableElements.js +53 -40
  354. package/dist/util/TabbableElements.js.map +1 -0
  355. package/dist/util/arraysAreEqual.d.ts +2 -0
  356. package/dist/util/arraysAreEqual.js +13 -0
  357. package/dist/util/arraysAreEqual.js.map +1 -0
  358. package/dist/util/clamp.d.ts +9 -0
  359. package/dist/util/clamp.js +12 -0
  360. package/dist/util/clamp.js.map +1 -0
  361. package/dist/util/createLinkInHead.d.ts +7 -0
  362. package/dist/util/createLinkInHead.js +21 -0
  363. package/dist/util/createLinkInHead.js.map +1 -0
  364. package/dist/util/createStyleInHead.d.ts +8 -0
  365. package/dist/util/createStyleInHead.js +10 -10
  366. package/dist/util/createStyleInHead.js.map +1 -0
  367. package/dist/util/debounce.d.ts +2 -0
  368. package/dist/util/debounce.js +15 -0
  369. package/dist/util/debounce.js.map +1 -0
  370. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  371. package/dist/util/detectNavigatorLanguage.js +8 -9
  372. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  373. package/dist/util/escapeRegex.d.ts +8 -0
  374. package/dist/util/escapeRegex.js +11 -0
  375. package/dist/util/escapeRegex.js.map +1 -0
  376. package/dist/util/formatMessage.d.ts +2 -0
  377. package/dist/util/formatMessage.js +15 -19
  378. package/dist/util/formatMessage.js.map +1 -0
  379. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  380. package/dist/util/generateHighlightedMarkup.js +41 -0
  381. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  382. package/dist/util/getActiveElement.d.ts +2 -0
  383. package/dist/util/getActiveElement.js +9 -0
  384. package/dist/util/getActiveElement.js.map +1 -0
  385. package/dist/util/getClassCopy.d.ts +400 -0
  386. package/dist/util/getClassCopy.js +10 -0
  387. package/dist/util/getClassCopy.js.map +1 -0
  388. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  389. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  390. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  391. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  392. package/dist/util/getEffectiveContentDensity.js +4 -0
  393. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  394. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  395. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  396. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  397. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  398. package/dist/util/getFastNavigationGroups.js +51 -0
  399. package/dist/util/getFastNavigationGroups.js.map +1 -0
  400. package/dist/util/getFileExtension.d.ts +12 -0
  401. package/dist/util/getFileExtension.js +19 -0
  402. package/dist/util/getFileExtension.js.map +1 -0
  403. package/dist/util/getNormalizedTarget.d.ts +7 -0
  404. package/dist/util/getNormalizedTarget.js +14 -0
  405. package/dist/util/getNormalizedTarget.js.map +1 -0
  406. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  407. package/dist/util/getSingletonElementInstance.js +10 -0
  408. package/dist/util/getSingletonElementInstance.js.map +1 -0
  409. package/dist/util/isElementClickable.d.ts +2 -0
  410. package/dist/util/isElementClickable.js +16 -0
  411. package/dist/util/isElementClickable.js.map +1 -0
  412. package/dist/util/isElementHidden.d.ts +2 -0
  413. package/dist/util/isElementHidden.js +8 -0
  414. package/dist/util/isElementHidden.js.map +1 -0
  415. package/dist/util/isElementInView.d.ts +6 -0
  416. package/dist/util/isElementInView.js +12 -0
  417. package/dist/util/isElementInView.js.map +1 -0
  418. package/dist/util/isElementTabbable.d.ts +9 -0
  419. package/dist/util/isElementTabbable.js +30 -0
  420. package/dist/util/isElementTabbable.js.map +1 -0
  421. package/dist/util/isValidPropertyName.d.ts +8 -0
  422. package/dist/util/isValidPropertyName.js +20 -12
  423. package/dist/util/isValidPropertyName.js.map +1 -0
  424. package/dist/util/whenDOMReady.d.ts +2 -0
  425. package/dist/util/whenDOMReady.js +11 -10
  426. package/dist/util/whenDOMReady.js.map +1 -0
  427. package/dist/util/willShowContent.d.ts +2 -0
  428. package/dist/util/willShowContent.js +7 -0
  429. package/dist/util/willShowContent.js.map +1 -0
  430. package/dist/validateThemeRoot.d.ts +2 -0
  431. package/dist/validateThemeRoot.js +47 -0
  432. package/dist/validateThemeRoot.js.map +1 -0
  433. package/global.d.ts +44 -0
  434. package/index.js +1 -1
  435. package/lib/generate-asset-parameters/index.js +25 -0
  436. package/lib/generate-styles/index.js +26 -0
  437. package/lib/generate-version-info/index.js +32 -0
  438. package/package-scripts.js +52 -27
  439. package/package.json +22 -14
  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.ts +23 -0
  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 +221 -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/i18nBundle.ts +108 -0
  506. package/{dist/Locale.js → src/locale/Locale.ts} +14 -14
  507. package/src/locale/RTLAwareRegistry.ts +16 -0
  508. package/src/locale/applyDirection.ts +18 -0
  509. package/src/locale/directionChange.ts +34 -0
  510. package/src/locale/getEffectiveDir.ts +28 -0
  511. package/src/locale/getLocale.ts +46 -0
  512. package/src/locale/languageChange.ts +24 -0
  513. package/src/locale/nextFallbackLocale.ts +28 -0
  514. package/{dist/util/normalizeLocale.js → src/locale/normalizeLocale.ts} +12 -33
  515. package/src/renderer/LitRenderer.ts +60 -0
  516. package/src/renderer/directives/style-map.js +72 -0
  517. package/src/renderer/executeTemplate.ts +40 -0
  518. package/src/theming/CustomStyle.ts +62 -0
  519. package/src/theming/ThemeLoaded.ts +24 -0
  520. package/src/theming/applyTheme.ts +90 -0
  521. package/src/theming/getConstructableStyle.ts +31 -0
  522. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  523. package/src/theming/getEffectiveStyle.ts +41 -0
  524. package/src/theming/getStylesString.ts +15 -0
  525. package/src/theming/getThemeDesignerTheme.ts +101 -0
  526. package/src/theming/preloadLinks.ts +24 -0
  527. package/src/thirdparty/_merge.ts +32 -0
  528. package/src/thirdparty/isPlainObject.ts +18 -0
  529. package/src/thirdparty/merge.ts +5 -0
  530. package/src/types/AnimationMode.ts +33 -0
  531. package/src/types/CSSColor.ts +20 -0
  532. package/src/types/CalendarType.ts +38 -0
  533. package/src/types/DOMReference.ts +28 -0
  534. package/src/types/DataType.ts +51 -0
  535. package/src/types/Float.ts +25 -0
  536. package/src/types/Integer.ts +25 -0
  537. package/src/types/InvisibleMessageMode.ts +27 -0
  538. package/src/types/ItemNavigationBehavior.ts +26 -0
  539. package/src/types/NavigationMode.ts +33 -0
  540. package/src/types/ValueState.ts +47 -0
  541. package/src/types.ts +30 -0
  542. package/src/updateShadowRoot.ts +37 -0
  543. package/src/util/AriaLabelHelper.ts +63 -0
  544. package/src/util/Caret.ts +28 -0
  545. package/src/util/ColorConversion.ts +399 -0
  546. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  547. package/src/util/FocusableElements.ts +82 -0
  548. package/src/util/HTMLSanitizer.ts +9 -0
  549. package/src/util/InvisibleMessage.ts +69 -0
  550. package/src/util/PopupUtils.ts +114 -0
  551. package/src/util/SlotsHelper.ts +39 -0
  552. package/src/util/StringHelper.ts +26 -0
  553. package/src/util/TabbableElements.ts +70 -0
  554. package/src/util/arraysAreEqual.ts +15 -0
  555. package/src/util/clamp.ts +12 -0
  556. package/src/util/createLinkInHead.ts +25 -0
  557. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  558. package/src/util/debounce.ts +18 -0
  559. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +4 -2
  560. package/src/util/escapeRegex.ts +11 -0
  561. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  562. package/src/util/generateHighlightedMarkup.ts +43 -0
  563. package/src/util/getActiveElement.ts +11 -0
  564. package/src/util/getClassCopy.ts +12 -0
  565. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  566. package/src/util/getEffectiveContentDensity.ts +5 -0
  567. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  568. package/src/util/getFastNavigationGroups.ts +63 -0
  569. package/src/util/getFileExtension.ts +21 -0
  570. package/src/util/getNormalizedTarget.ts +16 -0
  571. package/src/util/getSingletonElementInstance.ts +13 -0
  572. package/src/util/isElementClickable.ts +19 -0
  573. package/src/util/isElementHidden.ts +9 -0
  574. package/src/util/isElementInView.ts +15 -0
  575. package/src/util/isElementTabbable.ts +37 -0
  576. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +12 -3
  577. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  578. package/src/util/willShowContent.ts +7 -0
  579. package/src/validateThemeRoot.ts +58 -0
  580. package/tsconfig.json +13 -0
  581. package/used-modules.txt +10 -0
  582. package/bundle.es5.js +0 -28
  583. package/config/.eslintrc.js +0 -3
  584. package/config/rollup.config.js +0 -1
  585. package/dist/Assets.js +0 -2
  586. package/dist/CSS.js +0 -48
  587. package/dist/FormatSettings.js +0 -31
  588. package/dist/LocaleProvider.js +0 -34
  589. package/dist/RenderScheduler.js +0 -165
  590. package/dist/ResourceLoaderOverrides.js +0 -38
  591. package/dist/SVGIconRegistry.js +0 -54
  592. package/dist/animations/config.js +0 -5
  593. package/dist/boot.js +0 -25
  594. package/dist/compatibility/DOMObserver.js +0 -62
  595. package/dist/compatibility/patchNodeValue.js +0 -24
  596. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  597. package/dist/dates/CalendarDate.js +0 -203
  598. package/dist/dates/CalendarType.js +0 -22
  599. package/dist/dates/CalendarUtils.js +0 -99
  600. package/dist/delegate/CustomResize.js +0 -78
  601. package/dist/delegate/NativeResize.js +0 -44
  602. package/dist/events/PseudoEvents.js +0 -58
  603. package/dist/features/browsersupport/Edge.js +0 -6
  604. package/dist/features/browsersupport/IE11.js +0 -41
  605. package/dist/features/calendar/Buddhist.js +0 -1
  606. package/dist/features/calendar/Islamic.js +0 -1
  607. package/dist/features/calendar/Japanese.js +0 -1
  608. package/dist/features/calendar/Persian.js +0 -1
  609. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  610. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  611. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  612. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  613. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  614. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  615. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  616. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  617. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  618. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  619. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  620. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  621. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  622. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  623. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  624. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  625. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  626. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  627. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  628. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  629. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  630. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  631. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  632. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  633. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  634. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  635. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  636. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  637. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  638. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  639. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  640. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  641. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  642. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  643. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  644. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  645. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  646. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  647. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  648. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  649. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  650. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  651. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  652. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  653. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  654. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  655. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  656. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  657. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  658. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  659. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  660. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  661. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  662. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  663. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  664. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  665. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  666. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  667. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  668. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  669. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  670. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  671. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  672. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  673. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  674. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  675. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  676. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  677. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  678. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  679. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  680. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  681. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  682. package/dist/json-imports/LocaleData.js +0 -171
  683. package/dist/renderer/ifDefined.js +0 -21
  684. package/dist/resources/bundle.es5.js +0 -12643
  685. package/dist/resources/bundle.es5.js.map +0 -1
  686. package/dist/resources/bundle.esm.js +0 -7450
  687. package/dist/resources/bundle.esm.js.map +0 -1
  688. package/dist/shims/Core-shim.js +0 -52
  689. package/dist/shims/jquery-shim.js +0 -89
  690. package/dist/test-resources/assets/Themes.js +0 -11
  691. package/dist/test-resources/elements/Child.js +0 -35
  692. package/dist/test-resources/elements/Generic.js +0 -83
  693. package/dist/test-resources/elements/GenericExt.js +0 -26
  694. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  695. package/dist/test-resources/elements/Parent.js +0 -36
  696. package/dist/test-resources/pages/AllTestElements.html +0 -42
  697. package/dist/test-resources/pages/Configuration.html +0 -20
  698. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  699. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  700. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  701. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  702. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  703. package/dist/test-resources/specs/Theming.spec.js +0 -31
  704. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  705. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  706. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  707. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  708. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  709. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  710. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  711. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  712. package/dist/theming/StyleInjection.js +0 -67
  713. package/dist/thirdparty/Array.from.js +0 -16
  714. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  715. package/dist/thirdparty/Array.prototype.find.js +0 -46
  716. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  717. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  718. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  719. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  720. package/dist/thirdparty/Number.isInteger.js +0 -5
  721. package/dist/thirdparty/Number.isNaN.js +0 -1
  722. package/dist/thirdparty/Number.parseInt.js +0 -1
  723. package/dist/thirdparty/Object.assign.js +0 -31
  724. package/dist/thirdparty/Object.entries.js +0 -11
  725. package/dist/thirdparty/Symbol.js +0 -2
  726. package/dist/thirdparty/WeakSet.js +0 -27
  727. package/dist/thirdparty/events-polyfills.js +0 -89
  728. package/dist/thirdparty/fetch.js +0 -1
  729. package/dist/thirdparty/template.js +0 -600
  730. package/dist/types/CSSSize.js +0 -9
  731. package/dist/types/PopupState.js +0 -37
  732. package/dist/util/CSSTransformUtils.js +0 -90
  733. package/dist/util/isDescendantOf.js +0 -15
  734. package/dist/util/isNodeClickable.js +0 -19
  735. package/dist/util/isNodeHidden.js +0 -13
  736. package/dist/util/isNodeTabbable.js +0 -28
  737. package/dist/webcomponentsjs/LICENSE.md +0 -19
  738. package/dist/webcomponentsjs/README.md +0 -229
  739. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  740. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  741. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  742. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  743. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  744. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  745. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  746. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  747. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  748. package/dist/webcomponentsjs/package.json +0 -46
  749. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  750. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  751. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  752. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  753. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  754. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  755. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  756. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  757. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  758. package/src/AssetRegistry.js +0 -9
  759. package/src/Assets.js +0 -2
  760. package/src/CSS.js +0 -48
  761. package/src/Device.js +0 -823
  762. package/src/EventProvider.js +0 -73
  763. package/src/FeaturesRegistry.js +0 -11
  764. package/src/FontFace.js +0 -66
  765. package/src/FormatSettings.js +0 -31
  766. package/src/InitialConfiguration.js +0 -119
  767. package/src/Locale.js +0 -101
  768. package/src/LocaleProvider.js +0 -34
  769. package/src/RenderQueue.js +0 -42
  770. package/src/RenderScheduler.js +0 -165
  771. package/src/ResourceLoaderOverrides.js +0 -38
  772. package/src/SVGIconRegistry.js +0 -54
  773. package/src/StaticArea.js +0 -35
  774. package/src/StaticAreaItem.js +0 -67
  775. package/src/Theming.js +0 -45
  776. package/src/UI5Element.js +0 -842
  777. package/src/UI5ElementMetadata.js +0 -148
  778. package/src/animations/animate.js +0 -53
  779. package/src/animations/config.js +0 -5
  780. package/src/animations/scroll.js +0 -28
  781. package/src/asset-registries/Icons.js +0 -24
  782. package/src/asset-registries/LocaleData.js +0 -101
  783. package/src/asset-registries/Themes.js +0 -75
  784. package/src/asset-registries/i18n.js +0 -75
  785. package/src/boot.js +0 -25
  786. package/src/compatibility/DOMObserver.js +0 -62
  787. package/src/compatibility/patchNodeValue.js +0 -24
  788. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  789. package/src/config/AnimationMode.js +0 -9
  790. package/src/config/CalendarType.js +0 -18
  791. package/src/config/FormatSettings.js +0 -9
  792. package/src/config/Language.js +0 -9
  793. package/src/config/NoConflict.js +0 -44
  794. package/src/config/Theme.js +0 -24
  795. package/src/dates/CalendarDate.js +0 -203
  796. package/src/dates/CalendarType.js +0 -22
  797. package/src/dates/CalendarUtils.js +0 -99
  798. package/src/delegate/CustomResize.js +0 -78
  799. package/src/delegate/ItemNavigation.js +0 -234
  800. package/src/delegate/NativeResize.js +0 -44
  801. package/src/delegate/ResizeHandler.js +0 -66
  802. package/src/delegate/ScrollEnablement.js +0 -80
  803. package/src/events/PseudoEvents.js +0 -58
  804. package/src/features/browsersupport/Edge.js +0 -6
  805. package/src/features/browsersupport/IE11.js +0 -41
  806. package/src/features/calendar/Buddhist.js +0 -1
  807. package/src/features/calendar/Islamic.js +0 -1
  808. package/src/features/calendar/Japanese.js +0 -1
  809. package/src/features/calendar/Persian.js +0 -1
  810. package/src/i18nBundle.js +0 -35
  811. package/src/json-imports/LocaleData.js +0 -171
  812. package/src/renderer/LitRenderer.js +0 -15
  813. package/src/renderer/ifDefined.js +0 -21
  814. package/src/shims/Core-shim.js +0 -52
  815. package/src/shims/jquery-shim.js +0 -89
  816. package/src/theming/CustomStyle.js +0 -19
  817. package/src/theming/StyleInjection.js +0 -67
  818. package/src/thirdparty/Array.from.js +0 -16
  819. package/src/thirdparty/Array.prototype.fill.js +0 -44
  820. package/src/thirdparty/Array.prototype.find.js +0 -46
  821. package/src/thirdparty/Array.prototype.includes.js +0 -51
  822. package/src/thirdparty/Element.prototype.closest.js +0 -11
  823. package/src/thirdparty/Element.prototype.matches.js +0 -6
  824. package/src/thirdparty/Map.prototype.keys.js +0 -9
  825. package/src/thirdparty/Number.isInteger.js +0 -5
  826. package/src/thirdparty/Number.isNaN.js +0 -1
  827. package/src/thirdparty/Number.parseInt.js +0 -1
  828. package/src/thirdparty/Object.assign.js +0 -31
  829. package/src/thirdparty/Object.entries.js +0 -11
  830. package/src/thirdparty/Symbol.js +0 -2
  831. package/src/thirdparty/WeakSet.js +0 -27
  832. package/src/thirdparty/events-polyfills.js +0 -89
  833. package/src/thirdparty/fetch.js +0 -1
  834. package/src/thirdparty/template.js +0 -600
  835. package/src/types/AnimationMode.js +0 -7
  836. package/src/types/CSSSize.js +0 -9
  837. package/src/types/DataType.js +0 -25
  838. package/src/types/Integer.js +0 -9
  839. package/src/types/ItemNavigationBehavior.js +0 -21
  840. package/src/types/NavigationMode.js +0 -6
  841. package/src/types/PopupState.js +0 -37
  842. package/src/types/ValueState.js +0 -21
  843. package/src/util/CSSTransformUtils.js +0 -90
  844. package/src/util/FocusableElements.js +0 -60
  845. package/src/util/StringHelper.js +0 -11
  846. package/src/util/TabbableElements.js +0 -44
  847. package/src/util/isDescendantOf.js +0 -15
  848. package/src/util/isNodeClickable.js +0 -19
  849. package/src/util/isNodeHidden.js +0 -13
  850. package/src/util/isNodeTabbable.js +0 -28
  851. package/src/util/normalizeLocale.js +0 -77
@@ -0,0 +1,162 @@
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import IconCollectionsAlias from "../assets-meta/IconCollectionsAlias.js";
3
+ import { getEffectiveDefaultIconCollection } from "../config/Icons.js";
4
+ import { I18nText } from "../i18nBundle.js";
5
+ import { TemplateFunction } from "../renderer/executeTemplate.js";
6
+
7
+ type IconLoader = (collectionName: string) => Promise<CollectionData>;
8
+
9
+ type CollectionData = {
10
+ collection: string,
11
+ packageName: string,
12
+ version?: string,
13
+ data: Record<string, {
14
+ path: string,
15
+ paths: Array<string>,
16
+ ltr: boolean,
17
+ acc: I18nText,
18
+ }>,
19
+ };
20
+
21
+ type IconData = {
22
+ collection?: string,
23
+ packageName: string,
24
+ pathData: string | Array<string>,
25
+ ltr: boolean,
26
+ accData: I18nText,
27
+ customTemplate?: TemplateFunction,
28
+ viewBox?: string,
29
+ };
30
+
31
+ const loaders = new Map<string, IconLoader>();
32
+ const registry = getSharedResource<Map<string, IconData>>("SVGIcons.registry", new Map());
33
+ const iconCollectionPromises = getSharedResource<Map<string, Promise<CollectionData>>>("SVGIcons.promises", new Map());
34
+
35
+ const ICON_NOT_FOUND = "ICON_NOT_FOUND";
36
+
37
+ const registerIconLoader = (collectionName: string, loader: IconLoader) => {
38
+ loaders.set(collectionName, loader);
39
+ };
40
+
41
+ const _loadIconCollectionOnce = async (collectionName: string) => {
42
+ if (!iconCollectionPromises.has(collectionName)) {
43
+ if (!loaders.has(collectionName)) {
44
+ throw new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);
45
+ }
46
+
47
+ const loadIcons = loaders.get(collectionName)!;
48
+ iconCollectionPromises.set(collectionName, loadIcons(collectionName));
49
+ }
50
+
51
+ return iconCollectionPromises.get(collectionName);
52
+ };
53
+
54
+ const _fillRegistry = (bundleData: CollectionData) => {
55
+ Object.keys(bundleData.data).forEach(iconName => {
56
+ const iconData = bundleData.data[iconName];
57
+
58
+ registerIcon(iconName, {
59
+ pathData: iconData.path || iconData.paths,
60
+ ltr: iconData.ltr,
61
+ accData: iconData.acc,
62
+ collection: bundleData.collection,
63
+ packageName: bundleData.packageName,
64
+ });
65
+ });
66
+ };
67
+
68
+ // set
69
+ const registerIcon = (name: string, iconData: IconData) => { // eslint-disable-line
70
+ if (!iconData.collection) {
71
+ iconData.collection = getEffectiveDefaultIconCollection();
72
+ }
73
+
74
+ const key = `${iconData.collection}/${name}`;
75
+ registry.set(key, {
76
+ pathData: iconData.pathData,
77
+ ltr: iconData.ltr,
78
+ accData: iconData.accData,
79
+ packageName: iconData.packageName,
80
+ customTemplate: iconData.customTemplate,
81
+ viewBox: iconData.viewBox,
82
+ });
83
+ };
84
+
85
+ const _parseName = (name: string) => {
86
+ // silently support ui5-compatible URIs
87
+ if (name.startsWith("sap-icon://")) {
88
+ name = name.replace("sap-icon://", "");
89
+ }
90
+
91
+ let collection;
92
+ [name, collection] = name.split("/").reverse();
93
+ collection = collection || getEffectiveDefaultIconCollection();
94
+
95
+ // Normalize collection name.
96
+ // - resolve `SAP-icons-TNT` to `tnt`.
97
+ // - resolve `BusinessSuiteInAppSymbols` to `business-suite`.
98
+ // - resolve `horizon` to `SAP-icons-v5`,
99
+ // Note: aliases can be made as a feature, if more collections need it or more aliases are needed.
100
+ collection = _normalizeCollection(collection);
101
+ name = name.replace("icon-", "");
102
+
103
+ const registryKey = `${collection}/${name}`;
104
+ return { name, collection, registryKey };
105
+ };
106
+
107
+ const getIconDataSync = (name: string) => {
108
+ const { registryKey } = _parseName(name);
109
+ return registry.get(registryKey);
110
+ };
111
+
112
+ const getIconData = async (name: string) => {
113
+ const { collection, registryKey } = _parseName(name);
114
+
115
+ let iconData: string | CollectionData = ICON_NOT_FOUND;
116
+ try {
117
+ iconData = (await _loadIconCollectionOnce(collection))!;
118
+ } catch (error: unknown) {
119
+ const e = error as Error;
120
+ console.error(e.message); /* eslint-disable-line */
121
+ }
122
+
123
+ if (iconData === ICON_NOT_FOUND) {
124
+ return iconData;
125
+ }
126
+
127
+ if (!registry.has(registryKey)) {
128
+ // not filled by another await. many getters will await on the same loader, but fill only once
129
+ _fillRegistry(iconData as CollectionData);
130
+ }
131
+ return registry.get(registryKey);
132
+ };
133
+
134
+ // test page usage only
135
+ const _getRegisteredNames = async () => {
136
+ // fetch one icon of each collection to trigger the bundle load
137
+ await getIconData("edit");
138
+ await getIconData("tnt/arrow");
139
+ await getIconData("business-suite/3d");
140
+ return Array.from(registry.keys());
141
+ };
142
+
143
+ const _normalizeCollection = (collectionName: string) => {
144
+ if (IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias]) {
145
+ return IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias];
146
+ }
147
+
148
+ return collectionName;
149
+ };
150
+
151
+ export {
152
+ registerIconLoader,
153
+ getIconData,
154
+ getIconDataSync,
155
+ registerIcon,
156
+ _getRegisteredNames,
157
+ };
158
+
159
+ export type {
160
+ IconData,
161
+ CollectionData,
162
+ };
@@ -0,0 +1,75 @@
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import { I18nText } from "../i18nBundle.js";
3
+
4
+ type IllustrationLoader = (illustrationName: string) => Promise<IllustrationData>;
5
+
6
+ type IllustrationProperties = {
7
+ dialogSvg: string,
8
+ sceneSvg: string,
9
+ spotSvg: string,
10
+ title: I18nText,
11
+ subtitle: I18nText,
12
+ };
13
+
14
+ type IllustrationData = IllustrationProperties & {
15
+ set: string,
16
+ };
17
+
18
+ const loaders = new Map<string, IllustrationLoader>();
19
+ const registry = getSharedResource<Map<string, IllustrationProperties>>("SVGIllustration.registry", new Map());
20
+ const illustrationPromises = getSharedResource<Map<string, Promise<IllustrationData>>>("SVGIllustration.promises", new Map());
21
+
22
+ const registerIllustration = (name: string, data: IllustrationData) => {
23
+ registry.set(`${data.set}/${name}`, {
24
+ dialogSvg: data.dialogSvg,
25
+ sceneSvg: data.sceneSvg,
26
+ spotSvg: data.spotSvg,
27
+ title: data.title,
28
+ subtitle: data.subtitle,
29
+ });
30
+ };
31
+
32
+ const registerIllustrationLoader = (illustrationName: string, loader: IllustrationLoader) => {
33
+ loaders.set(illustrationName, loader);
34
+ };
35
+
36
+ const _loadIllustrationOnce = async (illustrationName: string) => {
37
+ if (!illustrationPromises.has(illustrationName)) {
38
+ if (!loaders.has(illustrationName)) {
39
+ const illustrationPath = illustrationName.startsWith("Tnt") ? `tnt/${illustrationName.replace(/^Tnt/, "")}` : illustrationName;
40
+ throw new Error(`No loader registered for the ${illustrationName} illustration. Probably you forgot to import the "@ui5/webcomponents-fiori/dist/illustrations/${illustrationPath}.js" module. Or you can import the "@ui5/webcomponents-fiori/dist/illustrations/AllIllustrations.js" module that will make all illustrations available, but fetch only the ones used.`);
41
+ }
42
+
43
+ const loadIllustrations = loaders.get(illustrationName)!;
44
+ illustrationPromises.set(illustrationName, loadIllustrations(illustrationName));
45
+ }
46
+ return illustrationPromises.get(illustrationName);
47
+ };
48
+
49
+ const getIllustrationDataSync = (illustrationName: string) => {
50
+ let set = "fiori";
51
+
52
+ if (illustrationName.startsWith("Tnt")) {
53
+ set = "tnt";
54
+ illustrationName = illustrationName.replace(/^Tnt/, "");
55
+ }
56
+ return registry.get(`${set}/${illustrationName}`);
57
+ };
58
+
59
+ const getIllustrationData = async (illustrationName: string) => {
60
+ let set = "fiori";
61
+
62
+ await _loadIllustrationOnce(illustrationName);
63
+ if (illustrationName.startsWith("Tnt")) {
64
+ set = "tnt";
65
+ illustrationName = illustrationName.replace(/^Tnt/, "");
66
+ }
67
+ return registry.get(`${set}/${illustrationName}`);
68
+ };
69
+
70
+ export {
71
+ getIllustrationDataSync,
72
+ registerIllustration,
73
+ registerIllustrationLoader,
74
+ getIllustrationData,
75
+ };
@@ -0,0 +1,172 @@
1
+ import { attachLanguageChange } from "../locale/languageChange.js";
2
+ import getLocale from "../locale/getLocale.js";
3
+ import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from "../generated/AssetParameters.js";
4
+ import { getFeature } from "../FeaturesRegistry.js";
5
+ import type OpenUI5Support from "../features/OpenUI5Support";
6
+
7
+ type LocaleDataLoader = (locale: string) => Promise<CLDRData>;
8
+ type CLDRData = Record<string, object | boolean | string>;
9
+
10
+ const localeDataMap = new Map<string, CLDRData>();
11
+ const loaders = new Map<string, LocaleDataLoader>();
12
+ const cldrPromises = new Map<string, Promise<CLDRData>>();
13
+ const reportedErrors = new Set<string>();
14
+ let warningShown = false;
15
+
16
+ const M_ISO639_OLD_TO_NEW = {
17
+ "iw": "he",
18
+ "ji": "yi",
19
+ "in": "id",
20
+ };
21
+
22
+ const _showAssetsWarningOnce = (localeId: string) => {
23
+ if (warningShown) {
24
+ return;
25
+ }
26
+
27
+ console.warn(`[LocaleData] Supported locale "${localeId}" not configured, import the "Assets.js" module from the webcomponents package you are using.`); /* eslint-disable-line */
28
+
29
+ warningShown = true;
30
+ };
31
+
32
+ const calcLocale = (language: string, region: string, script: string) => {
33
+ // normalize language and handle special cases
34
+ language = (language && M_ISO639_OLD_TO_NEW[language as keyof typeof M_ISO639_OLD_TO_NEW]) || language;
35
+ // Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
36
+ if (language === "no") {
37
+ language = "nb";
38
+ }
39
+ // Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
40
+ if (language === "zh" && !region) {
41
+ if (script === "Hans") {
42
+ region = "CN";
43
+ } else if (script === "Hant") {
44
+ region = "TW";
45
+ }
46
+ }
47
+
48
+ // Special case 3: for Serbian, there are cyrillic and latin scripts, "sh" and "sr-latn" map to "latin", "sr" maps to cyrillic.
49
+ if (language === "sh" || (language === "sr" && script === "Latn")) {
50
+ language = "sr";
51
+ region = "Latn";
52
+ }
53
+
54
+ // try language + region
55
+ let localeId = `${language}_${region}`;
56
+ if (SUPPORTED_LOCALES.includes(localeId)) {
57
+ if (loaders.has(localeId)) {
58
+ // supported and has loader
59
+ return localeId;
60
+ }
61
+
62
+ // supported, no loader - fallback to default and warn
63
+ _showAssetsWarningOnce(localeId);
64
+ return DEFAULT_LOCALE;
65
+ }
66
+
67
+ // not supported, try language only
68
+ localeId = language;
69
+ if (SUPPORTED_LOCALES.includes(localeId)) {
70
+ if (loaders.has(localeId)) {
71
+ // supported and has loader
72
+ return localeId;
73
+ }
74
+
75
+ // supported, no loader - fallback to default and warn
76
+ _showAssetsWarningOnce(localeId);
77
+ return DEFAULT_LOCALE;
78
+ }
79
+
80
+ // not supported - fallback to default locale
81
+ return DEFAULT_LOCALE;
82
+ };
83
+
84
+ // internal set data
85
+ const setLocaleData = (localeId: string, content: CLDRData) => {
86
+ localeDataMap.set(localeId, content);
87
+ };
88
+
89
+ // external getSync
90
+ const getLocaleData = (localeId: string) => {
91
+ // if there is no loader, the default fallback was fetched and a warning was given - use default locale instead
92
+ if (!loaders.has(localeId)) {
93
+ localeId = DEFAULT_LOCALE;
94
+ }
95
+
96
+ const content = localeDataMap.get(localeId);
97
+ if (!content) {
98
+ throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
99
+ }
100
+
101
+ return content;
102
+ };
103
+
104
+ // load bundle over the network once
105
+ const _loadCldrOnce = (localeId: string) => {
106
+ if (!cldrPromises.get(localeId)) {
107
+ const loadCldr = loaders.get(localeId);
108
+
109
+ if (!loadCldr) {
110
+ throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
111
+ }
112
+
113
+ cldrPromises.set(localeId, loadCldr(localeId));
114
+ }
115
+
116
+ return cldrPromises.get(localeId);
117
+ };
118
+
119
+ // external getAsync
120
+ const fetchCldr = async (language: string, region: string, script: string) => {
121
+ const localeId = calcLocale(language, region, script);
122
+
123
+ // reuse OpenUI5 CLDR if present
124
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
125
+ if (openUI5Support) {
126
+ const cldrContent = openUI5Support.getLocaleDataObject();
127
+ if (cldrContent) {
128
+ // only if openui5 actually returned valid content
129
+ setLocaleData(localeId, cldrContent);
130
+ return;
131
+ }
132
+ }
133
+
134
+ // fetch it
135
+ try {
136
+ const cldrContent = await _loadCldrOnce(localeId);
137
+ setLocaleData(localeId, cldrContent as CLDRData);
138
+ } catch (error: unknown) {
139
+ const e = error as Error;
140
+ if (!reportedErrors.has(e.message)) {
141
+ reportedErrors.add(e.message);
142
+ console.error(e.message); /* eslint-disable-line */
143
+ }
144
+ }
145
+ };
146
+
147
+ const registerLocaleDataLoader = (localeId: string, loader: LocaleDataLoader) => {
148
+ loaders.set(localeId, loader);
149
+ };
150
+
151
+ // register default loader for "en" from ui5 CDN (dev workflow without assets)
152
+ registerLocaleDataLoader("en", async () => {
153
+ const cldrContent = await fetch(`https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json`);
154
+ return cldrContent.json() as Promise<CLDRData>;
155
+ });
156
+
157
+ // When the language changes dynamically (the user calls setLanguage),
158
+ // re-fetch the required CDRD data.
159
+ attachLanguageChange(() => {
160
+ const locale = getLocale();
161
+ return fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
162
+ });
163
+
164
+ export {
165
+ registerLocaleDataLoader,
166
+ fetchCldr,
167
+ getLocaleData,
168
+ };
169
+
170
+ export type {
171
+ CLDRData,
172
+ };
@@ -0,0 +1,67 @@
1
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
2
+ import { StyleData, StyleDataCSP } from "../types.js";
3
+
4
+ type ThemeData = {_: StyleDataCSP } | StyleDataCSP | string;
5
+ type ThemeLoader = (themeName: string) => Promise<ThemeData>;
6
+
7
+ const themeStyles = new Map<string, StyleData>();
8
+ const loaders = new Map<string, ThemeLoader>();
9
+ const registeredPackages = new Set<string>();
10
+ const registeredThemes = new Set<string>();
11
+
12
+ const registerThemePropertiesLoader = (packageName: string, themeName: string, loader: ThemeLoader) => {
13
+ loaders.set(`${packageName}/${themeName}`, loader);
14
+ registeredPackages.add(packageName);
15
+ registeredThemes.add(themeName);
16
+ };
17
+
18
+ const getThemeProperties = async (packageName: string, themeName: string) => {
19
+ const style = themeStyles.get(`${packageName}_${themeName}`);
20
+ if (style !== undefined) { // it's valid for style to be an empty string
21
+ return style;
22
+ }
23
+
24
+ if (!registeredThemes.has(themeName)) {
25
+ const regThemesStr = [...registeredThemes.values()].join(", ");
26
+ console.warn(`You have requested a non-registered theme ${themeName} - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
27
+ return _getThemeProperties(packageName, DEFAULT_THEME);
28
+ }
29
+
30
+ return _getThemeProperties(packageName, themeName);
31
+ };
32
+
33
+ const _getThemeProperties = async (packageName: string, themeName: string) => {
34
+ const loader = loaders.get(`${packageName}/${themeName}`);
35
+ if (!loader) {
36
+ // no themes for package
37
+ console.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */
38
+ return;
39
+ }
40
+ let data;
41
+ try {
42
+ data = await loader(themeName);
43
+ } catch (error: unknown) {
44
+ const e = error as Error;
45
+ console.error(packageName, e.message); /* eslint-disable-line */
46
+ return;
47
+ }
48
+ const themeProps = (data as {_: StyleDataCSP})._ || data; // Refactor: remove _ everywhere
49
+
50
+ themeStyles.set(`${packageName}_${themeName}`, themeProps);
51
+ return themeProps;
52
+ };
53
+
54
+ const getRegisteredPackages = () => {
55
+ return registeredPackages;
56
+ };
57
+
58
+ const isThemeRegistered = (theme: string) => {
59
+ return registeredThemes.has(theme);
60
+ };
61
+
62
+ export {
63
+ registerThemePropertiesLoader,
64
+ getThemeProperties,
65
+ getRegisteredPackages,
66
+ isThemeRegistered,
67
+ };
@@ -0,0 +1,118 @@
1
+ import getLocale from "../locale/getLocale.js";
2
+ import { attachLanguageChange } from "../locale/languageChange.js";
3
+ import normalizeLocale from "../locale/normalizeLocale.js";
4
+ import nextFallbackLocale from "../locale/nextFallbackLocale.js";
5
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
6
+ import { getFetchDefaultLanguage } from "../config/Language.js";
7
+
8
+ type I18nLoader = (localeId: string) => Promise<I18nData>;
9
+ type I18nData = Record<string, string>;
10
+
11
+ // contains package names for which the warning has been shown
12
+ const warningShown = new Set();
13
+ const reportedErrors = new Set();
14
+
15
+ const bundleData = new Map<string, I18nData | null>();
16
+ const bundlePromises = new Map<string, Promise<I18nData>>();
17
+ const loaders = new Map<string, I18nLoader>();
18
+
19
+ /**
20
+ * Registers i18n loader function for given package and locale.
21
+ *
22
+ * @public
23
+ * @param {string} packageName for which package this loader can fetch data
24
+ * @param {string} localeId locale that this loader can handle
25
+ * @param {function} loader async function that will be passed a localeId and should return a JSON object
26
+ */
27
+ const registerI18nLoader = (packageName: string, localeId: string, loader: I18nLoader) => {
28
+ // register loader by key
29
+ const bundleKey = `${packageName}/${localeId}`;
30
+ loaders.set(bundleKey, loader);
31
+ };
32
+
33
+ const _setI18nBundleData = (packageName: string, data: I18nData | null) => {
34
+ bundleData.set(packageName, data);
35
+ };
36
+
37
+ const getI18nBundleData = (packageName: string) => {
38
+ return bundleData.get(packageName);
39
+ };
40
+
41
+ const _hasLoader = (packageName: string, localeId: string) => {
42
+ const bundleKey = `${packageName}/${localeId}`;
43
+ return loaders.has(bundleKey);
44
+ };
45
+
46
+ // load bundle over the network once
47
+ const _loadMessageBundleOnce = (packageName: string, localeId: string) => {
48
+ const bundleKey = `${packageName}/${localeId}`;
49
+ const loadMessageBundle = loaders.get(bundleKey);
50
+
51
+ if (loadMessageBundle && !bundlePromises.get(bundleKey)) {
52
+ bundlePromises.set(bundleKey, loadMessageBundle(localeId));
53
+ }
54
+
55
+ return bundlePromises.get(bundleKey)!; // Investigate if i18n loader exists and this won't return undefined.
56
+ };
57
+
58
+ const _showAssetsWarningOnce = (packageName: string) => {
59
+ if (!warningShown.has(packageName)) {
60
+ console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
61
+ ` Add \`import "${packageName}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`); /* eslint-disable-line */
62
+ warningShown.add(packageName);
63
+ }
64
+ };
65
+
66
+ /**
67
+ * This method preforms the asynchronous task of fetching the actual text resources. It will fetch
68
+ * each text resource over the network once (even for multiple calls to the same method).
69
+ * It should be fully finished before the i18nBundle class is created in the webcomponents.
70
+ * This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.
71
+ * To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>
72
+ * @param {packageName} packageName the NPM package name
73
+ * @public
74
+ */
75
+ const fetchI18nBundle = async (packageName: string) => {
76
+ const language = getLocale().getLanguage();
77
+ const region = getLocale().getRegion();
78
+ let localeId = normalizeLocale(language + (region ? `-${region}` : ``));
79
+
80
+ while (localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId)) {
81
+ localeId = nextFallbackLocale(localeId);
82
+ }
83
+
84
+ // use default language unless configured to always fetch it from the network
85
+ const fetchDefaultLanguage = getFetchDefaultLanguage();
86
+ if (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {
87
+ _setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
88
+ return;
89
+ }
90
+
91
+ if (!_hasLoader(packageName, localeId)) {
92
+ _showAssetsWarningOnce(packageName);
93
+ return;
94
+ }
95
+
96
+ try {
97
+ const data = await _loadMessageBundleOnce(packageName, localeId);
98
+ _setI18nBundleData(packageName, data);
99
+ } catch (error: unknown) {
100
+ const e = error as Error;
101
+ if (!reportedErrors.has(e.message)) {
102
+ reportedErrors.add(e.message);
103
+ console.error(e.message); /* eslint-disable-line */
104
+ }
105
+ }
106
+ };
107
+
108
+ // When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
109
+ attachLanguageChange((lang: string /* eslint-disable-line */) => {
110
+ const allPackages = [...bundleData.keys()];
111
+ return Promise.all(allPackages.map(fetchI18nBundle));
112
+ });
113
+
114
+ export {
115
+ registerI18nLoader,
116
+ fetchI18nBundle,
117
+ getI18nBundleData,
118
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Supported icon collection names and aliases.
3
+ *
4
+ * Users might specify a collection, using both the key and the value in the following key-value pairs,
5
+ * e.g the following pairs are completely exchangeable:
6
+ * "SAP-icons-TNT/actor" and "tnt/actor", "BusinessSuiteInAppSymbols/3d" and "business-suite/3d",
7
+ * "SAP-icons-v5/accept" and "horizon/accept".
8
+ *
9
+ * Note: technically, in the code we maintain the collections under the "value" name - "tnt", "business-suite",
10
+ * SAP-icons-v5" and "SAP-icons"(which does not have an alias).
11
+ */
12
+ const IconCollectionsAlias = {
13
+ "SAP-icons-TNT": "tnt",
14
+ "BusinessSuiteInAppSymbols": "business-suite",
15
+ "horizon": "SAP-icons-v5",
16
+ };
17
+
18
+ export default IconCollectionsAlias;
@@ -0,0 +1,33 @@
1
+ import { getAnimationMode as getConfiguredAnimationMode } from "../InitialConfiguration.js";
2
+ import AnimationMode from "../types/AnimationMode.js";
3
+
4
+ let curAnimationMode: AnimationMode;
5
+
6
+ /**
7
+ * Returns the animation mode - "full", "basic", "minimal" or "none".
8
+ * @public
9
+ * @returns { AnimationMode }
10
+ */
11
+ const getAnimationMode = (): AnimationMode => {
12
+ if (curAnimationMode === undefined) {
13
+ curAnimationMode = getConfiguredAnimationMode();
14
+ }
15
+
16
+ return curAnimationMode;
17
+ };
18
+
19
+ /**
20
+ * Sets the animation mode - "full", "basic", "minimal" or "none".
21
+ * @public
22
+ * @param { AnimationMode } animationMode
23
+ */
24
+ const setAnimationMode = (animationMode: AnimationMode) => {
25
+ if (Object.values(AnimationMode).includes(animationMode)) {
26
+ curAnimationMode = animationMode;
27
+ }
28
+ };
29
+
30
+ export {
31
+ getAnimationMode,
32
+ setAnimationMode,
33
+ };
@@ -0,0 +1,23 @@
1
+ import CalendarType from "../types/CalendarType.js";
2
+ import { getCalendarType as getConfiguredCalendarType } from "../InitialConfiguration.js";
3
+
4
+ let calendarType: CalendarType | undefined;
5
+
6
+ /**
7
+ * Returns the configured or default calendar type.
8
+ * @public
9
+ * @returns { CalendarType } the effective calendar type
10
+ */
11
+ const getCalendarType = (): CalendarType => {
12
+ if (calendarType === undefined) {
13
+ calendarType = getConfiguredCalendarType();
14
+ }
15
+
16
+ if (calendarType && calendarType in CalendarType) {
17
+ return calendarType;
18
+ }
19
+
20
+ return CalendarType.Gregorian;
21
+ };
22
+
23
+ export { getCalendarType }; // eslint-disable-line
@@ -0,0 +1,21 @@
1
+ import { getFormatSettings } from "../InitialConfiguration.js";
2
+
3
+ type FormatSettings = { firstDayOfWeek?: number };
4
+
5
+ let formatSettings: FormatSettings;
6
+
7
+ /**
8
+ * Returns the first day of the week from the configured format settings or based on the current locale.
9
+ * @public
10
+ * @returns {Number} 0 (Sunday) through 6 (Saturday)
11
+ */
12
+ const getFirstDayOfWeek = (): number | undefined => {
13
+ if (formatSettings === undefined) {
14
+ formatSettings = getFormatSettings();
15
+ }
16
+
17
+ return formatSettings.firstDayOfWeek;
18
+ };
19
+
20
+ export { getFirstDayOfWeek }; // eslint-disable-line
21
+ export type { FormatSettings };