@ui5/webcomponents-base 0.0.0-63ca72189 → 0.0.0-6827fdc09

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 (857) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +2516 -0
  3. package/README.md +50 -10
  4. package/cypress/specs/Accessor.cy.tsx +79 -0
  5. package/cypress/specs/Boot.cy.tsx +19 -0
  6. package/cypress/specs/ConfigurationChange.cy.tsx +41 -0
  7. package/cypress/specs/ConfigurationScript.cy.tsx +133 -0
  8. package/cypress/specs/ConfigurationURL.cy.tsx +201 -0
  9. package/cypress/specs/CustomMount.cy.tsx +9 -0
  10. package/cypress/specs/CustomTheme.cy.tsx +36 -0
  11. package/cypress/specs/EventProvider.cy.tsx +59 -0
  12. package/cypress/specs/Events.cy.tsx +28 -0
  13. package/cypress/specs/SystemDOMElements.cy.tsx +8 -0
  14. package/cypress/specs/Theming.cy.tsx +74 -0
  15. package/cypress/specs/UI5ElementInvalidation.cy.tsx +252 -0
  16. package/cypress/specs/UI5ElementLifecycle.cy.tsx +82 -0
  17. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.tsx +83 -0
  18. package/cypress/specs/UI5ElementMetadataExt.cy.tsx +42 -0
  19. package/cypress/specs/UI5ElementPropertyValidation.cy.tsx +16 -0
  20. package/cypress/specs/UI5ElementPropsAndAttrs.cy.tsx +113 -0
  21. package/cypress/specs/UI5ElementShadowDOM.cy.tsx +30 -0
  22. package/cypress/specs/UI5ElementSlots.cy.tsx +136 -0
  23. package/cypress/specs/WithComplexTemplate.cy.tsx +32 -0
  24. package/cypress/specs/i18n_texts.cy.tsx +129 -0
  25. package/cypress/specs/util/FocusableElements.cy.tsx +48 -0
  26. package/cypress/support/commands.ts +39 -0
  27. package/cypress/support/component-index.html +12 -0
  28. package/cypress/support/component.ts +17 -0
  29. package/cypress/tsconfig.json +21 -0
  30. package/cypress.config.js +3 -0
  31. package/dist/.tsbuildinfobuild +1 -0
  32. package/dist/AssetRegistry.d.ts +5 -0
  33. package/dist/AssetRegistry.js +6 -9
  34. package/dist/AssetRegistry.js.map +1 -0
  35. package/dist/Boot.d.ts +10 -0
  36. package/dist/Boot.js +75 -0
  37. package/dist/Boot.js.map +1 -0
  38. package/dist/CustomElementsRegistry.d.ts +6 -0
  39. package/dist/CustomElementsRegistry.js +81 -0
  40. package/dist/CustomElementsRegistry.js.map +1 -0
  41. package/dist/CustomElementsScope.d.ts +7 -0
  42. package/dist/CustomElementsScope.js +11 -0
  43. package/dist/CustomElementsScope.js.map +1 -0
  44. package/dist/CustomElementsScopeUtils.d.ts +64 -0
  45. package/dist/CustomElementsScopeUtils.js +109 -0
  46. package/dist/CustomElementsScopeUtils.js.map +1 -0
  47. package/dist/DOMObserver.d.ts +11 -0
  48. package/dist/DOMObserver.js +23 -0
  49. package/dist/DOMObserver.js.map +1 -0
  50. package/dist/Device.d.ts +27 -0
  51. package/dist/Device.js +163 -815
  52. package/dist/Device.js.map +1 -0
  53. package/dist/EventProvider.d.ts +25 -0
  54. package/dist/EventProvider.js +67 -70
  55. package/dist/EventProvider.js.map +1 -0
  56. package/dist/FeaturesRegistry.d.ts +3 -0
  57. package/dist/FeaturesRegistry.js +5 -7
  58. package/dist/FeaturesRegistry.js.map +1 -0
  59. package/dist/FontFace.d.ts +2 -0
  60. package/dist/FontFace.js +27 -63
  61. package/dist/FontFace.js.map +1 -0
  62. package/dist/IgnoreCustomElements.d.ts +25 -0
  63. package/dist/IgnoreCustomElements.js +37 -0
  64. package/dist/IgnoreCustomElements.js.map +1 -0
  65. package/dist/InitialConfiguration.d.ts +34 -0
  66. package/dist/InitialConfiguration.js +157 -97
  67. package/dist/InitialConfiguration.js.map +1 -0
  68. package/dist/Keys.d.ts +64 -0
  69. package/dist/Keys.js +186 -0
  70. package/dist/Keys.js.map +1 -0
  71. package/dist/Location.d.ts +11 -0
  72. package/dist/Location.js +49 -0
  73. package/dist/Location.js.map +1 -0
  74. package/dist/ManagedStyles.d.ts +7 -0
  75. package/dist/ManagedStyles.js +69 -0
  76. package/dist/ManagedStyles.js.map +1 -0
  77. package/dist/MediaRange.d.ts +31 -0
  78. package/dist/MediaRange.js +88 -0
  79. package/dist/MediaRange.js.map +1 -0
  80. package/dist/PropertiesFileFormat.d.ts +8 -0
  81. package/dist/PropertiesFileFormat.js +85 -0
  82. package/dist/PropertiesFileFormat.js.map +1 -0
  83. package/dist/Render.d.ts +47 -0
  84. package/dist/Render.js +143 -0
  85. package/dist/Render.js.map +1 -0
  86. package/dist/RenderQueue.d.ts +19 -0
  87. package/dist/RenderQueue.js +53 -39
  88. package/dist/RenderQueue.js.map +1 -0
  89. package/dist/Runtimes.d.ts +27 -0
  90. package/dist/Runtimes.js +97 -0
  91. package/dist/Runtimes.js.map +1 -0
  92. package/dist/SystemCSSVars.d.ts +2 -0
  93. package/dist/SystemCSSVars.js +9 -0
  94. package/dist/SystemCSSVars.js.map +1 -0
  95. package/dist/Theming.d.ts +3 -0
  96. package/dist/Theming.js +4 -45
  97. package/dist/Theming.js.map +1 -0
  98. package/dist/UI5Element.d.ts +424 -0
  99. package/dist/UI5Element.js +1110 -830
  100. package/dist/UI5Element.js.map +1 -0
  101. package/dist/UI5ElementMetadata.d.ts +159 -0
  102. package/dist/UI5ElementMetadata.js +237 -139
  103. package/dist/UI5ElementMetadata.js.map +1 -0
  104. package/dist/animations/AnimationQueue.d.ts +8 -0
  105. package/dist/animations/AnimationQueue.js +31 -38
  106. package/dist/animations/AnimationQueue.js.map +1 -0
  107. package/dist/animations/animate.d.ts +14 -0
  108. package/dist/animations/animate.js +46 -51
  109. package/dist/animations/animate.js.map +1 -0
  110. package/dist/animations/scroll.d.ts +5 -0
  111. package/dist/animations/scroll.js +18 -27
  112. package/dist/animations/scroll.js.map +1 -0
  113. package/dist/animations/slideDown.d.ts +5 -0
  114. package/dist/animations/slideDown.js +53 -78
  115. package/dist/animations/slideDown.js.map +1 -0
  116. package/dist/animations/slideUp.d.ts +5 -0
  117. package/dist/animations/slideUp.js +49 -70
  118. package/dist/animations/slideUp.js.map +1 -0
  119. package/dist/asset-registries/Icons.d.ts +39 -0
  120. package/dist/asset-registries/Icons.js +136 -24
  121. package/dist/asset-registries/Icons.js.map +1 -0
  122. package/dist/asset-registries/Illustrations.d.ts +19 -0
  123. package/dist/asset-registries/Illustrations.js +77 -0
  124. package/dist/asset-registries/Illustrations.js.map +1 -0
  125. package/dist/asset-registries/LocaleData.d.ts +7 -0
  126. package/dist/asset-registries/LocaleData.js +127 -92
  127. package/dist/asset-registries/LocaleData.js.map +1 -0
  128. package/dist/asset-registries/Themes.d.ts +9 -0
  129. package/dist/asset-registries/Themes.js +58 -66
  130. package/dist/asset-registries/Themes.js.map +1 -0
  131. package/dist/asset-registries/i18n.d.ts +23 -0
  132. package/dist/asset-registries/i18n.js +87 -60
  133. package/dist/asset-registries/i18n.js.map +1 -0
  134. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  135. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  136. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  137. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  138. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  139. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  140. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  141. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  142. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  143. package/dist/config/AnimationMode.d.ts +14 -0
  144. package/dist/config/AnimationMode.js +28 -6
  145. package/dist/config/AnimationMode.js.map +1 -0
  146. package/dist/config/CalendarType.d.ts +15 -0
  147. package/dist/config/CalendarType.js +38 -16
  148. package/dist/config/CalendarType.js.map +1 -0
  149. package/dist/config/ConfigurationReset.d.ts +4 -0
  150. package/dist/config/ConfigurationReset.js +11 -0
  151. package/dist/config/ConfigurationReset.js.map +1 -0
  152. package/dist/config/Fonts.d.ts +16 -0
  153. package/dist/config/Fonts.js +30 -0
  154. package/dist/config/Fonts.js.map +1 -0
  155. package/dist/config/FormatSettings.d.ts +15 -0
  156. package/dist/config/FormatSettings.js +20 -6
  157. package/dist/config/FormatSettings.js.map +1 -0
  158. package/dist/config/Icons.d.ts +40 -0
  159. package/dist/config/Icons.js +44 -0
  160. package/dist/config/Icons.js.map +1 -0
  161. package/dist/config/Language.d.ts +40 -0
  162. package/dist/config/Language.js +74 -7
  163. package/dist/config/Language.js.map +1 -0
  164. package/dist/config/NoConflict.d.ts +20 -0
  165. package/dist/config/NoConflict.js +45 -34
  166. package/dist/config/NoConflict.js.map +1 -0
  167. package/dist/config/Theme.d.ts +39 -0
  168. package/dist/config/Theme.js +75 -19
  169. package/dist/config/Theme.js.map +1 -0
  170. package/dist/config/ThemeRoot.d.ts +27 -0
  171. package/dist/config/ThemeRoot.js +61 -0
  172. package/dist/config/ThemeRoot.js.map +1 -0
  173. package/dist/config/Timezone.d.ts +17 -0
  174. package/dist/config/Timezone.js +34 -0
  175. package/dist/config/Timezone.js.map +1 -0
  176. package/dist/config/Tooltips.d.ts +19 -0
  177. package/dist/config/Tooltips.js +29 -0
  178. package/dist/config/Tooltips.js.map +1 -0
  179. package/dist/connectToComponent.d.ts +9 -0
  180. package/dist/connectToComponent.js +59 -0
  181. package/dist/connectToComponent.js.map +1 -0
  182. package/dist/converters/DOMReference.d.ts +5 -0
  183. package/dist/converters/DOMReference.js +13 -0
  184. package/dist/converters/DOMReference.js.map +1 -0
  185. package/dist/css/BusyIndicator.css +80 -0
  186. package/dist/css/FontFace.css +96 -0
  187. package/dist/css/OverrideFontFace.css +32 -0
  188. package/dist/css/SystemCSSVars.css +9 -0
  189. package/dist/decorators/bound.d.ts +1 -0
  190. package/dist/decorators/bound.js +34 -0
  191. package/dist/decorators/bound.js.map +1 -0
  192. package/dist/decorators/customElement.d.ts +63 -0
  193. package/dist/decorators/customElement.js +45 -0
  194. package/dist/decorators/customElement.js.map +1 -0
  195. package/dist/decorators/event-strict.d.ts +15 -0
  196. package/dist/decorators/event-strict.js +26 -0
  197. package/dist/decorators/event-strict.js.map +1 -0
  198. package/dist/decorators/event.d.ts +16 -0
  199. package/dist/decorators/event.js +27 -0
  200. package/dist/decorators/event.js.map +1 -0
  201. package/dist/decorators/i18n.d.ts +17 -0
  202. package/dist/decorators/i18n.js +32 -0
  203. package/dist/decorators/i18n.js.map +1 -0
  204. package/dist/decorators/property.d.ts +9 -0
  205. package/dist/decorators/property.js +24 -0
  206. package/dist/decorators/property.js.map +1 -0
  207. package/dist/decorators/query.d.ts +25 -0
  208. package/dist/decorators/query.js +32 -0
  209. package/dist/decorators/query.js.map +1 -0
  210. package/dist/decorators/queryAll.d.ts +27 -0
  211. package/dist/decorators/queryAll.js +34 -0
  212. package/dist/decorators/queryAll.js.map +1 -0
  213. package/dist/decorators/slot.d.ts +9 -0
  214. package/dist/decorators/slot.js +37 -0
  215. package/dist/decorators/slot.js.map +1 -0
  216. package/dist/decorators.d.ts +8 -0
  217. package/dist/decorators.js +9 -0
  218. package/dist/decorators.js.map +1 -0
  219. package/dist/delegate/ItemNavigation.d.ts +114 -0
  220. package/dist/delegate/ItemNavigation.js +311 -274
  221. package/dist/delegate/ItemNavigation.js.map +1 -0
  222. package/dist/delegate/ResizeHandler.d.ts +23 -0
  223. package/dist/delegate/ResizeHandler.js +82 -63
  224. package/dist/delegate/ResizeHandler.js.map +1 -0
  225. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  226. package/dist/delegate/ScrollEnablement.js +159 -74
  227. package/dist/delegate/ScrollEnablement.js.map +1 -0
  228. package/dist/features/F6Navigation.d.ts +20 -0
  229. package/dist/features/F6Navigation.js +183 -0
  230. package/dist/features/F6Navigation.js.map +1 -0
  231. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  232. package/dist/features/InputElementsFormSupport.js +39 -0
  233. package/dist/features/InputElementsFormSupport.js.map +1 -0
  234. package/dist/features/LegacyDateFormats.d.ts +18 -0
  235. package/dist/features/LegacyDateFormats.js +20 -0
  236. package/dist/features/LegacyDateFormats.js.map +1 -0
  237. package/dist/features/OpenUI5Element.d.ts +9 -0
  238. package/dist/features/OpenUI5Element.js +5 -0
  239. package/dist/features/OpenUI5Element.js.map +1 -0
  240. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  241. package/dist/features/OpenUI5Enablement.js +96 -0
  242. package/dist/features/OpenUI5Enablement.js.map +1 -0
  243. package/dist/features/OpenUI5Support.d.ts +34 -0
  244. package/dist/features/OpenUI5Support.js +143 -0
  245. package/dist/features/OpenUI5Support.js.map +1 -0
  246. package/dist/features/patchPatcher.d.ts +11 -0
  247. package/dist/features/patchPatcher.js +11 -0
  248. package/dist/features/patchPatcher.js.map +1 -0
  249. package/dist/features/patchPopup.d.ts +15 -0
  250. package/dist/features/patchPopup.js +70 -0
  251. package/dist/features/patchPopup.js.map +1 -0
  252. package/dist/generated/AssetParameters.d.ts +6 -0
  253. package/dist/generated/AssetParameters.js +8 -0
  254. package/dist/generated/AssetParameters.js.map +1 -0
  255. package/dist/generated/VersionInfo.d.ts +10 -0
  256. package/dist/generated/VersionInfo.js +11 -0
  257. package/dist/generated/VersionInfo.js.map +1 -0
  258. package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
  259. package/dist/generated/css/BusyIndicator.css.js +2 -0
  260. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  261. package/dist/generated/css/FontFace.css.d.ts +2 -0
  262. package/dist/generated/css/FontFace.css.js +2 -0
  263. package/dist/generated/css/FontFace.css.js.map +1 -0
  264. package/dist/generated/css/OverrideFontFace.css.d.ts +2 -0
  265. package/dist/generated/css/OverrideFontFace.css.js +2 -0
  266. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  267. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
  268. package/dist/generated/css/SystemCSSVars.css.js +2 -0
  269. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  270. package/dist/getSharedResource.d.ts +11 -0
  271. package/dist/getSharedResource.js +40 -0
  272. package/dist/getSharedResource.js.map +1 -0
  273. package/dist/global.d.ts +40 -0
  274. package/dist/i18nBundle.d.ts +41 -0
  275. package/dist/i18nBundle.js +71 -30
  276. package/dist/i18nBundle.js.map +1 -0
  277. package/dist/index.d.ts +48 -0
  278. package/dist/index.js +88 -0
  279. package/dist/index.js.map +1 -0
  280. package/dist/jsx-dev-runtime.d.ts +4 -0
  281. package/dist/jsx-dev-runtime.js +43 -0
  282. package/dist/jsx-dev-runtime.js.map +1 -0
  283. package/dist/jsx-runtime.d.ts +50 -0
  284. package/dist/jsx-runtime.js +27 -0
  285. package/dist/jsx-runtime.js.map +1 -0
  286. package/dist/jsx-utils.d.ts +3 -0
  287. package/dist/jsx-utils.js +48 -0
  288. package/dist/jsx-utils.js.map +1 -0
  289. package/dist/locale/Locale.d.ts +22 -0
  290. package/dist/locale/Locale.js +79 -0
  291. package/dist/locale/Locale.js.map +1 -0
  292. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  293. package/dist/locale/RTLAwareRegistry.js +9 -0
  294. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  295. package/dist/locale/applyDirection.d.ts +11 -0
  296. package/dist/locale/applyDirection.js +18 -0
  297. package/dist/locale/applyDirection.js.map +1 -0
  298. package/dist/locale/directionChange.d.ts +15 -0
  299. package/dist/locale/directionChange.js +24 -0
  300. package/dist/locale/directionChange.js.map +1 -0
  301. package/dist/locale/getEffectiveDir.d.ts +2 -0
  302. package/dist/locale/getEffectiveDir.js +8 -0
  303. package/dist/locale/getEffectiveDir.js.map +1 -0
  304. package/dist/locale/getLocale.d.ts +7 -0
  305. package/dist/locale/getLocale.js +38 -0
  306. package/dist/locale/getLocale.js.map +1 -0
  307. package/dist/locale/languageChange.d.ts +5 -0
  308. package/dist/locale/languageChange.js +14 -0
  309. package/dist/locale/languageChange.js.map +1 -0
  310. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  311. package/dist/locale/nextFallbackLocale.js +28 -0
  312. package/dist/locale/nextFallbackLocale.js.map +1 -0
  313. package/dist/locale/normalizeLocale.d.ts +7 -0
  314. package/dist/locale/normalizeLocale.js +47 -0
  315. package/dist/locale/normalizeLocale.js.map +1 -0
  316. package/dist/renderer/JsxRenderer.d.ts +3 -0
  317. package/dist/renderer/JsxRenderer.js +16 -0
  318. package/dist/renderer/JsxRenderer.js.map +1 -0
  319. package/dist/renderer/LitRenderer.d.ts +14 -0
  320. package/dist/renderer/LitRenderer.js +33 -12
  321. package/dist/renderer/LitRenderer.js.map +1 -0
  322. package/dist/renderer/directives/style-map.d.ts +13 -0
  323. package/dist/renderer/directives/style-map.js +72 -0
  324. package/dist/renderer/directives/style-map.js.map +1 -0
  325. package/dist/renderer/executeTemplate.d.ts +12 -0
  326. package/dist/renderer/executeTemplate.js +12 -0
  327. package/dist/renderer/executeTemplate.js.map +1 -0
  328. package/dist/sap/base/Log.js +750 -0
  329. package/dist/sap/base/assert.js +34 -0
  330. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  331. package/dist/sap/base/security/URLListValidator.js +406 -0
  332. package/dist/sap/base/security/encodeCSS.js +40 -0
  333. package/dist/sap/base/security/encodeXML.js +53 -0
  334. package/dist/sap/base/security/sanitizeHTML.js +38 -0
  335. package/dist/sap/base/strings/toHex.js +33 -0
  336. package/dist/sap/base/util/now.js +28 -0
  337. package/dist/sap/base/util/uid.js +27 -0
  338. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  339. package/dist/ssr-dom-shim.d.ts +1 -0
  340. package/dist/ssr-dom-shim.js +62 -0
  341. package/dist/ssr-dom-shim.js.map +1 -0
  342. package/dist/ssr-dom.d.ts +1 -0
  343. package/dist/ssr-dom.js +3 -0
  344. package/dist/ssr-dom.js.map +1 -0
  345. package/dist/theming/CustomStyle.d.ts +6 -0
  346. package/dist/theming/CustomStyle.js +46 -17
  347. package/dist/theming/CustomStyle.js.map +1 -0
  348. package/dist/theming/ThemeLoaded.d.ts +5 -0
  349. package/dist/theming/ThemeLoaded.js +14 -0
  350. package/dist/theming/ThemeLoaded.js.map +1 -0
  351. package/dist/theming/ThemeRegistered.d.ts +4 -0
  352. package/dist/theming/ThemeRegistered.js +11 -0
  353. package/dist/theming/ThemeRegistered.js.map +1 -0
  354. package/dist/theming/applyTheme.d.ts +2 -0
  355. package/dist/theming/applyTheme.js +76 -0
  356. package/dist/theming/applyTheme.js.map +1 -0
  357. package/dist/theming/getConstructableStyle.d.ts +9 -0
  358. package/dist/theming/getConstructableStyle.js +25 -0
  359. package/dist/theming/getConstructableStyle.js.map +1 -0
  360. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  361. package/dist/theming/getEffectiveStyle.js +25 -0
  362. package/dist/theming/getEffectiveStyle.js.map +1 -0
  363. package/dist/theming/getStylesString.d.ts +3 -0
  364. package/dist/theming/getStylesString.js +9 -0
  365. package/dist/theming/getStylesString.js.map +1 -0
  366. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  367. package/dist/theming/getThemeDesignerTheme.js +81 -0
  368. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  369. package/dist/thirdparty/_merge.d.ts +2 -0
  370. package/dist/thirdparty/_merge.js +35 -0
  371. package/dist/thirdparty/_merge.js.map +1 -0
  372. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  373. package/dist/thirdparty/isPlainObject.js +19 -0
  374. package/dist/thirdparty/isPlainObject.js.map +1 -0
  375. package/dist/thirdparty/merge.d.ts +2 -0
  376. package/dist/thirdparty/merge.js +6 -0
  377. package/dist/thirdparty/merge.js.map +1 -0
  378. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  379. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  380. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  381. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  382. package/dist/thirdparty/preact/preact.module.js +1 -0
  383. package/dist/types/AnimationMode.d.ts +24 -0
  384. package/dist/types/AnimationMode.js +25 -6
  385. package/dist/types/AnimationMode.js.map +1 -0
  386. package/dist/types/CalendarType.d.ts +28 -0
  387. package/dist/types/CalendarType.js +30 -0
  388. package/dist/types/CalendarType.js.map +1 -0
  389. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  390. package/dist/types/InvisibleMessageMode.js +20 -0
  391. package/dist/types/InvisibleMessageMode.js.map +1 -0
  392. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  393. package/dist/types/ItemNavigationBehavior.js +16 -17
  394. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  395. package/dist/types/MovePlacement.d.ts +20 -0
  396. package/dist/types/MovePlacement.js +22 -0
  397. package/dist/types/MovePlacement.js.map +1 -0
  398. package/dist/types/NavigationMode.d.ts +24 -0
  399. package/dist/types/NavigationMode.js +25 -5
  400. package/dist/types/NavigationMode.js.map +1 -0
  401. package/dist/types/Orientation.d.ts +16 -0
  402. package/dist/types/Orientation.js +18 -0
  403. package/dist/types/Orientation.js.map +1 -0
  404. package/dist/types/SortOrder.d.ts +24 -0
  405. package/dist/types/SortOrder.js +26 -0
  406. package/dist/types/SortOrder.js.map +1 -0
  407. package/dist/types/ValueState.d.ts +28 -0
  408. package/dist/types/ValueState.js +27 -18
  409. package/dist/types/ValueState.js.map +1 -0
  410. package/dist/types.d.ts +41 -0
  411. package/dist/types.js +2 -0
  412. package/dist/types.js.map +1 -0
  413. package/dist/updateShadowRoot.d.ts +7 -0
  414. package/dist/updateShadowRoot.js +17 -0
  415. package/dist/updateShadowRoot.js.map +1 -0
  416. package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
  417. package/dist/util/AccessibilityTextsHelper.js +199 -0
  418. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  419. package/dist/util/Caret.d.ts +7 -0
  420. package/dist/util/Caret.js +23 -0
  421. package/dist/util/Caret.js.map +1 -0
  422. package/dist/util/ColorConversion.d.ts +31 -0
  423. package/dist/util/ColorConversion.js +354 -0
  424. package/dist/util/ColorConversion.js.map +1 -0
  425. package/dist/util/FetchHelper.d.ts +3 -0
  426. package/dist/util/FetchHelper.js +19 -25
  427. package/dist/util/FetchHelper.js.map +1 -0
  428. package/dist/util/FocusableElements.d.ts +4 -0
  429. package/dist/util/FocusableElements.js +96 -56
  430. package/dist/util/FocusableElements.js.map +1 -0
  431. package/dist/util/HTMLSanitizer.d.ts +5 -0
  432. package/dist/util/HTMLSanitizer.js +6 -0
  433. package/dist/util/HTMLSanitizer.js.map +1 -0
  434. package/dist/util/InvisibleMessage.d.ts +10 -0
  435. package/dist/util/InvisibleMessage.js +56 -0
  436. package/dist/util/InvisibleMessage.js.map +1 -0
  437. package/dist/util/PopupUtils.d.ts +5 -0
  438. package/dist/util/PopupUtils.js +60 -0
  439. package/dist/util/PopupUtils.js.map +1 -0
  440. package/dist/util/SelectionAssistant.d.ts +12 -0
  441. package/dist/util/SelectionAssistant.js +79 -0
  442. package/dist/util/SelectionAssistant.js.map +1 -0
  443. package/dist/util/SlotsHelper.d.ts +9 -0
  444. package/dist/util/SlotsHelper.js +30 -0
  445. package/dist/util/SlotsHelper.js.map +1 -0
  446. package/dist/util/StringHelper.d.ts +5 -0
  447. package/dist/util/StringHelper.js +37 -11
  448. package/dist/util/StringHelper.js.map +1 -0
  449. package/dist/util/TabbableElements.d.ts +17 -0
  450. package/dist/util/TabbableElements.js +46 -40
  451. package/dist/util/TabbableElements.js.map +1 -0
  452. package/dist/util/arraysAreEqual.d.ts +2 -0
  453. package/dist/util/arraysAreEqual.js +13 -0
  454. package/dist/util/arraysAreEqual.js.map +1 -0
  455. package/dist/util/clamp.d.ts +9 -0
  456. package/dist/util/clamp.js +13 -0
  457. package/dist/util/clamp.js.map +1 -0
  458. package/dist/util/createLinkInHead.d.ts +7 -0
  459. package/dist/util/createLinkInHead.js +21 -0
  460. package/dist/util/createLinkInHead.js.map +1 -0
  461. package/dist/util/debounce.d.ts +2 -0
  462. package/dist/util/debounce.js +15 -0
  463. package/dist/util/debounce.js.map +1 -0
  464. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  465. package/dist/util/detectNavigatorLanguage.js +14 -10
  466. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  467. package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
  468. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  469. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  470. package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
  471. package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
  472. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  473. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  474. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  475. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  476. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  477. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  478. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  479. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  480. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  481. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  482. package/dist/util/escapeRegex.d.ts +8 -0
  483. package/dist/util/escapeRegex.js +11 -0
  484. package/dist/util/escapeRegex.js.map +1 -0
  485. package/dist/util/fixSafariActiveState.d.ts +2 -0
  486. package/dist/util/fixSafariActiveState.js +11 -0
  487. package/dist/util/fixSafariActiveState.js.map +1 -0
  488. package/dist/util/formatMessage.d.ts +2 -0
  489. package/dist/util/formatMessage.js +15 -19
  490. package/dist/util/formatMessage.js.map +1 -0
  491. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  492. package/dist/util/generateHighlightedMarkup.js +41 -0
  493. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  494. package/dist/util/getActiveElement.d.ts +2 -0
  495. package/dist/util/getActiveElement.js +9 -0
  496. package/dist/util/getActiveElement.js.map +1 -0
  497. package/dist/util/getClassCopy.d.ts +441 -0
  498. package/dist/util/getClassCopy.js +10 -0
  499. package/dist/util/getClassCopy.js.map +1 -0
  500. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  501. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  502. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  503. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  504. package/dist/util/getEffectiveContentDensity.js +4 -0
  505. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  506. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  507. package/dist/util/getEffectiveScrollbarStyle.js +34 -0
  508. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  509. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  510. package/dist/util/getFastNavigationGroups.js +56 -0
  511. package/dist/util/getFastNavigationGroups.js.map +1 -0
  512. package/dist/util/getFileExtension.d.ts +12 -0
  513. package/dist/util/getFileExtension.js +19 -0
  514. package/dist/util/getFileExtension.js.map +1 -0
  515. package/dist/util/getNormalizedTarget.d.ts +7 -0
  516. package/dist/util/getNormalizedTarget.js +14 -0
  517. package/dist/util/getNormalizedTarget.js.map +1 -0
  518. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  519. package/dist/util/getSingletonElementInstance.js +19 -0
  520. package/dist/util/getSingletonElementInstance.js.map +1 -0
  521. package/dist/util/hash2str.d.ts +1 -0
  522. package/dist/util/hash2str.js +14 -0
  523. package/dist/util/hash2str.js.map +1 -0
  524. package/dist/util/isElementClickable.d.ts +2 -0
  525. package/dist/util/isElementClickable.js +16 -0
  526. package/dist/util/isElementClickable.js.map +1 -0
  527. package/dist/util/isElementHidden.d.ts +2 -0
  528. package/dist/util/isElementHidden.js +8 -0
  529. package/dist/util/isElementHidden.js.map +1 -0
  530. package/dist/util/isElementInView.d.ts +6 -0
  531. package/dist/util/isElementInView.js +12 -0
  532. package/dist/util/isElementInView.js.map +1 -0
  533. package/dist/util/isElementTabbable.d.ts +9 -0
  534. package/dist/util/isElementTabbable.js +30 -0
  535. package/dist/util/isElementTabbable.js.map +1 -0
  536. package/dist/util/isValidPropertyName.d.ts +8 -0
  537. package/dist/util/isValidPropertyName.js +20 -12
  538. package/dist/util/isValidPropertyName.js.map +1 -0
  539. package/dist/util/throttle.d.ts +2 -0
  540. package/dist/util/throttle.js +20 -0
  541. package/dist/util/throttle.js.map +1 -0
  542. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  543. package/dist/util/toLowercaseEnumValue.js +4 -0
  544. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  545. package/dist/util/whenDOMReady.d.ts +2 -0
  546. package/dist/util/whenDOMReady.js +11 -10
  547. package/dist/util/whenDOMReady.js.map +1 -0
  548. package/dist/util/willShowContent.d.ts +2 -0
  549. package/dist/util/willShowContent.js +7 -0
  550. package/dist/util/willShowContent.js.map +1 -0
  551. package/dist/validateThemeRoot.d.ts +2 -0
  552. package/dist/validateThemeRoot.js +49 -0
  553. package/dist/validateThemeRoot.js.map +1 -0
  554. package/package-scripts.cjs +74 -0
  555. package/package.json +49 -15
  556. package/src/css/BusyIndicator.css +80 -0
  557. package/src/css/FontFace.css +96 -0
  558. package/src/css/OverrideFontFace.css +32 -0
  559. package/src/css/SystemCSSVars.css +9 -0
  560. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  561. package/src/thirdparty/preact/preact.module.js +1 -0
  562. package/src/thirdparty/preact/version.txt +1 -0
  563. package/tsconfig.json +19 -0
  564. package/.eslintignore +0 -10
  565. package/bundle.es5.js +0 -28
  566. package/bundle.esm.js +0 -52
  567. package/config/.eslintrc.js +0 -3
  568. package/config/rollup.config.js +0 -1
  569. package/config/wdio.conf.js +0 -1
  570. package/dist/Assets.js +0 -2
  571. package/dist/CSS.js +0 -48
  572. package/dist/FormatSettings.js +0 -31
  573. package/dist/Locale.js +0 -101
  574. package/dist/LocaleProvider.js +0 -34
  575. package/dist/RenderScheduler.js +0 -165
  576. package/dist/ResourceLoaderOverrides.js +0 -38
  577. package/dist/SVGIconRegistry.js +0 -54
  578. package/dist/StaticArea.js +0 -41
  579. package/dist/StaticAreaItem.js +0 -73
  580. package/dist/animations/config.js +0 -5
  581. package/dist/boot.js +0 -25
  582. package/dist/compatibility/DOMObserver.js +0 -62
  583. package/dist/compatibility/patchNodeValue.js +0 -24
  584. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  585. package/dist/config/RTL.js +0 -31
  586. package/dist/dates/CalendarDate.js +0 -203
  587. package/dist/dates/CalendarType.js +0 -22
  588. package/dist/dates/CalendarUtils.js +0 -99
  589. package/dist/delegate/CustomResize.js +0 -78
  590. package/dist/delegate/NativeResize.js +0 -44
  591. package/dist/events/PseudoEvents.js +0 -58
  592. package/dist/features/browsersupport/Edge.js +0 -6
  593. package/dist/features/browsersupport/IE11.js +0 -41
  594. package/dist/features/calendar/Buddhist.js +0 -1
  595. package/dist/features/calendar/Islamic.js +0 -1
  596. package/dist/features/calendar/Japanese.js +0 -1
  597. package/dist/features/calendar/Persian.js +0 -1
  598. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  599. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  600. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  601. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  602. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  603. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  604. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  605. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  606. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  607. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  608. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  609. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  610. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  611. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  612. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  613. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  614. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  615. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  616. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  617. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  618. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  619. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  620. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  621. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  622. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  623. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  624. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  625. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  626. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  627. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  628. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  629. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  630. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  631. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  632. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  633. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  634. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  635. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  636. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  637. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  638. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  639. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  640. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  641. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  642. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  643. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  644. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  645. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  646. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  647. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  648. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  649. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  650. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  651. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  652. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  653. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  654. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  655. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  656. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  657. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  658. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  659. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  660. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  661. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  662. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  663. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  664. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  665. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  666. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  667. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  668. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  669. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  670. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  671. package/dist/json-imports/LocaleData.js +0 -171
  672. package/dist/renderer/ifDefined.js +0 -21
  673. package/dist/resources/bundle.es5.js +0 -212
  674. package/dist/resources/bundle.es5.js.map +0 -1
  675. package/dist/resources/bundle.esm.js +0 -123
  676. package/dist/resources/bundle.esm.js.map +0 -1
  677. package/dist/shims/Core-shim.js +0 -52
  678. package/dist/shims/jquery-shim.js +0 -89
  679. package/dist/test-resources/assets/Themes.js +0 -11
  680. package/dist/test-resources/elements/Child.js +0 -35
  681. package/dist/test-resources/elements/Generic.js +0 -83
  682. package/dist/test-resources/elements/GenericExt.js +0 -26
  683. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  684. package/dist/test-resources/elements/Parent.js +0 -36
  685. package/dist/test-resources/pages/AllTestElements.html +0 -42
  686. package/dist/test-resources/pages/Configuration.html +0 -20
  687. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  688. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  689. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  690. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  691. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  692. package/dist/test-resources/specs/Theming.spec.js +0 -31
  693. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  694. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  695. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  696. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  697. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  698. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  699. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  700. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  701. package/dist/theming/StyleInjection.js +0 -67
  702. package/dist/thirdparty/Array.from.js +0 -16
  703. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  704. package/dist/thirdparty/Array.prototype.find.js +0 -46
  705. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  706. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  707. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  708. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  709. package/dist/thirdparty/Number.isInteger.js +0 -5
  710. package/dist/thirdparty/Number.isNaN.js +0 -1
  711. package/dist/thirdparty/Number.parseInt.js +0 -1
  712. package/dist/thirdparty/Object.assign.js +0 -31
  713. package/dist/thirdparty/Object.entries.js +0 -11
  714. package/dist/thirdparty/Symbol.js +0 -2
  715. package/dist/thirdparty/WeakSet.js +0 -27
  716. package/dist/thirdparty/events-polyfills.js +0 -89
  717. package/dist/thirdparty/fetch.js +0 -1
  718. package/dist/thirdparty/template.js +0 -600
  719. package/dist/types/CSSSize.js +0 -9
  720. package/dist/types/DataType.js +0 -25
  721. package/dist/types/Integer.js +0 -9
  722. package/dist/types/PopupState.js +0 -37
  723. package/dist/util/CSSTransformUtils.js +0 -90
  724. package/dist/util/createStyleInHead.js +0 -18
  725. package/dist/util/isDescendantOf.js +0 -15
  726. package/dist/util/isNodeClickable.js +0 -19
  727. package/dist/util/isNodeHidden.js +0 -13
  728. package/dist/util/isNodeTabbable.js +0 -28
  729. package/dist/util/normalizeLocale.js +0 -77
  730. package/dist/webcomponentsjs/LICENSE.md +0 -19
  731. package/dist/webcomponentsjs/README.md +0 -229
  732. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  733. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  734. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  735. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  736. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  737. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  738. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  739. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  740. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  741. package/dist/webcomponentsjs/package.json +0 -46
  742. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  743. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  744. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  745. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  746. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  747. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  748. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  749. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  750. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  751. package/index.js +0 -4
  752. package/package-scripts.js +0 -42
  753. package/src/AssetRegistry.js +0 -9
  754. package/src/Assets.js +0 -2
  755. package/src/CSS.js +0 -48
  756. package/src/Device.js +0 -823
  757. package/src/EventProvider.js +0 -73
  758. package/src/FeaturesRegistry.js +0 -11
  759. package/src/FontFace.js +0 -66
  760. package/src/FormatSettings.js +0 -31
  761. package/src/InitialConfiguration.js +0 -119
  762. package/src/Locale.js +0 -101
  763. package/src/LocaleProvider.js +0 -34
  764. package/src/RenderQueue.js +0 -42
  765. package/src/RenderScheduler.js +0 -165
  766. package/src/ResourceLoaderOverrides.js +0 -38
  767. package/src/SVGIconRegistry.js +0 -54
  768. package/src/StaticArea.js +0 -41
  769. package/src/StaticAreaItem.js +0 -73
  770. package/src/Theming.js +0 -45
  771. package/src/UI5Element.js +0 -842
  772. package/src/UI5ElementMetadata.js +0 -148
  773. package/src/animations/AnimationQueue.js +0 -42
  774. package/src/animations/animate.js +0 -53
  775. package/src/animations/config.js +0 -5
  776. package/src/animations/scroll.js +0 -28
  777. package/src/animations/slideDown.js +0 -79
  778. package/src/animations/slideUp.js +0 -71
  779. package/src/asset-registries/Icons.js +0 -24
  780. package/src/asset-registries/LocaleData.js +0 -101
  781. package/src/asset-registries/Themes.js +0 -75
  782. package/src/asset-registries/i18n.js +0 -75
  783. package/src/boot.js +0 -25
  784. package/src/compatibility/DOMObserver.js +0 -62
  785. package/src/compatibility/patchNodeValue.js +0 -24
  786. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  787. package/src/config/AnimationMode.js +0 -9
  788. package/src/config/CalendarType.js +0 -18
  789. package/src/config/FormatSettings.js +0 -9
  790. package/src/config/Language.js +0 -9
  791. package/src/config/NoConflict.js +0 -44
  792. package/src/config/RTL.js +0 -31
  793. package/src/config/Theme.js +0 -24
  794. package/src/dates/CalendarDate.js +0 -203
  795. package/src/dates/CalendarType.js +0 -22
  796. package/src/dates/CalendarUtils.js +0 -99
  797. package/src/delegate/CustomResize.js +0 -78
  798. package/src/delegate/ItemNavigation.js +0 -278
  799. package/src/delegate/NativeResize.js +0 -44
  800. package/src/delegate/ResizeHandler.js +0 -66
  801. package/src/delegate/ScrollEnablement.js +0 -80
  802. package/src/events/PseudoEvents.js +0 -58
  803. package/src/features/browsersupport/Edge.js +0 -6
  804. package/src/features/browsersupport/IE11.js +0 -41
  805. package/src/features/calendar/Buddhist.js +0 -1
  806. package/src/features/calendar/Islamic.js +0 -1
  807. package/src/features/calendar/Japanese.js +0 -1
  808. package/src/features/calendar/Persian.js +0 -1
  809. package/src/i18nBundle.js +0 -35
  810. package/src/json-imports/LocaleData.js +0 -171
  811. package/src/renderer/LitRenderer.js +0 -15
  812. package/src/renderer/ifDefined.js +0 -21
  813. package/src/shims/Core-shim.js +0 -52
  814. package/src/shims/jquery-shim.js +0 -89
  815. package/src/theming/CustomStyle.js +0 -19
  816. package/src/theming/StyleInjection.js +0 -67
  817. package/src/thirdparty/Array.from.js +0 -16
  818. package/src/thirdparty/Array.prototype.fill.js +0 -44
  819. package/src/thirdparty/Array.prototype.find.js +0 -46
  820. package/src/thirdparty/Array.prototype.includes.js +0 -51
  821. package/src/thirdparty/Element.prototype.closest.js +0 -11
  822. package/src/thirdparty/Element.prototype.matches.js +0 -6
  823. package/src/thirdparty/Map.prototype.keys.js +0 -9
  824. package/src/thirdparty/Number.isInteger.js +0 -5
  825. package/src/thirdparty/Number.isNaN.js +0 -1
  826. package/src/thirdparty/Number.parseInt.js +0 -1
  827. package/src/thirdparty/Object.assign.js +0 -31
  828. package/src/thirdparty/Object.entries.js +0 -11
  829. package/src/thirdparty/Symbol.js +0 -2
  830. package/src/thirdparty/WeakSet.js +0 -27
  831. package/src/thirdparty/events-polyfills.js +0 -89
  832. package/src/thirdparty/fetch.js +0 -1
  833. package/src/thirdparty/template.js +0 -600
  834. package/src/types/AnimationMode.js +0 -7
  835. package/src/types/CSSSize.js +0 -9
  836. package/src/types/DataType.js +0 -25
  837. package/src/types/Integer.js +0 -9
  838. package/src/types/ItemNavigationBehavior.js +0 -21
  839. package/src/types/NavigationMode.js +0 -6
  840. package/src/types/PopupState.js +0 -37
  841. package/src/types/ValueState.js +0 -21
  842. package/src/util/CSSTransformUtils.js +0 -90
  843. package/src/util/FetchHelper.js +0 -31
  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/createStyleInHead.js +0 -18
  848. package/src/util/detectNavigatorLanguage.js +0 -11
  849. package/src/util/formatMessage.js +0 -23
  850. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  851. package/src/util/isDescendantOf.js +0 -15
  852. package/src/util/isNodeClickable.js +0 -19
  853. package/src/util/isNodeHidden.js +0 -13
  854. package/src/util/isNodeTabbable.js +0 -28
  855. package/src/util/isValidPropertyName.js +0 -20
  856. package/src/util/normalizeLocale.js +0 -77
  857. package/src/util/whenDOMReady.js +0 -13
@@ -0,0 +1,15 @@
1
+ import LegacyDateFormats from "../features/LegacyDateFormats.js";
2
+ import type { LegacyDateCalendarCustomizing } from "../features/LegacyDateFormats.js";
3
+ type FormatSettings = {
4
+ firstDayOfWeek?: number;
5
+ legacyDateCalendarCustomizing?: LegacyDateCalendarCustomizing;
6
+ };
7
+ /**
8
+ * Returns the first day of the week from the configured format settings or based on the current locale.
9
+ * @public
10
+ * @returns {Number} 0 (Sunday) through 6 (Saturday)
11
+ */
12
+ declare const getFirstDayOfWeek: () => number | undefined;
13
+ declare const getLegacyDateCalendarCustomizing: typeof LegacyDateFormats.getLegacyDateCalendarCustomizing;
14
+ export { getFirstDayOfWeek, getLegacyDateCalendarCustomizing, };
15
+ export type { FormatSettings };
@@ -1,9 +1,23 @@
1
+ import LegacyDateFormats from "../features/LegacyDateFormats.js";
1
2
  import { getFormatSettings } from "../InitialConfiguration.js";
2
-
3
- const formatSettings = getFormatSettings();
4
-
3
+ import { getFeature } from "../FeaturesRegistry.js";
4
+ import { attachConfigurationReset } from "./ConfigurationReset.js";
5
+ let formatSettings;
6
+ attachConfigurationReset(() => {
7
+ formatSettings = undefined;
8
+ });
9
+ /**
10
+ * Returns the first day of the week from the configured format settings or based on the current locale.
11
+ * @public
12
+ * @returns {Number} 0 (Sunday) through 6 (Saturday)
13
+ */
5
14
  const getFirstDayOfWeek = () => {
6
- return formatSettings.firstDayOfWeek;
15
+ if (formatSettings === undefined) {
16
+ formatSettings = getFormatSettings();
17
+ }
18
+ return formatSettings.firstDayOfWeek;
7
19
  };
8
-
9
- export { getFirstDayOfWeek }; // eslint-disable-line
20
+ const legacyDateFormats = getFeature("LegacyDateFormats");
21
+ const getLegacyDateCalendarCustomizing = legacyDateFormats ? LegacyDateFormats.getLegacyDateCalendarCustomizing : () => { return []; };
22
+ export { getFirstDayOfWeek, getLegacyDateCalendarCustomizing, };
23
+ //# sourceMappingURL=FormatSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatSettings.js","sourceRoot":"","sources":["../../src/config/FormatSettings.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOnE,IAAI,cAA0C,CAAC;AAE/C,wBAAwB,CAAC,GAAG,EAAE;IAC7B,cAAc,GAAG,SAAS,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,GAAuB,EAAE;IAClD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,GAAG,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,cAAc,CAAC,cAAc,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;AAEpF,MAAM,gCAAgC,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvI,OAAO,EACN,iBAAiB,EACjB,gCAAgC,GAChC,CAAC","sourcesContent":["import LegacyDateFormats from \"../features/LegacyDateFormats.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { getFormatSettings } from \"../InitialConfiguration.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport { attachConfigurationReset } from \"./ConfigurationReset.js\";\n\ntype FormatSettings = {\n\tfirstDayOfWeek?: number,\n\tlegacyDateCalendarCustomizing?: LegacyDateCalendarCustomizing,\n};\n\nlet formatSettings: FormatSettings | undefined;\n\nattachConfigurationReset(() => {\n\tformatSettings = undefined;\n});\n\n/**\n * Returns the first day of the week from the configured format settings or based on the current locale.\n * @public\n * @returns {Number} 0 (Sunday) through 6 (Saturday)\n */\nconst getFirstDayOfWeek = (): number | undefined => {\n\tif (formatSettings === undefined) {\n\t\tformatSettings = getFormatSettings();\n\t}\n\n\treturn formatSettings.firstDayOfWeek;\n};\n\nconst legacyDateFormats = getFeature<typeof LegacyDateFormats>(\"LegacyDateFormats\");\n\nconst getLegacyDateCalendarCustomizing = legacyDateFormats ? LegacyDateFormats.getLegacyDateCalendarCustomizing : () => { return []; };\n\nexport {\n\tgetFirstDayOfWeek,\n\tgetLegacyDateCalendarCustomizing,\n};\n\nexport type { FormatSettings };\n"]}
@@ -0,0 +1,40 @@
1
+ type IconCollection = string;
2
+ /**
3
+ * Sets the default icon collection for a given theme.
4
+ *
5
+ * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)
6
+ * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: "tnt/actor", "business-suite/1x2-grid-layout", etc.
7
+ * This method allows setting another (built-in or custom) icon collection as default per theme.
8
+ *
9
+ * **Usage**
10
+ * **For example**, to make "SAP-icons version 5.x" the default icon collection in "sap_fiori_3":
11
+ *
12
+ * ```
13
+ * setDefaultIconCollection("sap_fiori_3", "SAP-icons-v5");
14
+ *
15
+ * <ui5-icon name="home"></ui5-icon>
16
+ * ```
17
+ *
18
+ * **For example**, to make a custom icon collection (with name "my-custom-collection") the default icon collection in "sap_fiori_3":
19
+ *
20
+ * ```
21
+ * setDefaultIconCollection("sap_fiori_3", "my-custom-collection");
22
+ *
23
+ * <ui5-icon name="custom-icon-name"></ui5-icon>
24
+ * ```
25
+ *
26
+ * @public
27
+ * @param { string } theme
28
+ * @param { string } collectionName
29
+ */
30
+ declare const setDefaultIconCollection: (theme: string, collectionName: IconCollection) => void;
31
+ /**
32
+ * Returns the configured default icon collection for a given theme.
33
+ *
34
+ * @param { string } theme
35
+ * @public
36
+ * @returns { string | undefined }
37
+ */
38
+ declare const getDefaultIconCollection: (theme: string) => string | undefined;
39
+ export { setDefaultIconCollection, getDefaultIconCollection, };
40
+ export type { IconCollection, };
@@ -0,0 +1,44 @@
1
+ const IconCollectionConfiguration = new Map();
2
+ /**
3
+ * Sets the default icon collection for a given theme.
4
+ *
5
+ * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)
6
+ * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: "tnt/actor", "business-suite/1x2-grid-layout", etc.
7
+ * This method allows setting another (built-in or custom) icon collection as default per theme.
8
+ *
9
+ * **Usage**
10
+ * **For example**, to make "SAP-icons version 5.x" the default icon collection in "sap_fiori_3":
11
+ *
12
+ * ```
13
+ * setDefaultIconCollection("sap_fiori_3", "SAP-icons-v5");
14
+ *
15
+ * <ui5-icon name="home"></ui5-icon>
16
+ * ```
17
+ *
18
+ * **For example**, to make a custom icon collection (with name "my-custom-collection") the default icon collection in "sap_fiori_3":
19
+ *
20
+ * ```
21
+ * setDefaultIconCollection("sap_fiori_3", "my-custom-collection");
22
+ *
23
+ * <ui5-icon name="custom-icon-name"></ui5-icon>
24
+ * ```
25
+ *
26
+ * @public
27
+ * @param { string } theme
28
+ * @param { string } collectionName
29
+ */
30
+ const setDefaultIconCollection = (theme, collectionName) => {
31
+ IconCollectionConfiguration.set(theme, collectionName);
32
+ };
33
+ /**
34
+ * Returns the configured default icon collection for a given theme.
35
+ *
36
+ * @param { string } theme
37
+ * @public
38
+ * @returns { string | undefined }
39
+ */
40
+ const getDefaultIconCollection = (theme) => {
41
+ return IconCollectionConfiguration.get(theme);
42
+ };
43
+ export { setDefaultIconCollection, getDefaultIconCollection, };
44
+ //# sourceMappingURL=Icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icons.js","sourceRoot":"","sources":["../../src/config/Icons.ts"],"names":[],"mappings":"AAAA,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAkB,CAAC;AAK9D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,cAA8B,EAAE,EAAE;IAClF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAsB,EAAE;IACtE,OAAO,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,OAAO,EACN,wBAAwB,EACxB,wBAAwB,GACxB,CAAC","sourcesContent":["const IconCollectionConfiguration = new Map<string, string>();\n\n// All supported icon collections + unknown custom ones\ntype IconCollection = string;\n\n/**\n * Sets the default icon collection for a given theme.\n *\n * SAP Icons is the default icon collection (that resolves to SAP-icons version 5.x in Horizon theme family and SAP-icons version 4.x in all other themes)\n * and to display icons from other collections, you have to specify the icon collection in addition to the icon name, for example: \"tnt/actor\", \"business-suite/1x2-grid-layout\", etc.\n * This method allows setting another (built-in or custom) icon collection as default per theme.\n *\n * **Usage**\n * **For example**, to make \"SAP-icons version 5.x\" the default icon collection in \"sap_fiori_3\":\n *\n * ```\n * setDefaultIconCollection(\"sap_fiori_3\", \"SAP-icons-v5\");\n *\n * <ui5-icon name=\"home\"></ui5-icon>\n * ```\n *\n * **For example**, to make a custom icon collection (with name \"my-custom-collection\") the default icon collection in \"sap_fiori_3\":\n *\n * ```\n * setDefaultIconCollection(\"sap_fiori_3\", \"my-custom-collection\");\n *\n * <ui5-icon name=\"custom-icon-name\"></ui5-icon>\n * ```\n *\n * @public\n * @param { string } theme\n * @param { string } collectionName\n */\nconst setDefaultIconCollection = (theme: string, collectionName: IconCollection) => {\n\tIconCollectionConfiguration.set(theme, collectionName);\n};\n\n/**\n * Returns the configured default icon collection for a given theme.\n *\n * @param { string } theme\n * @public\n * @returns { string | undefined }\n */\nconst getDefaultIconCollection = (theme: string): string | undefined => {\n\treturn IconCollectionConfiguration.get(theme);\n};\n\nexport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n};\n\nexport type {\n\tIconCollection,\n};\n"]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Returns the currently configured language, or the browser language as a fallback.
3
+ * @public
4
+ * @returns {string}
5
+ */
6
+ declare const getLanguage: () => string | undefined;
7
+ /**
8
+ * Changes the current language, re-fetches all message bundles, updates all language-aware components
9
+ * and returns a promise that resolves when all rendering is done.
10
+ *
11
+ * @param {string} language
12
+ * @public
13
+ * @returns {Promise<void>}
14
+ */
15
+ declare const setLanguage: (language: string) => Promise<void>;
16
+ /**
17
+ * Returns the default languague.
18
+ *
19
+ * Note: Default language might be different than the configurated one.
20
+ *
21
+ * @public
22
+ * @returns {string}
23
+ */
24
+ declare const getDefaultLanguage: () => string;
25
+ /**
26
+ * Defines if the default language, that is inlined, should be
27
+ * fetched over the network instead of using the inlined one.
28
+ * **Note:** By default the language will not be fetched.
29
+ *
30
+ * @public
31
+ * @param {boolean} fetchDefaultLang
32
+ */
33
+ declare const setFetchDefaultLanguage: (fetchDefaultLang: boolean) => void;
34
+ /**
35
+ * Returns if the default language, that is inlined, should be fetched over the network.
36
+ * @public
37
+ * @returns {boolean}
38
+ */
39
+ declare const getFetchDefaultLanguage: () => boolean;
40
+ export { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, };
@@ -1,9 +1,76 @@
1
- import { getLanguage as getConfiguredLanguage } from "../InitialConfiguration.js";
2
-
3
- const language = getConfiguredLanguage();
4
-
1
+ import { getLanguage as getConfiguredLanguage, getFetchDefaultLanguage as getConfiguredFetchDefaultLanguage, } from "../InitialConfiguration.js";
2
+ import { fireLanguageChange } from "../locale/languageChange.js";
3
+ import { reRenderAllUI5Elements } from "../Render.js";
4
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
5
+ import { isBooted } from "../Boot.js";
6
+ import { attachConfigurationReset } from "./ConfigurationReset.js";
7
+ let curLanguage;
8
+ let fetchDefaultLanguage;
9
+ attachConfigurationReset(() => {
10
+ curLanguage = undefined;
11
+ fetchDefaultLanguage = undefined;
12
+ });
13
+ /**
14
+ * Returns the currently configured language, or the browser language as a fallback.
15
+ * @public
16
+ * @returns {string}
17
+ */
5
18
  const getLanguage = () => {
6
- return language;
19
+ if (curLanguage === undefined) {
20
+ curLanguage = getConfiguredLanguage();
21
+ }
22
+ return curLanguage;
7
23
  };
8
-
9
- export { getLanguage }; // eslint-disable-line
24
+ /**
25
+ * Changes the current language, re-fetches all message bundles, updates all language-aware components
26
+ * and returns a promise that resolves when all rendering is done.
27
+ *
28
+ * @param {string} language
29
+ * @public
30
+ * @returns {Promise<void>}
31
+ */
32
+ const setLanguage = async (language) => {
33
+ if (curLanguage === language) {
34
+ return;
35
+ }
36
+ curLanguage = language;
37
+ await fireLanguageChange(language);
38
+ if (isBooted()) {
39
+ await reRenderAllUI5Elements({ languageAware: true });
40
+ }
41
+ };
42
+ /**
43
+ * Returns the default languague.
44
+ *
45
+ * Note: Default language might be different than the configurated one.
46
+ *
47
+ * @public
48
+ * @returns {string}
49
+ */
50
+ const getDefaultLanguage = () => {
51
+ return DEFAULT_LANGUAGE;
52
+ };
53
+ /**
54
+ * Defines if the default language, that is inlined, should be
55
+ * fetched over the network instead of using the inlined one.
56
+ * **Note:** By default the language will not be fetched.
57
+ *
58
+ * @public
59
+ * @param {boolean} fetchDefaultLang
60
+ */
61
+ const setFetchDefaultLanguage = (fetchDefaultLang) => {
62
+ fetchDefaultLanguage = fetchDefaultLang;
63
+ };
64
+ /**
65
+ * Returns if the default language, that is inlined, should be fetched over the network.
66
+ * @public
67
+ * @returns {boolean}
68
+ */
69
+ const getFetchDefaultLanguage = () => {
70
+ if (fetchDefaultLanguage === undefined) {
71
+ fetchDefaultLanguage = getConfiguredFetchDefaultLanguage();
72
+ }
73
+ return fetchDefaultLanguage;
74
+ };
75
+ export { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, };
76
+ //# sourceMappingURL=Language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Language.js","sourceRoot":"","sources":["../../src/config/Language.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,IAAI,qBAAqB,EACpC,uBAAuB,IAAI,iCAAiC,GAC5D,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,IAAI,WAA+B,CAAC;AACpC,IAAI,oBAAyC,CAAC;AAE9C,wBAAwB,CAAC,GAAG,EAAE;IAC7B,WAAW,GAAG,SAAS,CAAC;IACxB,oBAAoB,GAAG,SAAS,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,WAAW,GAAG,GAAuB,EAAE;IAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,GAAG,qBAAqB,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;IAC7D,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;IACR,CAAC;IAED,WAAW,GAAG,QAAQ,CAAC;IAEvB,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,QAAQ,EAAE,EAAE,CAAC;QAChB,MAAM,sBAAsB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,GAAW,EAAE;IACvC,OAAO,gBAAgB,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,CAAC,gBAAyB,EAAE,EAAE;IAC7D,oBAAoB,GAAG,gBAAgB,CAAC;AACzC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,GAAY,EAAE;IAC7C,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACxC,oBAAoB,GAAG,iCAAiC,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACvB,CAAC","sourcesContent":["import {\n\tgetLanguage as getConfiguredLanguage,\n\tgetFetchDefaultLanguage as getConfiguredFetchDefaultLanguage,\n} from \"../InitialConfiguration.js\";\nimport { fireLanguageChange } from \"../locale/languageChange.js\";\nimport { reRenderAllUI5Elements } from \"../Render.js\";\nimport { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\nimport { isBooted } from \"../Boot.js\";\nimport { attachConfigurationReset } from \"./ConfigurationReset.js\";\n\nlet curLanguage: string | undefined;\nlet fetchDefaultLanguage: boolean | undefined;\n\nattachConfigurationReset(() => {\n\tcurLanguage = undefined;\n\tfetchDefaultLanguage = undefined;\n});\n\n/**\n * Returns the currently configured language, or the browser language as a fallback.\n * @public\n * @returns {string}\n */\nconst getLanguage = (): string | undefined => {\n\tif (curLanguage === undefined) {\n\t\tcurLanguage = getConfiguredLanguage();\n\t}\n\treturn curLanguage;\n};\n\n/**\n * Changes the current language, re-fetches all message bundles, updates all language-aware components\n * and returns a promise that resolves when all rendering is done.\n *\n * @param {string} language\n * @public\n * @returns {Promise<void>}\n */\nconst setLanguage = async (language: string): Promise<void> => {\n\tif (curLanguage === language) {\n\t\treturn;\n\t}\n\n\tcurLanguage = language;\n\n\tawait fireLanguageChange(language);\n\tif (isBooted()) {\n\t\tawait reRenderAllUI5Elements({ languageAware: true });\n\t}\n};\n\n/**\n * Returns the default languague.\n *\n * Note: Default language might be different than the configurated one.\n *\n * @public\n * @returns {string}\n */\nconst getDefaultLanguage = (): string => {\n\treturn DEFAULT_LANGUAGE;\n};\n\n/**\n * Defines if the default language, that is inlined, should be\n * fetched over the network instead of using the inlined one.\n * **Note:** By default the language will not be fetched.\n *\n * @public\n * @param {boolean} fetchDefaultLang\n */\nconst setFetchDefaultLanguage = (fetchDefaultLang: boolean) => {\n\tfetchDefaultLanguage = fetchDefaultLang;\n};\n\n/**\n * Returns if the default language, that is inlined, should be fetched over the network.\n * @public\n * @returns {boolean}\n */\nconst getFetchDefaultLanguage = (): boolean => {\n\tif (fetchDefaultLanguage === undefined) {\n\t\tfetchDefaultLanguage = getConfiguredFetchDefaultLanguage();\n\t}\n\n\treturn fetchDefaultLanguage;\n};\n\nexport {\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n};\n"]}
@@ -0,0 +1,20 @@
1
+ type NoConflictData = boolean | {
2
+ events: Array<string>;
3
+ };
4
+ /**
5
+ * Returns if the "noConflict" configuration is set.
6
+ * @public
7
+ * @returns { NoConflictData }
8
+ */
9
+ declare const getNoConflict: () => NoConflictData;
10
+ /**
11
+ * Sets the "noConflict" mode.
12
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
13
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
14
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
15
+ * @public
16
+ * @param { NoConflictData } noConflictData
17
+ */
18
+ declare const setNoConflict: (noConflictData: NoConflictData) => void;
19
+ declare const skipOriginalEvent: (eventName: string) => boolean;
20
+ export { getNoConflict, setNoConflict, skipOriginalEvent, };
@@ -1,44 +1,55 @@
1
1
  import { getNoConflict as getConfiguredNoConflict } from "../InitialConfiguration.js";
2
-
2
+ import { attachConfigurationReset } from "./ConfigurationReset.js";
3
3
  // Fire these events even with noConflict: true
4
4
  const excludeList = [
5
- "value-changed",
5
+ "value-changed",
6
+ "click",
6
7
  ];
7
-
8
- const shouldFireOriginalEvent = eventName => {
9
- return excludeList.includes(eventName);
8
+ let noConflict;
9
+ attachConfigurationReset(() => {
10
+ noConflict = undefined;
11
+ });
12
+ const shouldFireOriginalEvent = (eventName) => {
13
+ return excludeList.includes(eventName);
10
14
  };
11
-
12
- let noConflict = getConfiguredNoConflict();
13
-
14
- const shouldNotFireOriginalEvent = eventName => {
15
- return !(noConflict.events && noConflict.events.includes && noConflict.events.includes(eventName));
15
+ const shouldNotFireOriginalEvent = (eventName) => {
16
+ const nc = getNoConflict();
17
+ // return !(nc.events && nc.events.includes && nc.events.includes(eventName));
18
+ return !(typeof nc !== "boolean" && nc.events && nc.events.includes && nc.events.includes(eventName));
16
19
  };
17
-
20
+ /**
21
+ * Returns if the "noConflict" configuration is set.
22
+ * @public
23
+ * @returns { NoConflictData }
24
+ */
18
25
  const getNoConflict = () => {
19
- return noConflict;
26
+ if (noConflict === undefined) {
27
+ noConflict = getConfiguredNoConflict();
28
+ }
29
+ return noConflict;
20
30
  };
21
-
22
- const skipOriginalEvent = eventName => {
23
- // Always fire these events
24
- if (shouldFireOriginalEvent(eventName)) {
25
- return false;
26
- }
27
-
28
- // Read from the configuration
29
- if (noConflict === true) {
30
- return true;
31
- }
32
-
33
- return !shouldNotFireOriginalEvent(eventName);
31
+ /**
32
+ * Sets the "noConflict" mode.
33
+ * - When "false" (default value), all custom events are fired with and without the "ui5-" prefix.
34
+ * - When "true", all custom events are fired with the "ui5-" prefix only.
35
+ * - When an object is supplied, just the specified events will be fired with the "ui5-" prefix.
36
+ * @public
37
+ * @param { NoConflictData } noConflictData
38
+ */
39
+ const setNoConflict = (noConflictData) => {
40
+ noConflict = noConflictData;
34
41
  };
35
-
36
- const setNoConflict = noConflictData => {
37
- noConflict = noConflictData;
38
- };
39
-
40
- export {
41
- getNoConflict,
42
- setNoConflict,
43
- skipOriginalEvent,
42
+ const skipOriginalEvent = (eventName) => {
43
+ const nc = getNoConflict();
44
+ // Always fire these events
45
+ if (shouldFireOriginalEvent(eventName)) {
46
+ return false;
47
+ }
48
+ // Read from the configuration
49
+ if (nc === true) {
50
+ return true;
51
+ }
52
+ return !shouldNotFireOriginalEvent(eventName);
44
53
  };
54
+ export { getNoConflict, setNoConflict, skipOriginalEvent, };
55
+ //# sourceMappingURL=NoConflict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoConflict.js","sourceRoot":"","sources":["../../src/config/NoConflict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,+CAA+C;AAC/C,MAAM,WAAW,GAAG;IACnB,eAAe;IACf,OAAO;CACP,CAAC;AAIF,IAAI,UAAsC,CAAC;AAE3C,wBAAwB,CAAC,GAAG,EAAE;IAC7B,UAAU,GAAG,SAAS,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,SAAiB,EAAE,EAAE;IACxD,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,GAAmB,EAAE;IAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,UAAU,GAAG,uBAAuB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,CAAC,cAA8B,EAAE,EAAE;IACxD,UAAU,GAAG,cAAc,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,8BAA8B;IAC9B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,OAAO,EACN,aAAa,EACb,aAAa,EACb,iBAAiB,GACjB,CAAC","sourcesContent":["import { getNoConflict as getConfiguredNoConflict } from \"../InitialConfiguration.js\";\nimport { attachConfigurationReset } from \"./ConfigurationReset.js\";\n\n// Fire these events even with noConflict: true\nconst excludeList = [\n\t\"value-changed\",\n\t\"click\",\n];\n\ntype NoConflictData = boolean | { events: Array<string>};\n\nlet noConflict: NoConflictData | undefined;\n\nattachConfigurationReset(() => {\n\tnoConflict = undefined;\n});\n\nconst shouldFireOriginalEvent = (eventName: string) => {\n\treturn excludeList.includes(eventName);\n};\n\nconst shouldNotFireOriginalEvent = (eventName: string) => {\n\tconst nc = getNoConflict();\n\t// return !(nc.events && nc.events.includes && nc.events.includes(eventName));\n\treturn !(typeof nc !== \"boolean\" && nc.events && nc.events.includes && nc.events.includes(eventName));\n};\n\n/**\n * Returns if the \"noConflict\" configuration is set.\n * @public\n * @returns { NoConflictData }\n */\nconst getNoConflict = (): NoConflictData => {\n\tif (noConflict === undefined) {\n\t\tnoConflict = getConfiguredNoConflict();\n\t}\n\n\treturn noConflict;\n};\n\n/**\n * Sets the \"noConflict\" mode.\n * - When \"false\" (default value), all custom events are fired with and without the \"ui5-\" prefix.\n * - When \"true\", all custom events are fired with the \"ui5-\" prefix only.\n * - When an object is supplied, just the specified events will be fired with the \"ui5-\" prefix.\n * @public\n * @param { NoConflictData } noConflictData\n */\nconst setNoConflict = (noConflictData: NoConflictData) => {\n\tnoConflict = noConflictData;\n};\n\nconst skipOriginalEvent = (eventName: string) => {\n\tconst nc = getNoConflict();\n\n\t// Always fire these events\n\tif (shouldFireOriginalEvent(eventName)) {\n\t\treturn false;\n\t}\n\n\t// Read from the configuration\n\tif (nc === true) {\n\t\treturn true;\n\t}\n\n\treturn !shouldNotFireOriginalEvent(eventName);\n};\n\nexport {\n\tgetNoConflict,\n\tsetNoConflict,\n\tskipOriginalEvent,\n};\n"]}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Returns the current theme.
3
+ * @public
4
+ * @returns {string} the current theme name
5
+ */
6
+ declare const getTheme: () => string;
7
+ /**
8
+ * Applies a new theme after fetching its assets from the network.
9
+ * @public
10
+ * @param {string} theme the name of the new theme
11
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
12
+ */
13
+ declare const setTheme: (theme: string) => Promise<void>;
14
+ /**
15
+ * Returns the default theme.
16
+ *
17
+ * Note: Default theme might be different than the configurated one.
18
+ *
19
+ * @public
20
+ * @returns {string}
21
+ */
22
+ declare const getDefaultTheme: () => string;
23
+ /**
24
+ * Returns if the given theme name is the one currently applied.
25
+ * @private
26
+ * @param {string} theme
27
+ * @returns {boolean}
28
+ */
29
+ declare const isTheme: (theme: string) => boolean;
30
+ /**
31
+ * Returns if the currently set theme is part of legacy theme families ("sap_fiori_3").
32
+ * **Note**: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
33
+ *
34
+ * @private
35
+ * @returns { boolean }
36
+ */
37
+ declare const isLegacyThemeFamily: () => boolean;
38
+ declare const isLegacyThemeFamilyAsync: () => Promise<boolean>;
39
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, isLegacyThemeFamilyAsync, getDefaultTheme, };
@@ -1,24 +1,80 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
- import { _applyTheme } from "../Theming.js";
3
-
4
- let theme = getConfiguredTheme();
5
-
2
+ import { reRenderAllUI5Elements } from "../Render.js";
3
+ import applyTheme from "../theming/applyTheme.js";
4
+ import getThemeDesignerTheme from "../theming/getThemeDesignerTheme.js";
5
+ import { DEFAULT_THEME, SUPPORTED_THEMES } from "../generated/AssetParameters.js";
6
+ import { boot, isBooted } from "../Boot.js";
7
+ import { attachConfigurationReset } from "./ConfigurationReset.js";
8
+ let curTheme;
9
+ attachConfigurationReset(() => {
10
+ curTheme = undefined;
11
+ });
12
+ /**
13
+ * Returns the current theme.
14
+ * @public
15
+ * @returns {string} the current theme name
16
+ */
6
17
  const getTheme = () => {
7
- return theme;
18
+ if (curTheme === undefined) {
19
+ curTheme = getConfiguredTheme();
20
+ }
21
+ return curTheme;
8
22
  };
9
-
10
- const setTheme = async newTheme => {
11
- if (theme === newTheme) {
12
- return;
13
- }
14
-
15
- theme = newTheme;
16
-
17
- // Update CSS Custom Properties
18
- await _applyTheme(theme);
23
+ /**
24
+ * Applies a new theme after fetching its assets from the network.
25
+ * @public
26
+ * @param {string} theme the name of the new theme
27
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
28
+ */
29
+ const setTheme = async (theme) => {
30
+ if (curTheme === theme) {
31
+ return;
32
+ }
33
+ curTheme = theme;
34
+ if (isBooted()) {
35
+ // Update CSS Custom Properties
36
+ await applyTheme(curTheme);
37
+ await reRenderAllUI5Elements({ themeAware: true });
38
+ }
19
39
  };
20
-
21
- export {
22
- getTheme,
23
- setTheme,
40
+ /**
41
+ * Returns the default theme.
42
+ *
43
+ * Note: Default theme might be different than the configurated one.
44
+ *
45
+ * @public
46
+ * @returns {string}
47
+ */
48
+ const getDefaultTheme = () => {
49
+ return DEFAULT_THEME;
24
50
  };
51
+ /**
52
+ * Returns if the given theme name is the one currently applied.
53
+ * @private
54
+ * @param {string} theme
55
+ * @returns {boolean}
56
+ */
57
+ const isTheme = (theme) => {
58
+ return getTheme() === theme;
59
+ };
60
+ /**
61
+ * Returns if the currently set theme is part of legacy theme families ("sap_fiori_3").
62
+ * **Note**: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
63
+ *
64
+ * @private
65
+ * @returns { boolean }
66
+ */
67
+ const isLegacyThemeFamily = () => {
68
+ const currentTheme = getTheme();
69
+ if (!isKnownTheme(currentTheme)) {
70
+ return !getThemeDesignerTheme()?.baseThemeName?.startsWith("sap_horizon");
71
+ }
72
+ return !currentTheme.startsWith("sap_horizon");
73
+ };
74
+ const isLegacyThemeFamilyAsync = async () => {
75
+ await boot();
76
+ return isLegacyThemeFamily();
77
+ };
78
+ const isKnownTheme = (theme) => SUPPORTED_THEMES.includes(theme);
79
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, isLegacyThemeFamilyAsync, getDefaultTheme, };
80
+ //# sourceMappingURL=Theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../src/config/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,IAAI,QAA4B,CAAC;AAEjC,wBAAwB,CAAC,GAAG,EAAE;IAC7B,QAAQ,GAAG,SAAS,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,QAAQ,GAAG,GAAW,EAAE;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IACvD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO;IACR,CAAC;IAED,QAAQ,GAAG,KAAK,CAAC;IAEjB,IAAI,QAAQ,EAAE,EAAE,CAAC;QAChB,+BAA+B;QAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,GAAW,EAAE;IACpC,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IACjC,OAAO,QAAQ,EAAE,KAAK,KAAK,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAEhC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,qBAAqB,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC3C,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,mBAAmB,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEzE,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,GACf,CAAC","sourcesContent":["import { getTheme as getConfiguredTheme } from \"../InitialConfiguration.js\";\nimport { reRenderAllUI5Elements } from \"../Render.js\";\nimport applyTheme from \"../theming/applyTheme.js\";\nimport getThemeDesignerTheme from \"../theming/getThemeDesignerTheme.js\";\nimport { DEFAULT_THEME, SUPPORTED_THEMES } from \"../generated/AssetParameters.js\";\nimport { boot, isBooted } from \"../Boot.js\";\nimport { attachConfigurationReset } from \"./ConfigurationReset.js\";\n\nlet curTheme: string | undefined;\n\nattachConfigurationReset(() => {\n\tcurTheme = undefined;\n});\n\n/**\n * Returns the current theme.\n * @public\n * @returns {string} the current theme name\n */\nconst getTheme = (): string => {\n\tif (curTheme === undefined) {\n\t\tcurTheme = getConfiguredTheme();\n\t}\n\n\treturn curTheme;\n};\n\n/**\n * Applies a new theme after fetching its assets from the network.\n * @public\n * @param {string} theme the name of the new theme\n * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM\n */\nconst setTheme = async (theme: string): Promise<void> => {\n\tif (curTheme === theme) {\n\t\treturn;\n\t}\n\n\tcurTheme = theme;\n\n\tif (isBooted()) {\n\t\t// Update CSS Custom Properties\n\t\tawait applyTheme(curTheme);\n\t\tawait reRenderAllUI5Elements({ themeAware: true });\n\t}\n};\n\n/**\n * Returns the default theme.\n *\n * Note: Default theme might be different than the configurated one.\n *\n * @public\n * @returns {string}\n */\nconst getDefaultTheme = (): string => {\n\treturn DEFAULT_THEME;\n};\n\n/**\n * Returns if the given theme name is the one currently applied.\n * @private\n * @param {string} theme\n * @returns {boolean}\n */\nconst isTheme = (theme: string) => {\n\treturn getTheme() === theme;\n};\n\n/**\n * Returns if the currently set theme is part of legacy theme families (\"sap_fiori_3\").\n * **Note**: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.\n *\n * @private\n * @returns { boolean }\n */\nconst isLegacyThemeFamily = () => {\n\tconst currentTheme = getTheme();\n\n\tif (!isKnownTheme(currentTheme)) {\n\t\treturn !getThemeDesignerTheme()?.baseThemeName?.startsWith(\"sap_horizon\");\n\t}\n\n\treturn !currentTheme.startsWith(\"sap_horizon\");\n};\n\nconst isLegacyThemeFamilyAsync = async () => {\n\tawait boot();\n\treturn isLegacyThemeFamily();\n};\n\nconst isKnownTheme = (theme: string) => SUPPORTED_THEMES.includes(theme);\n\nexport {\n\tgetTheme,\n\tsetTheme,\n\tisTheme,\n\tisLegacyThemeFamily,\n\tisLegacyThemeFamilyAsync,\n\tgetDefaultTheme,\n};\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Returns the current theme root.
3
+ *
4
+ * @public
5
+ * @since 1.14.0
6
+ * @returns { string } the current theme root
7
+ */
8
+ declare const getThemeRoot: () => string | undefined;
9
+ /**
10
+ * Sets theme root for the current theme.
11
+ * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.
12
+ *
13
+ * **Note:** The feature is specific to custom themes, created with the `UI Theme Designer`.
14
+ * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.
15
+ *
16
+ * **Note:** Certain security restrictions will apply before fetching the theme assets.
17
+ * Absolute URLs to a different origin than the current page will result in using the current page as an origin.
18
+ * To allow specific origins, use &lt;meta name="sap-allowedThemeOrigins" content="https://my-example-host.com/"&gt; tag inside the &lt;head&gt; of the page.
19
+ *
20
+ * @public
21
+ * @since 1.14.0
22
+ * @param { string } themeRoot the new theme root
23
+ * @returns { Promise<void> }
24
+ */
25
+ declare const setThemeRoot: (themeRoot: string) => Promise<void> | undefined;
26
+ declare const attachCustomThemeStylesToHead: (theme: string) => Promise<void>;
27
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
@@ -0,0 +1,61 @@
1
+ import createLinkInHead from "../util/createLinkInHead.js";
2
+ import validateThemeRoot from "../validateThemeRoot.js";
3
+ import { getThemeRoot as getConfiguredThemeRoot } from "../InitialConfiguration.js";
4
+ import { getTheme } from "./Theme.js";
5
+ import { attachConfigurationReset } from "./ConfigurationReset.js";
6
+ let currThemeRoot;
7
+ attachConfigurationReset(() => {
8
+ currThemeRoot = undefined;
9
+ });
10
+ /**
11
+ * Returns the current theme root.
12
+ *
13
+ * @public
14
+ * @since 1.14.0
15
+ * @returns { string } the current theme root
16
+ */
17
+ const getThemeRoot = () => {
18
+ if (currThemeRoot === undefined) {
19
+ currThemeRoot = getConfiguredThemeRoot();
20
+ }
21
+ return currThemeRoot;
22
+ };
23
+ /**
24
+ * Sets theme root for the current theme.
25
+ * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.
26
+ *
27
+ * **Note:** The feature is specific to custom themes, created with the `UI Theme Designer`.
28
+ * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.
29
+ *
30
+ * **Note:** Certain security restrictions will apply before fetching the theme assets.
31
+ * Absolute URLs to a different origin than the current page will result in using the current page as an origin.
32
+ * To allow specific origins, use &lt;meta name="sap-allowedThemeOrigins" content="https://my-example-host.com/"&gt; tag inside the &lt;head&gt; of the page.
33
+ *
34
+ * @public
35
+ * @since 1.14.0
36
+ * @param { string } themeRoot the new theme root
37
+ * @returns { Promise<void> }
38
+ */
39
+ const setThemeRoot = (themeRoot) => {
40
+ if (currThemeRoot === themeRoot) {
41
+ return;
42
+ }
43
+ currThemeRoot = themeRoot;
44
+ if (!validateThemeRoot(themeRoot)) {
45
+ console.warn(`The ${themeRoot} is not valid. Check the allowed origins as suggested in the "setThemeRoot" description.`); // eslint-disable-line
46
+ return;
47
+ }
48
+ return attachCustomThemeStylesToHead(getTheme());
49
+ };
50
+ const formatThemeLink = (theme) => {
51
+ return `${getThemeRoot()}Base/baseLib/${theme}/css_variables.css`; // theme root is always set at this point.
52
+ };
53
+ const attachCustomThemeStylesToHead = async (theme) => {
54
+ const link = document.querySelector(`[sap-ui-webcomponents-theme="${theme}"]`);
55
+ if (link) {
56
+ document.head.removeChild(link);
57
+ }
58
+ await createLinkInHead(formatThemeLink(theme), { "sap-ui-webcomponents-theme": theme });
59
+ };
60
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
61
+ //# sourceMappingURL=ThemeRoot.js.map