@ui5/webcomponents-base 0.0.0-b6f02e4b3 → 0.0.0-b93bc8b37

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 (613) hide show
  1. package/.eslintignore +6 -4
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +359 -0
  4. package/README.md +28 -6
  5. package/bundle.esm.js +17 -11
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -44
  12. package/dist/Boot.js.map +1 -0
  13. package/{src/CSP.js → dist/CSP.d.ts} +8 -37
  14. package/dist/CSP.js +16 -24
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +66 -83
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +10 -29
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/dist/CustomElementsScopeUtils.js +34 -52
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +145 -100
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -82
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -10
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +14 -19
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/InitialConfiguration.d.ts +27 -0
  41. package/dist/InitialConfiguration.js +121 -131
  42. package/dist/InitialConfiguration.js.map +1 -0
  43. package/dist/Keys.d.ts +57 -0
  44. package/dist/Keys.js +174 -291
  45. package/dist/Keys.js.map +1 -0
  46. package/dist/ManagedStyles.d.ts +8 -0
  47. package/dist/ManagedStyles.js +62 -68
  48. package/dist/ManagedStyles.js.map +1 -0
  49. package/dist/MarkedEvents.d.ts +9 -0
  50. package/dist/MarkedEvents.js +15 -0
  51. package/dist/MarkedEvents.js.map +1 -0
  52. package/dist/MediaRange.d.ts +37 -0
  53. package/dist/MediaRange.js +54 -65
  54. package/dist/MediaRange.js.map +1 -0
  55. package/dist/PropertiesFileFormat.d.ts +8 -0
  56. package/dist/PropertiesFileFormat.js +72 -82
  57. package/dist/PropertiesFileFormat.js.map +1 -0
  58. package/dist/Render.d.ts +47 -0
  59. package/dist/Render.js +81 -113
  60. package/dist/Render.js.map +1 -0
  61. package/dist/RenderQueue.d.ts +19 -0
  62. package/dist/RenderQueue.js +52 -62
  63. package/dist/RenderQueue.js.map +1 -0
  64. package/dist/Runtimes.d.ts +27 -0
  65. package/dist/Runtimes.js +49 -70
  66. package/dist/Runtimes.js.map +1 -0
  67. package/dist/StaticArea.d.ts +3 -0
  68. package/dist/StaticArea.js +5 -1
  69. package/dist/StaticArea.js.map +1 -0
  70. package/dist/StaticAreaItem.d.ts +36 -0
  71. package/dist/StaticAreaItem.js +84 -86
  72. package/dist/StaticAreaItem.js.map +1 -0
  73. package/dist/SystemCSSVars.d.ts +2 -0
  74. package/dist/SystemCSSVars.js +4 -5
  75. package/dist/SystemCSSVars.js.map +1 -0
  76. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  77. package/dist/Theming.js +1 -1
  78. package/dist/Theming.js.map +1 -0
  79. package/dist/UI5Element.d.ts +378 -0
  80. package/dist/UI5Element.js +917 -995
  81. package/dist/UI5Element.js.map +1 -0
  82. package/dist/UI5ElementMetadata.d.ts +150 -0
  83. package/dist/UI5ElementMetadata.js +277 -313
  84. package/dist/UI5ElementMetadata.js.map +1 -0
  85. package/dist/animations/AnimationQueue.d.ts +8 -0
  86. package/dist/animations/AnimationQueue.js +31 -38
  87. package/dist/animations/AnimationQueue.js.map +1 -0
  88. package/dist/animations/animate.d.ts +14 -0
  89. package/dist/animations/animate.js +46 -51
  90. package/dist/animations/animate.js.map +1 -0
  91. package/dist/animations/scroll.d.ts +5 -0
  92. package/dist/animations/scroll.js +18 -27
  93. package/dist/animations/scroll.js.map +1 -0
  94. package/dist/animations/slideDown.d.ts +5 -0
  95. package/dist/animations/slideDown.js +53 -78
  96. package/dist/animations/slideDown.js.map +1 -0
  97. package/dist/animations/slideUp.d.ts +5 -0
  98. package/dist/animations/slideUp.js +49 -70
  99. package/dist/animations/slideUp.js.map +1 -0
  100. package/dist/api.json +1 -0
  101. package/dist/asset-registries/Icons.d.ts +38 -0
  102. package/dist/asset-registries/Icons.js +109 -119
  103. package/dist/asset-registries/Icons.js.map +1 -0
  104. package/dist/asset-registries/Illustrations.d.ts +17 -0
  105. package/dist/asset-registries/Illustrations.js +41 -25
  106. package/dist/asset-registries/Illustrations.js.map +1 -0
  107. package/dist/asset-registries/LocaleData.d.ts +7 -0
  108. package/dist/asset-registries/LocaleData.js +104 -132
  109. package/dist/asset-registries/LocaleData.js.map +1 -0
  110. package/dist/asset-registries/Themes.d.ts +11 -0
  111. package/dist/asset-registries/Themes.js +38 -68
  112. package/dist/asset-registries/Themes.js.map +1 -0
  113. package/dist/asset-registries/i18n.d.ts +23 -0
  114. package/dist/asset-registries/i18n.js +61 -81
  115. package/dist/asset-registries/i18n.js.map +1 -0
  116. package/dist/assets/Boot.34b7cea0.css +1 -0
  117. package/dist/assets/Boot.943283a1.js +9 -0
  118. package/dist/assets/bundle.esm.de818fe7.js +50 -0
  119. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  120. package/dist/assets-meta/IconCollectionsAlias.js +30 -10
  121. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  122. package/dist/config/AnimationMode.d.ts +14 -0
  123. package/dist/config/AnimationMode.js +21 -18
  124. package/dist/config/AnimationMode.js.map +1 -0
  125. package/dist/config/CalendarType.d.ts +8 -0
  126. package/dist/config/CalendarType.js +13 -12
  127. package/dist/config/CalendarType.js.map +1 -0
  128. package/dist/config/FormatSettings.d.ts +15 -0
  129. package/dist/config/FormatSettings.js +15 -9
  130. package/dist/config/FormatSettings.js.map +1 -0
  131. package/dist/config/Icons.d.ts +55 -0
  132. package/dist/config/Icons.js +89 -38
  133. package/dist/config/Icons.js.map +1 -0
  134. package/dist/config/Language.d.ts +40 -0
  135. package/dist/config/Language.js +43 -43
  136. package/dist/config/Language.js.map +1 -0
  137. package/dist/config/NoConflict.d.ts +20 -0
  138. package/dist/config/NoConflict.js +41 -41
  139. package/dist/config/NoConflict.js.map +1 -0
  140. package/dist/config/RTL.d.ts +7 -0
  141. package/dist/config/RTL.js +26 -20
  142. package/dist/config/RTL.js.map +1 -0
  143. package/dist/config/Theme.d.ts +38 -0
  144. package/dist/config/Theme.js +54 -37
  145. package/dist/config/Theme.js.map +1 -0
  146. package/dist/config/ThemeRoots.d.ts +4 -0
  147. package/dist/config/ThemeRoots.js +28 -0
  148. package/dist/config/ThemeRoots.js.map +1 -0
  149. package/dist/config/Timezone.d.ts +17 -0
  150. package/dist/config/Timezone.js +30 -0
  151. package/dist/config/Timezone.js.map +1 -0
  152. package/dist/css/BusyIndicator.css +4 -0
  153. package/dist/css/FontFace.css +9 -18
  154. package/dist/decorators/customElement.d.ts +23 -0
  155. package/dist/decorators/customElement.js +37 -0
  156. package/dist/decorators/customElement.js.map +1 -0
  157. package/dist/decorators/event.d.ts +10 -0
  158. package/dist/decorators/event.js +24 -0
  159. package/dist/decorators/event.js.map +1 -0
  160. package/dist/decorators/property.d.ts +9 -0
  161. package/dist/decorators/property.js +24 -0
  162. package/dist/decorators/property.js.map +1 -0
  163. package/dist/decorators/slot.d.ts +9 -0
  164. package/dist/decorators/slot.js +37 -0
  165. package/dist/decorators/slot.js.map +1 -0
  166. package/dist/delegate/ItemNavigation.d.ts +113 -0
  167. package/dist/delegate/ItemNavigation.js +277 -312
  168. package/dist/delegate/ItemNavigation.js.map +1 -0
  169. package/dist/delegate/ResizeHandler.d.ts +25 -0
  170. package/dist/delegate/ResizeHandler.js +72 -91
  171. package/dist/delegate/ResizeHandler.js.map +1 -0
  172. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  173. package/dist/delegate/ScrollEnablement.js +157 -180
  174. package/dist/delegate/ScrollEnablement.js.map +1 -0
  175. package/dist/features/F6Navigation.d.ts +19 -0
  176. package/dist/features/F6Navigation.js +145 -102
  177. package/dist/features/F6Navigation.js.map +1 -0
  178. package/dist/features/LegacyDateFormats.d.ts +18 -0
  179. package/dist/features/LegacyDateFormats.js +20 -0
  180. package/dist/features/LegacyDateFormats.js.map +1 -0
  181. package/dist/features/OpenUI5Element.d.ts +9 -0
  182. package/dist/features/OpenUI5Element.js +5 -0
  183. package/dist/features/OpenUI5Element.js.map +1 -0
  184. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  185. package/dist/features/OpenUI5Enablement.js +89 -112
  186. package/dist/features/OpenUI5Enablement.js.map +1 -0
  187. package/dist/features/OpenUI5Support.d.ts +26 -0
  188. package/dist/features/OpenUI5Support.js +93 -119
  189. package/dist/features/OpenUI5Support.js.map +1 -0
  190. package/dist/generated/AssetParameters.js +2 -0
  191. package/dist/generated/VersionInfo.js +3 -3
  192. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  193. package/dist/generated/css/BusyIndicator.css.js +7 -5
  194. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  195. package/dist/generated/css/FontFace.css.d.ts +3 -0
  196. package/dist/generated/css/FontFace.css.js +7 -5
  197. package/dist/generated/css/FontFace.css.js.map +1 -0
  198. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  199. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  200. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  201. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  202. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  203. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  204. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  205. package/dist/getSharedResource.d.ts +11 -0
  206. package/dist/getSharedResource.js +22 -18
  207. package/dist/getSharedResource.js.map +1 -0
  208. package/dist/global.d.ts +40 -0
  209. package/dist/i18nBundle.d.ts +43 -0
  210. package/dist/i18nBundle.js +56 -64
  211. package/dist/i18nBundle.js.map +1 -0
  212. package/dist/locale/Locale.d.ts +22 -0
  213. package/dist/locale/Locale.js +75 -87
  214. package/dist/locale/Locale.js.map +1 -0
  215. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  216. package/dist/locale/RTLAwareRegistry.js +6 -11
  217. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  218. package/dist/locale/applyDirection.d.ts +10 -0
  219. package/dist/locale/applyDirection.js +7 -7
  220. package/dist/locale/applyDirection.js.map +1 -0
  221. package/dist/locale/directionChange.d.ts +15 -0
  222. package/dist/locale/directionChange.js +7 -15
  223. package/dist/locale/directionChange.js.map +1 -0
  224. package/dist/locale/getEffectiveDir.d.ts +2 -0
  225. package/dist/locale/getEffectiveDir.js +20 -24
  226. package/dist/locale/getEffectiveDir.js.map +1 -0
  227. package/dist/locale/getLocale.d.ts +7 -0
  228. package/dist/locale/getLocale.js +26 -29
  229. package/dist/locale/getLocale.js.map +1 -0
  230. package/dist/locale/languageChange.d.ts +5 -0
  231. package/dist/locale/languageChange.js +8 -16
  232. package/dist/locale/languageChange.js.map +1 -0
  233. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  234. package/dist/locale/nextFallbackLocale.js +15 -19
  235. package/dist/locale/nextFallbackLocale.js.map +1 -0
  236. package/dist/locale/normalizeLocale.d.ts +7 -0
  237. package/dist/locale/normalizeLocale.js +34 -41
  238. package/dist/locale/normalizeLocale.js.map +1 -0
  239. package/dist/renderer/LitRenderer.d.ts +14 -0
  240. package/dist/renderer/LitRenderer.js +28 -39
  241. package/dist/renderer/LitRenderer.js.map +1 -0
  242. package/dist/renderer/executeTemplate.d.ts +13 -0
  243. package/dist/renderer/executeTemplate.js +12 -16
  244. package/dist/renderer/executeTemplate.js.map +1 -0
  245. package/dist/sap/base/Log.js +28 -29
  246. package/dist/sap/base/assert.js +5 -6
  247. package/dist/sap/base/security/URLListValidator.js +13 -2
  248. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  249. package/dist/theming/CustomStyle.d.ts +6 -0
  250. package/dist/theming/CustomStyle.js +33 -45
  251. package/dist/theming/CustomStyle.js.map +1 -0
  252. package/dist/theming/ThemeLoaded.d.ts +5 -0
  253. package/dist/theming/ThemeLoaded.js +8 -16
  254. package/dist/theming/ThemeLoaded.js.map +1 -0
  255. package/dist/theming/ThemeRegistered.d.ts +4 -0
  256. package/dist/theming/ThemeRegistered.js +11 -0
  257. package/dist/theming/ThemeRegistered.js.map +1 -0
  258. package/dist/theming/applyTheme.d.ts +2 -0
  259. package/dist/theming/applyTheme.js +60 -64
  260. package/dist/theming/applyTheme.js.map +1 -0
  261. package/dist/theming/getConstructableStyle.d.ts +9 -0
  262. package/dist/theming/getConstructableStyle.js +12 -17
  263. package/dist/theming/getConstructableStyle.js.map +1 -0
  264. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  265. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  266. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  267. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  268. package/dist/theming/getEffectiveStyle.js +24 -31
  269. package/dist/theming/getEffectiveStyle.js.map +1 -0
  270. package/dist/theming/getStylesString.d.ts +3 -0
  271. package/dist/theming/getStylesString.js +9 -13
  272. package/dist/theming/getStylesString.js.map +1 -0
  273. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  274. package/dist/theming/getThemeDesignerTheme.js +72 -79
  275. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  276. package/dist/theming/preloadLinks.d.ts +3 -0
  277. package/dist/theming/preloadLinks.js +13 -17
  278. package/dist/theming/preloadLinks.js.map +1 -0
  279. package/dist/thirdparty/_merge.d.ts +2 -0
  280. package/dist/thirdparty/_merge.js +7 -4
  281. package/dist/thirdparty/_merge.js.map +1 -0
  282. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  283. package/dist/thirdparty/isPlainObject.js +11 -10
  284. package/dist/thirdparty/isPlainObject.js.map +1 -0
  285. package/dist/thirdparty/merge.d.ts +2 -0
  286. package/dist/thirdparty/merge.js +4 -8
  287. package/dist/thirdparty/merge.js.map +1 -0
  288. package/dist/types/AnimationMode.d.ts +32 -0
  289. package/dist/types/AnimationMode.js +33 -6
  290. package/dist/types/AnimationMode.js.map +1 -0
  291. package/dist/types/CSSColor.d.ts +15 -0
  292. package/dist/types/CSSColor.js +14 -5
  293. package/dist/types/CSSColor.js.map +1 -0
  294. package/dist/types/CalendarType.d.ts +37 -0
  295. package/dist/types/CalendarType.js +35 -18
  296. package/dist/types/CalendarType.js.map +1 -0
  297. package/dist/types/DOMReference.d.ts +17 -0
  298. package/dist/types/DOMReference.js +25 -0
  299. package/dist/types/DOMReference.js.map +1 -0
  300. package/dist/types/DataType.d.ts +25 -0
  301. package/dist/types/DataType.js +33 -26
  302. package/dist/types/DataType.js.map +1 -0
  303. package/dist/types/Float.d.ts +17 -0
  304. package/dist/types/Float.js +17 -10
  305. package/dist/types/Float.js.map +1 -0
  306. package/dist/types/Integer.d.ts +17 -0
  307. package/dist/types/Integer.js +17 -9
  308. package/dist/types/Integer.js.map +1 -0
  309. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  310. package/dist/types/InvisibleMessageMode.js +20 -23
  311. package/dist/types/InvisibleMessageMode.js.map +1 -0
  312. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  313. package/dist/types/ItemNavigationBehavior.js +22 -12
  314. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  315. package/dist/types/NavigationMode.d.ts +32 -0
  316. package/dist/types/NavigationMode.js +33 -6
  317. package/dist/types/NavigationMode.js.map +1 -0
  318. package/dist/types/ValueState.d.ts +42 -0
  319. package/dist/types/ValueState.js +41 -19
  320. package/dist/types/ValueState.js.map +1 -0
  321. package/dist/types.d.ts +18 -0
  322. package/dist/types.js +2 -0
  323. package/dist/types.js.map +1 -0
  324. package/dist/updateShadowRoot.d.ts +8 -0
  325. package/dist/updateShadowRoot.js +25 -17
  326. package/dist/updateShadowRoot.js.map +1 -0
  327. package/dist/util/AriaLabelHelper.d.ts +15 -0
  328. package/dist/util/AriaLabelHelper.js +166 -36
  329. package/dist/util/AriaLabelHelper.js.map +1 -0
  330. package/dist/util/Caret.d.ts +7 -0
  331. package/dist/util/Caret.js +16 -38
  332. package/dist/util/Caret.js.map +1 -0
  333. package/dist/util/ColorConversion.d.ts +30 -0
  334. package/dist/util/ColorConversion.js +315 -348
  335. package/dist/util/ColorConversion.js.map +1 -0
  336. package/dist/util/FetchHelper.d.ts +3 -0
  337. package/dist/util/FetchHelper.js +19 -25
  338. package/dist/util/FetchHelper.js.map +1 -0
  339. package/dist/util/FocusableElements.d.ts +4 -0
  340. package/dist/util/FocusableElements.js +64 -71
  341. package/dist/util/FocusableElements.js.map +1 -0
  342. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  343. package/dist/util/HTMLSanitizer.js +4 -5
  344. package/dist/util/HTMLSanitizer.js.map +1 -0
  345. package/dist/util/InvisibleMessage.d.ts +10 -0
  346. package/dist/util/InvisibleMessage.js +41 -45
  347. package/dist/util/InvisibleMessage.js.map +1 -0
  348. package/dist/util/PopupUtils.d.ts +7 -0
  349. package/dist/util/PopupUtils.js +58 -77
  350. package/dist/util/PopupUtils.js.map +1 -0
  351. package/dist/util/SlotsHelper.d.ts +9 -0
  352. package/dist/util/SlotsHelper.js +22 -35
  353. package/dist/util/SlotsHelper.js.map +1 -0
  354. package/dist/util/StringHelper.d.ts +3 -0
  355. package/dist/util/StringHelper.js +17 -20
  356. package/dist/util/StringHelper.js.map +1 -0
  357. package/dist/util/TabbableElements.d.ts +17 -0
  358. package/dist/util/TabbableElements.js +53 -47
  359. package/dist/util/TabbableElements.js.map +1 -0
  360. package/dist/util/arraysAreEqual.d.ts +2 -0
  361. package/dist/util/arraysAreEqual.js +10 -12
  362. package/dist/util/arraysAreEqual.js.map +1 -0
  363. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  364. package/dist/util/clamp.js +2 -2
  365. package/dist/util/clamp.js.map +1 -0
  366. package/dist/util/createLinkInHead.d.ts +7 -0
  367. package/dist/util/createLinkInHead.js +14 -12
  368. package/dist/util/createLinkInHead.js.map +1 -0
  369. package/dist/util/createStyleInHead.d.ts +8 -0
  370. package/dist/util/createStyleInHead.js +10 -10
  371. package/dist/util/createStyleInHead.js.map +1 -0
  372. package/dist/util/debounce.d.ts +2 -0
  373. package/dist/util/debounce.js +6 -8
  374. package/dist/util/debounce.js.map +1 -0
  375. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  376. package/dist/util/detectNavigatorLanguage.js +7 -10
  377. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  378. package/dist/util/escapeRegex.d.ts +8 -0
  379. package/dist/util/escapeRegex.js +8 -7
  380. package/dist/util/escapeRegex.js.map +1 -0
  381. package/dist/util/formatMessage.d.ts +2 -0
  382. package/dist/util/formatMessage.js +15 -19
  383. package/dist/util/formatMessage.js.map +1 -0
  384. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  385. package/dist/util/generateHighlightedMarkup.js +26 -27
  386. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  387. package/dist/util/getActiveElement.d.ts +2 -0
  388. package/dist/util/getActiveElement.js +6 -8
  389. package/dist/util/getActiveElement.js.map +1 -0
  390. package/dist/util/getClassCopy.d.ts +398 -0
  391. package/dist/util/getClassCopy.js +7 -7
  392. package/dist/util/getClassCopy.js.map +1 -0
  393. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  394. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  395. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  396. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  397. package/dist/util/getEffectiveContentDensity.js +2 -3
  398. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  399. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  400. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  401. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  402. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  403. package/dist/util/getFastNavigationGroups.js +51 -0
  404. package/dist/util/getFastNavigationGroups.js.map +1 -0
  405. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  406. package/dist/util/getFileExtension.js +9 -11
  407. package/dist/util/getFileExtension.js.map +1 -0
  408. package/{src/util/getNormalizedTarget.js → dist/util/getNormalizedTarget.d.ts} +1 -10
  409. package/dist/util/getNormalizedTarget.js +7 -9
  410. package/dist/util/getNormalizedTarget.js.map +1 -0
  411. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  412. package/dist/util/getSingletonElementInstance.js +7 -10
  413. package/dist/util/getSingletonElementInstance.js.map +1 -0
  414. package/dist/util/isElementClickable.d.ts +2 -0
  415. package/dist/util/isElementClickable.js +16 -0
  416. package/dist/util/isElementClickable.js.map +1 -0
  417. package/dist/util/isElementHidden.d.ts +2 -0
  418. package/dist/util/isElementHidden.js +8 -0
  419. package/dist/util/isElementHidden.js.map +1 -0
  420. package/dist/util/isElementInView.d.ts +6 -0
  421. package/dist/util/isElementInView.js +6 -9
  422. package/dist/util/isElementInView.js.map +1 -0
  423. package/dist/util/isElementTabbable.d.ts +9 -0
  424. package/dist/util/isElementTabbable.js +30 -0
  425. package/dist/util/isElementTabbable.js.map +1 -0
  426. package/dist/util/isValidPropertyName.d.ts +8 -0
  427. package/dist/util/isValidPropertyName.js +16 -17
  428. package/dist/util/isValidPropertyName.js.map +1 -0
  429. package/dist/util/whenDOMReady.d.ts +2 -0
  430. package/dist/util/whenDOMReady.js +11 -10
  431. package/dist/util/whenDOMReady.js.map +1 -0
  432. package/dist/util/willShowContent.d.ts +2 -0
  433. package/dist/util/willShowContent.js +7 -0
  434. package/dist/util/willShowContent.js.map +1 -0
  435. package/dist/validateThemeRoot.d.ts +2 -0
  436. package/dist/validateThemeRoot.js +48 -0
  437. package/dist/validateThemeRoot.js.map +1 -0
  438. package/index.js +227 -1
  439. package/lib/generate-asset-parameters/index.js +4 -2
  440. package/lib/generate-styles/index.js +13 -8
  441. package/lib/generate-version-info/index.js +1 -1
  442. package/package-scripts.cjs +71 -0
  443. package/package.json +6 -4
  444. package/src/css/BusyIndicator.css +4 -0
  445. package/src/css/FontFace.css +9 -18
  446. package/tsconfig.json +14 -0
  447. package/config/rollup.config.js +0 -1
  448. package/config/wdio.conf.js +0 -1
  449. package/dist/RenderScheduler.js +0 -44
  450. package/dist/animations/config.js +0 -5
  451. package/dist/isLegacyBrowser.js +0 -3
  452. package/dist/resources/bundle.esm.js +0 -32
  453. package/dist/resources/bundle.esm.js.map +0 -1
  454. package/dist/test-resources/assets/Themes.js +0 -17
  455. package/dist/test-resources/elements/Child.js +0 -35
  456. package/dist/test-resources/elements/Generic.js +0 -84
  457. package/dist/test-resources/elements/GenericExt.js +0 -26
  458. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  459. package/dist/test-resources/elements/Parent.js +0 -41
  460. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  461. package/dist/test-resources/pages/AllTestElements.html +0 -42
  462. package/dist/test-resources/pages/Configuration.html +0 -18
  463. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  464. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  465. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  466. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  467. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  468. package/dist/test-resources/pages/i18n.html +0 -33
  469. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  470. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  471. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  472. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  473. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  474. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  475. package/dist/test-resources/specs/Theming.spec.js +0 -44
  476. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  477. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  478. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  479. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  480. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  481. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  482. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  483. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  484. package/dist/types/CSSSize.js +0 -9
  485. package/dist/types/PopupState.js +0 -37
  486. package/dist/util/findNodeOwner.js +0 -35
  487. package/dist/util/isDescendantOf.js +0 -15
  488. package/dist/util/isNodeClickable.js +0 -19
  489. package/dist/util/isNodeHidden.js +0 -9
  490. package/dist/util/isNodeTabbable.js +0 -28
  491. package/dist/util/setToArray.js +0 -10
  492. package/package-scripts.js +0 -58
  493. package/src/Boot.js +0 -59
  494. package/src/CustomElementsRegistry.js +0 -95
  495. package/src/CustomElementsScope.js +0 -30
  496. package/src/CustomElementsScopeUtils.js +0 -108
  497. package/src/DOMObserver.js +0 -65
  498. package/src/Device.js +0 -121
  499. package/src/EventProvider.js +0 -85
  500. package/src/FeaturesRegistry.js +0 -14
  501. package/src/FontFace.js +0 -30
  502. package/src/InitialConfiguration.js +0 -166
  503. package/src/Keys.js +0 -295
  504. package/src/ManagedStyles.js +0 -83
  505. package/src/MediaRange.js +0 -109
  506. package/src/PropertiesFileFormat.js +0 -95
  507. package/src/Render.js +0 -175
  508. package/src/RenderQueue.js +0 -66
  509. package/src/RenderScheduler.js +0 -44
  510. package/src/Runtimes.js +0 -107
  511. package/src/StaticArea.js +0 -3
  512. package/src/StaticAreaItem.js +0 -101
  513. package/src/SystemCSSVars.js +0 -10
  514. package/src/UI5Element.js +0 -1033
  515. package/src/UI5ElementMetadata.js +0 -327
  516. package/src/animations/AnimationQueue.js +0 -42
  517. package/src/animations/animate.js +0 -53
  518. package/src/animations/config.js +0 -5
  519. package/src/animations/scroll.js +0 -28
  520. package/src/animations/slideDown.js +0 -79
  521. package/src/animations/slideUp.js +0 -71
  522. package/src/asset-registries/Icons.js +0 -135
  523. package/src/asset-registries/Illustrations.js +0 -30
  524. package/src/asset-registries/LocaleData.js +0 -164
  525. package/src/asset-registries/Themes.js +0 -82
  526. package/src/asset-registries/i18n.js +0 -121
  527. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  528. package/src/config/AnimationMode.js +0 -23
  529. package/src/config/CalendarType.js +0 -18
  530. package/src/config/FormatSettings.js +0 -13
  531. package/src/config/Icons.js +0 -52
  532. package/src/config/Language.js +0 -68
  533. package/src/config/NoConflict.js +0 -51
  534. package/src/config/RTL.js +0 -31
  535. package/src/config/Theme.js +0 -53
  536. package/src/delegate/ItemNavigation.js +0 -351
  537. package/src/delegate/ResizeHandler.js +0 -106
  538. package/src/delegate/ScrollEnablement.js +0 -188
  539. package/src/features/F6Navigation.js +0 -108
  540. package/src/features/OpenUI5Enablement.js +0 -119
  541. package/src/features/OpenUI5Support.js +0 -125
  542. package/src/getSharedResource.js +0 -30
  543. package/src/i18nBundle.js +0 -86
  544. package/src/isLegacyBrowser.js +0 -3
  545. package/src/locale/Locale.js +0 -91
  546. package/src/locale/RTLAwareRegistry.js +0 -14
  547. package/src/locale/applyDirection.js +0 -17
  548. package/src/locale/directionChange.js +0 -32
  549. package/src/locale/getEffectiveDir.js +0 -28
  550. package/src/locale/getLocale.js +0 -41
  551. package/src/locale/languageChange.js +0 -22
  552. package/src/locale/nextFallbackLocale.js +0 -28
  553. package/src/locale/normalizeLocale.js +0 -54
  554. package/src/renderer/LitRenderer.js +0 -52
  555. package/src/renderer/executeTemplate.js +0 -34
  556. package/src/theming/CustomStyle.js +0 -60
  557. package/src/theming/ThemeLoaded.js +0 -22
  558. package/src/theming/applyTheme.js +0 -79
  559. package/src/theming/getConstructableStyle.js +0 -30
  560. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  561. package/src/theming/getEffectiveStyle.js +0 -39
  562. package/src/theming/getStylesString.js +0 -15
  563. package/src/theming/getThemeDesignerTheme.js +0 -87
  564. package/src/theming/preloadLinks.js +0 -23
  565. package/src/thirdparty/_merge.js +0 -32
  566. package/src/thirdparty/isPlainObject.js +0 -18
  567. package/src/thirdparty/merge.js +0 -10
  568. package/src/types/AnimationMode.js +0 -7
  569. package/src/types/CSSColor.js +0 -9
  570. package/src/types/CSSSize.js +0 -9
  571. package/src/types/CalendarType.js +0 -22
  572. package/src/types/DataType.js +0 -37
  573. package/src/types/Float.js +0 -14
  574. package/src/types/Integer.js +0 -13
  575. package/src/types/InvisibleMessageMode.js +0 -30
  576. package/src/types/ItemNavigationBehavior.js +0 -16
  577. package/src/types/NavigationMode.js +0 -7
  578. package/src/types/PopupState.js +0 -37
  579. package/src/types/ValueState.js +0 -22
  580. package/src/updateShadowRoot.js +0 -30
  581. package/src/util/AriaLabelHelper.js +0 -41
  582. package/src/util/Caret.js +0 -45
  583. package/src/util/ColorConversion.js +0 -370
  584. package/src/util/FetchHelper.js +0 -31
  585. package/src/util/FocusableElements.js +0 -79
  586. package/src/util/InvisibleMessage.js +0 -60
  587. package/src/util/PopupUtils.js +0 -93
  588. package/src/util/SlotsHelper.js +0 -43
  589. package/src/util/StringHelper.js +0 -26
  590. package/src/util/TabbableElements.js +0 -51
  591. package/src/util/arraysAreEqual.js +0 -15
  592. package/src/util/createLinkInHead.js +0 -19
  593. package/src/util/createStyleInHead.js +0 -18
  594. package/src/util/debounce.js +0 -17
  595. package/src/util/detectNavigatorLanguage.js +0 -13
  596. package/src/util/escapeRegex.js +0 -10
  597. package/src/util/findNodeOwner.js +0 -35
  598. package/src/util/formatMessage.js +0 -23
  599. package/src/util/generateHighlightedMarkup.js +0 -42
  600. package/src/util/getActiveElement.js +0 -11
  601. package/src/util/getClassCopy.js +0 -10
  602. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  603. package/src/util/getEffectiveContentDensity.js +0 -5
  604. package/src/util/getSingletonElementInstance.js +0 -13
  605. package/src/util/isDescendantOf.js +0 -15
  606. package/src/util/isElementInView.js +0 -15
  607. package/src/util/isNodeClickable.js +0 -19
  608. package/src/util/isNodeHidden.js +0 -9
  609. package/src/util/isNodeTabbable.js +0 -28
  610. package/src/util/isValidPropertyName.js +0 -29
  611. package/src/util/setToArray.js +0 -10
  612. package/src/util/whenDOMReady.js +0 -13
  613. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,188 +0,0 @@
1
- import { supportsTouch } from "../Device.js";
2
- import EventProvider from "../EventProvider.js";
3
- import scroll from "../animations/scroll.js";
4
-
5
- const scrollEventName = "scroll";
6
- const touchEndEventName = supportsTouch() ? "touchend" : "mouseup";
7
-
8
- class ScrollEnablement extends EventProvider {
9
- constructor(containerComponent) {
10
- super();
11
- this.containerComponent = containerComponent;
12
- this.mouseMove = this.ontouchmove.bind(this);
13
- this.mouseUp = this.ontouchend.bind(this);
14
- this.touchStart = this.ontouchstart.bind(this);
15
-
16
- this.supportsTouch = supportsTouch();
17
-
18
- // On Android devices touchmove is thrown one more time than neccessary (together with touchend)
19
- // so we have to cache the previus coordinates in order to provide correct parameters in the
20
- // event for Android
21
- this.cachedValue = {};
22
-
23
- // In components like Carousel you need to know if the user has clicked on something or swiped
24
- // in order to throw the needed event or not
25
- this.startX = 0;
26
- this.startY = 0;
27
-
28
- if (this.supportsTouch) {
29
- containerComponent.addEventListener("touchstart", this.touchStart, { passive: true });
30
- containerComponent.addEventListener("touchmove", this.mouseMove, { passive: true });
31
- containerComponent.addEventListener("touchend", this.mouseUp, { passive: true });
32
- } else {
33
- containerComponent.addEventListener("mousedown", this.touchStart, { passive: true });
34
- }
35
- }
36
-
37
- set scrollContainer(container) {
38
- this._container = container;
39
- }
40
-
41
- get scrollContainer() {
42
- return this._container;
43
- }
44
-
45
- /**
46
- * Scrolls the container to the left/top position, retrying retryCount times, if the container is not yet painted
47
- *
48
- * @param left
49
- * @param top
50
- * @param retryCount
51
- * @param retryInterval
52
- * @returns {Promise<void>} resolved when scrolled successfully
53
- */
54
- async scrollTo(left, top, retryCount = 0, retryInterval = 0) {
55
- let containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
56
-
57
- /* eslint-disable no-loop-func, no-await-in-loop */
58
- while (!containerPainted && retryCount > 0) {
59
- await new Promise(resolve => {
60
- setTimeout(() => {
61
- containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
62
- retryCount--;
63
- resolve();
64
- }, retryInterval);
65
- });
66
- }
67
- /* eslint-disable no-loop-func, no-await-in-loop */
68
-
69
- this._container.scrollLeft = left;
70
- this._container.scrollTop = top;
71
- }
72
-
73
- move(dx, dy, disableAnimation) {
74
- if (disableAnimation) {
75
- this._container.scrollLeft += dx;
76
- this._container.scrollTop += dy;
77
- return;
78
- }
79
-
80
- return scroll({
81
- element: this._container,
82
- dx,
83
- dy,
84
- });
85
- }
86
-
87
- getScrollLeft() {
88
- return this._container.scrollLeft;
89
- }
90
-
91
- getScrollTop() {
92
- return this._container.scrollTop;
93
- }
94
-
95
- _isTouchInside(touch) {
96
- const rect = this._container.getBoundingClientRect();
97
- const x = this.supportsTouch ? touch.clientX : touch.x;
98
- const y = this.supportsTouch ? touch.clientY : touch.y;
99
-
100
- return x >= rect.left && x <= rect.right
101
- && y >= rect.top && y <= rect.bottom;
102
- }
103
-
104
- ontouchstart(event) {
105
- const touch = this.supportsTouch ? event.touches[0] : null;
106
-
107
- if (!this.supportsTouch) {
108
- document.addEventListener("mouseup", this.mouseUp, { passive: true });
109
- document.addEventListener("mousemove", this.mouseMove, { passive: true });
110
- } else {
111
- // Needed only on mobile
112
- this.startX = touch.pageX;
113
- this.startY = touch.pageY;
114
- }
115
-
116
- this._prevDragX = this.supportsTouch ? touch.pageX : event.x;
117
- this._prevDragY = this.supportsTouch ? touch.pageY : event.y;
118
-
119
- this._canScroll = this._isTouchInside(this.supportsTouch ? touch : event);
120
- }
121
-
122
- ontouchmove(event) {
123
- if (!this._canScroll) {
124
- return;
125
- }
126
-
127
- const container = this._container;
128
- const touch = this.supportsTouch ? event.touches[0] : null;
129
-
130
- const dragX = this.supportsTouch ? touch.pageX : event.x;
131
- const dragY = this.supportsTouch ? touch.pageY : event.y;
132
-
133
- container.scrollLeft += this._prevDragX - dragX;
134
- container.scrollTop += this._prevDragY - dragY;
135
-
136
- this.fireEvent(scrollEventName, {
137
- isLeft: dragX > this._prevDragX,
138
- isRight: dragX < this._prevDragX,
139
- });
140
-
141
- this.cachedValue.dragX = this._prevDragX;
142
- this.cachedValue.dragY = this._prevDragY;
143
-
144
- this._prevDragX = dragX;
145
- this._prevDragY = dragY;
146
- }
147
-
148
- ontouchend(event) {
149
- if (this.supportsTouch) {
150
- const deltaX = Math.abs(event.changedTouches[0].pageX - this.startX);
151
- const deltaY = Math.abs(event.changedTouches[0].pageY - this.startY);
152
-
153
- if (deltaX < 10 && deltaY < 10) {
154
- return;
155
- }
156
- }
157
-
158
- if (!this._canScroll) {
159
- return;
160
- }
161
-
162
- const container = this._container;
163
- const dragX = this.supportsTouch ? event.changedTouches[0].pageX : event.x;
164
- const dragY = this.supportsTouch ? event.changedTouches[0].pageY : event.y;
165
-
166
- container.scrollLeft += this._prevDragX - dragX;
167
- container.scrollTop += this._prevDragY - dragY;
168
-
169
- const useCachedValues = dragX === this._prevDragX;
170
- const _dragX = useCachedValues ? this.cachedValue.dragX : dragX;
171
- // const _dragY = useCachedValues ? this.cachedValue.dragY : dragY; add if needed
172
-
173
- this.fireEvent(touchEndEventName, {
174
- isLeft: _dragX < this._prevDragX,
175
- isRight: _dragX > this._prevDragX,
176
- });
177
-
178
- this._prevDragX = dragX;
179
- this._prevDragY = dragY;
180
-
181
- if (!this.supportsTouch) {
182
- document.removeEventListener("mousemove", this.mouseMove, { passive: true });
183
- document.removeEventListener("mouseup", this.mouseUp);
184
- }
185
- }
186
- }
187
-
188
- export default ScrollEnablement;
@@ -1,108 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import { isF6Next, isF6Previous } from "../Keys.js";
3
- import { getFirstFocusableElement } from "../util/FocusableElements.js";
4
-
5
- class F6Navigation {
6
- init() {
7
- this.keydownHandler = this._keydownHandler.bind(this);
8
- this.attachEventListeners();
9
- this.selectedGroup = null;
10
- this.groups = [];
11
- }
12
-
13
- attachEventListeners() {
14
- document.addEventListener("keydown", this.keydownHandler);
15
- }
16
-
17
- async _keydownHandler(event) {
18
- event.preventDefault();
19
-
20
- if (isF6Next(event)) {
21
- this.updateGroups();
22
- if (this.groups.length < 1) {
23
- return;
24
- }
25
-
26
- const nextIndex = this.groups.indexOf(this.selectedGroup);
27
- let nextElement = null;
28
-
29
- if (nextIndex > -1) {
30
- if (nextIndex + 1 >= this.groups.length) {
31
- nextElement = this.groups[0];
32
- } else {
33
- nextElement = this.groups[nextIndex + 1];
34
- }
35
- } else {
36
- nextElement = this.groups[0];
37
- }
38
-
39
- const elementToFocus = await getFirstFocusableElement(nextElement.isUI5Element ? nextElement.getDomRef() : nextElement, true);
40
- elementToFocus.focus();
41
- }
42
-
43
- if (isF6Previous(event)) {
44
- this.updateGroups();
45
- if (this.groups.length < 1) {
46
- return;
47
- }
48
-
49
- const nextIndex = this.groups.indexOf(this.selectedGroup);
50
- let nextElement = null;
51
-
52
- if (nextIndex > -1) {
53
- if (nextIndex - 1 < 0) {
54
- nextElement = this.groups[this.groups.length - 1];
55
- } else {
56
- // Handle the situation where the first focusable element of two neighbor groups is the same
57
- // For example:
58
- // <ui5-flexible-column-layout>
59
- // <ui5-list>
60
- // <ui5-li>List Item</ui5-li>
61
- // </ui5-list>
62
- // </ui5-flexible-column-layout>
63
- // Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)
64
-
65
- const firstFocusable = await getFirstFocusableElement(this.groups[nextIndex - 1], true);
66
- const shouldSkipParent = firstFocusable === await getFirstFocusableElement(this.groups[nextIndex], true);
67
-
68
- nextElement = this.groups[shouldSkipParent ? nextIndex - 2 : nextIndex - 1];
69
- }
70
- } else {
71
- nextElement = this.groups[this.groups.length - 1];
72
- }
73
-
74
- const elementToFocus = await getFirstFocusableElement(nextElement.isUI5Element ? nextElement.getDomRef() : nextElement, true);
75
- elementToFocus.focus();
76
- }
77
- }
78
-
79
- removeEventListeners() {
80
- document.removeEventListener("keydown", this.keydownHandler);
81
- }
82
-
83
- updateGroups() {
84
- this.setSelectedGroup(document.activeElement);
85
- this.setGroups();
86
- }
87
-
88
- setGroups() {
89
- this.groups = Array.from(document.querySelectorAll("[data-sap-ui-fastnavgroup='true']")).filter(group => group.clientWidth && window.getComputedStyle(group).visibility !== "hidden");
90
- }
91
-
92
- setSelectedGroup(element) {
93
- while (element && element.getAttribute("data-sap-ui-fastnavgroup") !== "true" && element !== document.querySelector("html")) {
94
- element = element.parentElement ? element.parentNode : element.parentNode.host;
95
- }
96
-
97
- this.selectedGroup = element;
98
- }
99
-
100
- destroy() {
101
- this.removeEventListeners();
102
- }
103
- }
104
-
105
- const F6HelperInstance = new F6Navigation();
106
- registerFeature("F6Navigation", F6HelperInstance);
107
-
108
- export default F6Navigation;
@@ -1,119 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import BusyIndicatorStyles from "../generated/css/BusyIndicator.css.js";
3
- import merge from "../thirdparty/merge.js";
4
- import {
5
- isTabPrevious,
6
- } from "../Keys.js";
7
-
8
- const busyIndicatorMetadata = {
9
- properties: {
10
- __isBusy: {
11
- type: Boolean,
12
- },
13
- },
14
- };
15
-
16
- const getBusyIndicatorStyles = () => {
17
- return BusyIndicatorStyles;
18
- };
19
-
20
- const wrapTemplateResultInBusyMarkup = (html, host, templateResult) => {
21
- if (host.isOpenUI5Component && host.__isBusy) {
22
- templateResult = html`
23
- <div class="busy-indicator-wrapper">
24
- <span tabindex="0" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>
25
- ${templateResult}
26
- <div class="busy-indicator-overlay"></div>
27
- <div busy-indicator
28
- class="busy-indicator-busy-area"
29
- tabindex="0"
30
- role="progressbar"
31
- @keydown=${host.__suppressFocusBack}
32
- aria-valuemin="0"
33
- aria-valuemax="100"
34
- aria-valuetext="Busy">
35
- <div>
36
- <div class="busy-indicator-circle circle-animation-0"></div>
37
- <div class="busy-indicator-circle circle-animation-1"></div>
38
- <div class="busy-indicator-circle circle-animation-2"></div>
39
- </div>
40
- </div>
41
- </div>`;
42
- }
43
-
44
- return templateResult;
45
- };
46
-
47
- const enrichBusyIndicatorMetadata = UI5Element => {
48
- UI5Element.metadata = merge(UI5Element.metadata, busyIndicatorMetadata);
49
- };
50
-
51
- const enrichBusyIndicatorMethods = UI5ElementPrototype => {
52
- Object.defineProperties(UI5ElementPrototype, {
53
- "__redirectFocus": { value: true, writable: true },
54
- "__suppressFocusBack": {
55
- get() {
56
- const that = this;
57
-
58
- return {
59
- handleEvent: e => {
60
- if (isTabPrevious(e)) {
61
- const beforeElem = that.shadowRoot.querySelector("[busy-indicator-before-span]");
62
- that.__redirectFocus = false;
63
- beforeElem.focus();
64
- that.__redirectFocus = true;
65
- }
66
- },
67
- capture: true,
68
- passive: false,
69
- };
70
- },
71
- },
72
- "isOpenUI5Component": { get: () => { return true; } },
73
- });
74
-
75
- UI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {
76
- const busyIndicator = this.shadowRoot.querySelector("[busy-indicator]");
77
- if (busyIndicator && this.__redirectFocus) {
78
- busyIndicator.focus();
79
- }
80
- };
81
-
82
- UI5ElementPrototype.getDomRef = function getDomRef() {
83
- // If a component set _getRealDomRef to its children, use the return value of this function
84
- if (typeof this._getRealDomRef === "function") {
85
- return this._getRealDomRef();
86
- }
87
-
88
- if (!this.shadowRoot || this.shadowRoot.children.length === 0) {
89
- return;
90
- }
91
-
92
- const children = [...this.shadowRoot.children].filter(child => !["link", "style"].includes(child.localName));
93
-
94
- if (children.length !== 1) {
95
- 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
96
- }
97
-
98
- if (this.__isBusy) {
99
- return children[0].querySelector(".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)");
100
- }
101
-
102
- return children[0];
103
- };
104
- };
105
-
106
- const enrichBusyIndicatorSettings = UI5Element => {
107
- enrichBusyIndicatorMetadata(UI5Element);
108
- enrichBusyIndicatorMethods(UI5Element.prototype);
109
- };
110
-
111
- const OpenUI5Enablement = {
112
- enrichBusyIndicatorSettings,
113
- wrapTemplateResultInBusyMarkup,
114
- getBusyIndicatorStyles,
115
- };
116
-
117
- export default OpenUI5Enablement;
118
-
119
- registerFeature("OpenUI5Enablement", OpenUI5Enablement);
@@ -1,125 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import { setTheme } from "../config/Theme.js";
3
- import { getCurrentZIndex } from "../util/PopupUtils.js";
4
-
5
- const getCore = () => {
6
- const sap = window.sap;
7
- const core = sap && sap.ui && typeof sap.ui.getCore === "function" && sap.ui.getCore();
8
- return core;
9
- };
10
-
11
- const isLoaded = () => {
12
- return !!getCore();
13
- };
14
-
15
- const init = () => {
16
- const core = getCore();
17
- if (!core) {
18
- return Promise.resolve();
19
- }
20
-
21
- return new Promise(resolve => {
22
- core.attachInit(() => {
23
- window.sap.ui.require(["sap/ui/core/LocaleData", "sap/ui/core/Popup"], (LocaleData, Popup) => {
24
- Popup.setInitialZIndex(getCurrentZIndex());
25
- resolve();
26
- });
27
- });
28
- });
29
- };
30
-
31
- const getConfigurationSettingsObject = () => {
32
- const core = getCore();
33
- if (!core) {
34
- return;
35
- }
36
-
37
- const config = core.getConfiguration();
38
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
39
-
40
- return {
41
- animationMode: config.getAnimationMode(),
42
- language: config.getLanguage(),
43
- theme: config.getTheme(),
44
- rtl: config.getRTL(),
45
- calendarType: config.getCalendarType(),
46
- formatSettings: {
47
- firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
48
- },
49
- };
50
- };
51
-
52
- const getLocaleDataObject = () => {
53
- const core = getCore();
54
- if (!core) {
55
- return;
56
- }
57
-
58
- const config = core.getConfiguration();
59
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
60
- return LocaleData.getInstance(config.getLocale())._get();
61
- };
62
-
63
- const listenForThemeChange = () => {
64
- const core = getCore();
65
- const config = core.getConfiguration();
66
- core.attachThemeChanged(async () => {
67
- await setTheme(config.getTheme());
68
- });
69
- };
70
-
71
- const attachListeners = () => {
72
- const core = getCore();
73
- if (!core) {
74
- return;
75
- }
76
-
77
- listenForThemeChange();
78
- };
79
-
80
- const cssVariablesLoaded = () => {
81
- const core = getCore();
82
- if (!core) {
83
- return;
84
- }
85
-
86
- const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core"); // more reliable than querySelector early
87
- if (!link) {
88
- return;
89
- }
90
-
91
- return !!link.href.match(/\/css(-|_)variables\.css/);
92
- };
93
-
94
- const getNextZIndex = () => {
95
- const core = getCore();
96
- if (!core) {
97
- return;
98
- }
99
-
100
- const Popup = window.sap.ui.require("sap/ui/core/Popup");
101
- return Popup.getNextZIndex();
102
- };
103
-
104
- const setInitialZIndex = () => {
105
- const core = getCore();
106
- if (!core) {
107
- return;
108
- }
109
-
110
- const Popup = window.sap.ui.require("sap/ui/core/Popup");
111
- Popup.setInitialZIndex(getCurrentZIndex());
112
- };
113
-
114
- const OpenUI5Support = {
115
- isLoaded,
116
- init,
117
- getConfigurationSettingsObject,
118
- getLocaleDataObject,
119
- attachListeners,
120
- cssVariablesLoaded,
121
- getNextZIndex,
122
- setInitialZIndex,
123
- };
124
-
125
- registerFeature("OpenUI5Support", OpenUI5Support);
@@ -1,30 +0,0 @@
1
- import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
2
-
3
- const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared-resources", document.head);
4
-
5
- /**
6
- * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
7
- * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "head" element of the page.
8
- *
9
- * @public
10
- * @param namespace Unique ID of the resource, may contain "." to denote hierarchy
11
- * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist
12
- * @returns {*}
13
- */
14
- const getSharedResource = (namespace, initialValue) => {
15
- const parts = namespace.split(".");
16
- let current = getSharedResourcesInstance();
17
-
18
- for (let i = 0; i < parts.length; i++) {
19
- const part = parts[i];
20
- const lastPart = i === parts.length - 1;
21
- if (!Object.prototype.hasOwnProperty.call(current, part)) {
22
- current[part] = lastPart ? initialValue : {};
23
- }
24
- current = current[part];
25
- }
26
-
27
- return current;
28
- };
29
-
30
- export default getSharedResource;
package/src/i18nBundle.js DELETED
@@ -1,86 +0,0 @@
1
- import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
2
- import formatMessage from "./util/formatMessage.js";
3
-
4
- const I18nBundleInstances = new Map();
5
-
6
- let customGetI18nBundle;
7
-
8
- /**
9
- * @class
10
- * @public
11
- */
12
- class I18nBundle {
13
- constructor(packageName) {
14
- this.packageName = packageName;
15
- }
16
-
17
- /**
18
- * Returns a text in the currently loaded language
19
- *
20
- * @public
21
- * @param {Object|String} textObj key/defaultText pair or just the key
22
- * @param params Values for the placeholders
23
- * @returns {*}
24
- */
25
- getText(textObj, ...params) {
26
- if (typeof textObj === "string") {
27
- textObj = { key: textObj, defaultText: textObj };
28
- }
29
-
30
- if (!textObj || !textObj.key) {
31
- return "";
32
- }
33
-
34
- const bundle = getI18nBundleData(this.packageName);
35
- if (bundle && !bundle[textObj.key]) {
36
- console.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`); // eslint-disable-line
37
- }
38
- const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
39
-
40
- return formatMessage(messageText, params);
41
- }
42
- }
43
-
44
- const getI18nBundleSync = packageName => {
45
- if (I18nBundleInstances.has(packageName)) {
46
- return I18nBundleInstances.get(packageName);
47
- }
48
-
49
- const i18nBundle = new I18nBundle(packageName);
50
- I18nBundleInstances.set(packageName, i18nBundle);
51
- return i18nBundle;
52
- };
53
-
54
- /**
55
- * Allows developers to provide a custom getI18nBundle implementation
56
- * If this function is called, the custom implementation will be used for all components and will completely
57
- * replace the default implementation.
58
- *
59
- * @public
60
- * @param customGet the function to use instead of the standard getI18nBundle implementation
61
- */
62
- const registerCustomI18nBundleGetter = customGet => {
63
- customGetI18nBundle = customGet;
64
- };
65
-
66
- /**
67
- * Fetches and returns the I18nBundle instance for the given package
68
- *
69
- * @public
70
- * @param packageName
71
- * @returns {Promise<I18nBundle>}
72
- */
73
- const getI18nBundle = async packageName => {
74
- if (customGetI18nBundle) {
75
- return customGetI18nBundle(packageName);
76
- }
77
-
78
- await fetchI18nBundle(packageName);
79
- return getI18nBundleSync(packageName);
80
- };
81
-
82
- export {
83
- registerI18nLoader,
84
- getI18nBundle,
85
- registerCustomI18nBundleGetter,
86
- };
@@ -1,3 +0,0 @@
1
- const isLegacyBrowser = () => !!window.ShadyDOM;
2
-
3
- export default isLegacyBrowser;