@ui5/webcomponents-base 0.0.0-d0bcf47c7 → 0.0.0-d4d43327a

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 (895) hide show
  1. package/.eslintignore +6 -0
  2. package/CHANGELOG.md +633 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +32 -26
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +6 -9
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +9 -0
  9. package/dist/Boot.js +57 -0
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +51 -0
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +78 -0
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -0
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +23 -0
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +159 -816
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -70
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -7
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +22 -63
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +123 -102
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +178 -0
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +77 -0
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MarkedEvents.d.ts +9 -0
  48. package/dist/MarkedEvents.js +15 -0
  49. package/dist/MarkedEvents.js.map +1 -0
  50. package/dist/MediaRange.d.ts +37 -0
  51. package/dist/MediaRange.js +98 -0
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +85 -0
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +143 -0
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +53 -39
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +86 -0
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +6 -0
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +99 -0
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +9 -0
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/dist/Theming.d.ts +3 -0
  75. package/dist/Theming.js +4 -45
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +378 -0
  78. package/dist/UI5Element.js +940 -819
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -143
  82. package/dist/UI5ElementMetadata.js.map +1 -0
  83. package/dist/animations/AnimationQueue.d.ts +8 -0
  84. package/dist/animations/AnimationQueue.js +31 -38
  85. package/dist/animations/AnimationQueue.js.map +1 -0
  86. package/dist/animations/animate.d.ts +14 -0
  87. package/dist/animations/animate.js +46 -51
  88. package/dist/animations/animate.js.map +1 -0
  89. package/dist/animations/scroll.d.ts +5 -0
  90. package/dist/animations/scroll.js +18 -27
  91. package/dist/animations/scroll.js.map +1 -0
  92. package/dist/animations/slideDown.d.ts +5 -0
  93. package/dist/animations/slideDown.js +53 -78
  94. package/dist/animations/slideDown.js.map +1 -0
  95. package/dist/animations/slideUp.d.ts +5 -0
  96. package/dist/animations/slideUp.js +49 -70
  97. package/dist/animations/slideUp.js.map +1 -0
  98. package/dist/api.json +1 -0
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +104 -24
  101. package/dist/asset-registries/Icons.js.map +1 -0
  102. package/dist/asset-registries/Illustrations.d.ts +17 -0
  103. package/dist/asset-registries/Illustrations.js +46 -0
  104. package/dist/asset-registries/Illustrations.js.map +1 -0
  105. package/dist/asset-registries/LocaleData.d.ts +7 -0
  106. package/dist/asset-registries/LocaleData.js +127 -92
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +11 -0
  109. package/dist/asset-registries/Themes.js +40 -65
  110. package/dist/asset-registries/Themes.js.map +1 -0
  111. package/dist/asset-registries/i18n.d.ts +23 -0
  112. package/dist/asset-registries/i18n.js +78 -58
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/Boot.4539908a.js +9 -0
  115. package/dist/assets/Boot.6335ce08.css +1 -0
  116. package/dist/assets/bundle.esm.a14a2ceb.js +52 -0
  117. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  118. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  119. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  120. package/dist/config/AnimationMode.d.ts +14 -0
  121. package/dist/config/AnimationMode.js +23 -6
  122. package/dist/config/AnimationMode.js.map +1 -0
  123. package/dist/config/CalendarType.d.ts +8 -0
  124. package/dist/config/CalendarType.js +15 -14
  125. package/dist/config/CalendarType.js.map +1 -0
  126. package/dist/config/FormatSettings.d.ts +15 -0
  127. package/dist/config/FormatSettings.js +16 -6
  128. package/dist/config/FormatSettings.js.map +1 -0
  129. package/dist/config/Icons.d.ts +55 -0
  130. package/dist/config/Icons.js +103 -0
  131. package/dist/config/Icons.js.map +1 -0
  132. package/dist/config/Language.d.ts +31 -0
  133. package/dist/config/Language.js +54 -7
  134. package/dist/config/Language.js.map +1 -0
  135. package/dist/config/NoConflict.d.ts +20 -0
  136. package/dist/config/NoConflict.js +40 -34
  137. package/dist/config/NoConflict.js.map +1 -0
  138. package/dist/config/RTL.d.ts +7 -0
  139. package/dist/config/RTL.js +26 -20
  140. package/dist/config/RTL.js.map +1 -0
  141. package/dist/config/Theme.d.ts +28 -0
  142. package/dist/config/Theme.js +46 -19
  143. package/dist/config/Theme.js.map +1 -0
  144. package/dist/config/ThemeRoots.d.ts +4 -0
  145. package/dist/config/ThemeRoots.js +28 -0
  146. package/dist/config/ThemeRoots.js.map +1 -0
  147. package/dist/css/BusyIndicator.css +80 -0
  148. package/dist/css/FontFace.css +66 -0
  149. package/dist/css/OverrideFontFace.css +32 -0
  150. package/dist/css/SystemCSSVars.css +17 -0
  151. package/dist/decorators/customElement.d.ts +23 -0
  152. package/dist/decorators/customElement.js +31 -0
  153. package/dist/decorators/customElement.js.map +1 -0
  154. package/dist/decorators/event.d.ts +10 -0
  155. package/dist/decorators/event.js +24 -0
  156. package/dist/decorators/event.js.map +1 -0
  157. package/dist/decorators/fastNavigation.d.ts +7 -0
  158. package/dist/decorators/fastNavigation.js +13 -0
  159. package/dist/decorators/fastNavigation.js.map +1 -0
  160. package/dist/decorators/languageAware.d.ts +7 -0
  161. package/dist/decorators/languageAware.js +13 -0
  162. package/dist/decorators/languageAware.js.map +1 -0
  163. package/dist/decorators/property.d.ts +9 -0
  164. package/dist/decorators/property.js +24 -0
  165. package/dist/decorators/property.js.map +1 -0
  166. package/dist/decorators/slot.d.ts +9 -0
  167. package/dist/decorators/slot.js +37 -0
  168. package/dist/decorators/slot.js.map +1 -0
  169. package/dist/decorators/themeAware.d.ts +7 -0
  170. package/dist/decorators/themeAware.js +13 -0
  171. package/dist/decorators/themeAware.js.map +1 -0
  172. package/dist/delegate/ItemNavigation.d.ts +113 -0
  173. package/dist/delegate/ItemNavigation.js +312 -231
  174. package/dist/delegate/ItemNavigation.js.map +1 -0
  175. package/dist/delegate/ResizeHandler.d.ts +25 -0
  176. package/dist/delegate/ResizeHandler.js +82 -63
  177. package/dist/delegate/ResizeHandler.js.map +1 -0
  178. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  179. package/dist/delegate/ScrollEnablement.js +159 -74
  180. package/dist/delegate/ScrollEnablement.js.map +1 -0
  181. package/dist/features/F6Navigation.d.ts +19 -0
  182. package/dist/features/F6Navigation.js +151 -0
  183. package/dist/features/F6Navigation.js.map +1 -0
  184. package/dist/features/LegacyDateFormats.d.ts +18 -0
  185. package/dist/features/LegacyDateFormats.js +20 -0
  186. package/dist/features/LegacyDateFormats.js.map +1 -0
  187. package/dist/features/OpenUI5Element.d.ts +9 -0
  188. package/dist/features/OpenUI5Element.js +5 -0
  189. package/dist/features/OpenUI5Element.js.map +1 -0
  190. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  191. package/dist/features/OpenUI5Enablement.js +96 -0
  192. package/dist/features/OpenUI5Enablement.js.map +1 -0
  193. package/dist/features/OpenUI5Support.d.ts +25 -0
  194. package/dist/features/OpenUI5Support.js +98 -0
  195. package/dist/features/OpenUI5Support.js.map +1 -0
  196. package/dist/generated/AssetParameters.js +13 -0
  197. package/dist/generated/VersionInfo.js +10 -0
  198. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  199. package/dist/generated/css/BusyIndicator.css.js +7 -0
  200. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  201. package/dist/generated/css/FontFace.css.d.ts +3 -0
  202. package/dist/generated/css/FontFace.css.js +7 -0
  203. package/dist/generated/css/FontFace.css.js.map +1 -0
  204. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  205. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  206. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  207. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  208. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  209. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  210. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  211. package/dist/getSharedResource.d.ts +11 -0
  212. package/dist/getSharedResource.js +34 -0
  213. package/dist/getSharedResource.js.map +1 -0
  214. package/dist/global.d.ts +38 -0
  215. package/dist/i18nBundle.d.ts +43 -0
  216. package/dist/i18nBundle.js +73 -30
  217. package/dist/i18nBundle.js.map +1 -0
  218. package/dist/locale/Locale.d.ts +22 -0
  219. package/dist/locale/Locale.js +79 -0
  220. package/dist/locale/Locale.js.map +1 -0
  221. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  222. package/dist/locale/RTLAwareRegistry.js +9 -0
  223. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  224. package/dist/locale/applyDirection.d.ts +10 -0
  225. package/dist/locale/applyDirection.js +17 -0
  226. package/dist/locale/applyDirection.js.map +1 -0
  227. package/dist/locale/directionChange.d.ts +15 -0
  228. package/dist/locale/directionChange.js +24 -0
  229. package/dist/locale/directionChange.js.map +1 -0
  230. package/dist/locale/getEffectiveDir.d.ts +2 -0
  231. package/dist/locale/getEffectiveDir.js +24 -0
  232. package/dist/locale/getEffectiveDir.js.map +1 -0
  233. package/dist/locale/getLocale.d.ts +7 -0
  234. package/dist/locale/getLocale.js +38 -0
  235. package/dist/locale/getLocale.js.map +1 -0
  236. package/dist/locale/languageChange.d.ts +5 -0
  237. package/dist/locale/languageChange.js +14 -0
  238. package/dist/locale/languageChange.js.map +1 -0
  239. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  240. package/dist/locale/nextFallbackLocale.js +24 -0
  241. package/dist/locale/nextFallbackLocale.js.map +1 -0
  242. package/dist/locale/normalizeLocale.d.ts +7 -0
  243. package/dist/locale/normalizeLocale.js +47 -0
  244. package/dist/locale/normalizeLocale.js.map +1 -0
  245. package/dist/renderer/LitRenderer.d.ts +14 -0
  246. package/dist/renderer/LitRenderer.js +38 -12
  247. package/dist/renderer/LitRenderer.js.map +1 -0
  248. package/dist/renderer/directives/style-map.js +72 -0
  249. package/dist/renderer/executeTemplate.d.ts +13 -0
  250. package/dist/renderer/executeTemplate.js +30 -0
  251. package/dist/renderer/executeTemplate.js.map +1 -0
  252. package/dist/sap/base/Log.js +240 -0
  253. package/dist/sap/base/assert.js +7 -0
  254. package/dist/sap/base/security/URLListValidator.js +159 -0
  255. package/dist/sap/base/security/encodeCSS.js +14 -0
  256. package/dist/sap/base/security/encodeXML.js +23 -0
  257. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  258. package/dist/sap/base/strings/toHex.js +8 -0
  259. package/dist/sap/base/util/now.js +7 -0
  260. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  261. package/dist/theming/CustomStyle.d.ts +6 -0
  262. package/dist/theming/CustomStyle.js +46 -17
  263. package/dist/theming/CustomStyle.js.map +1 -0
  264. package/dist/theming/ThemeLoaded.d.ts +5 -0
  265. package/dist/theming/ThemeLoaded.js +14 -0
  266. package/dist/theming/ThemeLoaded.js.map +1 -0
  267. package/dist/theming/applyTheme.d.ts +2 -0
  268. package/dist/theming/applyTheme.js +75 -0
  269. package/dist/theming/applyTheme.js.map +1 -0
  270. package/dist/theming/getConstructableStyle.d.ts +9 -0
  271. package/dist/theming/getConstructableStyle.js +25 -0
  272. package/dist/theming/getConstructableStyle.js.map +1 -0
  273. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  274. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  275. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  276. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  277. package/dist/theming/getEffectiveStyle.js +32 -0
  278. package/dist/theming/getEffectiveStyle.js.map +1 -0
  279. package/dist/theming/getStylesString.d.ts +3 -0
  280. package/dist/theming/getStylesString.js +11 -0
  281. package/dist/theming/getStylesString.js.map +1 -0
  282. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  283. package/dist/theming/getThemeDesignerTheme.js +80 -0
  284. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  285. package/dist/theming/preloadLinks.d.ts +3 -0
  286. package/dist/theming/preloadLinks.js +19 -0
  287. package/dist/theming/preloadLinks.js.map +1 -0
  288. package/dist/thirdparty/_merge.d.ts +2 -0
  289. package/dist/thirdparty/_merge.js +35 -0
  290. package/dist/thirdparty/_merge.js.map +1 -0
  291. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  292. package/dist/thirdparty/isPlainObject.js +19 -0
  293. package/dist/thirdparty/isPlainObject.js.map +1 -0
  294. package/dist/thirdparty/merge.d.ts +2 -0
  295. package/dist/thirdparty/merge.js +6 -0
  296. package/dist/thirdparty/merge.js.map +1 -0
  297. package/dist/types/AnimationMode.d.ts +32 -0
  298. package/dist/types/AnimationMode.js +33 -6
  299. package/dist/types/AnimationMode.js.map +1 -0
  300. package/dist/types/CSSColor.d.ts +16 -0
  301. package/dist/types/CSSColor.js +19 -0
  302. package/dist/types/CSSColor.js.map +1 -0
  303. package/dist/types/CalendarType.d.ts +37 -0
  304. package/dist/types/CalendarType.js +39 -0
  305. package/dist/types/CalendarType.js.map +1 -0
  306. package/dist/types/DOMReference.d.ts +17 -0
  307. package/dist/types/DOMReference.js +25 -0
  308. package/dist/types/DOMReference.js.map +1 -0
  309. package/dist/types/DataType.d.ts +25 -0
  310. package/dist/types/DataType.js +33 -14
  311. package/dist/types/DataType.js.map +1 -0
  312. package/dist/types/Float.d.ts +18 -0
  313. package/dist/types/Float.js +22 -0
  314. package/dist/types/Float.js.map +1 -0
  315. package/dist/types/Integer.d.ts +18 -0
  316. package/dist/types/Integer.js +18 -5
  317. package/dist/types/Integer.js.map +1 -0
  318. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  319. package/dist/types/InvisibleMessageMode.js +27 -0
  320. package/dist/types/InvisibleMessageMode.js.map +1 -0
  321. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  322. package/dist/types/ItemNavigationBehavior.js +22 -17
  323. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  324. package/dist/types/NavigationMode.d.ts +32 -0
  325. package/dist/types/NavigationMode.js +33 -5
  326. package/dist/types/NavigationMode.js.map +1 -0
  327. package/dist/types/ValueState.d.ts +42 -0
  328. package/dist/types/ValueState.js +41 -18
  329. package/dist/types/ValueState.js.map +1 -0
  330. package/dist/types.d.ts +18 -0
  331. package/dist/types.js +2 -0
  332. package/dist/types.js.map +1 -0
  333. package/dist/updateShadowRoot.d.ts +8 -0
  334. package/dist/updateShadowRoot.js +38 -0
  335. package/dist/updateShadowRoot.js.map +1 -0
  336. package/dist/util/AriaLabelHelper.d.ts +15 -0
  337. package/dist/util/AriaLabelHelper.js +171 -0
  338. package/dist/util/AriaLabelHelper.js.map +1 -0
  339. package/dist/util/Caret.d.ts +7 -0
  340. package/dist/util/Caret.js +23 -0
  341. package/dist/util/Caret.js.map +1 -0
  342. package/dist/util/ColorConversion.d.ts +30 -0
  343. package/dist/util/ColorConversion.js +337 -0
  344. package/dist/util/ColorConversion.js.map +1 -0
  345. package/dist/util/FetchHelper.d.ts +3 -0
  346. package/dist/util/FetchHelper.js +19 -25
  347. package/dist/util/FetchHelper.js.map +1 -0
  348. package/dist/util/FocusableElements.d.ts +4 -0
  349. package/dist/util/FocusableElements.js +67 -56
  350. package/dist/util/FocusableElements.js.map +1 -0
  351. package/dist/util/HTMLSanitizer.d.ts +3 -0
  352. package/dist/util/HTMLSanitizer.js +6 -0
  353. package/dist/util/HTMLSanitizer.js.map +1 -0
  354. package/dist/util/InvisibleMessage.d.ts +10 -0
  355. package/dist/util/InvisibleMessage.js +56 -0
  356. package/dist/util/InvisibleMessage.js.map +1 -0
  357. package/dist/util/PopupUtils.d.ts +7 -0
  358. package/dist/util/PopupUtils.js +74 -0
  359. package/dist/util/PopupUtils.js.map +1 -0
  360. package/dist/util/SlotsHelper.d.ts +9 -0
  361. package/dist/util/SlotsHelper.js +30 -0
  362. package/dist/util/SlotsHelper.js.map +1 -0
  363. package/dist/util/StringHelper.d.ts +3 -0
  364. package/dist/util/StringHelper.js +21 -9
  365. package/dist/util/StringHelper.js.map +1 -0
  366. package/dist/util/TabbableElements.d.ts +17 -0
  367. package/dist/util/TabbableElements.js +53 -40
  368. package/dist/util/TabbableElements.js.map +1 -0
  369. package/dist/util/arraysAreEqual.d.ts +2 -0
  370. package/dist/util/arraysAreEqual.js +13 -0
  371. package/dist/util/arraysAreEqual.js.map +1 -0
  372. package/dist/util/clamp.d.ts +9 -0
  373. package/dist/util/clamp.js +12 -0
  374. package/dist/util/clamp.js.map +1 -0
  375. package/dist/util/createLinkInHead.d.ts +7 -0
  376. package/dist/util/createLinkInHead.js +21 -0
  377. package/dist/util/createLinkInHead.js.map +1 -0
  378. package/dist/util/createStyleInHead.d.ts +8 -0
  379. package/dist/util/createStyleInHead.js +10 -10
  380. package/dist/util/createStyleInHead.js.map +1 -0
  381. package/dist/util/debounce.d.ts +2 -0
  382. package/dist/util/debounce.js +15 -0
  383. package/dist/util/debounce.js.map +1 -0
  384. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  385. package/dist/util/detectNavigatorLanguage.js +8 -9
  386. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  387. package/dist/util/escapeRegex.d.ts +8 -0
  388. package/dist/util/escapeRegex.js +11 -0
  389. package/dist/util/escapeRegex.js.map +1 -0
  390. package/dist/util/formatMessage.d.ts +2 -0
  391. package/dist/util/formatMessage.js +15 -19
  392. package/dist/util/formatMessage.js.map +1 -0
  393. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  394. package/dist/util/generateHighlightedMarkup.js +41 -0
  395. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  396. package/dist/util/getActiveElement.d.ts +2 -0
  397. package/dist/util/getActiveElement.js +9 -0
  398. package/dist/util/getActiveElement.js.map +1 -0
  399. package/dist/util/getClassCopy.d.ts +398 -0
  400. package/dist/util/getClassCopy.js +10 -0
  401. package/dist/util/getClassCopy.js.map +1 -0
  402. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  403. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  404. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  405. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  406. package/dist/util/getEffectiveContentDensity.js +4 -0
  407. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  408. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  409. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  410. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  411. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  412. package/dist/util/getFastNavigationGroups.js +51 -0
  413. package/dist/util/getFastNavigationGroups.js.map +1 -0
  414. package/dist/util/getFileExtension.d.ts +12 -0
  415. package/dist/util/getFileExtension.js +19 -0
  416. package/dist/util/getFileExtension.js.map +1 -0
  417. package/dist/util/getNormalizedTarget.d.ts +7 -0
  418. package/dist/util/getNormalizedTarget.js +14 -0
  419. package/dist/util/getNormalizedTarget.js.map +1 -0
  420. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  421. package/dist/util/getSingletonElementInstance.js +10 -0
  422. package/dist/util/getSingletonElementInstance.js.map +1 -0
  423. package/dist/util/isElementClickable.d.ts +2 -0
  424. package/dist/util/isElementClickable.js +16 -0
  425. package/dist/util/isElementClickable.js.map +1 -0
  426. package/dist/util/isElementHidden.d.ts +2 -0
  427. package/dist/util/isElementHidden.js +8 -0
  428. package/dist/util/isElementHidden.js.map +1 -0
  429. package/dist/util/isElementInView.d.ts +6 -0
  430. package/dist/util/isElementInView.js +12 -0
  431. package/dist/util/isElementInView.js.map +1 -0
  432. package/dist/util/isElementTabbable.d.ts +9 -0
  433. package/dist/util/isElementTabbable.js +30 -0
  434. package/dist/util/isElementTabbable.js.map +1 -0
  435. package/dist/util/isValidPropertyName.d.ts +8 -0
  436. package/dist/util/isValidPropertyName.js +20 -12
  437. package/dist/util/isValidPropertyName.js.map +1 -0
  438. package/dist/util/whenDOMReady.d.ts +2 -0
  439. package/dist/util/whenDOMReady.js +11 -10
  440. package/dist/util/whenDOMReady.js.map +1 -0
  441. package/dist/util/willShowContent.d.ts +2 -0
  442. package/dist/util/willShowContent.js +7 -0
  443. package/dist/util/willShowContent.js.map +1 -0
  444. package/dist/validateThemeRoot.d.ts +2 -0
  445. package/dist/validateThemeRoot.js +47 -0
  446. package/dist/validateThemeRoot.js.map +1 -0
  447. package/index.js +1 -1
  448. package/lib/generate-asset-parameters/index.js +25 -0
  449. package/lib/generate-styles/index.js +31 -0
  450. package/lib/generate-version-info/index.js +32 -0
  451. package/package-scripts.js +54 -25
  452. package/package.json +22 -14
  453. package/src/AssetRegistry.ts +11 -0
  454. package/src/Boot.ts +76 -0
  455. package/src/CSP.ts +66 -0
  456. package/src/CustomElementsRegistry.ts +98 -0
  457. package/src/CustomElementsScope.ts +33 -0
  458. package/src/CustomElementsScopeUtils.ts +115 -0
  459. package/src/DOMObserver.ts +28 -0
  460. package/src/Device.ts +203 -0
  461. package/src/EventProvider.ts +87 -0
  462. package/src/FeaturesRegistry.ts +14 -0
  463. package/src/FontFace.ts +31 -0
  464. package/src/InitialConfiguration.ts +207 -0
  465. package/src/Keys.ts +295 -0
  466. package/src/ManagedStyles.ts +92 -0
  467. package/src/MarkedEvents.ts +20 -0
  468. package/src/MediaRange.ts +110 -0
  469. package/src/PropertiesFileFormat.ts +95 -0
  470. package/src/Render.ts +180 -0
  471. package/src/RenderQueue.ts +71 -0
  472. package/src/Runtimes.ts +114 -0
  473. package/src/StaticArea.ts +3 -0
  474. package/src/StaticAreaItem.ts +113 -0
  475. package/src/SystemCSSVars.ts +10 -0
  476. package/src/Theming.ts +4 -0
  477. package/src/UI5Element.ts +1159 -0
  478. package/src/UI5ElementMetadata.ts +389 -0
  479. package/src/animations/AnimationQueue.ts +43 -0
  480. package/src/animations/animate.ts +64 -0
  481. package/src/animations/scroll.ts +21 -0
  482. package/src/animations/slideDown.ts +72 -0
  483. package/src/animations/slideUp.ts +67 -0
  484. package/src/asset-registries/Icons.ts +161 -0
  485. package/src/asset-registries/Illustrations.ts +75 -0
  486. package/src/asset-registries/LocaleData.ts +172 -0
  487. package/src/asset-registries/Themes.ts +72 -0
  488. package/src/asset-registries/i18n.ts +118 -0
  489. package/src/assets-meta/IconCollectionsAlias.ts +41 -0
  490. package/src/config/AnimationMode.ts +33 -0
  491. package/src/config/CalendarType.ts +23 -0
  492. package/src/config/FormatSettings.ts +35 -0
  493. package/src/config/Icons.ts +126 -0
  494. package/src/config/Language.ts +72 -0
  495. package/src/config/NoConflict.ts +67 -0
  496. package/src/config/RTL.ts +45 -0
  497. package/src/config/Theme.ts +64 -0
  498. package/src/config/ThemeRoots.ts +41 -0
  499. package/src/css/BusyIndicator.css +80 -0
  500. package/src/css/FontFace.css +66 -0
  501. package/src/css/OverrideFontFace.css +32 -0
  502. package/src/css/SystemCSSVars.css +17 -0
  503. package/src/decorators/customElement.ts +57 -0
  504. package/src/decorators/event.ts +28 -0
  505. package/src/decorators/fastNavigation.ts +14 -0
  506. package/src/decorators/languageAware.ts +14 -0
  507. package/src/decorators/property.ts +30 -0
  508. package/src/decorators/slot.ts +49 -0
  509. package/src/decorators/themeAware.ts +14 -0
  510. package/src/delegate/ItemNavigation.ts +393 -0
  511. package/src/delegate/ResizeHandler.ts +100 -0
  512. package/src/delegate/ScrollEnablement.ts +224 -0
  513. package/src/features/F6Navigation.ts +195 -0
  514. package/src/features/LegacyDateFormats.ts +40 -0
  515. package/src/features/OpenUI5Element.ts +11 -0
  516. package/src/features/OpenUI5Enablement.ts +117 -0
  517. package/src/features/OpenUI5Support.ts +153 -0
  518. package/src/generated/css/BusyIndicator.css.ts +9 -0
  519. package/src/generated/css/FontFace.css.ts +9 -0
  520. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  521. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  522. package/src/getSharedResource.ts +39 -0
  523. package/src/global.d.ts +38 -0
  524. package/src/i18nBundle.ts +108 -0
  525. package/src/locale/Locale.ts +101 -0
  526. package/src/locale/RTLAwareRegistry.ts +16 -0
  527. package/src/locale/applyDirection.ts +18 -0
  528. package/src/locale/directionChange.ts +34 -0
  529. package/src/locale/getEffectiveDir.ts +28 -0
  530. package/src/locale/getLocale.ts +46 -0
  531. package/src/locale/languageChange.ts +24 -0
  532. package/src/locale/nextFallbackLocale.ts +28 -0
  533. package/src/locale/normalizeLocale.ts +56 -0
  534. package/src/renderer/LitRenderer.ts +60 -0
  535. package/src/renderer/directives/style-map.js +72 -0
  536. package/src/renderer/executeTemplate.ts +40 -0
  537. package/src/theming/CustomStyle.ts +64 -0
  538. package/src/theming/ThemeLoaded.ts +24 -0
  539. package/src/theming/applyTheme.ts +90 -0
  540. package/src/theming/getConstructableStyle.ts +31 -0
  541. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  542. package/src/theming/getEffectiveStyle.ts +41 -0
  543. package/src/theming/getStylesString.ts +15 -0
  544. package/src/theming/getThemeDesignerTheme.ts +101 -0
  545. package/src/theming/preloadLinks.ts +24 -0
  546. package/src/thirdparty/_merge.ts +32 -0
  547. package/src/thirdparty/isPlainObject.ts +18 -0
  548. package/src/thirdparty/merge.ts +5 -0
  549. package/src/types/AnimationMode.ts +33 -0
  550. package/src/types/CSSColor.ts +20 -0
  551. package/src/types/CalendarType.ts +38 -0
  552. package/src/types/DOMReference.ts +28 -0
  553. package/src/types/DataType.ts +51 -0
  554. package/src/types/Float.ts +25 -0
  555. package/src/types/Integer.ts +25 -0
  556. package/src/types/InvisibleMessageMode.ts +27 -0
  557. package/src/types/ItemNavigationBehavior.ts +26 -0
  558. package/src/types/NavigationMode.ts +33 -0
  559. package/src/types/ValueState.ts +47 -0
  560. package/src/types.ts +30 -0
  561. package/src/updateShadowRoot.ts +42 -0
  562. package/src/util/AriaLabelHelper.ts +218 -0
  563. package/src/util/Caret.ts +28 -0
  564. package/src/util/ColorConversion.ts +399 -0
  565. package/src/util/FetchHelper.ts +31 -0
  566. package/src/util/FocusableElements.ts +92 -0
  567. package/src/util/HTMLSanitizer.ts +9 -0
  568. package/src/util/InvisibleMessage.ts +69 -0
  569. package/src/util/PopupUtils.ts +112 -0
  570. package/src/util/SlotsHelper.ts +39 -0
  571. package/src/util/StringHelper.ts +26 -0
  572. package/src/util/TabbableElements.ts +70 -0
  573. package/src/util/arraysAreEqual.ts +15 -0
  574. package/src/util/clamp.ts +12 -0
  575. package/src/util/createLinkInHead.ts +25 -0
  576. package/src/util/createStyleInHead.ts +20 -0
  577. package/src/util/debounce.ts +18 -0
  578. package/src/util/detectNavigatorLanguage.ts +13 -0
  579. package/src/util/escapeRegex.ts +11 -0
  580. package/src/util/formatMessage.ts +24 -0
  581. package/src/util/generateHighlightedMarkup.ts +43 -0
  582. package/src/util/getActiveElement.ts +11 -0
  583. package/src/util/getClassCopy.ts +12 -0
  584. package/src/util/getDesigntimePropertyAsArray.ts +4 -0
  585. package/src/util/getEffectiveContentDensity.ts +5 -0
  586. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  587. package/src/util/getFastNavigationGroups.ts +63 -0
  588. package/src/util/getFileExtension.ts +21 -0
  589. package/src/util/getNormalizedTarget.ts +16 -0
  590. package/src/util/getSingletonElementInstance.ts +13 -0
  591. package/src/util/isElementClickable.ts +19 -0
  592. package/src/util/isElementHidden.ts +9 -0
  593. package/src/util/isElementInView.ts +15 -0
  594. package/src/util/isElementTabbable.ts +37 -0
  595. package/src/util/isValidPropertyName.ts +29 -0
  596. package/src/util/whenDOMReady.ts +13 -0
  597. package/src/util/willShowContent.ts +7 -0
  598. package/src/validateThemeRoot.ts +58 -0
  599. package/tsconfig.json +13 -0
  600. package/used-modules.txt +10 -0
  601. package/bundle.es5.js +0 -31
  602. package/config/.eslintrc.js +0 -3
  603. package/config/rollup.config.js +0 -1
  604. package/dist/Assets.js +0 -2
  605. package/dist/CSS.js +0 -48
  606. package/dist/ContentDensity.js +0 -20
  607. package/dist/FormatSettings.js +0 -31
  608. package/dist/Locale.js +0 -101
  609. package/dist/LocaleProvider.js +0 -34
  610. package/dist/RenderScheduler.js +0 -160
  611. package/dist/ResourceLoaderOverrides.js +0 -38
  612. package/dist/SVGIconRegistry.js +0 -54
  613. package/dist/animations/config.js +0 -5
  614. package/dist/boot.js +0 -28
  615. package/dist/cldr/en.js +0 -4788
  616. package/dist/compatibility/DOMObserver.js +0 -62
  617. package/dist/compatibility/patchNodeValue.js +0 -24
  618. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  619. package/dist/config/CompactSize.js +0 -23
  620. package/dist/dates/CalendarDate.js +0 -203
  621. package/dist/dates/CalendarDatesRegistry.js +0 -17
  622. package/dist/dates/CalendarType.js +0 -22
  623. package/dist/dates/CalendarUtils.js +0 -99
  624. package/dist/delegate/CustomResize.js +0 -78
  625. package/dist/delegate/NativeResize.js +0 -44
  626. package/dist/events/EventEnrichment.js +0 -38
  627. package/dist/events/PseudoEvents.js +0 -58
  628. package/dist/features/browsersupport/Edge.js +0 -6
  629. package/dist/features/browsersupport/IE11.js +0 -41
  630. package/dist/features/calendar/Buddhist.js +0 -1
  631. package/dist/features/calendar/Islamic.js +0 -1
  632. package/dist/features/calendar/Japanese.js +0 -1
  633. package/dist/features/calendar/Persian.js +0 -1
  634. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  635. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  636. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  637. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  638. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  639. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  640. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  641. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  642. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  643. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  644. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  645. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  646. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  647. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  648. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  649. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  650. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  651. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  652. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  653. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  654. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  655. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  656. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  657. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  658. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  659. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  660. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  661. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  662. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  663. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  664. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  665. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  666. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  667. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  668. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  669. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  670. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  671. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  672. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  673. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  674. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  675. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  676. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  677. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  678. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  679. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  680. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  681. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  682. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  683. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  684. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  685. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  686. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  687. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  688. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  689. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  690. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  691. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  692. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  693. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  694. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  695. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  696. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  697. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  698. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  699. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  700. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  701. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  702. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  703. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  704. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  705. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  706. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  707. package/dist/json-imports/LocaleData.js +0 -171
  708. package/dist/renderer/ifDefined.js +0 -21
  709. package/dist/resources/bundle.es5.js +0 -212
  710. package/dist/resources/bundle.es5.js.map +0 -1
  711. package/dist/resources/bundle.esm.js +0 -123
  712. package/dist/resources/bundle.esm.js.map +0 -1
  713. package/dist/shims/Core-shim.js +0 -52
  714. package/dist/shims/jquery-shim.js +0 -89
  715. package/dist/test-resources/assets/Themes.js +0 -11
  716. package/dist/test-resources/elements/Child.js +0 -35
  717. package/dist/test-resources/elements/DensityAware.js +0 -14
  718. package/dist/test-resources/elements/Generic.js +0 -83
  719. package/dist/test-resources/elements/GenericExt.js +0 -26
  720. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  721. package/dist/test-resources/elements/Parent.js +0 -36
  722. package/dist/test-resources/pages/AllTestElements.html +0 -42
  723. package/dist/test-resources/pages/Configuration.html +0 -20
  724. package/dist/test-resources/pages/ConfigurationScript.html +0 -37
  725. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -34
  726. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -69
  727. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -53
  728. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  729. package/dist/test-resources/specs/Theming.spec.js +0 -31
  730. package/dist/test-resources/specs/UI5ElementDensityAware.spec.js +0 -51
  731. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  732. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  733. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  734. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  735. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  736. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  737. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  738. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  739. package/dist/theming/StyleInjection.js +0 -67
  740. package/dist/theming/ThemeBundle.js +0 -29
  741. package/dist/thirdparty/Array.from.js +0 -16
  742. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  743. package/dist/thirdparty/Array.prototype.find.js +0 -46
  744. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  745. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  746. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  747. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  748. package/dist/thirdparty/Number.isInteger.js +0 -5
  749. package/dist/thirdparty/Number.isNaN.js +0 -1
  750. package/dist/thirdparty/Number.parseInt.js +0 -1
  751. package/dist/thirdparty/Object.assign.js +0 -31
  752. package/dist/thirdparty/Object.entries.js +0 -11
  753. package/dist/thirdparty/Symbol.js +0 -2
  754. package/dist/thirdparty/WeakSet.js +0 -27
  755. package/dist/thirdparty/events-polyfills.js +0 -89
  756. package/dist/thirdparty/fetch.js +0 -1
  757. package/dist/thirdparty/template.js +0 -600
  758. package/dist/types/CSSSize.js +0 -9
  759. package/dist/types/PopupState.js +0 -37
  760. package/dist/util/CSSTransformUtils.js +0 -90
  761. package/dist/util/isDescendantOf.js +0 -15
  762. package/dist/util/isNodeClickable.js +0 -19
  763. package/dist/util/isNodeHidden.js +0 -13
  764. package/dist/util/isNodeTabbable.js +0 -28
  765. package/dist/util/normalizeLocale.js +0 -77
  766. package/dist/webcomponentsjs/LICENSE.md +0 -19
  767. package/dist/webcomponentsjs/README.md +0 -229
  768. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  769. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  770. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  771. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  772. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  773. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  774. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  775. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  776. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  777. package/dist/webcomponentsjs/package.json +0 -46
  778. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  779. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  780. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  781. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  782. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  783. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  784. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  785. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  786. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  787. package/src/AssetRegistry.js +0 -9
  788. package/src/Assets.js +0 -2
  789. package/src/CSS.js +0 -48
  790. package/src/ContentDensity.js +0 -20
  791. package/src/Device.js +0 -823
  792. package/src/EventProvider.js +0 -73
  793. package/src/FeaturesRegistry.js +0 -11
  794. package/src/FontFace.js +0 -66
  795. package/src/FormatSettings.js +0 -31
  796. package/src/InitialConfiguration.js +0 -126
  797. package/src/Locale.js +0 -101
  798. package/src/LocaleProvider.js +0 -34
  799. package/src/RenderQueue.js +0 -42
  800. package/src/RenderScheduler.js +0 -160
  801. package/src/ResourceLoaderOverrides.js +0 -38
  802. package/src/SVGIconRegistry.js +0 -54
  803. package/src/Theming.js +0 -45
  804. package/src/UI5Element.js +0 -834
  805. package/src/UI5ElementMetadata.js +0 -156
  806. package/src/animations/AnimationQueue.js +0 -42
  807. package/src/animations/animate.js +0 -53
  808. package/src/animations/config.js +0 -5
  809. package/src/animations/scroll.js +0 -28
  810. package/src/animations/slideDown.js +0 -79
  811. package/src/animations/slideUp.js +0 -71
  812. package/src/asset-registries/Icons.js +0 -24
  813. package/src/asset-registries/LocaleData.js +0 -101
  814. package/src/asset-registries/Themes.js +0 -75
  815. package/src/asset-registries/i18n.js +0 -75
  816. package/src/boot.js +0 -28
  817. package/src/cldr/en.js +0 -4788
  818. package/src/compatibility/DOMObserver.js +0 -62
  819. package/src/compatibility/patchNodeValue.js +0 -24
  820. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  821. package/src/config/AnimationMode.js +0 -9
  822. package/src/config/CalendarType.js +0 -18
  823. package/src/config/CompactSize.js +0 -23
  824. package/src/config/FormatSettings.js +0 -9
  825. package/src/config/Language.js +0 -9
  826. package/src/config/NoConflict.js +0 -44
  827. package/src/config/RTL.js +0 -31
  828. package/src/config/Theme.js +0 -24
  829. package/src/dates/CalendarDate.js +0 -203
  830. package/src/dates/CalendarDatesRegistry.js +0 -17
  831. package/src/dates/CalendarType.js +0 -22
  832. package/src/dates/CalendarUtils.js +0 -99
  833. package/src/delegate/CustomResize.js +0 -78
  834. package/src/delegate/ItemNavigation.js +0 -235
  835. package/src/delegate/NativeResize.js +0 -44
  836. package/src/delegate/ResizeHandler.js +0 -66
  837. package/src/delegate/ScrollEnablement.js +0 -80
  838. package/src/events/EventEnrichment.js +0 -38
  839. package/src/events/PseudoEvents.js +0 -58
  840. package/src/features/browsersupport/Edge.js +0 -6
  841. package/src/features/browsersupport/IE11.js +0 -41
  842. package/src/features/calendar/Buddhist.js +0 -1
  843. package/src/features/calendar/Islamic.js +0 -1
  844. package/src/features/calendar/Japanese.js +0 -1
  845. package/src/features/calendar/Persian.js +0 -1
  846. package/src/i18nBundle.js +0 -35
  847. package/src/json-imports/LocaleData.js +0 -171
  848. package/src/renderer/LitRenderer.js +0 -15
  849. package/src/renderer/ifDefined.js +0 -21
  850. package/src/shims/Core-shim.js +0 -52
  851. package/src/shims/jquery-shim.js +0 -89
  852. package/src/theming/CustomStyle.js +0 -19
  853. package/src/theming/StyleInjection.js +0 -67
  854. package/src/theming/ThemeBundle.js +0 -29
  855. package/src/thirdparty/Array.from.js +0 -16
  856. package/src/thirdparty/Array.prototype.fill.js +0 -44
  857. package/src/thirdparty/Array.prototype.find.js +0 -46
  858. package/src/thirdparty/Array.prototype.includes.js +0 -51
  859. package/src/thirdparty/Element.prototype.closest.js +0 -11
  860. package/src/thirdparty/Element.prototype.matches.js +0 -6
  861. package/src/thirdparty/Map.prototype.keys.js +0 -9
  862. package/src/thirdparty/Number.isInteger.js +0 -5
  863. package/src/thirdparty/Number.isNaN.js +0 -1
  864. package/src/thirdparty/Number.parseInt.js +0 -1
  865. package/src/thirdparty/Object.assign.js +0 -31
  866. package/src/thirdparty/Object.entries.js +0 -11
  867. package/src/thirdparty/Symbol.js +0 -2
  868. package/src/thirdparty/WeakSet.js +0 -27
  869. package/src/thirdparty/events-polyfills.js +0 -89
  870. package/src/thirdparty/fetch.js +0 -1
  871. package/src/thirdparty/template.js +0 -600
  872. package/src/types/AnimationMode.js +0 -7
  873. package/src/types/CSSSize.js +0 -9
  874. package/src/types/DataType.js +0 -25
  875. package/src/types/Integer.js +0 -9
  876. package/src/types/ItemNavigationBehavior.js +0 -21
  877. package/src/types/NavigationMode.js +0 -6
  878. package/src/types/PopupState.js +0 -37
  879. package/src/types/ValueState.js +0 -21
  880. package/src/util/CSSTransformUtils.js +0 -90
  881. package/src/util/FetchHelper.js +0 -31
  882. package/src/util/FocusableElements.js +0 -60
  883. package/src/util/StringHelper.js +0 -11
  884. package/src/util/TabbableElements.js +0 -44
  885. package/src/util/createStyleInHead.js +0 -18
  886. package/src/util/detectNavigatorLanguage.js +0 -11
  887. package/src/util/formatMessage.js +0 -23
  888. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  889. package/src/util/isDescendantOf.js +0 -15
  890. package/src/util/isNodeClickable.js +0 -19
  891. package/src/util/isNodeHidden.js +0 -13
  892. package/src/util/isNodeTabbable.js +0 -28
  893. package/src/util/isValidPropertyName.js +0 -20
  894. package/src/util/normalizeLocale.js +0 -77
  895. package/src/util/whenDOMReady.js +0 -13
@@ -0,0 +1,92 @@
1
+ import isElementHidden from "./isElementHidden.js";
2
+ import isElementClickable from "./isElementClickable.js";
3
+ import { instanceOfUI5Element } from "../UI5Element.js";
4
+
5
+ type FocusableElementPromise = Promise<HTMLElement | null>;
6
+
7
+ const isFocusTrap = (el: HTMLElement) => {
8
+ return el.hasAttribute("data-ui5-focus-trap");
9
+ };
10
+
11
+ const getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {
12
+ if (!container || isElementHidden(container)) {
13
+ return null;
14
+ }
15
+
16
+ return findFocusableElement(container, true, startFromContainer);
17
+ };
18
+
19
+ const getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {
20
+ if (!container || isElementHidden(container)) {
21
+ return null;
22
+ }
23
+
24
+ return findFocusableElement(container, false, startFromContainer);
25
+ };
26
+
27
+ const isElemFocusable = (el: HTMLElement) => {
28
+ return el.hasAttribute("data-ui5-focus-redirect") || !isElementHidden(el);
29
+ };
30
+
31
+ const findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {
32
+ let child: HTMLElement | undefined;
33
+ let assignedElements;
34
+ let currentIndex = -1;
35
+
36
+ if (container.shadowRoot) {
37
+ child = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;
38
+ } else if (container instanceof HTMLSlotElement && container.assignedNodes()) {
39
+ assignedElements = container.assignedNodes();
40
+ currentIndex = forward ? 0 : assignedElements.length - 1;
41
+ child = assignedElements[currentIndex] as HTMLElement;
42
+ } else if (startFromContainer) {
43
+ child = container;
44
+ } else {
45
+ child = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;
46
+ }
47
+
48
+ let focusableDescendant;
49
+
50
+ /* eslint-disable no-await-in-loop */
51
+
52
+ while (child) {
53
+ const originalChild: HTMLElement | undefined = child;
54
+
55
+ if (instanceOfUI5Element(child)) {
56
+ child = await child.getFocusDomRefAsync();
57
+ }
58
+
59
+ if (!child) {
60
+ return null;
61
+ }
62
+
63
+ if (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {
64
+ if (isElementClickable(child)) {
65
+ return (child && typeof child.focus === "function") ? child : null;
66
+ }
67
+
68
+ focusableDescendant = await findFocusableElement(child, forward);
69
+ if (focusableDescendant) {
70
+ return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
71
+ }
72
+ }
73
+
74
+ child = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;
75
+
76
+ // If the child element is not part of the currently assigned element,
77
+ // we have to check the next element assigned to the slot or continue with the next sibling of the slot,
78
+ // otherwise, the nextSibling is the next element inside the light DOM
79
+ if (assignedElements && !assignedElements[currentIndex].contains(child)) {
80
+ child = assignedElements[++currentIndex] as HTMLElement;
81
+ }
82
+ }
83
+
84
+ /* eslint-enable no-await-in-loop */
85
+
86
+ return null;
87
+ };
88
+
89
+ export {
90
+ getFirstFocusableElement,
91
+ getLastFocusableElement,
92
+ };
@@ -0,0 +1,9 @@
1
+ // @ts-ignore
2
+ import sanitizeHTML from "../sap/base/security/sanitizeHTML.js";
3
+ // @ts-ignore
4
+ import URLListValidator from "../sap/base/security/URLListValidator.js";
5
+
6
+ export {
7
+ URLListValidator,
8
+ sanitizeHTML,
9
+ };
@@ -0,0 +1,69 @@
1
+ import InvisibleMessageMode from "../types/InvisibleMessageMode.js";
2
+ import getSingletonElementInstance from "./getSingletonElementInstance.js";
3
+ import { attachBoot } from "../Boot.js";
4
+
5
+ let politeSpan: HTMLElement;
6
+ let assertiveSpan: HTMLElement;
7
+
8
+ const setOutOfViewportStyles = (el: HTMLElement) => {
9
+ el.style.position = "absolute";
10
+ el.style.clip = "rect(1px,1px,1px,1px)";
11
+ el.style.userSelect = "none";
12
+ el.style.left = "-1000px";
13
+ el.style.top = "-1000px";
14
+ el.style.pointerEvents = "none";
15
+ };
16
+
17
+ attachBoot(() => {
18
+ if (politeSpan && assertiveSpan) {
19
+ return;
20
+ }
21
+
22
+ politeSpan = document.createElement("span");
23
+ assertiveSpan = document.createElement("span");
24
+
25
+ politeSpan.classList.add("ui5-invisiblemessage-polite");
26
+ assertiveSpan.classList.add("ui5-invisiblemessage-assertive");
27
+
28
+ politeSpan.setAttribute("aria-live", "polite");
29
+ assertiveSpan.setAttribute("aria-live", "assertive");
30
+
31
+ politeSpan.setAttribute("role", "alert");
32
+ assertiveSpan.setAttribute("role", "alert");
33
+
34
+ setOutOfViewportStyles(politeSpan);
35
+ setOutOfViewportStyles(assertiveSpan);
36
+
37
+ getSingletonElementInstance("ui5-static-area").appendChild(politeSpan);
38
+ getSingletonElementInstance("ui5-static-area").appendChild(assertiveSpan);
39
+ });
40
+
41
+ /**
42
+ * Inserts the string into the respective span, depending on the mode provided.
43
+ *
44
+ * @param { string } message String to be announced by the screen reader.
45
+ * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.
46
+ * @public
47
+ */
48
+ const announce = (message: string, mode: InvisibleMessageMode) => {
49
+ // If no type is presented, fallback to polite announcement.
50
+ const span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;
51
+
52
+ // Set textContent to empty string in order to trigger screen reader's announcement.
53
+ span.textContent = "";
54
+ span.textContent = message;
55
+
56
+ if (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {
57
+ console.warn(`You have entered an invalid mode. Valid values are: "Polite" and "Assertive". The framework will automatically set the mode to "Polite".`); // eslint-disable-line
58
+ }
59
+
60
+ // clear the span in order to avoid reading it out while in JAWS reading node
61
+ setTimeout(() => {
62
+ // ensure that we clear the text node only if no announce is made in the meantime
63
+ if (span.textContent === message) {
64
+ span.textContent = "";
65
+ }
66
+ }, 3000);
67
+ };
68
+
69
+ export default announce;
@@ -0,0 +1,112 @@
1
+ import getSharedResource from "../getSharedResource.js";
2
+ import { getFeature } from "../FeaturesRegistry.js";
3
+ import getActiveElement from "./getActiveElement.js";
4
+ import type OpenUI5Support from "../features/OpenUI5Support.js";
5
+
6
+ type PopupUtilsData = {
7
+ currentZIndex: number
8
+ };
9
+
10
+ const popupUtilsData = getSharedResource<PopupUtilsData>("PopupUtilsData", { currentZIndex: 100 });
11
+
12
+ const getFocusedElement = () => {
13
+ const element = getActiveElement() as HTMLElement;
14
+ return (element && typeof element.focus === "function") ? element : null;
15
+ };
16
+
17
+ const isFocusedElementWithinNode = (node: HTMLElement) => {
18
+ const fe = getFocusedElement();
19
+
20
+ if (fe) {
21
+ return isNodeContainedWithin(node, fe);
22
+ }
23
+
24
+ return false;
25
+ };
26
+
27
+ const isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {
28
+ let currentNode: HTMLElement | undefined = parent;
29
+
30
+ if (currentNode.shadowRoot) {
31
+ const children = Array.from(currentNode.shadowRoot.children) as Array<HTMLElement>;
32
+ currentNode = children.find(n => n.localName !== "style");
33
+
34
+ if (!currentNode) {
35
+ return false;
36
+ }
37
+ }
38
+
39
+ if (currentNode === child) {
40
+ return true;
41
+ }
42
+
43
+ const childNodes = currentNode.localName === "slot" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;
44
+
45
+ if (childNodes) {
46
+ return Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));
47
+ }
48
+
49
+ return false;
50
+ };
51
+
52
+ const isPointInRect = (x: number, y: number, rect: DOMRect) => {
53
+ return x >= rect.left && x <= rect.right
54
+ && y >= rect.top && y <= rect.bottom;
55
+ };
56
+
57
+ const isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {
58
+ let x;
59
+ let y;
60
+
61
+ if (e instanceof MouseEvent) {
62
+ x = e.clientX;
63
+ y = e.clientY;
64
+ } else {
65
+ const touch = e.touches[0];
66
+ x = touch.clientX;
67
+ y = touch.clientY;
68
+ }
69
+
70
+ return isPointInRect(x, y, rect);
71
+ };
72
+
73
+ interface PopupInterface { // Refactor: replace with Popup.js
74
+ _show: () => void,
75
+ open: boolean,
76
+ }
77
+ function instanceOfPopup(object: any): object is PopupInterface {
78
+ return "isUI5Element" in object && "_show" in object;
79
+ }
80
+
81
+ const getClosedPopupParent = (el: HTMLElement): HTMLElement => {
82
+ const parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);
83
+
84
+ if (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {
85
+ return parent as HTMLElement;
86
+ }
87
+
88
+ return getClosedPopupParent(parent as HTMLElement);
89
+ };
90
+
91
+ const getNextZIndex = () => {
92
+ const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
93
+ if (openUI5Support && openUI5Support.isLoaded()) { // use OpenUI5 for getting z-index values, if loaded
94
+ return openUI5Support.getNextZIndex();
95
+ }
96
+
97
+ popupUtilsData.currentZIndex += 2;
98
+ return popupUtilsData.currentZIndex;
99
+ };
100
+
101
+ const getCurrentZIndex = () => {
102
+ return popupUtilsData.currentZIndex;
103
+ };
104
+
105
+ export {
106
+ getFocusedElement,
107
+ isClickInRect,
108
+ getClosedPopupParent,
109
+ getNextZIndex,
110
+ getCurrentZIndex,
111
+ isFocusedElementWithinNode,
112
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Determines the slot to which a node should be assigned
3
+ * @param node Text node or HTML element
4
+ * @returns {string}
5
+ */
6
+ const getSlotName = (node: Node) => {
7
+ // Text nodes can only go to the default slot
8
+ if (!(node instanceof HTMLElement)) {
9
+ return "default";
10
+ }
11
+
12
+ // Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)
13
+ const slot = node.getAttribute("slot");
14
+ if (slot) {
15
+ const match = slot.match(/^(.+?)-\d+$/);
16
+ return match ? match[1] : slot;
17
+ }
18
+
19
+ // Use default slot as a fallback
20
+ return "default";
21
+ };
22
+
23
+ const getSlottedNodes = (node: Node) => {
24
+ if (node instanceof HTMLSlotElement) {
25
+ return node.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);
26
+ }
27
+
28
+ return [node];
29
+ };
30
+
31
+ const getSlottedNodesList = (nodeList: Array<Node>) => {
32
+ return nodeList.reduce((acc, curr) => acc.concat(getSlottedNodes(curr)), [] as Array<Node>);
33
+ };
34
+
35
+ export {
36
+ getSlotName,
37
+ getSlottedNodes,
38
+ getSlottedNodesList,
39
+ };
@@ -0,0 +1,26 @@
1
+ const kebabToCamelMap = new Map<string, string>();
2
+ const camelToKebabMap = new Map<string, string>();
3
+
4
+ const kebabToCamelCase = (string: string) => {
5
+ if (!kebabToCamelMap.has(string)) {
6
+ const result = toCamelCase(string.split("-"));
7
+ kebabToCamelMap.set(string, result);
8
+ }
9
+ return kebabToCamelMap.get(string)!;
10
+ };
11
+
12
+ const camelToKebabCase = (string: string) => {
13
+ if (!camelToKebabMap.has(string)) {
14
+ const result = string.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
15
+ camelToKebabMap.set(string, result);
16
+ }
17
+ return camelToKebabMap.get(string)!;
18
+ };
19
+
20
+ const toCamelCase = (parts: Array<string>) => {
21
+ return parts.map((string, index) => {
22
+ return index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
23
+ }).join("");
24
+ };
25
+
26
+ export { kebabToCamelCase, camelToKebabCase };
@@ -0,0 +1,70 @@
1
+ import isElementTabbable from "./isElementTabbable.js";
2
+
3
+ /**
4
+ * Returns the tabbable elements within the provided HTMLElement.
5
+ *
6
+ * @public
7
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
8
+ * @returns { Array<HTMLElement> } the tabbable elements
9
+ */
10
+ const getTabbableElements = (el: HTMLElement): Array<HTMLElement> => {
11
+ return getTabbables([...el.children]);
12
+ };
13
+
14
+ /**
15
+ * Returns the last tabbable element within the provided HTMLElement.
16
+ *
17
+ * @public
18
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
19
+ * @returns { HTMLElement | null } the last tabbable element or "null" if not found
20
+ */
21
+ const getLastTabbableElement = (el: HTMLElement): HTMLElement | null => {
22
+ const tabbables = getTabbables([...el.children]);
23
+ return tabbables.length ? tabbables[tabbables.length - 1] : null;
24
+ };
25
+
26
+ const getTabbables = (nodes: Array<Node>, tabbables?: Array<HTMLElement>): Array<HTMLElement> => {
27
+ const tabbableElements = tabbables || [];
28
+
29
+ if (!nodes) {
30
+ return tabbableElements;
31
+ }
32
+
33
+ nodes.forEach(currentNode => {
34
+ if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {
35
+ return;
36
+ }
37
+
38
+ let currentElement = currentNode as HTMLElement;
39
+ if (currentElement.hasAttribute("data-sap-no-tab-ref")) {
40
+ return;
41
+ }
42
+
43
+ if (currentElement.shadowRoot) {
44
+ // get the root node of the ShadowDom (1st none style tag)
45
+ const children = currentElement.shadowRoot.children;
46
+ currentElement = Array.from(children).find(node => node.tagName !== "STYLE") as HTMLElement;
47
+ }
48
+
49
+ if (!currentElement) {
50
+ return;
51
+ }
52
+
53
+ if (isElementTabbable(currentElement)) {
54
+ tabbableElements.push(currentElement);
55
+ }
56
+
57
+ if (currentElement.tagName === "SLOT") {
58
+ getTabbables((currentElement as HTMLSlotElement).assignedNodes() as Array<HTMLElement>, tabbableElements);
59
+ } else {
60
+ getTabbables([...currentElement.children], tabbableElements);
61
+ }
62
+ });
63
+
64
+ return tabbableElements;
65
+ };
66
+
67
+ export {
68
+ getTabbableElements,
69
+ getLastTabbableElement,
70
+ };
@@ -0,0 +1,15 @@
1
+ const arraysAreEqual = (arr1: Array<any>, arr2: Array<any>) => {
2
+ if (arr1.length !== arr2.length) {
3
+ return false;
4
+ }
5
+
6
+ for (let i = 0; i < arr1.length; i++) {
7
+ if (arr1[i] !== arr2[i]) {
8
+ return false;
9
+ }
10
+ }
11
+
12
+ return true;
13
+ };
14
+
15
+ export default arraysAreEqual;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns a value clamped between an upper bound 'max' and lower bound 'min'.
3
+ * @param {number} val value
4
+ * @param {number} min lower bound
5
+ * @param {number} max upper bound
6
+ * @returns {number}
7
+ */
8
+ const clamp = (val: number, min: number, max: number) => {
9
+ return Math.min(Math.max(val, min), max);
10
+ };
11
+
12
+ export default clamp;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Creates a <link> tag in the <head> tag
3
+ * @param href - the CSS
4
+ * @param attributes - optional attributes to add to the tag
5
+ */
6
+ const createLinkInHead = (href: string, attributes?: Record<string, string>) => {
7
+ const link = document.createElement("link");
8
+ link.type = "text/css";
9
+ link.rel = "stylesheet";
10
+
11
+ if (attributes) {
12
+ Object.entries(attributes).forEach(pair => link.setAttribute(...pair));
13
+ }
14
+
15
+ link.href = href;
16
+
17
+ document.head.appendChild(link);
18
+
19
+ return new Promise<Event>(resolve => {
20
+ link.addEventListener("load", resolve);
21
+ link.addEventListener("error", resolve); // intended
22
+ });
23
+ };
24
+
25
+ export default createLinkInHead;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Creates a <style> tag in the <head> tag
3
+ * @param cssText - the CSS
4
+ * @param attributes - optional attributes to add to the tag
5
+ * @returns {HTMLElement}
6
+ */
7
+ const createStyleInHead = (cssText: string, attributes?: Record<string, string>) => {
8
+ const style = document.createElement("style");
9
+ style.type = "text/css";
10
+
11
+ if (attributes) {
12
+ Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
13
+ }
14
+
15
+ style.textContent = cssText;
16
+ document.head.appendChild(style);
17
+ return style;
18
+ };
19
+
20
+ export default createStyleInHead;
@@ -0,0 +1,18 @@
1
+ import { Timeout } from "../types.js";
2
+
3
+ /**
4
+ * Delays function execution by given threshold.
5
+ * @param fn {Function}
6
+ * @param delay {Integer}
7
+ */
8
+ let debounceInterval: Timeout | null = null;
9
+
10
+ const debounce = (fn: () => void, delay: number) => {
11
+ debounceInterval && clearTimeout(debounceInterval);
12
+ debounceInterval = setTimeout(() => {
13
+ debounceInterval = null;
14
+ fn();
15
+ }, delay);
16
+ };
17
+
18
+ export default debounce;
@@ -0,0 +1,13 @@
1
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
2
+
3
+ export default () => {
4
+ const browserLanguages = navigator.languages;
5
+
6
+ const navigatorLanguage = () => {
7
+ return navigator.language;
8
+ };
9
+
10
+ const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();
11
+
12
+ return rawLocale || DEFAULT_LANGUAGE;
13
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Escapes a regular expression text so that it can be used in a regular expression.
3
+ *
4
+ * @param { string } text the string to be interpreted literally
5
+ * @returns { string } the escaped string
6
+ */
7
+ const escapeRegex = (text: string) => {
8
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
9
+ };
10
+
11
+ export default escapeRegex;
@@ -0,0 +1,24 @@
1
+ const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g;
2
+
3
+ const formatMessage = (text: string, values: Array<number | string>) => {
4
+ values = values || [];
5
+
6
+ return text.replace(messageFormatRegEX, ($0, $1, $2, $3: string | number, offset: number) => {
7
+ if ($1) {
8
+ return '\''; /* eslint-disable-line */
9
+ }
10
+
11
+ if ($2) {
12
+ return $2.replace(/''/g, '\''); /* eslint-disable-line */
13
+ }
14
+
15
+ if ($3) {
16
+ const ind = typeof $3 === "string" ? parseInt($3) : $3;
17
+ return String(values[ind]);
18
+ }
19
+
20
+ throw new Error(`[i18n]: pattern syntax error at pos ${offset}`);
21
+ });
22
+ };
23
+
24
+ export default formatMessage;
@@ -0,0 +1,43 @@
1
+ import escapeRegex from "./escapeRegex.js";
2
+ // @ts-ignore
3
+ import encodeXML from "../sap/base/security/encodeXML.js";
4
+
5
+ // utility to replace all occurances of a string
6
+ function replaceAll(text: string, find: string, replace: string | ((substring: string, ...args: any[]) => string), caseInsensitive: boolean) {
7
+ return text.replaceAll(new RegExp(escapeRegex(find), `${caseInsensitive ? "i" : ""}g`), replace as string);
8
+ }
9
+
10
+ /**
11
+ * Generate markup for a raw string where a particular text is wrapped with some tag, by default `<b>` (bold) tag.
12
+ * All inputs to this function are considered literal text, and special characters will always be escaped.
13
+ * @param {string} text The text to add highlighting to
14
+ * @param {string} textToHighlight The text which should be highlighted
15
+ * @return {string} the markup HTML which contains all occurrances of the input text surrounded with a `<b>` tag.
16
+ */
17
+ function generateHighlightedMarkup(text: string, textToHighlight: string) {
18
+ if (!text || !textToHighlight) {
19
+ return text;
20
+ }
21
+ // a token is some string that does not appear in either of the input strings
22
+ // repeat the token until it does not appear in the string
23
+ const makeToken = (t: string) => {
24
+ const [s, e] = t.split("");
25
+ while (text.indexOf(t) >= 0 || textToHighlight.indexOf(t) >= 0) {
26
+ t = `${s}${t}${e}`;
27
+ }
28
+ return t;
29
+ };
30
+ // It doesn't matter what characters are used as long as all 4 of them are unique
31
+ // And also that encodeXML will not change these characters
32
+ const openToken = makeToken("12");
33
+ const closeToken = makeToken("34");
34
+ // wrap every occurance of the textToHighlight using the open/close tokens (instead of markup at this point)
35
+ let result = encodeXML(replaceAll(text, textToHighlight, (match: string) => `${openToken}${match}${closeToken}`, true)) as string;
36
+ // now replace the open and close tokens with the markup that we expect
37
+ [[openToken, "<b>"], [closeToken, "</b>"]].forEach(([find, replace]) => {
38
+ result = replaceAll(result, find, replace, false);
39
+ });
40
+ return result;
41
+ }
42
+
43
+ export default generateHighlightedMarkup;
@@ -0,0 +1,11 @@
1
+ const getActiveElement = () => {
2
+ let element = document.activeElement;
3
+
4
+ while (element && element.shadowRoot && element.shadowRoot.activeElement) {
5
+ element = element.shadowRoot.activeElement;
6
+ }
7
+
8
+ return element;
9
+ };
10
+
11
+ export default getActiveElement;
@@ -0,0 +1,12 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+
3
+ const getClassCopy = (klass: typeof UI5Element, constructorCallback: () => void) => {
4
+ return class classCopy extends klass {
5
+ constructor() {
6
+ super();
7
+ constructorCallback && constructorCallback();
8
+ }
9
+ };
10
+ };
11
+
12
+ export default getClassCopy;
@@ -0,0 +1,4 @@
1
+ export default (value: string) => {
2
+ const m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(value);
3
+ return m && m[2] ? m[2].split(/,/) : null;
4
+ };
@@ -0,0 +1,5 @@
1
+ const GLOBAL_CONTENT_DENSITY_CSS_VAR = "--_ui5_content_density";
2
+
3
+ const getEffectiveContentDensity = (el: HTMLElement) => getComputedStyle(el).getPropertyValue(GLOBAL_CONTENT_DENSITY_CSS_VAR);
4
+
5
+ export default getEffectiveContentDensity;
@@ -0,0 +1,5 @@
1
+ const NO_SCROLLBAR_STYLE_CLASS = "ui5-content-native-scrollbars";
2
+
3
+ const getEffectiveScrollbarStyle = () => document.body.classList.contains(NO_SCROLLBAR_STYLE_CLASS);
4
+
5
+ export default getEffectiveScrollbarStyle;