@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
@@ -1,66 +1,83 @@
1
- import UI5Element from "../UI5Element.js";
2
- import NativeResize from "./NativeResize.js";
3
- import CustomResize from "./CustomResize.js";
4
-
1
+ import { instanceOfUI5Element } from "../UI5Element.js";
2
+ let resizeObserver;
3
+ const observedElements = new Map();
4
+ const getResizeObserver = () => {
5
+ if (!resizeObserver) {
6
+ resizeObserver = new window.ResizeObserver(entries => {
7
+ entries.forEach(entry => {
8
+ const callbacks = observedElements.get(entry.target);
9
+ callbacks?.forEach((callback) => callback());
10
+ });
11
+ });
12
+ }
13
+ return resizeObserver;
14
+ };
15
+ const observe = (element, callback) => {
16
+ const callbacks = observedElements.get(element) || [];
17
+ // if no callbacks have been added for this element - start observing it
18
+ if (!callbacks.length) {
19
+ getResizeObserver().observe(element);
20
+ }
21
+ // save the callbacks in an array
22
+ observedElements.set(element, [...callbacks, callback]);
23
+ };
24
+ const unobserve = (element, callback) => {
25
+ const callbacks = observedElements.get(element) || [];
26
+ if (callbacks.length === 0) {
27
+ return;
28
+ }
29
+ const filteredCallbacks = callbacks.filter((fn) => fn !== callback);
30
+ if (filteredCallbacks.length === 0) {
31
+ getResizeObserver().unobserve(element);
32
+ observedElements.delete(element);
33
+ }
34
+ else {
35
+ observedElements.set(element, filteredCallbacks);
36
+ }
37
+ };
38
+ /**
39
+ * Allows to register/deregister resize observers for a DOM element
40
+ *
41
+ * @public
42
+ * @class
43
+ */
5
44
  class ResizeHandler {
6
- static initialize() {
7
- ResizeHandler.Implementation = window.ResizeObserver ? NativeResize : CustomResize;
8
- ResizeHandler.Implementation.initialize();
9
- }
10
-
11
- /**
12
- * @static
13
- * @private
14
- * @param {*} ref Reference to be observed
15
- * @param {*} callback Callback to be executed
16
- * @memberof ResizeHandler
17
- */
18
- static attachListener(ref, callback) {
19
- ResizeHandler.Implementation.attachListener.call(ResizeHandler.Implementation, ref, callback);
20
- }
21
-
22
- /**
23
- * @static
24
- * @private
25
- * @param {*} ref Reference to be unobserved
26
- * @memberof ResizeHandler
27
- */
28
- static detachListener(ref, callback) {
29
- ResizeHandler.Implementation.detachListener.call(ResizeHandler.Implementation, ref, callback);
30
- }
31
-
32
-
33
- /**
34
- * @static
35
- * @public
36
- * @param {*} ref Reference to a UI5 Web Component or DOM Element to be observed
37
- * @param {*} callback Callback to be executed
38
- * @memberof ResizeHandler
39
- */
40
- static register(ref, callback) {
41
- if (ref instanceof UI5Element) {
42
- ref = ref.getDomRef();
43
- }
44
-
45
- ResizeHandler.attachListener(ref, callback);
46
- }
47
-
48
-
49
- /**
50
- * @static
51
- * @public
52
- * @param {*} ref Reference to UI5 Web Component or DOM Element to be unobserved
53
- * @memberof ResizeHandler
54
- */
55
- static deregister(ref, callback) {
56
- if (ref instanceof UI5Element) {
57
- ref = ref.getDomRef();
58
- }
59
-
60
- ResizeHandler.detachListener(ref, callback);
61
- }
45
+ /**
46
+ * @static
47
+ * @public
48
+ * @param {*} element UI5 Web Component or DOM Element to be observed
49
+ * @param {*} callback Callback to be executed
50
+ */
51
+ static register(element, callback) {
52
+ let effectiveElement = element;
53
+ if (instanceOfUI5Element(effectiveElement)) {
54
+ effectiveElement = effectiveElement.getDomRef();
55
+ }
56
+ if (effectiveElement instanceof HTMLElement) {
57
+ observe(effectiveElement, callback);
58
+ }
59
+ else {
60
+ console.warn("Cannot register ResizeHandler for element", element); // eslint-disable-line
61
+ }
62
+ }
63
+ /**
64
+ * @static
65
+ * @public
66
+ * @param {*} element UI5 Web Component or DOM Element to be unobserved
67
+ * @param {*} callback Callback to be removed
68
+ */
69
+ static deregister(element, callback) {
70
+ let effectiveElement = element;
71
+ if (instanceOfUI5Element(effectiveElement)) {
72
+ effectiveElement = effectiveElement.getDomRef();
73
+ }
74
+ if (effectiveElement instanceof HTMLElement) {
75
+ unobserve(effectiveElement, callback);
76
+ }
77
+ else {
78
+ console.warn("Cannot deregister ResizeHandler for element", element); // eslint-disable-line
79
+ }
80
+ }
62
81
  }
63
-
64
- ResizeHandler.initialize();
65
-
66
82
  export default ResizeHandler;
83
+ //# sourceMappingURL=ResizeHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResizeHandler.js","sourceRoot":"","sources":["../../src/delegate/ResizeHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import EventProvider from "../EventProvider.js";
2
+ import type UI5Element from "../UI5Element.js";
3
+ type ScrollEnablementEventListenerParam = {
4
+ isLeft: boolean;
5
+ isRight: boolean;
6
+ };
7
+ type ScrollEnablementEventListenerReturn = void;
8
+ declare class ScrollEnablement extends EventProvider<ScrollEnablementEventListenerParam, ScrollEnablementEventListenerReturn> {
9
+ containerComponent: UI5Element;
10
+ mouseMove: (event: MouseEvent | TouchEvent) => void;
11
+ mouseUp: (event: MouseEvent | TouchEvent) => void;
12
+ touchStart: (event: MouseEvent | TouchEvent) => void;
13
+ cachedValue: {
14
+ dragX: number;
15
+ dragY: number;
16
+ };
17
+ startX: number;
18
+ startY: number;
19
+ _container?: HTMLElement;
20
+ supportsTouch: boolean;
21
+ _canScroll?: boolean;
22
+ _prevDragX?: number;
23
+ _prevDragY?: number;
24
+ constructor(containerComponent: UI5Element);
25
+ set scrollContainer(container: HTMLElement);
26
+ get scrollContainer(): HTMLElement;
27
+ /**
28
+ * Scrolls the container to the left/top position, retrying retryCount times, if the container is not yet painted
29
+ *
30
+ * @param left
31
+ * @param top
32
+ * @param retryCount
33
+ * @param retryInterval
34
+ * @returns {Promise<void>} resolved when scrolled successfully
35
+ */
36
+ scrollTo(left: number, top: number, retryCount?: number, retryInterval?: number): Promise<void>;
37
+ move(dx: number, dy: number, disableAnimation: boolean): {
38
+ promise: () => Promise<void | Error>;
39
+ stop: () => () => void;
40
+ } | undefined;
41
+ getScrollLeft(): number;
42
+ getScrollTop(): number;
43
+ _isTouchInside(event: TouchEvent | MouseEvent): boolean;
44
+ ontouchstart(event: TouchEvent | MouseEvent): void;
45
+ ontouchmove(event: TouchEvent | MouseEvent): void;
46
+ ontouchend(event: TouchEvent | MouseEvent): void;
47
+ }
48
+ export default ScrollEnablement;
49
+ export type { ScrollEnablementEventListenerParam, };
@@ -1,126 +1,165 @@
1
- import { isPhone } from "../Device.js";
1
+ import { supportsTouch } from "../Device.js";
2
2
  import EventProvider from "../EventProvider.js";
3
3
  import scroll from "../animations/scroll.js";
4
-
5
4
  const scrollEventName = "scroll";
6
- const touchEndEventName = isPhone() ? "touchend" : "mouseup";
7
-
5
+ const touchEndEventName = supportsTouch() ? "touchend" : "mouseup";
8
6
  class ScrollEnablement extends EventProvider {
9
- constructor(containerComponent) {
10
- super();
11
- this.containerComponent = containerComponent;
12
- this.mouseMove = this.ontouchmove.bind(this);
13
- this.mouseUp = this.ontouchend.bind(this);
14
- this.touchStart = this.ontouchstart.bind(this);
15
-
16
- this.isPhone = isPhone();
17
-
18
- if (this.isPhone) {
19
- containerComponent.addEventListener("touchstart", this.touchStart, { passive: true });
20
- containerComponent.addEventListener("touchmove", this.mouseMove, { passive: true });
21
- containerComponent.addEventListener("touchend", this.mouseUp, { passive: true });
22
- } else {
23
- containerComponent.addEventListener("mousedown", this.touchStart, { passive: true });
24
- }
25
- }
26
-
27
- set scrollContainer(container) {
28
- this._container = container;
29
- }
30
-
31
- get scrollContainer() {
32
- return this._container;
33
- }
34
-
35
- scrollTo(left, top) {
36
- this._container.scrollLeft = left;
37
- this._container.scrollTop = top;
38
- }
39
-
40
- move(dx, dy) {
41
- return scroll({
42
- element: this._container,
43
- dx,
44
- dy,
45
- });
46
- }
47
-
48
- getScrollLeft() {
49
- return this._container.scrollLeft;
50
- }
51
-
52
- getScrollTop() {
53
- return this._container.scrollTop;
54
- }
55
-
56
- _isTouchInside(touch) {
57
- const rect = this._container.getBoundingClientRect();
58
- const x = this.isPhone ? touch.clientX : touch.x;
59
- const y = this.isPhone ? touch.clientY : touch.y;
60
-
61
- return x >= rect.left && x <= rect.right
62
- && y >= rect.top && y <= rect.bottom;
63
- }
64
-
65
- ontouchstart(event) {
66
- const touch = this.isPhone ? event.touches[0] : null;
67
-
68
- if (!this.isPhone) {
69
- document.addEventListener("mouseup", this.mouseUp, { passive: true });
70
- document.addEventListener("mousemove", this.mouseMove, { passive: true });
71
- }
72
-
73
- this._prevDragX = this.isPhone ? touch.pageX : event.x;
74
- this._prevDragY = this.isPhone ? touch.pageY : event.y;
75
-
76
- this._canScroll = this._isTouchInside(this.isPhone ? touch : event);
77
- }
78
-
79
- ontouchmove(event) {
80
- if (!this._canScroll) {
81
- return;
82
- }
83
-
84
- const container = this._container;
85
- const touch = this.isPhone ? event.touches[0] : null;
86
-
87
- const dragX = this.isPhone ? touch.pageX : event.x;
88
- const dragY = this.isPhone ? touch.pageY : event.y;
89
-
90
- container.scrollLeft += this._prevDragX - dragX;
91
- container.scrollTop += this._prevDragY - dragY;
92
-
93
- this.fireEvent(scrollEventName, {
94
- isLeft: dragX > this._prevDragX,
95
- isRight: dragX < this._prevDragX,
96
- });
97
- }
98
-
99
- ontouchend(event) {
100
- if (!this._canScroll) {
101
- return;
102
- }
103
-
104
- const container = this._container;
105
- const dragX = this.isPhone ? event.changedTouches[0].pageX : event.x;
106
- const dragY = this.isPhone ? event.changedTouches[0].pageY : event.y;
107
-
108
- container.scrollLeft += this._prevDragX - dragX;
109
- container.scrollTop += this._prevDragY - dragY;
110
-
111
- this.fireEvent(touchEndEventName, {
112
- isLeft: dragX > this._prevDragX,
113
- isRight: dragX < this._prevDragX,
114
- });
115
-
116
- this._prevDragX = dragX;
117
- this._prevDragY = dragY;
118
-
119
- if (!this.isPhone) {
120
- document.removeEventListener("mousemove", this.mouseMove, { passive: true });
121
- document.removeEventListener("mouseup", this.mouseUp);
122
- }
123
- }
7
+ constructor(containerComponent) {
8
+ super();
9
+ this.supportsTouch = supportsTouch();
10
+ this.containerComponent = containerComponent;
11
+ this.mouseMove = this.ontouchmove.bind(this);
12
+ this.mouseUp = this.ontouchend.bind(this);
13
+ this.touchStart = this.ontouchstart.bind(this);
14
+ this.supportsTouch = supportsTouch();
15
+ // On Android devices touchmove is thrown one more time than neccessary (together with touchend)
16
+ // so we have to cache the previus coordinates in order to provide correct parameters in the
17
+ // event for Android
18
+ this.cachedValue = { dragX: 0, dragY: 0 };
19
+ // In components like Carousel you need to know if the user has clicked on something or swiped
20
+ // in order to throw the needed event or not
21
+ this.startX = 0;
22
+ this.startY = 0;
23
+ if (this.supportsTouch) {
24
+ containerComponent.addEventListener("touchstart", this.touchStart, { passive: true });
25
+ containerComponent.addEventListener("touchmove", this.mouseMove, { passive: true });
26
+ containerComponent.addEventListener("touchend", this.mouseUp, { passive: true });
27
+ }
28
+ else {
29
+ containerComponent.addEventListener("mousedown", this.touchStart, { passive: true });
30
+ }
31
+ }
32
+ set scrollContainer(container) {
33
+ this._container = container;
34
+ }
35
+ get scrollContainer() {
36
+ return this._container;
37
+ }
38
+ /**
39
+ * Scrolls the container to the left/top position, retrying retryCount times, if the container is not yet painted
40
+ *
41
+ * @param left
42
+ * @param top
43
+ * @param retryCount
44
+ * @param retryInterval
45
+ * @returns {Promise<void>} resolved when scrolled successfully
46
+ */
47
+ async scrollTo(left, top, retryCount = 0, retryInterval = 0) {
48
+ let containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
49
+ /* eslint-disable no-loop-func, no-await-in-loop */
50
+ while (!containerPainted && retryCount > 0) {
51
+ await new Promise(resolve => {
52
+ setTimeout(() => {
53
+ containerPainted = this.scrollContainer.clientHeight > 0 && this.scrollContainer.clientWidth > 0;
54
+ retryCount--;
55
+ resolve();
56
+ }, retryInterval);
57
+ });
58
+ }
59
+ /* eslint-disable no-loop-func, no-await-in-loop */
60
+ this._container.scrollLeft = left;
61
+ this._container.scrollTop = top;
62
+ }
63
+ move(dx, dy, disableAnimation) {
64
+ if (disableAnimation) {
65
+ this._container.scrollLeft += dx;
66
+ this._container.scrollTop += dy;
67
+ return;
68
+ }
69
+ if (this._container) {
70
+ return scroll(this._container, dx, dy);
71
+ }
72
+ }
73
+ getScrollLeft() {
74
+ return this._container.scrollLeft;
75
+ }
76
+ getScrollTop() {
77
+ return this._container.scrollTop;
78
+ }
79
+ _isTouchInside(event) {
80
+ let touch = null;
81
+ if (this.supportsTouch && event instanceof TouchEvent) {
82
+ touch = event.touches[0];
83
+ }
84
+ const rect = this._container.getBoundingClientRect();
85
+ const x = this.supportsTouch ? touch.clientX : event.x;
86
+ const y = this.supportsTouch ? touch.clientY : event.y;
87
+ return x >= rect.left && x <= rect.right
88
+ && y >= rect.top && y <= rect.bottom;
89
+ }
90
+ ontouchstart(event) {
91
+ let touch = null;
92
+ if (this.supportsTouch && event instanceof TouchEvent) {
93
+ touch = event.touches[0];
94
+ }
95
+ if (!this.supportsTouch) {
96
+ document.addEventListener("mouseup", this.mouseUp, { passive: true });
97
+ document.addEventListener("mousemove", this.mouseMove, { passive: true });
98
+ }
99
+ else {
100
+ // Needed only on mobile
101
+ this.startX = touch.pageX;
102
+ this.startY = touch.pageY;
103
+ }
104
+ if (this.supportsTouch && event instanceof TouchEvent) {
105
+ this._prevDragX = touch.pageX;
106
+ this._prevDragY = touch.pageY;
107
+ }
108
+ if (event instanceof MouseEvent) {
109
+ this._prevDragX = event.x;
110
+ this._prevDragY = event.y;
111
+ }
112
+ this._canScroll = this._isTouchInside(event);
113
+ }
114
+ ontouchmove(event) {
115
+ if (!this._canScroll) {
116
+ return;
117
+ }
118
+ const container = this._container;
119
+ const touch = this.supportsTouch ? event.touches[0] : null;
120
+ const dragX = this.supportsTouch ? touch.pageX : event.x;
121
+ const dragY = this.supportsTouch ? touch.pageY : event.y;
122
+ container.scrollLeft += this._prevDragX - dragX;
123
+ container.scrollTop += this._prevDragY - dragY;
124
+ this.fireEvent(scrollEventName, {
125
+ isLeft: dragX > this._prevDragX,
126
+ isRight: dragX < this._prevDragX,
127
+ });
128
+ this.cachedValue.dragX = this._prevDragX;
129
+ this.cachedValue.dragY = this._prevDragY;
130
+ this._prevDragX = dragX;
131
+ this._prevDragY = dragY;
132
+ }
133
+ ontouchend(event) {
134
+ if (this.supportsTouch) {
135
+ const deltaX = Math.abs(event.changedTouches[0].pageX - this.startX);
136
+ const deltaY = Math.abs(event.changedTouches[0].pageY - this.startY);
137
+ if (deltaX < 10 && deltaY < 10) {
138
+ return;
139
+ }
140
+ }
141
+ if (!this._canScroll) {
142
+ return;
143
+ }
144
+ const container = this._container;
145
+ const dragX = this.supportsTouch ? event.changedTouches[0].pageX : event.x;
146
+ const dragY = this.supportsTouch ? event.changedTouches[0].pageY : event.y;
147
+ container.scrollLeft += this._prevDragX - dragX;
148
+ container.scrollTop += this._prevDragY - dragY;
149
+ const useCachedValues = dragX === this._prevDragX;
150
+ const _dragX = useCachedValues ? this.cachedValue.dragX : dragX;
151
+ // const _dragY = useCachedValues ? this.cachedValue.dragY : dragY; add if needed
152
+ this.fireEvent(touchEndEventName, {
153
+ isLeft: _dragX < this._prevDragX,
154
+ isRight: _dragX > this._prevDragX,
155
+ });
156
+ this._prevDragX = dragX;
157
+ this._prevDragY = dragY;
158
+ if (!this.supportsTouch) {
159
+ document.removeEventListener("mousemove", this.mouseMove);
160
+ document.removeEventListener("mouseup", this.mouseUp);
161
+ }
162
+ }
124
163
  }
125
-
126
164
  export default ScrollEnablement;
165
+ //# sourceMappingURL=ScrollEnablement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollEnablement.js","sourceRoot":"","sources":["../../src/delegate/ScrollEnablement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAG7C,MAAM,eAAe,GAAG,QAAQ,CAAC;AACjC,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAQnE,MAAM,gBAAiB,SAAQ,aAAsF;IAcpH,YAAY,kBAA8B;QACzC,KAAK,EAAE,CAAC;QANT,kBAAa,GAAG,aAAa,EAAE,CAAC;QAO/B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC;QAErC,gGAAgG;QAChG,4FAA4F;QAC5F,oBAAoB;QACpB,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAE1C,8FAA8F;QAC9F,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SACjF;aAAM;YACN,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SACrF;IACF,CAAC;IAED,IAAI,eAAe,CAAC,SAAsB;QACzC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAW,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAE,UAAU,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC;QAC1E,IAAI,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,CAAC,CAAC;QAErG,mDAAmD;QACnD,OAAO,CAAC,gBAAgB,IAAI,UAAU,GAAG,CAAC,EAAE;YAC3C,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBACjC,UAAU,CAAC,GAAG,EAAE;oBACf,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,CAAC,CAAC;oBACjG,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC;gBACX,CAAC,EAAE,aAAa,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACH;QACD,mDAAmD;QAEnD,IAAI,CAAC,UAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,UAAW,CAAC,SAAS,GAAG,GAAG,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,EAAU,EAAE,EAAU,EAAE,gBAAyB;QACrD,IAAI,gBAAgB,EAAE;YACrB,IAAI,CAAC,UAAW,CAAC,UAAU,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,UAAW,CAAC,SAAS,IAAI,EAAE,CAAC;YACjC,OAAO;SACP;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SACvC;IACF,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,KAA8B;QAC5C,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,YAAY,UAAU,EAAE;YACtD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAW,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC;QAEtF,OAAO,CAAE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAE,IAAI,IAAI,CAAC,KAAK;eACtC,CAAE,IAAI,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,IAAI,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,KAA8B;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,YAAY,UAAU,EAAE;YACtD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACxB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1E;aAAM;YACN,wBAAwB;YACxB,IAAI,CAAC,MAAM,GAAG,KAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,KAAM,CAAC,KAAK,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,YAAY,UAAU,EAAE;YACtD,IAAI,CAAC,UAAU,GAAG,KAAM,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAM,CAAC,KAAK,CAAC;SAC/B;QAED,IAAI,KAAK,YAAY,UAAU,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,KAA8B;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;SACP;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAmB,CAAC,KAAK,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAmB,CAAC,KAAK,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC;QAExF,SAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAW,GAAG,KAAM,CAAC;QACnD,SAAU,CAAC,SAAS,IAAI,IAAI,CAAC,UAAW,GAAG,KAAM,CAAC;QAElD,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;YAC/B,MAAM,EAAE,KAAM,GAAG,IAAI,CAAC,UAAW;YACjC,OAAO,EAAE,KAAM,GAAG,IAAI,CAAC,UAAW;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC;QAE1C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,KAA8B;QACxC,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAE,KAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAE,KAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAErF,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,EAAE;gBAC/B,OAAO;aACP;SACD;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;SACP;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC;QAC3G,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,KAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC;QAE3G,SAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAW,GAAG,KAAK,CAAC;QAClD,SAAU,CAAC,SAAS,IAAI,IAAI,CAAC,UAAW,GAAG,KAAK,CAAC;QAEjD,MAAM,eAAe,GAAG,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,iFAAiF;QAEjF,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;YACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,UAAW;YACjC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,UAAW;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACxB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACtD;IACF,CAAC;CACD;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,16 @@
1
+ declare class F6Navigation {
2
+ static _instance: F6Navigation;
3
+ keydownHandler: (event: KeyboardEvent) => void;
4
+ selectedGroup: HTMLElement | null;
5
+ groups: Array<HTMLElement>;
6
+ constructor();
7
+ attachEventListeners(): void;
8
+ _keydownHandler(event: KeyboardEvent): Promise<void>;
9
+ removeEventListeners(): void;
10
+ updateGroups(): void;
11
+ setSelectedGroup(root?: DocumentOrShadowRoot): void;
12
+ deepActive(root: DocumentOrShadowRoot): Element | null;
13
+ destroy(): void;
14
+ static init(): F6Navigation;
15
+ }
16
+ export default F6Navigation;
@@ -0,0 +1,112 @@
1
+ import { registerFeature } from "../FeaturesRegistry.js";
2
+ import { isF6Next, isF6Previous } from "../Keys.js";
3
+ import { instanceOfUI5Element } from "../UI5Element.js";
4
+ import { getFirstFocusableElement } from "../util/FocusableElements.js";
5
+ import getFastNavigationGroups from "../util/getFastNavigationGroups.js";
6
+ class F6Navigation {
7
+ constructor() {
8
+ this.selectedGroup = null;
9
+ this.groups = [];
10
+ this.keydownHandler = this._keydownHandler.bind(this);
11
+ this.attachEventListeners();
12
+ }
13
+ attachEventListeners() {
14
+ document.addEventListener("keydown", this.keydownHandler);
15
+ }
16
+ async _keydownHandler(event) {
17
+ if (isF6Next(event)) {
18
+ this.updateGroups();
19
+ if (this.groups.length < 1) {
20
+ return;
21
+ }
22
+ event.preventDefault();
23
+ let nextIndex = -1;
24
+ let nextElement;
25
+ if (this.selectedGroup) {
26
+ nextIndex = this.groups.indexOf(this.selectedGroup);
27
+ }
28
+ if (nextIndex > -1) {
29
+ if (nextIndex + 1 >= this.groups.length) {
30
+ nextElement = this.groups[0];
31
+ }
32
+ else {
33
+ nextElement = this.groups[nextIndex + 1];
34
+ }
35
+ }
36
+ else {
37
+ nextElement = this.groups[0];
38
+ }
39
+ const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
40
+ if (nextElementDomRef) {
41
+ const elementToFocus = await getFirstFocusableElement(nextElementDomRef, true);
42
+ elementToFocus?.focus();
43
+ }
44
+ }
45
+ if (isF6Previous(event)) {
46
+ this.updateGroups();
47
+ if (this.groups.length < 1) {
48
+ return;
49
+ }
50
+ event.preventDefault();
51
+ let nextIndex = -1;
52
+ let nextElement;
53
+ if (this.selectedGroup) {
54
+ nextIndex = this.groups.indexOf(this.selectedGroup);
55
+ }
56
+ if (nextIndex > 0) {
57
+ // Handle the situation where the first focusable element of two neighbor groups is the same
58
+ // For example:
59
+ // <ui5-flexible-column-layout>
60
+ // <ui5-list>
61
+ // <ui5-li>List Item</ui5-li>
62
+ // </ui5-list>
63
+ // </ui5-flexible-column-layout>
64
+ // Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)
65
+ const firstFocusable = await getFirstFocusableElement(this.groups[nextIndex - 1], true);
66
+ const shouldSkipParent = firstFocusable === await getFirstFocusableElement(this.groups[nextIndex], true);
67
+ nextElement = this.groups[shouldSkipParent ? nextIndex - 2 : nextIndex - 1];
68
+ }
69
+ else {
70
+ nextElement = this.groups[this.groups.length - 1];
71
+ }
72
+ const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
73
+ if (nextElementDomRef) {
74
+ const elementToFocus = await getFirstFocusableElement(nextElementDomRef, true);
75
+ elementToFocus?.focus();
76
+ }
77
+ }
78
+ }
79
+ removeEventListeners() {
80
+ document.removeEventListener("keydown", this.keydownHandler);
81
+ }
82
+ updateGroups() {
83
+ this.setSelectedGroup();
84
+ this.groups = getFastNavigationGroups(document.body);
85
+ }
86
+ setSelectedGroup(root = window.document) {
87
+ const htmlElement = window.document.querySelector("html");
88
+ let element = this.deepActive(root);
89
+ while (element && element.getAttribute("data-sap-ui-fastnavgroup") !== "true" && element !== htmlElement) {
90
+ element = element.parentElement ? element.parentNode : element.parentNode.host;
91
+ }
92
+ this.selectedGroup = element;
93
+ }
94
+ deepActive(root) {
95
+ if (root.activeElement && root.activeElement.shadowRoot) {
96
+ return this.deepActive(root.activeElement.shadowRoot);
97
+ }
98
+ return root.activeElement;
99
+ }
100
+ destroy() {
101
+ this.removeEventListeners();
102
+ }
103
+ static init() {
104
+ if (!this._instance) {
105
+ this._instance = new F6Navigation();
106
+ }
107
+ return this._instance;
108
+ }
109
+ }
110
+ registerFeature("F6Navigation", F6Navigation);
111
+ export default F6Navigation;
112
+ //# sourceMappingURL=F6Navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"F6Navigation.js","sourceRoot":"","sources":["../../src/features/F6Navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import UI5Element from "../UI5Element.js";
2
+ declare class OpenUI5Element extends UI5Element {
3
+ __isBusy?: boolean;
4
+ isOpenUI5Component?: boolean;
5
+ __suppressFocusIn?: () => void;
6
+ __suppressFocusBack?: (e: KeyboardEvent) => void;
7
+ __redirectFocus?: boolean;
8
+ }
9
+ export default OpenUI5Element;