@ui5/webcomponents-base 0.0.0-4e00e5559 → 0.0.0-51202adee

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 (765) hide show
  1. package/.eslintignore +4 -0
  2. package/CHANGELOG.md +511 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +28 -17
  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 +21 -69
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +119 -103
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +175 -158
  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 +4 -39
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +92 -98
  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 +3 -2
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +373 -0
  78. package/dist/UI5Element.js +947 -878
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -160
  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 +125 -114
  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 +39 -76
  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 +74 -58
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/bundle.esm.3a492d53.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 -10
  120. package/dist/config/AnimationMode.js.map +1 -0
  121. package/dist/config/CalendarType.d.ts +8 -0
  122. package/dist/config/CalendarType.js +13 -12
  123. package/dist/config/CalendarType.js.map +1 -0
  124. package/dist/config/FormatSettings.d.ts +11 -0
  125. package/dist/config/FormatSettings.js +10 -8
  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 -10
  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 -41
  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 +45 -22
  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 -274
  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 -120
  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 +93 -86
  190. package/dist/features/OpenUI5Support.js.map +1 -0
  191. package/dist/generated/AssetParameters.js +1 -1
  192. package/dist/generated/VersionInfo.js +10 -0
  193. package/dist/generated/css/BusyIndicator.css.js +5 -0
  194. package/dist/generated/css/FontFace.css.js +5 -0
  195. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  196. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  197. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  198. package/dist/getSharedResource.d.ts +11 -0
  199. package/dist/getSharedResource.js +26 -0
  200. package/dist/getSharedResource.js.map +1 -0
  201. package/dist/global.d.ts +44 -0
  202. package/dist/i18nBundle.d.ts +43 -0
  203. package/dist/i18nBundle.js +73 -28
  204. package/dist/i18nBundle.js.map +1 -0
  205. package/dist/locale/Locale.d.ts +22 -0
  206. package/dist/locale/Locale.js +75 -87
  207. package/dist/locale/Locale.js.map +1 -0
  208. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  209. package/dist/locale/RTLAwareRegistry.js +9 -0
  210. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  211. package/dist/locale/applyDirection.d.ts +10 -0
  212. package/dist/locale/applyDirection.js +17 -0
  213. package/dist/locale/applyDirection.js.map +1 -0
  214. package/dist/locale/directionChange.d.ts +15 -0
  215. package/dist/locale/directionChange.js +24 -0
  216. package/dist/locale/directionChange.js.map +1 -0
  217. package/dist/locale/getEffectiveDir.d.ts +2 -0
  218. package/dist/locale/getEffectiveDir.js +24 -0
  219. package/dist/locale/getEffectiveDir.js.map +1 -0
  220. package/dist/locale/getLocale.d.ts +7 -0
  221. package/dist/locale/getLocale.js +28 -21
  222. package/dist/locale/getLocale.js.map +1 -0
  223. package/dist/locale/languageChange.d.ts +5 -0
  224. package/dist/locale/languageChange.js +14 -0
  225. package/dist/locale/languageChange.js.map +1 -0
  226. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  227. package/dist/locale/nextFallbackLocale.js +15 -19
  228. package/dist/locale/nextFallbackLocale.js.map +1 -0
  229. package/dist/locale/normalizeLocale.d.ts +7 -0
  230. package/dist/locale/normalizeLocale.js +34 -41
  231. package/dist/locale/normalizeLocale.js.map +1 -0
  232. package/dist/renderer/LitRenderer.d.ts +14 -0
  233. package/dist/renderer/LitRenderer.js +38 -12
  234. package/dist/renderer/LitRenderer.js.map +1 -0
  235. package/dist/renderer/directives/style-map.js +72 -0
  236. package/dist/renderer/executeTemplate.d.ts +13 -0
  237. package/dist/renderer/executeTemplate.js +30 -0
  238. package/dist/renderer/executeTemplate.js.map +1 -0
  239. package/dist/sap/base/Log.js +240 -0
  240. package/dist/sap/base/assert.js +7 -0
  241. package/dist/sap/base/security/URLListValidator.js +159 -0
  242. package/dist/sap/base/security/encodeCSS.js +14 -0
  243. package/dist/sap/base/security/encodeXML.js +23 -0
  244. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  245. package/dist/sap/base/strings/toHex.js +8 -0
  246. package/dist/sap/base/util/now.js +7 -0
  247. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  248. package/dist/theming/CustomStyle.d.ts +6 -0
  249. package/dist/theming/CustomStyle.js +44 -17
  250. package/dist/theming/CustomStyle.js.map +1 -0
  251. package/dist/theming/ThemeLoaded.d.ts +5 -0
  252. package/dist/theming/ThemeLoaded.js +14 -0
  253. package/dist/theming/ThemeLoaded.js.map +1 -0
  254. package/dist/theming/applyTheme.d.ts +2 -0
  255. package/dist/theming/applyTheme.js +63 -69
  256. package/dist/theming/applyTheme.js.map +1 -0
  257. package/dist/theming/getConstructableStyle.d.ts +9 -0
  258. package/dist/theming/getConstructableStyle.js +15 -15
  259. package/dist/theming/getConstructableStyle.js.map +1 -0
  260. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  261. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  262. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  263. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  264. package/dist/theming/getEffectiveStyle.js +30 -13
  265. package/dist/theming/getEffectiveStyle.js.map +1 -0
  266. package/dist/theming/getStylesString.d.ts +3 -0
  267. package/dist/theming/getStylesString.js +11 -0
  268. package/dist/theming/getStylesString.js.map +1 -0
  269. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  270. package/dist/theming/getThemeDesignerTheme.js +73 -60
  271. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  272. package/dist/theming/preloadLinks.d.ts +3 -0
  273. package/dist/theming/preloadLinks.js +19 -0
  274. package/dist/theming/preloadLinks.js.map +1 -0
  275. package/dist/thirdparty/_merge.d.ts +2 -0
  276. package/dist/thirdparty/_merge.js +7 -4
  277. package/dist/thirdparty/_merge.js.map +1 -0
  278. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  279. package/dist/thirdparty/isPlainObject.js +11 -10
  280. package/dist/thirdparty/isPlainObject.js.map +1 -0
  281. package/dist/thirdparty/merge.d.ts +2 -0
  282. package/dist/thirdparty/merge.js +4 -8
  283. package/dist/thirdparty/merge.js.map +1 -0
  284. package/dist/types/AnimationMode.d.ts +32 -0
  285. package/dist/types/AnimationMode.js +33 -6
  286. package/dist/types/AnimationMode.js.map +1 -0
  287. package/dist/types/CSSColor.d.ts +16 -0
  288. package/dist/types/CSSColor.js +19 -0
  289. package/dist/types/CSSColor.js.map +1 -0
  290. package/dist/types/CalendarType.d.ts +37 -0
  291. package/dist/types/CalendarType.js +35 -18
  292. package/dist/types/CalendarType.js.map +1 -0
  293. package/dist/types/DOMReference.d.ts +17 -0
  294. package/dist/types/DOMReference.js +25 -0
  295. package/dist/types/DOMReference.js.map +1 -0
  296. package/dist/types/DataType.d.ts +25 -0
  297. package/dist/types/DataType.js +33 -14
  298. package/dist/types/DataType.js.map +1 -0
  299. package/dist/types/Float.d.ts +18 -0
  300. package/dist/types/Float.js +22 -0
  301. package/dist/types/Float.js.map +1 -0
  302. package/dist/types/Integer.d.ts +18 -0
  303. package/dist/types/Integer.js +18 -5
  304. package/dist/types/Integer.js.map +1 -0
  305. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  306. package/dist/types/InvisibleMessageMode.js +27 -0
  307. package/dist/types/InvisibleMessageMode.js.map +1 -0
  308. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  309. package/dist/types/ItemNavigationBehavior.js +22 -17
  310. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  311. package/dist/types/NavigationMode.d.ts +32 -0
  312. package/dist/types/NavigationMode.js +33 -5
  313. package/dist/types/NavigationMode.js.map +1 -0
  314. package/dist/types/ValueState.d.ts +42 -0
  315. package/dist/types/ValueState.js +41 -19
  316. package/dist/types/ValueState.js.map +1 -0
  317. package/dist/types.d.ts +18 -0
  318. package/dist/types.js +2 -0
  319. package/dist/types.js.map +1 -0
  320. package/dist/updateShadowRoot.d.ts +8 -0
  321. package/dist/updateShadowRoot.js +34 -0
  322. package/dist/updateShadowRoot.js.map +1 -0
  323. package/dist/util/AriaLabelHelper.d.ts +6 -0
  324. package/dist/util/AriaLabelHelper.js +44 -0
  325. package/dist/util/AriaLabelHelper.js.map +1 -0
  326. package/dist/util/Caret.d.ts +7 -0
  327. package/dist/util/Caret.js +23 -0
  328. package/dist/util/Caret.js.map +1 -0
  329. package/dist/util/ColorConversion.d.ts +30 -0
  330. package/dist/util/ColorConversion.js +337 -0
  331. package/dist/util/ColorConversion.js.map +1 -0
  332. package/dist/util/FetchHelper.d.ts +3 -0
  333. package/dist/util/FetchHelper.js +19 -25
  334. package/dist/util/FetchHelper.js.map +1 -0
  335. package/dist/util/FocusableElements.d.ts +4 -0
  336. package/dist/util/FocusableElements.js +58 -56
  337. package/dist/util/FocusableElements.js.map +1 -0
  338. package/dist/util/HTMLSanitizer.d.ts +3 -0
  339. package/dist/util/HTMLSanitizer.js +6 -0
  340. package/dist/util/HTMLSanitizer.js.map +1 -0
  341. package/dist/util/InvisibleMessage.d.ts +10 -0
  342. package/dist/util/InvisibleMessage.js +56 -0
  343. package/dist/util/InvisibleMessage.js.map +1 -0
  344. package/dist/util/PopupUtils.d.ts +7 -0
  345. package/dist/util/PopupUtils.js +74 -0
  346. package/dist/util/PopupUtils.js.map +1 -0
  347. package/dist/util/SlotsHelper.d.ts +9 -0
  348. package/dist/util/SlotsHelper.js +30 -0
  349. package/dist/util/SlotsHelper.js.map +1 -0
  350. package/dist/util/StringHelper.d.ts +3 -0
  351. package/dist/util/StringHelper.js +17 -20
  352. package/dist/util/StringHelper.js.map +1 -0
  353. package/dist/util/TabbableElements.d.ts +17 -0
  354. package/dist/util/TabbableElements.js +53 -39
  355. package/dist/util/TabbableElements.js.map +1 -0
  356. package/dist/util/arraysAreEqual.d.ts +2 -0
  357. package/dist/util/arraysAreEqual.js +13 -0
  358. package/dist/util/arraysAreEqual.js.map +1 -0
  359. package/dist/util/clamp.d.ts +9 -0
  360. package/dist/util/clamp.js +12 -0
  361. package/dist/util/clamp.js.map +1 -0
  362. package/dist/util/createLinkInHead.d.ts +7 -0
  363. package/dist/util/createLinkInHead.js +21 -0
  364. package/dist/util/createLinkInHead.js.map +1 -0
  365. package/dist/util/createStyleInHead.d.ts +8 -0
  366. package/dist/util/createStyleInHead.js +10 -10
  367. package/dist/util/createStyleInHead.js.map +1 -0
  368. package/dist/util/debounce.d.ts +2 -0
  369. package/dist/util/debounce.js +15 -0
  370. package/dist/util/debounce.js.map +1 -0
  371. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  372. package/dist/util/detectNavigatorLanguage.js +7 -10
  373. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  374. package/dist/util/escapeRegex.d.ts +8 -0
  375. package/dist/util/escapeRegex.js +11 -0
  376. package/dist/util/escapeRegex.js.map +1 -0
  377. package/dist/util/formatMessage.d.ts +2 -0
  378. package/dist/util/formatMessage.js +15 -19
  379. package/dist/util/formatMessage.js.map +1 -0
  380. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  381. package/dist/util/generateHighlightedMarkup.js +41 -0
  382. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  383. package/dist/util/getActiveElement.d.ts +2 -0
  384. package/dist/util/getActiveElement.js +9 -0
  385. package/dist/util/getActiveElement.js.map +1 -0
  386. package/dist/util/getClassCopy.d.ts +400 -0
  387. package/dist/util/getClassCopy.js +10 -0
  388. package/dist/util/getClassCopy.js.map +1 -0
  389. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  390. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  391. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  392. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  393. package/dist/util/getEffectiveContentDensity.js +4 -0
  394. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  395. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  396. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  397. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  398. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  399. package/dist/util/getFastNavigationGroups.js +51 -0
  400. package/dist/util/getFastNavigationGroups.js.map +1 -0
  401. package/dist/util/getFileExtension.d.ts +12 -0
  402. package/dist/util/getFileExtension.js +9 -11
  403. package/dist/util/getFileExtension.js.map +1 -0
  404. package/dist/util/getNormalizedTarget.d.ts +7 -0
  405. package/dist/util/getNormalizedTarget.js +14 -0
  406. package/dist/util/getNormalizedTarget.js.map +1 -0
  407. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  408. package/dist/util/getSingletonElementInstance.js +10 -0
  409. package/dist/util/getSingletonElementInstance.js.map +1 -0
  410. package/dist/util/isElementClickable.d.ts +2 -0
  411. package/dist/util/isElementClickable.js +16 -0
  412. package/dist/util/isElementClickable.js.map +1 -0
  413. package/dist/util/isElementHidden.d.ts +2 -0
  414. package/dist/util/isElementHidden.js +8 -0
  415. package/dist/util/isElementHidden.js.map +1 -0
  416. package/dist/util/isElementInView.d.ts +6 -0
  417. package/dist/util/isElementInView.js +12 -0
  418. package/dist/util/isElementInView.js.map +1 -0
  419. package/dist/util/isElementTabbable.d.ts +9 -0
  420. package/dist/util/isElementTabbable.js +30 -0
  421. package/dist/util/isElementTabbable.js.map +1 -0
  422. package/dist/util/isValidPropertyName.d.ts +8 -0
  423. package/dist/util/isValidPropertyName.js +20 -12
  424. package/dist/util/isValidPropertyName.js.map +1 -0
  425. package/dist/util/whenDOMReady.d.ts +2 -0
  426. package/dist/util/whenDOMReady.js +11 -10
  427. package/dist/util/whenDOMReady.js.map +1 -0
  428. package/dist/util/willShowContent.d.ts +2 -0
  429. package/dist/util/willShowContent.js +7 -0
  430. package/dist/util/willShowContent.js.map +1 -0
  431. package/dist/validateThemeRoot.d.ts +2 -0
  432. package/dist/validateThemeRoot.js +47 -0
  433. package/dist/validateThemeRoot.js.map +1 -0
  434. package/index.js +1 -1
  435. package/lib/generate-asset-parameters/index.js +8 -5
  436. package/lib/generate-styles/index.js +26 -0
  437. package/lib/generate-version-info/index.js +32 -0
  438. package/package-scripts.js +48 -28
  439. package/package.json +20 -12
  440. package/src/AssetRegistry.ts +11 -0
  441. package/src/Boot.ts +61 -0
  442. package/src/CSP.ts +66 -0
  443. package/src/CustomElementsRegistry.ts +98 -0
  444. package/src/CustomElementsScope.ts +33 -0
  445. package/src/CustomElementsScopeUtils.ts +115 -0
  446. package/src/DOMObserver.ts +28 -0
  447. package/src/Device.ts +124 -0
  448. package/src/EventProvider.ts +87 -0
  449. package/src/FeaturesRegistry.ts +14 -0
  450. package/src/FontFace.ts +31 -0
  451. package/src/InitialConfiguration.ts +207 -0
  452. package/src/Keys.ts +295 -0
  453. package/src/ManagedStyles.ts +92 -0
  454. package/src/MarkedEvents.ts +20 -0
  455. package/src/MediaRange.ts +110 -0
  456. package/src/PropertiesFileFormat.ts +95 -0
  457. package/src/Render.ts +180 -0
  458. package/src/RenderQueue.ts +71 -0
  459. package/src/Runtimes.ts +114 -0
  460. package/src/StaticArea.ts +3 -0
  461. package/src/StaticAreaItem.ts +113 -0
  462. package/src/SystemCSSVars.ts +10 -0
  463. package/src/Theming.ts +4 -0
  464. package/src/UI5Element.ts +1155 -0
  465. package/src/UI5ElementMetadata.ts +389 -0
  466. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  467. package/src/animations/animate.ts +64 -0
  468. package/src/animations/scroll.ts +21 -0
  469. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  470. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  471. package/src/asset-registries/Icons.ts +162 -0
  472. package/src/asset-registries/Illustrations.ts +75 -0
  473. package/src/asset-registries/LocaleData.ts +172 -0
  474. package/src/asset-registries/Themes.ts +67 -0
  475. package/src/asset-registries/i18n.ts +118 -0
  476. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  477. package/src/config/AnimationMode.ts +33 -0
  478. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  479. package/src/config/FormatSettings.ts +21 -0
  480. package/src/config/Icons.ts +59 -0
  481. package/src/config/Language.ts +72 -0
  482. package/src/config/NoConflict.ts +67 -0
  483. package/src/config/{RTL.js → RTL.ts} +14 -4
  484. package/src/config/Theme.ts +64 -0
  485. package/src/config/ThemeRoots.ts +41 -0
  486. package/src/css/BusyIndicator.css +80 -0
  487. package/src/css/FontFace.css +66 -0
  488. package/src/css/OverrideFontFace.css +32 -0
  489. package/src/css/SystemCSSVars.css +17 -0
  490. package/src/decorators/customElement.ts +17 -0
  491. package/src/decorators/event.ts +28 -0
  492. package/src/decorators/fastNavigation.ts +14 -0
  493. package/src/decorators/languageAware.ts +14 -0
  494. package/src/decorators/property.ts +30 -0
  495. package/src/decorators/slot.ts +49 -0
  496. package/src/decorators/themeAware.ts +14 -0
  497. package/src/delegate/ItemNavigation.ts +393 -0
  498. package/src/delegate/ResizeHandler.ts +95 -0
  499. package/src/delegate/ScrollEnablement.ts +224 -0
  500. package/src/features/F6Navigation.ts +141 -0
  501. package/src/features/OpenUI5Element.ts +11 -0
  502. package/src/features/OpenUI5Enablement.ts +117 -0
  503. package/src/features/OpenUI5Support.ts +148 -0
  504. package/src/getSharedResource.ts +30 -0
  505. package/src/global.d.ts +44 -0
  506. package/src/i18nBundle.ts +108 -0
  507. package/src/locale/{Locale.js → Locale.ts} +15 -5
  508. package/src/locale/RTLAwareRegistry.ts +16 -0
  509. package/src/locale/applyDirection.ts +18 -0
  510. package/src/locale/directionChange.ts +34 -0
  511. package/src/locale/getEffectiveDir.ts +28 -0
  512. package/src/locale/{getLocale.js → getLocale.ts} +20 -5
  513. package/src/locale/languageChange.ts +24 -0
  514. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  515. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  516. package/src/renderer/LitRenderer.ts +60 -0
  517. package/src/renderer/directives/style-map.js +72 -0
  518. package/src/renderer/executeTemplate.ts +40 -0
  519. package/src/theming/CustomStyle.ts +62 -0
  520. package/src/theming/ThemeLoaded.ts +24 -0
  521. package/src/theming/applyTheme.ts +90 -0
  522. package/src/theming/getConstructableStyle.ts +31 -0
  523. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  524. package/src/theming/getEffectiveStyle.ts +41 -0
  525. package/src/theming/getStylesString.ts +15 -0
  526. package/src/theming/getThemeDesignerTheme.ts +101 -0
  527. package/src/theming/preloadLinks.ts +24 -0
  528. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  529. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  530. package/src/thirdparty/merge.ts +5 -0
  531. package/src/types/AnimationMode.ts +33 -0
  532. package/src/types/CSSColor.ts +20 -0
  533. package/src/types/CalendarType.ts +38 -0
  534. package/src/types/DOMReference.ts +28 -0
  535. package/src/types/DataType.ts +51 -0
  536. package/src/types/Float.ts +25 -0
  537. package/src/types/Integer.ts +25 -0
  538. package/src/types/InvisibleMessageMode.ts +27 -0
  539. package/src/types/ItemNavigationBehavior.ts +26 -0
  540. package/src/types/NavigationMode.ts +33 -0
  541. package/src/types/ValueState.ts +47 -0
  542. package/src/types.ts +30 -0
  543. package/src/updateShadowRoot.ts +37 -0
  544. package/src/util/AriaLabelHelper.ts +63 -0
  545. package/src/util/Caret.ts +28 -0
  546. package/src/util/ColorConversion.ts +399 -0
  547. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  548. package/src/util/FocusableElements.ts +82 -0
  549. package/src/util/HTMLSanitizer.ts +9 -0
  550. package/src/util/InvisibleMessage.ts +69 -0
  551. package/src/util/PopupUtils.ts +112 -0
  552. package/src/util/SlotsHelper.ts +39 -0
  553. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  554. package/src/util/TabbableElements.ts +70 -0
  555. package/src/util/arraysAreEqual.ts +15 -0
  556. package/src/util/clamp.ts +12 -0
  557. package/src/util/createLinkInHead.ts +25 -0
  558. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  559. package/src/util/debounce.ts +18 -0
  560. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  561. package/src/util/escapeRegex.ts +11 -0
  562. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  563. package/src/util/generateHighlightedMarkup.ts +43 -0
  564. package/src/util/getActiveElement.ts +11 -0
  565. package/src/util/getClassCopy.ts +12 -0
  566. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  567. package/src/util/getEffectiveContentDensity.ts +5 -0
  568. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  569. package/src/util/getFastNavigationGroups.ts +63 -0
  570. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  571. package/src/util/getNormalizedTarget.ts +16 -0
  572. package/src/util/getSingletonElementInstance.ts +13 -0
  573. package/src/util/isElementClickable.ts +19 -0
  574. package/src/util/isElementHidden.ts +9 -0
  575. package/src/util/isElementInView.ts +15 -0
  576. package/src/util/isElementTabbable.ts +37 -0
  577. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +12 -3
  578. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  579. package/src/util/willShowContent.ts +7 -0
  580. package/src/validateThemeRoot.ts +58 -0
  581. package/tsconfig.json +13 -0
  582. package/used-modules.txt +10 -0
  583. package/bundle.es5.js +0 -28
  584. package/config/.eslintrc.js +0 -3
  585. package/config/rollup.config.js +0 -1
  586. package/dist/RenderScheduler.js +0 -165
  587. package/dist/SVGIconRegistry.js +0 -60
  588. package/dist/animations/config.js +0 -5
  589. package/dist/boot.js +0 -32
  590. package/dist/compatibility/DOMObserver.js +0 -62
  591. package/dist/compatibility/patchNodeValue.js +0 -24
  592. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  593. package/dist/delegate/CustomResize.js +0 -78
  594. package/dist/delegate/NativeResize.js +0 -44
  595. package/dist/features/browsersupport/Edge.js +0 -6
  596. package/dist/features/browsersupport/IE11.js +0 -41
  597. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  598. package/dist/renderer/ifDefined.js +0 -21
  599. package/dist/resources/bundle.es5.js +0 -212
  600. package/dist/resources/bundle.es5.js.map +0 -1
  601. package/dist/resources/bundle.esm.js +0 -129
  602. package/dist/resources/bundle.esm.js.map +0 -1
  603. package/dist/test-resources/assets/Themes.js +0 -13
  604. package/dist/test-resources/elements/Child.js +0 -35
  605. package/dist/test-resources/elements/Generic.js +0 -84
  606. package/dist/test-resources/elements/GenericExt.js +0 -26
  607. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  608. package/dist/test-resources/elements/Parent.js +0 -37
  609. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  610. package/dist/test-resources/pages/AllTestElements.html +0 -42
  611. package/dist/test-resources/pages/Configuration.html +0 -20
  612. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  613. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  614. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  615. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  616. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  617. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  618. package/dist/test-resources/specs/Theming.spec.js +0 -31
  619. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  620. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  621. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  622. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  623. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  624. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  625. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  626. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  627. package/dist/theming/CSSVarsPonyfill.js +0 -24
  628. package/dist/theming/adaptCSSForIE.js +0 -90
  629. package/dist/theming/createComponentStyleTag.js +0 -49
  630. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  631. package/dist/thirdparty/Array.from.js +0 -16
  632. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  633. package/dist/thirdparty/Array.prototype.find.js +0 -46
  634. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  635. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  636. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  637. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  638. package/dist/thirdparty/Number.isInteger.js +0 -5
  639. package/dist/thirdparty/Number.isNaN.js +0 -1
  640. package/dist/thirdparty/Number.parseInt.js +0 -1
  641. package/dist/thirdparty/Object.assign.js +0 -31
  642. package/dist/thirdparty/Object.entries.js +0 -11
  643. package/dist/thirdparty/Symbol.js +0 -2
  644. package/dist/thirdparty/WeakSet.js +0 -27
  645. package/dist/thirdparty/es6-string-methods.js +0 -182
  646. package/dist/thirdparty/events-polyfills.js +0 -89
  647. package/dist/thirdparty/fetch.js +0 -1
  648. package/dist/thirdparty/template.js +0 -600
  649. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  650. package/dist/types/CSSSize.js +0 -9
  651. package/dist/types/PopupState.js +0 -37
  652. package/dist/util/findNodeOwner.js +0 -35
  653. package/dist/util/isDescendantOf.js +0 -15
  654. package/dist/util/isNodeClickable.js +0 -19
  655. package/dist/util/isNodeHidden.js +0 -13
  656. package/dist/util/isNodeTabbable.js +0 -28
  657. package/dist/webcomponentsjs/LICENSE.md +0 -19
  658. package/dist/webcomponentsjs/README.md +0 -229
  659. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  660. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  661. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  662. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  663. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  664. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  665. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  666. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  667. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  668. package/dist/webcomponentsjs/package.json +0 -46
  669. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  670. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  671. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  672. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  673. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  674. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  675. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  676. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  677. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  678. package/src/AssetRegistry.js +0 -9
  679. package/src/Device.js +0 -823
  680. package/src/EventProvider.js +0 -73
  681. package/src/FeaturesRegistry.js +0 -11
  682. package/src/FontFace.js +0 -73
  683. package/src/InitialConfiguration.js +0 -131
  684. package/src/Keys.js +0 -161
  685. package/src/RenderQueue.js +0 -42
  686. package/src/RenderScheduler.js +0 -165
  687. package/src/SVGIconRegistry.js +0 -60
  688. package/src/StaticArea.js +0 -41
  689. package/src/StaticAreaItem.js +0 -105
  690. package/src/Theming.js +0 -3
  691. package/src/UI5Element.js +0 -898
  692. package/src/UI5ElementMetadata.js +0 -173
  693. package/src/animations/animate.js +0 -53
  694. package/src/animations/config.js +0 -5
  695. package/src/animations/scroll.js +0 -28
  696. package/src/asset-registries/Icons.js +0 -24
  697. package/src/asset-registries/LocaleData.js +0 -125
  698. package/src/asset-registries/Themes.js +0 -87
  699. package/src/asset-registries/i18n.js +0 -79
  700. package/src/boot.js +0 -32
  701. package/src/compatibility/DOMObserver.js +0 -62
  702. package/src/compatibility/patchNodeValue.js +0 -24
  703. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  704. package/src/config/AnimationMode.js +0 -13
  705. package/src/config/FormatSettings.js +0 -13
  706. package/src/config/Language.js +0 -12
  707. package/src/config/NoConflict.js +0 -51
  708. package/src/config/Theme.js +0 -28
  709. package/src/delegate/CustomResize.js +0 -78
  710. package/src/delegate/ItemNavigation.js +0 -278
  711. package/src/delegate/NativeResize.js +0 -44
  712. package/src/delegate/ResizeHandler.js +0 -66
  713. package/src/delegate/ScrollEnablement.js +0 -126
  714. package/src/features/OpenUI5Support.js +0 -90
  715. package/src/features/browsersupport/Edge.js +0 -6
  716. package/src/features/browsersupport/IE11.js +0 -41
  717. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  718. package/src/i18nBundle.js +0 -33
  719. package/src/renderer/LitRenderer.js +0 -15
  720. package/src/renderer/ifDefined.js +0 -21
  721. package/src/theming/CSSVarsPonyfill.js +0 -24
  722. package/src/theming/CustomStyle.js +0 -19
  723. package/src/theming/adaptCSSForIE.js +0 -90
  724. package/src/theming/applyTheme.js +0 -81
  725. package/src/theming/createComponentStyleTag.js +0 -49
  726. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  727. package/src/theming/getConstructableStyle.js +0 -25
  728. package/src/theming/getEffectiveStyle.js +0 -15
  729. package/src/theming/getThemeDesignerTheme.js +0 -67
  730. package/src/thirdparty/Array.from.js +0 -16
  731. package/src/thirdparty/Array.prototype.fill.js +0 -44
  732. package/src/thirdparty/Array.prototype.find.js +0 -46
  733. package/src/thirdparty/Array.prototype.includes.js +0 -51
  734. package/src/thirdparty/Element.prototype.closest.js +0 -11
  735. package/src/thirdparty/Element.prototype.matches.js +0 -6
  736. package/src/thirdparty/Map.prototype.keys.js +0 -9
  737. package/src/thirdparty/Number.isInteger.js +0 -5
  738. package/src/thirdparty/Number.isNaN.js +0 -1
  739. package/src/thirdparty/Number.parseInt.js +0 -1
  740. package/src/thirdparty/Object.assign.js +0 -31
  741. package/src/thirdparty/Object.entries.js +0 -11
  742. package/src/thirdparty/Symbol.js +0 -2
  743. package/src/thirdparty/WeakSet.js +0 -27
  744. package/src/thirdparty/es6-string-methods.js +0 -182
  745. package/src/thirdparty/events-polyfills.js +0 -89
  746. package/src/thirdparty/fetch.js +0 -1
  747. package/src/thirdparty/merge.js +0 -10
  748. package/src/thirdparty/template.js +0 -600
  749. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  750. package/src/types/AnimationMode.js +0 -7
  751. package/src/types/CSSSize.js +0 -9
  752. package/src/types/CalendarType.js +0 -22
  753. package/src/types/DataType.js +0 -25
  754. package/src/types/Integer.js +0 -9
  755. package/src/types/ItemNavigationBehavior.js +0 -21
  756. package/src/types/NavigationMode.js +0 -6
  757. package/src/types/PopupState.js +0 -37
  758. package/src/types/ValueState.js +0 -22
  759. package/src/util/FocusableElements.js +0 -60
  760. package/src/util/TabbableElements.js +0 -43
  761. package/src/util/findNodeOwner.js +0 -35
  762. package/src/util/isDescendantOf.js +0 -15
  763. package/src/util/isNodeClickable.js +0 -19
  764. package/src/util/isNodeHidden.js +0 -13
  765. package/src/util/isNodeTabbable.js +0 -28
@@ -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;
@@ -5,10 +5,10 @@
5
5
  * "file.with.many.dots.doc" -> ".doc"
6
6
  * ".gitignore" -> ""
7
7
  *
8
- * @param fileName - the file name
9
- * @returns {string}
8
+ * @param { string } fileName - the file name
9
+ * @returns { string }
10
10
  */
11
- const getFileExtension = fileName => {
11
+ const getFileExtension = (fileName: string) => {
12
12
  const dotPos = fileName.lastIndexOf(".");
13
13
 
14
14
  if (dotPos < 1) {
@@ -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;
@@ -0,0 +1,37 @@
1
+ import isElementHidden from "./isElementHidden.js";
2
+
3
+ /**
4
+ * Returns if the HTMLElement is tabbable.
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 { boolean } true if the element is tabbable or false - if not
9
+ */
10
+ const isElementTabbable = (el: HTMLElement): boolean => {
11
+ if (!el) {
12
+ return false;
13
+ }
14
+
15
+ const nodeName = el.nodeName.toLowerCase();
16
+
17
+ if (el.hasAttribute("data-sap-no-tab-ref")) {
18
+ return false;
19
+ }
20
+
21
+ if (isElementHidden(el)) {
22
+ return false;
23
+ }
24
+
25
+ const tabIndex = el.getAttribute("tabindex");
26
+ if (tabIndex !== null && tabIndex !== undefined) {
27
+ return parseInt(tabIndex) >= 0;
28
+ }
29
+
30
+ if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
31
+ return !(el as HTMLLinkElement).disabled;
32
+ }
33
+
34
+ return false;
35
+ };
36
+
37
+ export default isElementTabbable;
@@ -1,12 +1,21 @@
1
+ // Note: disabled is present in IE so we explicitly allow it here.
2
+ // Others, such as title/hidden, we explicitly override, so valid too
3
+ const allowList = [
4
+ "disabled",
5
+ "title",
6
+ "hidden",
7
+ "role",
8
+ "draggable",
9
+ ];
10
+
1
11
  /**
2
12
  * Checks whether a property name is valid (does not collide with existing DOM API properties)
3
- * Note: disabled is present in IE so we explicitly allow it here.
4
13
  *
5
14
  * @param name
6
15
  * @returns {boolean}
7
16
  */
8
- const isValidPropertyName = name => {
9
- if (name === "disabled") {
17
+ const isValidPropertyName = (name: string) => {
18
+ if (allowList.includes(name) || name.startsWith("aria")) {
10
19
  return true;
11
20
  }
12
21
  const classes = [
@@ -1,5 +1,5 @@
1
1
  const whenDOMReady = () => {
2
- return new Promise(resolve => {
2
+ return new Promise<void>(resolve => {
3
3
  if (document.body) {
4
4
  resolve();
5
5
  } else {
@@ -0,0 +1,7 @@
1
+ const willShowContent = (childNodes: Array<Node>) => {
2
+ return Array.from(childNodes).filter(node => {
3
+ return node.nodeType !== Node.COMMENT_NODE && (node.nodeType !== Node.TEXT_NODE || (node.nodeValue || "").trim().length !== 0);
4
+ }).length > 0;
5
+ };
6
+
7
+ export default willShowContent;
@@ -0,0 +1,58 @@
1
+ const getMetaTagValue = (metaTagName: string) => {
2
+ const metaTag = document.querySelector(`META[name="${metaTagName}"]`),
3
+ metaTagContent = metaTag && metaTag.getAttribute("content");
4
+
5
+ return metaTagContent;
6
+ };
7
+
8
+ const validateThemeOrigin = (origin: string) => {
9
+ const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
10
+
11
+ return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
12
+ return allowedOrigin === "*" || origin === allowedOrigin.trim();
13
+ });
14
+ };
15
+
16
+ const buildCorrectUrl = (oldUrl: string, newOrigin: string) => {
17
+ const oldUrlPath = new URL(oldUrl).pathname;
18
+
19
+ return new URL(oldUrlPath, newOrigin).toString();
20
+ };
21
+
22
+ const validateThemeRoot = (themeRoot: string) => {
23
+ let themeRootURL,
24
+ resultUrl;
25
+
26
+ try {
27
+ themeRootURL = new URL(themeRoot);
28
+
29
+ const origin = themeRootURL.origin;
30
+
31
+ themeRootURL = themeRootURL.toString();
32
+
33
+ if (themeRootURL.startsWith(".") || themeRootURL.startsWith("/")) {
34
+ // Handle relative url
35
+ // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
36
+ // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
37
+ // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
38
+ resultUrl = new URL(themeRootURL, window.location.href).toString();
39
+ } else if (origin && validateThemeOrigin(origin)) {
40
+ // If origin is allowed, use it
41
+ resultUrl = themeRootURL.toString();
42
+ } else {
43
+ // If origin is not allow and the URL is not relative, we have to replace the origin
44
+ // with current location
45
+ resultUrl = buildCorrectUrl(themeRootURL, window.location.href);
46
+ }
47
+
48
+ if (!resultUrl.endsWith("/")) {
49
+ resultUrl = `${resultUrl}/`;
50
+ }
51
+
52
+ return `${resultUrl}UI5/`;
53
+ } catch (e) {
54
+ // Catch if URL is not correct
55
+ }
56
+ };
57
+
58
+ export default validateThemeRoot;
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "include": ["src/**/*", "src/global.d.ts"],
3
+ "compilerOptions": {
4
+ "target": "ES2021",
5
+ // Generate d.ts files
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "skipLibCheck": true,
9
+ "sourceMap": true,
10
+ "strict": true,
11
+ "moduleResolution": "node",
12
+ },
13
+ }
@@ -0,0 +1,10 @@
1
+ # Needed files from OpenUI5
2
+
3
+ sap/base/util/now.js
4
+ sap/base/Log.js
5
+ sap/base/assert.js
6
+ sap/base/security/URLListValidator.js
7
+ sap/base/security/sanitizeHTML.js
8
+ sap/base/strings/toHex.js
9
+ sap/base/security/encodeXML.js
10
+ sap/base/security/encodeCSS.js
package/bundle.es5.js DELETED
@@ -1,28 +0,0 @@
1
- // ES5 bundle targets IE11 only
2
- import "./dist/features/browsersupport/IE11.js";
3
-
4
- import "./bundle.esm.js";
5
-
6
- import { getAnimationMode } from "./dist/config/AnimationMode.js";
7
- import { getLanguage } from "./dist/config/Language.js";
8
- import { getCalendarType } from "./dist/config/CalendarType.js";
9
- import { getTheme, setTheme } from "./dist/config/Theme.js";
10
- import { getNoConflict, setNoConflict } from "./dist/config/NoConflict.js";
11
- import { getRTL } from "./dist/config/RTL.js";
12
- import { getFirstDayOfWeek } from "./dist/config/FormatSettings.js";
13
- import { getRegisteredNames as getIconNames } from "./dist/SVGIconRegistry.js"
14
- const configuration = {
15
- getAnimationMode,
16
- getLanguage,
17
- getTheme,
18
- setTheme,
19
- getNoConflict,
20
- setNoConflict,
21
- getCalendarType,
22
- getRTL,
23
- getFirstDayOfWeek,
24
- };
25
- export {
26
- configuration,
27
- getIconNames,
28
- };
@@ -1,3 +0,0 @@
1
- const config = require("@ui5/webcomponents-tools/components-package/eslint.js");
2
-
3
- module.exports = config;
@@ -1 +0,0 @@
1
- module.exports = require("@ui5/webcomponents-tools/components-package/rollup.js");
@@ -1,165 +0,0 @@
1
- import RenderQueue from "./RenderQueue.js";
2
-
3
- const MAX_RERENDER_COUNT = 10;
4
-
5
- // Tells whether a render task is currently scheduled
6
- let renderTaskId;
7
-
8
- // Queue for invalidated web components
9
- const invalidatedWebComponents = new RenderQueue();
10
-
11
- let renderTaskPromise,
12
- renderTaskPromiseResolve,
13
- taskResult;
14
-
15
- let mutationObserverTimer;
16
-
17
- /**
18
- * Class that manages the rendering/re-rendering of web components
19
- * This is always asynchronous
20
- */
21
- class RenderScheduler {
22
- constructor() {
23
- throw new Error("Static class");
24
- }
25
-
26
- /**
27
- * Queues a web component for re-rendering
28
- * @param webComponent
29
- */
30
- static renderDeferred(webComponent) {
31
- // Enqueue the web component
32
- const res = invalidatedWebComponents.add(webComponent);
33
-
34
- // Schedule a rendering task
35
- RenderScheduler.scheduleRenderTask();
36
- return res;
37
- }
38
-
39
- static renderImmediately(webComponent) {
40
- // Enqueue the web component
41
- const res = invalidatedWebComponents.add(webComponent);
42
-
43
- // Immediately start a render task
44
- RenderScheduler.runRenderTask();
45
- return res;
46
- }
47
-
48
- /**
49
- * Schedules a rendering task, if not scheduled already
50
- */
51
- static scheduleRenderTask() {
52
- if (!renderTaskId) {
53
- // renderTaskId = window.setTimeout(RenderScheduler.renderWebComponents, 3000); // Task
54
- // renderTaskId = Promise.resolve().then(RenderScheduler.renderWebComponents); // Micro task
55
- renderTaskId = window.requestAnimationFrame(RenderScheduler.renderWebComponents); // AF
56
- }
57
- }
58
-
59
- static runRenderTask() {
60
- if (!renderTaskId) {
61
- renderTaskId = 1; // prevent another rendering task from being scheduled, all web components should use this task
62
- RenderScheduler.renderWebComponents();
63
- }
64
- }
65
-
66
- static renderWebComponents() {
67
- // console.log("------------- NEW RENDER TASK ---------------");
68
-
69
- let webComponentInfo,
70
- webComponent,
71
- promise;
72
- const renderStats = new Map();
73
- while (webComponentInfo = invalidatedWebComponents.shift()) { // eslint-disable-line
74
- webComponent = webComponentInfo.webComponent;
75
- promise = webComponentInfo.promise;
76
-
77
- const timesRerendered = renderStats.get(webComponent) || 0;
78
- if (timesRerendered > MAX_RERENDER_COUNT) {
79
- // console.warn("WARNING RERENDER", webComponent);
80
- throw new Error(`Web component re-rendered too many times this task, max allowed is: ${MAX_RERENDER_COUNT}`);
81
- }
82
- webComponent._render();
83
- promise._deferredResolve();
84
- renderStats.set(webComponent, timesRerendered + 1);
85
- }
86
-
87
- // wait for Mutation observer just in case
88
- if (!mutationObserverTimer) {
89
- mutationObserverTimer = setTimeout(() => {
90
- mutationObserverTimer = undefined;
91
- if (invalidatedWebComponents.getList().length === 0) {
92
- RenderScheduler._resolveTaskPromise();
93
- }
94
- }, 200);
95
- }
96
-
97
- renderTaskId = undefined;
98
- }
99
-
100
- /**
101
- * return a promise that will be resolved once all invalidated web components are rendered
102
- */
103
- static whenDOMUpdated() {
104
- if (renderTaskPromise) {
105
- return renderTaskPromise;
106
- }
107
-
108
- renderTaskPromise = new Promise(resolve => {
109
- renderTaskPromiseResolve = resolve;
110
- window.requestAnimationFrame(() => {
111
- if (invalidatedWebComponents.getList().length === 0) {
112
- renderTaskPromise = undefined;
113
- resolve();
114
- }
115
- });
116
- });
117
-
118
- return renderTaskPromise;
119
- }
120
-
121
- static getNotDefinedComponents() {
122
- return Array.from(document.querySelectorAll("*")).filter(el => el.localName.startsWith("ui5-") && !el.isUI5Element);
123
- }
124
-
125
- /**
126
- * return a promise that will be resolved once all ui5 webcomponents on the page have their shadow root ready
127
- */
128
- static async whenShadowDOMReady() {
129
- const undefinedElements = this.getNotDefinedComponents();
130
-
131
- const definedPromises = undefinedElements.map(
132
- el => customElements.whenDefined(el.localName)
133
- );
134
- const timeoutPromise = new Promise(resolve => setTimeout(resolve, 5000));
135
-
136
- await Promise.race([Promise.all(definedPromises), timeoutPromise]);
137
- const stillUndefined = this.getNotDefinedComponents();
138
- if (stillUndefined.length) {
139
- // eslint-disable-next-line
140
- console.warn("undefined elements after 5 seconds are: " + [...stillUndefined].map(el => el.localName).join(" ; "));
141
- }
142
-
143
- return Promise.resolve();
144
- }
145
-
146
- static async whenFinished() {
147
- await RenderScheduler.whenShadowDOMReady();
148
- await RenderScheduler.whenDOMUpdated();
149
- }
150
-
151
- static _resolveTaskPromise() {
152
- if (invalidatedWebComponents.getList().length > 0) {
153
- // More updates are pending. Resolve will be called again
154
- return;
155
- }
156
-
157
- if (renderTaskPromiseResolve) {
158
- renderTaskPromiseResolve.call(this, taskResult);
159
- renderTaskPromiseResolve = undefined;
160
- renderTaskPromise = undefined;
161
- }
162
- }
163
- }
164
-
165
- export default RenderScheduler;
@@ -1,60 +0,0 @@
1
- const registry = new Map();
2
- const iconCollectionPromises = new Map();
3
-
4
- const ICON_NOT_FOUND = "ICON_NOT_FOUND";
5
- const DEFAULT_COLLECTION = "SAP-icons";
6
-
7
- const calcKey = (name, collection) => {
8
- // silently support ui5-compatible URIs
9
- if (name.startsWith("sap-icon://")) {
10
- name = name.replace("sap-icon://", "");
11
- [name, collection] = name.split("/").reverse();
12
- }
13
- collection = collection || DEFAULT_COLLECTION;
14
- return `${collection}:${name}`;
15
- };
16
-
17
- const registerIcon = (name, { pathData, accData, collection } = {}) => {
18
- const key = calcKey(name, collection);
19
- registry.set(key, { pathData, accData });
20
- };
21
-
22
- const getIconDataSync = (name, collection = DEFAULT_COLLECTION) => {
23
- const key = calcKey(name, collection);
24
- return registry.get(key);
25
- };
26
-
27
- const getIconData = async (name, collection = DEFAULT_COLLECTION) => {
28
- const key = calcKey(name, collection);
29
-
30
- if (!iconCollectionPromises.has(collection)) {
31
- iconCollectionPromises.set(collection, Promise.resolve(ICON_NOT_FOUND));
32
- }
33
-
34
- const iconData = await iconCollectionPromises.get(collection);
35
-
36
- if (iconData === ICON_NOT_FOUND) {
37
- return iconData;
38
- }
39
-
40
- return registry.get(key);
41
- };
42
-
43
- const getRegisteredNames = async () => {
44
- if (iconCollectionPromises.has(DEFAULT_COLLECTION)) {
45
- await iconCollectionPromises.get(DEFAULT_COLLECTION);
46
- }
47
- return Array.from(registry.keys()).map(k => k.split(":")[1]);
48
- };
49
-
50
- const registerCollectionPromise = (collection, promise) => {
51
- iconCollectionPromises.set(collection, promise);
52
- };
53
-
54
- export {
55
- getIconData,
56
- getIconDataSync,
57
- registerIcon,
58
- getRegisteredNames,
59
- registerCollectionPromise,
60
- };
@@ -1,5 +0,0 @@
1
- export default {
2
- defaultDuration: 400,
3
- element: document.createElement("DIV"),
4
- identity: () => {},
5
- };
package/dist/boot.js DELETED
@@ -1,32 +0,0 @@
1
- import whenDOMReady from "./util/whenDOMReady.js";
2
- import insertFontFace from "./FontFace.js";
3
- import { getTheme } from "./config/Theme.js";
4
- import applyTheme from "./theming/applyTheme.js";
5
- import whenPolyfillLoaded from "./compatibility/whenPolyfillLoaded.js";
6
- import { getFeature } from "./FeaturesRegistry.js";
7
-
8
- let bootPromise;
9
-
10
- const boot = () => {
11
- if (bootPromise) {
12
- return bootPromise;
13
- }
14
-
15
- bootPromise = new Promise(async resolve => {
16
- const OpenUI5Support = getFeature("OpenUI5Support");
17
- if (OpenUI5Support) {
18
- await OpenUI5Support.init();
19
- }
20
-
21
- await whenDOMReady();
22
- await applyTheme(getTheme());
23
- OpenUI5Support && OpenUI5Support.attachListeners();
24
- insertFontFace();
25
- await whenPolyfillLoaded();
26
- resolve();
27
- });
28
-
29
- return bootPromise;
30
- };
31
-
32
- export default boot;
@@ -1,62 +0,0 @@
1
- // Shorthands
2
- const w = window;
3
-
4
- // Map of observer objects per dom node
5
- const observers = new WeakMap();
6
-
7
- /**
8
- * Implements universal DOM node observation methods.
9
- */
10
- class DOMObserver {
11
- constructor() {
12
- throw new Error("Static class");
13
- }
14
-
15
- /**
16
- * This function abstracts out mutation observer usage inside shadow DOM.
17
- * For native shadow DOM the native mutation observer is used.
18
- * When the polyfill is used, the observeChildren ShadyDOM method is used instead.
19
- *
20
- * @throws Exception
21
- * Note: does not allow several mutation observers per node. If there is a valid use-case, this behavior can be changed.
22
- *
23
- * @param node
24
- * @param callback
25
- * @param options - Only used for the native mutation observer
26
- */
27
- static observeDOMNode(node, callback, options) {
28
- let observerObject = observers.get(node);
29
- if (observerObject) {
30
- throw new Error("A mutation/ShadyDOM observer is already assigned to this node.");
31
- }
32
-
33
- if (w.ShadyDOM) {
34
- observerObject = w.ShadyDOM.observeChildren(node, callback);
35
- } else {
36
- observerObject = new MutationObserver(callback);
37
- observerObject.observe(node, options);
38
- }
39
-
40
- observers.set(node, observerObject);
41
- }
42
-
43
- /**
44
- * De-registers the mutation observer, depending on its type
45
- * @param node
46
- */
47
- static unobserveDOMNode(node) {
48
- const observerObject = observers.get(node);
49
- if (!observerObject) {
50
- return;
51
- }
52
-
53
- if (observerObject instanceof MutationObserver) {
54
- observerObject.disconnect();
55
- } else {
56
- w.ShadyDOM.unobserveChildren(observerObject);
57
- }
58
- observers.delete(node);
59
- }
60
- }
61
-
62
- export default DOMObserver;