@ui5/webcomponents-base 0.0.0-0a074c90e → 0.0.0-111ecd79a

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 (705) hide show
  1. package/.eslintignore +5 -0
  2. package/CHANGELOG.md +442 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +18 -12
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +2 -7
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +8 -0
  9. package/dist/Boot.js +35 -35
  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 +69 -30
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -108
  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 +12 -54
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +150 -84
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -88
  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 +17 -110
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +112 -115
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +174 -229
  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 +54 -66
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +72 -82
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +82 -113
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +52 -62
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +86 -0
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +6 -0
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +87 -68
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +6 -28
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/dist/Theming.d.ts +3 -0
  75. package/dist/Theming.js +1 -1
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +374 -0
  78. package/dist/UI5Element.js +932 -996
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -298
  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 +87 -101
  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 +104 -118
  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 +38 -66
  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 +55 -81
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/bundle.esm.d10f73cb.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 +21 -18
  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 +31 -43
  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 +26 -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 +277 -246
  172. package/dist/delegate/ItemNavigation.js.map +1 -0
  173. package/dist/delegate/ResizeHandler.d.ts +25 -0
  174. package/dist/delegate/ResizeHandler.js +70 -91
  175. package/dist/delegate/ResizeHandler.js.map +1 -0
  176. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  177. package/dist/delegate/ScrollEnablement.js +157 -174
  178. package/dist/delegate/ScrollEnablement.js.map +1 -0
  179. package/dist/features/F6Navigation.d.ts +19 -0
  180. package/dist/features/F6Navigation.js +151 -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.d.ts +3 -0
  194. package/dist/generated/css/BusyIndicator.css.js +7 -0
  195. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  196. package/dist/generated/css/FontFace.css.d.ts +3 -0
  197. package/dist/generated/css/FontFace.css.js +7 -0
  198. package/dist/generated/css/FontFace.css.js.map +1 -0
  199. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  200. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  201. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  202. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  203. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  204. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  205. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  206. package/dist/getSharedResource.d.ts +11 -0
  207. package/dist/getSharedResource.js +21 -17
  208. package/dist/getSharedResource.js.map +1 -0
  209. package/dist/global.d.ts +38 -0
  210. package/dist/i18nBundle.d.ts +43 -0
  211. package/dist/i18nBundle.js +67 -41
  212. package/dist/i18nBundle.js.map +1 -0
  213. package/dist/locale/Locale.d.ts +22 -0
  214. package/dist/locale/Locale.js +75 -87
  215. package/dist/locale/Locale.js.map +1 -0
  216. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  217. package/dist/locale/RTLAwareRegistry.js +6 -11
  218. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  219. package/dist/locale/applyDirection.d.ts +10 -0
  220. package/dist/locale/applyDirection.js +7 -7
  221. package/dist/locale/applyDirection.js.map +1 -0
  222. package/dist/locale/directionChange.d.ts +15 -0
  223. package/dist/locale/directionChange.js +7 -15
  224. package/dist/locale/directionChange.js.map +1 -0
  225. package/dist/locale/getEffectiveDir.d.ts +2 -0
  226. package/dist/locale/getEffectiveDir.js +20 -24
  227. package/dist/locale/getEffectiveDir.js.map +1 -0
  228. package/dist/locale/getLocale.d.ts +7 -0
  229. package/dist/locale/getLocale.js +26 -29
  230. package/dist/locale/getLocale.js.map +1 -0
  231. package/dist/locale/languageChange.d.ts +5 -0
  232. package/dist/locale/languageChange.js +8 -16
  233. package/dist/locale/languageChange.js.map +1 -0
  234. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  235. package/dist/locale/nextFallbackLocale.js +15 -19
  236. package/dist/locale/nextFallbackLocale.js.map +1 -0
  237. package/dist/locale/normalizeLocale.d.ts +7 -0
  238. package/dist/locale/normalizeLocale.js +34 -41
  239. package/dist/locale/normalizeLocale.js.map +1 -0
  240. package/dist/renderer/LitRenderer.d.ts +14 -0
  241. package/dist/renderer/LitRenderer.js +34 -24
  242. package/dist/renderer/LitRenderer.js.map +1 -0
  243. package/dist/renderer/directives/style-map.js +72 -0
  244. package/dist/renderer/executeTemplate.d.ts +13 -0
  245. package/dist/renderer/executeTemplate.js +20 -7
  246. package/dist/renderer/executeTemplate.js.map +1 -0
  247. package/dist/sap/base/Log.js +240 -0
  248. package/dist/sap/base/assert.js +7 -0
  249. package/dist/sap/base/security/URLListValidator.js +159 -0
  250. package/dist/sap/base/security/encodeCSS.js +14 -0
  251. package/dist/sap/base/security/encodeXML.js +23 -0
  252. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  253. package/dist/sap/base/strings/toHex.js +8 -0
  254. package/dist/sap/base/util/now.js +7 -0
  255. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  256. package/dist/theming/CustomStyle.d.ts +6 -0
  257. package/dist/theming/CustomStyle.js +39 -31
  258. package/dist/theming/CustomStyle.js.map +1 -0
  259. package/dist/theming/ThemeLoaded.d.ts +5 -0
  260. package/dist/theming/ThemeLoaded.js +8 -16
  261. package/dist/theming/ThemeLoaded.js.map +1 -0
  262. package/dist/theming/applyTheme.d.ts +2 -0
  263. package/dist/theming/applyTheme.js +62 -65
  264. package/dist/theming/applyTheme.js.map +1 -0
  265. package/dist/theming/getConstructableStyle.d.ts +9 -0
  266. package/dist/theming/getConstructableStyle.js +12 -17
  267. package/dist/theming/getConstructableStyle.js.map +1 -0
  268. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  269. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  270. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  271. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  272. package/dist/theming/getEffectiveStyle.js +25 -23
  273. package/dist/theming/getEffectiveStyle.js.map +1 -0
  274. package/dist/theming/getStylesString.d.ts +3 -0
  275. package/dist/theming/getStylesString.js +9 -11
  276. package/dist/theming/getStylesString.js.map +1 -0
  277. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  278. package/dist/theming/getThemeDesignerTheme.js +73 -60
  279. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  280. package/dist/theming/preloadLinks.d.ts +3 -0
  281. package/dist/theming/preloadLinks.js +19 -0
  282. package/dist/theming/preloadLinks.js.map +1 -0
  283. package/dist/thirdparty/_merge.d.ts +2 -0
  284. package/dist/thirdparty/_merge.js +7 -4
  285. package/dist/thirdparty/_merge.js.map +1 -0
  286. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  287. package/dist/thirdparty/isPlainObject.js +11 -10
  288. package/dist/thirdparty/isPlainObject.js.map +1 -0
  289. package/dist/thirdparty/merge.d.ts +2 -0
  290. package/dist/thirdparty/merge.js +4 -8
  291. package/dist/thirdparty/merge.js.map +1 -0
  292. package/dist/types/AnimationMode.d.ts +32 -0
  293. package/dist/types/AnimationMode.js +33 -6
  294. package/dist/types/AnimationMode.js.map +1 -0
  295. package/dist/types/CSSColor.d.ts +16 -0
  296. package/dist/types/CSSColor.js +15 -5
  297. package/dist/types/CSSColor.js.map +1 -0
  298. package/dist/types/CalendarType.d.ts +37 -0
  299. package/dist/types/CalendarType.js +35 -18
  300. package/dist/types/CalendarType.js.map +1 -0
  301. package/dist/types/DOMReference.d.ts +17 -0
  302. package/dist/types/DOMReference.js +25 -0
  303. package/dist/types/DOMReference.js.map +1 -0
  304. package/dist/types/DataType.d.ts +25 -0
  305. package/dist/types/DataType.js +33 -14
  306. package/dist/types/DataType.js.map +1 -0
  307. package/dist/types/Float.d.ts +18 -0
  308. package/dist/types/Float.js +18 -6
  309. package/dist/types/Float.js.map +1 -0
  310. package/dist/types/Integer.d.ts +18 -0
  311. package/dist/types/Integer.js +18 -5
  312. package/dist/types/Integer.js.map +1 -0
  313. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  314. package/dist/types/InvisibleMessageMode.js +27 -0
  315. package/dist/types/InvisibleMessageMode.js.map +1 -0
  316. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  317. package/dist/types/ItemNavigationBehavior.js +22 -12
  318. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  319. package/dist/types/NavigationMode.d.ts +32 -0
  320. package/dist/types/NavigationMode.js +33 -6
  321. package/dist/types/NavigationMode.js.map +1 -0
  322. package/dist/types/ValueState.d.ts +42 -0
  323. package/dist/types/ValueState.js +41 -19
  324. package/dist/types/ValueState.js.map +1 -0
  325. package/dist/types.d.ts +18 -0
  326. package/dist/types.js +2 -0
  327. package/dist/types.js.map +1 -0
  328. package/dist/updateShadowRoot.d.ts +8 -0
  329. package/dist/updateShadowRoot.js +23 -15
  330. package/dist/updateShadowRoot.js.map +1 -0
  331. package/dist/util/AriaLabelHelper.d.ts +6 -0
  332. package/dist/util/AriaLabelHelper.js +37 -34
  333. package/dist/util/AriaLabelHelper.js.map +1 -0
  334. package/dist/util/Caret.d.ts +7 -0
  335. package/dist/util/Caret.js +16 -38
  336. package/dist/util/Caret.js.map +1 -0
  337. package/dist/util/ColorConversion.d.ts +30 -0
  338. package/dist/util/ColorConversion.js +315 -348
  339. package/dist/util/ColorConversion.js.map +1 -0
  340. package/dist/util/FetchHelper.d.ts +3 -0
  341. package/dist/util/FetchHelper.js +19 -25
  342. package/dist/util/FetchHelper.js.map +1 -0
  343. package/dist/util/FocusableElements.d.ts +4 -0
  344. package/dist/util/FocusableElements.js +66 -68
  345. package/dist/util/FocusableElements.js.map +1 -0
  346. package/dist/util/HTMLSanitizer.d.ts +3 -0
  347. package/dist/util/HTMLSanitizer.js +6 -0
  348. package/dist/util/HTMLSanitizer.js.map +1 -0
  349. package/dist/util/InvisibleMessage.d.ts +10 -0
  350. package/dist/util/InvisibleMessage.js +56 -0
  351. package/dist/util/InvisibleMessage.js.map +1 -0
  352. package/dist/util/PopupUtils.d.ts +7 -0
  353. package/dist/util/PopupUtils.js +74 -0
  354. package/dist/util/PopupUtils.js.map +1 -0
  355. package/dist/util/SlotsHelper.d.ts +9 -0
  356. package/dist/util/SlotsHelper.js +22 -35
  357. package/dist/util/SlotsHelper.js.map +1 -0
  358. package/dist/util/StringHelper.d.ts +3 -0
  359. package/dist/util/StringHelper.js +17 -20
  360. package/dist/util/StringHelper.js.map +1 -0
  361. package/dist/util/TabbableElements.d.ts +17 -0
  362. package/dist/util/TabbableElements.js +53 -43
  363. package/dist/util/TabbableElements.js.map +1 -0
  364. package/dist/util/arraysAreEqual.d.ts +2 -0
  365. package/dist/util/arraysAreEqual.js +10 -12
  366. package/dist/util/arraysAreEqual.js.map +1 -0
  367. package/dist/util/clamp.d.ts +9 -0
  368. package/dist/util/clamp.js +12 -0
  369. package/dist/util/clamp.js.map +1 -0
  370. package/dist/util/createLinkInHead.d.ts +7 -0
  371. package/dist/util/createLinkInHead.js +21 -0
  372. package/dist/util/createLinkInHead.js.map +1 -0
  373. package/dist/util/createStyleInHead.d.ts +8 -0
  374. package/dist/util/createStyleInHead.js +10 -10
  375. package/dist/util/createStyleInHead.js.map +1 -0
  376. package/dist/util/debounce.d.ts +2 -0
  377. package/dist/util/debounce.js +6 -8
  378. package/dist/util/debounce.js.map +1 -0
  379. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  380. package/dist/util/detectNavigatorLanguage.js +7 -10
  381. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  382. package/dist/util/escapeRegex.d.ts +8 -0
  383. package/dist/util/escapeRegex.js +11 -0
  384. package/dist/util/escapeRegex.js.map +1 -0
  385. package/dist/util/formatMessage.d.ts +2 -0
  386. package/dist/util/formatMessage.js +15 -19
  387. package/dist/util/formatMessage.js.map +1 -0
  388. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  389. package/dist/util/generateHighlightedMarkup.js +41 -0
  390. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  391. package/dist/util/getActiveElement.d.ts +2 -0
  392. package/dist/util/getActiveElement.js +6 -8
  393. package/dist/util/getActiveElement.js.map +1 -0
  394. package/dist/util/getClassCopy.d.ts +400 -0
  395. package/dist/util/getClassCopy.js +10 -0
  396. package/dist/util/getClassCopy.js.map +1 -0
  397. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  398. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  399. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  400. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  401. package/dist/util/getEffectiveContentDensity.js +2 -3
  402. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  403. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  404. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  405. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  406. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  407. package/dist/util/getFastNavigationGroups.js +51 -0
  408. package/dist/util/getFastNavigationGroups.js.map +1 -0
  409. package/dist/util/getFileExtension.d.ts +12 -0
  410. package/dist/util/getFileExtension.js +9 -11
  411. package/dist/util/getFileExtension.js.map +1 -0
  412. package/dist/util/getNormalizedTarget.d.ts +7 -0
  413. package/dist/util/getNormalizedTarget.js +14 -0
  414. package/dist/util/getNormalizedTarget.js.map +1 -0
  415. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  416. package/dist/util/getSingletonElementInstance.js +7 -10
  417. package/dist/util/getSingletonElementInstance.js.map +1 -0
  418. package/dist/util/isElementClickable.d.ts +2 -0
  419. package/dist/util/isElementClickable.js +16 -0
  420. package/dist/util/isElementClickable.js.map +1 -0
  421. package/dist/util/isElementHidden.d.ts +2 -0
  422. package/dist/util/isElementHidden.js +8 -0
  423. package/dist/util/isElementHidden.js.map +1 -0
  424. package/dist/util/isElementInView.d.ts +6 -0
  425. package/dist/util/isElementInView.js +12 -0
  426. package/dist/util/isElementInView.js.map +1 -0
  427. package/dist/util/isElementTabbable.d.ts +9 -0
  428. package/dist/util/isElementTabbable.js +30 -0
  429. package/dist/util/isElementTabbable.js.map +1 -0
  430. package/dist/util/isValidPropertyName.d.ts +8 -0
  431. package/dist/util/isValidPropertyName.js +16 -17
  432. package/dist/util/isValidPropertyName.js.map +1 -0
  433. package/dist/util/whenDOMReady.d.ts +2 -0
  434. package/dist/util/whenDOMReady.js +11 -10
  435. package/dist/util/whenDOMReady.js.map +1 -0
  436. package/dist/util/willShowContent.d.ts +2 -0
  437. package/dist/util/willShowContent.js +7 -0
  438. package/dist/util/willShowContent.js.map +1 -0
  439. package/dist/validateThemeRoot.d.ts +2 -0
  440. package/dist/validateThemeRoot.js +47 -0
  441. package/dist/validateThemeRoot.js.map +1 -0
  442. package/index.js +1 -1
  443. package/lib/generate-asset-parameters/index.js +8 -5
  444. package/lib/generate-styles/index.js +31 -0
  445. package/lib/generate-version-info/index.js +32 -0
  446. package/package-scripts.js +50 -25
  447. package/package.json +20 -10
  448. package/src/{AssetRegistry.js → AssetRegistry.ts} +0 -0
  449. package/src/Boot.ts +65 -0
  450. package/src/CSP.ts +66 -0
  451. package/src/CustomElementsRegistry.ts +98 -0
  452. package/src/CustomElementsScope.ts +33 -0
  453. package/src/{CustomElementsScope.js → CustomElementsScopeUtils.ts} +14 -7
  454. package/src/DOMObserver.ts +28 -0
  455. package/src/Device.ts +203 -0
  456. package/src/EventProvider.ts +87 -0
  457. package/src/FeaturesRegistry.ts +14 -0
  458. package/src/FontFace.ts +31 -0
  459. package/src/{InitialConfiguration.js → InitialConfiguration.ts} +80 -23
  460. package/src/Keys.ts +295 -0
  461. package/src/ManagedStyles.ts +92 -0
  462. package/src/MarkedEvents.ts +20 -0
  463. package/src/{MediaRange.js → MediaRange.ts} +54 -54
  464. package/src/{PropertiesFileFormat.js → PropertiesFileFormat.ts} +8 -8
  465. package/src/{Render.js → Render.ts} +27 -21
  466. package/src/{RenderQueue.js → RenderQueue.ts} +10 -5
  467. package/src/Runtimes.ts +114 -0
  468. package/src/StaticArea.ts +3 -0
  469. package/src/StaticAreaItem.ts +113 -0
  470. package/src/SystemCSSVars.ts +10 -0
  471. package/src/{Theming.js → Theming.ts} +0 -0
  472. package/src/{UI5Element.js → UI5Element.ts} +311 -187
  473. package/src/{UI5ElementMetadata.js → UI5ElementMetadata.ts} +138 -60
  474. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  475. package/src/animations/animate.ts +64 -0
  476. package/src/animations/scroll.ts +21 -0
  477. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  478. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  479. package/src/asset-registries/Icons.ts +162 -0
  480. package/src/asset-registries/Illustrations.ts +75 -0
  481. package/src/asset-registries/{LocaleData.js → LocaleData.ts} +47 -25
  482. package/src/asset-registries/Themes.ts +67 -0
  483. package/src/asset-registries/{i18n.js → i18n.ts} +21 -24
  484. package/src/assets-meta/IconCollectionsAlias.ts +18 -0
  485. package/src/config/AnimationMode.ts +33 -0
  486. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  487. package/src/config/FormatSettings.ts +21 -0
  488. package/src/config/Icons.ts +59 -0
  489. package/src/config/{Language.js → Language.ts} +22 -18
  490. package/src/config/NoConflict.ts +67 -0
  491. package/src/config/{RTL.js → RTL.ts} +18 -4
  492. package/src/config/Theme.ts +64 -0
  493. package/src/config/ThemeRoots.ts +41 -0
  494. package/src/css/BusyIndicator.css +80 -0
  495. package/src/css/FontFace.css +66 -0
  496. package/src/css/OverrideFontFace.css +32 -0
  497. package/src/css/SystemCSSVars.css +17 -0
  498. package/src/decorators/customElement.ts +17 -0
  499. package/src/decorators/event.ts +28 -0
  500. package/src/decorators/fastNavigation.ts +14 -0
  501. package/src/decorators/languageAware.ts +14 -0
  502. package/src/decorators/property.ts +30 -0
  503. package/src/decorators/slot.ts +49 -0
  504. package/src/decorators/themeAware.ts +14 -0
  505. package/src/delegate/{ItemNavigation.js → ItemNavigation.ts} +131 -23
  506. package/src/delegate/ResizeHandler.ts +100 -0
  507. package/src/delegate/ScrollEnablement.ts +224 -0
  508. package/src/features/F6Navigation.ts +195 -0
  509. package/src/features/OpenUI5Element.ts +11 -0
  510. package/src/features/OpenUI5Enablement.ts +117 -0
  511. package/src/features/OpenUI5Support.ts +148 -0
  512. package/src/generated/css/BusyIndicator.css.ts +9 -0
  513. package/src/generated/css/FontFace.css.ts +9 -0
  514. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  515. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  516. package/src/{getSharedResource.js → getSharedResource.ts} +13 -4
  517. package/src/global.d.ts +38 -0
  518. package/src/i18nBundle.ts +108 -0
  519. package/src/locale/{Locale.js → Locale.ts} +15 -5
  520. package/src/locale/RTLAwareRegistry.ts +16 -0
  521. package/src/locale/{applyDirection.js → applyDirection.ts} +4 -3
  522. package/src/locale/{directionChange.js → directionChange.ts} +6 -4
  523. package/src/locale/{getEffectiveDir.js → getEffectiveDir.ts} +1 -1
  524. package/src/locale/{getLocale.js → getLocale.ts} +12 -7
  525. package/src/locale/languageChange.ts +24 -0
  526. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  527. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  528. package/src/renderer/LitRenderer.ts +60 -0
  529. package/src/renderer/directives/style-map.js +72 -0
  530. package/src/renderer/executeTemplate.ts +40 -0
  531. package/src/theming/CustomStyle.ts +64 -0
  532. package/src/theming/{ThemeLoaded.js → ThemeLoaded.ts} +6 -4
  533. package/src/theming/applyTheme.ts +90 -0
  534. package/src/theming/{getConstructableStyle.js → getConstructableStyle.ts} +5 -4
  535. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  536. package/src/theming/{getEffectiveStyle.js → getEffectiveStyle.ts} +15 -4
  537. package/src/theming/getStylesString.ts +15 -0
  538. package/src/theming/getThemeDesignerTheme.ts +101 -0
  539. package/src/theming/preloadLinks.ts +24 -0
  540. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  541. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  542. package/src/thirdparty/merge.ts +5 -0
  543. package/src/types/AnimationMode.ts +33 -0
  544. package/src/types/{CSSColor.js → CSSColor.ts} +12 -1
  545. package/src/types/CalendarType.ts +38 -0
  546. package/src/types/DOMReference.ts +28 -0
  547. package/src/types/DataType.ts +51 -0
  548. package/src/types/Float.ts +25 -0
  549. package/src/types/Integer.ts +25 -0
  550. package/src/types/InvisibleMessageMode.ts +27 -0
  551. package/src/types/ItemNavigationBehavior.ts +26 -0
  552. package/src/types/NavigationMode.ts +33 -0
  553. package/src/types/ValueState.ts +47 -0
  554. package/src/types.ts +30 -0
  555. package/src/updateShadowRoot.ts +37 -0
  556. package/src/util/AriaLabelHelper.ts +63 -0
  557. package/src/util/Caret.ts +28 -0
  558. package/src/util/ColorConversion.ts +399 -0
  559. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  560. package/src/util/FocusableElements.ts +92 -0
  561. package/src/util/HTMLSanitizer.ts +9 -0
  562. package/src/util/InvisibleMessage.ts +69 -0
  563. package/src/util/PopupUtils.ts +112 -0
  564. package/src/util/{SlotsHelper.js → SlotsHelper.ts} +9 -13
  565. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  566. package/src/util/TabbableElements.ts +70 -0
  567. package/src/util/{arraysAreEqual.js → arraysAreEqual.ts} +1 -1
  568. package/src/util/clamp.ts +12 -0
  569. package/src/util/createLinkInHead.ts +25 -0
  570. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  571. package/src/util/{debounce.js → debounce.ts} +5 -4
  572. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  573. package/src/util/escapeRegex.ts +11 -0
  574. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  575. package/src/util/generateHighlightedMarkup.ts +43 -0
  576. package/src/util/{getActiveElement.js → getActiveElement.ts} +0 -0
  577. package/src/util/getClassCopy.ts +12 -0
  578. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  579. package/src/util/getEffectiveContentDensity.ts +5 -0
  580. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  581. package/src/util/getFastNavigationGroups.ts +63 -0
  582. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  583. package/src/util/getNormalizedTarget.ts +16 -0
  584. package/src/util/{getSingletonElementInstance.js → getSingletonElementInstance.ts} +1 -1
  585. package/src/util/isElementClickable.ts +19 -0
  586. package/src/util/isElementHidden.ts +9 -0
  587. package/src/util/isElementInView.ts +15 -0
  588. package/src/util/isElementTabbable.ts +37 -0
  589. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +1 -1
  590. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  591. package/src/util/willShowContent.ts +7 -0
  592. package/src/validateThemeRoot.ts +58 -0
  593. package/tsconfig.json +13 -0
  594. package/used-modules.txt +10 -0
  595. package/config/.eslintrc.js +0 -3
  596. package/config/rollup.config.js +0 -1
  597. package/dist/RenderScheduler.js +0 -44
  598. package/dist/animations/config.js +0 -5
  599. package/dist/config/AssetsPath.js +0 -17
  600. package/dist/isLegacyBrowser.js +0 -3
  601. package/dist/renderer/ifDefined.js +0 -21
  602. package/dist/renderer/scopeHTML.js +0 -32
  603. package/dist/resources/bundle.esm.js +0 -121
  604. package/dist/resources/bundle.esm.js.map +0 -1
  605. package/dist/test-resources/assets/Themes.js +0 -17
  606. package/dist/test-resources/elements/Child.js +0 -35
  607. package/dist/test-resources/elements/Generic.js +0 -84
  608. package/dist/test-resources/elements/GenericExt.js +0 -26
  609. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  610. package/dist/test-resources/elements/Parent.js +0 -41
  611. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  612. package/dist/test-resources/pages/AllTestElements.html +0 -39
  613. package/dist/test-resources/pages/Configuration.html +0 -18
  614. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  615. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  616. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  617. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  618. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  619. package/dist/test-resources/pages/i18n.html +0 -35
  620. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  621. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  622. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  623. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  624. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  625. package/dist/test-resources/specs/Theming.spec.js +0 -31
  626. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -240
  627. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
  628. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -73
  629. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  630. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  631. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  632. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  633. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  634. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  635. package/dist/types/CSSSize.js +0 -9
  636. package/dist/types/PopupState.js +0 -37
  637. package/dist/util/encodeCSS.js +0 -24
  638. package/dist/util/findNodeOwner.js +0 -35
  639. package/dist/util/isDescendantOf.js +0 -15
  640. package/dist/util/isNodeClickable.js +0 -19
  641. package/dist/util/isNodeHidden.js +0 -9
  642. package/dist/util/isNodeTabbable.js +0 -28
  643. package/dist/util/setToArray.js +0 -10
  644. package/src/Boot.js +0 -48
  645. package/src/CustomElementsRegistry.js +0 -39
  646. package/src/DOMObserver.js +0 -65
  647. package/src/Device.js +0 -100
  648. package/src/EventProvider.js +0 -91
  649. package/src/FeaturesRegistry.js +0 -11
  650. package/src/FontFace.js +0 -118
  651. package/src/Keys.js +0 -233
  652. package/src/RenderScheduler.js +0 -44
  653. package/src/StaticAreaItem.js +0 -80
  654. package/src/SystemCSSVars.js +0 -31
  655. package/src/animations/animate.js +0 -53
  656. package/src/animations/config.js +0 -5
  657. package/src/animations/scroll.js +0 -28
  658. package/src/asset-registries/Icons.js +0 -118
  659. package/src/asset-registries/Themes.js +0 -78
  660. package/src/config/AnimationMode.js +0 -23
  661. package/src/config/AssetsPath.js +0 -17
  662. package/src/config/FormatSettings.js +0 -13
  663. package/src/config/NoConflict.js +0 -51
  664. package/src/config/Theme.js +0 -28
  665. package/src/delegate/ResizeHandler.js +0 -106
  666. package/src/delegate/ScrollEnablement.js +0 -182
  667. package/src/features/OpenUI5Support.js +0 -90
  668. package/src/i18nBundle.js +0 -52
  669. package/src/isLegacyBrowser.js +0 -3
  670. package/src/locale/RTLAwareRegistry.js +0 -14
  671. package/src/locale/languageChange.js +0 -22
  672. package/src/renderer/LitRenderer.js +0 -31
  673. package/src/renderer/executeTemplate.js +0 -17
  674. package/src/renderer/ifDefined.js +0 -21
  675. package/src/renderer/scopeHTML.js +0 -32
  676. package/src/theming/CustomStyle.js +0 -40
  677. package/src/theming/applyTheme.js +0 -78
  678. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  679. package/src/theming/getStylesString.js +0 -13
  680. package/src/theming/getThemeDesignerTheme.js +0 -67
  681. package/src/thirdparty/merge.js +0 -10
  682. package/src/types/AnimationMode.js +0 -7
  683. package/src/types/CSSSize.js +0 -9
  684. package/src/types/CalendarType.js +0 -22
  685. package/src/types/DataType.js +0 -25
  686. package/src/types/Float.js +0 -10
  687. package/src/types/Integer.js +0 -9
  688. package/src/types/ItemNavigationBehavior.js +0 -16
  689. package/src/types/NavigationMode.js +0 -7
  690. package/src/types/PopupState.js +0 -37
  691. package/src/types/ValueState.js +0 -22
  692. package/src/updateShadowRoot.js +0 -26
  693. package/src/util/AriaLabelHelper.js +0 -41
  694. package/src/util/Caret.js +0 -45
  695. package/src/util/ColorConversion.js +0 -370
  696. package/src/util/FocusableElements.js +0 -73
  697. package/src/util/TabbableElements.js +0 -47
  698. package/src/util/encodeCSS.js +0 -24
  699. package/src/util/findNodeOwner.js +0 -35
  700. package/src/util/getEffectiveContentDensity.js +0 -5
  701. package/src/util/isDescendantOf.js +0 -15
  702. package/src/util/isNodeClickable.js +0 -19
  703. package/src/util/isNodeHidden.js +0 -9
  704. package/src/util/isNodeTabbable.js +0 -28
  705. package/src/util/setToArray.js +0 -10
@@ -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"}
@@ -0,0 +1,80 @@
1
+ .busy-indicator-wrapper {
2
+ position: relative;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .busy-indicator-overlay {
8
+ display: var(--ui5_web_components_busy_indicator_display);
9
+ position: absolute;
10
+ inset: 0;
11
+ background: var(--ui5_web_components_busy_indicator_background-color);
12
+ z-index: 99;
13
+ }
14
+
15
+ .busy-indicator-busy-area {
16
+ display: var(--ui5_web_components_busy_indicator_display);
17
+ position: absolute;
18
+ z-index: 99;
19
+ inset: 0;
20
+ justify-content: center;
21
+ align-items: center;
22
+ background-color: inherit;
23
+ flex-direction: column;
24
+ color: var(--_ui5_busy_indicator_color);
25
+ }
26
+
27
+ :host([__is-busy]) .busy-indicator-wrapper > :not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]) {
28
+ --ui5_web_components_busy_indicator_display: none;
29
+ }
30
+
31
+ .busy-indicator-busy-area:focus {
32
+ outline: var(--_ui5_busy_indicator_focus_outline);
33
+ outline-offset: -.125rem;
34
+ }
35
+
36
+ .busy-indicator-circle {
37
+ width: 1rem;
38
+ height: 1rem;
39
+ display: inline-block;
40
+ background-color: currentColor;
41
+ border-radius: 50%;
42
+ }
43
+
44
+ .circle-animation-0 {
45
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
46
+ }
47
+
48
+ .circle-animation-1 {
49
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
50
+ animation-delay: 200ms;
51
+ }
52
+
53
+ .circle-animation-2 {
54
+ animation: grow 1.6s infinite cubic-bezier(0.32, 0.06, 0.85, 1.11);
55
+ animation-delay: 400ms;
56
+ }
57
+
58
+ .sapUiLocalBusy {
59
+ --ui5_web_components_busy_indicator_display: none;
60
+ }
61
+
62
+ .busy-indicator-wrapper [ui5-busy-indicator] {
63
+ display: none;
64
+ }
65
+
66
+ @keyframes grow {
67
+ 0%, 50%, 100% {
68
+ -webkit-transform: scale(0.5);
69
+ -moz-transform: scale(0.5);
70
+ -ms-transform: scale(0.5);
71
+ transform: scale(0.5);
72
+ }
73
+
74
+ 25% {
75
+ -webkit-transform: scale(1);
76
+ -moz-transform: scale(1);
77
+ -ms-transform: scale(1);
78
+ transform: scale(1);
79
+ }
80
+ }
@@ -0,0 +1,66 @@
1
+ @font-face {
2
+ font-family: "72";
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ src: local("72"),
6
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2");
7
+ }
8
+
9
+ @font-face {
10
+ font-family: "72full";
11
+ font-style: normal;
12
+ font-weight: 400;
13
+ src: local('72-full'),
14
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2");
15
+
16
+ }
17
+
18
+ @font-face {
19
+ font-family: "72";
20
+ font-style: normal;
21
+ font-weight: 700;
22
+ src: local('72-Bold'),
23
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
24
+ }
25
+
26
+ @font-face {
27
+ font-family: "72full";
28
+ font-style: normal;
29
+ font-weight: 700;
30
+ src: local('72-Bold-full'),
31
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
32
+ }
33
+
34
+ @font-face {
35
+ font-family: '72-Bold';
36
+ font-style: normal;
37
+ src: local('72-Bold'),
38
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
39
+ }
40
+
41
+ @font-face {
42
+ font-family: '72-Boldfull';
43
+ font-style: normal;
44
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
45
+ }
46
+
47
+ @font-face {
48
+ font-family: '72-Light';
49
+ font-style: normal;
50
+ src: local('72-Light'),
51
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2");
52
+ }
53
+
54
+ @font-face {
55
+ font-family: '72-Lightfull';
56
+ font-style: normal;
57
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
58
+ }
59
+
60
+ @font-face {
61
+ font-family: "72Black";
62
+ font-style: bold;
63
+ font-weight: 900;
64
+ src: local('72Black'),
65
+ url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2");
66
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Some diacritics are supported by the 72 font:
3
+ * * Grave
4
+ * * Acute
5
+ * * Circumflex
6
+ * * Tilde
7
+ *
8
+ * However, the following diacritics and the combination of multiple diacritics (including the supported ones) are not supported:
9
+ * * Breve
10
+ * * Horn
11
+ * * Dot below
12
+ * * Hook above
13
+ *
14
+ *
15
+ * Override for the characters that aren't covered by the '72' font to other system fonts
16
+ *
17
+ * U+0102-0103: A and a with Breve
18
+ * U+01A0-01A1: O and o with Horn
19
+ * U+01AF-01B0: U and u with Horn
20
+ * U+1EA0-1EB7: A and a with diacritics that are not supported by the font and combination of multiple diacritics
21
+ * U+1EB8-1EC7: E and e with diacritics that are not supported by the font and combination of multiple diacritics
22
+ * U+1EC8-1ECB: I and i with diacritics that are not supported by the font and combination of multiple diacritics
23
+ * U+1ECC-1EE3: O and o with diacritics that are not supported by the font and combination of multiple diacritics
24
+ * U+1EE4-1EF1: U and u with diacritics that are not supported by the font and combination of multiple diacritics
25
+ * U+1EF4-1EF7: Y and y with diacritics that are not supported by the font and combination of multiple diacritics
26
+ *
27
+ */
28
+ @font-face {
29
+ font-family: '72override';
30
+ unicode-range: U+0102-0103, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EB7, U+1EB8-1EC7, U+1EC8-1ECB, U+1ECC-1EE3, U+1EE4-1EF1, U+1EF4-1EF7;
31
+ src: local('Arial'), local('Helvetica'), local('sans-serif');
32
+ }
@@ -0,0 +1,17 @@
1
+ :root {
2
+ --_ui5_content_density:cozy;
3
+ }
4
+
5
+ [data-ui5-compact-size],
6
+ .ui5-content-density-compact,
7
+ .sapUiSizeCompact {
8
+ --_ui5_content_density:compact;
9
+ }
10
+
11
+ [dir="rtl"] {
12
+ --_ui5_dir:rtl;
13
+ }
14
+
15
+ [dir="ltr"] {
16
+ --_ui5_dir:ltr;
17
+ }
@@ -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, };