@ui5/webcomponents-base 0.0.0-4b10f4f3c → 0.0.0-4b9b0ab7c

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 (778) hide show
  1. package/.eslintignore +5 -0
  2. package/CHANGELOG.md +593 -0
  3. package/README.md +53 -7
  4. package/bundle.esm.js +31 -18
  5. package/dist/AssetRegistry.d.ts +5 -0
  6. package/dist/AssetRegistry.js +6 -10
  7. package/dist/AssetRegistry.js.map +1 -0
  8. package/dist/Boot.d.ts +9 -0
  9. package/dist/Boot.js +65 -0
  10. package/dist/Boot.js.map +1 -0
  11. package/dist/CSP.d.ts +30 -0
  12. package/dist/CSP.js +51 -0
  13. package/dist/CSP.js.map +1 -0
  14. package/dist/CustomElementsRegistry.d.ts +5 -0
  15. package/dist/CustomElementsRegistry.js +73 -18
  16. package/dist/CustomElementsRegistry.js.map +1 -0
  17. package/dist/CustomElementsScope.d.ts +7 -0
  18. package/dist/CustomElementsScope.js +11 -0
  19. package/dist/CustomElementsScope.js.map +1 -0
  20. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  21. package/dist/CustomElementsScopeUtils.js +90 -0
  22. package/dist/CustomElementsScopeUtils.js.map +1 -0
  23. package/dist/DOMObserver.d.ts +11 -0
  24. package/dist/DOMObserver.js +23 -0
  25. package/dist/DOMObserver.js.map +1 -0
  26. package/dist/Device.d.ts +12 -0
  27. package/dist/Device.js +159 -816
  28. package/dist/Device.js.map +1 -0
  29. package/dist/EventProvider.d.ts +25 -0
  30. package/dist/EventProvider.js +67 -70
  31. package/dist/EventProvider.js.map +1 -0
  32. package/dist/FeaturesRegistry.d.ts +3 -0
  33. package/dist/FeaturesRegistry.js +5 -7
  34. package/dist/FeaturesRegistry.js.map +1 -0
  35. package/dist/FontFace.d.ts +2 -0
  36. package/dist/FontFace.js +21 -69
  37. package/dist/FontFace.js.map +1 -0
  38. package/dist/InitialConfiguration.d.ts +22 -0
  39. package/dist/InitialConfiguration.js +119 -103
  40. package/dist/InitialConfiguration.js.map +1 -0
  41. package/dist/Keys.d.ts +57 -0
  42. package/dist/Keys.js +175 -158
  43. package/dist/Keys.js.map +1 -0
  44. package/dist/ManagedStyles.d.ts +8 -0
  45. package/dist/ManagedStyles.js +77 -0
  46. package/dist/ManagedStyles.js.map +1 -0
  47. package/dist/MarkedEvents.d.ts +9 -0
  48. package/dist/MarkedEvents.js +15 -0
  49. package/dist/MarkedEvents.js.map +1 -0
  50. package/dist/MediaRange.d.ts +37 -0
  51. package/dist/MediaRange.js +98 -0
  52. package/dist/MediaRange.js.map +1 -0
  53. package/dist/PropertiesFileFormat.d.ts +8 -0
  54. package/dist/PropertiesFileFormat.js +85 -0
  55. package/dist/PropertiesFileFormat.js.map +1 -0
  56. package/dist/Render.d.ts +47 -0
  57. package/dist/Render.js +143 -0
  58. package/dist/Render.js.map +1 -0
  59. package/dist/RenderQueue.d.ts +19 -0
  60. package/dist/RenderQueue.js +53 -39
  61. package/dist/RenderQueue.js.map +1 -0
  62. package/dist/Runtimes.d.ts +27 -0
  63. package/dist/Runtimes.js +86 -0
  64. package/dist/Runtimes.js.map +1 -0
  65. package/dist/StaticArea.d.ts +0 -0
  66. package/dist/StaticArea.js +4 -39
  67. package/dist/StaticArea.js.map +1 -0
  68. package/dist/StaticAreaItem.d.ts +36 -0
  69. package/dist/StaticAreaItem.js +92 -98
  70. package/dist/StaticAreaItem.js.map +1 -0
  71. package/dist/SystemCSSVars.d.ts +2 -0
  72. package/dist/SystemCSSVars.js +9 -0
  73. package/dist/SystemCSSVars.js.map +1 -0
  74. package/dist/Theming.d.ts +3 -0
  75. package/dist/Theming.js +3 -2
  76. package/dist/Theming.js.map +1 -0
  77. package/dist/UI5Element.d.ts +378 -0
  78. package/dist/UI5Element.js +935 -917
  79. package/dist/UI5Element.js.map +1 -0
  80. package/dist/UI5ElementMetadata.d.ts +150 -0
  81. package/dist/UI5ElementMetadata.js +278 -158
  82. package/dist/UI5ElementMetadata.js.map +1 -0
  83. package/dist/animations/AnimationQueue.d.ts +8 -0
  84. package/dist/animations/AnimationQueue.js +31 -38
  85. package/dist/animations/AnimationQueue.js.map +1 -0
  86. package/dist/animations/animate.d.ts +14 -0
  87. package/dist/animations/animate.js +46 -51
  88. package/dist/animations/animate.js.map +1 -0
  89. package/dist/animations/scroll.d.ts +5 -0
  90. package/dist/animations/scroll.js +18 -27
  91. package/dist/animations/scroll.js.map +1 -0
  92. package/dist/animations/slideDown.d.ts +5 -0
  93. package/dist/animations/slideDown.js +53 -78
  94. package/dist/animations/slideDown.js.map +1 -0
  95. package/dist/animations/slideUp.d.ts +5 -0
  96. package/dist/animations/slideUp.js +49 -70
  97. package/dist/animations/slideUp.js.map +1 -0
  98. package/dist/api.json +1 -0
  99. package/dist/asset-registries/Icons.d.ts +30 -0
  100. package/dist/asset-registries/Icons.js +104 -24
  101. package/dist/asset-registries/Icons.js.map +1 -0
  102. package/dist/asset-registries/Illustrations.d.ts +17 -0
  103. package/dist/asset-registries/Illustrations.js +46 -0
  104. package/dist/asset-registries/Illustrations.js.map +1 -0
  105. package/dist/asset-registries/LocaleData.d.ts +7 -0
  106. package/dist/asset-registries/LocaleData.js +125 -114
  107. package/dist/asset-registries/LocaleData.js.map +1 -0
  108. package/dist/asset-registries/Themes.d.ts +11 -0
  109. package/dist/asset-registries/Themes.js +41 -76
  110. package/dist/asset-registries/Themes.js.map +1 -0
  111. package/dist/asset-registries/i18n.d.ts +23 -0
  112. package/dist/asset-registries/i18n.js +74 -59
  113. package/dist/asset-registries/i18n.js.map +1 -0
  114. package/dist/assets/Boot.6335ce08.css +1 -0
  115. package/dist/assets/Boot.e74b2a49.js +9 -0
  116. package/dist/assets/bundle.esm.abaf0306.js +52 -0
  117. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  118. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  119. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  120. package/dist/config/AnimationMode.d.ts +14 -0
  121. package/dist/config/AnimationMode.js +23 -10
  122. package/dist/config/AnimationMode.js.map +1 -0
  123. package/dist/config/CalendarType.d.ts +8 -0
  124. package/dist/config/CalendarType.js +13 -12
  125. package/dist/config/CalendarType.js.map +1 -0
  126. package/dist/config/FormatSettings.d.ts +15 -0
  127. package/dist/config/FormatSettings.js +15 -9
  128. package/dist/config/FormatSettings.js.map +1 -0
  129. package/dist/config/Icons.d.ts +55 -0
  130. package/dist/config/Icons.js +103 -0
  131. package/dist/config/Icons.js.map +1 -0
  132. package/dist/config/Language.d.ts +31 -0
  133. package/dist/config/Language.js +54 -10
  134. package/dist/config/Language.js.map +1 -0
  135. package/dist/config/NoConflict.d.ts +20 -0
  136. package/dist/config/NoConflict.js +40 -41
  137. package/dist/config/NoConflict.js.map +1 -0
  138. package/dist/config/RTL.d.ts +7 -0
  139. package/dist/config/RTL.js +26 -20
  140. package/dist/config/RTL.js.map +1 -0
  141. package/dist/config/Theme.d.ts +28 -0
  142. package/dist/config/Theme.js +45 -22
  143. package/dist/config/Theme.js.map +1 -0
  144. package/dist/config/ThemeRoots.d.ts +4 -0
  145. package/dist/config/ThemeRoots.js +28 -0
  146. package/dist/config/ThemeRoots.js.map +1 -0
  147. package/dist/css/BusyIndicator.css +80 -0
  148. package/dist/css/FontFace.css +66 -0
  149. package/dist/css/OverrideFontFace.css +32 -0
  150. package/dist/css/SystemCSSVars.css +17 -0
  151. package/dist/decorators/customElement.d.ts +23 -0
  152. package/dist/decorators/customElement.js +31 -0
  153. package/dist/decorators/customElement.js.map +1 -0
  154. package/dist/decorators/event.d.ts +10 -0
  155. package/dist/decorators/event.js +24 -0
  156. package/dist/decorators/event.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/delegate/ItemNavigation.d.ts +113 -0
  164. package/dist/delegate/ItemNavigation.js +312 -274
  165. package/dist/delegate/ItemNavigation.js.map +1 -0
  166. package/dist/delegate/ResizeHandler.d.ts +25 -0
  167. package/dist/delegate/ResizeHandler.js +82 -63
  168. package/dist/delegate/ResizeHandler.js.map +1 -0
  169. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  170. package/dist/delegate/ScrollEnablement.js +159 -153
  171. package/dist/delegate/ScrollEnablement.js.map +1 -0
  172. package/dist/features/F6Navigation.d.ts +19 -0
  173. package/dist/features/F6Navigation.js +151 -0
  174. package/dist/features/F6Navigation.js.map +1 -0
  175. package/dist/features/LegacyDateFormats.d.ts +18 -0
  176. package/dist/features/LegacyDateFormats.js +20 -0
  177. package/dist/features/LegacyDateFormats.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 +96 -0
  183. package/dist/features/OpenUI5Enablement.js.map +1 -0
  184. package/dist/features/OpenUI5Support.d.ts +25 -0
  185. package/dist/features/OpenUI5Support.js +94 -86
  186. package/dist/features/OpenUI5Support.js.map +1 -0
  187. package/dist/generated/AssetParameters.js +1 -1
  188. package/dist/generated/VersionInfo.js +10 -0
  189. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  190. package/dist/generated/css/BusyIndicator.css.js +7 -0
  191. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  192. package/dist/generated/css/FontFace.css.d.ts +3 -0
  193. package/dist/generated/css/FontFace.css.js +7 -0
  194. package/dist/generated/css/FontFace.css.js.map +1 -0
  195. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  196. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  197. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  198. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  199. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  200. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  201. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  202. package/dist/getSharedResource.d.ts +11 -0
  203. package/dist/getSharedResource.js +34 -0
  204. package/dist/getSharedResource.js.map +1 -0
  205. package/dist/global.d.ts +38 -0
  206. package/dist/i18nBundle.d.ts +43 -0
  207. package/dist/i18nBundle.js +73 -28
  208. package/dist/i18nBundle.js.map +1 -0
  209. package/dist/locale/Locale.d.ts +22 -0
  210. package/dist/locale/Locale.js +75 -87
  211. package/dist/locale/Locale.js.map +1 -0
  212. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  213. package/dist/locale/RTLAwareRegistry.js +9 -0
  214. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  215. package/dist/locale/applyDirection.d.ts +10 -0
  216. package/dist/locale/applyDirection.js +17 -0
  217. package/dist/locale/applyDirection.js.map +1 -0
  218. package/dist/locale/directionChange.d.ts +15 -0
  219. package/dist/locale/directionChange.js +24 -0
  220. package/dist/locale/directionChange.js.map +1 -0
  221. package/dist/locale/getEffectiveDir.d.ts +2 -0
  222. package/dist/locale/getEffectiveDir.js +24 -0
  223. package/dist/locale/getEffectiveDir.js.map +1 -0
  224. package/dist/locale/getLocale.d.ts +7 -0
  225. package/dist/locale/getLocale.js +28 -21
  226. package/dist/locale/getLocale.js.map +1 -0
  227. package/dist/locale/languageChange.d.ts +5 -0
  228. package/dist/locale/languageChange.js +14 -0
  229. package/dist/locale/languageChange.js.map +1 -0
  230. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  231. package/dist/locale/nextFallbackLocale.js +15 -19
  232. package/dist/locale/nextFallbackLocale.js.map +1 -0
  233. package/dist/locale/normalizeLocale.d.ts +7 -0
  234. package/dist/locale/normalizeLocale.js +34 -41
  235. package/dist/locale/normalizeLocale.js.map +1 -0
  236. package/dist/renderer/LitRenderer.d.ts +14 -0
  237. package/dist/renderer/LitRenderer.js +38 -12
  238. package/dist/renderer/LitRenderer.js.map +1 -0
  239. package/dist/renderer/directives/style-map.js +72 -0
  240. package/dist/renderer/executeTemplate.d.ts +13 -0
  241. package/dist/renderer/executeTemplate.js +30 -0
  242. package/dist/renderer/executeTemplate.js.map +1 -0
  243. package/dist/sap/base/Log.js +240 -0
  244. package/dist/sap/base/assert.js +7 -0
  245. package/dist/sap/base/security/URLListValidator.js +159 -0
  246. package/dist/sap/base/security/encodeCSS.js +14 -0
  247. package/dist/sap/base/security/encodeXML.js +23 -0
  248. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  249. package/dist/sap/base/strings/toHex.js +8 -0
  250. package/dist/sap/base/util/now.js +7 -0
  251. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  252. package/dist/theming/CustomStyle.d.ts +6 -0
  253. package/dist/theming/CustomStyle.js +46 -17
  254. package/dist/theming/CustomStyle.js.map +1 -0
  255. package/dist/theming/ThemeLoaded.d.ts +5 -0
  256. package/dist/theming/ThemeLoaded.js +14 -0
  257. package/dist/theming/ThemeLoaded.js.map +1 -0
  258. package/dist/theming/ThemeRegistered.d.ts +5 -0
  259. package/dist/theming/ThemeRegistered.js +14 -0
  260. package/dist/theming/ThemeRegistered.js.map +1 -0
  261. package/dist/theming/applyTheme.d.ts +2 -0
  262. package/dist/theming/applyTheme.js +64 -69
  263. package/dist/theming/applyTheme.js.map +1 -0
  264. package/dist/theming/getConstructableStyle.d.ts +9 -0
  265. package/dist/theming/getConstructableStyle.js +15 -15
  266. package/dist/theming/getConstructableStyle.js.map +1 -0
  267. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  268. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  269. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  270. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  271. package/dist/theming/getEffectiveStyle.js +30 -13
  272. package/dist/theming/getEffectiveStyle.js.map +1 -0
  273. package/dist/theming/getStylesString.d.ts +3 -0
  274. package/dist/theming/getStylesString.js +11 -0
  275. package/dist/theming/getStylesString.js.map +1 -0
  276. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  277. package/dist/theming/getThemeDesignerTheme.js +73 -60
  278. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  279. package/dist/theming/preloadLinks.d.ts +3 -0
  280. package/dist/theming/preloadLinks.js +19 -0
  281. package/dist/theming/preloadLinks.js.map +1 -0
  282. package/dist/thirdparty/_merge.d.ts +2 -0
  283. package/dist/thirdparty/_merge.js +7 -4
  284. package/dist/thirdparty/_merge.js.map +1 -0
  285. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  286. package/dist/thirdparty/isPlainObject.js +11 -10
  287. package/dist/thirdparty/isPlainObject.js.map +1 -0
  288. package/dist/thirdparty/merge.d.ts +2 -0
  289. package/dist/thirdparty/merge.js +4 -8
  290. package/dist/thirdparty/merge.js.map +1 -0
  291. package/dist/types/AnimationMode.d.ts +32 -0
  292. package/dist/types/AnimationMode.js +33 -6
  293. package/dist/types/AnimationMode.js.map +1 -0
  294. package/dist/types/CSSColor.d.ts +15 -0
  295. package/dist/types/CSSColor.js +18 -0
  296. package/dist/types/CSSColor.js.map +1 -0
  297. package/dist/types/CalendarType.d.ts +37 -0
  298. package/dist/types/CalendarType.js +35 -18
  299. package/dist/types/CalendarType.js.map +1 -0
  300. package/dist/types/DOMReference.d.ts +17 -0
  301. package/dist/types/DOMReference.js +25 -0
  302. package/dist/types/DOMReference.js.map +1 -0
  303. package/dist/types/DataType.d.ts +25 -0
  304. package/dist/types/DataType.js +33 -14
  305. package/dist/types/DataType.js.map +1 -0
  306. package/dist/types/Float.d.ts +17 -0
  307. package/dist/types/Float.js +21 -0
  308. package/dist/types/Float.js.map +1 -0
  309. package/dist/types/Integer.d.ts +17 -0
  310. package/dist/types/Integer.js +17 -5
  311. package/dist/types/Integer.js.map +1 -0
  312. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  313. package/dist/types/InvisibleMessageMode.js +27 -0
  314. package/dist/types/InvisibleMessageMode.js.map +1 -0
  315. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  316. package/dist/types/ItemNavigationBehavior.js +22 -17
  317. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  318. package/dist/types/NavigationMode.d.ts +32 -0
  319. package/dist/types/NavigationMode.js +33 -5
  320. package/dist/types/NavigationMode.js.map +1 -0
  321. package/dist/types/ValueState.d.ts +42 -0
  322. package/dist/types/ValueState.js +41 -19
  323. package/dist/types/ValueState.js.map +1 -0
  324. package/dist/types.d.ts +18 -0
  325. package/dist/types.js +2 -0
  326. package/dist/types.js.map +1 -0
  327. package/dist/updateShadowRoot.d.ts +8 -0
  328. package/dist/updateShadowRoot.js +38 -0
  329. package/dist/updateShadowRoot.js.map +1 -0
  330. package/dist/util/AriaLabelHelper.d.ts +15 -0
  331. package/dist/util/AriaLabelHelper.js +171 -0
  332. package/dist/util/AriaLabelHelper.js.map +1 -0
  333. package/dist/util/Caret.d.ts +7 -0
  334. package/dist/util/Caret.js +23 -0
  335. package/dist/util/Caret.js.map +1 -0
  336. package/dist/util/ColorConversion.d.ts +30 -0
  337. package/dist/util/ColorConversion.js +337 -0
  338. package/dist/util/ColorConversion.js.map +1 -0
  339. package/dist/util/FetchHelper.d.ts +3 -0
  340. package/dist/util/FetchHelper.js +19 -25
  341. package/dist/util/FetchHelper.js.map +1 -0
  342. package/dist/util/FocusableElements.d.ts +4 -0
  343. package/dist/util/FocusableElements.js +67 -56
  344. package/dist/util/FocusableElements.js.map +1 -0
  345. package/dist/util/HTMLSanitizer.d.ts +3 -0
  346. package/dist/util/HTMLSanitizer.js +6 -0
  347. package/dist/util/HTMLSanitizer.js.map +1 -0
  348. package/dist/util/InvisibleMessage.d.ts +10 -0
  349. package/dist/util/InvisibleMessage.js +56 -0
  350. package/dist/util/InvisibleMessage.js.map +1 -0
  351. package/dist/util/PopupUtils.d.ts +7 -0
  352. package/dist/util/PopupUtils.js +74 -0
  353. package/dist/util/PopupUtils.js.map +1 -0
  354. package/dist/util/SlotsHelper.d.ts +9 -0
  355. package/dist/util/SlotsHelper.js +30 -0
  356. package/dist/util/SlotsHelper.js.map +1 -0
  357. package/dist/util/StringHelper.d.ts +3 -0
  358. package/dist/util/StringHelper.js +17 -20
  359. package/dist/util/StringHelper.js.map +1 -0
  360. package/dist/util/TabbableElements.d.ts +17 -0
  361. package/dist/util/TabbableElements.js +53 -43
  362. package/dist/util/TabbableElements.js.map +1 -0
  363. package/dist/util/arraysAreEqual.d.ts +2 -0
  364. package/dist/util/arraysAreEqual.js +13 -0
  365. package/dist/util/arraysAreEqual.js.map +1 -0
  366. package/dist/util/clamp.d.ts +9 -0
  367. package/dist/util/clamp.js +12 -0
  368. package/dist/util/clamp.js.map +1 -0
  369. package/dist/util/createLinkInHead.d.ts +7 -0
  370. package/dist/util/createLinkInHead.js +21 -0
  371. package/dist/util/createLinkInHead.js.map +1 -0
  372. package/dist/util/createStyleInHead.d.ts +8 -0
  373. package/dist/util/createStyleInHead.js +10 -10
  374. package/dist/util/createStyleInHead.js.map +1 -0
  375. package/dist/util/debounce.d.ts +2 -0
  376. package/dist/util/debounce.js +15 -0
  377. package/dist/util/debounce.js.map +1 -0
  378. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  379. package/dist/util/detectNavigatorLanguage.js +7 -10
  380. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  381. package/dist/util/escapeRegex.d.ts +8 -0
  382. package/dist/util/escapeRegex.js +11 -0
  383. package/dist/util/escapeRegex.js.map +1 -0
  384. package/dist/util/formatMessage.d.ts +2 -0
  385. package/dist/util/formatMessage.js +15 -19
  386. package/dist/util/formatMessage.js.map +1 -0
  387. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  388. package/dist/util/generateHighlightedMarkup.js +41 -0
  389. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  390. package/dist/util/getActiveElement.d.ts +2 -0
  391. package/dist/util/getActiveElement.js +9 -0
  392. package/dist/util/getActiveElement.js.map +1 -0
  393. package/dist/util/getClassCopy.d.ts +398 -0
  394. package/dist/util/getClassCopy.js +10 -0
  395. package/dist/util/getClassCopy.js.map +1 -0
  396. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  397. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  398. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  399. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  400. package/dist/util/getEffectiveContentDensity.js +4 -0
  401. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  402. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  403. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  404. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  405. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  406. package/dist/util/getFastNavigationGroups.js +51 -0
  407. package/dist/util/getFastNavigationGroups.js.map +1 -0
  408. package/dist/util/getFileExtension.d.ts +12 -0
  409. package/dist/util/getFileExtension.js +9 -11
  410. package/dist/util/getFileExtension.js.map +1 -0
  411. package/dist/util/getNormalizedTarget.d.ts +7 -0
  412. package/dist/util/getNormalizedTarget.js +14 -0
  413. package/dist/util/getNormalizedTarget.js.map +1 -0
  414. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  415. package/dist/util/getSingletonElementInstance.js +10 -0
  416. package/dist/util/getSingletonElementInstance.js.map +1 -0
  417. package/dist/util/isElementClickable.d.ts +2 -0
  418. package/dist/util/isElementClickable.js +16 -0
  419. package/dist/util/isElementClickable.js.map +1 -0
  420. package/dist/util/isElementHidden.d.ts +2 -0
  421. package/dist/util/isElementHidden.js +8 -0
  422. package/dist/util/isElementHidden.js.map +1 -0
  423. package/dist/util/isElementInView.d.ts +6 -0
  424. package/dist/util/isElementInView.js +12 -0
  425. package/dist/util/isElementInView.js.map +1 -0
  426. package/dist/util/isElementTabbable.d.ts +9 -0
  427. package/dist/util/isElementTabbable.js +30 -0
  428. package/dist/util/isElementTabbable.js.map +1 -0
  429. package/dist/util/isValidPropertyName.d.ts +8 -0
  430. package/dist/util/isValidPropertyName.js +19 -14
  431. package/dist/util/isValidPropertyName.js.map +1 -0
  432. package/dist/util/whenDOMReady.d.ts +2 -0
  433. package/dist/util/whenDOMReady.js +11 -10
  434. package/dist/util/whenDOMReady.js.map +1 -0
  435. package/dist/util/willShowContent.d.ts +2 -0
  436. package/dist/util/willShowContent.js +7 -0
  437. package/dist/util/willShowContent.js.map +1 -0
  438. package/dist/validateThemeRoot.d.ts +2 -0
  439. package/dist/validateThemeRoot.js +47 -0
  440. package/dist/validateThemeRoot.js.map +1 -0
  441. package/index.js +1 -1
  442. package/lib/generate-asset-parameters/index.js +8 -5
  443. package/lib/generate-styles/index.js +31 -0
  444. package/lib/generate-version-info/index.js +32 -0
  445. package/package-scripts.js +50 -26
  446. package/package.json +20 -13
  447. package/src/AssetRegistry.ts +11 -0
  448. package/src/Boot.ts +85 -0
  449. package/src/CSP.ts +66 -0
  450. package/src/CustomElementsRegistry.ts +98 -0
  451. package/src/CustomElementsScope.ts +33 -0
  452. package/src/CustomElementsScopeUtils.ts +115 -0
  453. package/src/DOMObserver.ts +28 -0
  454. package/src/Device.ts +203 -0
  455. package/src/EventProvider.ts +87 -0
  456. package/src/FeaturesRegistry.ts +14 -0
  457. package/src/FontFace.ts +31 -0
  458. package/src/InitialConfiguration.ts +207 -0
  459. package/src/Keys.ts +295 -0
  460. package/src/ManagedStyles.ts +92 -0
  461. package/src/MarkedEvents.ts +20 -0
  462. package/src/MediaRange.ts +110 -0
  463. package/src/PropertiesFileFormat.ts +95 -0
  464. package/src/Render.ts +180 -0
  465. package/src/RenderQueue.ts +71 -0
  466. package/src/Runtimes.ts +114 -0
  467. package/src/StaticArea.ts +3 -0
  468. package/src/StaticAreaItem.ts +113 -0
  469. package/src/SystemCSSVars.ts +10 -0
  470. package/src/Theming.ts +4 -0
  471. package/src/UI5Element.ts +1159 -0
  472. package/src/UI5ElementMetadata.ts +389 -0
  473. package/src/animations/{AnimationQueue.js → AnimationQueue.ts} +8 -7
  474. package/src/animations/animate.ts +64 -0
  475. package/src/animations/scroll.ts +21 -0
  476. package/src/animations/{slideDown.js → slideDown.ts} +27 -34
  477. package/src/animations/{slideUp.js → slideUp.ts} +28 -32
  478. package/src/asset-registries/Icons.ts +161 -0
  479. package/src/asset-registries/Illustrations.ts +75 -0
  480. package/src/asset-registries/LocaleData.ts +172 -0
  481. package/src/asset-registries/Themes.ts +74 -0
  482. package/src/asset-registries/i18n.ts +118 -0
  483. package/src/assets-meta/IconCollectionsAlias.ts +41 -0
  484. package/src/config/AnimationMode.ts +33 -0
  485. package/src/config/{CalendarType.js → CalendarType.ts} +8 -3
  486. package/src/config/FormatSettings.ts +35 -0
  487. package/src/config/Icons.ts +126 -0
  488. package/src/config/Language.ts +72 -0
  489. package/src/config/NoConflict.ts +67 -0
  490. package/src/config/{RTL.js → RTL.ts} +18 -4
  491. package/src/config/Theme.ts +64 -0
  492. package/src/config/ThemeRoots.ts +41 -0
  493. package/src/css/BusyIndicator.css +80 -0
  494. package/src/css/FontFace.css +66 -0
  495. package/src/css/OverrideFontFace.css +32 -0
  496. package/src/css/SystemCSSVars.css +17 -0
  497. package/src/decorators/customElement.ts +57 -0
  498. package/src/decorators/event.ts +28 -0
  499. package/src/decorators/property.ts +30 -0
  500. package/src/decorators/slot.ts +49 -0
  501. package/src/delegate/ItemNavigation.ts +393 -0
  502. package/src/delegate/ResizeHandler.ts +100 -0
  503. package/src/delegate/ScrollEnablement.ts +224 -0
  504. package/src/features/F6Navigation.ts +195 -0
  505. package/src/features/LegacyDateFormats.ts +40 -0
  506. package/src/features/OpenUI5Element.ts +11 -0
  507. package/src/features/OpenUI5Enablement.ts +117 -0
  508. package/src/features/OpenUI5Support.ts +153 -0
  509. package/src/generated/css/BusyIndicator.css.ts +9 -0
  510. package/src/generated/css/FontFace.css.ts +9 -0
  511. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  512. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  513. package/src/getSharedResource.ts +39 -0
  514. package/src/global.d.ts +38 -0
  515. package/src/i18nBundle.ts +108 -0
  516. package/src/locale/{Locale.js → Locale.ts} +15 -5
  517. package/src/locale/RTLAwareRegistry.ts +16 -0
  518. package/src/locale/applyDirection.ts +18 -0
  519. package/src/locale/directionChange.ts +34 -0
  520. package/src/locale/getEffectiveDir.ts +28 -0
  521. package/src/locale/{getLocale.js → getLocale.ts} +20 -5
  522. package/src/locale/languageChange.ts +24 -0
  523. package/src/locale/{nextFallbackLocale.js → nextFallbackLocale.ts} +1 -1
  524. package/src/locale/{normalizeLocale.js → normalizeLocale.ts} +5 -3
  525. package/src/renderer/LitRenderer.ts +60 -0
  526. package/src/renderer/directives/style-map.js +72 -0
  527. package/src/renderer/executeTemplate.ts +40 -0
  528. package/src/theming/CustomStyle.ts +64 -0
  529. package/src/theming/ThemeLoaded.ts +24 -0
  530. package/src/theming/ThemeRegistered.ts +24 -0
  531. package/src/theming/applyTheme.ts +92 -0
  532. package/src/theming/getConstructableStyle.ts +31 -0
  533. package/src/theming/getEffectiveLinksHrefs.ts +26 -0
  534. package/src/theming/getEffectiveStyle.ts +41 -0
  535. package/src/theming/getStylesString.ts +15 -0
  536. package/src/theming/getThemeDesignerTheme.ts +101 -0
  537. package/src/theming/preloadLinks.ts +24 -0
  538. package/src/thirdparty/{_merge.js → _merge.ts} +2 -2
  539. package/src/thirdparty/{isPlainObject.js → isPlainObject.ts} +1 -1
  540. package/src/thirdparty/merge.ts +5 -0
  541. package/src/types/AnimationMode.ts +33 -0
  542. package/src/types/CSSColor.ts +19 -0
  543. package/src/types/CalendarType.ts +38 -0
  544. package/src/types/DOMReference.ts +28 -0
  545. package/src/types/DataType.ts +51 -0
  546. package/src/types/Float.ts +24 -0
  547. package/src/types/Integer.ts +24 -0
  548. package/src/types/InvisibleMessageMode.ts +27 -0
  549. package/src/types/ItemNavigationBehavior.ts +26 -0
  550. package/src/types/NavigationMode.ts +33 -0
  551. package/src/types/ValueState.ts +47 -0
  552. package/src/types.ts +30 -0
  553. package/src/updateShadowRoot.ts +42 -0
  554. package/src/util/AriaLabelHelper.ts +218 -0
  555. package/src/util/Caret.ts +28 -0
  556. package/src/util/ColorConversion.ts +399 -0
  557. package/src/util/{FetchHelper.js → FetchHelper.ts} +7 -7
  558. package/src/util/FocusableElements.ts +92 -0
  559. package/src/util/HTMLSanitizer.ts +9 -0
  560. package/src/util/InvisibleMessage.ts +69 -0
  561. package/src/util/PopupUtils.ts +112 -0
  562. package/src/util/SlotsHelper.ts +39 -0
  563. package/src/util/{StringHelper.js → StringHelper.ts} +7 -7
  564. package/src/util/TabbableElements.ts +70 -0
  565. package/src/util/arraysAreEqual.ts +15 -0
  566. package/src/util/clamp.ts +12 -0
  567. package/src/util/createLinkInHead.ts +25 -0
  568. package/src/util/{createStyleInHead.js → createStyleInHead.ts} +4 -2
  569. package/src/util/debounce.ts +18 -0
  570. package/src/util/{detectNavigatorLanguage.js → detectNavigatorLanguage.ts} +1 -1
  571. package/src/util/escapeRegex.ts +11 -0
  572. package/src/util/{formatMessage.js → formatMessage.ts} +4 -3
  573. package/src/util/generateHighlightedMarkup.ts +43 -0
  574. package/src/util/getActiveElement.ts +11 -0
  575. package/src/util/getClassCopy.ts +12 -0
  576. package/src/util/{getDesigntimePropertyAsArray.js → getDesigntimePropertyAsArray.ts} +1 -1
  577. package/src/util/getEffectiveContentDensity.ts +5 -0
  578. package/src/util/getEffectiveScrollbarStyle.ts +5 -0
  579. package/src/util/getFastNavigationGroups.ts +63 -0
  580. package/src/util/{getFileExtension.js → getFileExtension.ts} +3 -3
  581. package/src/util/getNormalizedTarget.ts +16 -0
  582. package/src/util/getSingletonElementInstance.ts +13 -0
  583. package/src/util/isElementClickable.ts +19 -0
  584. package/src/util/isElementHidden.ts +9 -0
  585. package/src/util/isElementInView.ts +15 -0
  586. package/src/util/isElementTabbable.ts +37 -0
  587. package/src/util/{isValidPropertyName.js → isValidPropertyName.ts} +10 -4
  588. package/src/util/{whenDOMReady.js → whenDOMReady.ts} +1 -1
  589. package/src/util/willShowContent.ts +7 -0
  590. package/src/validateThemeRoot.ts +58 -0
  591. package/tsconfig.json +13 -0
  592. package/used-modules.txt +10 -0
  593. package/bundle.es5.js +0 -28
  594. package/config/.eslintrc.js +0 -3
  595. package/config/rollup.config.js +0 -1
  596. package/dist/RenderScheduler.js +0 -146
  597. package/dist/SVGIconRegistry.js +0 -60
  598. package/dist/animations/config.js +0 -5
  599. package/dist/boot.js +0 -32
  600. package/dist/compatibility/DOMObserver.js +0 -62
  601. package/dist/compatibility/patchNodeValue.js +0 -24
  602. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  603. package/dist/delegate/CustomResize.js +0 -78
  604. package/dist/delegate/NativeResize.js +0 -44
  605. package/dist/features/browsersupport/Edge.js +0 -6
  606. package/dist/features/browsersupport/IE11.js +0 -41
  607. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  608. package/dist/renderer/ifDefined.js +0 -21
  609. package/dist/resources/bundle.es5.js +0 -212
  610. package/dist/resources/bundle.es5.js.map +0 -1
  611. package/dist/resources/bundle.esm.js +0 -129
  612. package/dist/resources/bundle.esm.js.map +0 -1
  613. package/dist/test-resources/assets/Themes.js +0 -13
  614. package/dist/test-resources/elements/Child.js +0 -35
  615. package/dist/test-resources/elements/Generic.js +0 -84
  616. package/dist/test-resources/elements/GenericExt.js +0 -26
  617. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  618. package/dist/test-resources/elements/Parent.js +0 -37
  619. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  620. package/dist/test-resources/pages/AllTestElements.html +0 -42
  621. package/dist/test-resources/pages/Configuration.html +0 -20
  622. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  623. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  624. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  625. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  626. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  627. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  628. package/dist/test-resources/specs/Theming.spec.js +0 -31
  629. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  630. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
  631. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  632. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  633. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  634. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  635. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  636. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  637. package/dist/theming/CSSVarsPonyfill.js +0 -24
  638. package/dist/theming/adaptCSSForIE.js +0 -90
  639. package/dist/theming/createComponentStyleTag.js +0 -49
  640. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  641. package/dist/thirdparty/Array.from.js +0 -16
  642. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  643. package/dist/thirdparty/Array.prototype.find.js +0 -46
  644. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  645. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  646. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  647. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  648. package/dist/thirdparty/Number.isInteger.js +0 -5
  649. package/dist/thirdparty/Number.isNaN.js +0 -1
  650. package/dist/thirdparty/Number.parseInt.js +0 -1
  651. package/dist/thirdparty/Object.assign.js +0 -31
  652. package/dist/thirdparty/Object.entries.js +0 -11
  653. package/dist/thirdparty/Symbol.js +0 -2
  654. package/dist/thirdparty/WeakSet.js +0 -27
  655. package/dist/thirdparty/es6-string-methods.js +0 -182
  656. package/dist/thirdparty/events-polyfills.js +0 -89
  657. package/dist/thirdparty/fetch.js +0 -1
  658. package/dist/thirdparty/template.js +0 -600
  659. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  660. package/dist/types/CSSSize.js +0 -9
  661. package/dist/types/PopupState.js +0 -37
  662. package/dist/util/findNodeOwner.js +0 -35
  663. package/dist/util/isDescendantOf.js +0 -15
  664. package/dist/util/isNodeClickable.js +0 -19
  665. package/dist/util/isNodeHidden.js +0 -13
  666. package/dist/util/isNodeTabbable.js +0 -28
  667. package/dist/util/isSlot.js +0 -3
  668. package/dist/webcomponentsjs/LICENSE.md +0 -19
  669. package/dist/webcomponentsjs/README.md +0 -229
  670. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  671. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  672. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  673. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  674. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  675. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  676. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  677. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  678. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  679. package/dist/webcomponentsjs/package.json +0 -46
  680. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  681. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  682. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  683. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  684. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  685. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  686. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  687. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  688. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  689. package/src/AssetRegistry.js +0 -10
  690. package/src/CustomElementsRegistry.js +0 -23
  691. package/src/Device.js +0 -823
  692. package/src/EventProvider.js +0 -73
  693. package/src/FeaturesRegistry.js +0 -11
  694. package/src/FontFace.js +0 -73
  695. package/src/InitialConfiguration.js +0 -131
  696. package/src/Keys.js +0 -161
  697. package/src/RenderQueue.js +0 -42
  698. package/src/RenderScheduler.js +0 -146
  699. package/src/SVGIconRegistry.js +0 -60
  700. package/src/StaticArea.js +0 -41
  701. package/src/StaticAreaItem.js +0 -105
  702. package/src/Theming.js +0 -3
  703. package/src/UI5Element.js +0 -937
  704. package/src/UI5ElementMetadata.js +0 -171
  705. package/src/animations/animate.js +0 -53
  706. package/src/animations/config.js +0 -5
  707. package/src/animations/scroll.js +0 -28
  708. package/src/asset-registries/Icons.js +0 -24
  709. package/src/asset-registries/LocaleData.js +0 -125
  710. package/src/asset-registries/Themes.js +0 -87
  711. package/src/asset-registries/i18n.js +0 -80
  712. package/src/boot.js +0 -32
  713. package/src/compatibility/DOMObserver.js +0 -62
  714. package/src/compatibility/patchNodeValue.js +0 -24
  715. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  716. package/src/config/AnimationMode.js +0 -13
  717. package/src/config/FormatSettings.js +0 -13
  718. package/src/config/Language.js +0 -12
  719. package/src/config/NoConflict.js +0 -51
  720. package/src/config/Theme.js +0 -28
  721. package/src/delegate/CustomResize.js +0 -78
  722. package/src/delegate/ItemNavigation.js +0 -278
  723. package/src/delegate/NativeResize.js +0 -44
  724. package/src/delegate/ResizeHandler.js +0 -66
  725. package/src/delegate/ScrollEnablement.js +0 -159
  726. package/src/features/OpenUI5Support.js +0 -90
  727. package/src/features/browsersupport/Edge.js +0 -6
  728. package/src/features/browsersupport/IE11.js +0 -41
  729. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  730. package/src/i18nBundle.js +0 -33
  731. package/src/renderer/LitRenderer.js +0 -15
  732. package/src/renderer/ifDefined.js +0 -21
  733. package/src/theming/CSSVarsPonyfill.js +0 -24
  734. package/src/theming/CustomStyle.js +0 -19
  735. package/src/theming/adaptCSSForIE.js +0 -90
  736. package/src/theming/applyTheme.js +0 -81
  737. package/src/theming/createComponentStyleTag.js +0 -49
  738. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  739. package/src/theming/getConstructableStyle.js +0 -25
  740. package/src/theming/getEffectiveStyle.js +0 -15
  741. package/src/theming/getThemeDesignerTheme.js +0 -67
  742. package/src/thirdparty/Array.from.js +0 -16
  743. package/src/thirdparty/Array.prototype.fill.js +0 -44
  744. package/src/thirdparty/Array.prototype.find.js +0 -46
  745. package/src/thirdparty/Array.prototype.includes.js +0 -51
  746. package/src/thirdparty/Element.prototype.closest.js +0 -11
  747. package/src/thirdparty/Element.prototype.matches.js +0 -6
  748. package/src/thirdparty/Map.prototype.keys.js +0 -9
  749. package/src/thirdparty/Number.isInteger.js +0 -5
  750. package/src/thirdparty/Number.isNaN.js +0 -1
  751. package/src/thirdparty/Number.parseInt.js +0 -1
  752. package/src/thirdparty/Object.assign.js +0 -31
  753. package/src/thirdparty/Object.entries.js +0 -11
  754. package/src/thirdparty/Symbol.js +0 -2
  755. package/src/thirdparty/WeakSet.js +0 -27
  756. package/src/thirdparty/es6-string-methods.js +0 -182
  757. package/src/thirdparty/events-polyfills.js +0 -89
  758. package/src/thirdparty/fetch.js +0 -1
  759. package/src/thirdparty/merge.js +0 -10
  760. package/src/thirdparty/template.js +0 -600
  761. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  762. package/src/types/AnimationMode.js +0 -7
  763. package/src/types/CSSSize.js +0 -9
  764. package/src/types/CalendarType.js +0 -22
  765. package/src/types/DataType.js +0 -25
  766. package/src/types/Integer.js +0 -9
  767. package/src/types/ItemNavigationBehavior.js +0 -21
  768. package/src/types/NavigationMode.js +0 -6
  769. package/src/types/PopupState.js +0 -37
  770. package/src/types/ValueState.js +0 -22
  771. package/src/util/FocusableElements.js +0 -60
  772. package/src/util/TabbableElements.js +0 -47
  773. package/src/util/findNodeOwner.js +0 -35
  774. package/src/util/isDescendantOf.js +0 -15
  775. package/src/util/isNodeClickable.js +0 -19
  776. package/src/util/isNodeHidden.js +0 -13
  777. package/src/util/isNodeTabbable.js +0 -28
  778. package/src/util/isSlot.js +0 -3
@@ -1,28 +1,51 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
+ import { reRenderAllUI5Elements } from "../Render.js";
2
3
  import applyTheme from "../theming/applyTheme.js";
3
-
4
- let theme;
5
-
4
+ let curTheme;
5
+ /**
6
+ * Returns the current theme.
7
+ * @public
8
+ * @returns {string} the current theme name
9
+ */
6
10
  const getTheme = () => {
7
- if (theme === undefined) {
8
- theme = getConfiguredTheme();
9
- }
10
-
11
- return theme;
11
+ if (curTheme === undefined) {
12
+ curTheme = getConfiguredTheme();
13
+ }
14
+ return curTheme;
12
15
  };
13
-
14
- const setTheme = async newTheme => {
15
- if (theme === newTheme) {
16
- return;
17
- }
18
-
19
- theme = newTheme;
20
-
21
- // Update CSS Custom Properties
22
- await applyTheme(theme);
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 });
23
30
  };
24
-
25
- export {
26
- getTheme,
27
- setTheme,
31
+ /**
32
+ * Returns if the given theme name is the one currently applied.
33
+ * @private
34
+ * @param {string} theme
35
+ * @returns {boolean}
36
+ */
37
+ const isTheme = (theme) => {
38
+ const currentTheme = getTheme();
39
+ return currentTheme === theme || currentTheme === `${theme}_exp`;
28
40
  };
41
+ /**
42
+ * Returns if the current theme is part of given theme family.
43
+ * @private
44
+ * @param {string} theme the theme family
45
+ * @returns {boolean}
46
+ */
47
+ const isThemeFamily = (theme) => {
48
+ return getTheme().startsWith(theme);
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"}
@@ -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,23 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ import type { Renderer } from "../UI5Element.js";
3
+ import type { TemplateFunction as Template } from "../renderer/executeTemplate.js";
4
+ import type { ComponentStylesData as Styles } from "../types.js";
5
+ /**
6
+ * Returns a custom element class decorator.
7
+ *
8
+ * @param { string | object } tagNameOrComponentSettings
9
+ * @returns { ClassDecorator }
10
+ */
11
+ declare const customElement: (tagNameOrComponentSettings: string | {
12
+ tag?: string;
13
+ renderer?: Renderer;
14
+ styles?: Styles;
15
+ template?: Template;
16
+ dependencies?: Array<typeof UI5Element>;
17
+ staticAreaStyles?: Styles;
18
+ staticAreaTemplate?: Template;
19
+ languageAware?: boolean;
20
+ themeAware?: boolean;
21
+ fastNavigation?: boolean;
22
+ }) => ClassDecorator;
23
+ export default customElement;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Returns a custom element class decorator.
3
+ *
4
+ * @param { string | object } tagNameOrComponentSettings
5
+ * @returns { ClassDecorator }
6
+ */
7
+ const customElement = (tagNameOrComponentSettings) => {
8
+ return (target) => {
9
+ if (!Object.prototype.hasOwnProperty.call(target, "metadata")) {
10
+ target.metadata = {};
11
+ }
12
+ if (typeof tagNameOrComponentSettings === "string") {
13
+ target.metadata.tag = tagNameOrComponentSettings;
14
+ return;
15
+ }
16
+ const { tag, languageAware = false, themeAware = false, fastNavigation = false, } = tagNameOrComponentSettings;
17
+ target.metadata.tag = tag;
18
+ target.metadata.languageAware = languageAware;
19
+ target.metadata.themeAware = themeAware;
20
+ target.metadata.fastNavigation = fastNavigation;
21
+ ["render", "renderer", "template", "staticAreaTemplate", "styles", "staticAreaStyles", "dependencies"].forEach((customElementEntity) => {
22
+ const _customElementEntity = customElementEntity === "render" ? "renderer" : customElementEntity;
23
+ const customElementEntityValue = tagNameOrComponentSettings[_customElementEntity];
24
+ customElementEntityValue && Object.defineProperty(target, customElementEntity, {
25
+ get: () => customElementEntityValue,
26
+ });
27
+ });
28
+ };
29
+ };
30
+ export default customElement;
31
+ //# sourceMappingURL=customElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customElement.js","sourceRoot":"","sources":["../../src/decorators/customElement.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,0BAWtB,EAAkB,EAAE;IACpB,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAC9D,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;SACrB;QAED,IAAI,OAAO,0BAA0B,KAAK,QAAQ,EAAE;YACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,0BAA0B,CAAC;YACjD,OAAO;SACP;QAED,MAAM,EACL,GAAG,EACH,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,KAAK,GACrB,GAAG,0BAA0B,CAAC;QAEhC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;QAEhD,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,mBAA2B,EAAE,EAAE;YAC9I,MAAM,oBAAoB,GAAG,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjG,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,oBAAwC,CAAC,CAAC;YAEtG,wBAAwB,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE;gBAC9E,GAAG,EAAE,GAAG,EAAE,CAAC,wBAAwB;aACnC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,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, "metadata")) {
11
+ target.metadata = {};
12
+ }
13
+ const metadata = target.metadata;
14
+ if (!metadata.events) {
15
+ metadata.events = {};
16
+ }
17
+ const eventsMetadata = metadata.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,UAAU,CAAC,EAAE;YAC9D,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;SACrB;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACrB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;SACrB;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,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,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, "metadata")) {
11
+ ctor.metadata = {};
12
+ }
13
+ const metadata = ctor.metadata;
14
+ if (!metadata.properties) {
15
+ metadata.properties = {};
16
+ }
17
+ const propsMetadata = metadata.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,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACnB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACzB,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;SACzB;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC1C,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, "metadata")) {
11
+ ctor.metadata = {};
12
+ }
13
+ const metadata = ctor.metadata;
14
+ if (!metadata.slots) {
15
+ metadata.slots = {};
16
+ }
17
+ const slotMetadata = metadata.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.metadata.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,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACnB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YACpB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QAEpC,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,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;IACnC,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,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, };