@ui5/webcomponents-base 0.0.0-2db62badf → 0.0.0-2f7664755

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 (862) hide show
  1. package/.eslintignore +6 -0
  2. package/CHANGELOG.md +588 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +29 -21
  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 +8 -0
  9. package/dist/Boot.js +44 -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 +84 -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 +124 -96
  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 +374 -0
  78. package/dist/UI5Element.js +953 -790
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -135
  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 +10 -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/bundle.esm.8fc86dc4.js +56 -0
  115. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  116. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  117. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  118. package/dist/config/AnimationMode.d.ts +14 -0
  119. package/dist/config/AnimationMode.js +23 -6
  120. package/dist/config/AnimationMode.js.map +1 -0
  121. package/dist/config/CalendarType.d.ts +8 -0
  122. package/dist/config/CalendarType.js +15 -14
  123. package/dist/config/CalendarType.js.map +1 -0
  124. package/dist/config/FormatSettings.d.ts +11 -0
  125. package/dist/config/FormatSettings.js +11 -5
  126. package/dist/config/FormatSettings.js.map +1 -0
  127. package/dist/config/Icons.d.ts +30 -0
  128. package/dist/config/Icons.js +48 -0
  129. package/dist/config/Icons.js.map +1 -0
  130. package/dist/config/Language.d.ts +31 -0
  131. package/dist/config/Language.js +54 -7
  132. package/dist/config/Language.js.map +1 -0
  133. package/dist/config/NoConflict.d.ts +20 -0
  134. package/dist/config/NoConflict.js +40 -34
  135. package/dist/config/NoConflict.js.map +1 -0
  136. package/dist/config/RTL.d.ts +7 -0
  137. package/dist/config/RTL.js +23 -20
  138. package/dist/config/RTL.js.map +1 -0
  139. package/dist/config/Theme.d.ts +28 -0
  140. package/dist/config/Theme.js +46 -19
  141. package/dist/config/Theme.js.map +1 -0
  142. package/dist/config/ThemeRoots.d.ts +4 -0
  143. package/dist/config/ThemeRoots.js +28 -0
  144. package/dist/config/ThemeRoots.js.map +1 -0
  145. package/dist/css/BusyIndicator.css +80 -0
  146. package/dist/css/FontFace.css +66 -0
  147. package/dist/css/OverrideFontFace.css +32 -0
  148. package/dist/css/SystemCSSVars.css +17 -0
  149. package/dist/decorators/customElement.d.ts +8 -0
  150. package/dist/decorators/customElement.js +16 -0
  151. package/dist/decorators/customElement.js.map +1 -0
  152. package/dist/decorators/event.d.ts +10 -0
  153. package/dist/decorators/event.js +24 -0
  154. package/dist/decorators/event.js.map +1 -0
  155. package/dist/decorators/fastNavigation.d.ts +7 -0
  156. package/dist/decorators/fastNavigation.js +13 -0
  157. package/dist/decorators/fastNavigation.js.map +1 -0
  158. package/dist/decorators/languageAware.d.ts +7 -0
  159. package/dist/decorators/languageAware.js +13 -0
  160. package/dist/decorators/languageAware.js.map +1 -0
  161. package/dist/decorators/property.d.ts +9 -0
  162. package/dist/decorators/property.js +24 -0
  163. package/dist/decorators/property.js.map +1 -0
  164. package/dist/decorators/slot.d.ts +9 -0
  165. package/dist/decorators/slot.js +37 -0
  166. package/dist/decorators/slot.js.map +1 -0
  167. package/dist/decorators/themeAware.d.ts +7 -0
  168. package/dist/decorators/themeAware.js +13 -0
  169. package/dist/decorators/themeAware.js.map +1 -0
  170. package/dist/delegate/ItemNavigation.d.ts +113 -0
  171. package/dist/delegate/ItemNavigation.js +312 -230
  172. package/dist/delegate/ItemNavigation.js.map +1 -0
  173. package/dist/delegate/ResizeHandler.d.ts +24 -0
  174. package/dist/delegate/ResizeHandler.js +80 -63
  175. package/dist/delegate/ResizeHandler.js.map +1 -0
  176. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  177. package/dist/delegate/ScrollEnablement.js +159 -74
  178. package/dist/delegate/ScrollEnablement.js.map +1 -0
  179. package/dist/features/F6Navigation.d.ts +16 -0
  180. package/dist/features/F6Navigation.js +112 -0
  181. package/dist/features/F6Navigation.js.map +1 -0
  182. package/dist/features/OpenUI5Element.d.ts +9 -0
  183. package/dist/features/OpenUI5Element.js +5 -0
  184. package/dist/features/OpenUI5Element.js.map +1 -0
  185. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  186. package/dist/features/OpenUI5Enablement.js +96 -0
  187. package/dist/features/OpenUI5Enablement.js.map +1 -0
  188. package/dist/features/OpenUI5Support.d.ts +23 -0
  189. package/dist/features/OpenUI5Support.js +97 -0
  190. package/dist/features/OpenUI5Support.js.map +1 -0
  191. package/dist/generated/AssetParameters.js +13 -0
  192. package/dist/generated/VersionInfo.js +10 -0
  193. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  194. package/dist/generated/css/BusyIndicator.css.js +7 -0
  195. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  196. package/dist/generated/css/FontFace.css.d.ts +3 -0
  197. package/dist/generated/css/FontFace.css.js +7 -0
  198. package/dist/generated/css/FontFace.css.js.map +1 -0
  199. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  200. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  201. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  202. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  203. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  204. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  205. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  206. package/dist/getSharedResource.d.ts +11 -0
  207. package/dist/getSharedResource.js +26 -0
  208. package/dist/getSharedResource.js.map +1 -0
  209. package/dist/global.d.ts +38 -0
  210. package/dist/i18nBundle.d.ts +43 -0
  211. package/dist/i18nBundle.js +73 -30
  212. package/dist/i18nBundle.js.map +1 -0
  213. package/dist/locale/Locale.d.ts +22 -0
  214. package/dist/locale/Locale.js +79 -0
  215. package/dist/locale/Locale.js.map +1 -0
  216. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  217. package/dist/locale/RTLAwareRegistry.js +9 -0
  218. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  219. package/dist/locale/applyDirection.d.ts +10 -0
  220. package/dist/locale/applyDirection.js +17 -0
  221. package/dist/locale/applyDirection.js.map +1 -0
  222. package/dist/locale/directionChange.d.ts +15 -0
  223. package/dist/locale/directionChange.js +24 -0
  224. package/dist/locale/directionChange.js.map +1 -0
  225. package/dist/locale/getEffectiveDir.d.ts +2 -0
  226. package/dist/locale/getEffectiveDir.js +24 -0
  227. package/dist/locale/getEffectiveDir.js.map +1 -0
  228. package/dist/locale/getLocale.d.ts +7 -0
  229. package/dist/locale/getLocale.js +38 -0
  230. package/dist/locale/getLocale.js.map +1 -0
  231. package/dist/locale/languageChange.d.ts +5 -0
  232. package/dist/locale/languageChange.js +14 -0
  233. package/dist/locale/languageChange.js.map +1 -0
  234. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  235. package/dist/locale/nextFallbackLocale.js +24 -0
  236. package/dist/locale/nextFallbackLocale.js.map +1 -0
  237. package/dist/locale/normalizeLocale.d.ts +7 -0
  238. package/dist/locale/normalizeLocale.js +47 -0
  239. package/dist/locale/normalizeLocale.js.map +1 -0
  240. package/dist/renderer/LitRenderer.d.ts +14 -0
  241. package/dist/renderer/LitRenderer.js +38 -12
  242. package/dist/renderer/LitRenderer.js.map +1 -0
  243. package/dist/renderer/directives/style-map.js +72 -0
  244. package/dist/renderer/executeTemplate.d.ts +13 -0
  245. package/dist/renderer/executeTemplate.js +30 -0
  246. package/dist/renderer/executeTemplate.js.map +1 -0
  247. package/dist/sap/base/Log.js +240 -0
  248. package/dist/sap/base/assert.js +7 -0
  249. package/dist/sap/base/security/URLListValidator.js +159 -0
  250. package/dist/sap/base/security/encodeCSS.js +14 -0
  251. package/dist/sap/base/security/encodeXML.js +23 -0
  252. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  253. package/dist/sap/base/strings/toHex.js +8 -0
  254. package/dist/sap/base/util/now.js +7 -0
  255. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  256. package/dist/theming/CustomStyle.d.ts +6 -0
  257. package/dist/theming/CustomStyle.js +44 -17
  258. package/dist/theming/CustomStyle.js.map +1 -0
  259. package/dist/theming/ThemeLoaded.d.ts +5 -0
  260. package/dist/theming/ThemeLoaded.js +14 -0
  261. package/dist/theming/ThemeLoaded.js.map +1 -0
  262. package/dist/theming/applyTheme.d.ts +2 -0
  263. package/dist/theming/applyTheme.js +75 -0
  264. package/dist/theming/applyTheme.js.map +1 -0
  265. package/dist/theming/getConstructableStyle.d.ts +9 -0
  266. package/dist/theming/getConstructableStyle.js +25 -0
  267. package/dist/theming/getConstructableStyle.js.map +1 -0
  268. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  269. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  270. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  271. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  272. package/dist/theming/getEffectiveStyle.js +32 -0
  273. package/dist/theming/getEffectiveStyle.js.map +1 -0
  274. package/dist/theming/getStylesString.d.ts +3 -0
  275. package/dist/theming/getStylesString.js +11 -0
  276. package/dist/theming/getStylesString.js.map +1 -0
  277. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  278. package/dist/theming/getThemeDesignerTheme.js +80 -0
  279. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  280. package/dist/theming/preloadLinks.d.ts +3 -0
  281. package/dist/theming/preloadLinks.js +19 -0
  282. package/dist/theming/preloadLinks.js.map +1 -0
  283. package/dist/thirdparty/_merge.d.ts +2 -0
  284. package/dist/thirdparty/_merge.js +35 -0
  285. package/dist/thirdparty/_merge.js.map +1 -0
  286. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  287. package/dist/thirdparty/isPlainObject.js +19 -0
  288. package/dist/thirdparty/isPlainObject.js.map +1 -0
  289. package/dist/thirdparty/merge.d.ts +2 -0
  290. package/dist/thirdparty/merge.js +6 -0
  291. package/dist/thirdparty/merge.js.map +1 -0
  292. package/dist/types/AnimationMode.d.ts +32 -0
  293. package/dist/types/AnimationMode.js +33 -6
  294. package/dist/types/AnimationMode.js.map +1 -0
  295. package/dist/types/CSSColor.d.ts +16 -0
  296. package/dist/types/CSSColor.js +19 -0
  297. package/dist/types/CSSColor.js.map +1 -0
  298. package/dist/types/CalendarType.d.ts +37 -0
  299. package/dist/types/CalendarType.js +39 -0
  300. package/dist/types/CalendarType.js.map +1 -0
  301. package/dist/types/DOMReference.d.ts +17 -0
  302. package/dist/types/DOMReference.js +25 -0
  303. package/dist/types/DOMReference.js.map +1 -0
  304. package/dist/types/DataType.d.ts +25 -0
  305. package/dist/types/DataType.js +33 -14
  306. package/dist/types/DataType.js.map +1 -0
  307. package/dist/types/Float.d.ts +18 -0
  308. package/dist/types/Float.js +22 -0
  309. package/dist/types/Float.js.map +1 -0
  310. package/dist/types/Integer.d.ts +18 -0
  311. package/dist/types/Integer.js +18 -5
  312. package/dist/types/Integer.js.map +1 -0
  313. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  314. package/dist/types/InvisibleMessageMode.js +27 -0
  315. package/dist/types/InvisibleMessageMode.js.map +1 -0
  316. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  317. package/dist/types/ItemNavigationBehavior.js +22 -17
  318. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  319. package/dist/types/NavigationMode.d.ts +32 -0
  320. package/dist/types/NavigationMode.js +33 -5
  321. package/dist/types/NavigationMode.js.map +1 -0
  322. package/dist/types/ValueState.d.ts +42 -0
  323. package/dist/types/ValueState.js +41 -18
  324. package/dist/types/ValueState.js.map +1 -0
  325. package/dist/types.d.ts +18 -0
  326. package/dist/types.js +2 -0
  327. package/dist/types.js.map +1 -0
  328. package/dist/updateShadowRoot.d.ts +8 -0
  329. package/dist/updateShadowRoot.js +34 -0
  330. package/dist/updateShadowRoot.js.map +1 -0
  331. package/dist/util/AriaLabelHelper.d.ts +6 -0
  332. package/dist/util/AriaLabelHelper.js +44 -0
  333. package/dist/util/AriaLabelHelper.js.map +1 -0
  334. package/dist/util/Caret.d.ts +7 -0
  335. package/dist/util/Caret.js +23 -0
  336. package/dist/util/Caret.js.map +1 -0
  337. package/dist/util/ColorConversion.d.ts +30 -0
  338. package/dist/util/ColorConversion.js +337 -0
  339. package/dist/util/ColorConversion.js.map +1 -0
  340. package/dist/util/FetchHelper.d.ts +3 -0
  341. package/dist/util/FetchHelper.js +19 -25
  342. package/dist/util/FetchHelper.js.map +1 -0
  343. package/dist/util/FocusableElements.d.ts +4 -0
  344. package/dist/util/FocusableElements.js +67 -56
  345. package/dist/util/FocusableElements.js.map +1 -0
  346. package/dist/util/HTMLSanitizer.d.ts +3 -0
  347. package/dist/util/HTMLSanitizer.js +6 -0
  348. package/dist/util/HTMLSanitizer.js.map +1 -0
  349. package/dist/util/InvisibleMessage.d.ts +10 -0
  350. package/dist/util/InvisibleMessage.js +56 -0
  351. package/dist/util/InvisibleMessage.js.map +1 -0
  352. package/dist/util/PopupUtils.d.ts +7 -0
  353. package/dist/util/PopupUtils.js +74 -0
  354. package/dist/util/PopupUtils.js.map +1 -0
  355. package/dist/util/SlotsHelper.d.ts +9 -0
  356. package/dist/util/SlotsHelper.js +30 -0
  357. package/dist/util/SlotsHelper.js.map +1 -0
  358. package/dist/util/StringHelper.d.ts +3 -0
  359. package/dist/util/StringHelper.js +21 -9
  360. package/dist/util/StringHelper.js.map +1 -0
  361. package/dist/util/TabbableElements.d.ts +17 -0
  362. package/dist/util/TabbableElements.js +53 -40
  363. package/dist/util/TabbableElements.js.map +1 -0
  364. package/dist/util/arraysAreEqual.d.ts +2 -0
  365. package/dist/util/arraysAreEqual.js +13 -0
  366. package/dist/util/arraysAreEqual.js.map +1 -0
  367. package/dist/util/clamp.d.ts +9 -0
  368. package/dist/util/clamp.js +12 -0
  369. package/dist/util/clamp.js.map +1 -0
  370. package/dist/util/createLinkInHead.d.ts +7 -0
  371. package/dist/util/createLinkInHead.js +21 -0
  372. package/dist/util/createLinkInHead.js.map +1 -0
  373. package/dist/util/createStyleInHead.d.ts +8 -0
  374. package/dist/util/createStyleInHead.js +10 -10
  375. package/dist/util/createStyleInHead.js.map +1 -0
  376. package/dist/util/debounce.d.ts +2 -0
  377. package/dist/util/debounce.js +15 -0
  378. package/dist/util/debounce.js.map +1 -0
  379. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  380. package/dist/util/detectNavigatorLanguage.js +8 -9
  381. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  382. package/dist/util/escapeRegex.d.ts +8 -0
  383. package/dist/util/escapeRegex.js +11 -0
  384. package/dist/util/escapeRegex.js.map +1 -0
  385. package/dist/util/formatMessage.d.ts +2 -0
  386. package/dist/util/formatMessage.js +15 -19
  387. package/dist/util/formatMessage.js.map +1 -0
  388. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  389. package/dist/util/generateHighlightedMarkup.js +41 -0
  390. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  391. package/dist/util/getActiveElement.d.ts +2 -0
  392. package/dist/util/getActiveElement.js +9 -0
  393. package/dist/util/getActiveElement.js.map +1 -0
  394. package/dist/util/getClassCopy.d.ts +400 -0
  395. package/dist/util/getClassCopy.js +10 -0
  396. package/dist/util/getClassCopy.js.map +1 -0
  397. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  398. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  399. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  400. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  401. package/dist/util/getEffectiveContentDensity.js +4 -0
  402. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  403. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  404. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  405. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  406. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  407. package/dist/util/getFastNavigationGroups.js +51 -0
  408. package/dist/util/getFastNavigationGroups.js.map +1 -0
  409. package/dist/util/getFileExtension.d.ts +12 -0
  410. package/dist/util/getFileExtension.js +19 -0
  411. package/dist/util/getFileExtension.js.map +1 -0
  412. package/dist/util/getNormalizedTarget.d.ts +7 -0
  413. package/dist/util/getNormalizedTarget.js +14 -0
  414. package/dist/util/getNormalizedTarget.js.map +1 -0
  415. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  416. package/dist/util/getSingletonElementInstance.js +10 -0
  417. package/dist/util/getSingletonElementInstance.js.map +1 -0
  418. package/dist/util/isElementClickable.d.ts +2 -0
  419. package/dist/util/isElementClickable.js +16 -0
  420. package/dist/util/isElementClickable.js.map +1 -0
  421. package/dist/util/isElementHidden.d.ts +2 -0
  422. package/dist/util/isElementHidden.js +8 -0
  423. package/dist/util/isElementHidden.js.map +1 -0
  424. package/dist/util/isElementInView.d.ts +6 -0
  425. package/dist/util/isElementInView.js +12 -0
  426. package/dist/util/isElementInView.js.map +1 -0
  427. package/dist/util/isElementTabbable.d.ts +9 -0
  428. package/dist/util/isElementTabbable.js +30 -0
  429. package/dist/util/isElementTabbable.js.map +1 -0
  430. package/dist/util/isValidPropertyName.d.ts +8 -0
  431. package/dist/util/isValidPropertyName.js +20 -12
  432. package/dist/util/isValidPropertyName.js.map +1 -0
  433. package/dist/util/whenDOMReady.d.ts +2 -0
  434. package/dist/util/whenDOMReady.js +11 -10
  435. package/dist/util/whenDOMReady.js.map +1 -0
  436. package/dist/util/willShowContent.d.ts +2 -0
  437. package/dist/util/willShowContent.js +7 -0
  438. package/dist/util/willShowContent.js.map +1 -0
  439. package/dist/validateThemeRoot.d.ts +2 -0
  440. package/dist/validateThemeRoot.js +47 -0
  441. package/dist/validateThemeRoot.js.map +1 -0
  442. package/index.js +1 -1
  443. package/lib/generate-asset-parameters/index.js +25 -0
  444. package/lib/generate-styles/index.js +31 -0
  445. package/lib/generate-version-info/index.js +32 -0
  446. package/package-scripts.js +52 -27
  447. package/package.json +22 -14
  448. package/src/AssetRegistry.ts +11 -0
  449. package/src/Boot.ts +61 -0
  450. package/src/CSP.ts +66 -0
  451. package/src/CustomElementsRegistry.ts +98 -0
  452. package/src/CustomElementsScope.ts +33 -0
  453. package/src/CustomElementsScopeUtils.ts +115 -0
  454. package/src/DOMObserver.ts +28 -0
  455. package/src/Device.ts +124 -0
  456. package/src/EventProvider.ts +87 -0
  457. package/src/FeaturesRegistry.ts +14 -0
  458. package/src/FontFace.ts +31 -0
  459. package/src/InitialConfiguration.ts +207 -0
  460. package/src/Keys.ts +295 -0
  461. package/src/ManagedStyles.ts +92 -0
  462. package/src/MarkedEvents.ts +20 -0
  463. package/src/MediaRange.ts +110 -0
  464. package/src/PropertiesFileFormat.ts +95 -0
  465. package/src/Render.ts +180 -0
  466. package/src/RenderQueue.ts +71 -0
  467. package/src/Runtimes.ts +114 -0
  468. package/src/StaticArea.ts +3 -0
  469. package/src/StaticAreaItem.ts +113 -0
  470. package/src/SystemCSSVars.ts +10 -0
  471. package/src/Theming.ts +4 -0
  472. package/src/UI5Element.ts +1156 -0
  473. package/src/UI5ElementMetadata.ts +389 -0
  474. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  475. package/src/animations/animate.ts +64 -0
  476. package/src/animations/scroll.ts +21 -0
  477. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  478. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  479. package/src/asset-registries/Icons.ts +162 -0
  480. package/src/asset-registries/Illustrations.ts +75 -0
  481. package/src/asset-registries/LocaleData.ts +172 -0
  482. package/src/asset-registries/Themes.ts +67 -0
  483. package/src/asset-registries/i18n.ts +118 -0
  484. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  485. package/src/config/AnimationMode.ts +33 -0
  486. package/src/config/CalendarType.ts +23 -0
  487. package/src/config/FormatSettings.ts +21 -0
  488. package/src/config/Icons.ts +59 -0
  489. package/src/config/Language.ts +72 -0
  490. package/src/config/NoConflict.ts +67 -0
  491. package/src/config/{RTL.js → RTL.ts} +14 -4
  492. package/src/config/Theme.ts +64 -0
  493. package/src/config/ThemeRoots.ts +41 -0
  494. package/src/css/BusyIndicator.css +80 -0
  495. package/src/css/FontFace.css +66 -0
  496. package/src/css/OverrideFontFace.css +32 -0
  497. package/src/css/SystemCSSVars.css +17 -0
  498. package/src/decorators/customElement.ts +17 -0
  499. package/src/decorators/event.ts +28 -0
  500. package/src/decorators/fastNavigation.ts +14 -0
  501. package/src/decorators/languageAware.ts +14 -0
  502. package/src/decorators/property.ts +30 -0
  503. package/src/decorators/slot.ts +49 -0
  504. package/src/decorators/themeAware.ts +14 -0
  505. package/src/delegate/ItemNavigation.ts +393 -0
  506. package/src/delegate/ResizeHandler.ts +95 -0
  507. package/src/delegate/ScrollEnablement.ts +224 -0
  508. package/src/features/F6Navigation.ts +141 -0
  509. package/src/features/OpenUI5Element.ts +11 -0
  510. package/src/features/OpenUI5Enablement.ts +117 -0
  511. package/src/features/OpenUI5Support.ts +148 -0
  512. package/src/generated/css/BusyIndicator.css.ts +9 -0
  513. package/src/generated/css/FontFace.css.ts +9 -0
  514. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  515. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  516. package/src/getSharedResource.ts +30 -0
  517. package/src/global.d.ts +38 -0
  518. package/src/i18nBundle.ts +108 -0
  519. package/{dist/Locale.js → src/locale/Locale.ts} +14 -14
  520. package/src/locale/RTLAwareRegistry.ts +16 -0
  521. package/src/locale/applyDirection.ts +18 -0
  522. package/src/locale/directionChange.ts +34 -0
  523. package/src/locale/getEffectiveDir.ts +28 -0
  524. package/src/locale/getLocale.ts +46 -0
  525. package/src/locale/languageChange.ts +24 -0
  526. package/src/locale/nextFallbackLocale.ts +28 -0
  527. package/{dist/util/normalizeLocale.js → src/locale/normalizeLocale.ts} +12 -33
  528. package/src/renderer/LitRenderer.ts +60 -0
  529. package/src/renderer/directives/style-map.js +72 -0
  530. package/src/renderer/executeTemplate.ts +40 -0
  531. package/src/theming/CustomStyle.ts +62 -0
  532. package/src/theming/ThemeLoaded.ts +24 -0
  533. package/src/theming/applyTheme.ts +90 -0
  534. package/src/theming/getConstructableStyle.ts +31 -0
  535. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  536. package/src/theming/getEffectiveStyle.ts +41 -0
  537. package/src/theming/getStylesString.ts +15 -0
  538. package/src/theming/getThemeDesignerTheme.ts +101 -0
  539. package/src/theming/preloadLinks.ts +24 -0
  540. package/src/thirdparty/_merge.ts +32 -0
  541. package/src/thirdparty/isPlainObject.ts +18 -0
  542. package/src/thirdparty/merge.ts +5 -0
  543. package/src/types/AnimationMode.ts +33 -0
  544. package/src/types/CSSColor.ts +20 -0
  545. package/src/types/CalendarType.ts +38 -0
  546. package/src/types/DOMReference.ts +28 -0
  547. package/src/types/DataType.ts +51 -0
  548. package/src/types/Float.ts +25 -0
  549. package/src/types/Integer.ts +25 -0
  550. package/src/types/InvisibleMessageMode.ts +27 -0
  551. package/src/types/ItemNavigationBehavior.ts +26 -0
  552. package/src/types/NavigationMode.ts +33 -0
  553. package/src/types/ValueState.ts +47 -0
  554. package/src/types.ts +30 -0
  555. package/src/updateShadowRoot.ts +37 -0
  556. package/src/util/AriaLabelHelper.ts +63 -0
  557. package/src/util/Caret.ts +28 -0
  558. package/src/util/ColorConversion.ts +399 -0
  559. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  560. package/src/util/FocusableElements.ts +92 -0
  561. package/src/util/HTMLSanitizer.ts +9 -0
  562. package/src/util/InvisibleMessage.ts +69 -0
  563. package/src/util/PopupUtils.ts +112 -0
  564. package/src/util/SlotsHelper.ts +39 -0
  565. package/src/util/StringHelper.ts +26 -0
  566. package/src/util/TabbableElements.ts +70 -0
  567. package/src/util/arraysAreEqual.ts +15 -0
  568. package/src/util/clamp.ts +12 -0
  569. package/src/util/createLinkInHead.ts +25 -0
  570. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  571. package/src/util/debounce.ts +18 -0
  572. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +4 -2
  573. package/src/util/escapeRegex.ts +11 -0
  574. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  575. package/src/util/generateHighlightedMarkup.ts +43 -0
  576. package/src/util/getActiveElement.ts +11 -0
  577. package/src/util/getClassCopy.ts +12 -0
  578. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  579. package/src/util/getEffectiveContentDensity.ts +5 -0
  580. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  581. package/src/util/getFastNavigationGroups.ts +63 -0
  582. package/src/util/getFileExtension.ts +21 -0
  583. package/src/util/getNormalizedTarget.ts +16 -0
  584. package/src/util/getSingletonElementInstance.ts +13 -0
  585. package/src/util/isElementClickable.ts +19 -0
  586. package/src/util/isElementHidden.ts +9 -0
  587. package/src/util/isElementInView.ts +15 -0
  588. package/src/util/isElementTabbable.ts +37 -0
  589. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +12 -3
  590. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  591. package/src/util/willShowContent.ts +7 -0
  592. package/src/validateThemeRoot.ts +58 -0
  593. package/tsconfig.json +13 -0
  594. package/used-modules.txt +10 -0
  595. package/bundle.es5.js +0 -28
  596. package/config/.eslintrc.js +0 -3
  597. package/config/rollup.config.js +0 -1
  598. package/dist/Assets.js +0 -2
  599. package/dist/CSS.js +0 -48
  600. package/dist/FormatSettings.js +0 -31
  601. package/dist/LocaleProvider.js +0 -34
  602. package/dist/RenderScheduler.js +0 -160
  603. package/dist/ResourceLoaderOverrides.js +0 -38
  604. package/dist/SVGIconRegistry.js +0 -54
  605. package/dist/animations/config.js +0 -5
  606. package/dist/boot.js +0 -25
  607. package/dist/compatibility/DOMObserver.js +0 -62
  608. package/dist/compatibility/patchNodeValue.js +0 -24
  609. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  610. package/dist/dates/CalendarDate.js +0 -203
  611. package/dist/dates/CalendarType.js +0 -22
  612. package/dist/dates/CalendarUtils.js +0 -99
  613. package/dist/delegate/CustomResize.js +0 -78
  614. package/dist/delegate/NativeResize.js +0 -44
  615. package/dist/events/PseudoEvents.js +0 -58
  616. package/dist/features/browsersupport/Edge.js +0 -6
  617. package/dist/features/browsersupport/IE11.js +0 -41
  618. package/dist/features/calendar/Buddhist.js +0 -1
  619. package/dist/features/calendar/Islamic.js +0 -1
  620. package/dist/features/calendar/Japanese.js +0 -1
  621. package/dist/features/calendar/Persian.js +0 -1
  622. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  623. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  624. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  625. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  626. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  627. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  628. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  629. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  630. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  631. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  632. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  633. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  634. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  635. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  636. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  637. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  638. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  639. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  640. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  641. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  642. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  643. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  644. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  645. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  646. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  647. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  648. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  649. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  650. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  651. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  652. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  653. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  654. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  655. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  656. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  657. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  658. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  659. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  660. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  661. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  662. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  663. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  664. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  665. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  666. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  667. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  668. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  669. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  670. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  671. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  672. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  673. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  674. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  675. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  676. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  677. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  678. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  679. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  680. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  681. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  682. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  683. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  684. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  685. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  686. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  687. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  688. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  689. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  690. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  691. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  692. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  693. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  694. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  695. package/dist/json-imports/LocaleData.js +0 -171
  696. package/dist/renderer/ifDefined.js +0 -21
  697. package/dist/resources/bundle.es5.js +0 -212
  698. package/dist/resources/bundle.es5.js.map +0 -1
  699. package/dist/resources/bundle.esm.js +0 -123
  700. package/dist/resources/bundle.esm.js.map +0 -1
  701. package/dist/shims/Core-shim.js +0 -52
  702. package/dist/shims/jquery-shim.js +0 -89
  703. package/dist/test-resources/assets/Themes.js +0 -11
  704. package/dist/test-resources/elements/Child.js +0 -35
  705. package/dist/test-resources/elements/Generic.js +0 -83
  706. package/dist/test-resources/elements/GenericExt.js +0 -26
  707. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  708. package/dist/test-resources/elements/Parent.js +0 -36
  709. package/dist/test-resources/pages/AllTestElements.html +0 -42
  710. package/dist/test-resources/pages/Configuration.html +0 -20
  711. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  712. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  713. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  714. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  715. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  716. package/dist/test-resources/specs/Theming.spec.js +0 -31
  717. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  718. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  719. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  720. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  721. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  722. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  723. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  724. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  725. package/dist/theming/StyleInjection.js +0 -67
  726. package/dist/thirdparty/Array.from.js +0 -16
  727. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  728. package/dist/thirdparty/Array.prototype.find.js +0 -46
  729. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  730. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  731. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  732. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  733. package/dist/thirdparty/Number.isInteger.js +0 -5
  734. package/dist/thirdparty/Number.isNaN.js +0 -1
  735. package/dist/thirdparty/Number.parseInt.js +0 -1
  736. package/dist/thirdparty/Object.assign.js +0 -31
  737. package/dist/thirdparty/Object.entries.js +0 -11
  738. package/dist/thirdparty/Symbol.js +0 -2
  739. package/dist/thirdparty/WeakSet.js +0 -27
  740. package/dist/thirdparty/events-polyfills.js +0 -89
  741. package/dist/thirdparty/fetch.js +0 -1
  742. package/dist/thirdparty/template.js +0 -600
  743. package/dist/types/CSSSize.js +0 -9
  744. package/dist/types/PopupState.js +0 -37
  745. package/dist/util/CSSTransformUtils.js +0 -90
  746. package/dist/util/isDescendantOf.js +0 -15
  747. package/dist/util/isNodeClickable.js +0 -19
  748. package/dist/util/isNodeHidden.js +0 -13
  749. package/dist/util/isNodeTabbable.js +0 -28
  750. package/dist/webcomponentsjs/LICENSE.md +0 -19
  751. package/dist/webcomponentsjs/README.md +0 -229
  752. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  753. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  754. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  755. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  756. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  757. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  758. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  759. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  760. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  761. package/dist/webcomponentsjs/package.json +0 -46
  762. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  763. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  764. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  765. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  766. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  767. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  768. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  769. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  770. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  771. package/src/AssetRegistry.js +0 -9
  772. package/src/Assets.js +0 -2
  773. package/src/CSS.js +0 -48
  774. package/src/Device.js +0 -823
  775. package/src/EventProvider.js +0 -73
  776. package/src/FeaturesRegistry.js +0 -11
  777. package/src/FontFace.js +0 -66
  778. package/src/FormatSettings.js +0 -31
  779. package/src/InitialConfiguration.js +0 -119
  780. package/src/Locale.js +0 -101
  781. package/src/LocaleProvider.js +0 -34
  782. package/src/RenderQueue.js +0 -42
  783. package/src/RenderScheduler.js +0 -160
  784. package/src/ResourceLoaderOverrides.js +0 -38
  785. package/src/SVGIconRegistry.js +0 -54
  786. package/src/Theming.js +0 -45
  787. package/src/UI5Element.js +0 -805
  788. package/src/UI5ElementMetadata.js +0 -148
  789. package/src/animations/animate.js +0 -53
  790. package/src/animations/config.js +0 -5
  791. package/src/animations/scroll.js +0 -28
  792. package/src/asset-registries/Icons.js +0 -24
  793. package/src/asset-registries/LocaleData.js +0 -101
  794. package/src/asset-registries/Themes.js +0 -75
  795. package/src/asset-registries/i18n.js +0 -75
  796. package/src/boot.js +0 -25
  797. package/src/compatibility/DOMObserver.js +0 -62
  798. package/src/compatibility/patchNodeValue.js +0 -24
  799. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  800. package/src/config/AnimationMode.js +0 -9
  801. package/src/config/CalendarType.js +0 -18
  802. package/src/config/FormatSettings.js +0 -9
  803. package/src/config/Language.js +0 -9
  804. package/src/config/NoConflict.js +0 -44
  805. package/src/config/Theme.js +0 -24
  806. package/src/dates/CalendarDate.js +0 -203
  807. package/src/dates/CalendarType.js +0 -22
  808. package/src/dates/CalendarUtils.js +0 -99
  809. package/src/delegate/CustomResize.js +0 -78
  810. package/src/delegate/ItemNavigation.js +0 -234
  811. package/src/delegate/NativeResize.js +0 -44
  812. package/src/delegate/ResizeHandler.js +0 -66
  813. package/src/delegate/ScrollEnablement.js +0 -80
  814. package/src/events/PseudoEvents.js +0 -58
  815. package/src/features/browsersupport/Edge.js +0 -6
  816. package/src/features/browsersupport/IE11.js +0 -41
  817. package/src/features/calendar/Buddhist.js +0 -1
  818. package/src/features/calendar/Islamic.js +0 -1
  819. package/src/features/calendar/Japanese.js +0 -1
  820. package/src/features/calendar/Persian.js +0 -1
  821. package/src/i18nBundle.js +0 -35
  822. package/src/json-imports/LocaleData.js +0 -171
  823. package/src/renderer/LitRenderer.js +0 -15
  824. package/src/renderer/ifDefined.js +0 -21
  825. package/src/shims/Core-shim.js +0 -52
  826. package/src/shims/jquery-shim.js +0 -89
  827. package/src/theming/CustomStyle.js +0 -19
  828. package/src/theming/StyleInjection.js +0 -67
  829. package/src/thirdparty/Array.from.js +0 -16
  830. package/src/thirdparty/Array.prototype.fill.js +0 -44
  831. package/src/thirdparty/Array.prototype.find.js +0 -46
  832. package/src/thirdparty/Array.prototype.includes.js +0 -51
  833. package/src/thirdparty/Element.prototype.closest.js +0 -11
  834. package/src/thirdparty/Element.prototype.matches.js +0 -6
  835. package/src/thirdparty/Map.prototype.keys.js +0 -9
  836. package/src/thirdparty/Number.isInteger.js +0 -5
  837. package/src/thirdparty/Number.isNaN.js +0 -1
  838. package/src/thirdparty/Number.parseInt.js +0 -1
  839. package/src/thirdparty/Object.assign.js +0 -31
  840. package/src/thirdparty/Object.entries.js +0 -11
  841. package/src/thirdparty/Symbol.js +0 -2
  842. package/src/thirdparty/WeakSet.js +0 -27
  843. package/src/thirdparty/events-polyfills.js +0 -89
  844. package/src/thirdparty/fetch.js +0 -1
  845. package/src/thirdparty/template.js +0 -600
  846. package/src/types/AnimationMode.js +0 -7
  847. package/src/types/CSSSize.js +0 -9
  848. package/src/types/DataType.js +0 -25
  849. package/src/types/Integer.js +0 -9
  850. package/src/types/ItemNavigationBehavior.js +0 -21
  851. package/src/types/NavigationMode.js +0 -6
  852. package/src/types/PopupState.js +0 -37
  853. package/src/types/ValueState.js +0 -21
  854. package/src/util/CSSTransformUtils.js +0 -90
  855. package/src/util/FocusableElements.js +0 -60
  856. package/src/util/StringHelper.js +0 -11
  857. package/src/util/TabbableElements.js +0 -44
  858. package/src/util/isDescendantOf.js +0 -15
  859. package/src/util/isNodeClickable.js +0 -19
  860. package/src/util/isNodeHidden.js +0 -13
  861. package/src/util/isNodeTabbable.js +0 -28
  862. package/src/util/normalizeLocale.js +0 -77
@@ -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;
@@ -4,11 +4,13 @@
4
4
  * @param attributes - optional attributes to add to the tag
5
5
  * @returns {HTMLElement}
6
6
  */
7
- const createStyleInHead = (cssText, attributes = {}) => {
7
+ const createStyleInHead = (cssText: string, attributes?: Record<string, string>) => {
8
8
  const style = document.createElement("style");
9
9
  style.type = "text/css";
10
10
 
11
- Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
11
+ if (attributes) {
12
+ Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
13
+ }
12
14
 
13
15
  style.textContent = cssText;
14
16
  document.head.appendChild(style);
@@ -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;
@@ -1,3 +1,5 @@
1
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
2
+
1
3
  export default () => {
2
4
  const browserLanguages = navigator.languages;
3
5
 
@@ -5,7 +7,7 @@ export default () => {
5
7
  return navigator.language;
6
8
  };
7
9
 
8
- const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage() || navigator.userLanguage || navigator.browserLanguage;
10
+ const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();
9
11
 
10
- return rawLocale || "en";
12
+ return rawLocale || DEFAULT_LANGUAGE;
11
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;
@@ -1,9 +1,9 @@
1
1
  const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g;
2
2
 
3
- const formatMessage = (text, values) => {
3
+ const formatMessage = (text: string, values: Array<number | string>) => {
4
4
  values = values || [];
5
5
 
6
- return text.replace(messageFormatRegEX, ($0, $1, $2, $3, offset) => {
6
+ return text.replace(messageFormatRegEX, ($0, $1, $2, $3: string | number, offset: number) => {
7
7
  if ($1) {
8
8
  return '\''; /* eslint-disable-line */
9
9
  }
@@ -13,7 +13,8 @@ const formatMessage = (text, values) => {
13
13
  }
14
14
 
15
15
  if ($3) {
16
- return String(values[parseInt($3)]);
16
+ const ind = typeof $3 === "string" ? parseInt($3) : $3;
17
+ return String(values[ind]);
17
18
  }
18
19
 
19
20
  throw new Error(`[i18n]: pattern syntax error at pos ${offset}`);
@@ -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;
@@ -1,4 +1,4 @@
1
- export default value => {
1
+ export default (value: string) => {
2
2
  const m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(value);
3
3
  return m && m[2] ? m[2].split(/,/) : null;
4
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;
@@ -0,0 +1,63 @@
1
+ let groups: Array<HTMLElement> = [];
2
+
3
+ const isFastNavGroupElemenet = (el: HTMLElement) => {
4
+ return el.getAttribute("data-sap-ui-fastnavgroup") === "true";
5
+ };
6
+
7
+ const isElementVisible = (el: HTMLElement) => {
8
+ const style = window.getComputedStyle(el);
9
+
10
+ return style.width !== "0px"
11
+ && style.height !== "0px"
12
+ && style.opacity !== "0"
13
+ && style.display !== "none"
14
+ && style.visibility !== "hidden";
15
+ };
16
+
17
+ const findFastNavigationGroups = (container: HTMLElement, startFromContainer?: boolean) => {
18
+ let child,
19
+ assignedElements,
20
+ index = 0;
21
+
22
+ if (!isElementVisible(container)) {
23
+ return;
24
+ }
25
+
26
+ if (isFastNavGroupElemenet(container)) {
27
+ groups.push(container);
28
+ }
29
+
30
+ if (container.shadowRoot) {
31
+ child = container.shadowRoot.firstChild;
32
+ } else if (container instanceof HTMLSlotElement && container.assignedNodes()) {
33
+ assignedElements = container.assignedNodes();
34
+ child = assignedElements[0];
35
+ } else if (startFromContainer) {
36
+ child = container;
37
+ } else {
38
+ child = container.firstElementChild;
39
+ }
40
+
41
+ while (child) {
42
+ const originalChild: HTMLElement = child as HTMLElement;
43
+ if (!child) {
44
+ return;
45
+ }
46
+
47
+ if (child.nodeType === 1) {
48
+ findFastNavigationGroups(child as HTMLElement, false);
49
+ }
50
+
51
+ child = assignedElements && assignedElements.length ? assignedElements[++index] : originalChild.nextElementSibling;
52
+ }
53
+ };
54
+
55
+ const getFastNavigationGroups = (container: HTMLElement) => {
56
+ groups = [];
57
+
58
+ findFastNavigationGroups(container, true);
59
+
60
+ return groups;
61
+ };
62
+
63
+ export default getFastNavigationGroups;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * "" -> ""
3
+ * "noExtension" -> ""
4
+ * "file.txt" -> ".txt"
5
+ * "file.with.many.dots.doc" -> ".doc"
6
+ * ".gitignore" -> ""
7
+ *
8
+ * @param { string } fileName - the file name
9
+ * @returns { string }
10
+ */
11
+ const getFileExtension = (fileName: string) => {
12
+ const dotPos = fileName.lastIndexOf(".");
13
+
14
+ if (dotPos < 1) {
15
+ return "";
16
+ }
17
+
18
+ return fileName.slice(dotPos);
19
+ };
20
+
21
+ export default getFileExtension;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Returns the normalized event target in cases when it has shadow root.
3
+ * @param {Object} target The original event target
4
+ * @returns {Object} The normalized target
5
+ */
6
+ const getNormalizedTarget = (target: HTMLElement) => {
7
+ let element = target;
8
+
9
+ if (target.shadowRoot && target.shadowRoot.activeElement) {
10
+ element = target.shadowRoot.activeElement as HTMLElement;
11
+ }
12
+
13
+ return element;
14
+ };
15
+
16
+ export default getNormalizedTarget;
@@ -0,0 +1,13 @@
1
+ const getSingletonElementInstance = (tag: string, parentElement: HTMLElement = document.body) => {
2
+ let el = document.querySelector(tag);
3
+
4
+ if (el) {
5
+ return el;
6
+ }
7
+
8
+ el = document.createElement(tag);
9
+
10
+ return parentElement.insertBefore(el, parentElement.firstChild);
11
+ };
12
+
13
+ export default getSingletonElementInstance;
@@ -0,0 +1,19 @@
1
+ const rClickable = /^(?:a|area)$/i;
2
+ const rFocusable = /^(?:input|select|textarea|button)$/i;
3
+
4
+ const isElementClickable = (el: HTMLElement): boolean => {
5
+ if ((el as HTMLButtonElement).disabled) {
6
+ return false;
7
+ }
8
+
9
+ const tabIndex = el.getAttribute("tabindex");
10
+ if (tabIndex !== null && tabIndex !== undefined) {
11
+ return parseInt(tabIndex) >= 0;
12
+ }
13
+
14
+ return rFocusable.test(el.nodeName)
15
+ || (rClickable.test(el.nodeName)
16
+ && !!(el as HTMLLinkElement).href);
17
+ };
18
+
19
+ export default isElementClickable;
@@ -0,0 +1,9 @@
1
+ const isElementHidden = (el: HTMLElement) => {
2
+ if (el.nodeName === "SLOT") {
3
+ return false;
4
+ }
5
+
6
+ return (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (el.style && el.style.visibility === "hidden");
7
+ };
8
+
9
+ export default isElementHidden;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Determines if the element is within the viewport.
3
+ * @param el {HTMLElement}
4
+ */
5
+ const isElementInView = (el: HTMLElement) => {
6
+ const rect = el.getBoundingClientRect();
7
+
8
+ return (
9
+ rect.top >= 0 && rect.left >= 0
10
+ && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
11
+ && rect.right <= (window.innerWidth || document.documentElement.clientWidth)
12
+ );
13
+ };
14
+
15
+ export default isElementInView;