@ui5/webcomponents-base 0.0.0-20acae2ee → 0.0.0-20ff83d14

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 (675) hide show
  1. package/.eslintignore +10 -4
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1297 -0
  4. package/README.md +58 -7
  5. package/bundle.esm.js +27 -15
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/AssetRegistry.d.ts +5 -0
  9. package/dist/AssetRegistry.js +3 -8
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +10 -0
  12. package/dist/Boot.js +59 -28
  13. package/dist/Boot.js.map +1 -0
  14. package/dist/CSP.d.ts +33 -0
  15. package/dist/CSP.js +54 -0
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +69 -30
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -108
  22. package/dist/CustomElementsScope.js.map +1 -0
  23. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  24. package/dist/CustomElementsScopeUtils.js +102 -0
  25. package/dist/CustomElementsScopeUtils.js.map +1 -0
  26. package/dist/DOMObserver.d.ts +11 -0
  27. package/dist/DOMObserver.js +12 -54
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +159 -84
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -88
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +12 -0
  36. package/dist/FeaturesRegistry.js +41 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +17 -110
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +25 -0
  42. package/dist/IgnoreCustomElements.js +37 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +27 -0
  45. package/dist/InitialConfiguration.js +123 -115
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +175 -227
  49. package/dist/Keys.js.map +1 -0
  50. package/dist/ManagedStyles.d.ts +9 -0
  51. package/dist/ManagedStyles.js +157 -0
  52. package/dist/ManagedStyles.js.map +1 -0
  53. package/dist/MarkedEvents.d.ts +9 -0
  54. package/dist/MarkedEvents.js +15 -0
  55. package/dist/MarkedEvents.js.map +1 -0
  56. package/dist/MediaRange.d.ts +31 -0
  57. package/dist/MediaRange.js +62 -83
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +72 -82
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +82 -112
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +52 -62
  67. package/dist/RenderQueue.js.map +1 -0
  68. package/dist/Runtimes.d.ts +27 -0
  69. package/dist/Runtimes.js +86 -0
  70. package/dist/Runtimes.js.map +1 -0
  71. package/dist/StaticArea.d.ts +3 -0
  72. package/dist/StaticArea.js +5 -1
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +35 -0
  75. package/dist/StaticAreaItem.js +89 -85
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +6 -28
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  81. package/dist/Theming.js +1 -1
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +390 -0
  84. package/dist/UI5Element.js +993 -998
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +149 -0
  87. package/dist/UI5ElementMetadata.js +288 -299
  88. package/dist/UI5ElementMetadata.js.map +1 -0
  89. package/dist/animations/AnimationQueue.d.ts +8 -0
  90. package/dist/animations/AnimationQueue.js +31 -38
  91. package/dist/animations/AnimationQueue.js.map +1 -0
  92. package/dist/animations/animate.d.ts +14 -0
  93. package/dist/animations/animate.js +46 -51
  94. package/dist/animations/animate.js.map +1 -0
  95. package/dist/animations/scroll.d.ts +5 -0
  96. package/dist/animations/scroll.js +18 -27
  97. package/dist/animations/scroll.js.map +1 -0
  98. package/dist/animations/slideDown.d.ts +5 -0
  99. package/dist/animations/slideDown.js +53 -78
  100. package/dist/animations/slideDown.js.map +1 -0
  101. package/dist/animations/slideUp.d.ts +5 -0
  102. package/dist/animations/slideUp.js +49 -70
  103. package/dist/animations/slideUp.js.map +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -102
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +19 -0
  108. package/dist/asset-registries/Illustrations.js +77 -0
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -118
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +12 -0
  114. package/dist/asset-registries/Themes.js +57 -67
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +64 -83
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/config/AnimationMode.d.ts +14 -0
  129. package/dist/config/AnimationMode.js +21 -18
  130. package/dist/config/AnimationMode.js.map +1 -0
  131. package/dist/config/CalendarType.d.ts +15 -0
  132. package/dist/config/CalendarType.js +31 -14
  133. package/dist/config/CalendarType.js.map +1 -0
  134. package/dist/config/FormatSettings.d.ts +15 -0
  135. package/dist/config/FormatSettings.js +15 -9
  136. package/dist/config/FormatSettings.js.map +1 -0
  137. package/dist/config/Icons.d.ts +40 -0
  138. package/dist/config/Icons.js +44 -0
  139. package/dist/config/Icons.js.map +1 -0
  140. package/dist/config/Language.d.ts +40 -0
  141. package/dist/config/Language.js +47 -44
  142. package/dist/config/Language.js.map +1 -0
  143. package/dist/config/NoConflict.d.ts +20 -0
  144. package/dist/config/NoConflict.js +41 -41
  145. package/dist/config/NoConflict.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +67 -22
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +27 -0
  150. package/dist/config/ThemeRoot.js +57 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/connectToComponent.d.ts +9 -0
  156. package/dist/connectToComponent.js +59 -0
  157. package/dist/connectToComponent.js.map +1 -0
  158. package/dist/css/BusyIndicator.css +80 -0
  159. package/dist/css/FontFace.css +96 -0
  160. package/dist/css/OverrideFontFace.css +32 -0
  161. package/dist/css/SystemCSSVars.css +9 -0
  162. package/dist/custom-elements-internal.json +2863 -0
  163. package/dist/custom-elements.json +2593 -0
  164. package/dist/decorators/customElement.d.ts +24 -0
  165. package/dist/decorators/customElement.js +39 -0
  166. package/dist/decorators/customElement.js.map +1 -0
  167. package/dist/decorators/event.d.ts +13 -0
  168. package/dist/decorators/event.js +24 -0
  169. package/dist/decorators/event.js.map +1 -0
  170. package/dist/decorators/property.d.ts +9 -0
  171. package/dist/decorators/property.js +24 -0
  172. package/dist/decorators/property.js.map +1 -0
  173. package/dist/decorators/slot.d.ts +9 -0
  174. package/dist/decorators/slot.js +37 -0
  175. package/dist/decorators/slot.js.map +1 -0
  176. package/dist/decorators.d.ts +5 -0
  177. package/dist/decorators.js +6 -0
  178. package/dist/decorators.js.map +1 -0
  179. package/dist/delegate/ItemNavigation.d.ts +114 -0
  180. package/dist/delegate/ItemNavigation.js +283 -253
  181. package/dist/delegate/ItemNavigation.js.map +1 -0
  182. package/dist/delegate/ResizeHandler.d.ts +23 -0
  183. package/dist/delegate/ResizeHandler.js +70 -91
  184. package/dist/delegate/ResizeHandler.js.map +1 -0
  185. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  186. package/dist/delegate/ScrollEnablement.js +157 -174
  187. package/dist/delegate/ScrollEnablement.js.map +1 -0
  188. package/dist/features/F6Navigation.d.ts +19 -0
  189. package/dist/features/F6Navigation.js +151 -0
  190. package/dist/features/F6Navigation.js.map +1 -0
  191. package/dist/features/LegacyDateFormats.d.ts +18 -0
  192. package/dist/features/LegacyDateFormats.js +20 -0
  193. package/dist/features/LegacyDateFormats.js.map +1 -0
  194. package/dist/features/OpenUI5Element.d.ts +9 -0
  195. package/dist/features/OpenUI5Element.js +5 -0
  196. package/dist/features/OpenUI5Element.js.map +1 -0
  197. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  198. package/dist/features/OpenUI5Enablement.js +96 -0
  199. package/dist/features/OpenUI5Enablement.js.map +1 -0
  200. package/dist/features/OpenUI5Support.d.ts +36 -0
  201. package/dist/features/OpenUI5Support.js +156 -121
  202. package/dist/features/OpenUI5Support.js.map +1 -0
  203. package/dist/features/patchPopup.d.ts +10 -0
  204. package/dist/features/patchPopup.js +15 -0
  205. package/dist/features/patchPopup.js.map +1 -0
  206. package/dist/generated/AssetParameters.d.ts +6 -0
  207. package/dist/generated/AssetParameters.js +4 -9
  208. package/dist/generated/AssetParameters.js.map +1 -0
  209. package/dist/generated/VersionInfo.d.ts +10 -0
  210. package/dist/generated/VersionInfo.js +11 -0
  211. package/dist/generated/VersionInfo.js.map +1 -0
  212. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  213. package/dist/generated/css/BusyIndicator.css.js +7 -0
  214. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  215. package/dist/generated/css/FontFace.css.d.ts +3 -0
  216. package/dist/generated/css/FontFace.css.js +7 -0
  217. package/dist/generated/css/FontFace.css.js.map +1 -0
  218. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  219. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  220. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  221. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  222. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  223. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  224. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  225. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  226. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  227. package/dist/getSharedResource.d.ts +11 -0
  228. package/dist/getSharedResource.js +28 -18
  229. package/dist/getSharedResource.js.map +1 -0
  230. package/dist/global.d.ts +40 -0
  231. package/dist/i18nBundle.d.ts +41 -0
  232. package/dist/i18nBundle.js +65 -44
  233. package/dist/i18nBundle.js.map +1 -0
  234. package/dist/locale/Locale.d.ts +22 -0
  235. package/dist/locale/Locale.js +75 -87
  236. package/dist/locale/Locale.js.map +1 -0
  237. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  238. package/dist/locale/RTLAwareRegistry.js +6 -11
  239. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  240. package/dist/locale/applyDirection.d.ts +11 -0
  241. package/dist/locale/applyDirection.js +8 -7
  242. package/dist/locale/applyDirection.js.map +1 -0
  243. package/dist/locale/directionChange.d.ts +15 -0
  244. package/dist/locale/directionChange.js +7 -15
  245. package/dist/locale/directionChange.js.map +1 -0
  246. package/dist/locale/getEffectiveDir.d.ts +2 -0
  247. package/dist/locale/getEffectiveDir.js +6 -26
  248. package/dist/locale/getEffectiveDir.js.map +1 -0
  249. package/dist/locale/getLocale.d.ts +7 -0
  250. package/dist/locale/getLocale.js +26 -29
  251. package/dist/locale/getLocale.js.map +1 -0
  252. package/dist/locale/languageChange.d.ts +5 -0
  253. package/dist/locale/languageChange.js +8 -16
  254. package/dist/locale/languageChange.js.map +1 -0
  255. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  256. package/dist/locale/nextFallbackLocale.js +15 -19
  257. package/dist/locale/nextFallbackLocale.js.map +1 -0
  258. package/dist/locale/normalizeLocale.d.ts +7 -0
  259. package/dist/locale/normalizeLocale.js +34 -41
  260. package/dist/locale/normalizeLocale.js.map +1 -0
  261. package/dist/renderer/LitRenderer.d.ts +14 -0
  262. package/dist/renderer/LitRenderer.js +34 -24
  263. package/dist/renderer/LitRenderer.js.map +1 -0
  264. package/dist/renderer/directives/style-map.d.ts +13 -0
  265. package/dist/renderer/directives/style-map.js +72 -0
  266. package/dist/renderer/directives/style-map.js.map +1 -0
  267. package/dist/renderer/executeTemplate.d.ts +13 -0
  268. package/dist/renderer/executeTemplate.js +20 -7
  269. package/dist/renderer/executeTemplate.js.map +1 -0
  270. package/dist/sap/base/Log.js +750 -0
  271. package/dist/sap/base/assert.js +34 -0
  272. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  273. package/dist/sap/base/security/URLListValidator.js +406 -0
  274. package/dist/sap/base/security/encodeCSS.js +40 -0
  275. package/dist/sap/base/security/encodeXML.js +53 -0
  276. package/dist/sap/base/security/sanitizeHTML.js +38 -0
  277. package/dist/sap/base/strings/toHex.js +33 -0
  278. package/dist/sap/base/util/now.js +28 -0
  279. package/dist/sap/base/util/uid.js +27 -0
  280. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  281. package/dist/ssr-dom-shim.d.ts +1 -0
  282. package/dist/ssr-dom-shim.js +12 -0
  283. package/dist/ssr-dom-shim.js.map +1 -0
  284. package/dist/ssr-dom.d.ts +0 -0
  285. package/dist/ssr-dom.js +3 -0
  286. package/dist/ssr-dom.js.map +1 -0
  287. package/dist/theming/CustomStyle.d.ts +6 -0
  288. package/dist/theming/CustomStyle.js +39 -31
  289. package/dist/theming/CustomStyle.js.map +1 -0
  290. package/dist/theming/ThemeLoaded.d.ts +5 -0
  291. package/dist/theming/ThemeLoaded.js +8 -16
  292. package/dist/theming/ThemeLoaded.js.map +1 -0
  293. package/dist/theming/ThemeRegistered.d.ts +4 -0
  294. package/dist/theming/ThemeRegistered.js +11 -0
  295. package/dist/theming/ThemeRegistered.js.map +1 -0
  296. package/dist/theming/applyTheme.d.ts +2 -0
  297. package/dist/theming/applyTheme.js +63 -65
  298. package/dist/theming/applyTheme.js.map +1 -0
  299. package/dist/theming/getConstructableStyle.d.ts +9 -0
  300. package/dist/theming/getConstructableStyle.js +12 -17
  301. package/dist/theming/getConstructableStyle.js.map +1 -0
  302. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  303. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  304. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  305. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  306. package/dist/theming/getEffectiveStyle.js +25 -23
  307. package/dist/theming/getEffectiveStyle.js.map +1 -0
  308. package/dist/theming/getStylesString.d.ts +3 -0
  309. package/dist/theming/getStylesString.js +9 -11
  310. package/dist/theming/getStylesString.js.map +1 -0
  311. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  312. package/dist/theming/getThemeDesignerTheme.js +73 -60
  313. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  314. package/dist/theming/preloadLinks.d.ts +3 -0
  315. package/dist/theming/preloadLinks.js +19 -0
  316. package/dist/theming/preloadLinks.js.map +1 -0
  317. package/dist/thirdparty/_merge.d.ts +2 -0
  318. package/dist/thirdparty/_merge.js +7 -4
  319. package/dist/thirdparty/_merge.js.map +1 -0
  320. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  321. package/dist/thirdparty/isPlainObject.js +11 -10
  322. package/dist/thirdparty/isPlainObject.js.map +1 -0
  323. package/dist/thirdparty/merge.d.ts +2 -0
  324. package/dist/thirdparty/merge.js +4 -8
  325. package/dist/thirdparty/merge.js.map +1 -0
  326. package/dist/types/AnimationMode.d.ts +24 -0
  327. package/dist/types/AnimationMode.js +25 -6
  328. package/dist/types/AnimationMode.js.map +1 -0
  329. package/dist/types/CSSColor.d.ts +11 -0
  330. package/dist/types/CSSColor.js +10 -5
  331. package/dist/types/CSSColor.js.map +1 -0
  332. package/dist/types/CSSSize.d.ts +11 -0
  333. package/dist/types/CSSSize.js +10 -5
  334. package/dist/types/CSSSize.js.map +1 -0
  335. package/dist/types/CalendarType.d.ts +28 -0
  336. package/dist/types/CalendarType.js +26 -18
  337. package/dist/types/CalendarType.js.map +1 -0
  338. package/dist/types/DOMReference.d.ts +13 -0
  339. package/dist/types/DOMReference.js +21 -0
  340. package/dist/types/DOMReference.js.map +1 -0
  341. package/dist/types/DataType.d.ts +20 -0
  342. package/dist/types/DataType.js +31 -17
  343. package/dist/types/DataType.js.map +1 -0
  344. package/dist/types/Float.d.ts +14 -0
  345. package/dist/types/Float.js +14 -6
  346. package/dist/types/Float.js.map +1 -0
  347. package/dist/types/Integer.d.ts +14 -0
  348. package/dist/types/Integer.js +14 -5
  349. package/dist/types/Integer.js.map +1 -0
  350. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  351. package/dist/types/InvisibleMessageMode.js +20 -0
  352. package/dist/types/InvisibleMessageMode.js.map +1 -0
  353. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  354. package/dist/types/ItemNavigationBehavior.js +16 -12
  355. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  356. package/dist/types/MovePlacement.d.ts +20 -0
  357. package/dist/types/MovePlacement.js +22 -0
  358. package/dist/types/MovePlacement.js.map +1 -0
  359. package/dist/types/NavigationMode.d.ts +24 -0
  360. package/dist/types/NavigationMode.js +25 -6
  361. package/dist/types/NavigationMode.js.map +1 -0
  362. package/dist/types/Orientation.d.ts +16 -0
  363. package/dist/types/Orientation.js +18 -0
  364. package/dist/types/Orientation.js.map +1 -0
  365. package/dist/types/ValueState.d.ts +28 -0
  366. package/dist/types/ValueState.js +27 -19
  367. package/dist/types/ValueState.js.map +1 -0
  368. package/dist/types.d.ts +28 -0
  369. package/dist/types.js +2 -0
  370. package/dist/types.js.map +1 -0
  371. package/dist/updateShadowRoot.d.ts +8 -0
  372. package/dist/updateShadowRoot.js +32 -16
  373. package/dist/updateShadowRoot.js.map +1 -0
  374. package/dist/util/AriaLabelHelper.d.ts +15 -0
  375. package/dist/util/AriaLabelHelper.js +166 -36
  376. package/dist/util/AriaLabelHelper.js.map +1 -0
  377. package/dist/util/Caret.d.ts +7 -0
  378. package/dist/util/Caret.js +16 -38
  379. package/dist/util/Caret.js.map +1 -0
  380. package/dist/util/ColorConversion.d.ts +30 -0
  381. package/dist/util/ColorConversion.js +320 -348
  382. package/dist/util/ColorConversion.js.map +1 -0
  383. package/dist/util/FetchHelper.d.ts +3 -0
  384. package/dist/util/FetchHelper.js +19 -25
  385. package/dist/util/FetchHelper.js.map +1 -0
  386. package/dist/util/FocusableElements.d.ts +4 -0
  387. package/dist/util/FocusableElements.js +67 -68
  388. package/dist/util/FocusableElements.js.map +1 -0
  389. package/dist/util/HTMLSanitizer.d.ts +3 -0
  390. package/dist/util/HTMLSanitizer.js +6 -0
  391. package/dist/util/HTMLSanitizer.js.map +1 -0
  392. package/dist/util/InvisibleMessage.d.ts +10 -0
  393. package/dist/util/InvisibleMessage.js +56 -0
  394. package/dist/util/InvisibleMessage.js.map +1 -0
  395. package/dist/util/PopupUtils.d.ts +7 -0
  396. package/dist/util/PopupUtils.js +58 -77
  397. package/dist/util/PopupUtils.js.map +1 -0
  398. package/dist/util/SlotsHelper.d.ts +9 -0
  399. package/dist/util/SlotsHelper.js +22 -35
  400. package/dist/util/SlotsHelper.js.map +1 -0
  401. package/dist/util/StringHelper.d.ts +3 -0
  402. package/dist/util/StringHelper.js +17 -20
  403. package/dist/util/StringHelper.js.map +1 -0
  404. package/dist/util/TabbableElements.d.ts +17 -0
  405. package/dist/util/TabbableElements.js +53 -43
  406. package/dist/util/TabbableElements.js.map +1 -0
  407. package/dist/util/arraysAreEqual.d.ts +2 -0
  408. package/dist/util/arraysAreEqual.js +10 -12
  409. package/dist/util/arraysAreEqual.js.map +1 -0
  410. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  411. package/dist/util/clamp.js +3 -2
  412. package/dist/util/clamp.js.map +1 -0
  413. package/dist/util/createLinkInHead.d.ts +7 -0
  414. package/dist/util/createLinkInHead.js +21 -0
  415. package/dist/util/createLinkInHead.js.map +1 -0
  416. package/dist/util/createStyleInHead.d.ts +8 -0
  417. package/dist/util/createStyleInHead.js +11 -11
  418. package/dist/util/createStyleInHead.js.map +1 -0
  419. package/dist/util/debounce.d.ts +2 -0
  420. package/dist/util/debounce.js +6 -8
  421. package/dist/util/debounce.js.map +1 -0
  422. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  423. package/dist/util/detectNavigatorLanguage.js +13 -11
  424. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  425. package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
  426. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  427. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  428. package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
  429. package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
  430. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  431. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  432. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  433. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  434. package/dist/util/escapeRegex.d.ts +8 -0
  435. package/dist/util/escapeRegex.js +11 -0
  436. package/dist/util/escapeRegex.js.map +1 -0
  437. package/dist/util/formatMessage.d.ts +2 -0
  438. package/dist/util/formatMessage.js +15 -19
  439. package/dist/util/formatMessage.js.map +1 -0
  440. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  441. package/dist/util/generateHighlightedMarkup.js +41 -0
  442. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  443. package/dist/util/getActiveElement.d.ts +2 -0
  444. package/dist/util/getActiveElement.js +6 -8
  445. package/dist/util/getActiveElement.js.map +1 -0
  446. package/dist/util/getClassCopy.d.ts +421 -0
  447. package/dist/util/getClassCopy.js +8 -3
  448. package/dist/util/getClassCopy.js.map +1 -0
  449. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  450. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  451. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  452. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  453. package/dist/util/getEffectiveContentDensity.js +2 -3
  454. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  455. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  456. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  457. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  458. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  459. package/dist/util/getFastNavigationGroups.js +51 -0
  460. package/dist/util/getFastNavigationGroups.js.map +1 -0
  461. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  462. package/dist/util/getFileExtension.js +9 -11
  463. package/dist/util/getFileExtension.js.map +1 -0
  464. package/dist/util/getNormalizedTarget.d.ts +7 -0
  465. package/dist/util/getNormalizedTarget.js +14 -0
  466. package/dist/util/getNormalizedTarget.js.map +1 -0
  467. package/dist/util/getParentElement.d.ts +2 -0
  468. package/dist/util/getParentElement.js +5 -0
  469. package/dist/util/getParentElement.js.map +1 -0
  470. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  471. package/dist/util/getSingletonElementInstance.js +17 -11
  472. package/dist/util/getSingletonElementInstance.js.map +1 -0
  473. package/dist/util/isElementClickable.d.ts +2 -0
  474. package/dist/util/isElementClickable.js +16 -0
  475. package/dist/util/isElementClickable.js.map +1 -0
  476. package/dist/util/isElementContainingBlock.d.ts +2 -0
  477. package/dist/util/isElementContainingBlock.js +11 -0
  478. package/dist/util/isElementContainingBlock.js.map +1 -0
  479. package/dist/util/isElementHidden.d.ts +2 -0
  480. package/dist/util/isElementHidden.js +8 -0
  481. package/dist/util/isElementHidden.js.map +1 -0
  482. package/dist/util/isElementInView.d.ts +6 -0
  483. package/dist/util/isElementInView.js +6 -9
  484. package/dist/util/isElementInView.js.map +1 -0
  485. package/dist/util/isElementTabbable.d.ts +9 -0
  486. package/dist/util/isElementTabbable.js +30 -0
  487. package/dist/util/isElementTabbable.js.map +1 -0
  488. package/dist/util/isValidPropertyName.d.ts +8 -0
  489. package/dist/util/isValidPropertyName.js +16 -17
  490. package/dist/util/isValidPropertyName.js.map +1 -0
  491. package/dist/util/whenDOMReady.d.ts +2 -0
  492. package/dist/util/whenDOMReady.js +11 -10
  493. package/dist/util/whenDOMReady.js.map +1 -0
  494. package/dist/util/willShowContent.d.ts +2 -0
  495. package/dist/util/willShowContent.js +7 -0
  496. package/dist/util/willShowContent.js.map +1 -0
  497. package/dist/validateThemeRoot.d.ts +2 -0
  498. package/dist/validateThemeRoot.js +48 -0
  499. package/dist/validateThemeRoot.js.map +1 -0
  500. package/dist/vscode.html-custom-data.json +22 -0
  501. package/index.js +226 -2
  502. package/lib/generate-asset-parameters/index.js +11 -6
  503. package/lib/generate-styles/index.js +31 -0
  504. package/lib/generate-version-info/index.js +32 -0
  505. package/package-scripts.cjs +67 -0
  506. package/package.json +28 -10
  507. package/src/css/BusyIndicator.css +80 -0
  508. package/src/css/FontFace.css +96 -0
  509. package/src/css/OverrideFontFace.css +32 -0
  510. package/src/css/SystemCSSVars.css +9 -0
  511. package/tsconfig.json +20 -0
  512. package/used-modules.txt +14 -0
  513. package/config/rollup.config.js +0 -1
  514. package/config/wdio.conf.js +0 -1
  515. package/dist/RenderScheduler.js +0 -44
  516. package/dist/animations/config.js +0 -5
  517. package/dist/config/AssetsPath.js +0 -17
  518. package/dist/config/RTL.js +0 -31
  519. package/dist/isLegacyBrowser.js +0 -3
  520. package/dist/renderer/ifDefined.js +0 -21
  521. package/dist/renderer/scopeHTML.js +0 -32
  522. package/dist/resources/bundle.esm.js +0 -121
  523. package/dist/resources/bundle.esm.js.map +0 -1
  524. package/dist/test-resources/assets/Themes.js +0 -17
  525. package/dist/test-resources/elements/Child.js +0 -35
  526. package/dist/test-resources/elements/Generic.js +0 -84
  527. package/dist/test-resources/elements/GenericExt.js +0 -26
  528. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  529. package/dist/test-resources/elements/Parent.js +0 -41
  530. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  531. package/dist/test-resources/pages/AllTestElements.html +0 -39
  532. package/dist/test-resources/pages/Configuration.html +0 -18
  533. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  534. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  535. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  536. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  537. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  538. package/dist/test-resources/pages/i18n.html +0 -35
  539. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  540. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  541. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -47
  542. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  543. package/dist/test-resources/specs/StaticArea.spec.js +0 -36
  544. package/dist/test-resources/specs/Theming.spec.js +0 -33
  545. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  546. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  547. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  548. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  549. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  550. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  551. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  552. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  553. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  554. package/dist/types/PopupState.js +0 -37
  555. package/dist/util/encodeCSS.js +0 -24
  556. package/dist/util/findNodeOwner.js +0 -35
  557. package/dist/util/isDescendantOf.js +0 -15
  558. package/dist/util/isNodeClickable.js +0 -19
  559. package/dist/util/isNodeHidden.js +0 -9
  560. package/dist/util/isNodeTabbable.js +0 -28
  561. package/dist/util/setToArray.js +0 -10
  562. package/hash.txt +0 -1
  563. package/package-scripts.js +0 -43
  564. package/src/AssetRegistry.js +0 -11
  565. package/src/Boot.js +0 -43
  566. package/src/CustomElementsRegistry.js +0 -39
  567. package/src/CustomElementsScope.js +0 -108
  568. package/src/DOMObserver.js +0 -65
  569. package/src/Device.js +0 -100
  570. package/src/EventProvider.js +0 -91
  571. package/src/FeaturesRegistry.js +0 -11
  572. package/src/FontFace.js +0 -118
  573. package/src/InitialConfiguration.js +0 -149
  574. package/src/Keys.js +0 -233
  575. package/src/MediaRange.js +0 -109
  576. package/src/PropertiesFileFormat.js +0 -95
  577. package/src/Render.js +0 -173
  578. package/src/RenderQueue.js +0 -66
  579. package/src/RenderScheduler.js +0 -44
  580. package/src/StaticArea.js +0 -3
  581. package/src/StaticAreaItem.js +0 -96
  582. package/src/SystemCSSVars.js +0 -31
  583. package/src/UI5Element.js +0 -1032
  584. package/src/UI5ElementMetadata.js +0 -311
  585. package/src/animations/AnimationQueue.js +0 -42
  586. package/src/animations/animate.js +0 -53
  587. package/src/animations/config.js +0 -5
  588. package/src/animations/scroll.js +0 -28
  589. package/src/animations/slideDown.js +0 -79
  590. package/src/animations/slideUp.js +0 -71
  591. package/src/asset-registries/Icons.js +0 -118
  592. package/src/asset-registries/LocaleData.js +0 -150
  593. package/src/asset-registries/Themes.js +0 -78
  594. package/src/asset-registries/i18n.js +0 -121
  595. package/src/config/AnimationMode.js +0 -23
  596. package/src/config/AssetsPath.js +0 -17
  597. package/src/config/CalendarType.js +0 -18
  598. package/src/config/FormatSettings.js +0 -13
  599. package/src/config/Language.js +0 -68
  600. package/src/config/NoConflict.js +0 -51
  601. package/src/config/RTL.js +0 -31
  602. package/src/config/Theme.js +0 -28
  603. package/src/delegate/ItemNavigation.js +0 -285
  604. package/src/delegate/ResizeHandler.js +0 -106
  605. package/src/delegate/ScrollEnablement.js +0 -182
  606. package/src/features/OpenUI5Support.js +0 -125
  607. package/src/getSharedResource.js +0 -30
  608. package/src/i18nBundle.js +0 -55
  609. package/src/isLegacyBrowser.js +0 -3
  610. package/src/locale/Locale.js +0 -91
  611. package/src/locale/RTLAwareRegistry.js +0 -14
  612. package/src/locale/applyDirection.js +0 -17
  613. package/src/locale/directionChange.js +0 -32
  614. package/src/locale/getEffectiveDir.js +0 -28
  615. package/src/locale/getLocale.js +0 -41
  616. package/src/locale/languageChange.js +0 -22
  617. package/src/locale/nextFallbackLocale.js +0 -28
  618. package/src/locale/normalizeLocale.js +0 -54
  619. package/src/renderer/LitRenderer.js +0 -31
  620. package/src/renderer/executeTemplate.js +0 -17
  621. package/src/renderer/ifDefined.js +0 -21
  622. package/src/renderer/scopeHTML.js +0 -32
  623. package/src/theming/CustomStyle.js +0 -40
  624. package/src/theming/ThemeLoaded.js +0 -22
  625. package/src/theming/applyTheme.js +0 -78
  626. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  627. package/src/theming/getConstructableStyle.js +0 -30
  628. package/src/theming/getEffectiveStyle.js +0 -30
  629. package/src/theming/getStylesString.js +0 -13
  630. package/src/theming/getThemeDesignerTheme.js +0 -67
  631. package/src/thirdparty/_merge.js +0 -32
  632. package/src/thirdparty/isPlainObject.js +0 -18
  633. package/src/thirdparty/merge.js +0 -10
  634. package/src/types/AnimationMode.js +0 -7
  635. package/src/types/CSSColor.js +0 -9
  636. package/src/types/CSSSize.js +0 -9
  637. package/src/types/CalendarType.js +0 -22
  638. package/src/types/DataType.js +0 -25
  639. package/src/types/Float.js +0 -10
  640. package/src/types/Integer.js +0 -9
  641. package/src/types/ItemNavigationBehavior.js +0 -16
  642. package/src/types/NavigationMode.js +0 -7
  643. package/src/types/PopupState.js +0 -37
  644. package/src/types/ValueState.js +0 -22
  645. package/src/updateShadowRoot.js +0 -26
  646. package/src/util/AriaLabelHelper.js +0 -41
  647. package/src/util/Caret.js +0 -45
  648. package/src/util/ColorConversion.js +0 -370
  649. package/src/util/FetchHelper.js +0 -31
  650. package/src/util/FocusableElements.js +0 -73
  651. package/src/util/PopupUtils.js +0 -93
  652. package/src/util/SlotsHelper.js +0 -43
  653. package/src/util/StringHelper.js +0 -26
  654. package/src/util/TabbableElements.js +0 -47
  655. package/src/util/arraysAreEqual.js +0 -15
  656. package/src/util/createStyleInHead.js +0 -18
  657. package/src/util/debounce.js +0 -17
  658. package/src/util/detectNavigatorLanguage.js +0 -13
  659. package/src/util/encodeCSS.js +0 -24
  660. package/src/util/findNodeOwner.js +0 -35
  661. package/src/util/formatMessage.js +0 -23
  662. package/src/util/getActiveElement.js +0 -11
  663. package/src/util/getClassCopy.js +0 -5
  664. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  665. package/src/util/getEffectiveContentDensity.js +0 -5
  666. package/src/util/getSingletonElementInstance.js +0 -13
  667. package/src/util/isDescendantOf.js +0 -15
  668. package/src/util/isElementInView.js +0 -15
  669. package/src/util/isNodeClickable.js +0 -19
  670. package/src/util/isNodeHidden.js +0 -9
  671. package/src/util/isNodeTabbable.js +0 -28
  672. package/src/util/isValidPropertyName.js +0 -29
  673. package/src/util/setToArray.js +0 -10
  674. package/src/util/whenDOMReady.js +0 -13
  675. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
package/dist/FontFace.js CHANGED
@@ -1,118 +1,25 @@
1
- /**
2
- * CSS font face used for the texts provided by SAP.
3
- */
4
- import createStyleInHead from "./util/createStyleInHead.js";
1
+ import { hasStyle, createStyle } from "./ManagedStyles.js";
5
2
  import { getFeature } from "./FeaturesRegistry.js";
6
-
7
- /* CDN Locations */
8
- const font72RegularWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents`;
9
- const font72RegularWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents`;
10
-
11
- const font72RegularFullWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents`;
12
- const font72RegularFullWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents`;
13
-
14
- const font72BoldWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents`;
15
- const font72BoldWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents`;
16
-
17
- const font72BoldFullWoff = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents`;
18
- const font72BoldFullWoff2 = `https://ui5.sap.com/sdk/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents`;
19
-
20
- const fontFaceCSS = `
21
- @font-face {
22
- font-family: "72";
23
- font-style: normal;
24
- font-weight: 400;
25
- src: local("72"),
26
- url(${font72RegularWoff2}) format("woff2"),
27
- url(${font72RegularWoff}) format("woff");
28
- }
29
-
30
- @font-face {
31
- font-family: "72full";
32
- font-style: normal;
33
- font-weight: 400;
34
- src: local('72-full'),
35
- url(${font72RegularFullWoff2}) format("woff2"),
36
- url(${font72RegularFullWoff}) format("woff");
37
-
38
- }
39
-
40
- @font-face {
41
- font-family: "72";
42
- font-style: normal;
43
- font-weight: 700;
44
- src: local('72-Bold'),
45
- url(${font72BoldWoff2}) format("woff2"),
46
- url(${font72BoldWoff}) format("woff");
47
- }
48
-
49
- @font-face {
50
- font-family: "72full";
51
- font-style: normal;
52
- font-weight: 700;
53
- src: local('72-Bold-full'),
54
- url(${font72BoldFullWoff2}) format("woff2"),
55
- url(${font72BoldFullWoff}) format("woff");
56
- }
57
- `;
58
-
59
- /**
60
- * Some diacritics are supported by the 72 font:
61
- * * Grave
62
- * * Acute
63
- * * Circumflex
64
- * * Tilde
65
- *
66
- * However, the following diacritics and the combination of multiple diacritics (including the supported ones) are not supported:
67
- * * Breve
68
- * * Horn
69
- * * Dot below
70
- * * Hook above
71
- *
72
- *
73
- * Override for the characters that aren't covered by the '72' font to other system fonts
74
- *
75
- * U+0102-0103: A and a with Breve
76
- * U+01A0-01A1: O and o with Horn
77
- * U+01AF-01B0: U and u with Horn
78
- * U+1EA0-1EB7: A and a with diacritics that are not supported by the font and combination of multiple diacritics
79
- * U+1EB8-1EC7: E and e with diacritics that are not supported by the font and combination of multiple diacritics
80
- * U+1EC8-1ECB: I and i with diacritics that are not supported by the font and combination of multiple diacritics
81
- * U+1ECC-1EE3: O and o with diacritics that are not supported by the font and combination of multiple diacritics
82
- * U+1EE4-1EF1: U and u with diacritics that are not supported by the font and combination of multiple diacritics
83
- * U+1EF4-1EF7: Y and y with diacritics that are not supported by the font and combination of multiple diacritics
84
- *
85
- */
86
- const overrideFontFaceCSS = `
87
- @font-face {
88
- font-family: '72override';
89
- unicode-range: U+0102-0103, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EB7, U+1EB8-1EC7, U+1EC8-1ECB, U+1ECC-1EE3, U+1EE4-1EF1, U+1EF4-1EF7;
90
- src: local('Arial'), local('Helvetica'), local('sans-serif');
91
- }
92
- `;
93
-
3
+ import fontFaceCSS from "./generated/css/FontFace.css.js";
4
+ import overrideFontFaceCSS from "./generated/css/OverrideFontFace.css.js";
94
5
  const insertFontFace = () => {
95
- const OpenUI5Support = getFeature("OpenUI5Support");
96
-
97
- // Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded
98
- if (!OpenUI5Support || !OpenUI5Support.isLoaded()) {
99
- insertMainFontFace();
100
- }
101
-
102
- // Always set the override font - OpenUI5 in CSS Vars mode does not set it, unlike the main font
103
- insertOverrideFontFace();
6
+ const openUI5Support = getFeature("OpenUI5Support");
7
+ // Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded
8
+ if (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {
9
+ insertMainFontFace();
10
+ }
11
+ // Always set the override font - OpenUI5 in CSS Vars mode does not set it, unlike the main font
12
+ insertOverrideFontFace();
104
13
  };
105
-
106
14
  const insertMainFontFace = () => {
107
- if (!document.querySelector(`head>style[data-ui5-font-face]`)) {
108
- createStyleInHead(fontFaceCSS, { "data-ui5-font-face": "" });
109
- }
15
+ if (!hasStyle("data-ui5-font-face")) {
16
+ createStyle(fontFaceCSS, "data-ui5-font-face");
17
+ }
110
18
  };
111
-
112
19
  const insertOverrideFontFace = () => {
113
- if (!document.querySelector(`head>style[data-ui5-font-face-override]`)) {
114
- createStyleInHead(overrideFontFaceCSS, { "data-ui5-font-face-override": "" });
115
- }
20
+ if (!hasStyle("data-ui5-font-face-override")) {
21
+ createStyle(overrideFontFaceCSS, "data-ui5-font-face-override");
22
+ }
116
23
  };
117
-
118
24
  export default insertFontFace;
25
+ //# sourceMappingURL=FontFace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FontFace.js","sourceRoot":"","sources":["../src/FontFace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAC1D,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAG1E,MAAM,cAAc,GAAG,GAAG,EAAE;IAC3B,MAAM,cAAc,GAAG,UAAU,CAAwB,gBAAgB,CAAC,CAAC;IAE3E,gGAAgG;IAChG,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE;QAC3D,kBAAkB,EAAE,CAAC;KACrB;IAED,gGAAgG;IAChG,sBAAsB,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QACpC,WAAW,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KAC/C;AACF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACnC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;QAC7C,WAAW,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;KAChE;AACF,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { hasStyle, createStyle } from \"./ManagedStyles.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport fontFaceCSS from \"./generated/css/FontFace.css.js\";\nimport overrideFontFaceCSS from \"./generated/css/OverrideFontFace.css.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\n\nconst insertFontFace = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\n\t// Only set the main font if there is no OpenUI5 support, or there is, but OpenUI5 is not loaded\n\tif (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {\n\t\tinsertMainFontFace();\n\t}\n\n\t// Always set the override font - OpenUI5 in CSS Vars mode does not set it, unlike the main font\n\tinsertOverrideFontFace();\n};\n\nconst insertMainFontFace = () => {\n\tif (!hasStyle(\"data-ui5-font-face\")) {\n\t\tcreateStyle(fontFaceCSS, \"data-ui5-font-face\");\n\t}\n};\n\nconst insertOverrideFontFace = () => {\n\tif (!hasStyle(\"data-ui5-font-face-override\")) {\n\t\tcreateStyle(overrideFontFaceCSS, \"data-ui5-font-face-override\");\n\t}\n};\n\nexport default insertFontFace;\n"]}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Ignores all custom HTML elements with a given tag prefix to improve the rendering performance of the UI5 Web Components.
3
+ *
4
+ * **When used:** the UI5 Web Components framework treats all custom HTML elements,
5
+ * starting with the given prefix as if they are standard HTML elements, such as: `div`, `span`, etc, without additional processing.
6
+ *
7
+ * **When not used:** the framework waits for the slotted children to be defined and registered first,
8
+ * because the state or visual appearance of the parent may rely on the slotted elements/children.
9
+ *
10
+ * **Note:** We recommend using `ignoreCustomElements` when slotting custom HTML elements (with only semantic purpose)
11
+ * inside UI5 Web Components, to improve the time to render.
12
+ *
13
+ * @public
14
+ * @since 1.14.0
15
+ * @param { string } tagPrefix
16
+ */
17
+ declare const ignoreCustomElements: (tagPrefix: string) => void;
18
+ /**
19
+ * Determines whether custom elements with the given tag should be ignored.
20
+ *
21
+ * @private
22
+ * @param { string } tag
23
+ */
24
+ declare const shouldIgnoreCustomElement: (tag: string) => boolean;
25
+ export { ignoreCustomElements, shouldIgnoreCustomElement, };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The tag prefixes to be ignored.
3
+ */
4
+ const tagPrefixes = [];
5
+ /**
6
+ * Ignores all custom HTML elements with a given tag prefix to improve the rendering performance of the UI5 Web Components.
7
+ *
8
+ * **When used:** the UI5 Web Components framework treats all custom HTML elements,
9
+ * starting with the given prefix as if they are standard HTML elements, such as: `div`, `span`, etc, without additional processing.
10
+ *
11
+ * **When not used:** the framework waits for the slotted children to be defined and registered first,
12
+ * because the state or visual appearance of the parent may rely on the slotted elements/children.
13
+ *
14
+ * **Note:** We recommend using `ignoreCustomElements` when slotting custom HTML elements (with only semantic purpose)
15
+ * inside UI5 Web Components, to improve the time to render.
16
+ *
17
+ * @public
18
+ * @since 1.14.0
19
+ * @param { string } tagPrefix
20
+ */
21
+ const ignoreCustomElements = (tagPrefix) => {
22
+ if (typeof tagPrefix !== "string" || !tagPrefix.length) {
23
+ throw new Error("Only string characters for a tag prefix.");
24
+ }
25
+ tagPrefixes.push(tagPrefix);
26
+ };
27
+ /**
28
+ * Determines whether custom elements with the given tag should be ignored.
29
+ *
30
+ * @private
31
+ * @param { string } tag
32
+ */
33
+ const shouldIgnoreCustomElement = (tag) => {
34
+ return tagPrefixes.some(pref => tag.startsWith(pref));
35
+ };
36
+ export { ignoreCustomElements, shouldIgnoreCustomElement, };
37
+ //# sourceMappingURL=IgnoreCustomElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IgnoreCustomElements.js","sourceRoot":"","sources":["../src/IgnoreCustomElements.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,GAAkB,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC5D;IAED,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,CAAC,GAAW,EAAW,EAAE;IAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EACN,oBAAoB,EACpB,yBAAyB,GACzB,CAAC","sourcesContent":["/**\n * The tag prefixes to be ignored.\n */\nconst tagPrefixes: Array<string> = [];\n\n/**\n * Ignores all custom HTML elements with a given tag prefix to improve the rendering performance of the UI5 Web Components.\n *\n * **When used:** the UI5 Web Components framework treats all custom HTML elements,\n * starting with the given prefix as if they are standard HTML elements, such as: `div`, `span`, etc, without additional processing.\n *\n * **When not used:** the framework waits for the slotted children to be defined and registered first,\n * because the state or visual appearance of the parent may rely on the slotted elements/children.\n *\n * **Note:** We recommend using `ignoreCustomElements` when slotting custom HTML elements (with only semantic purpose)\n * inside UI5 Web Components, to improve the time to render.\n *\n * @public\n * @since 1.14.0\n * @param { string } tagPrefix\n */\nconst ignoreCustomElements = (tagPrefix: string) => {\n\tif (typeof tagPrefix !== \"string\" || !tagPrefix.length) {\n\t\tthrow new Error(\"Only string characters for a tag prefix.\");\n\t}\n\n\ttagPrefixes.push(tagPrefix);\n};\n\n/**\n * Determines whether custom elements with the given tag should be ignored.\n *\n * @private\n * @param { string } tag\n */\nconst shouldIgnoreCustomElement = (tag: string): boolean => {\n\treturn tagPrefixes.some(pref => tag.startsWith(pref));\n};\n\nexport {\n\tignoreCustomElements,\n\tshouldIgnoreCustomElement,\n};\n"]}
@@ -0,0 +1,27 @@
1
+ import type { FormatSettings } from "./config/FormatSettings.js";
2
+ import AnimationMode from "./types/AnimationMode.js";
3
+ import CalendarType from "./types/CalendarType.js";
4
+ declare const getAnimationMode: () => AnimationMode;
5
+ declare const getTheme: () => string;
6
+ declare const getThemeRoot: () => string | undefined;
7
+ declare const getLanguage: () => string | undefined;
8
+ /**
9
+ * Returns if the default language, that is inlined at build time,
10
+ * should be fetched over the network instead.
11
+ * @returns {Boolean}
12
+ */
13
+ declare const getFetchDefaultLanguage: () => boolean;
14
+ declare const getNoConflict: () => boolean;
15
+ /**
16
+ * Get the configured calendar type
17
+ * @returns { String } the name of the configured calendar type
18
+ */
19
+ declare const getCalendarType: () => CalendarType | undefined;
20
+ declare const getSecondaryCalendarType: () => CalendarType | undefined;
21
+ /**
22
+ * Returns the configured IANA timezone ID.
23
+ * @returns { String } the configured IANA timezone ID, e.g. "America/New_York"
24
+ */
25
+ declare const getTimezone: () => string | undefined;
26
+ declare const getFormatSettings: () => FormatSettings;
27
+ export { getAnimationMode, getTheme, getThemeRoot, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getSecondaryCalendarType, getTimezone, getFormatSettings, };
@@ -1,149 +1,157 @@
1
1
  import merge from "./thirdparty/merge.js";
2
2
  import { getFeature } from "./FeaturesRegistry.js";
3
3
  import { DEFAULT_THEME } from "./generated/AssetParameters.js";
4
-
4
+ import validateThemeRoot from "./validateThemeRoot.js";
5
+ import AnimationMode from "./types/AnimationMode.js";
5
6
  let initialized = false;
6
-
7
7
  let initialConfig = {
8
- animationMode: "full",
9
- theme: DEFAULT_THEME,
10
- rtl: null,
11
- language: null,
12
- calendarType: null,
13
- noConflict: false, // no URL
14
- formatSettings: {},
15
- fetchDefaultLanguage: false,
16
- assetsPath: "",
17
- };
18
-
8
+ animationMode: AnimationMode.Full,
9
+ theme: DEFAULT_THEME,
10
+ themeRoot: undefined,
11
+ rtl: undefined,
12
+ language: undefined,
13
+ timezone: undefined,
14
+ calendarType: undefined,
15
+ secondaryCalendarType: undefined,
16
+ noConflict: false,
17
+ formatSettings: {},
18
+ fetchDefaultLanguage: false,
19
+ };
19
20
  /* General settings */
20
21
  const getAnimationMode = () => {
21
- initConfiguration();
22
- return initialConfig.animationMode;
22
+ initConfiguration();
23
+ return initialConfig.animationMode;
23
24
  };
24
-
25
25
  const getTheme = () => {
26
- initConfiguration();
27
- return initialConfig.theme;
26
+ initConfiguration();
27
+ return initialConfig.theme;
28
28
  };
29
-
30
- const getRTL = () => {
31
- initConfiguration();
32
- return initialConfig.rtl;
29
+ const getThemeRoot = () => {
30
+ initConfiguration();
31
+ return initialConfig.themeRoot;
33
32
  };
34
-
35
33
  const getLanguage = () => {
36
- initConfiguration();
37
- return initialConfig.language;
34
+ initConfiguration();
35
+ return initialConfig.language;
38
36
  };
39
-
40
37
  /**
41
38
  * Returns if the default language, that is inlined at build time,
42
39
  * should be fetched over the network instead.
43
40
  * @returns {Boolean}
44
41
  */
45
42
  const getFetchDefaultLanguage = () => {
46
- initConfiguration();
47
- return initialConfig.fetchDefaultLanguage;
43
+ initConfiguration();
44
+ return initialConfig.fetchDefaultLanguage;
48
45
  };
49
-
50
46
  const getNoConflict = () => {
51
- initConfiguration();
52
- return initialConfig.noConflict;
47
+ initConfiguration();
48
+ return initialConfig.noConflict;
53
49
  };
54
-
50
+ /**
51
+ * Get the configured calendar type
52
+ * @returns { String } the name of the configured calendar type
53
+ */
55
54
  const getCalendarType = () => {
56
- initConfiguration();
57
- return initialConfig.calendarType;
55
+ initConfiguration();
56
+ return initialConfig.calendarType;
58
57
  };
59
-
60
- const getFormatSettings = () => {
61
- initConfiguration();
62
- return initialConfig.formatSettings;
58
+ const getSecondaryCalendarType = () => {
59
+ initConfiguration();
60
+ return initialConfig.secondaryCalendarType;
61
+ };
62
+ /**
63
+ * Returns the configured IANA timezone ID.
64
+ * @returns { String } the configured IANA timezone ID, e.g. "America/New_York"
65
+ */
66
+ const getTimezone = () => {
67
+ initConfiguration();
68
+ return initialConfig.timezone;
63
69
  };
64
-
65
- const getAssetsPath = () => {
66
- initConfiguration();
67
- return initialConfig.assetsPath;
70
+ const getFormatSettings = () => {
71
+ initConfiguration();
72
+ return initialConfig.formatSettings;
68
73
  };
69
-
70
74
  const booleanMapping = new Map();
71
75
  booleanMapping.set("true", true);
72
76
  booleanMapping.set("false", false);
73
-
74
77
  const parseConfigurationScript = () => {
75
- const configScript = document.querySelector("[data-ui5-config]") || document.querySelector("[data-id='sap-ui-config']"); // for backward compatibility
76
-
77
- let configJSON;
78
-
79
- if (configScript) {
80
- try {
81
- configJSON = JSON.parse(configScript.innerHTML);
82
- } catch (err) {
83
- console.warn("Incorrect data-sap-ui-config format. Please use JSON"); /* eslint-disable-line */
84
- }
85
-
86
- if (configJSON) {
87
- initialConfig = merge(initialConfig, configJSON);
88
- }
89
- }
90
- };
91
-
78
+ const configScript = document.querySelector("[data-ui5-config]") || document.querySelector("[data-id='sap-ui-config']"); // for backward compatibility
79
+ let configJSON;
80
+ if (configScript) {
81
+ try {
82
+ configJSON = JSON.parse(configScript.innerHTML);
83
+ }
84
+ catch (err) {
85
+ console.warn("Incorrect data-sap-ui-config format. Please use JSON"); /* eslint-disable-line */
86
+ }
87
+ if (configJSON) {
88
+ initialConfig = merge(initialConfig, configJSON);
89
+ }
90
+ }
91
+ };
92
92
  const parseURLParameters = () => {
93
- const params = new URLSearchParams(window.location.search);
94
-
95
- params.forEach((value, key) => {
96
- if (!key.startsWith("sap-ui")) {
97
- return;
98
- }
99
-
100
- const lowerCaseValue = value.toLowerCase();
101
-
102
- const param = key.split("sap-ui-")[1];
103
-
104
- if (booleanMapping.has(value)) {
105
- value = booleanMapping.get(lowerCaseValue);
106
- }
107
-
108
- initialConfig[param] = value;
109
- });
110
- };
111
-
93
+ const params = new URLSearchParams(window.location.search);
94
+ // Process "sap-*" params first
95
+ params.forEach((value, key) => {
96
+ const parts = key.split("sap-").length;
97
+ if (parts === 0 || parts === key.split("sap-ui-").length) {
98
+ return;
99
+ }
100
+ applyURLParam(key, value, "sap");
101
+ });
102
+ // Process "sap-ui-*" params
103
+ params.forEach((value, key) => {
104
+ if (!key.startsWith("sap-ui")) {
105
+ return;
106
+ }
107
+ applyURLParam(key, value, "sap-ui");
108
+ });
109
+ };
110
+ const normalizeThemeRootParamValue = (value) => {
111
+ const themeRoot = value.split("@")[1];
112
+ return validateThemeRoot(themeRoot);
113
+ };
114
+ const normalizeThemeParamValue = (param, value) => {
115
+ if (param === "theme" && value.includes("@")) { // the theme parameter might have @<URL-TO-THEME> in the value - strip this
116
+ return value.split("@")[0];
117
+ }
118
+ return value;
119
+ };
120
+ const applyURLParam = (key, value, paramType) => {
121
+ const lowerCaseValue = value.toLowerCase();
122
+ const param = key.split(`${paramType}-`)[1];
123
+ if (booleanMapping.has(value)) {
124
+ value = booleanMapping.get(lowerCaseValue);
125
+ }
126
+ if (param === "theme") {
127
+ initialConfig.theme = normalizeThemeParamValue(param, value);
128
+ if (value && value.includes("@")) {
129
+ initialConfig.themeRoot = normalizeThemeRootParamValue(value);
130
+ }
131
+ }
132
+ else {
133
+ initialConfig[param] = value;
134
+ }
135
+ };
112
136
  const applyOpenUI5Configuration = () => {
113
- const OpenUI5Support = getFeature("OpenUI5Support");
114
- if (!OpenUI5Support || !OpenUI5Support.isLoaded()) {
115
- return;
116
- }
117
-
118
- const OpenUI5Config = OpenUI5Support.getConfigurationSettingsObject();
119
- initialConfig = merge(initialConfig, OpenUI5Config);
120
- };
121
-
137
+ const openUI5Support = getFeature("OpenUI5Support");
138
+ if (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {
139
+ return;
140
+ }
141
+ const OpenUI5Config = openUI5Support.getConfigurationSettingsObject();
142
+ initialConfig = merge(initialConfig, OpenUI5Config);
143
+ };
122
144
  const initConfiguration = () => {
123
- if (initialized) {
124
- return;
125
- }
126
-
127
- // 1. Lowest priority - configuration script
128
- parseConfigurationScript();
129
-
130
- // 2. URL parameters overwrite configuration script parameters
131
- parseURLParameters();
132
-
133
- // 3. If OpenUI5 is detected, it has the highest priority
134
- applyOpenUI5Configuration();
135
-
136
- initialized = true;
137
- };
138
-
139
- export {
140
- getAnimationMode,
141
- getTheme,
142
- getRTL,
143
- getLanguage,
144
- getFetchDefaultLanguage,
145
- getNoConflict,
146
- getCalendarType,
147
- getFormatSettings,
148
- getAssetsPath,
145
+ if (typeof document === "undefined" || initialized) {
146
+ return;
147
+ }
148
+ // 1. Lowest priority - configuration script
149
+ parseConfigurationScript();
150
+ // 2. URL parameters overwrite configuration script parameters
151
+ parseURLParameters();
152
+ // 3. If OpenUI5 is detected, it has the highest priority
153
+ applyOpenUI5Configuration();
154
+ initialized = true;
149
155
  };
156
+ export { getAnimationMode, getTheme, getThemeRoot, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getSecondaryCalendarType, getTimezone, getFormatSettings, };
157
+ //# sourceMappingURL=InitialConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitialConfiguration.js","sourceRoot":"","sources":["../src/InitialConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["import merge from \"./thirdparty/merge.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport { DEFAULT_THEME } from \"./generated/AssetParameters.js\";\nimport validateThemeRoot from \"./validateThemeRoot.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type { FormatSettings } from \"./config/FormatSettings.js\";\nimport AnimationMode from \"./types/AnimationMode.js\";\nimport CalendarType from \"./types/CalendarType.js\";\n\nlet initialized = false;\n\ntype InitialConfig = {\n\t[key: string]: any,\n\tanimationMode: AnimationMode,\n\ttheme: string,\n\tthemeRoot: string | undefined,\n\tlanguage: string | undefined,\n\tcalendarType: CalendarType | undefined,\n\tsecondaryCalendarType: CalendarType | undefined,\n\ttimezone: string | undefined,\n\tnoConflict: boolean,\n\tformatSettings: FormatSettings,\n\tfetchDefaultLanguage: boolean,\n};\n\nlet initialConfig: InitialConfig = {\n\tanimationMode: AnimationMode.Full,\n\ttheme: DEFAULT_THEME,\n\tthemeRoot: undefined,\n\trtl: undefined,\n\tlanguage: undefined,\n\ttimezone: undefined,\n\tcalendarType: undefined,\n\tsecondaryCalendarType: undefined,\n\tnoConflict: false, // no URL\n\tformatSettings: {},\n\tfetchDefaultLanguage: false,\n};\n\n/* General settings */\nconst getAnimationMode = () => {\n\tinitConfiguration();\n\treturn initialConfig.animationMode;\n};\n\nconst getTheme = () => {\n\tinitConfiguration();\n\treturn initialConfig.theme;\n};\n\nconst getThemeRoot = () => {\n\tinitConfiguration();\n\treturn initialConfig.themeRoot;\n};\n\nconst getLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.language;\n};\n\n/**\n * Returns if the default language, that is inlined at build time,\n * should be fetched over the network instead.\n * @returns {Boolean}\n */\nconst getFetchDefaultLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.fetchDefaultLanguage;\n};\n\nconst getNoConflict = () => {\n\tinitConfiguration();\n\treturn initialConfig.noConflict;\n};\n\n/**\n * Get the configured calendar type\n * @returns { String } the name of the configured calendar type\n */\nconst getCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.calendarType;\n};\n\nconst getSecondaryCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.secondaryCalendarType;\n};\n\n/**\n * Returns the configured IANA timezone ID.\n * @returns { String } the configured IANA timezone ID, e.g. \"America/New_York\"\n */\nconst getTimezone = () => {\n\tinitConfiguration();\n\treturn initialConfig.timezone;\n};\n\nconst getFormatSettings = () => {\n\tinitConfiguration();\n\treturn initialConfig.formatSettings;\n};\n\nconst booleanMapping = new Map();\nbooleanMapping.set(\"true\", true);\nbooleanMapping.set(\"false\", false);\n\nconst parseConfigurationScript = () => {\n\tconst configScript = document.querySelector(\"[data-ui5-config]\") || document.querySelector(\"[data-id='sap-ui-config']\"); // for backward compatibility\n\n\tlet configJSON;\n\n\tif (configScript) {\n\t\ttry {\n\t\t\tconfigJSON = JSON.parse(configScript.innerHTML);\n\t\t} catch (err) {\n\t\t\tconsole.warn(\"Incorrect data-sap-ui-config format. Please use JSON\"); /* eslint-disable-line */\n\t\t}\n\n\t\tif (configJSON) {\n\t\t\tinitialConfig = merge(initialConfig, configJSON);\n\t\t}\n\t}\n};\n\nconst parseURLParameters = () => {\n\tconst params = new URLSearchParams(window.location.search);\n\n\t// Process \"sap-*\" params first\n\tparams.forEach((value, key) => {\n\t\tconst parts = key.split(\"sap-\").length;\n\t\tif (parts === 0 || parts === key.split(\"sap-ui-\").length) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap\");\n\t});\n\n\t// Process \"sap-ui-*\" params\n\tparams.forEach((value, key) => {\n\t\tif (!key.startsWith(\"sap-ui\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap-ui\");\n\t});\n};\n\nconst normalizeThemeRootParamValue = (value: string) => {\n\tconst themeRoot = value.split(\"@\")[1];\n\n\treturn validateThemeRoot(themeRoot);\n};\n\nconst normalizeThemeParamValue = (param: string, value: string) => {\n\tif (param === \"theme\" && value.includes(\"@\")) { // the theme parameter might have @<URL-TO-THEME> in the value - strip this\n\t\treturn value.split(\"@\")[0];\n\t}\n\n\treturn value;\n};\n\nconst applyURLParam = (key: string, value: string, paramType: string) => {\n\tconst lowerCaseValue = value.toLowerCase();\n\tconst param = key.split(`${paramType}-`)[1];\n\n\tif (booleanMapping.has(value)) {\n\t\tvalue = booleanMapping.get(lowerCaseValue);\n\t}\n\n\tif (param === \"theme\") {\n\t\tinitialConfig.theme = normalizeThemeParamValue(param, value);\n\n\t\tif (value && value.includes(\"@\")) {\n\t\t\tinitialConfig.themeRoot = normalizeThemeRootParamValue(value);\n\t\t}\n\t} else {\n\t\tinitialConfig[param] = value;\n\t}\n};\n\nconst applyOpenUI5Configuration = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {\n\t\treturn;\n\t}\n\n\tconst OpenUI5Config = openUI5Support.getConfigurationSettingsObject();\n\tinitialConfig = merge(initialConfig, OpenUI5Config);\n};\n\nconst initConfiguration = () => {\n\tif (typeof document === \"undefined\" || initialized) {\n\t\treturn;\n\t}\n\n\t// 1. Lowest priority - configuration script\n\tparseConfigurationScript();\n\n\t// 2. URL parameters overwrite configuration script parameters\n\tparseURLParameters();\n\n\t// 3. If OpenUI5 is detected, it has the highest priority\n\tapplyOpenUI5Configuration();\n\n\tinitialized = true;\n};\n\nexport {\n\tgetAnimationMode,\n\tgetTheme,\n\tgetThemeRoot,\n\tgetLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tgetCalendarType,\n\tgetSecondaryCalendarType,\n\tgetTimezone,\n\tgetFormatSettings,\n};\n"]}
package/dist/Keys.d.ts ADDED
@@ -0,0 +1,61 @@
1
+ declare const isEnter: (event: KeyboardEvent) => boolean;
2
+ declare const isEnterShift: (event: KeyboardEvent) => boolean;
3
+ declare const isSpace: (event: KeyboardEvent) => boolean;
4
+ declare const isSpaceShift: (event: KeyboardEvent) => boolean;
5
+ declare const isSpaceCtrl: (event: KeyboardEvent) => boolean;
6
+ declare const isLeft: (event: KeyboardEvent) => boolean;
7
+ declare const isRight: (event: KeyboardEvent) => boolean;
8
+ declare const isUp: (event: KeyboardEvent) => boolean;
9
+ declare const isDown: (event: KeyboardEvent) => boolean;
10
+ declare const isLeftCtrl: (event: KeyboardEvent) => boolean;
11
+ declare const isRightCtrl: (event: KeyboardEvent) => boolean;
12
+ declare const isUpCtrl: (event: KeyboardEvent) => boolean;
13
+ declare const isDownCtrl: (event: KeyboardEvent) => boolean;
14
+ declare const isUpShift: (event: KeyboardEvent) => boolean;
15
+ declare const isDownShift: (event: KeyboardEvent) => boolean;
16
+ declare const isUpAlt: (event: KeyboardEvent) => boolean;
17
+ declare const isDownAlt: (event: KeyboardEvent) => boolean;
18
+ declare const isLeftShift: (event: KeyboardEvent) => boolean;
19
+ declare const isRightShift: (event: KeyboardEvent) => boolean;
20
+ declare const isLeftShiftCtrl: (event: KeyboardEvent) => boolean;
21
+ declare const isRightShiftCtrl: (event: KeyboardEvent) => boolean;
22
+ declare const isUpShiftCtrl: (event: KeyboardEvent) => boolean;
23
+ declare const isDownShiftCtrl: (event: KeyboardEvent) => boolean;
24
+ declare const isHome: (event: KeyboardEvent) => boolean;
25
+ declare const isEnd: (event: KeyboardEvent) => boolean;
26
+ declare const isHomeCtrl: (event: KeyboardEvent) => boolean;
27
+ declare const isHomeShift: (event: KeyboardEvent) => boolean;
28
+ declare const isEndCtrl: (event: KeyboardEvent) => boolean;
29
+ declare const isEndShift: (event: KeyboardEvent) => boolean;
30
+ declare const isEscape: (event: KeyboardEvent) => boolean;
31
+ declare const isTabNext: (event: KeyboardEvent) => boolean;
32
+ declare const isTabPrevious: (event: KeyboardEvent) => boolean;
33
+ declare const isBackSpace: (event: KeyboardEvent) => boolean;
34
+ declare const isDelete: (event: KeyboardEvent) => boolean;
35
+ declare const isDeleteShift: (event: KeyboardEvent) => boolean;
36
+ declare const isInsertShift: (event: KeyboardEvent) => boolean;
37
+ declare const isInsertCtrl: (event: KeyboardEvent) => boolean;
38
+ declare const isPageUp: (event: KeyboardEvent) => boolean;
39
+ declare const isPageDown: (event: KeyboardEvent) => boolean;
40
+ declare const isPageUpShift: (event: KeyboardEvent) => boolean;
41
+ declare const isPageUpAlt: (event: KeyboardEvent) => boolean;
42
+ declare const isPageDownShift: (event: KeyboardEvent) => boolean;
43
+ declare const isPageDownAlt: (event: KeyboardEvent) => boolean;
44
+ declare const isPageUpShiftCtrl: (event: KeyboardEvent) => boolean;
45
+ declare const isPageDownShiftCtrl: (event: KeyboardEvent) => boolean;
46
+ declare const isPlus: (event: KeyboardEvent) => boolean;
47
+ declare const isMinus: (event: KeyboardEvent) => boolean;
48
+ declare const isShow: (event: KeyboardEvent) => boolean;
49
+ declare const isF4: (event: KeyboardEvent) => boolean;
50
+ declare const isF4Shift: (event: KeyboardEvent) => boolean;
51
+ declare const isF6Next: (event: KeyboardEvent) => boolean;
52
+ declare const isF6Previous: (event: KeyboardEvent) => boolean;
53
+ declare const isF7: (event: KeyboardEvent) => boolean;
54
+ declare const isShift: (event: KeyboardEvent) => boolean;
55
+ declare const isCtrlA: (event: KeyboardEvent) => boolean;
56
+ declare const isCtrlV: (event: KeyboardEvent) => boolean;
57
+ declare const isKeyA: (event: KeyboardEvent) => boolean;
58
+ declare const isKeyP: (event: KeyboardEvent) => boolean;
59
+ declare const isNumber: (event: KeyboardEvent) => boolean;
60
+ declare const isColon: (event: KeyboardEvent) => boolean;
61
+ export { isEnter, isEnterShift, isSpace, isSpaceShift, isSpaceCtrl, isLeft, isRight, isUp, isDown, isLeftCtrl, isRightCtrl, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpAlt, isDownAlt, isLeftShift, isRightShift, isLeftShiftCtrl, isRightShiftCtrl, isUpShiftCtrl, isDownShiftCtrl, isHome, isEnd, isPlus, isMinus, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, isEscape, isTabNext, isTabPrevious, isBackSpace, isDelete, isShow, isF4, isF4Shift, isF6Previous, isF6Next, isF7, isPageUp, isPageDown, isPageUpShift, isPageUpAlt, isPageDownShift, isPageDownAlt, isPageUpShiftCtrl, isPageDownShiftCtrl, isShift, isCtrlA, isCtrlV, isKeyA, isKeyP, isDeleteShift, isInsertShift, isInsertCtrl, isNumber, isColon, };