@ui5/webcomponents-base 0.0.0-e818f286e → 0.0.0-ee3bbe46b

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 (618) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +75 -0
  3. package/bundle.esm.js +5 -1
  4. package/dist/AssetRegistry.d.ts +5 -0
  5. package/dist/AssetRegistry.js +2 -7
  6. package/dist/AssetRegistry.js.map +1 -0
  7. package/dist/Boot.d.ts +8 -0
  8. package/dist/Boot.js +29 -44
  9. package/dist/Boot.js.map +1 -0
  10. package/dist/CSP.d.ts +30 -0
  11. package/dist/CSP.js +16 -24
  12. package/dist/CSP.js.map +1 -0
  13. package/dist/CustomElementsRegistry.d.ts +5 -0
  14. package/dist/CustomElementsRegistry.js +66 -83
  15. package/dist/CustomElementsRegistry.js.map +1 -0
  16. package/dist/CustomElementsScope.d.ts +7 -0
  17. package/dist/CustomElementsScope.js +10 -29
  18. package/dist/CustomElementsScope.js.map +1 -0
  19. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  20. package/dist/CustomElementsScopeUtils.js +34 -52
  21. package/dist/CustomElementsScopeUtils.js.map +1 -0
  22. package/dist/DOMObserver.d.ts +11 -0
  23. package/dist/DOMObserver.js +12 -54
  24. package/dist/DOMObserver.js.map +1 -0
  25. package/dist/Device.d.ts +12 -0
  26. package/dist/Device.js +53 -83
  27. package/dist/Device.js.map +1 -0
  28. package/dist/EventProvider.d.ts +25 -0
  29. package/dist/EventProvider.js +67 -82
  30. package/dist/EventProvider.js.map +1 -0
  31. package/dist/FeaturesRegistry.d.ts +3 -0
  32. package/dist/FeaturesRegistry.js +5 -10
  33. package/dist/FeaturesRegistry.js.map +1 -0
  34. package/dist/FontFace.d.ts +2 -0
  35. package/dist/FontFace.js +14 -19
  36. package/dist/FontFace.js.map +1 -0
  37. package/dist/InitialConfiguration.d.ts +22 -0
  38. package/dist/InitialConfiguration.js +112 -131
  39. package/dist/InitialConfiguration.js.map +1 -0
  40. package/dist/Keys.d.ts +57 -0
  41. package/dist/Keys.js +174 -291
  42. package/dist/Keys.js.map +1 -0
  43. package/dist/ManagedStyles.d.ts +8 -0
  44. package/dist/ManagedStyles.js +62 -68
  45. package/dist/ManagedStyles.js.map +1 -0
  46. package/dist/MarkedEvents.d.ts +9 -0
  47. package/dist/MarkedEvents.js +15 -0
  48. package/dist/MarkedEvents.js.map +1 -0
  49. package/dist/MediaRange.d.ts +37 -0
  50. package/dist/MediaRange.js +54 -65
  51. package/dist/MediaRange.js.map +1 -0
  52. package/dist/PropertiesFileFormat.d.ts +8 -0
  53. package/dist/PropertiesFileFormat.js +72 -82
  54. package/dist/PropertiesFileFormat.js.map +1 -0
  55. package/dist/Render.d.ts +47 -0
  56. package/dist/Render.js +81 -113
  57. package/dist/Render.js.map +1 -0
  58. package/dist/RenderQueue.d.ts +19 -0
  59. package/dist/RenderQueue.js +52 -62
  60. package/dist/RenderQueue.js.map +1 -0
  61. package/dist/Runtimes.d.ts +27 -0
  62. package/dist/Runtimes.js +49 -70
  63. package/dist/Runtimes.js.map +1 -0
  64. package/dist/StaticArea.d.ts +0 -0
  65. package/dist/StaticArea.js +4 -1
  66. package/dist/StaticArea.js.map +1 -0
  67. package/dist/StaticAreaItem.d.ts +36 -0
  68. package/dist/StaticAreaItem.js +84 -86
  69. package/dist/StaticAreaItem.js.map +1 -0
  70. package/dist/SystemCSSVars.d.ts +2 -0
  71. package/dist/SystemCSSVars.js +4 -5
  72. package/dist/SystemCSSVars.js.map +1 -0
  73. package/dist/Theming.d.ts +3 -0
  74. package/dist/Theming.js +1 -1
  75. package/dist/Theming.js.map +1 -0
  76. package/dist/UI5Element.d.ts +373 -0
  77. package/dist/UI5Element.js +928 -994
  78. package/dist/UI5Element.js.map +1 -0
  79. package/dist/UI5ElementMetadata.d.ts +150 -0
  80. package/dist/UI5ElementMetadata.js +277 -313
  81. package/dist/UI5ElementMetadata.js.map +1 -0
  82. package/dist/animations/AnimationQueue.d.ts +8 -0
  83. package/dist/animations/AnimationQueue.js +31 -38
  84. package/dist/animations/AnimationQueue.js.map +1 -0
  85. package/dist/animations/animate.d.ts +14 -0
  86. package/dist/animations/animate.js +46 -51
  87. package/dist/animations/animate.js.map +1 -0
  88. package/dist/animations/scroll.d.ts +5 -0
  89. package/dist/animations/scroll.js +18 -27
  90. package/dist/animations/scroll.js.map +1 -0
  91. package/dist/animations/slideDown.d.ts +5 -0
  92. package/dist/animations/slideDown.js +53 -78
  93. package/dist/animations/slideDown.js.map +1 -0
  94. package/dist/animations/slideUp.d.ts +5 -0
  95. package/dist/animations/slideUp.js +49 -70
  96. package/dist/animations/slideUp.js.map +1 -0
  97. package/dist/api.json +1 -0
  98. package/dist/asset-registries/Icons.d.ts +30 -0
  99. package/dist/asset-registries/Icons.js +85 -116
  100. package/dist/asset-registries/Icons.js.map +1 -0
  101. package/dist/asset-registries/Illustrations.d.ts +17 -0
  102. package/dist/asset-registries/Illustrations.js +41 -25
  103. package/dist/asset-registries/Illustrations.js.map +1 -0
  104. package/dist/asset-registries/LocaleData.d.ts +7 -0
  105. package/dist/asset-registries/LocaleData.js +104 -132
  106. package/dist/asset-registries/LocaleData.js.map +1 -0
  107. package/dist/asset-registries/Themes.d.ts +10 -0
  108. package/dist/asset-registries/Themes.js +36 -68
  109. package/dist/asset-registries/Themes.js.map +1 -0
  110. package/dist/asset-registries/i18n.d.ts +23 -0
  111. package/dist/asset-registries/i18n.js +52 -80
  112. package/dist/asset-registries/i18n.js.map +1 -0
  113. package/dist/assets/bundle.esm.97ee5164.js +56 -0
  114. package/dist/assets-meta/IconCollectionsAlias.d.ts +17 -0
  115. package/dist/assets-meta/IconCollectionsAlias.js +4 -4
  116. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  117. package/dist/config/AnimationMode.d.ts +14 -0
  118. package/dist/config/AnimationMode.js +21 -18
  119. package/dist/config/AnimationMode.js.map +1 -0
  120. package/dist/config/CalendarType.d.ts +8 -0
  121. package/dist/config/CalendarType.js +13 -12
  122. package/dist/config/CalendarType.js.map +1 -0
  123. package/dist/config/FormatSettings.d.ts +11 -0
  124. package/dist/config/FormatSettings.js +10 -8
  125. package/dist/config/FormatSettings.js.map +1 -0
  126. package/dist/config/Icons.d.ts +30 -0
  127. package/dist/config/Icons.js +28 -32
  128. package/dist/config/Icons.js.map +1 -0
  129. package/dist/config/Language.d.ts +31 -0
  130. package/dist/config/Language.js +31 -43
  131. package/dist/config/Language.js.map +1 -0
  132. package/dist/config/NoConflict.d.ts +20 -0
  133. package/dist/config/NoConflict.js +40 -41
  134. package/dist/config/NoConflict.js.map +1 -0
  135. package/dist/config/RTL.d.ts +7 -0
  136. package/dist/config/RTL.js +23 -20
  137. package/dist/config/RTL.js.map +1 -0
  138. package/dist/config/Theme.d.ts +28 -0
  139. package/dist/config/Theme.js +34 -36
  140. package/dist/config/Theme.js.map +1 -0
  141. package/dist/config/ThemeRoots.d.ts +4 -0
  142. package/dist/config/ThemeRoots.js +28 -0
  143. package/dist/config/ThemeRoots.js.map +1 -0
  144. package/dist/css/FontFace.css +9 -18
  145. package/dist/decorators/customElement.d.ts +8 -0
  146. package/dist/decorators/customElement.js +16 -0
  147. package/dist/decorators/customElement.js.map +1 -0
  148. package/dist/decorators/event.d.ts +10 -0
  149. package/dist/decorators/event.js +24 -0
  150. package/dist/decorators/event.js.map +1 -0
  151. package/dist/decorators/fastNavigation.d.ts +7 -0
  152. package/dist/decorators/fastNavigation.js +13 -0
  153. package/dist/decorators/fastNavigation.js.map +1 -0
  154. package/dist/decorators/languageAware.d.ts +7 -0
  155. package/dist/decorators/languageAware.js +13 -0
  156. package/dist/decorators/languageAware.js.map +1 -0
  157. package/dist/decorators/property.d.ts +9 -0
  158. package/dist/decorators/property.js +24 -0
  159. package/dist/decorators/property.js.map +1 -0
  160. package/dist/decorators/slot.d.ts +9 -0
  161. package/dist/decorators/slot.js +37 -0
  162. package/dist/decorators/slot.js.map +1 -0
  163. package/dist/decorators/themeAware.d.ts +7 -0
  164. package/dist/decorators/themeAware.js +13 -0
  165. package/dist/decorators/themeAware.js.map +1 -0
  166. package/dist/delegate/ItemNavigation.d.ts +113 -0
  167. package/dist/delegate/ItemNavigation.js +277 -317
  168. package/dist/delegate/ItemNavigation.js.map +1 -0
  169. package/dist/delegate/ResizeHandler.d.ts +24 -0
  170. package/dist/delegate/ResizeHandler.js +68 -91
  171. package/dist/delegate/ResizeHandler.js.map +1 -0
  172. package/dist/delegate/ScrollEnablement.d.ts +48 -0
  173. package/dist/delegate/ScrollEnablement.js +157 -180
  174. package/dist/delegate/ScrollEnablement.js.map +1 -0
  175. package/dist/features/F6Navigation.d.ts +16 -0
  176. package/dist/features/F6Navigation.js +106 -104
  177. package/dist/features/F6Navigation.js.map +1 -0
  178. package/dist/features/OpenUI5Element.d.ts +9 -0
  179. package/dist/features/OpenUI5Element.js +5 -0
  180. package/dist/features/OpenUI5Element.js.map +1 -0
  181. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  182. package/dist/features/OpenUI5Enablement.js +89 -112
  183. package/dist/features/OpenUI5Enablement.js.map +1 -0
  184. package/dist/features/OpenUI5Support.d.ts +23 -0
  185. package/dist/features/OpenUI5Support.js +91 -119
  186. package/dist/features/OpenUI5Support.js.map +1 -0
  187. package/dist/generated/VersionInfo.js +3 -3
  188. package/dist/generated/css/FontFace.css.js +1 -1
  189. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  190. package/dist/getSharedResource.d.ts +11 -0
  191. package/dist/getSharedResource.js +12 -16
  192. package/dist/getSharedResource.js.map +1 -0
  193. package/dist/i18nBundle.d.ts +43 -0
  194. package/dist/i18nBundle.js +56 -64
  195. package/dist/i18nBundle.js.map +1 -0
  196. package/dist/locale/Locale.d.ts +22 -0
  197. package/dist/locale/Locale.js +75 -87
  198. package/dist/locale/Locale.js.map +1 -0
  199. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  200. package/dist/locale/RTLAwareRegistry.js +6 -11
  201. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  202. package/dist/locale/applyDirection.d.ts +10 -0
  203. package/dist/locale/applyDirection.js +7 -7
  204. package/dist/locale/applyDirection.js.map +1 -0
  205. package/dist/locale/directionChange.d.ts +15 -0
  206. package/dist/locale/directionChange.js +7 -15
  207. package/dist/locale/directionChange.js.map +1 -0
  208. package/dist/locale/getEffectiveDir.d.ts +2 -0
  209. package/dist/locale/getEffectiveDir.js +20 -24
  210. package/dist/locale/getEffectiveDir.js.map +1 -0
  211. package/dist/locale/getLocale.d.ts +7 -0
  212. package/dist/locale/getLocale.js +26 -29
  213. package/dist/locale/getLocale.js.map +1 -0
  214. package/dist/locale/languageChange.d.ts +5 -0
  215. package/dist/locale/languageChange.js +8 -16
  216. package/dist/locale/languageChange.js.map +1 -0
  217. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  218. package/dist/locale/nextFallbackLocale.js +15 -19
  219. package/dist/locale/nextFallbackLocale.js.map +1 -0
  220. package/dist/locale/normalizeLocale.d.ts +7 -0
  221. package/dist/locale/normalizeLocale.js +34 -41
  222. package/dist/locale/normalizeLocale.js.map +1 -0
  223. package/dist/renderer/LitRenderer.d.ts +14 -0
  224. package/dist/renderer/LitRenderer.js +28 -39
  225. package/dist/renderer/LitRenderer.js.map +1 -0
  226. package/dist/renderer/executeTemplate.d.ts +13 -0
  227. package/dist/renderer/executeTemplate.js +12 -16
  228. package/dist/renderer/executeTemplate.js.map +1 -0
  229. package/dist/sap/base/Log.js +28 -29
  230. package/dist/sap/base/assert.js +5 -6
  231. package/dist/sap/base/security/URLListValidator.js +13 -2
  232. package/dist/theming/CustomStyle.d.ts +6 -0
  233. package/dist/theming/CustomStyle.js +29 -43
  234. package/dist/theming/CustomStyle.js.map +1 -0
  235. package/dist/theming/ThemeLoaded.d.ts +5 -0
  236. package/dist/theming/ThemeLoaded.js +8 -16
  237. package/dist/theming/ThemeLoaded.js.map +1 -0
  238. package/dist/theming/applyTheme.d.ts +2 -0
  239. package/dist/theming/applyTheme.js +60 -64
  240. package/dist/theming/applyTheme.js.map +1 -0
  241. package/dist/theming/getConstructableStyle.d.ts +9 -0
  242. package/dist/theming/getConstructableStyle.js +12 -17
  243. package/dist/theming/getConstructableStyle.js.map +1 -0
  244. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  245. package/dist/theming/getEffectiveLinksHrefs.js +12 -22
  246. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  247. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  248. package/dist/theming/getEffectiveStyle.js +24 -31
  249. package/dist/theming/getEffectiveStyle.js.map +1 -0
  250. package/dist/theming/getStylesString.d.ts +3 -0
  251. package/dist/theming/getStylesString.js +9 -13
  252. package/dist/theming/getStylesString.js.map +1 -0
  253. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  254. package/dist/theming/getThemeDesignerTheme.js +72 -79
  255. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  256. package/dist/theming/preloadLinks.d.ts +3 -0
  257. package/dist/theming/preloadLinks.js +13 -17
  258. package/dist/theming/preloadLinks.js.map +1 -0
  259. package/dist/thirdparty/_merge.d.ts +2 -0
  260. package/dist/thirdparty/_merge.js +7 -4
  261. package/dist/thirdparty/_merge.js.map +1 -0
  262. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  263. package/dist/thirdparty/isPlainObject.js +11 -10
  264. package/dist/thirdparty/isPlainObject.js.map +1 -0
  265. package/dist/thirdparty/merge.d.ts +2 -0
  266. package/dist/thirdparty/merge.js +4 -8
  267. package/dist/thirdparty/merge.js.map +1 -0
  268. package/dist/types/AnimationMode.d.ts +32 -0
  269. package/dist/types/AnimationMode.js +33 -6
  270. package/dist/types/AnimationMode.js.map +1 -0
  271. package/dist/types/CSSColor.d.ts +16 -0
  272. package/dist/types/CSSColor.js +15 -5
  273. package/dist/types/CSSColor.js.map +1 -0
  274. package/dist/types/CalendarType.d.ts +37 -0
  275. package/dist/types/CalendarType.js +35 -18
  276. package/dist/types/CalendarType.js.map +1 -0
  277. package/dist/types/DOMReference.d.ts +17 -0
  278. package/dist/types/DOMReference.js +25 -0
  279. package/dist/types/DOMReference.js.map +1 -0
  280. package/dist/types/DataType.d.ts +25 -0
  281. package/dist/types/DataType.js +33 -26
  282. package/dist/types/DataType.js.map +1 -0
  283. package/dist/types/Float.d.ts +18 -0
  284. package/dist/types/Float.js +18 -10
  285. package/dist/types/Float.js.map +1 -0
  286. package/dist/types/Integer.d.ts +18 -0
  287. package/dist/types/Integer.js +18 -9
  288. package/dist/types/Integer.js.map +1 -0
  289. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  290. package/dist/types/InvisibleMessageMode.js +20 -23
  291. package/dist/types/InvisibleMessageMode.js.map +1 -0
  292. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  293. package/dist/types/ItemNavigationBehavior.js +22 -12
  294. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  295. package/dist/types/NavigationMode.d.ts +32 -0
  296. package/dist/types/NavigationMode.js +33 -6
  297. package/dist/types/NavigationMode.js.map +1 -0
  298. package/dist/types/ValueState.d.ts +42 -0
  299. package/dist/types/ValueState.js +41 -19
  300. package/dist/types/ValueState.js.map +1 -0
  301. package/dist/types.d.ts +17 -0
  302. package/dist/types.js +2 -0
  303. package/dist/types.js.map +1 -0
  304. package/dist/updateShadowRoot.d.ts +8 -0
  305. package/dist/updateShadowRoot.js +21 -16
  306. package/dist/updateShadowRoot.js.map +1 -0
  307. package/dist/util/AriaLabelHelper.d.ts +6 -0
  308. package/dist/util/AriaLabelHelper.js +37 -32
  309. package/dist/util/AriaLabelHelper.js.map +1 -0
  310. package/dist/util/Caret.d.ts +7 -0
  311. package/dist/util/Caret.js +16 -25
  312. package/dist/util/Caret.js.map +1 -0
  313. package/dist/util/ColorConversion.d.ts +30 -0
  314. package/dist/util/ColorConversion.js +311 -372
  315. package/dist/util/ColorConversion.js.map +1 -0
  316. package/dist/util/FetchHelper.d.ts +3 -0
  317. package/dist/util/FetchHelper.js +19 -25
  318. package/dist/util/FetchHelper.js.map +1 -0
  319. package/dist/util/FocusableElements.d.ts +4 -0
  320. package/dist/util/FocusableElements.js +54 -71
  321. package/dist/util/FocusableElements.js.map +1 -0
  322. package/dist/util/HTMLSanitizer.d.ts +3 -0
  323. package/dist/util/HTMLSanitizer.js +4 -5
  324. package/dist/util/HTMLSanitizer.js.map +1 -0
  325. package/dist/util/InvisibleMessage.d.ts +10 -0
  326. package/dist/util/InvisibleMessage.js +40 -53
  327. package/dist/util/InvisibleMessage.js.map +1 -0
  328. package/dist/util/PopupUtils.d.ts +7 -0
  329. package/dist/util/PopupUtils.js +57 -76
  330. package/dist/util/PopupUtils.js.map +1 -0
  331. package/dist/util/SlotsHelper.d.ts +9 -0
  332. package/dist/util/SlotsHelper.js +22 -35
  333. package/dist/util/SlotsHelper.js.map +1 -0
  334. package/dist/util/StringHelper.d.ts +3 -0
  335. package/dist/util/StringHelper.js +17 -20
  336. package/dist/util/StringHelper.js.map +1 -0
  337. package/dist/util/TabbableElements.d.ts +17 -0
  338. package/dist/util/TabbableElements.js +53 -47
  339. package/dist/util/TabbableElements.js.map +1 -0
  340. package/dist/util/arraysAreEqual.d.ts +2 -0
  341. package/dist/util/arraysAreEqual.js +10 -12
  342. package/dist/util/arraysAreEqual.js.map +1 -0
  343. package/dist/util/clamp.d.ts +9 -0
  344. package/dist/util/clamp.js +2 -2
  345. package/dist/util/clamp.js.map +1 -0
  346. package/dist/util/createLinkInHead.d.ts +7 -0
  347. package/dist/util/createLinkInHead.js +14 -12
  348. package/dist/util/createLinkInHead.js.map +1 -0
  349. package/dist/util/createStyleInHead.d.ts +8 -0
  350. package/dist/util/createStyleInHead.js +10 -10
  351. package/dist/util/createStyleInHead.js.map +1 -0
  352. package/dist/util/debounce.d.ts +2 -0
  353. package/dist/util/debounce.js +6 -8
  354. package/dist/util/debounce.js.map +1 -0
  355. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  356. package/dist/util/detectNavigatorLanguage.js +7 -10
  357. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  358. package/dist/util/escapeRegex.d.ts +8 -0
  359. package/dist/util/escapeRegex.js +8 -7
  360. package/dist/util/escapeRegex.js.map +1 -0
  361. package/dist/util/formatMessage.d.ts +2 -0
  362. package/dist/util/formatMessage.js +15 -19
  363. package/dist/util/formatMessage.js.map +1 -0
  364. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  365. package/dist/util/generateHighlightedMarkup.js +26 -27
  366. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  367. package/dist/util/getActiveElement.d.ts +2 -0
  368. package/dist/util/getActiveElement.js +6 -8
  369. package/dist/util/getActiveElement.js.map +1 -0
  370. package/dist/util/getClassCopy.d.ts +400 -0
  371. package/dist/util/getClassCopy.js +7 -7
  372. package/dist/util/getClassCopy.js.map +1 -0
  373. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  374. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  375. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  376. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  377. package/dist/util/getEffectiveContentDensity.js +2 -3
  378. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  379. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  380. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  381. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  382. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  383. package/dist/util/getFastNavigationGroups.js +51 -0
  384. package/dist/util/getFastNavigationGroups.js.map +1 -0
  385. package/dist/util/getFileExtension.d.ts +12 -0
  386. package/dist/util/getFileExtension.js +9 -11
  387. package/dist/util/getFileExtension.js.map +1 -0
  388. package/dist/util/getNormalizedTarget.d.ts +7 -0
  389. package/dist/util/getNormalizedTarget.js +7 -9
  390. package/dist/util/getNormalizedTarget.js.map +1 -0
  391. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  392. package/dist/util/getSingletonElementInstance.js +7 -10
  393. package/dist/util/getSingletonElementInstance.js.map +1 -0
  394. package/dist/util/isElementClickable.d.ts +2 -0
  395. package/dist/util/isElementClickable.js +16 -0
  396. package/dist/util/isElementClickable.js.map +1 -0
  397. package/dist/util/isElementHidden.d.ts +2 -0
  398. package/dist/util/isElementHidden.js +8 -0
  399. package/dist/util/isElementHidden.js.map +1 -0
  400. package/dist/util/isElementInView.d.ts +6 -0
  401. package/dist/util/isElementInView.js +6 -9
  402. package/dist/util/isElementInView.js.map +1 -0
  403. package/dist/util/isElementTabbable.d.ts +9 -0
  404. package/dist/util/isElementTabbable.js +30 -0
  405. package/dist/util/isElementTabbable.js.map +1 -0
  406. package/dist/util/isValidPropertyName.d.ts +8 -0
  407. package/dist/util/isValidPropertyName.js +16 -17
  408. package/dist/util/isValidPropertyName.js.map +1 -0
  409. package/dist/util/whenDOMReady.d.ts +2 -0
  410. package/dist/util/whenDOMReady.js +11 -10
  411. package/dist/util/whenDOMReady.js.map +1 -0
  412. package/dist/util/willShowContent.d.ts +2 -0
  413. package/dist/util/willShowContent.js +7 -0
  414. package/dist/util/willShowContent.js.map +1 -0
  415. package/dist/validateThemeRoot.d.ts +2 -0
  416. package/dist/validateThemeRoot.js +47 -0
  417. package/dist/validateThemeRoot.js.map +1 -0
  418. package/global.d.ts +44 -0
  419. package/lib/generate-styles/index.js +1 -1
  420. package/package-scripts.js +15 -4
  421. package/package.json +4 -4
  422. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  423. package/src/Boot.ts +61 -0
  424. package/src/{CSP.js → CSP.ts} +14 -7
  425. package/src/{CustomElementsRegistry.js → CustomElementsRegistry.ts} +19 -16
  426. package/src/{CustomElementsScope.js → CustomElementsScope.ts} +8 -5
  427. package/src/{CustomElementsScopeUtils.js → CustomElementsScopeUtils.ts} +14 -7
  428. package/src/DOMObserver.ts +28 -0
  429. package/src/{Device.js → Device.ts} +17 -14
  430. package/src/{EventProvider.js → EventProvider.ts} +9 -7
  431. package/src/FeaturesRegistry.ts +14 -0
  432. package/src/{FontFace.js → FontFace.ts} +3 -2
  433. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +53 -12
  434. package/src/Keys.ts +295 -0
  435. package/src/ManagedStyles.ts +92 -0
  436. package/src/MarkedEvents.ts +20 -0
  437. package/src/{MediaRange.js → MediaRange.ts} +54 -53
  438. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  439. package/src/{Render.js → Render.ts} +25 -20
  440. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  441. package/src/{Runtimes.js → Runtimes.ts} +15 -8
  442. package/src/{StaticArea.js → StaticArea.ts} +0 -0
  443. package/src/{StaticAreaItem.js → StaticAreaItem.ts} +30 -18
  444. package/src/{SystemCSSVars.js → SystemCSSVars.ts} +0 -0
  445. package/src/{Theming.js → Theming.ts} +0 -0
  446. package/src/{UI5Element.js → UI5Element.ts} +270 -148
  447. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +120 -58
  448. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  449. package/src/animations/animate.ts +64 -0
  450. package/src/animations/scroll.ts +21 -0
  451. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  452. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  453. package/src/asset-registries/{Icons.js → Icons.ts} +64 -37
  454. package/src/asset-registries/Illustrations.ts +75 -0
  455. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +36 -28
  456. package/src/asset-registries/{Themes.js → Themes.ts} +14 -29
  457. package/src/asset-registries/{i18n.js → i18n.ts} +18 -23
  458. package/src/assets-meta/{IconCollectionsAlias.js → IconCollectionsAlias.ts} +0 -0
  459. package/src/config/AnimationMode.ts +33 -0
  460. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  461. package/src/config/FormatSettings.ts +21 -0
  462. package/src/config/{Icons.js → Icons.ts} +19 -12
  463. package/src/config/{Language.js → Language.ts} +22 -18
  464. package/src/config/NoConflict.ts +67 -0
  465. package/src/config/{RTL.js → RTL.ts} +14 -4
  466. package/src/config/Theme.ts +64 -0
  467. package/src/config/ThemeRoots.ts +41 -0
  468. package/src/css/FontFace.css +9 -18
  469. package/src/decorators/customElement.ts +17 -0
  470. package/src/decorators/event.ts +28 -0
  471. package/src/decorators/fastNavigation.ts +14 -0
  472. package/src/decorators/languageAware.ts +14 -0
  473. package/src/decorators/property.ts +30 -0
  474. package/src/decorators/slot.ts +49 -0
  475. package/src/decorators/themeAware.ts +14 -0
  476. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +56 -19
  477. package/src/delegate/{ResizeHandler.js → ResizeHandler.ts} +25 -36
  478. package/src/delegate/ScrollEnablement.ts +221 -0
  479. package/src/features/F6Navigation.ts +141 -0
  480. package/src/features/OpenUI5Element.ts +11 -0
  481. package/src/features/OpenUI5Enablement.ts +117 -0
  482. package/src/features/OpenUI5Support.ts +148 -0
  483. package/src/{getSharedResource.js → getSharedResource.ts} +3 -3
  484. package/src/{i18nBundle.js → i18nBundle.ts} +44 -22
  485. package/src/locale/{Locale.js → Locale.ts} +15 -5
  486. package/src/locale/RTLAwareRegistry.ts +16 -0
  487. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  488. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  489. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  490. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  491. package/src/locale/languageChange.ts +24 -0
  492. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  493. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +4 -2
  494. package/src/renderer/LitRenderer.ts +60 -0
  495. package/src/renderer/{executeTemplate.js → executeTemplate.ts} +11 -5
  496. package/src/theming/{CustomStyle.js → CustomStyle.ts} +11 -9
  497. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  498. package/src/theming/{applyTheme.js → applyTheme.ts} +22 -11
  499. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  500. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  501. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +9 -7
  502. package/src/theming/getStylesString.ts +15 -0
  503. package/src/theming/{getThemeDesignerTheme.js → getThemeDesignerTheme.ts} +22 -8
  504. package/src/theming/{preloadLinks.js → preloadLinks.ts} +3 -2
  505. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  506. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  507. package/src/thirdparty/merge.ts +5 -0
  508. package/src/types/AnimationMode.ts +33 -0
  509. package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
  510. package/src/types/CalendarType.ts +38 -0
  511. package/src/types/DOMReference.ts +28 -0
  512. package/src/types/DataType.ts +51 -0
  513. package/src/types/Float.ts +25 -0
  514. package/src/types/Integer.ts +25 -0
  515. package/src/types/InvisibleMessageMode.ts +27 -0
  516. package/src/types/ItemNavigationBehavior.ts +26 -0
  517. package/src/types/NavigationMode.ts +33 -0
  518. package/src/types/ValueState.ts +47 -0
  519. package/src/types.ts +28 -0
  520. package/src/updateShadowRoot.ts +37 -0
  521. package/src/util/AriaLabelHelper.ts +63 -0
  522. package/src/util/{Caret.js → Caret.ts} +5 -9
  523. package/src/util/{ColorConversion.js → ColorConversion.ts} +182 -181
  524. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  525. package/src/util/FocusableElements.ts +82 -0
  526. package/src/util/{HTMLSanitizer.js → HTMLSanitizer.ts} +2 -0
  527. package/src/util/{InvisibleMessage.js → InvisibleMessage.ts} +6 -6
  528. package/src/util/PopupUtils.ts +114 -0
  529. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  530. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  531. package/src/util/TabbableElements.ts +70 -0
  532. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  533. package/src/util/{clamp.js → clamp.ts} +1 -1
  534. package/src/util/{createLinkInHead.js → createLinkInHead.ts} +10 -4
  535. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  536. package/src/util/{debounce.js → debounce.ts} +5 -4
  537. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  538. package/src/util/escapeRegex.ts +11 -0
  539. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  540. package/src/util/{generateHighlightedMarkup.js → generateHighlightedMarkup.ts} +7 -6
  541. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  542. package/src/util/{getClassCopy.js → getClassCopy.ts} +3 -1
  543. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  544. package/src/util/getEffectiveContentDensity.ts +5 -0
  545. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  546. package/src/util/getFastNavigationGroups.ts +63 -0
  547. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  548. package/src/util/{getNormalizedTarget.js → getNormalizedTarget.ts} +2 -2
  549. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  550. package/src/util/isElementClickable.ts +19 -0
  551. package/src/util/isElementHidden.ts +9 -0
  552. package/src/util/{isElementInView.js → isElementInView.ts} +1 -1
  553. package/src/util/isElementTabbable.ts +37 -0
  554. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  555. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  556. package/src/util/willShowContent.ts +7 -0
  557. package/src/validateThemeRoot.ts +58 -0
  558. package/tsconfig.json +13 -0
  559. package/dist/RenderScheduler.js +0 -44
  560. package/dist/animations/config.js +0 -5
  561. package/dist/assets/bundle.esm.81ba431e.js +0 -43
  562. package/dist/types/CSSSize.js +0 -9
  563. package/dist/types/PopupState.js +0 -37
  564. package/dist/util/isDefaultSlotProvided.js +0 -11
  565. package/dist/util/isDescendantOf.js +0 -15
  566. package/dist/util/isNodeClickable.js +0 -19
  567. package/dist/util/isNodeHidden.js +0 -9
  568. package/dist/util/isNodeTabbable.js +0 -28
  569. package/dist/util/setToArray.js +0 -10
  570. package/hash.txt +0 -1
  571. package/src/Boot.js +0 -59
  572. package/src/DOMObserver.js +0 -65
  573. package/src/FeaturesRegistry.js +0 -14
  574. package/src/Keys.js +0 -295
  575. package/src/ManagedStyles.js +0 -83
  576. package/src/RenderScheduler.js +0 -44
  577. package/src/animations/animate.js +0 -53
  578. package/src/animations/config.js +0 -5
  579. package/src/animations/scroll.js +0 -28
  580. package/src/asset-registries/Illustrations.js +0 -30
  581. package/src/config/AnimationMode.js +0 -23
  582. package/src/config/FormatSettings.js +0 -13
  583. package/src/config/NoConflict.js +0 -51
  584. package/src/config/Theme.js +0 -53
  585. package/src/delegate/ScrollEnablement.js +0 -188
  586. package/src/features/F6Navigation.js +0 -110
  587. package/src/features/OpenUI5Enablement.js +0 -119
  588. package/src/features/OpenUI5Support.js +0 -125
  589. package/src/locale/RTLAwareRegistry.js +0 -14
  590. package/src/locale/languageChange.js +0 -22
  591. package/src/renderer/LitRenderer.js +0 -52
  592. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  593. package/src/theming/getStylesString.js +0 -15
  594. package/src/thirdparty/merge.js +0 -10
  595. package/src/types/AnimationMode.js +0 -7
  596. package/src/types/CSSSize.js +0 -9
  597. package/src/types/CalendarType.js +0 -22
  598. package/src/types/DataType.js +0 -37
  599. package/src/types/Float.js +0 -14
  600. package/src/types/Integer.js +0 -13
  601. package/src/types/InvisibleMessageMode.js +0 -30
  602. package/src/types/ItemNavigationBehavior.js +0 -16
  603. package/src/types/NavigationMode.js +0 -7
  604. package/src/types/PopupState.js +0 -37
  605. package/src/types/ValueState.js +0 -22
  606. package/src/updateShadowRoot.js +0 -29
  607. package/src/util/AriaLabelHelper.js +0 -39
  608. package/src/util/FocusableElements.js +0 -79
  609. package/src/util/PopupUtils.js +0 -93
  610. package/src/util/TabbableElements.js +0 -51
  611. package/src/util/escapeRegex.js +0 -10
  612. package/src/util/getEffectiveContentDensity.js +0 -5
  613. package/src/util/isDefaultSlotProvided.js +0 -11
  614. package/src/util/isDescendantOf.js +0 -15
  615. package/src/util/isNodeClickable.js +0 -19
  616. package/src/util/isNodeHidden.js +0 -9
  617. package/src/util/isNodeTabbable.js +0 -28
  618. package/src/util/setToArray.js +0 -10
@@ -1,53 +1,51 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
2
  import { reRenderAllUI5Elements } from "../Render.js";
3
3
  import applyTheme from "../theming/applyTheme.js";
4
-
5
- let theme;
6
-
4
+ let curTheme;
5
+ /**
6
+ * Returns the current theme.
7
+ * @public
8
+ * @returns {string} the current theme name
9
+ */
7
10
  const getTheme = () => {
8
- if (theme === undefined) {
9
- theme = getConfiguredTheme();
10
- }
11
-
12
- return theme;
11
+ if (curTheme === undefined) {
12
+ curTheme = getConfiguredTheme();
13
+ }
14
+ return curTheme;
13
15
  };
14
-
15
- const setTheme = async newTheme => {
16
- if (theme === newTheme) {
17
- return;
18
- }
19
-
20
- theme = newTheme;
21
-
22
- // Update CSS Custom Properties
23
- await applyTheme(theme);
24
- await reRenderAllUI5Elements({ themeAware: true });
16
+ /**
17
+ * Applies a new theme after fetching its assets from the network.
18
+ * @public
19
+ * @param {string} theme the name of the new theme
20
+ * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
21
+ */
22
+ const setTheme = async (theme) => {
23
+ if (curTheme === theme) {
24
+ return;
25
+ }
26
+ curTheme = theme;
27
+ // Update CSS Custom Properties
28
+ await applyTheme(curTheme);
29
+ await reRenderAllUI5Elements({ themeAware: true });
25
30
  };
26
-
27
31
  /**
28
32
  * Returns if the given theme name is the one currently applied.
29
33
  * @private
30
- * @param {String}
34
+ * @param {string} theme
31
35
  * @returns {boolean}
32
36
  */
33
- const isTheme = _theme => {
34
- const currentTheme = getTheme();
35
- return currentTheme === _theme || currentTheme === `${_theme}_exp`;
37
+ const isTheme = (theme) => {
38
+ const currentTheme = getTheme();
39
+ return currentTheme === theme || currentTheme === `${theme}_exp`;
36
40
  };
37
-
38
41
  /**
39
- * Returns if the current theme is part of given theme family
42
+ * Returns if the current theme is part of given theme family.
40
43
  * @private
41
- * @param {String} the theme family
44
+ * @param {string} theme the theme family
42
45
  * @returns {boolean}
43
46
  */
44
- const isThemeFamily = _theme => {
45
- return getTheme().startsWith(_theme);
46
- };
47
-
48
- export {
49
- getTheme,
50
- setTheme,
51
- isTheme,
52
- isThemeFamily,
47
+ const isThemeFamily = (theme) => {
48
+ return getTheme().startsWith(theme);
53
49
  };
50
+ export { getTheme, setTheme, isTheme, isThemeFamily, };
51
+ //# sourceMappingURL=Theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../src/config/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,IAAI,QAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,QAAQ,GAAG,GAAW,EAAE;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC3B,QAAQ,GAAG,kBAAkB,EAAE,CAAC;KAChC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IACvD,IAAI,QAAQ,KAAK,KAAK,EAAE;QACvB,OAAO;KACP;IAED,QAAQ,GAAG,KAAK,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IACjC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,OAAO,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,GAAG,KAAK,MAAM,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IACvC,OAAO,QAAQ,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,GACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare const getThemeRoot: () => string | undefined;
2
+ declare const setThemeRoot: (theme: string, newThemeRoot: string) => void;
3
+ declare const attachCustomThemeStylesToHead: (theme: string) => Promise<void>;
4
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
@@ -0,0 +1,28 @@
1
+ import createLinkInHead from "../util/createLinkInHead.js";
2
+ import validateThemeRoot from "../validateThemeRoot.js";
3
+ import { getThemeRoot as getConfiguredThemeRoot } from "../InitialConfiguration.js";
4
+ let themeRoot;
5
+ const getThemeRoot = () => {
6
+ if (themeRoot === undefined) {
7
+ themeRoot = getConfiguredThemeRoot();
8
+ }
9
+ return themeRoot;
10
+ };
11
+ const setThemeRoot = (theme, newThemeRoot) => {
12
+ themeRoot = validateThemeRoot(newThemeRoot);
13
+ if (themeRoot) {
14
+ attachCustomThemeStylesToHead(theme);
15
+ }
16
+ };
17
+ const formatThemeLink = (theme) => {
18
+ return `${getThemeRoot()}Base/baseLib/${theme}/css_variables.css`; // theme root is always set.
19
+ };
20
+ const attachCustomThemeStylesToHead = async (theme) => {
21
+ const link = document.querySelector(`[sap-ui-webcomponents-theme="${theme}"]`);
22
+ if (link) {
23
+ document.head.removeChild(link);
24
+ }
25
+ await createLinkInHead(formatThemeLink(theme), { "sap-ui-webcomponents-theme": theme });
26
+ };
27
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
28
+ //# sourceMappingURL=ThemeRoots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeRoots.js","sourceRoot":"","sources":["../../src/config/ThemeRoots.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpF,IAAI,SAA6B,CAAC;AAElC,MAAM,YAAY,GAAG,GAAuB,EAAE;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5B,SAAS,GAAG,sBAAsB,EAAE,CAAC;KACrC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE;IAC5D,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAE5C,IAAI,SAAS,EAAE;QACd,6BAA6B,CAAC,KAAK,CAAC,CAAC;KACrC;AACF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,OAAO,GAAG,YAAY,EAAG,gBAAgB,KAAK,oBAAoB,CAAC,CAAC,4BAA4B;AACjG,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,gCAAgC,KAAK,IAAI,CAAC,CAAC;IAE/E,IAAI,IAAI,EAAE;QACT,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,MAAM,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,6BAA6B,GAC7B,CAAC"}
@@ -3,8 +3,7 @@
3
3
  font-style: normal;
4
4
  font-weight: 400;
5
5
  src: local("72"),
6
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),
7
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff?ui5-webcomponents) format("woff");
6
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2");
8
7
  }
9
8
 
10
9
  @font-face {
@@ -12,8 +11,7 @@
12
11
  font-style: normal;
13
12
  font-weight: 400;
14
13
  src: local('72-full'),
15
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),
16
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff?ui5-webcomponents) format("woff");
14
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2");
17
15
 
18
16
  }
19
17
 
@@ -22,8 +20,7 @@
22
20
  font-style: normal;
23
21
  font-weight: 700;
24
22
  src: local('72-Bold'),
25
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),
26
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
23
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
27
24
  }
28
25
 
29
26
  @font-face {
@@ -31,38 +28,33 @@
31
28
  font-style: normal;
32
29
  font-weight: 700;
33
30
  src: local('72-Bold-full'),
34
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),
35
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
31
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
36
32
  }
37
33
 
38
34
  @font-face {
39
35
  font-family: '72-Bold';
40
36
  font-style: normal;
41
37
  src: local('72-Bold'),
42
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),
43
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff?ui5-webcomponents) format("woff");
38
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
44
39
  }
45
40
 
46
41
  @font-face {
47
42
  font-family: '72-Boldfull';
48
43
  font-style: normal;
49
- src: url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2"),
50
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff?ui5-webcomponents) format("woff");
44
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
51
45
  }
52
46
 
53
47
  @font-face {
54
48
  font-family: '72-Light';
55
49
  font-style: normal;
56
50
  src: local('72-Light'),
57
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2"),
58
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff?ui5-webcomponents) format("woff");
51
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2");
59
52
  }
60
53
 
61
54
  @font-face {
62
55
  font-family: '72-Lightfull';
63
56
  font-style: normal;
64
- src: url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2"),
65
- url(https://ui5.sap.com/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff?ui5-webcomponents) format("woff");
57
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
66
58
  }
67
59
 
68
60
  @font-face {
@@ -70,6 +62,5 @@
70
62
  font-style: bold;
71
63
  font-weight: 900;
72
64
  src: local('72Black'),
73
- url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"),
74
- url(https://openui5nightly.hana.ondemand.com/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff?ui5-webcomponents) format("woff");
65
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2");
75
66
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns a custom element class decorator.
3
+ *
4
+ * @param { string } tag
5
+ * @returns { ClassDecorator }
6
+ */
7
+ declare const customElement: (tag: string) => ClassDecorator;
8
+ export default customElement;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Returns a custom element class decorator.
3
+ *
4
+ * @param { string } tag
5
+ * @returns { ClassDecorator }
6
+ */
7
+ const customElement = (tag) => {
8
+ return (target) => {
9
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
10
+ target.decoratorMetadata = {};
11
+ }
12
+ target.decoratorMetadata.tag = tag;
13
+ };
14
+ };
15
+ export default customElement;
16
+ //# sourceMappingURL=customElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customElement.js","sourceRoot":"","sources":["../../src/decorators/customElement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IACrD,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;YACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;IACpC,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { EventData } from "../UI5ElementMetadata.js";
2
+ /**
3
+ * Returns an event class decorator.
4
+ *
5
+ * @param { string } name the event name
6
+ * @param { EventData } data the event data
7
+ * @returns { ClassDecorator }
8
+ */
9
+ declare const event: (name: string, data?: EventData) => ClassDecorator;
10
+ export default event;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Returns an event class decorator.
3
+ *
4
+ * @param { string } name the event name
5
+ * @param { EventData } data the event data
6
+ * @returns { ClassDecorator }
7
+ */
8
+ const event = (name, data = {}) => {
9
+ return (target) => {
10
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
11
+ target.decoratorMetadata = {};
12
+ }
13
+ const decoratorMetadata = target.decoratorMetadata;
14
+ if (!decoratorMetadata.events) {
15
+ decoratorMetadata.events = {};
16
+ }
17
+ const eventsMetadata = decoratorMetadata.events;
18
+ if (!eventsMetadata[name]) {
19
+ eventsMetadata[name] = data;
20
+ }
21
+ };
22
+ };
23
+ export default event;
24
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/decorators/event.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAkB,EAAE,EAAkB,EAAE;IACpE,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;YACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC9B,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SAC5B;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Class decorator, that sets the fastNavigation metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ declare const fastNavigation: (target: any) => void;
7
+ export default fastNavigation;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Class decorator, that sets the fastNavigation metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ const fastNavigation = (target) => {
7
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
8
+ target.decoratorMetadata = {};
9
+ }
10
+ target.decoratorMetadata.fastNavigation = true;
11
+ };
12
+ export default fastNavigation;
13
+ //# sourceMappingURL=fastNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastNavigation.js","sourceRoot":"","sources":["../../src/decorators/fastNavigation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,MAAW,EAAQ,EAAE;IAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;QACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC9B;IAED,MAAM,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;AAChD,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Class decorator, that sets the languageAware metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ declare const languageAware: (target: any) => void;
7
+ export default languageAware;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Class decorator, that sets the languageAware metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ const languageAware = (target) => {
7
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
8
+ target.decoratorMetadata = {};
9
+ }
10
+ target.decoratorMetadata.languageAware = true;
11
+ };
12
+ export default languageAware;
13
+ //# sourceMappingURL=languageAware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageAware.js","sourceRoot":"","sources":["../../src/decorators/languageAware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,MAAW,EAAQ,EAAE;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;QACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC9B;IAED,MAAM,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Property } from "../UI5ElementMetadata.js";
2
+ /**
3
+ * Returns a property decorator.
4
+ *
5
+ * @param { Property } propData
6
+ * @returns { PropertyDecorator }
7
+ */
8
+ declare const property: (propData?: Property) => PropertyDecorator;
9
+ export default property;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Returns a property decorator.
3
+ *
4
+ * @param { Property } propData
5
+ * @returns { PropertyDecorator }
6
+ */
7
+ const property = (propData) => {
8
+ return (target, propertyKey) => {
9
+ const ctor = target.constructor;
10
+ if (!Object.prototype.hasOwnProperty.call(ctor, "decoratorMetadata")) {
11
+ ctor.decoratorMetadata = {};
12
+ }
13
+ const decoratorMetadata = ctor.decoratorMetadata;
14
+ if (!decoratorMetadata.properties) {
15
+ decoratorMetadata.properties = {};
16
+ }
17
+ const propsMetadata = decoratorMetadata.properties;
18
+ if (!propsMetadata[propertyKey]) {
19
+ propsMetadata[propertyKey] = propData || { type: String };
20
+ }
21
+ };
22
+ };
23
+ export default property;
24
+ //# sourceMappingURL=property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../src/decorators/property.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,QAAmB,EAAqB,EAAE;IAC3D,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAgC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;YACrE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;YAClC,iBAAiB,CAAC,UAAU,GAAG,EAAE,CAAC;SAClC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,WAAqB,CAAC,EAAE;YAC1C,aAAa,CAAC,WAAqB,CAAC,GAAG,QAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACpE;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Slot } from "../UI5ElementMetadata.js";
2
+ /**
3
+ * Returns a slot decorator.
4
+ *
5
+ * @param { Slot } slotData
6
+ * @returns { PropertyDecorator }
7
+ */
8
+ declare const slot: (slotData?: Slot) => PropertyDecorator;
9
+ export default slot;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Returns a slot decorator.
3
+ *
4
+ * @param { Slot } slotData
5
+ * @returns { PropertyDecorator }
6
+ */
7
+ const slot = (slotData) => {
8
+ return (target, slotKey) => {
9
+ const ctor = target.constructor;
10
+ if (!Object.prototype.hasOwnProperty.call(ctor, "decoratorMetadata")) {
11
+ ctor.decoratorMetadata = {};
12
+ }
13
+ const decoratorMetadata = ctor.decoratorMetadata;
14
+ if (!decoratorMetadata.slots) {
15
+ decoratorMetadata.slots = {};
16
+ }
17
+ const slotMetadata = decoratorMetadata.slots;
18
+ if (slotData?.default && slotMetadata.default) {
19
+ throw new Error("Only one slot can be the default slot.");
20
+ }
21
+ const key = slotData?.default ? "default" : slotKey;
22
+ slotData = slotData || { type: HTMLElement };
23
+ if (!slotData.type) {
24
+ slotData.type = HTMLElement;
25
+ }
26
+ if (!slotMetadata[key]) {
27
+ slotMetadata[key] = slotData;
28
+ }
29
+ if (slotData.default) {
30
+ delete slotMetadata.default.default;
31
+ slotMetadata.default.propertyName = slotKey;
32
+ }
33
+ ctor.decoratorMetadata.managedSlots = true;
34
+ };
35
+ };
36
+ export default slot;
37
+ //# sourceMappingURL=slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/decorators/slot.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,IAAI,GAAG,CAAC,QAAe,EAAqB,EAAE;IACnD,OAAO,CAAC,MAAW,EAAE,OAAwB,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAgC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;YACrE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAC7B,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;SAC7B;QAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAE7C,IAAI,QAAQ,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC1D;QAED,MAAM,GAAG,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAiB,CAAC;QAC9D,QAAQ,GAAG,QAAQ,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACnB,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;SAC5B;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YACvB,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;SAC7B;QAED,IAAI,QAAQ,CAAC,OAAO,EAAE;YACrB,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,YAAY,GAAG,OAAiB,CAAC;SACtD;QAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5C,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Class decorator, that sets the themeAware metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ declare const themeAware: (target: any) => void;
7
+ export default themeAware;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Class decorator, that sets the themeAware metadata.
3
+ * @param { any } target the decorated class
4
+ * @returns { void }
5
+ */
6
+ const themeAware = (target) => {
7
+ if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
8
+ target.decoratorMetadata = {};
9
+ }
10
+ target.decoratorMetadata.themeAware = true;
11
+ };
12
+ export default themeAware;
13
+ //# sourceMappingURL=themeAware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeAware.js","sourceRoot":"","sources":["../../src/decorators/themeAware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,MAAW,EAAQ,EAAE;IACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;QACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC9B;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC;AAC5C,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,113 @@
1
+ import NavigationMode from "../types/NavigationMode.js";
2
+ import ItemNavigationBehavior from "../types/ItemNavigationBehavior.js";
3
+ import type UI5Element from "../UI5Element.js";
4
+ interface ITabbable {
5
+ id?: string;
6
+ _tabIndex?: string;
7
+ }
8
+ type ItemNavigationOptions = {
9
+ currentIndex?: number;
10
+ navigationMode?: NavigationMode;
11
+ rowSize?: number;
12
+ skipItemsSize?: number;
13
+ behavior?: ItemNavigationBehavior;
14
+ getItemsCallback: () => Array<ITabbable>;
15
+ affectedPropertiesNames?: Array<string>;
16
+ };
17
+ /**
18
+ * The ItemNavigation class manages the calculations to determine the correct "tabindex" for a group of related items inside a root component.
19
+ * Important: ItemNavigation only does the calculations and does not change "tabindex" directly, this is a responsibility of the developer.
20
+ *
21
+ * The keys that trigger ItemNavigation are:
22
+ * - Up/down
23
+ * - Left/right
24
+ * - Home/End
25
+ *
26
+ * Usage:
27
+ * 1) Use the "getItemsCallback" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.
28
+ *
29
+ * Each item passed to ItemNavigation via "getItemsCallback" must be:
30
+ * - A) either a UI5Element with a "_tabIndex" property
31
+ * - B) or an Object with "id" and "_tabIndex" properties which represents a part of the root component's shadow DOM.
32
+ * The "id" must be a valid ID within the shadow root of the component ItemNavigation operates on.
33
+ * This object must not be a DOM object because, as said, ItemNavigation will not set "tabindex" on it. It must be a representation of a DOM object only
34
+ * and the developer has the responsibility to update the "tabindex" in the component's DOM.
35
+ * - C) a combination of the above
36
+ *
37
+ * Whenever the user navigates with the keyboard, ItemNavigation will modify the "_tabIndex" properties of the items.
38
+ * It is the items' responsibilities to re-render themselves and apply the correct value of "tabindex" (i.e. to map the "_tabIndex" ItemNavigation set to them to the "tabindex" property).
39
+ * If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their "_tabIndex" property.
40
+ * If the items are Objects with "id" and "_tabIndex" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation.
41
+ * To do so, set the "affectedPropertiesNames" constructor property to point to one or more of the root component's properties that need refreshing when "_tabIndex" is changed deeply.
42
+ *
43
+ * 2) Call the "setCurrentItem" method of ItemNavigation whenever you want to change the current item.
44
+ * This is most commonly required if the user for example clicks on an item and thus selects it directly.
45
+ * Pass as the only argument to "setCurrentItem" the item that becomes current (must be one of the items, returned by "getItemsCallback").
46
+ *
47
+ * @class
48
+ * @public
49
+ */
50
+ declare class ItemNavigation {
51
+ rootWebComponent: UI5Element;
52
+ _getItems: () => Array<ITabbable>;
53
+ _currentIndex: number;
54
+ _rowSize: number;
55
+ _behavior: ItemNavigationBehavior;
56
+ _navigationMode: NavigationMode;
57
+ _affectedPropertiesNames: Array<string>;
58
+ _skipItemsSize: number | null;
59
+ /**
60
+ *
61
+ * @param rootWebComponent the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
62
+ * @param {ItemNavigationOptions} options Object with configuration options:
63
+ * - currentIndex: the index of the item that will be initially selected (from which navigation will begin)
64
+ * - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right)
65
+ * - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto
66
+ * - skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item
67
+ * - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items
68
+ * Static means that nothing happens if the user tries to navigate beyond the first/last item.
69
+ * Cycling means that when the user navigates beyond the last item they go to the first and vice versa.
70
+ * - getItemsCallback: function that, when called, returns an array with all items the user can navigate among
71
+ * - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate
72
+ */
73
+ constructor(rootWebComponent: UI5Element, options: ItemNavigationOptions);
74
+ /**
75
+ * Call this method to set a new "current" (selected) item in the item navigation
76
+ * Note: the item passed to this function must be one of the items, returned by the getItemsCallback function
77
+ *
78
+ * @public
79
+ * @param current the new selected item
80
+ */
81
+ setCurrentItem(current: ITabbable): void;
82
+ /**
83
+ * Call this method to dynamically change the row size
84
+ *
85
+ * @public
86
+ * @param newRowSize
87
+ */
88
+ setRowSize(newRowSize: number): void;
89
+ _init(): void;
90
+ _onkeydown(event: KeyboardEvent): void;
91
+ _handleUp(): void;
92
+ _handleDown(): void;
93
+ _handleLeft(): void;
94
+ _handleRight(): void;
95
+ _handleHome(): void;
96
+ _handleEnd(): void;
97
+ _handlePageUp(): void;
98
+ _handlePageDown(): void;
99
+ /**
100
+ * Handles PAGE_UP in a flat list-like structure, both vertically and horizontally.
101
+ */
102
+ _handlePageUpFlat(): void;
103
+ /**
104
+ * Handles PAGE_DOWN in a flat list-like structure, both vertically and horizontally.
105
+ */
106
+ _handlePageDownFlat(): void;
107
+ _applyTabIndex(): void;
108
+ _focusCurrentItem(): void;
109
+ _canNavigate(): boolean | undefined;
110
+ _getCurrentItem(): HTMLElement | undefined;
111
+ }
112
+ export default ItemNavigation;
113
+ export { ITabbable, };