@ui5/webcomponents-base 0.0.0-32b659ddc → 0.0.0-33e059bcd

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 (776) hide show
  1. package/.eslintignore +9 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1264 -0
  4. package/README.md +58 -7
  5. package/bundle.esm.js +36 -22
  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 +6 -9
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +9 -0
  12. package/dist/Boot.js +71 -0
  13. package/dist/Boot.js.map +1 -0
  14. package/dist/CSP.d.ts +30 -0
  15. package/dist/CSP.js +51 -0
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +78 -0
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -0
  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 +23 -0
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +167 -815
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -70
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +3 -0
  36. package/dist/FeaturesRegistry.js +5 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +21 -69
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +27 -0
  42. package/dist/IgnoreCustomElements.js +39 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +28 -0
  45. package/dist/InitialConfiguration.js +135 -104
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +181 -0
  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 +88 -0
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +85 -0
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +143 -0
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +53 -39
  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 +4 -38
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +35 -0
  75. package/dist/StaticAreaItem.js +94 -84
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +9 -0
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/dist/Theming.d.ts +3 -0
  81. package/dist/Theming.js +4 -55
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +384 -0
  84. package/dist/UI5Element.js +960 -854
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +143 -0
  87. package/dist/UI5ElementMetadata.js +281 -152
  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 +136 -24
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +76 -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 +126 -98
  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 +59 -66
  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 +85 -57
  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 +23 -10
  130. package/dist/config/AnimationMode.js.map +1 -0
  131. package/dist/config/CalendarType.d.ts +15 -0
  132. package/dist/config/CalendarType.js +32 -19
  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 +66 -10
  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/RTL.d.ts +7 -0
  147. package/dist/config/RTL.js +26 -20
  148. package/dist/config/RTL.js.map +1 -0
  149. package/dist/config/Theme.d.ts +38 -0
  150. package/dist/config/Theme.js +65 -23
  151. package/dist/config/Theme.js.map +1 -0
  152. package/dist/config/ThemeRoot.d.ts +29 -0
  153. package/dist/config/ThemeRoot.js +59 -0
  154. package/dist/config/ThemeRoot.js.map +1 -0
  155. package/dist/config/Timezone.d.ts +17 -0
  156. package/dist/config/Timezone.js +30 -0
  157. package/dist/config/Timezone.js.map +1 -0
  158. package/dist/connectToComponent.d.ts +9 -0
  159. package/dist/connectToComponent.js +59 -0
  160. package/dist/connectToComponent.js.map +1 -0
  161. package/dist/css/BusyIndicator.css +80 -0
  162. package/dist/css/FontFace.css +96 -0
  163. package/dist/css/OverrideFontFace.css +32 -0
  164. package/dist/css/SystemCSSVars.css +17 -0
  165. package/dist/custom-elements-internal.json +2765 -0
  166. package/dist/custom-elements.json +2528 -0
  167. package/dist/decorators/customElement.d.ts +23 -0
  168. package/dist/decorators/customElement.js +37 -0
  169. package/dist/decorators/customElement.js.map +1 -0
  170. package/dist/decorators/event.d.ts +13 -0
  171. package/dist/decorators/event.js +24 -0
  172. package/dist/decorators/event.js.map +1 -0
  173. package/dist/decorators/property.d.ts +9 -0
  174. package/dist/decorators/property.js +24 -0
  175. package/dist/decorators/property.js.map +1 -0
  176. package/dist/decorators/slot.d.ts +9 -0
  177. package/dist/decorators/slot.js +37 -0
  178. package/dist/decorators/slot.js.map +1 -0
  179. package/dist/delegate/ItemNavigation.d.ts +114 -0
  180. package/dist/delegate/ItemNavigation.js +311 -274
  181. package/dist/delegate/ItemNavigation.js.map +1 -0
  182. package/dist/delegate/ResizeHandler.d.ts +23 -0
  183. package/dist/delegate/ResizeHandler.js +82 -63
  184. package/dist/delegate/ResizeHandler.js.map +1 -0
  185. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  186. package/dist/delegate/ScrollEnablement.js +159 -100
  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 +152 -73
  202. package/dist/features/OpenUI5Support.js.map +1 -0
  203. package/dist/generated/AssetParameters.d.ts +6 -0
  204. package/dist/generated/AssetParameters.js +8 -0
  205. package/dist/generated/AssetParameters.js.map +1 -0
  206. package/dist/generated/VersionInfo.d.ts +10 -0
  207. package/dist/generated/VersionInfo.js +11 -0
  208. package/dist/generated/VersionInfo.js.map +1 -0
  209. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  210. package/dist/generated/css/BusyIndicator.css.js +7 -0
  211. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  212. package/dist/generated/css/FontFace.css.d.ts +3 -0
  213. package/dist/generated/css/FontFace.css.js +7 -0
  214. package/dist/generated/css/FontFace.css.js.map +1 -0
  215. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  216. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  217. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  218. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  219. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  220. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  221. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  222. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  223. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  224. package/dist/getSharedResource.d.ts +11 -0
  225. package/dist/getSharedResource.js +40 -0
  226. package/dist/getSharedResource.js.map +1 -0
  227. package/dist/global.d.ts +40 -0
  228. package/dist/i18nBundle.d.ts +41 -0
  229. package/dist/i18nBundle.js +71 -30
  230. package/dist/i18nBundle.js.map +1 -0
  231. package/dist/locale/Locale.d.ts +22 -0
  232. package/dist/locale/Locale.js +79 -0
  233. package/dist/locale/Locale.js.map +1 -0
  234. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  235. package/dist/locale/RTLAwareRegistry.js +9 -0
  236. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  237. package/dist/locale/applyDirection.d.ts +10 -0
  238. package/dist/locale/applyDirection.js +17 -0
  239. package/dist/locale/applyDirection.js.map +1 -0
  240. package/dist/locale/directionChange.d.ts +15 -0
  241. package/dist/locale/directionChange.js +24 -0
  242. package/dist/locale/directionChange.js.map +1 -0
  243. package/dist/locale/getEffectiveDir.d.ts +2 -0
  244. package/dist/locale/getEffectiveDir.js +24 -0
  245. package/dist/locale/getEffectiveDir.js.map +1 -0
  246. package/dist/locale/getLocale.d.ts +7 -0
  247. package/dist/locale/getLocale.js +38 -0
  248. package/dist/locale/getLocale.js.map +1 -0
  249. package/dist/locale/languageChange.d.ts +5 -0
  250. package/dist/locale/languageChange.js +14 -0
  251. package/dist/locale/languageChange.js.map +1 -0
  252. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  253. package/dist/locale/nextFallbackLocale.js +24 -0
  254. package/dist/locale/nextFallbackLocale.js.map +1 -0
  255. package/dist/locale/normalizeLocale.d.ts +7 -0
  256. package/dist/locale/normalizeLocale.js +47 -0
  257. package/dist/locale/normalizeLocale.js.map +1 -0
  258. package/dist/renderer/LitRenderer.d.ts +14 -0
  259. package/dist/renderer/LitRenderer.js +38 -12
  260. package/dist/renderer/LitRenderer.js.map +1 -0
  261. package/dist/renderer/directives/style-map.js +72 -0
  262. package/dist/renderer/executeTemplate.d.ts +13 -0
  263. package/dist/renderer/executeTemplate.js +30 -0
  264. package/dist/renderer/executeTemplate.js.map +1 -0
  265. package/dist/sap/base/Log.js +750 -0
  266. package/dist/sap/base/assert.js +34 -0
  267. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  268. package/dist/sap/base/security/URLListValidator.js +406 -0
  269. package/dist/sap/base/security/encodeCSS.js +40 -0
  270. package/dist/sap/base/security/encodeXML.js +53 -0
  271. package/dist/sap/base/security/sanitizeHTML.js +38 -0
  272. package/dist/sap/base/strings/toHex.js +33 -0
  273. package/dist/sap/base/util/now.js +28 -0
  274. package/dist/sap/base/util/uid.js +27 -0
  275. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  276. package/dist/ssr-dom-shim.d.ts +1 -0
  277. package/dist/ssr-dom-shim.js +12 -0
  278. package/dist/ssr-dom-shim.js.map +1 -0
  279. package/dist/ssr-dom.d.ts +0 -0
  280. package/dist/ssr-dom.js +3 -0
  281. package/dist/ssr-dom.js.map +1 -0
  282. package/dist/theming/CustomStyle.d.ts +6 -0
  283. package/dist/theming/CustomStyle.js +46 -17
  284. package/dist/theming/CustomStyle.js.map +1 -0
  285. package/dist/theming/ThemeLoaded.d.ts +5 -0
  286. package/dist/theming/ThemeLoaded.js +14 -0
  287. package/dist/theming/ThemeLoaded.js.map +1 -0
  288. package/dist/theming/ThemeRegistered.d.ts +4 -0
  289. package/dist/theming/ThemeRegistered.js +11 -0
  290. package/dist/theming/ThemeRegistered.js.map +1 -0
  291. package/dist/theming/applyTheme.d.ts +2 -0
  292. package/dist/theming/applyTheme.js +76 -0
  293. package/dist/theming/applyTheme.js.map +1 -0
  294. package/dist/theming/getConstructableStyle.d.ts +9 -0
  295. package/dist/theming/getConstructableStyle.js +25 -0
  296. package/dist/theming/getConstructableStyle.js.map +1 -0
  297. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  298. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  299. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  300. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  301. package/dist/theming/getEffectiveStyle.js +32 -0
  302. package/dist/theming/getEffectiveStyle.js.map +1 -0
  303. package/dist/theming/getStylesString.d.ts +3 -0
  304. package/dist/theming/getStylesString.js +11 -0
  305. package/dist/theming/getStylesString.js.map +1 -0
  306. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  307. package/dist/theming/getThemeDesignerTheme.js +80 -0
  308. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  309. package/dist/theming/preloadLinks.d.ts +3 -0
  310. package/dist/theming/preloadLinks.js +19 -0
  311. package/dist/theming/preloadLinks.js.map +1 -0
  312. package/dist/thirdparty/_merge.d.ts +2 -0
  313. package/dist/thirdparty/_merge.js +35 -0
  314. package/dist/thirdparty/_merge.js.map +1 -0
  315. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  316. package/dist/thirdparty/isPlainObject.js +19 -0
  317. package/dist/thirdparty/isPlainObject.js.map +1 -0
  318. package/dist/thirdparty/merge.d.ts +2 -0
  319. package/dist/thirdparty/merge.js +6 -0
  320. package/dist/thirdparty/merge.js.map +1 -0
  321. package/dist/types/AnimationMode.d.ts +24 -0
  322. package/dist/types/AnimationMode.js +25 -6
  323. package/dist/types/AnimationMode.js.map +1 -0
  324. package/dist/types/CSSColor.d.ts +11 -0
  325. package/dist/types/CSSColor.js +14 -0
  326. package/dist/types/CSSColor.js.map +1 -0
  327. package/dist/types/CSSSize.d.ts +11 -0
  328. package/dist/types/CSSSize.js +10 -5
  329. package/dist/types/CSSSize.js.map +1 -0
  330. package/dist/types/CalendarType.d.ts +28 -0
  331. package/dist/types/CalendarType.js +30 -0
  332. package/dist/types/CalendarType.js.map +1 -0
  333. package/dist/types/DOMReference.d.ts +13 -0
  334. package/dist/types/DOMReference.js +21 -0
  335. package/dist/types/DOMReference.js.map +1 -0
  336. package/dist/types/DataType.d.ts +20 -0
  337. package/dist/types/DataType.js +31 -17
  338. package/dist/types/DataType.js.map +1 -0
  339. package/dist/types/Float.d.ts +14 -0
  340. package/dist/types/Float.js +18 -0
  341. package/dist/types/Float.js.map +1 -0
  342. package/dist/types/Integer.d.ts +14 -0
  343. package/dist/types/Integer.js +14 -5
  344. package/dist/types/Integer.js.map +1 -0
  345. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  346. package/dist/types/InvisibleMessageMode.js +20 -0
  347. package/dist/types/InvisibleMessageMode.js.map +1 -0
  348. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  349. package/dist/types/ItemNavigationBehavior.js +16 -17
  350. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  351. package/dist/types/NavigationMode.d.ts +24 -0
  352. package/dist/types/NavigationMode.js +25 -5
  353. package/dist/types/NavigationMode.js.map +1 -0
  354. package/dist/types/ValueState.d.ts +28 -0
  355. package/dist/types/ValueState.js +27 -19
  356. package/dist/types/ValueState.js.map +1 -0
  357. package/dist/types.d.ts +18 -0
  358. package/dist/types.js +2 -0
  359. package/dist/types.js.map +1 -0
  360. package/dist/updateShadowRoot.d.ts +8 -0
  361. package/dist/updateShadowRoot.js +42 -0
  362. package/dist/updateShadowRoot.js.map +1 -0
  363. package/dist/util/AriaLabelHelper.d.ts +15 -0
  364. package/dist/util/AriaLabelHelper.js +171 -0
  365. package/dist/util/AriaLabelHelper.js.map +1 -0
  366. package/dist/util/Caret.d.ts +7 -0
  367. package/dist/util/Caret.js +23 -0
  368. package/dist/util/Caret.js.map +1 -0
  369. package/dist/util/ColorConversion.d.ts +30 -0
  370. package/dist/util/ColorConversion.js +342 -0
  371. package/dist/util/ColorConversion.js.map +1 -0
  372. package/dist/util/FetchHelper.d.ts +3 -0
  373. package/dist/util/FetchHelper.js +19 -25
  374. package/dist/util/FetchHelper.js.map +1 -0
  375. package/dist/util/FocusableElements.d.ts +4 -0
  376. package/dist/util/FocusableElements.js +68 -56
  377. package/dist/util/FocusableElements.js.map +1 -0
  378. package/dist/util/HTMLSanitizer.d.ts +3 -0
  379. package/dist/util/HTMLSanitizer.js +6 -0
  380. package/dist/util/HTMLSanitizer.js.map +1 -0
  381. package/dist/util/InvisibleMessage.d.ts +10 -0
  382. package/dist/util/InvisibleMessage.js +56 -0
  383. package/dist/util/InvisibleMessage.js.map +1 -0
  384. package/dist/util/PopupUtils.d.ts +7 -0
  385. package/dist/util/PopupUtils.js +74 -0
  386. package/dist/util/PopupUtils.js.map +1 -0
  387. package/dist/util/SlotsHelper.d.ts +9 -0
  388. package/dist/util/SlotsHelper.js +30 -0
  389. package/dist/util/SlotsHelper.js.map +1 -0
  390. package/dist/util/StringHelper.d.ts +3 -0
  391. package/dist/util/StringHelper.js +17 -20
  392. package/dist/util/StringHelper.js.map +1 -0
  393. package/dist/util/TabbableElements.d.ts +17 -0
  394. package/dist/util/TabbableElements.js +53 -40
  395. package/dist/util/TabbableElements.js.map +1 -0
  396. package/dist/util/arraysAreEqual.d.ts +2 -0
  397. package/dist/util/arraysAreEqual.js +13 -0
  398. package/dist/util/arraysAreEqual.js.map +1 -0
  399. package/dist/util/clamp.d.ts +9 -0
  400. package/dist/util/clamp.js +12 -0
  401. package/dist/util/clamp.js.map +1 -0
  402. package/dist/util/createLinkInHead.d.ts +7 -0
  403. package/dist/util/createLinkInHead.js +21 -0
  404. package/dist/util/createLinkInHead.js.map +1 -0
  405. package/dist/util/createStyleInHead.d.ts +8 -0
  406. package/dist/util/createStyleInHead.js +10 -10
  407. package/dist/util/createStyleInHead.js.map +1 -0
  408. package/dist/util/debounce.d.ts +2 -0
  409. package/dist/util/debounce.js +15 -0
  410. package/dist/util/debounce.js.map +1 -0
  411. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  412. package/dist/util/detectNavigatorLanguage.js +14 -10
  413. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  414. package/dist/util/escapeRegex.d.ts +8 -0
  415. package/dist/util/escapeRegex.js +11 -0
  416. package/dist/util/escapeRegex.js.map +1 -0
  417. package/dist/util/formatMessage.d.ts +2 -0
  418. package/dist/util/formatMessage.js +15 -19
  419. package/dist/util/formatMessage.js.map +1 -0
  420. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  421. package/dist/util/generateHighlightedMarkup.js +41 -0
  422. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  423. package/dist/util/getActiveElement.d.ts +2 -0
  424. package/dist/util/getActiveElement.js +9 -0
  425. package/dist/util/getActiveElement.js.map +1 -0
  426. package/dist/util/getClassCopy.d.ts +419 -0
  427. package/dist/util/getClassCopy.js +10 -0
  428. package/dist/util/getClassCopy.js.map +1 -0
  429. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  430. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  431. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  432. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  433. package/dist/util/getEffectiveContentDensity.js +4 -0
  434. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  435. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  436. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  437. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  438. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  439. package/dist/util/getFastNavigationGroups.js +51 -0
  440. package/dist/util/getFastNavigationGroups.js.map +1 -0
  441. package/dist/util/getFileExtension.d.ts +12 -0
  442. package/dist/util/getFileExtension.js +19 -0
  443. package/dist/util/getFileExtension.js.map +1 -0
  444. package/dist/util/getNormalizedTarget.d.ts +7 -0
  445. package/dist/util/getNormalizedTarget.js +14 -0
  446. package/dist/util/getNormalizedTarget.js.map +1 -0
  447. package/dist/util/getParentElement.d.ts +2 -0
  448. package/dist/util/getParentElement.js +5 -0
  449. package/dist/util/getParentElement.js.map +1 -0
  450. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  451. package/dist/util/getSingletonElementInstance.js +19 -0
  452. package/dist/util/getSingletonElementInstance.js.map +1 -0
  453. package/dist/util/isElementClickable.d.ts +2 -0
  454. package/dist/util/isElementClickable.js +16 -0
  455. package/dist/util/isElementClickable.js.map +1 -0
  456. package/dist/util/isElementContainingBlock.d.ts +2 -0
  457. package/dist/util/isElementContainingBlock.js +11 -0
  458. package/dist/util/isElementContainingBlock.js.map +1 -0
  459. package/dist/util/isElementHidden.d.ts +2 -0
  460. package/dist/util/isElementHidden.js +8 -0
  461. package/dist/util/isElementHidden.js.map +1 -0
  462. package/dist/util/isElementInView.d.ts +6 -0
  463. package/dist/util/isElementInView.js +12 -0
  464. package/dist/util/isElementInView.js.map +1 -0
  465. package/dist/util/isElementTabbable.d.ts +9 -0
  466. package/dist/util/isElementTabbable.js +30 -0
  467. package/dist/util/isElementTabbable.js.map +1 -0
  468. package/dist/util/isValidPropertyName.d.ts +8 -0
  469. package/dist/util/isValidPropertyName.js +20 -12
  470. package/dist/util/isValidPropertyName.js.map +1 -0
  471. package/dist/util/whenDOMReady.d.ts +2 -0
  472. package/dist/util/whenDOMReady.js +11 -10
  473. package/dist/util/whenDOMReady.js.map +1 -0
  474. package/dist/util/willShowContent.d.ts +2 -0
  475. package/dist/util/willShowContent.js +7 -0
  476. package/dist/util/willShowContent.js.map +1 -0
  477. package/dist/validateThemeRoot.d.ts +2 -0
  478. package/dist/validateThemeRoot.js +48 -0
  479. package/dist/validateThemeRoot.js.map +1 -0
  480. package/index.js +228 -2
  481. package/lib/generate-asset-parameters/index.js +27 -0
  482. package/lib/generate-styles/index.js +31 -0
  483. package/lib/generate-version-info/index.js +32 -0
  484. package/package-scripts.cjs +65 -0
  485. package/package.json +30 -14
  486. package/src/css/BusyIndicator.css +80 -0
  487. package/src/css/FontFace.css +96 -0
  488. package/src/css/OverrideFontFace.css +32 -0
  489. package/src/css/SystemCSSVars.css +17 -0
  490. package/src/renderer/directives/style-map.js +72 -0
  491. package/tsconfig.json +18 -0
  492. package/used-modules.txt +14 -0
  493. package/bundle.es5.js +0 -28
  494. package/config/rollup.config.js +0 -1
  495. package/config/wdio.conf.js +0 -1
  496. package/dist/Assets.js +0 -2
  497. package/dist/CSS.js +0 -48
  498. package/dist/FormatSettings.js +0 -31
  499. package/dist/Locale.js +0 -101
  500. package/dist/LocaleProvider.js +0 -34
  501. package/dist/RenderScheduler.js +0 -165
  502. package/dist/ResourceLoaderOverrides.js +0 -38
  503. package/dist/SVGIconRegistry.js +0 -54
  504. package/dist/animations/config.js +0 -5
  505. package/dist/boot.js +0 -32
  506. package/dist/compatibility/DOMObserver.js +0 -62
  507. package/dist/compatibility/patchNodeValue.js +0 -24
  508. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  509. package/dist/dates/CalendarDate.js +0 -203
  510. package/dist/dates/CalendarType.js +0 -22
  511. package/dist/dates/CalendarUtils.js +0 -99
  512. package/dist/delegate/CustomResize.js +0 -78
  513. package/dist/delegate/NativeResize.js +0 -44
  514. package/dist/events/PseudoEvents.js +0 -58
  515. package/dist/features/browsersupport/Edge.js +0 -6
  516. package/dist/features/browsersupport/IE11.js +0 -41
  517. package/dist/features/calendar/Buddhist.js +0 -1
  518. package/dist/features/calendar/Islamic.js +0 -1
  519. package/dist/features/calendar/Japanese.js +0 -1
  520. package/dist/features/calendar/Persian.js +0 -1
  521. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5906
  522. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5906
  523. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5906
  524. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4979
  525. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4996
  526. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5498
  527. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4888
  528. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4916
  529. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4917
  530. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4915
  531. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4883
  532. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4883
  533. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4970
  534. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4962
  535. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4971
  536. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4977
  537. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4971
  538. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4972
  539. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4971
  540. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4972
  541. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4973
  542. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4972
  543. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4912
  544. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4914
  545. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4913
  546. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4914
  547. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4913
  548. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4915
  549. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4913
  550. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4915
  551. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4914
  552. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4967
  553. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4883
  554. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -5008
  555. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4979
  556. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4979
  557. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4973
  558. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4997
  559. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4979
  560. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5378
  561. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4829
  562. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4919
  563. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4856
  564. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4658
  565. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4950
  566. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4950
  567. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4830
  568. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4725
  569. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4738
  570. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5481
  571. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -5112
  572. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4515
  573. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4977
  574. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4884
  575. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4884
  576. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5176
  577. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4805
  578. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4940
  579. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -5090
  580. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5407
  581. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5407
  582. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5370
  583. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5340
  584. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -5126
  585. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -5011
  586. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4797
  587. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4979
  588. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5353
  589. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4673
  590. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4632
  591. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4640
  592. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4640
  593. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4728
  594. package/dist/json-imports/LocaleData.js +0 -171
  595. package/dist/renderer/ifDefined.js +0 -21
  596. package/dist/resources/bundle.es5.js +0 -212
  597. package/dist/resources/bundle.es5.js.map +0 -1
  598. package/dist/resources/bundle.esm.js +0 -123
  599. package/dist/resources/bundle.esm.js.map +0 -1
  600. package/dist/shims/Core-shim.js +0 -53
  601. package/dist/test-resources/assets/Themes.js +0 -13
  602. package/dist/test-resources/dev-helpers/ExternalThemePresent.js +0 -3
  603. package/dist/test-resources/elements/Child.js +0 -35
  604. package/dist/test-resources/elements/Generic.js +0 -84
  605. package/dist/test-resources/elements/GenericExt.js +0 -26
  606. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  607. package/dist/test-resources/elements/Parent.js +0 -37
  608. package/dist/test-resources/pages/AllTestElements.html +0 -40
  609. package/dist/test-resources/pages/Configuration.html +0 -20
  610. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  611. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  612. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  613. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  614. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  615. package/dist/test-resources/specs/Theming.spec.js +0 -31
  616. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  617. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  618. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  619. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  620. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  621. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  622. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  623. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  624. package/dist/theming/StyleInjection.js +0 -67
  625. package/dist/thirdparty/Array.from.js +0 -16
  626. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  627. package/dist/thirdparty/Array.prototype.find.js +0 -46
  628. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  629. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  630. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  631. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  632. package/dist/thirdparty/Number.isInteger.js +0 -5
  633. package/dist/thirdparty/Number.isNaN.js +0 -1
  634. package/dist/thirdparty/Number.parseInt.js +0 -1
  635. package/dist/thirdparty/Object.assign.js +0 -31
  636. package/dist/thirdparty/Object.entries.js +0 -11
  637. package/dist/thirdparty/Symbol.js +0 -2
  638. package/dist/thirdparty/WeakSet.js +0 -27
  639. package/dist/thirdparty/events-polyfills.js +0 -89
  640. package/dist/thirdparty/fetch.js +0 -1
  641. package/dist/thirdparty/template.js +0 -600
  642. package/dist/types/PopupState.js +0 -37
  643. package/dist/util/CSSTransformUtils.js +0 -90
  644. package/dist/util/isDescendantOf.js +0 -15
  645. package/dist/util/isNodeClickable.js +0 -19
  646. package/dist/util/isNodeHidden.js +0 -13
  647. package/dist/util/isNodeTabbable.js +0 -28
  648. package/dist/util/normalizeLocale.js +0 -77
  649. package/dist/webcomponentsjs/LICENSE.md +0 -19
  650. package/dist/webcomponentsjs/README.md +0 -229
  651. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  652. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  653. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  654. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  655. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  656. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  657. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  658. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  659. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  660. package/dist/webcomponentsjs/package.json +0 -46
  661. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  662. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  663. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  664. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  665. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  666. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  667. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  668. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  669. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  670. package/package-scripts.js +0 -42
  671. package/src/AssetRegistry.js +0 -9
  672. package/src/Assets.js +0 -2
  673. package/src/CSS.js +0 -48
  674. package/src/Device.js +0 -823
  675. package/src/EventProvider.js +0 -73
  676. package/src/FeaturesRegistry.js +0 -11
  677. package/src/FontFace.js +0 -73
  678. package/src/FormatSettings.js +0 -31
  679. package/src/InitialConfiguration.js +0 -130
  680. package/src/Locale.js +0 -101
  681. package/src/LocaleProvider.js +0 -34
  682. package/src/RenderQueue.js +0 -42
  683. package/src/RenderScheduler.js +0 -165
  684. package/src/ResourceLoaderOverrides.js +0 -38
  685. package/src/SVGIconRegistry.js +0 -54
  686. package/src/StaticArea.js +0 -41
  687. package/src/StaticAreaItem.js +0 -90
  688. package/src/Theming.js +0 -55
  689. package/src/UI5Element.js +0 -869
  690. package/src/UI5ElementMetadata.js +0 -164
  691. package/src/animations/AnimationQueue.js +0 -42
  692. package/src/animations/animate.js +0 -53
  693. package/src/animations/config.js +0 -5
  694. package/src/animations/scroll.js +0 -28
  695. package/src/animations/slideDown.js +0 -79
  696. package/src/animations/slideUp.js +0 -71
  697. package/src/asset-registries/Icons.js +0 -24
  698. package/src/asset-registries/LocaleData.js +0 -108
  699. package/src/asset-registries/Themes.js +0 -75
  700. package/src/asset-registries/i18n.js +0 -74
  701. package/src/boot.js +0 -32
  702. package/src/compatibility/DOMObserver.js +0 -62
  703. package/src/compatibility/patchNodeValue.js +0 -24
  704. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  705. package/src/config/AnimationMode.js +0 -13
  706. package/src/config/CalendarType.js +0 -22
  707. package/src/config/FormatSettings.js +0 -13
  708. package/src/config/Language.js +0 -12
  709. package/src/config/NoConflict.js +0 -51
  710. package/src/config/RTL.js +0 -31
  711. package/src/config/Theme.js +0 -28
  712. package/src/dates/CalendarDate.js +0 -203
  713. package/src/dates/CalendarType.js +0 -22
  714. package/src/dates/CalendarUtils.js +0 -99
  715. package/src/delegate/CustomResize.js +0 -78
  716. package/src/delegate/ItemNavigation.js +0 -278
  717. package/src/delegate/NativeResize.js +0 -44
  718. package/src/delegate/ResizeHandler.js +0 -66
  719. package/src/delegate/ScrollEnablement.js +0 -106
  720. package/src/events/PseudoEvents.js +0 -58
  721. package/src/features/OpenUI5Support.js +0 -76
  722. package/src/features/browsersupport/Edge.js +0 -6
  723. package/src/features/browsersupport/IE11.js +0 -41
  724. package/src/features/calendar/Buddhist.js +0 -1
  725. package/src/features/calendar/Islamic.js +0 -1
  726. package/src/features/calendar/Japanese.js +0 -1
  727. package/src/features/calendar/Persian.js +0 -1
  728. package/src/i18nBundle.js +0 -35
  729. package/src/json-imports/LocaleData.js +0 -171
  730. package/src/renderer/LitRenderer.js +0 -15
  731. package/src/renderer/ifDefined.js +0 -21
  732. package/src/shims/Core-shim.js +0 -53
  733. package/src/theming/CustomStyle.js +0 -19
  734. package/src/theming/StyleInjection.js +0 -67
  735. package/src/thirdparty/Array.from.js +0 -16
  736. package/src/thirdparty/Array.prototype.fill.js +0 -44
  737. package/src/thirdparty/Array.prototype.find.js +0 -46
  738. package/src/thirdparty/Array.prototype.includes.js +0 -51
  739. package/src/thirdparty/Element.prototype.closest.js +0 -11
  740. package/src/thirdparty/Element.prototype.matches.js +0 -6
  741. package/src/thirdparty/Map.prototype.keys.js +0 -9
  742. package/src/thirdparty/Number.isInteger.js +0 -5
  743. package/src/thirdparty/Number.isNaN.js +0 -1
  744. package/src/thirdparty/Number.parseInt.js +0 -1
  745. package/src/thirdparty/Object.assign.js +0 -31
  746. package/src/thirdparty/Object.entries.js +0 -11
  747. package/src/thirdparty/Symbol.js +0 -2
  748. package/src/thirdparty/WeakSet.js +0 -27
  749. package/src/thirdparty/events-polyfills.js +0 -89
  750. package/src/thirdparty/fetch.js +0 -1
  751. package/src/thirdparty/template.js +0 -600
  752. package/src/types/AnimationMode.js +0 -7
  753. package/src/types/CSSSize.js +0 -9
  754. package/src/types/DataType.js +0 -25
  755. package/src/types/Integer.js +0 -9
  756. package/src/types/ItemNavigationBehavior.js +0 -21
  757. package/src/types/NavigationMode.js +0 -6
  758. package/src/types/PopupState.js +0 -37
  759. package/src/types/ValueState.js +0 -22
  760. package/src/util/CSSTransformUtils.js +0 -90
  761. package/src/util/FetchHelper.js +0 -31
  762. package/src/util/FocusableElements.js +0 -60
  763. package/src/util/StringHelper.js +0 -26
  764. package/src/util/TabbableElements.js +0 -44
  765. package/src/util/createStyleInHead.js +0 -18
  766. package/src/util/detectNavigatorLanguage.js +0 -11
  767. package/src/util/formatMessage.js +0 -23
  768. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  769. package/src/util/isDescendantOf.js +0 -15
  770. package/src/util/isNodeClickable.js +0 -19
  771. package/src/util/isNodeHidden.js +0 -13
  772. package/src/util/isNodeTabbable.js +0 -28
  773. package/src/util/isValidPropertyName.js +0 -20
  774. package/src/util/normalizeLocale.js +0 -77
  775. package/src/util/whenDOMReady.js +0 -13
  776. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,151 @@
1
+ import { registerFeature } from "../FeaturesRegistry.js";
2
+ import { isF6Next, isF6Previous } from "../Keys.js";
3
+ import { instanceOfUI5Element } from "../UI5Element.js";
4
+ import { getFirstFocusableElement } from "../util/FocusableElements.js";
5
+ import getFastNavigationGroups from "../util/getFastNavigationGroups.js";
6
+ import isElementClickable from "../util/isElementClickable.js";
7
+ class F6Navigation {
8
+ constructor() {
9
+ this.selectedGroup = null;
10
+ this.groups = [];
11
+ this.keydownHandler = this._keydownHandler.bind(this);
12
+ this.attachEventListeners();
13
+ }
14
+ attachEventListeners() {
15
+ document.addEventListener("keydown", this.keydownHandler);
16
+ }
17
+ async groupElementToFocus(nextElement) {
18
+ const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
19
+ if (nextElementDomRef) {
20
+ if (isElementClickable(nextElementDomRef)) {
21
+ return nextElementDomRef;
22
+ }
23
+ const elementToFocus = await getFirstFocusableElement(nextElementDomRef);
24
+ if (elementToFocus) {
25
+ return elementToFocus;
26
+ }
27
+ }
28
+ }
29
+ async findNextFocusableGroupElement(currentIndex) {
30
+ let elementToFocus;
31
+ /* eslint-disable no-await-in-loop */
32
+ for (let index = 0; index < this.groups.length; index++) {
33
+ let nextElement;
34
+ if (currentIndex > -1) {
35
+ if (currentIndex + 1 >= this.groups.length) {
36
+ currentIndex = 0;
37
+ nextElement = this.groups[currentIndex];
38
+ }
39
+ else {
40
+ currentIndex += 1;
41
+ nextElement = this.groups[currentIndex];
42
+ }
43
+ }
44
+ else {
45
+ currentIndex = 0;
46
+ nextElement = this.groups[currentIndex];
47
+ }
48
+ elementToFocus = await this.groupElementToFocus(nextElement);
49
+ if (elementToFocus) {
50
+ break;
51
+ }
52
+ }
53
+ /* eslint-enable no-await-in-loop */
54
+ return elementToFocus;
55
+ }
56
+ async findPreviousFocusableGroupElement(currentIndex) {
57
+ let elementToFocus;
58
+ /* eslint-disable no-await-in-loop */
59
+ for (let index = 0; index < this.groups.length; index++) {
60
+ let nextElement;
61
+ if (currentIndex > 0) {
62
+ // Handle the situation where the first focusable element of two neighbor groups is the same
63
+ // For example:
64
+ // <ui5-flexible-column-layout>
65
+ // <ui5-list>
66
+ // <ui5-li>List Item</ui5-li>
67
+ // </ui5-list>
68
+ // </ui5-flexible-column-layout>
69
+ // Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)
70
+ const firstFocusable = await this.groupElementToFocus(this.groups[currentIndex - 1]);
71
+ const shouldSkipParent = firstFocusable === await this.groupElementToFocus(this.groups[currentIndex]);
72
+ currentIndex = shouldSkipParent ? currentIndex - 2 : currentIndex - 1;
73
+ if (currentIndex < 0) {
74
+ currentIndex = this.groups.length - 1;
75
+ }
76
+ nextElement = this.groups[currentIndex];
77
+ }
78
+ else {
79
+ currentIndex = this.groups.length - 1;
80
+ nextElement = this.groups[currentIndex];
81
+ }
82
+ elementToFocus = await this.groupElementToFocus(nextElement);
83
+ if (elementToFocus) {
84
+ break;
85
+ }
86
+ }
87
+ /* eslint-enable no-await-in-loop */
88
+ return elementToFocus;
89
+ }
90
+ async _keydownHandler(event) {
91
+ const forward = isF6Next(event);
92
+ const backward = isF6Previous(event);
93
+ if (!(forward || backward)) {
94
+ return;
95
+ }
96
+ this.updateGroups();
97
+ if (this.groups.length < 1) {
98
+ return;
99
+ }
100
+ event.preventDefault();
101
+ let elementToFocus;
102
+ if (this.groups.length === 0) {
103
+ elementToFocus = await this.groupElementToFocus(this.groups[0]);
104
+ return elementToFocus?.focus();
105
+ }
106
+ let currentIndex = -1;
107
+ if (this.selectedGroup) {
108
+ currentIndex = this.groups.indexOf(this.selectedGroup);
109
+ }
110
+ if (forward) {
111
+ elementToFocus = await this.findNextFocusableGroupElement(currentIndex);
112
+ }
113
+ if (backward) {
114
+ elementToFocus = await this.findPreviousFocusableGroupElement(currentIndex);
115
+ }
116
+ elementToFocus?.focus();
117
+ }
118
+ removeEventListeners() {
119
+ document.removeEventListener("keydown", this.keydownHandler);
120
+ }
121
+ updateGroups() {
122
+ this.setSelectedGroup();
123
+ this.groups = getFastNavigationGroups(document.body);
124
+ }
125
+ setSelectedGroup(root = window.document) {
126
+ const htmlElement = window.document.querySelector("html");
127
+ let element = this.deepActive(root);
128
+ while (element && element.getAttribute("data-sap-ui-fastnavgroup") !== "true" && element !== htmlElement) {
129
+ element = element.parentElement ? element.parentNode : element.parentNode.host;
130
+ }
131
+ this.selectedGroup = element;
132
+ }
133
+ deepActive(root) {
134
+ if (root.activeElement && root.activeElement.shadowRoot) {
135
+ return this.deepActive(root.activeElement.shadowRoot);
136
+ }
137
+ return root.activeElement;
138
+ }
139
+ destroy() {
140
+ this.removeEventListeners();
141
+ }
142
+ static init() {
143
+ if (!this._instance) {
144
+ this._instance = new F6Navigation();
145
+ }
146
+ return this._instance;
147
+ }
148
+ }
149
+ registerFeature("F6Navigation", F6Navigation);
150
+ export default F6Navigation;
151
+ //# sourceMappingURL=F6Navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"F6Navigation.js","sourceRoot":"","sources":["../../src/features/F6Navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAE/D,MAAM,YAAY;IAMjB;QAHA,kBAAa,GAAuB,IAAI,CAAC;QACzC,WAAM,GAAuB,EAAE,CAAC;QAG/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAmC,CAAC;QACxF,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB;QACnB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAwB;QACjD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAEpG,IAAI,iBAAiB,EAAE;YACtB,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;gBAC1C,OAAO,iBAAiB,CAAC;aACzB;YAED,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YAEzE,IAAI,cAAc,EAAE;gBACnB,OAAO,cAAc,CAAC;aACtB;SACD;IACF,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,YAAoB;QACvD,IAAI,cAAc,CAAC;QAEnB,qCAAqC;QACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACxD,IAAI,WAAW,CAAC;YAEhB,IAAI,YAAY,GAAG,CAAC,CAAC,EAAE;gBACtB,IAAI,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC3C,YAAY,GAAG,CAAC,CAAC;oBACjB,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBACxC;qBAAM;oBACN,YAAY,IAAI,CAAC,CAAC;oBAClB,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBACxC;aACD;iBAAM;gBACN,YAAY,GAAG,CAAC,CAAC;gBACjB,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACxC;YAED,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAE7D,IAAI,cAAc,EAAE;gBACnB,MAAM;aACN;SACD;QACD,oCAAoC;QAEpC,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,YAAoB;QAC3D,IAAI,cAAc,CAAC;QAEnB,qCAAqC;QACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACxD,IAAI,WAAW,CAAC;YAEhB,IAAI,YAAY,GAAG,CAAC,EAAE;gBACrB,4FAA4F;gBAC5F,eAAe;gBACf,+BAA+B;gBAC/B,iBAAiB;gBACjB,qCAAqC;gBACrC,kBAAkB;gBAClB,gCAAgC;gBAChC,+EAA+E;gBAC/E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrF,MAAM,gBAAgB,GAAG,cAAc,KAAK,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBAEtG,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;gBAEtE,IAAI,YAAY,GAAG,CAAC,EAAE;oBACrB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBACtC;gBAED,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACxC;iBAAM;gBACN,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACtC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACxC;YAED,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAE7D,IAAI,cAAc,EAAE;gBACnB,MAAM;aACN;SACD;QACD,oCAAoC;QAEpC,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAoB;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE;YAC3B,OAAO;SACP;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,OAAO;SACP;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,cAAc,CAAC;QAEnB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhE,OAAO,cAAc,EAAE,KAAK,EAAE,CAAC;SAC/B;QAED,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvD;QAED,IAAI,OAAO,EAAE;YACZ,cAAc,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;SACxE;QAED,IAAI,QAAQ,EAAE;YACb,cAAc,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,YAAY,CAAC,CAAC;SAC5E;QAED,cAAc,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,oBAAoB;QACnB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB,CAAC,OAA6B,MAAM,CAAC,QAAQ;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,OAAO,GAAgC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO,OAAO,IAAK,OAAmB,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,MAAM,IAAI,OAAO,KAAK,WAAW,EAAE;YACtH,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAE,OAAO,CAAC,UAAyB,CAAC,IAAI,CAAC;SAC/F;QAED,IAAI,CAAC,aAAa,GAAG,OAAsB,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,IAA0B;QACpC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACxD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACtD;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,OAAO;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;SACpC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;CACD;AAED,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAE9C,eAAe,YAAY,CAAC","sourcesContent":["import { registerFeature } from \"../FeaturesRegistry.js\";\nimport { isF6Next, isF6Previous } from \"../Keys.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { getFirstFocusableElement } from \"../util/FocusableElements.js\";\nimport getFastNavigationGroups from \"../util/getFastNavigationGroups.js\";\nimport isElementClickable from \"../util/isElementClickable.js\";\n\nclass F6Navigation {\n\tstatic _instance: F6Navigation;\n\tkeydownHandler: (event: KeyboardEvent) => void;\n\tselectedGroup: HTMLElement | null = null;\n\tgroups: Array<HTMLElement> = [];\n\n\tconstructor() {\n\t\tthis.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;\n\t\tthis.attachEventListeners();\n\t}\n\n\tattachEventListeners() {\n\t\tdocument.addEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tasync groupElementToFocus(nextElement: HTMLElement) {\n\t\tconst nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;\n\n\t\tif (nextElementDomRef) {\n\t\t\tif (isElementClickable(nextElementDomRef)) {\n\t\t\t\treturn nextElementDomRef;\n\t\t\t}\n\n\t\t\tconst elementToFocus = await getFirstFocusableElement(nextElementDomRef);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\treturn elementToFocus;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync findNextFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > -1) {\n\t\t\t\tif (currentIndex + 1 >= this.groups.length) {\n\t\t\t\t\tcurrentIndex = 0;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t} else {\n\t\t\t\t\tcurrentIndex += 1;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentIndex = 0;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync findPreviousFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\t// Handle the situation where the first focusable element of two neighbor groups is the same\n\t\t\t\t// For example:\n\t\t\t\t// <ui5-flexible-column-layout>\n\t\t\t\t// <ui5-list>\n\t\t\t\t// <ui5-li>List Item</ui5-li>\n\t\t\t\t// </ui5-list>\n\t\t\t\t// </ui5-flexible-column-layout>\n\t\t\t\t// Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)\n\t\t\t\tconst firstFocusable = await this.groupElementToFocus(this.groups[currentIndex - 1]);\n\t\t\t\tconst shouldSkipParent = firstFocusable === await this.groupElementToFocus(this.groups[currentIndex]);\n\n\t\t\t\tcurrentIndex = shouldSkipParent ? currentIndex - 2 : currentIndex - 1;\n\n\t\t\t\tif (currentIndex < 0) {\n\t\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\t}\n\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t} else {\n\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync _keydownHandler(event: KeyboardEvent) {\n\t\tconst forward = isF6Next(event);\n\t\tconst backward = isF6Previous(event);\n\t\tif (!(forward || backward)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateGroups();\n\n\t\tif (this.groups.length < 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tlet elementToFocus;\n\n\t\tif (this.groups.length === 0) {\n\t\t\telementToFocus = await this.groupElementToFocus(this.groups[0]);\n\n\t\t\treturn elementToFocus?.focus();\n\t\t}\n\n\t\tlet currentIndex = -1;\n\n\t\tif (this.selectedGroup) {\n\t\t\tcurrentIndex = this.groups.indexOf(this.selectedGroup);\n\t\t}\n\n\t\tif (forward) {\n\t\t\telementToFocus = await this.findNextFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\tif (backward) {\n\t\t\telementToFocus = await this.findPreviousFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\telementToFocus?.focus();\n\t}\n\n\tremoveEventListeners() {\n\t\tdocument.removeEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tupdateGroups() {\n\t\tthis.setSelectedGroup();\n\t\tthis.groups = getFastNavigationGroups(document.body);\n\t}\n\n\tsetSelectedGroup(root: DocumentOrShadowRoot = window.document) {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element: Element | null | ParentNode = this.deepActive(root);\n\n\t\twhile (element && (element as Element).getAttribute(\"data-sap-ui-fastnavgroup\") !== \"true\" && element !== htmlElement) {\n\t\t\telement = element.parentElement ? element.parentNode : (element.parentNode as ShadowRoot).host;\n\t\t}\n\n\t\tthis.selectedGroup = element as HTMLElement;\n\t}\n\n\tdeepActive(root: DocumentOrShadowRoot): Element | null {\n\t\tif (root.activeElement && root.activeElement.shadowRoot) {\n\t\t\treturn this.deepActive(root.activeElement.shadowRoot);\n\t\t}\n\n\t\treturn root.activeElement;\n\t}\n\n\tdestroy() {\n\t\tthis.removeEventListeners();\n\t}\n\n\tstatic init() {\n\t\tif (!this._instance) {\n\t\t\tthis._instance = new F6Navigation();\n\t\t}\n\n\t\treturn this._instance;\n\t}\n}\n\nregisterFeature(\"F6Navigation\", F6Navigation);\n\nexport default F6Navigation;\n"]}
@@ -0,0 +1,18 @@
1
+ import type { FormatSettings } from "../config/FormatSettings.js";
2
+ type IslamicToGregorianMapping = {
3
+ dateFormat: string;
4
+ islamicMonthStart: string;
5
+ gregDate: string;
6
+ };
7
+ type LegacyDateCalendarCustomizing = Array<IslamicToGregorianMapping>;
8
+ declare class LegacyDateFormats {
9
+ /**
10
+ * Returns the currently set customizing data for Islamic calendar support
11
+ *
12
+ * @return {object[]} Returns an array that contains the customizing data.
13
+ * @public
14
+ */
15
+ static getLegacyDateCalendarCustomizing(this: void): LegacyDateCalendarCustomizing;
16
+ }
17
+ export default LegacyDateFormats;
18
+ export type { FormatSettings, LegacyDateCalendarCustomizing, };
@@ -0,0 +1,20 @@
1
+ import { getFormatSettings } from "../InitialConfiguration.js";
2
+ import { registerFeature } from "../FeaturesRegistry.js";
3
+ let formatSettings;
4
+ class LegacyDateFormats {
5
+ /**
6
+ * Returns the currently set customizing data for Islamic calendar support
7
+ *
8
+ * @return {object[]} Returns an array that contains the customizing data.
9
+ * @public
10
+ */
11
+ static getLegacyDateCalendarCustomizing() {
12
+ if (formatSettings === undefined) {
13
+ formatSettings = getFormatSettings();
14
+ }
15
+ return formatSettings.legacyDateCalendarCustomizing || [];
16
+ }
17
+ }
18
+ registerFeature("LegacyDateFormats", LegacyDateFormats);
19
+ export default LegacyDateFormats;
20
+ //# sourceMappingURL=LegacyDateFormats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegacyDateFormats.js","sourceRoot":"","sources":["../../src/features/LegacyDateFormats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD,IAAI,cAA8B,CAAC;AAEnC,MAAM,iBAAiB;IACtB;;;;;OAKG;IACH,MAAM,CAAC,gCAAgC;QACtC,IAAI,cAAc,KAAK,SAAS,EAAE;YACjC,cAAc,GAAG,iBAAiB,EAAE,CAAC;SACrC;QAED,OAAO,cAAc,CAAC,6BAA6B,IAAI,EAAE,CAAC;IAC3D,CAAC;CACD;AAED,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAExD,eAAe,iBAAiB,CAAC","sourcesContent":["import { getFormatSettings } from \"../InitialConfiguration.js\";\nimport type { FormatSettings } from \"../config/FormatSettings.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\n\n// Allows specifying the customizing data for Islamic calendar support\n// dateFormat - The date format\n// islamicMonthStart - The Islamic date in string format // 14360101\n// gregDate - Corresponding Gregorian date to the Islamic one in string format // 20141024\ntype IslamicToGregorianMapping = {\n\tdateFormat: string,\n\tislamicMonthStart: string,\n\tgregDate: string,\n};\ntype LegacyDateCalendarCustomizing = Array<IslamicToGregorianMapping>;\n\nlet formatSettings: FormatSettings;\n\nclass LegacyDateFormats {\n\t/**\n\t * Returns the currently set customizing data for Islamic calendar support\n\t *\n\t * @return {object[]} Returns an array that contains the customizing data.\n\t * @public\n\t */\n\tstatic getLegacyDateCalendarCustomizing(this: void): LegacyDateCalendarCustomizing {\n\t\tif (formatSettings === undefined) {\n\t\t\tformatSettings = getFormatSettings();\n\t\t}\n\n\t\treturn formatSettings.legacyDateCalendarCustomizing || [];\n\t}\n}\n\nregisterFeature(\"LegacyDateFormats\", LegacyDateFormats);\n\nexport default LegacyDateFormats;\nexport type {\n\tFormatSettings,\n\tLegacyDateCalendarCustomizing,\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import UI5Element from "../UI5Element.js";
2
+ declare class OpenUI5Element extends UI5Element {
3
+ __isBusy?: boolean;
4
+ isOpenUI5Component?: boolean;
5
+ __suppressFocusIn?: () => void;
6
+ __suppressFocusBack?: (e: KeyboardEvent) => void;
7
+ __redirectFocus?: boolean;
8
+ }
9
+ export default OpenUI5Element;
@@ -0,0 +1,5 @@
1
+ import UI5Element from "../UI5Element.js";
2
+ class OpenUI5Element extends UI5Element {
3
+ }
4
+ export default OpenUI5Element;
5
+ //# sourceMappingURL=OpenUI5Element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenUI5Element.js","sourceRoot":"","sources":["../../src/features/OpenUI5Element.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,cAAe,SAAQ,UAAU;CAMtC;AAED,eAAe,cAAc,CAAC","sourcesContent":["import UI5Element from \"../UI5Element.js\";\n\nclass OpenUI5Element extends UI5Element {\n\t__isBusy?: boolean;\n\tisOpenUI5Component?: boolean;\n\t__suppressFocusIn?: () => void;\n\t__suppressFocusBack?: (e: KeyboardEvent) => void;\n\t__redirectFocus?: boolean;\n}\n\nexport default OpenUI5Element;\n"]}
@@ -0,0 +1,11 @@
1
+ import { TemplateResult } from "lit-html";
2
+ import type UI5Element from "../UI5Element.js";
3
+ import type OpenUI5Element from "./OpenUI5Element.js";
4
+ declare class OpenUI5Enablement {
5
+ static wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult): TemplateResult;
6
+ static enrichBusyIndicatorSettings(klass: typeof UI5Element): void;
7
+ static enrichBusyIndicatorMetadata(klass: typeof UI5Element): void;
8
+ static enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype): void;
9
+ static getBusyIndicatorStyles(): import("../types.js").StyleData;
10
+ }
11
+ export default OpenUI5Enablement;
@@ -0,0 +1,96 @@
1
+ import { registerFeature } from "../FeaturesRegistry.js";
2
+ import BusyIndicatorStyles from "../generated/css/BusyIndicator.css.js";
3
+ import merge from "../thirdparty/merge.js";
4
+ import { isTabPrevious, } from "../Keys.js";
5
+ const busyIndicatorMetadata = {
6
+ properties: {
7
+ __isBusy: {
8
+ type: Boolean,
9
+ },
10
+ },
11
+ };
12
+ class OpenUI5Enablement {
13
+ static wrapTemplateResultInBusyMarkup(html, host, templateResult) {
14
+ if (host.isOpenUI5Component && host.__isBusy) {
15
+ templateResult = html `
16
+ <div class="busy-indicator-wrapper">
17
+ <span tabindex="0" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>
18
+ ${templateResult}
19
+ <div class="busy-indicator-overlay"></div>
20
+ <div busy-indicator
21
+ class="busy-indicator-busy-area"
22
+ tabindex="0"
23
+ role="progressbar"
24
+ @keydown=${host.__suppressFocusBack}
25
+ aria-valuemin="0"
26
+ aria-valuemax="100"
27
+ aria-valuetext="Busy">
28
+ <div>
29
+ <div class="busy-indicator-circle circle-animation-0"></div>
30
+ <div class="busy-indicator-circle circle-animation-1"></div>
31
+ <div class="busy-indicator-circle circle-animation-2"></div>
32
+ </div>
33
+ </div>
34
+ </div>`;
35
+ }
36
+ return templateResult;
37
+ }
38
+ static enrichBusyIndicatorSettings(klass) {
39
+ OpenUI5Enablement.enrichBusyIndicatorMetadata(klass);
40
+ OpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);
41
+ }
42
+ static enrichBusyIndicatorMetadata(klass) {
43
+ klass.metadata = merge(klass.metadata, busyIndicatorMetadata);
44
+ }
45
+ static enrichBusyIndicatorMethods(UI5ElementPrototype) {
46
+ Object.defineProperties(UI5ElementPrototype, {
47
+ "__redirectFocus": { value: true, writable: true },
48
+ "__suppressFocusBack": {
49
+ get() {
50
+ return {
51
+ handleEvent: (e) => {
52
+ if (isTabPrevious(e)) {
53
+ const beforeElem = this.shadowRoot.querySelector("[busy-indicator-before-span]");
54
+ this.__redirectFocus = false;
55
+ beforeElem.focus();
56
+ this.__redirectFocus = true;
57
+ }
58
+ },
59
+ capture: true,
60
+ passive: false,
61
+ };
62
+ },
63
+ },
64
+ "isOpenUI5Component": { get: () => { return true; } },
65
+ });
66
+ UI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {
67
+ const busyIndicator = this.shadowRoot?.querySelector("[busy-indicator]");
68
+ if (busyIndicator && this.__redirectFocus) {
69
+ busyIndicator.focus();
70
+ }
71
+ };
72
+ UI5ElementPrototype.getDomRef = function getDomRef() {
73
+ // If a component set _getRealDomRef to its children, use the return value of this function
74
+ if (typeof this._getRealDomRef === "function") {
75
+ return this._getRealDomRef();
76
+ }
77
+ if (!this.shadowRoot || this.shadowRoot.children.length === 0) {
78
+ return;
79
+ }
80
+ const children = [...this.shadowRoot.children].filter(child => !["link", "style"].includes(child.localName));
81
+ if (children.length !== 1) {
82
+ console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line
83
+ }
84
+ if (this.__isBusy) {
85
+ return children[0].querySelector(".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)");
86
+ }
87
+ return children[0];
88
+ };
89
+ }
90
+ static getBusyIndicatorStyles() {
91
+ return BusyIndicatorStyles;
92
+ }
93
+ }
94
+ registerFeature("OpenUI5Enablement", OpenUI5Enablement);
95
+ export default OpenUI5Enablement;
96
+ //# sourceMappingURL=OpenUI5Enablement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenUI5Enablement.js","sourceRoot":"","sources":["../../src/features/OpenUI5Enablement.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult } from \"lit-html\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport BusyIndicatorStyles from \"../generated/css/BusyIndicator.css.js\";\nimport merge from \"../thirdparty/merge.js\";\nimport {\n\tisTabPrevious,\n} from \"../Keys.js\";\n\nimport type UI5Element from \"../UI5Element.js\";\nimport type OpenUI5Element from \"./OpenUI5Element.js\";\n\nconst busyIndicatorMetadata = {\n\tproperties: {\n\t\t__isBusy: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n};\n\nclass OpenUI5Enablement {\n\tstatic wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult) {\n\t\tif (host.isOpenUI5Component && host.__isBusy) {\n\t\t\ttemplateResult = html`\n\t\t\t<div class=\"busy-indicator-wrapper\">\n\t\t\t\t<span tabindex=\"0\" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>\n\t\t\t\t${templateResult}\n\t\t\t\t<div class=\"busy-indicator-overlay\"></div>\n\t\t\t\t<div busy-indicator\n\t\t\t\t\tclass=\"busy-indicator-busy-area\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t@keydown=${host.__suppressFocusBack}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuetext=\"Busy\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-0\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-1\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-2\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn templateResult;\n\t}\n\n\tstatic enrichBusyIndicatorSettings(klass: typeof UI5Element) {\n\t\tOpenUI5Enablement.enrichBusyIndicatorMetadata(klass);\n\t\tOpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);\n\t}\n\n\tstatic enrichBusyIndicatorMetadata(klass: typeof UI5Element) {\n\t\tklass.metadata = merge(klass.metadata, busyIndicatorMetadata);\n\t}\n\n\tstatic enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype) {\n\t\tObject.defineProperties(UI5ElementPrototype, {\n\t\t\t\"__redirectFocus\": { value: true, writable: true },\n\t\t\t\"__suppressFocusBack\": {\n\t\t\t\tget() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thandleEvent: (e: KeyboardEvent) => {\n\t\t\t\t\t\t\tif (isTabPrevious(e)) {\n\t\t\t\t\t\t\t\tconst beforeElem = this.shadowRoot.querySelector(\"[busy-indicator-before-span]\");\n\t\t\t\t\t\t\t\tthis.__redirectFocus = false;\n\t\t\t\t\t\t\t\tbeforeElem.focus();\n\t\t\t\t\t\t\t\tthis.__redirectFocus = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcapture: true,\n\t\t\t\t\t\tpassive: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"isOpenUI5Component\": { get: () => { return true; } },\n\t\t});\n\n\t\tUI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {\n\t\t\tconst busyIndicator = this.shadowRoot?.querySelector(\"[busy-indicator]\") as HTMLElement;\n\t\t\tif (busyIndicator && this.__redirectFocus) {\n\t\t\t\tbusyIndicator.focus();\n\t\t\t}\n\t\t};\n\n\t\tUI5ElementPrototype.getDomRef = function getDomRef() {\n\t\t\t// If a component set _getRealDomRef to its children, use the return value of this function\n\t\t\tif (typeof this._getRealDomRef === \"function\") {\n\t\t\t\treturn this._getRealDomRef();\n\t\t\t}\n\n\t\t\tif (!this.shadowRoot || this.shadowRoot.children.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst children = [...this.shadowRoot.children].filter(child => ![\"link\", \"style\"].includes(child.localName));\n\n\t\t\tif (children.length !== 1) {\n\t\t\t\tconsole.warn(`The shadow DOM for ${(this.constructor as typeof UI5Element).getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line\n\t\t\t}\n\n\t\t\tif (this.__isBusy) {\n\t\t\t\treturn children[0].querySelector(\".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)\") as HTMLElement;\n\t\t\t}\n\n\t\t\treturn children[0] as HTMLElement;\n\t\t};\n\t}\n\n\tstatic getBusyIndicatorStyles() {\n\t\treturn BusyIndicatorStyles;\n\t}\n}\n\nregisterFeature(\"OpenUI5Enablement\", OpenUI5Enablement);\n\nexport default OpenUI5Enablement;\n"]}
@@ -0,0 +1,36 @@
1
+ import { CLDRData } from "../asset-registries/LocaleData.js";
2
+ import type { LegacyDateCalendarCustomizing } from "../features/LegacyDateFormats.js";
3
+ declare class OpenUI5Support {
4
+ static isAtLeastVersion116(): boolean;
5
+ static isOpenUI5Detected(): boolean;
6
+ static init(): Promise<void>;
7
+ static getConfigurationSettingsObject(): {
8
+ animationMode?: undefined;
9
+ language?: undefined;
10
+ theme?: undefined;
11
+ themeRoot?: undefined;
12
+ rtl?: undefined;
13
+ timezone?: undefined;
14
+ calendarType?: undefined;
15
+ formatSettings?: undefined;
16
+ } | {
17
+ animationMode: string;
18
+ language: string;
19
+ theme: string;
20
+ themeRoot: string;
21
+ rtl: string;
22
+ timezone: string;
23
+ calendarType: string;
24
+ formatSettings: {
25
+ firstDayOfWeek: number | undefined;
26
+ legacyDateCalendarCustomizing: LegacyDateCalendarCustomizing;
27
+ };
28
+ };
29
+ static getLocaleDataObject(): CLDRData | undefined;
30
+ static _listenForThemeChange(): void;
31
+ static attachListeners(): void;
32
+ static cssVariablesLoaded(): boolean | undefined;
33
+ static getNextZIndex(): number | undefined;
34
+ static setInitialZIndex(): void;
35
+ }
36
+ export default OpenUI5Support;
@@ -1,76 +1,155 @@
1
1
  import { registerFeature } from "../FeaturesRegistry.js";
2
2
  import { setTheme } from "../config/Theme.js";
3
-
4
- const sap = window.sap;
5
- const core = sap && sap.ui && typeof sap.ui.getCore === "function" && sap.ui.getCore();
6
-
7
- const isLoaded = () => {
8
- return !!core;
9
- };
10
-
11
- const init = () => {
12
- if (!core) {
13
- return Promise.resolve();
14
- }
15
-
16
- return new Promise(resolve => {
17
- core.attachInit(() => {
18
- sap.ui.require(["sap/ui/core/LocaleData"], resolve);
19
- });
20
- });
21
- };
22
-
23
- const getConfigurationSettingsObject = () => {
24
- if (!core) {
25
- return;
26
- }
27
-
28
- const config = core.getConfiguration();
29
- const LocaleData = sap.ui.require("sap/ui/core/LocaleData");
30
-
31
- return {
32
- animationMode: config.getAnimationMode(),
33
- language: config.getLanguage(),
34
- theme: config.getTheme(),
35
- rtl: config.getRTL(),
36
- calendarType: config.getCalendarType(),
37
- formatSettings: {
38
- firstDayOfWeek: LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek(),
39
- },
40
- };
41
- };
42
-
43
- const getLocaleDataObject = () => {
44
- if (!core) {
45
- return;
46
- }
47
-
48
- const config = core.getConfiguration();
49
- const LocaleData = sap.ui.require("sap/ui/core/LocaleData");
50
- return LocaleData.getInstance(config.getLocale())._get();
51
- };
52
-
53
- const listenForThemeChange = () => {
54
- const config = core.getConfiguration();
55
- core.attachThemeChanged(async () => {
56
- await setTheme(config.getTheme());
57
- });
58
- };
59
-
60
- const attachListeners = () => {
61
- if (!core) {
62
- return;
63
- }
64
-
65
- listenForThemeChange();
66
- };
67
-
68
- const OpenUI5Support = {
69
- isLoaded,
70
- init,
71
- getConfigurationSettingsObject,
72
- getLocaleDataObject,
73
- attachListeners,
74
- };
75
-
3
+ import { getCurrentZIndex } from "../util/PopupUtils.js";
4
+ class OpenUI5Support {
5
+ static isAtLeastVersion116() {
6
+ const version = window.sap.ui.version;
7
+ const parts = version.split(".");
8
+ if (!parts || parts.length < 2) {
9
+ return false;
10
+ }
11
+ return parseInt(parts[0]) > 1 || parseInt(parts[1]) >= 116;
12
+ }
13
+ static isOpenUI5Detected() {
14
+ return typeof window.sap?.ui?.require === "function";
15
+ }
16
+ static init() {
17
+ if (!OpenUI5Support.isOpenUI5Detected()) {
18
+ return Promise.resolve();
19
+ }
20
+ return new Promise(resolve => {
21
+ window.sap.ui.require(["sap/ui/core/Core"], async (Core) => {
22
+ const callback = () => {
23
+ let deps = ["sap/ui/core/Popup", "sap/ui/core/LocaleData"];
24
+ if (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core
25
+ deps = [
26
+ ...deps,
27
+ "sap/base/i18n/Formatting",
28
+ "sap/base/i18n/Localization",
29
+ "sap/ui/core/ControlBehavior",
30
+ "sap/ui/core/Theming",
31
+ "sap/ui/core/date/CalendarUtils",
32
+ ];
33
+ }
34
+ window.sap.ui.require(deps, (Popup) => {
35
+ Popup.setInitialZIndex(getCurrentZIndex());
36
+ resolve();
37
+ });
38
+ };
39
+ if (OpenUI5Support.isAtLeastVersion116()) {
40
+ await Core.ready();
41
+ callback();
42
+ }
43
+ else {
44
+ Core.attachInit(callback);
45
+ }
46
+ });
47
+ });
48
+ }
49
+ static getConfigurationSettingsObject() {
50
+ if (!OpenUI5Support.isOpenUI5Detected()) {
51
+ return {};
52
+ }
53
+ if (OpenUI5Support.isAtLeastVersion116()) {
54
+ const ControlBehavior = window.sap.ui.require("sap/ui/core/ControlBehavior");
55
+ const Localization = window.sap.ui.require("sap/base/i18n/Localization");
56
+ const Theming = window.sap.ui.require("sap/ui/core/Theming");
57
+ const Formatting = window.sap.ui.require("sap/base/i18n/Formatting");
58
+ const CalendarUtils = window.sap.ui.require("sap/ui/core/date/CalendarUtils");
59
+ return {
60
+ animationMode: ControlBehavior.getAnimationMode(),
61
+ language: Localization.getLanguage(),
62
+ theme: Theming.getTheme(),
63
+ themeRoot: Theming.getThemeRoot(),
64
+ rtl: Localization.getRTL(),
65
+ timezone: Localization.getTimezone(),
66
+ calendarType: Formatting.getCalendarType(),
67
+ formatSettings: {
68
+ firstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,
69
+ legacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()
70
+ ?? Formatting.getLegacyDateCalendarCustomizing?.(),
71
+ },
72
+ };
73
+ }
74
+ const Core = window.sap.ui.require("sap/ui/core/Core");
75
+ const config = Core.getConfiguration();
76
+ const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
77
+ return {
78
+ animationMode: config.getAnimationMode(),
79
+ language: config.getLanguage(),
80
+ theme: config.getTheme(),
81
+ themeRoot: config.getThemeRoot(),
82
+ rtl: config.getRTL(),
83
+ timezone: config.getTimezone(),
84
+ calendarType: config.getCalendarType(),
85
+ formatSettings: {
86
+ firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
87
+ legacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),
88
+ },
89
+ };
90
+ }
91
+ static getLocaleDataObject() {
92
+ if (!OpenUI5Support.isOpenUI5Detected()) {
93
+ return;
94
+ }
95
+ const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
96
+ if (OpenUI5Support.isAtLeastVersion116()) {
97
+ const Localization = window.sap.ui.require("sap/base/i18n/Localization");
98
+ return LocaleData.getInstance(Localization.getLanguageTag())._get();
99
+ }
100
+ const Core = window.sap.ui.require("sap/ui/core/Core");
101
+ const config = Core.getConfiguration();
102
+ return LocaleData.getInstance(config.getLocale())._get();
103
+ }
104
+ static _listenForThemeChange() {
105
+ if (OpenUI5Support.isAtLeastVersion116()) {
106
+ const Theming = window.sap.ui.require("sap/ui/core/Theming");
107
+ Theming.attachApplied(() => {
108
+ setTheme(Theming.getTheme());
109
+ });
110
+ }
111
+ else {
112
+ const Core = window.sap.ui.require("sap/ui/core/Core");
113
+ const config = Core.getConfiguration();
114
+ Core.attachThemeChanged(() => {
115
+ setTheme(config.getTheme());
116
+ });
117
+ }
118
+ }
119
+ static attachListeners() {
120
+ if (!OpenUI5Support.isOpenUI5Detected()) {
121
+ return;
122
+ }
123
+ OpenUI5Support._listenForThemeChange();
124
+ }
125
+ static cssVariablesLoaded() {
126
+ if (!OpenUI5Support.isOpenUI5Detected()) {
127
+ return;
128
+ }
129
+ const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core"); // more reliable than querySelector early
130
+ if (!link) {
131
+ return false;
132
+ }
133
+ return !!link.href.match(/\/css(-|_)variables\.css/);
134
+ }
135
+ static getNextZIndex() {
136
+ if (!OpenUI5Support.isOpenUI5Detected()) {
137
+ return;
138
+ }
139
+ const Popup = window.sap.ui.require("sap/ui/core/Popup");
140
+ if (!Popup) {
141
+ console.warn(`The OpenUI5Support feature hasn't been initialized properly. Make sure you import the "@ui5/webcomponents-base/dist/features/OpenUI5Support.js" module before all components' modules.`); // eslint-disable-line
142
+ }
143
+ return Popup.getNextZIndex();
144
+ }
145
+ static setInitialZIndex() {
146
+ if (!OpenUI5Support.isOpenUI5Detected()) {
147
+ return;
148
+ }
149
+ const Popup = window.sap.ui.require("sap/ui/core/Popup");
150
+ Popup.setInitialZIndex(getCurrentZIndex());
151
+ }
152
+ }
76
153
  registerFeature("OpenUI5Support", OpenUI5Support);
154
+ export default OpenUI5Support;
155
+ //# sourceMappingURL=OpenUI5Support.js.map