@ui5/webcomponents-base 0.0.0-2db62badf → 0.0.0-2f7664755

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 (862) hide show
  1. package/.eslintignore +6 -0
  2. package/CHANGELOG.md +588 -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 +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 +374 -0
  78. package/dist/UI5Element.js +953 -790
  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.8fc86dc4.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 +49 -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.d.ts +3 -0
  194. package/dist/generated/css/BusyIndicator.css.js +7 -0
  195. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  196. package/dist/generated/css/FontFace.css.d.ts +3 -0
  197. package/dist/generated/css/FontFace.css.js +7 -0
  198. package/dist/generated/css/FontFace.css.js.map +1 -0
  199. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  200. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  201. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  202. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  203. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  204. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  205. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  206. package/dist/getSharedResource.d.ts +11 -0
  207. package/dist/getSharedResource.js +26 -0
  208. package/dist/getSharedResource.js.map +1 -0
  209. package/dist/global.d.ts +38 -0
  210. package/dist/i18nBundle.d.ts +43 -0
  211. package/dist/i18nBundle.js +73 -30
  212. package/dist/i18nBundle.js.map +1 -0
  213. package/dist/locale/Locale.d.ts +22 -0
  214. package/dist/locale/Locale.js +79 -0
  215. package/dist/locale/Locale.js.map +1 -0
  216. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  217. package/dist/locale/RTLAwareRegistry.js +9 -0
  218. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  219. package/dist/locale/applyDirection.d.ts +10 -0
  220. package/dist/locale/applyDirection.js +17 -0
  221. package/dist/locale/applyDirection.js.map +1 -0
  222. package/dist/locale/directionChange.d.ts +15 -0
  223. package/dist/locale/directionChange.js +24 -0
  224. package/dist/locale/directionChange.js.map +1 -0
  225. package/dist/locale/getEffectiveDir.d.ts +2 -0
  226. package/dist/locale/getEffectiveDir.js +24 -0
  227. package/dist/locale/getEffectiveDir.js.map +1 -0
  228. package/dist/locale/getLocale.d.ts +7 -0
  229. package/dist/locale/getLocale.js +38 -0
  230. package/dist/locale/getLocale.js.map +1 -0
  231. package/dist/locale/languageChange.d.ts +5 -0
  232. package/dist/locale/languageChange.js +14 -0
  233. package/dist/locale/languageChange.js.map +1 -0
  234. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  235. package/dist/locale/nextFallbackLocale.js +24 -0
  236. package/dist/locale/nextFallbackLocale.js.map +1 -0
  237. package/dist/locale/normalizeLocale.d.ts +7 -0
  238. package/dist/locale/normalizeLocale.js +47 -0
  239. package/dist/locale/normalizeLocale.js.map +1 -0
  240. package/dist/renderer/LitRenderer.d.ts +14 -0
  241. package/dist/renderer/LitRenderer.js +38 -12
  242. package/dist/renderer/LitRenderer.js.map +1 -0
  243. package/dist/renderer/directives/style-map.js +72 -0
  244. package/dist/renderer/executeTemplate.d.ts +13 -0
  245. package/dist/renderer/executeTemplate.js +30 -0
  246. package/dist/renderer/executeTemplate.js.map +1 -0
  247. package/dist/sap/base/Log.js +240 -0
  248. package/dist/sap/base/assert.js +7 -0
  249. package/dist/sap/base/security/URLListValidator.js +159 -0
  250. package/dist/sap/base/security/encodeCSS.js +14 -0
  251. package/dist/sap/base/security/encodeXML.js +23 -0
  252. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  253. package/dist/sap/base/strings/toHex.js +8 -0
  254. package/dist/sap/base/util/now.js +7 -0
  255. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  256. package/dist/theming/CustomStyle.d.ts +6 -0
  257. package/dist/theming/CustomStyle.js +44 -17
  258. package/dist/theming/CustomStyle.js.map +1 -0
  259. package/dist/theming/ThemeLoaded.d.ts +5 -0
  260. package/dist/theming/ThemeLoaded.js +14 -0
  261. package/dist/theming/ThemeLoaded.js.map +1 -0
  262. package/dist/theming/applyTheme.d.ts +2 -0
  263. package/dist/theming/applyTheme.js +75 -0
  264. package/dist/theming/applyTheme.js.map +1 -0
  265. package/dist/theming/getConstructableStyle.d.ts +9 -0
  266. package/dist/theming/getConstructableStyle.js +25 -0
  267. package/dist/theming/getConstructableStyle.js.map +1 -0
  268. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  269. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  270. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  271. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  272. package/dist/theming/getEffectiveStyle.js +32 -0
  273. package/dist/theming/getEffectiveStyle.js.map +1 -0
  274. package/dist/theming/getStylesString.d.ts +3 -0
  275. package/dist/theming/getStylesString.js +11 -0
  276. package/dist/theming/getStylesString.js.map +1 -0
  277. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  278. package/dist/theming/getThemeDesignerTheme.js +80 -0
  279. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  280. package/dist/theming/preloadLinks.d.ts +3 -0
  281. package/dist/theming/preloadLinks.js +19 -0
  282. package/dist/theming/preloadLinks.js.map +1 -0
  283. package/dist/thirdparty/_merge.d.ts +2 -0
  284. package/dist/thirdparty/_merge.js +35 -0
  285. package/dist/thirdparty/_merge.js.map +1 -0
  286. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  287. package/dist/thirdparty/isPlainObject.js +19 -0
  288. package/dist/thirdparty/isPlainObject.js.map +1 -0
  289. package/dist/thirdparty/merge.d.ts +2 -0
  290. package/dist/thirdparty/merge.js +6 -0
  291. package/dist/thirdparty/merge.js.map +1 -0
  292. package/dist/types/AnimationMode.d.ts +32 -0
  293. package/dist/types/AnimationMode.js +33 -6
  294. package/dist/types/AnimationMode.js.map +1 -0
  295. package/dist/types/CSSColor.d.ts +16 -0
  296. package/dist/types/CSSColor.js +19 -0
  297. package/dist/types/CSSColor.js.map +1 -0
  298. package/dist/types/CalendarType.d.ts +37 -0
  299. package/dist/types/CalendarType.js +39 -0
  300. package/dist/types/CalendarType.js.map +1 -0
  301. package/dist/types/DOMReference.d.ts +17 -0
  302. package/dist/types/DOMReference.js +25 -0
  303. package/dist/types/DOMReference.js.map +1 -0
  304. package/dist/types/DataType.d.ts +25 -0
  305. package/dist/types/DataType.js +33 -14
  306. package/dist/types/DataType.js.map +1 -0
  307. package/dist/types/Float.d.ts +18 -0
  308. package/dist/types/Float.js +22 -0
  309. package/dist/types/Float.js.map +1 -0
  310. package/dist/types/Integer.d.ts +18 -0
  311. package/dist/types/Integer.js +18 -5
  312. package/dist/types/Integer.js.map +1 -0
  313. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  314. package/dist/types/InvisibleMessageMode.js +27 -0
  315. package/dist/types/InvisibleMessageMode.js.map +1 -0
  316. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  317. package/dist/types/ItemNavigationBehavior.js +22 -17
  318. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  319. package/dist/types/NavigationMode.d.ts +32 -0
  320. package/dist/types/NavigationMode.js +33 -5
  321. package/dist/types/NavigationMode.js.map +1 -0
  322. package/dist/types/ValueState.d.ts +42 -0
  323. package/dist/types/ValueState.js +41 -18
  324. package/dist/types/ValueState.js.map +1 -0
  325. package/dist/types.d.ts +18 -0
  326. package/dist/types.js +2 -0
  327. package/dist/types.js.map +1 -0
  328. package/dist/updateShadowRoot.d.ts +8 -0
  329. package/dist/updateShadowRoot.js +34 -0
  330. package/dist/updateShadowRoot.js.map +1 -0
  331. package/dist/util/AriaLabelHelper.d.ts +6 -0
  332. package/dist/util/AriaLabelHelper.js +44 -0
  333. package/dist/util/AriaLabelHelper.js.map +1 -0
  334. package/dist/util/Caret.d.ts +7 -0
  335. package/dist/util/Caret.js +23 -0
  336. package/dist/util/Caret.js.map +1 -0
  337. package/dist/util/ColorConversion.d.ts +30 -0
  338. package/dist/util/ColorConversion.js +337 -0
  339. package/dist/util/ColorConversion.js.map +1 -0
  340. package/dist/util/FetchHelper.d.ts +3 -0
  341. package/dist/util/FetchHelper.js +19 -25
  342. package/dist/util/FetchHelper.js.map +1 -0
  343. package/dist/util/FocusableElements.d.ts +4 -0
  344. package/dist/util/FocusableElements.js +67 -56
  345. package/dist/util/FocusableElements.js.map +1 -0
  346. package/dist/util/HTMLSanitizer.d.ts +3 -0
  347. package/dist/util/HTMLSanitizer.js +6 -0
  348. package/dist/util/HTMLSanitizer.js.map +1 -0
  349. package/dist/util/InvisibleMessage.d.ts +10 -0
  350. package/dist/util/InvisibleMessage.js +56 -0
  351. package/dist/util/InvisibleMessage.js.map +1 -0
  352. package/dist/util/PopupUtils.d.ts +7 -0
  353. package/dist/util/PopupUtils.js +74 -0
  354. package/dist/util/PopupUtils.js.map +1 -0
  355. package/dist/util/SlotsHelper.d.ts +9 -0
  356. package/dist/util/SlotsHelper.js +30 -0
  357. package/dist/util/SlotsHelper.js.map +1 -0
  358. package/dist/util/StringHelper.d.ts +3 -0
  359. package/dist/util/StringHelper.js +21 -9
  360. package/dist/util/StringHelper.js.map +1 -0
  361. package/dist/util/TabbableElements.d.ts +17 -0
  362. package/dist/util/TabbableElements.js +53 -40
  363. package/dist/util/TabbableElements.js.map +1 -0
  364. package/dist/util/arraysAreEqual.d.ts +2 -0
  365. package/dist/util/arraysAreEqual.js +13 -0
  366. package/dist/util/arraysAreEqual.js.map +1 -0
  367. package/dist/util/clamp.d.ts +9 -0
  368. package/dist/util/clamp.js +12 -0
  369. package/dist/util/clamp.js.map +1 -0
  370. package/dist/util/createLinkInHead.d.ts +7 -0
  371. package/dist/util/createLinkInHead.js +21 -0
  372. package/dist/util/createLinkInHead.js.map +1 -0
  373. package/dist/util/createStyleInHead.d.ts +8 -0
  374. package/dist/util/createStyleInHead.js +10 -10
  375. package/dist/util/createStyleInHead.js.map +1 -0
  376. package/dist/util/debounce.d.ts +2 -0
  377. package/dist/util/debounce.js +15 -0
  378. package/dist/util/debounce.js.map +1 -0
  379. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  380. package/dist/util/detectNavigatorLanguage.js +8 -9
  381. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  382. package/dist/util/escapeRegex.d.ts +8 -0
  383. package/dist/util/escapeRegex.js +11 -0
  384. package/dist/util/escapeRegex.js.map +1 -0
  385. package/dist/util/formatMessage.d.ts +2 -0
  386. package/dist/util/formatMessage.js +15 -19
  387. package/dist/util/formatMessage.js.map +1 -0
  388. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  389. package/dist/util/generateHighlightedMarkup.js +41 -0
  390. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  391. package/dist/util/getActiveElement.d.ts +2 -0
  392. package/dist/util/getActiveElement.js +9 -0
  393. package/dist/util/getActiveElement.js.map +1 -0
  394. package/dist/util/getClassCopy.d.ts +400 -0
  395. package/dist/util/getClassCopy.js +10 -0
  396. package/dist/util/getClassCopy.js.map +1 -0
  397. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  398. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  399. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  400. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  401. package/dist/util/getEffectiveContentDensity.js +4 -0
  402. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  403. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  404. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  405. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  406. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  407. package/dist/util/getFastNavigationGroups.js +51 -0
  408. package/dist/util/getFastNavigationGroups.js.map +1 -0
  409. package/dist/util/getFileExtension.d.ts +12 -0
  410. package/dist/util/getFileExtension.js +19 -0
  411. package/dist/util/getFileExtension.js.map +1 -0
  412. package/dist/util/getNormalizedTarget.d.ts +7 -0
  413. package/dist/util/getNormalizedTarget.js +14 -0
  414. package/dist/util/getNormalizedTarget.js.map +1 -0
  415. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  416. package/dist/util/getSingletonElementInstance.js +10 -0
  417. package/dist/util/getSingletonElementInstance.js.map +1 -0
  418. package/dist/util/isElementClickable.d.ts +2 -0
  419. package/dist/util/isElementClickable.js +16 -0
  420. package/dist/util/isElementClickable.js.map +1 -0
  421. package/dist/util/isElementHidden.d.ts +2 -0
  422. package/dist/util/isElementHidden.js +8 -0
  423. package/dist/util/isElementHidden.js.map +1 -0
  424. package/dist/util/isElementInView.d.ts +6 -0
  425. package/dist/util/isElementInView.js +12 -0
  426. package/dist/util/isElementInView.js.map +1 -0
  427. package/dist/util/isElementTabbable.d.ts +9 -0
  428. package/dist/util/isElementTabbable.js +30 -0
  429. package/dist/util/isElementTabbable.js.map +1 -0
  430. package/dist/util/isValidPropertyName.d.ts +8 -0
  431. package/dist/util/isValidPropertyName.js +20 -12
  432. package/dist/util/isValidPropertyName.js.map +1 -0
  433. package/dist/util/whenDOMReady.d.ts +2 -0
  434. package/dist/util/whenDOMReady.js +11 -10
  435. package/dist/util/whenDOMReady.js.map +1 -0
  436. package/dist/util/willShowContent.d.ts +2 -0
  437. package/dist/util/willShowContent.js +7 -0
  438. package/dist/util/willShowContent.js.map +1 -0
  439. package/dist/validateThemeRoot.d.ts +2 -0
  440. package/dist/validateThemeRoot.js +47 -0
  441. package/dist/validateThemeRoot.js.map +1 -0
  442. package/index.js +1 -1
  443. package/lib/generate-asset-parameters/index.js +25 -0
  444. package/lib/generate-styles/index.js +31 -0
  445. package/lib/generate-version-info/index.js +32 -0
  446. package/package-scripts.js +52 -27
  447. package/package.json +22 -14
  448. package/src/AssetRegistry.ts +11 -0
  449. package/src/Boot.ts +61 -0
  450. package/src/CSP.ts +66 -0
  451. package/src/CustomElementsRegistry.ts +98 -0
  452. package/src/CustomElementsScope.ts +33 -0
  453. package/src/CustomElementsScopeUtils.ts +115 -0
  454. package/src/DOMObserver.ts +28 -0
  455. package/src/Device.ts +124 -0
  456. package/src/EventProvider.ts +87 -0
  457. package/src/FeaturesRegistry.ts +14 -0
  458. package/src/FontFace.ts +31 -0
  459. package/src/InitialConfiguration.ts +207 -0
  460. package/src/Keys.ts +295 -0
  461. package/src/ManagedStyles.ts +92 -0
  462. package/src/MarkedEvents.ts +20 -0
  463. package/src/MediaRange.ts +110 -0
  464. package/src/PropertiesFileFormat.ts +95 -0
  465. package/src/Render.ts +180 -0
  466. package/src/RenderQueue.ts +71 -0
  467. package/src/Runtimes.ts +114 -0
  468. package/src/StaticArea.ts +3 -0
  469. package/src/StaticAreaItem.ts +113 -0
  470. package/src/SystemCSSVars.ts +10 -0
  471. package/src/Theming.ts +4 -0
  472. package/src/UI5Element.ts +1156 -0
  473. package/src/UI5ElementMetadata.ts +389 -0
  474. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  475. package/src/animations/animate.ts +64 -0
  476. package/src/animations/scroll.ts +21 -0
  477. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  478. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  479. package/src/asset-registries/Icons.ts +162 -0
  480. package/src/asset-registries/Illustrations.ts +75 -0
  481. package/src/asset-registries/LocaleData.ts +172 -0
  482. package/src/asset-registries/Themes.ts +67 -0
  483. package/src/asset-registries/i18n.ts +118 -0
  484. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  485. package/src/config/AnimationMode.ts +33 -0
  486. package/src/config/CalendarType.ts +23 -0
  487. package/src/config/FormatSettings.ts +21 -0
  488. package/src/config/Icons.ts +59 -0
  489. package/src/config/Language.ts +72 -0
  490. package/src/config/NoConflict.ts +67 -0
  491. package/src/config/{RTL.js → RTL.ts} +14 -4
  492. package/src/config/Theme.ts +64 -0
  493. package/src/config/ThemeRoots.ts +41 -0
  494. package/src/css/BusyIndicator.css +80 -0
  495. package/src/css/FontFace.css +66 -0
  496. package/src/css/OverrideFontFace.css +32 -0
  497. package/src/css/SystemCSSVars.css +17 -0
  498. package/src/decorators/customElement.ts +17 -0
  499. package/src/decorators/event.ts +28 -0
  500. package/src/decorators/fastNavigation.ts +14 -0
  501. package/src/decorators/languageAware.ts +14 -0
  502. package/src/decorators/property.ts +30 -0
  503. package/src/decorators/slot.ts +49 -0
  504. package/src/decorators/themeAware.ts +14 -0
  505. package/src/delegate/ItemNavigation.ts +393 -0
  506. package/src/delegate/ResizeHandler.ts +95 -0
  507. package/src/delegate/ScrollEnablement.ts +224 -0
  508. package/src/features/F6Navigation.ts +141 -0
  509. package/src/features/OpenUI5Element.ts +11 -0
  510. package/src/features/OpenUI5Enablement.ts +117 -0
  511. package/src/features/OpenUI5Support.ts +148 -0
  512. package/src/generated/css/BusyIndicator.css.ts +9 -0
  513. package/src/generated/css/FontFace.css.ts +9 -0
  514. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  515. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  516. package/src/getSharedResource.ts +30 -0
  517. package/src/global.d.ts +38 -0
  518. package/src/i18nBundle.ts +108 -0
  519. package/{dist/Locale.js → src/locale/Locale.ts} +14 -14
  520. package/src/locale/RTLAwareRegistry.ts +16 -0
  521. package/src/locale/applyDirection.ts +18 -0
  522. package/src/locale/directionChange.ts +34 -0
  523. package/src/locale/getEffectiveDir.ts +28 -0
  524. package/src/locale/getLocale.ts +46 -0
  525. package/src/locale/languageChange.ts +24 -0
  526. package/src/locale/nextFallbackLocale.ts +28 -0
  527. package/{dist/util/normalizeLocale.js → src/locale/normalizeLocale.ts} +12 -33
  528. package/src/renderer/LitRenderer.ts +60 -0
  529. package/src/renderer/directives/style-map.js +72 -0
  530. package/src/renderer/executeTemplate.ts +40 -0
  531. package/src/theming/CustomStyle.ts +62 -0
  532. package/src/theming/ThemeLoaded.ts +24 -0
  533. package/src/theming/applyTheme.ts +90 -0
  534. package/src/theming/getConstructableStyle.ts +31 -0
  535. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  536. package/src/theming/getEffectiveStyle.ts +41 -0
  537. package/src/theming/getStylesString.ts +15 -0
  538. package/src/theming/getThemeDesignerTheme.ts +101 -0
  539. package/src/theming/preloadLinks.ts +24 -0
  540. package/src/thirdparty/_merge.ts +32 -0
  541. package/src/thirdparty/isPlainObject.ts +18 -0
  542. package/src/thirdparty/merge.ts +5 -0
  543. package/src/types/AnimationMode.ts +33 -0
  544. package/src/types/CSSColor.ts +20 -0
  545. package/src/types/CalendarType.ts +38 -0
  546. package/src/types/DOMReference.ts +28 -0
  547. package/src/types/DataType.ts +51 -0
  548. package/src/types/Float.ts +25 -0
  549. package/src/types/Integer.ts +25 -0
  550. package/src/types/InvisibleMessageMode.ts +27 -0
  551. package/src/types/ItemNavigationBehavior.ts +26 -0
  552. package/src/types/NavigationMode.ts +33 -0
  553. package/src/types/ValueState.ts +47 -0
  554. package/src/types.ts +30 -0
  555. package/src/updateShadowRoot.ts +37 -0
  556. package/src/util/AriaLabelHelper.ts +63 -0
  557. package/src/util/Caret.ts +28 -0
  558. package/src/util/ColorConversion.ts +399 -0
  559. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  560. package/src/util/FocusableElements.ts +92 -0
  561. package/src/util/HTMLSanitizer.ts +9 -0
  562. package/src/util/InvisibleMessage.ts +69 -0
  563. package/src/util/PopupUtils.ts +112 -0
  564. package/src/util/SlotsHelper.ts +39 -0
  565. package/src/util/StringHelper.ts +26 -0
  566. package/src/util/TabbableElements.ts +70 -0
  567. package/src/util/arraysAreEqual.ts +15 -0
  568. package/src/util/clamp.ts +12 -0
  569. package/src/util/createLinkInHead.ts +25 -0
  570. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  571. package/src/util/debounce.ts +18 -0
  572. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +4 -2
  573. package/src/util/escapeRegex.ts +11 -0
  574. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  575. package/src/util/generateHighlightedMarkup.ts +43 -0
  576. package/src/util/getActiveElement.ts +11 -0
  577. package/src/util/getClassCopy.ts +12 -0
  578. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  579. package/src/util/getEffectiveContentDensity.ts +5 -0
  580. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  581. package/src/util/getFastNavigationGroups.ts +63 -0
  582. package/src/util/getFileExtension.ts +21 -0
  583. package/src/util/getNormalizedTarget.ts +16 -0
  584. package/src/util/getSingletonElementInstance.ts +13 -0
  585. package/src/util/isElementClickable.ts +19 -0
  586. package/src/util/isElementHidden.ts +9 -0
  587. package/src/util/isElementInView.ts +15 -0
  588. package/src/util/isElementTabbable.ts +37 -0
  589. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +12 -3
  590. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  591. package/src/util/willShowContent.ts +7 -0
  592. package/src/validateThemeRoot.ts +58 -0
  593. package/tsconfig.json +13 -0
  594. package/used-modules.txt +10 -0
  595. package/bundle.es5.js +0 -28
  596. package/config/.eslintrc.js +0 -3
  597. package/config/rollup.config.js +0 -1
  598. package/dist/Assets.js +0 -2
  599. package/dist/CSS.js +0 -48
  600. package/dist/FormatSettings.js +0 -31
  601. package/dist/LocaleProvider.js +0 -34
  602. package/dist/RenderScheduler.js +0 -160
  603. package/dist/ResourceLoaderOverrides.js +0 -38
  604. package/dist/SVGIconRegistry.js +0 -54
  605. package/dist/animations/config.js +0 -5
  606. package/dist/boot.js +0 -25
  607. package/dist/compatibility/DOMObserver.js +0 -62
  608. package/dist/compatibility/patchNodeValue.js +0 -24
  609. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  610. package/dist/dates/CalendarDate.js +0 -203
  611. package/dist/dates/CalendarType.js +0 -22
  612. package/dist/dates/CalendarUtils.js +0 -99
  613. package/dist/delegate/CustomResize.js +0 -78
  614. package/dist/delegate/NativeResize.js +0 -44
  615. package/dist/events/PseudoEvents.js +0 -58
  616. package/dist/features/browsersupport/Edge.js +0 -6
  617. package/dist/features/browsersupport/IE11.js +0 -41
  618. package/dist/features/calendar/Buddhist.js +0 -1
  619. package/dist/features/calendar/Islamic.js +0 -1
  620. package/dist/features/calendar/Japanese.js +0 -1
  621. package/dist/features/calendar/Persian.js +0 -1
  622. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  623. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  624. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  625. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  626. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  627. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  628. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  629. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  630. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  631. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  632. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  633. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  634. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  635. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  636. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  637. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  638. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  639. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  640. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  641. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  642. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  643. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  644. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  645. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  646. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  647. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  648. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  649. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  650. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  651. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  652. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  653. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  654. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  655. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  656. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  657. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  658. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  659. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  660. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  661. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  662. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  663. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  664. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  665. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  666. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  667. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  668. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  669. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  670. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  671. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  672. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  673. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  674. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  675. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  676. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  677. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  678. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  679. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  680. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  681. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  682. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  683. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  684. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  685. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  686. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  687. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  688. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  689. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  690. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  691. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  692. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  693. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  694. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  695. package/dist/json-imports/LocaleData.js +0 -171
  696. package/dist/renderer/ifDefined.js +0 -21
  697. package/dist/resources/bundle.es5.js +0 -212
  698. package/dist/resources/bundle.es5.js.map +0 -1
  699. package/dist/resources/bundle.esm.js +0 -123
  700. package/dist/resources/bundle.esm.js.map +0 -1
  701. package/dist/shims/Core-shim.js +0 -52
  702. package/dist/shims/jquery-shim.js +0 -89
  703. package/dist/test-resources/assets/Themes.js +0 -11
  704. package/dist/test-resources/elements/Child.js +0 -35
  705. package/dist/test-resources/elements/Generic.js +0 -83
  706. package/dist/test-resources/elements/GenericExt.js +0 -26
  707. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  708. package/dist/test-resources/elements/Parent.js +0 -36
  709. package/dist/test-resources/pages/AllTestElements.html +0 -42
  710. package/dist/test-resources/pages/Configuration.html +0 -20
  711. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  712. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  713. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  714. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  715. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  716. package/dist/test-resources/specs/Theming.spec.js +0 -31
  717. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  718. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  719. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  720. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  721. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  722. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  723. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  724. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  725. package/dist/theming/StyleInjection.js +0 -67
  726. package/dist/thirdparty/Array.from.js +0 -16
  727. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  728. package/dist/thirdparty/Array.prototype.find.js +0 -46
  729. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  730. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  731. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  732. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  733. package/dist/thirdparty/Number.isInteger.js +0 -5
  734. package/dist/thirdparty/Number.isNaN.js +0 -1
  735. package/dist/thirdparty/Number.parseInt.js +0 -1
  736. package/dist/thirdparty/Object.assign.js +0 -31
  737. package/dist/thirdparty/Object.entries.js +0 -11
  738. package/dist/thirdparty/Symbol.js +0 -2
  739. package/dist/thirdparty/WeakSet.js +0 -27
  740. package/dist/thirdparty/events-polyfills.js +0 -89
  741. package/dist/thirdparty/fetch.js +0 -1
  742. package/dist/thirdparty/template.js +0 -600
  743. package/dist/types/CSSSize.js +0 -9
  744. package/dist/types/PopupState.js +0 -37
  745. package/dist/util/CSSTransformUtils.js +0 -90
  746. package/dist/util/isDescendantOf.js +0 -15
  747. package/dist/util/isNodeClickable.js +0 -19
  748. package/dist/util/isNodeHidden.js +0 -13
  749. package/dist/util/isNodeTabbable.js +0 -28
  750. package/dist/webcomponentsjs/LICENSE.md +0 -19
  751. package/dist/webcomponentsjs/README.md +0 -229
  752. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  753. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  754. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  755. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  756. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  757. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  758. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  759. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  760. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  761. package/dist/webcomponentsjs/package.json +0 -46
  762. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  763. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  764. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  765. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  766. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  767. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  768. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  769. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  770. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  771. package/src/AssetRegistry.js +0 -9
  772. package/src/Assets.js +0 -2
  773. package/src/CSS.js +0 -48
  774. package/src/Device.js +0 -823
  775. package/src/EventProvider.js +0 -73
  776. package/src/FeaturesRegistry.js +0 -11
  777. package/src/FontFace.js +0 -66
  778. package/src/FormatSettings.js +0 -31
  779. package/src/InitialConfiguration.js +0 -119
  780. package/src/Locale.js +0 -101
  781. package/src/LocaleProvider.js +0 -34
  782. package/src/RenderQueue.js +0 -42
  783. package/src/RenderScheduler.js +0 -160
  784. package/src/ResourceLoaderOverrides.js +0 -38
  785. package/src/SVGIconRegistry.js +0 -54
  786. package/src/Theming.js +0 -45
  787. package/src/UI5Element.js +0 -805
  788. package/src/UI5ElementMetadata.js +0 -148
  789. package/src/animations/animate.js +0 -53
  790. package/src/animations/config.js +0 -5
  791. package/src/animations/scroll.js +0 -28
  792. package/src/asset-registries/Icons.js +0 -24
  793. package/src/asset-registries/LocaleData.js +0 -101
  794. package/src/asset-registries/Themes.js +0 -75
  795. package/src/asset-registries/i18n.js +0 -75
  796. package/src/boot.js +0 -25
  797. package/src/compatibility/DOMObserver.js +0 -62
  798. package/src/compatibility/patchNodeValue.js +0 -24
  799. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  800. package/src/config/AnimationMode.js +0 -9
  801. package/src/config/CalendarType.js +0 -18
  802. package/src/config/FormatSettings.js +0 -9
  803. package/src/config/Language.js +0 -9
  804. package/src/config/NoConflict.js +0 -44
  805. package/src/config/Theme.js +0 -24
  806. package/src/dates/CalendarDate.js +0 -203
  807. package/src/dates/CalendarType.js +0 -22
  808. package/src/dates/CalendarUtils.js +0 -99
  809. package/src/delegate/CustomResize.js +0 -78
  810. package/src/delegate/ItemNavigation.js +0 -234
  811. package/src/delegate/NativeResize.js +0 -44
  812. package/src/delegate/ResizeHandler.js +0 -66
  813. package/src/delegate/ScrollEnablement.js +0 -80
  814. package/src/events/PseudoEvents.js +0 -58
  815. package/src/features/browsersupport/Edge.js +0 -6
  816. package/src/features/browsersupport/IE11.js +0 -41
  817. package/src/features/calendar/Buddhist.js +0 -1
  818. package/src/features/calendar/Islamic.js +0 -1
  819. package/src/features/calendar/Japanese.js +0 -1
  820. package/src/features/calendar/Persian.js +0 -1
  821. package/src/i18nBundle.js +0 -35
  822. package/src/json-imports/LocaleData.js +0 -171
  823. package/src/renderer/LitRenderer.js +0 -15
  824. package/src/renderer/ifDefined.js +0 -21
  825. package/src/shims/Core-shim.js +0 -52
  826. package/src/shims/jquery-shim.js +0 -89
  827. package/src/theming/CustomStyle.js +0 -19
  828. package/src/theming/StyleInjection.js +0 -67
  829. package/src/thirdparty/Array.from.js +0 -16
  830. package/src/thirdparty/Array.prototype.fill.js +0 -44
  831. package/src/thirdparty/Array.prototype.find.js +0 -46
  832. package/src/thirdparty/Array.prototype.includes.js +0 -51
  833. package/src/thirdparty/Element.prototype.closest.js +0 -11
  834. package/src/thirdparty/Element.prototype.matches.js +0 -6
  835. package/src/thirdparty/Map.prototype.keys.js +0 -9
  836. package/src/thirdparty/Number.isInteger.js +0 -5
  837. package/src/thirdparty/Number.isNaN.js +0 -1
  838. package/src/thirdparty/Number.parseInt.js +0 -1
  839. package/src/thirdparty/Object.assign.js +0 -31
  840. package/src/thirdparty/Object.entries.js +0 -11
  841. package/src/thirdparty/Symbol.js +0 -2
  842. package/src/thirdparty/WeakSet.js +0 -27
  843. package/src/thirdparty/events-polyfills.js +0 -89
  844. package/src/thirdparty/fetch.js +0 -1
  845. package/src/thirdparty/template.js +0 -600
  846. package/src/types/AnimationMode.js +0 -7
  847. package/src/types/CSSSize.js +0 -9
  848. package/src/types/DataType.js +0 -25
  849. package/src/types/Integer.js +0 -9
  850. package/src/types/ItemNavigationBehavior.js +0 -21
  851. package/src/types/NavigationMode.js +0 -6
  852. package/src/types/PopupState.js +0 -37
  853. package/src/types/ValueState.js +0 -21
  854. package/src/util/CSSTransformUtils.js +0 -90
  855. package/src/util/FocusableElements.js +0 -60
  856. package/src/util/StringHelper.js +0 -11
  857. package/src/util/TabbableElements.js +0 -44
  858. package/src/util/isDescendantOf.js +0 -15
  859. package/src/util/isNodeClickable.js +0 -19
  860. package/src/util/isNodeHidden.js +0 -13
  861. package/src/util/isNodeTabbable.js +0 -28
  862. package/src/util/normalizeLocale.js +0 -77
@@ -0,0 +1,30 @@
1
+ import { I18nText } from "../i18nBundle.js";
2
+ import { TemplateFunction } from "../renderer/executeTemplate.js";
3
+ type IconLoader = (collectionName: string) => Promise<CollectionData>;
4
+ type CollectionData = {
5
+ collection: string;
6
+ packageName: string;
7
+ version?: string;
8
+ data: Record<string, {
9
+ path: string;
10
+ paths: Array<string>;
11
+ ltr: boolean;
12
+ acc: I18nText;
13
+ }>;
14
+ };
15
+ type IconData = {
16
+ collection?: string;
17
+ packageName: string;
18
+ pathData: string | Array<string>;
19
+ ltr: boolean;
20
+ accData: I18nText;
21
+ customTemplate?: TemplateFunction;
22
+ viewBox?: string;
23
+ };
24
+ declare const registerIconLoader: (collectionName: string, loader: IconLoader) => void;
25
+ declare const registerIcon: (name: string, iconData: IconData) => void;
26
+ declare const getIconDataSync: (name: string) => IconData | undefined;
27
+ declare const getIconData: (name: string) => Promise<IconData | "ICON_NOT_FOUND" | undefined>;
28
+ declare const _getRegisteredNames: () => Promise<string[]>;
29
+ export { registerIconLoader, getIconData, getIconDataSync, registerIcon, _getRegisteredNames, };
30
+ export type { IconData, CollectionData, };
@@ -1,24 +1,104 @@
1
- import { registerIcon, registerCollectionPromise } from "../SVGIconRegistry.js";
2
- import { fetchJsonOnce } from "../util/FetchHelper.js";
3
-
4
- const registerIconBundle = async (collectionName, bundleData) => {
5
- let resolveFn;
6
- const collectionFetched = new Promise(resolve => {
7
- resolveFn = resolve;
8
- });
9
- registerCollectionPromise(collectionName, collectionFetched);
10
-
11
- if (typeof bundleData !== "object") { // not inlined from build -> fetch it
12
- bundleData = await fetchJsonOnce(bundleData);
13
- }
14
- fillRegistry(bundleData);
15
- resolveFn();
16
- };
17
-
18
- const fillRegistry = bundleData => {
19
- Object.keys(bundleData.data).forEach(iconName => {
20
- registerIcon(iconName, { pathData: bundleData.data[iconName], accData: bundleData.accData[iconName], collection: bundleData.collection });
21
- });
22
- };
23
-
24
- export { registerIconBundle }; // eslint-disable-line
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import IconCollectionsAlias from "../assets-meta/IconCollectionsAlias.js";
3
+ import { getEffectiveDefaultIconCollection } from "../config/Icons.js";
4
+ const loaders = new Map();
5
+ const registry = getSharedResource("SVGIcons.registry", new Map());
6
+ const iconCollectionPromises = getSharedResource("SVGIcons.promises", new Map());
7
+ const ICON_NOT_FOUND = "ICON_NOT_FOUND";
8
+ const registerIconLoader = (collectionName, loader) => {
9
+ loaders.set(collectionName, loader);
10
+ };
11
+ const _loadIconCollectionOnce = async (collectionName) => {
12
+ if (!iconCollectionPromises.has(collectionName)) {
13
+ if (!loaders.has(collectionName)) {
14
+ throw new Error(`No loader registered for the ${collectionName} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);
15
+ }
16
+ const loadIcons = loaders.get(collectionName);
17
+ iconCollectionPromises.set(collectionName, loadIcons(collectionName));
18
+ }
19
+ return iconCollectionPromises.get(collectionName);
20
+ };
21
+ const _fillRegistry = (bundleData) => {
22
+ Object.keys(bundleData.data).forEach(iconName => {
23
+ const iconData = bundleData.data[iconName];
24
+ registerIcon(iconName, {
25
+ pathData: iconData.path || iconData.paths,
26
+ ltr: iconData.ltr,
27
+ accData: iconData.acc,
28
+ collection: bundleData.collection,
29
+ packageName: bundleData.packageName,
30
+ });
31
+ });
32
+ };
33
+ // set
34
+ const registerIcon = (name, iconData) => {
35
+ if (!iconData.collection) {
36
+ iconData.collection = getEffectiveDefaultIconCollection();
37
+ }
38
+ const key = `${iconData.collection}/${name}`;
39
+ registry.set(key, {
40
+ pathData: iconData.pathData,
41
+ ltr: iconData.ltr,
42
+ accData: iconData.accData,
43
+ packageName: iconData.packageName,
44
+ customTemplate: iconData.customTemplate,
45
+ viewBox: iconData.viewBox,
46
+ });
47
+ };
48
+ const _parseName = (name) => {
49
+ // silently support ui5-compatible URIs
50
+ if (name.startsWith("sap-icon://")) {
51
+ name = name.replace("sap-icon://", "");
52
+ }
53
+ let collection;
54
+ [name, collection] = name.split("/").reverse();
55
+ collection = collection || getEffectiveDefaultIconCollection();
56
+ // Normalize collection name.
57
+ // - resolve `SAP-icons-TNT` to `tnt`.
58
+ // - resolve `BusinessSuiteInAppSymbols` to `business-suite`.
59
+ // - resolve `horizon` to `SAP-icons-v5`,
60
+ // Note: aliases can be made as a feature, if more collections need it or more aliases are needed.
61
+ collection = _normalizeCollection(collection);
62
+ name = name.replace("icon-", "");
63
+ const registryKey = `${collection}/${name}`;
64
+ return { name, collection, registryKey };
65
+ };
66
+ const getIconDataSync = (name) => {
67
+ const { registryKey } = _parseName(name);
68
+ return registry.get(registryKey);
69
+ };
70
+ const getIconData = async (name) => {
71
+ const { collection, registryKey } = _parseName(name);
72
+ let iconData = ICON_NOT_FOUND;
73
+ try {
74
+ iconData = (await _loadIconCollectionOnce(collection));
75
+ }
76
+ catch (error) {
77
+ const e = error;
78
+ console.error(e.message); /* eslint-disable-line */
79
+ }
80
+ if (iconData === ICON_NOT_FOUND) {
81
+ return iconData;
82
+ }
83
+ if (!registry.has(registryKey)) {
84
+ // not filled by another await. many getters will await on the same loader, but fill only once
85
+ _fillRegistry(iconData);
86
+ }
87
+ return registry.get(registryKey);
88
+ };
89
+ // test page usage only
90
+ const _getRegisteredNames = async () => {
91
+ // fetch one icon of each collection to trigger the bundle load
92
+ await getIconData("edit");
93
+ await getIconData("tnt/arrow");
94
+ await getIconData("business-suite/3d");
95
+ return Array.from(registry.keys());
96
+ };
97
+ const _normalizeCollection = (collectionName) => {
98
+ if (IconCollectionsAlias[collectionName]) {
99
+ return IconCollectionsAlias[collectionName];
100
+ }
101
+ return collectionName;
102
+ };
103
+ export { registerIconLoader, getIconData, getIconDataSync, registerIcon, _getRegisteredNames, };
104
+ //# sourceMappingURL=Icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/asset-registries/Icons.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { I18nText } from "../i18nBundle.js";
2
+ type IllustrationLoader = (illustrationName: string) => Promise<IllustrationData>;
3
+ type IllustrationProperties = {
4
+ dialogSvg: string;
5
+ sceneSvg: string;
6
+ spotSvg: string;
7
+ title: I18nText;
8
+ subtitle: I18nText;
9
+ };
10
+ type IllustrationData = IllustrationProperties & {
11
+ set: string;
12
+ };
13
+ declare const registerIllustration: (name: string, data: IllustrationData) => void;
14
+ declare const registerIllustrationLoader: (illustrationName: string, loader: IllustrationLoader) => void;
15
+ declare const getIllustrationDataSync: (illustrationName: string) => IllustrationProperties | undefined;
16
+ declare const getIllustrationData: (illustrationName: string) => Promise<IllustrationProperties | undefined>;
17
+ export { getIllustrationDataSync, registerIllustration, registerIllustrationLoader, getIllustrationData, };
@@ -0,0 +1,46 @@
1
+ import getSharedResource from "../getSharedResource.js";
2
+ const loaders = new Map();
3
+ const registry = getSharedResource("SVGIllustration.registry", new Map());
4
+ const illustrationPromises = getSharedResource("SVGIllustration.promises", new Map());
5
+ const registerIllustration = (name, data) => {
6
+ registry.set(`${data.set}/${name}`, {
7
+ dialogSvg: data.dialogSvg,
8
+ sceneSvg: data.sceneSvg,
9
+ spotSvg: data.spotSvg,
10
+ title: data.title,
11
+ subtitle: data.subtitle,
12
+ });
13
+ };
14
+ const registerIllustrationLoader = (illustrationName, loader) => {
15
+ loaders.set(illustrationName, loader);
16
+ };
17
+ const _loadIllustrationOnce = async (illustrationName) => {
18
+ if (!illustrationPromises.has(illustrationName)) {
19
+ if (!loaders.has(illustrationName)) {
20
+ const illustrationPath = illustrationName.startsWith("Tnt") ? `tnt/${illustrationName.replace(/^Tnt/, "")}` : illustrationName;
21
+ 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.`);
22
+ }
23
+ const loadIllustrations = loaders.get(illustrationName);
24
+ illustrationPromises.set(illustrationName, loadIllustrations(illustrationName));
25
+ }
26
+ return illustrationPromises.get(illustrationName);
27
+ };
28
+ const getIllustrationDataSync = (illustrationName) => {
29
+ let set = "fiori";
30
+ if (illustrationName.startsWith("Tnt")) {
31
+ set = "tnt";
32
+ illustrationName = illustrationName.replace(/^Tnt/, "");
33
+ }
34
+ return registry.get(`${set}/${illustrationName}`);
35
+ };
36
+ const getIllustrationData = async (illustrationName) => {
37
+ let set = "fiori";
38
+ await _loadIllustrationOnce(illustrationName);
39
+ if (illustrationName.startsWith("Tnt")) {
40
+ set = "tnt";
41
+ illustrationName = illustrationName.replace(/^Tnt/, "");
42
+ }
43
+ return registry.get(`${set}/${illustrationName}`);
44
+ };
45
+ export { getIllustrationDataSync, registerIllustration, registerIllustrationLoader, getIllustrationData, };
46
+ //# sourceMappingURL=Illustrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Illustrations.js","sourceRoot":"","sources":["../../src/asset-registries/Illustrations.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAiBxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;AACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAsC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAC/G,MAAM,oBAAoB,GAAG,iBAAiB,CAAyC,0BAA0B,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAE9H,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,IAAsB,EAAE,EAAE;IACrE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,gBAAwB,EAAE,MAA0B,EAAE,EAAE;IAC3F,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAChE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YACnC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/H,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,iGAAiG,gBAAgB,uLAAuL,CAAC,CAAC;SAC1W;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAE,CAAC;QACzD,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;KAChF;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC5D,IAAI,GAAG,GAAG,OAAO,CAAC;IAElB,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,GAAG,GAAG,KAAK,CAAC;QACZ,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;IAC9D,IAAI,GAAG,GAAG,OAAO,CAAC;IAElB,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,GAAG,GAAG,KAAK,CAAC;QACZ,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,GACnB,CAAC"}
@@ -0,0 +1,7 @@
1
+ type LocaleDataLoader = (locale: string) => Promise<CLDRData>;
2
+ type CLDRData = Record<string, object | boolean | string>;
3
+ declare const getLocaleData: (localeId: string) => CLDRData;
4
+ declare const fetchCldr: (language: string, region: string, script: string) => Promise<void>;
5
+ declare const registerLocaleDataLoader: (localeId: string, loader: LocaleDataLoader) => void;
6
+ export { registerLocaleDataLoader, fetchCldr, getLocaleData, };
7
+ export type { CLDRData, };
@@ -1,101 +1,136 @@
1
- import { registerModuleContent } from "../ResourceLoaderOverrides.js";
2
- import { fetchJsonOnce } from "../util/FetchHelper.js";
3
-
4
- const supportedLocales = ["ar", "ar_EG", "ar_SA", "bg", "ca", "cs", "da", "de", "de_AT", "de_CH", "el", "el_CY", "en", "en_AU", "en_GB", "en_HK", "en_IE", "en_IN", "en_NZ", "en_PG", "en_SG", "en_ZA", "es", "es_AR", "es_BO", "es_CL", "es_CO", "es_MX", "es_PE", "es_UY", "es_VE", "et", "fa", "fi", "fr", "fr_BE", "fr_CA", "fr_CH", "fr_LU", "he", "hi", "hr", "hu", "id", "it", "it_CH", "ja", "kk", "ko", "lt", "lv", "ms", "nb", "nl", "nl_BE", "pl", "pt", "pt_PT", "ro", "ru", "ru_UA", "sk", "sl", "sr", "sv", "th", "tr", "uk", "vi", "zh_CN", "zh_HK", "zh_SG", "zh_TW"];
5
-
6
- const cldrData = {};
7
- const cldrUrls = {};
8
-
9
- // externally configurable mapping function for resolving (localeId -> URL)
10
- // default implementation - ui5 CDN
11
- let cldrMappingFn = locale => `https://ui5.sap.com/1.60.2/resources/sap/ui/core/cldr/${locale}.json`;
12
-
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
+ const localeDataMap = new Map();
6
+ const loaders = new Map();
7
+ const cldrPromises = new Map();
8
+ const reportedErrors = new Set();
9
+ let warningShown = false;
13
10
  const M_ISO639_OLD_TO_NEW = {
14
- "iw": "he",
15
- "ji": "yi",
16
- "in": "id",
17
- "sh": "sr",
11
+ "iw": "he",
12
+ "ji": "yi",
13
+ "in": "id",
18
14
  };
19
-
20
- const calcLocale = (language, region, script) => {
21
- // normalize language and handle special cases
22
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
23
- // Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
24
- if (language === "no") {
25
- language = "nb";
26
- }
27
- // Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
28
- if (language === "zh" && !region) {
29
- if (script === "Hans") {
30
- region = "CN";
31
- } else if (script === "Hant") {
32
- region = "TW";
33
- }
34
- }
35
-
36
- // try language + region
37
- let localeId = `${language}_${region}`;
38
- if (!supportedLocales.includes(localeId)) {
39
- // fallback to language only
40
- localeId = language;
41
- }
42
- if (!supportedLocales.includes(localeId)) {
43
- // fallback to english
44
- localeId = "en";
45
- }
46
-
47
- return localeId;
48
- };
49
-
50
-
51
- const resolveMissingMappings = () => {
52
- if (!cldrMappingFn) {
53
- return;
54
- }
55
-
56
- const missingLocales = supportedLocales.filter(locale => !cldrData[locale] && !cldrUrls[locale]);
57
- missingLocales.forEach(locale => {
58
- cldrUrls[locale] = cldrMappingFn(locale);
59
- });
15
+ const _showAssetsWarningOnce = (localeId) => {
16
+ if (warningShown) {
17
+ return;
18
+ }
19
+ console.warn(`[LocaleData] Supported locale "${localeId}" not configured, import the "Assets.js" module from the webcomponents package you are using.`); /* eslint-disable-line */
20
+ warningShown = true;
60
21
  };
61
-
62
- const fetchCldr = async (language, region, script) => {
63
- resolveMissingMappings();
64
- const localeId = calcLocale(language, region, script);
65
-
66
- const cldrObj = cldrData[localeId];
67
- const url = cldrUrls[localeId];
68
-
69
- if (cldrObj) {
70
- // inlined from build or fetched independently
71
- registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrObj);
72
- } else if (url) {
73
- // fetch it
74
- const cldrContent = await fetchJsonOnce(url);
75
- registerModuleContent(`sap/ui/core/cldr/${localeId}.json`, cldrContent);
76
- }
22
+ const calcLocale = (language, region, script) => {
23
+ // normalize language and handle special cases
24
+ language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
25
+ // Special case 1: in an SAP context, the inclusive language code "no" always means Norwegian Bokmal ("nb")
26
+ if (language === "no") {
27
+ language = "nb";
28
+ }
29
+ // Special case 2: for Chinese, derive a default region from the script (this behavior is inherited from Java)
30
+ if (language === "zh" && !region) {
31
+ if (script === "Hans") {
32
+ region = "CN";
33
+ }
34
+ else if (script === "Hant") {
35
+ region = "TW";
36
+ }
37
+ }
38
+ // Special case 3: for Serbian, there are cyrillic and latin scripts, "sh" and "sr-latn" map to "latin", "sr" maps to cyrillic.
39
+ if (language === "sh" || (language === "sr" && script === "Latn")) {
40
+ language = "sr";
41
+ region = "Latn";
42
+ }
43
+ // try language + region
44
+ let localeId = `${language}_${region}`;
45
+ if (SUPPORTED_LOCALES.includes(localeId)) {
46
+ if (loaders.has(localeId)) {
47
+ // supported and has loader
48
+ return localeId;
49
+ }
50
+ // supported, no loader - fallback to default and warn
51
+ _showAssetsWarningOnce(localeId);
52
+ return DEFAULT_LOCALE;
53
+ }
54
+ // not supported, try language only
55
+ localeId = language;
56
+ if (SUPPORTED_LOCALES.includes(localeId)) {
57
+ if (loaders.has(localeId)) {
58
+ // supported and has loader
59
+ return localeId;
60
+ }
61
+ // supported, no loader - fallback to default and warn
62
+ _showAssetsWarningOnce(localeId);
63
+ return DEFAULT_LOCALE;
64
+ }
65
+ // not supported - fallback to default locale
66
+ return DEFAULT_LOCALE;
77
67
  };
78
-
79
- const registerCldr = (locale, url) => {
80
- cldrUrls[locale] = url;
68
+ // internal set data
69
+ const setLocaleData = (localeId, content) => {
70
+ localeDataMap.set(localeId, content);
81
71
  };
82
-
83
- const setCldrData = (locale, data) => {
84
- cldrData[locale] = data;
72
+ // external getSync
73
+ const getLocaleData = (localeId) => {
74
+ // if there is no loader, the default fallback was fetched and a warning was given - use default locale instead
75
+ if (!loaders.has(localeId)) {
76
+ localeId = DEFAULT_LOCALE;
77
+ }
78
+ const content = localeDataMap.get(localeId);
79
+ if (!content) {
80
+ throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
81
+ }
82
+ return content;
85
83
  };
86
-
87
- const getCldrData = locale => {
88
- return cldrData[locale];
84
+ // load bundle over the network once
85
+ const _loadCldrOnce = (localeId) => {
86
+ if (!cldrPromises.get(localeId)) {
87
+ const loadCldr = loaders.get(localeId);
88
+ if (!loadCldr) {
89
+ throw new Error(`CLDR data for locale ${localeId} is not loaded!`);
90
+ }
91
+ cldrPromises.set(localeId, loadCldr(localeId));
92
+ }
93
+ return cldrPromises.get(localeId);
89
94
  };
90
-
91
- const _registerMappingFunction = mappingFn => {
92
- cldrMappingFn = mappingFn;
95
+ // external getAsync
96
+ const fetchCldr = async (language, region, script) => {
97
+ const localeId = calcLocale(language, region, script);
98
+ // reuse OpenUI5 CLDR if present
99
+ const openUI5Support = getFeature("OpenUI5Support");
100
+ if (openUI5Support) {
101
+ const cldrContent = openUI5Support.getLocaleDataObject();
102
+ if (cldrContent) {
103
+ // only if openui5 actually returned valid content
104
+ setLocaleData(localeId, cldrContent);
105
+ return;
106
+ }
107
+ }
108
+ // fetch it
109
+ try {
110
+ const cldrContent = await _loadCldrOnce(localeId);
111
+ setLocaleData(localeId, cldrContent);
112
+ }
113
+ catch (error) {
114
+ const e = error;
115
+ if (!reportedErrors.has(e.message)) {
116
+ reportedErrors.add(e.message);
117
+ console.error(e.message); /* eslint-disable-line */
118
+ }
119
+ }
93
120
  };
94
-
95
- export {
96
- fetchCldr,
97
- registerCldr,
98
- setCldrData,
99
- getCldrData,
100
- _registerMappingFunction,
121
+ const registerLocaleDataLoader = (localeId, loader) => {
122
+ loaders.set(localeId, loader);
101
123
  };
124
+ // register default loader for "en" from ui5 CDN (dev workflow without assets)
125
+ registerLocaleDataLoader("en", async () => {
126
+ const cldrContent = await fetch(`https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json`);
127
+ return cldrContent.json();
128
+ });
129
+ // When the language changes dynamically (the user calls setLanguage),
130
+ // re-fetch the required CDRD data.
131
+ attachLanguageChange(() => {
132
+ const locale = getLocale();
133
+ return fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
134
+ });
135
+ export { registerLocaleDataLoader, fetchCldr, getLocaleData, };
136
+ //# sourceMappingURL=LocaleData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocaleData.js","sourceRoot":"","sources":["../../src/asset-registries/LocaleData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { StyleData, StyleDataCSP } from "../types.js";
2
+ type ThemeData = {
3
+ _: StyleDataCSP;
4
+ } | StyleDataCSP | string;
5
+ type ThemeLoader = (themeName: string) => Promise<ThemeData>;
6
+ declare const registerThemePropertiesLoader: (packageName: string, themeName: string, loader: ThemeLoader) => void;
7
+ declare const getThemeProperties: (packageName: string, themeName: string) => Promise<StyleData | undefined>;
8
+ declare const getRegisteredPackages: () => Set<string>;
9
+ declare const isThemeRegistered: (theme: string) => boolean;
10
+ export { registerThemePropertiesLoader, getThemeProperties, getRegisteredPackages, isThemeRegistered, };
@@ -1,75 +1,50 @@
1
- import { fetchJsonOnce } from "../util/FetchHelper.js";
2
-
3
- const themeURLs = new Map();
1
+ import { DEFAULT_THEME } from "../generated/AssetParameters.js";
4
2
  const themeStyles = new Map();
3
+ const loaders = new Map();
5
4
  const registeredPackages = new Set();
6
5
  const registeredThemes = new Set();
7
-
8
- /**
9
- * Used to provide CSS Vars for a specific theme for a specific package.
10
- * The CSS Vars can be passed directly as a string (containing them), as an object with a "_" property(containing them in the "_" property), or as a URL.
11
- * This URL must point to a JSON file, containing a "_" property.
12
- *
13
- * Example usage:
14
- * 1) Pass the CSS Vars as a string directly.
15
- * registerThemeProperties("my-package", "my_theme", ":root{--var1: red;}");
16
- * 2) Pass the CSS Vars as an object directly
17
- * registerThemeProperties("my-package", "my_theme", {"_": ":root{--var1: red;}"});
18
- * 3) Pass a URL to a JSON file, containing the CSS Vars in its "_" property. Will be fetched on demand, not upon registration.
19
- * registerThemeProperties("my-package", "my_theme", "http://url/to/my/theme.json");
20
- *
21
- * @public
22
- * @param packageName - the NPM package for which CSS Vars are registered
23
- * @param themeName - the theme which the CSS Vars implement
24
- * @param style - can be one of three options: a string, an object with a "_" property or a URL to a JSON file with a "_" property
25
- */
26
- const registerThemeProperties = (packageName, themeName, style) => {
27
- if (style._) {
28
- // JSON object like ({"_": ":root"})
29
- themeStyles.set(`${packageName}_${themeName}`, style._);
30
- } else if (style.includes(":root")) {
31
- // pure string
32
- themeStyles.set(`${packageName}_${themeName}`, style);
33
- } else {
34
- // url for fetching
35
- themeURLs.set(`${packageName}_${themeName}`, style);
36
- }
37
- registeredPackages.add(packageName);
38
- registeredThemes.add(themeName);
6
+ const registerThemePropertiesLoader = (packageName, themeName, loader) => {
7
+ loaders.set(`${packageName}/${themeName}`, loader);
8
+ registeredPackages.add(packageName);
9
+ registeredThemes.add(themeName);
39
10
  };
40
-
41
11
  const getThemeProperties = async (packageName, themeName) => {
42
- const style = themeStyles.get(`${packageName}_${themeName}`);
43
- if (style) {
44
- return style;
45
- }
46
-
47
- if (!registeredThemes.has(themeName)) {
48
- const regThemesStr = [...registeredThemes.values()].join(", ");
49
- console.warn(`You have requested a non-registered theme - falling back to sap_fiori_3. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
50
- return themeStyles.get(`${packageName}_sap_fiori_3`);
51
- }
52
-
53
- const data = await fetchThemeProperties(packageName, themeName);
54
- themeStyles.set(`${packageName}_${themeName}`, data._);
55
- return data._;
12
+ const style = themeStyles.get(`${packageName}_${themeName}`);
13
+ if (style !== undefined) { // it's valid for style to be an empty string
14
+ return style;
15
+ }
16
+ if (!registeredThemes.has(themeName)) {
17
+ const regThemesStr = [...registeredThemes.values()].join(", ");
18
+ console.warn(`You have requested a non-registered theme ${themeName} - falling back to ${DEFAULT_THEME}. Registered themes are: ${regThemesStr}`); /* eslint-disable-line */
19
+ return _getThemeProperties(packageName, DEFAULT_THEME);
20
+ }
21
+ return _getThemeProperties(packageName, themeName);
56
22
  };
57
-
58
- const fetchThemeProperties = async (packageName, themeName) => {
59
- const url = themeURLs.get(`${packageName}_${themeName}`);
60
-
61
- if (!url) {
62
- throw new Error(`You have to import the ${packageName}/dist/Assets.js module to switch to additional themes`);
63
- }
64
- return fetchJsonOnce(url);
23
+ const _getThemeProperties = async (packageName, themeName) => {
24
+ const loader = loaders.get(`${packageName}/${themeName}`);
25
+ if (!loader) {
26
+ // no themes for package
27
+ console.error(`Theme [${themeName}] not registered for package [${packageName}]`); /* eslint-disable-line */
28
+ return;
29
+ }
30
+ let data;
31
+ try {
32
+ data = await loader(themeName);
33
+ }
34
+ catch (error) {
35
+ const e = error;
36
+ console.error(packageName, e.message); /* eslint-disable-line */
37
+ return;
38
+ }
39
+ const themeProps = data._ || data; // Refactor: remove _ everywhere
40
+ themeStyles.set(`${packageName}_${themeName}`, themeProps);
41
+ return themeProps;
65
42
  };
66
-
67
43
  const getRegisteredPackages = () => {
68
- return registeredPackages;
44
+ return registeredPackages;
69
45
  };
70
-
71
- export {
72
- registerThemeProperties,
73
- getThemeProperties,
74
- getRegisteredPackages,
46
+ const isThemeRegistered = (theme) => {
47
+ return registeredThemes.has(theme);
75
48
  };
49
+ export { registerThemePropertiesLoader, getThemeProperties, getRegisteredPackages, isThemeRegistered, };
50
+ //# sourceMappingURL=Themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../src/asset-registries/Themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMhE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;AACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3C,MAAM,6BAA6B,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,MAAmB,EAAE,EAAE;IACrG,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;IACnD,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,WAAmB,EAAE,SAAiB,EAAE,EAAE;IAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,EAAE,6CAA6C;QACvE,OAAO,KAAK,CAAC;KACb;IAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACrC,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,6CAA6C,SAAS,sBAAsB,aAAa,4BAA4B,YAAY,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC5K,OAAO,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;KACvD;IAED,OAAO,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,WAAmB,EAAE,SAAiB,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE;QACZ,wBAAwB;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,SAAS,iCAAiC,WAAW,GAAG,CAAC,CAAC,CAAC,yBAAyB;QAC5G,OAAO;KACP;IACD,IAAI,IAAI,CAAC;IACT,IAAI;QACH,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;KAC/B;IAAC,OAAO,KAAc,EAAE;QACxB,MAAM,CAAC,GAAG,KAAc,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAChE,OAAO;KACP;IACD,MAAM,UAAU,GAAI,IAA0B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,gCAAgC;IAE1F,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;IAClC,OAAO,kBAAkB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,OAAO,EACN,6BAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GACjB,CAAC"}