@ui5/webcomponents-base 0.0.0-5b79982e1 → 0.0.0-5e31d3069

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 (702) hide show
  1. package/.eslintignore +8 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +614 -0
  4. package/README.md +53 -7
  5. package/bundle.esm.js +30 -22
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.d.ts +5 -0
  8. package/dist/AssetRegistry.js +6 -12
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +71 -0
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +69 -30
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +23 -0
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +159 -816
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -78
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +17 -110
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/InitialConfiguration.d.ts +27 -0
  41. package/dist/InitialConfiguration.js +124 -118
  42. package/dist/InitialConfiguration.js.map +1 -0
  43. package/dist/Keys.d.ts +57 -0
  44. package/dist/Keys.js +174 -217
  45. package/dist/Keys.js.map +1 -0
  46. package/dist/ManagedStyles.d.ts +8 -0
  47. package/dist/ManagedStyles.js +77 -0
  48. package/dist/ManagedStyles.js.map +1 -0
  49. package/dist/MarkedEvents.d.ts +9 -0
  50. package/dist/MarkedEvents.js +15 -0
  51. package/dist/MarkedEvents.js.map +1 -0
  52. package/dist/MediaRange.d.ts +37 -0
  53. package/dist/MediaRange.js +98 -0
  54. package/dist/MediaRange.js.map +1 -0
  55. package/dist/PropertiesFileFormat.d.ts +8 -0
  56. package/dist/PropertiesFileFormat.js +85 -0
  57. package/dist/PropertiesFileFormat.js.map +1 -0
  58. package/dist/Render.d.ts +47 -0
  59. package/dist/Render.js +143 -0
  60. package/dist/Render.js.map +1 -0
  61. package/dist/RenderQueue.d.ts +19 -0
  62. package/dist/RenderQueue.js +52 -62
  63. package/dist/RenderQueue.js.map +1 -0
  64. package/dist/Runtimes.d.ts +27 -0
  65. package/dist/Runtimes.js +86 -0
  66. package/dist/Runtimes.js.map +1 -0
  67. package/dist/StaticArea.d.ts +3 -0
  68. package/dist/StaticArea.js +4 -28
  69. package/dist/StaticArea.js.map +1 -0
  70. package/dist/StaticAreaItem.d.ts +36 -0
  71. package/dist/StaticAreaItem.js +92 -101
  72. package/dist/StaticAreaItem.js.map +1 -0
  73. package/dist/SystemCSSVars.d.ts +2 -0
  74. package/dist/SystemCSSVars.js +6 -28
  75. package/dist/SystemCSSVars.js.map +1 -0
  76. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  77. package/dist/Theming.js +1 -1
  78. package/dist/Theming.js.map +1 -0
  79. package/dist/UI5Element.d.ts +378 -0
  80. package/dist/UI5Element.js +924 -1144
  81. package/dist/UI5Element.js.map +1 -0
  82. package/dist/UI5ElementMetadata.d.ts +150 -0
  83. package/dist/UI5ElementMetadata.js +278 -267
  84. package/dist/UI5ElementMetadata.js.map +1 -0
  85. package/dist/animations/AnimationQueue.d.ts +8 -0
  86. package/dist/animations/AnimationQueue.js +31 -38
  87. package/dist/animations/AnimationQueue.js.map +1 -0
  88. package/dist/animations/animate.d.ts +14 -0
  89. package/dist/animations/animate.js +46 -51
  90. package/dist/animations/animate.js.map +1 -0
  91. package/dist/animations/scroll.d.ts +5 -0
  92. package/dist/animations/scroll.js +18 -27
  93. package/dist/animations/scroll.js.map +1 -0
  94. package/dist/animations/slideDown.d.ts +5 -0
  95. package/dist/animations/slideDown.js +53 -78
  96. package/dist/animations/slideDown.js.map +1 -0
  97. package/dist/animations/slideUp.d.ts +5 -0
  98. package/dist/animations/slideUp.js +49 -70
  99. package/dist/animations/slideUp.js.map +1 -0
  100. package/dist/api.json +1 -0
  101. package/dist/asset-registries/Icons.d.ts +38 -0
  102. package/dist/asset-registries/Icons.js +125 -32
  103. package/dist/asset-registries/Icons.js.map +1 -0
  104. package/dist/asset-registries/Illustrations.d.ts +17 -0
  105. package/dist/asset-registries/Illustrations.js +46 -0
  106. package/dist/asset-registries/Illustrations.js.map +1 -0
  107. package/dist/asset-registries/LocaleData.d.ts +7 -0
  108. package/dist/asset-registries/LocaleData.js +119 -118
  109. package/dist/asset-registries/LocaleData.js.map +1 -0
  110. package/dist/asset-registries/Themes.d.ts +11 -0
  111. package/dist/asset-registries/Themes.js +41 -77
  112. package/dist/asset-registries/Themes.js.map +1 -0
  113. package/dist/asset-registries/i18n.d.ts +23 -0
  114. package/dist/asset-registries/i18n.js +77 -86
  115. package/dist/asset-registries/i18n.js.map +1 -0
  116. package/dist/assets/Boot.34b7cea0.css +1 -0
  117. package/dist/assets/Boot.8220f4ab.js +9 -0
  118. package/dist/assets/bundle.esm.efe1daa8.js +50 -0
  119. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  120. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  121. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  122. package/dist/config/AnimationMode.d.ts +14 -0
  123. package/dist/config/AnimationMode.js +21 -18
  124. package/dist/config/AnimationMode.js.map +1 -0
  125. package/dist/config/CalendarType.d.ts +8 -0
  126. package/dist/config/CalendarType.js +13 -12
  127. package/dist/config/CalendarType.js.map +1 -0
  128. package/dist/config/FormatSettings.d.ts +15 -0
  129. package/dist/config/FormatSettings.js +15 -9
  130. package/dist/config/FormatSettings.js.map +1 -0
  131. package/dist/config/Icons.d.ts +55 -0
  132. package/dist/config/Icons.js +103 -0
  133. package/dist/config/Icons.js.map +1 -0
  134. package/dist/config/Language.d.ts +40 -0
  135. package/dist/config/Language.js +49 -51
  136. package/dist/config/Language.js.map +1 -0
  137. package/dist/config/NoConflict.d.ts +20 -0
  138. package/dist/config/NoConflict.js +41 -41
  139. package/dist/config/NoConflict.js.map +1 -0
  140. package/dist/config/RTL.d.ts +7 -0
  141. package/dist/config/RTL.js +26 -20
  142. package/dist/config/RTL.js.map +1 -0
  143. package/dist/config/Theme.d.ts +38 -0
  144. package/dist/config/Theme.js +64 -22
  145. package/dist/config/Theme.js.map +1 -0
  146. package/dist/config/ThemeRoots.d.ts +4 -0
  147. package/dist/config/ThemeRoots.js +28 -0
  148. package/dist/config/ThemeRoots.js.map +1 -0
  149. package/dist/config/Timezone.d.ts +17 -0
  150. package/dist/config/Timezone.js +30 -0
  151. package/dist/config/Timezone.js.map +1 -0
  152. package/dist/css/BusyIndicator.css +80 -0
  153. package/dist/css/FontFace.css +66 -0
  154. package/dist/css/OverrideFontFace.css +32 -0
  155. package/dist/css/SystemCSSVars.css +17 -0
  156. package/dist/decorators/customElement.d.ts +23 -0
  157. package/dist/decorators/customElement.js +37 -0
  158. package/dist/decorators/customElement.js.map +1 -0
  159. package/dist/decorators/event.d.ts +10 -0
  160. package/dist/decorators/event.js +24 -0
  161. package/dist/decorators/event.js.map +1 -0
  162. package/dist/decorators/property.d.ts +9 -0
  163. package/dist/decorators/property.js +24 -0
  164. package/dist/decorators/property.js.map +1 -0
  165. package/dist/decorators/slot.d.ts +9 -0
  166. package/dist/decorators/slot.js +37 -0
  167. package/dist/decorators/slot.js.map +1 -0
  168. package/dist/delegate/ItemNavigation.d.ts +113 -0
  169. package/dist/delegate/ItemNavigation.js +280 -277
  170. package/dist/delegate/ItemNavigation.js.map +1 -0
  171. package/dist/delegate/ResizeHandler.d.ts +25 -0
  172. package/dist/delegate/ResizeHandler.js +84 -62
  173. package/dist/delegate/ResizeHandler.js.map +1 -0
  174. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  175. package/dist/delegate/ScrollEnablement.js +159 -176
  176. package/dist/delegate/ScrollEnablement.js.map +1 -0
  177. package/dist/features/F6Navigation.d.ts +19 -0
  178. package/dist/features/F6Navigation.js +151 -0
  179. package/dist/features/F6Navigation.js.map +1 -0
  180. package/dist/features/LegacyDateFormats.d.ts +18 -0
  181. package/dist/features/LegacyDateFormats.js +20 -0
  182. package/dist/features/LegacyDateFormats.js.map +1 -0
  183. package/dist/features/OpenUI5Element.d.ts +9 -0
  184. package/dist/features/OpenUI5Element.js +5 -0
  185. package/dist/features/OpenUI5Element.js.map +1 -0
  186. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  187. package/dist/features/OpenUI5Enablement.js +96 -0
  188. package/dist/features/OpenUI5Enablement.js.map +1 -0
  189. package/dist/features/OpenUI5Support.d.ts +26 -0
  190. package/dist/features/OpenUI5Support.js +95 -86
  191. package/dist/features/OpenUI5Support.js.map +1 -0
  192. package/dist/generated/AssetParameters.js +3 -1
  193. package/dist/generated/VersionInfo.js +10 -0
  194. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  195. package/dist/generated/css/BusyIndicator.css.js +7 -0
  196. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  197. package/dist/generated/css/FontFace.css.d.ts +3 -0
  198. package/dist/generated/css/FontFace.css.js +7 -0
  199. package/dist/generated/css/FontFace.css.js.map +1 -0
  200. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  201. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  202. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  203. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  204. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  205. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  206. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  207. package/dist/getSharedResource.d.ts +11 -0
  208. package/dist/getSharedResource.js +22 -18
  209. package/dist/getSharedResource.js.map +1 -0
  210. package/dist/global.d.ts +40 -0
  211. package/dist/i18nBundle.d.ts +43 -0
  212. package/dist/i18nBundle.js +68 -42
  213. package/dist/i18nBundle.js.map +1 -0
  214. package/dist/locale/Locale.d.ts +22 -0
  215. package/dist/locale/Locale.js +75 -87
  216. package/dist/locale/Locale.js.map +1 -0
  217. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  218. package/dist/locale/RTLAwareRegistry.js +6 -11
  219. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  220. package/dist/locale/applyDirection.d.ts +10 -0
  221. package/dist/locale/applyDirection.js +8 -9
  222. package/dist/locale/applyDirection.js.map +1 -0
  223. package/dist/locale/directionChange.d.ts +15 -0
  224. package/dist/locale/directionChange.js +7 -15
  225. package/dist/locale/directionChange.js.map +1 -0
  226. package/dist/locale/getEffectiveDir.d.ts +2 -0
  227. package/dist/locale/getEffectiveDir.js +24 -0
  228. package/dist/locale/getEffectiveDir.js.map +1 -0
  229. package/dist/locale/getLocale.d.ts +7 -0
  230. package/dist/locale/getLocale.js +26 -29
  231. package/dist/locale/getLocale.js.map +1 -0
  232. package/dist/locale/languageChange.d.ts +5 -0
  233. package/dist/locale/languageChange.js +8 -16
  234. package/dist/locale/languageChange.js.map +1 -0
  235. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  236. package/dist/locale/nextFallbackLocale.js +15 -19
  237. package/dist/locale/nextFallbackLocale.js.map +1 -0
  238. package/dist/locale/normalizeLocale.d.ts +7 -0
  239. package/dist/locale/normalizeLocale.js +34 -41
  240. package/dist/locale/normalizeLocale.js.map +1 -0
  241. package/dist/renderer/LitRenderer.d.ts +14 -0
  242. package/dist/renderer/LitRenderer.js +34 -24
  243. package/dist/renderer/LitRenderer.js.map +1 -0
  244. package/dist/renderer/directives/style-map.js +72 -0
  245. package/dist/renderer/executeTemplate.d.ts +13 -0
  246. package/dist/renderer/executeTemplate.js +20 -7
  247. package/dist/renderer/executeTemplate.js.map +1 -0
  248. package/dist/sap/base/Log.js +240 -0
  249. package/dist/sap/base/assert.js +7 -0
  250. package/dist/sap/base/security/URLListValidator.js +159 -0
  251. package/dist/sap/base/security/encodeCSS.js +14 -0
  252. package/dist/sap/base/security/encodeXML.js +23 -0
  253. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  254. package/dist/sap/base/strings/toHex.js +8 -0
  255. package/dist/sap/base/util/now.js +7 -0
  256. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  257. package/dist/theming/CustomStyle.d.ts +6 -0
  258. package/dist/theming/CustomStyle.js +40 -32
  259. package/dist/theming/CustomStyle.js.map +1 -0
  260. package/dist/theming/ThemeLoaded.d.ts +5 -0
  261. package/dist/theming/ThemeLoaded.js +8 -16
  262. package/dist/theming/ThemeLoaded.js.map +1 -0
  263. package/dist/theming/ThemeRegistered.d.ts +4 -0
  264. package/dist/theming/ThemeRegistered.js +11 -0
  265. package/dist/theming/ThemeRegistered.js.map +1 -0
  266. package/dist/theming/applyTheme.d.ts +2 -0
  267. package/dist/theming/applyTheme.js +62 -71
  268. package/dist/theming/applyTheme.js.map +1 -0
  269. package/dist/theming/getConstructableStyle.d.ts +9 -0
  270. package/dist/theming/getConstructableStyle.js +13 -17
  271. package/dist/theming/getConstructableStyle.js.map +1 -0
  272. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  273. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  274. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  275. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  276. package/dist/theming/getEffectiveStyle.js +26 -17
  277. package/dist/theming/getEffectiveStyle.js.map +1 -0
  278. package/dist/theming/getStylesString.d.ts +3 -0
  279. package/dist/theming/getStylesString.js +9 -11
  280. package/dist/theming/getStylesString.js.map +1 -0
  281. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  282. package/dist/theming/getThemeDesignerTheme.js +73 -60
  283. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  284. package/dist/theming/preloadLinks.d.ts +3 -0
  285. package/dist/theming/preloadLinks.js +19 -0
  286. package/dist/theming/preloadLinks.js.map +1 -0
  287. package/dist/thirdparty/_merge.d.ts +2 -0
  288. package/dist/thirdparty/_merge.js +7 -4
  289. package/dist/thirdparty/_merge.js.map +1 -0
  290. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  291. package/dist/thirdparty/isPlainObject.js +11 -10
  292. package/dist/thirdparty/isPlainObject.js.map +1 -0
  293. package/dist/thirdparty/merge.d.ts +2 -0
  294. package/dist/thirdparty/merge.js +4 -8
  295. package/dist/thirdparty/merge.js.map +1 -0
  296. package/dist/types/AnimationMode.d.ts +32 -0
  297. package/dist/types/AnimationMode.js +33 -6
  298. package/dist/types/AnimationMode.js.map +1 -0
  299. package/dist/types/CSSColor.d.ts +15 -0
  300. package/dist/types/CSSColor.js +18 -0
  301. package/dist/types/CSSColor.js.map +1 -0
  302. package/dist/types/CalendarType.d.ts +37 -0
  303. package/dist/types/CalendarType.js +35 -18
  304. package/dist/types/CalendarType.js.map +1 -0
  305. package/dist/types/DOMReference.d.ts +17 -0
  306. package/dist/types/DOMReference.js +25 -0
  307. package/dist/types/DOMReference.js.map +1 -0
  308. package/dist/types/DataType.d.ts +25 -0
  309. package/dist/types/DataType.js +33 -14
  310. package/dist/types/DataType.js.map +1 -0
  311. package/dist/types/Float.d.ts +17 -0
  312. package/dist/types/Float.js +17 -6
  313. package/dist/types/Float.js.map +1 -0
  314. package/dist/types/Integer.d.ts +17 -0
  315. package/dist/types/Integer.js +17 -5
  316. package/dist/types/Integer.js.map +1 -0
  317. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  318. package/dist/types/InvisibleMessageMode.js +27 -0
  319. package/dist/types/InvisibleMessageMode.js.map +1 -0
  320. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  321. package/dist/types/ItemNavigationBehavior.js +22 -12
  322. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  323. package/dist/types/NavigationMode.d.ts +32 -0
  324. package/dist/types/NavigationMode.js +33 -6
  325. package/dist/types/NavigationMode.js.map +1 -0
  326. package/dist/types/ValueState.d.ts +42 -0
  327. package/dist/types/ValueState.js +41 -19
  328. package/dist/types/ValueState.js.map +1 -0
  329. package/dist/types.d.ts +18 -0
  330. package/dist/types.js +2 -0
  331. package/dist/types.js.map +1 -0
  332. package/dist/updateShadowRoot.d.ts +8 -0
  333. package/dist/updateShadowRoot.js +38 -0
  334. package/dist/updateShadowRoot.js.map +1 -0
  335. package/dist/util/AriaLabelHelper.d.ts +15 -0
  336. package/dist/util/AriaLabelHelper.js +166 -36
  337. package/dist/util/AriaLabelHelper.js.map +1 -0
  338. package/dist/util/Caret.d.ts +7 -0
  339. package/dist/util/Caret.js +16 -38
  340. package/dist/util/Caret.js.map +1 -0
  341. package/dist/util/ColorConversion.d.ts +30 -0
  342. package/dist/util/ColorConversion.js +337 -0
  343. package/dist/util/ColorConversion.js.map +1 -0
  344. package/dist/util/FetchHelper.d.ts +3 -0
  345. package/dist/util/FetchHelper.js +19 -25
  346. package/dist/util/FetchHelper.js.map +1 -0
  347. package/dist/util/FocusableElements.d.ts +4 -0
  348. package/dist/util/FocusableElements.js +67 -68
  349. package/dist/util/FocusableElements.js.map +1 -0
  350. package/dist/util/HTMLSanitizer.d.ts +3 -0
  351. package/dist/util/HTMLSanitizer.js +6 -0
  352. package/dist/util/HTMLSanitizer.js.map +1 -0
  353. package/dist/util/InvisibleMessage.d.ts +10 -0
  354. package/dist/util/InvisibleMessage.js +56 -0
  355. package/dist/util/InvisibleMessage.js.map +1 -0
  356. package/dist/util/PopupUtils.d.ts +7 -0
  357. package/dist/util/PopupUtils.js +74 -0
  358. package/dist/util/PopupUtils.js.map +1 -0
  359. package/dist/util/SlotsHelper.d.ts +9 -0
  360. package/dist/util/SlotsHelper.js +30 -0
  361. package/dist/util/SlotsHelper.js.map +1 -0
  362. package/dist/util/StringHelper.d.ts +3 -0
  363. package/dist/util/StringHelper.js +17 -20
  364. package/dist/util/StringHelper.js.map +1 -0
  365. package/dist/util/TabbableElements.d.ts +17 -0
  366. package/dist/util/TabbableElements.js +53 -43
  367. package/dist/util/TabbableElements.js.map +1 -0
  368. package/dist/util/arraysAreEqual.d.ts +2 -0
  369. package/dist/util/arraysAreEqual.js +10 -12
  370. package/dist/util/arraysAreEqual.js.map +1 -0
  371. package/dist/util/clamp.d.ts +9 -0
  372. package/dist/util/clamp.js +12 -0
  373. package/dist/util/clamp.js.map +1 -0
  374. package/dist/util/createLinkInHead.d.ts +7 -0
  375. package/dist/util/createLinkInHead.js +21 -0
  376. package/dist/util/createLinkInHead.js.map +1 -0
  377. package/dist/util/createStyleInHead.d.ts +8 -0
  378. package/dist/util/createStyleInHead.js +10 -10
  379. package/dist/util/createStyleInHead.js.map +1 -0
  380. package/dist/util/debounce.d.ts +2 -0
  381. package/dist/util/debounce.js +15 -0
  382. package/dist/util/debounce.js.map +1 -0
  383. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  384. package/dist/util/detectNavigatorLanguage.js +7 -10
  385. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  386. package/dist/util/escapeRegex.d.ts +8 -0
  387. package/dist/util/escapeRegex.js +11 -0
  388. package/dist/util/escapeRegex.js.map +1 -0
  389. package/dist/util/formatMessage.d.ts +2 -0
  390. package/dist/util/formatMessage.js +15 -19
  391. package/dist/util/formatMessage.js.map +1 -0
  392. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  393. package/dist/util/generateHighlightedMarkup.js +41 -0
  394. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  395. package/dist/util/getActiveElement.d.ts +2 -0
  396. package/dist/util/getActiveElement.js +6 -8
  397. package/dist/util/getActiveElement.js.map +1 -0
  398. package/dist/util/getClassCopy.d.ts +398 -0
  399. package/dist/util/getClassCopy.js +10 -0
  400. package/dist/util/getClassCopy.js.map +1 -0
  401. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  402. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  403. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  404. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  405. package/dist/util/getEffectiveContentDensity.js +4 -0
  406. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  407. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  408. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  409. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  410. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  411. package/dist/util/getFastNavigationGroups.js +51 -0
  412. package/dist/util/getFastNavigationGroups.js.map +1 -0
  413. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  414. package/dist/util/getFileExtension.js +9 -11
  415. package/dist/util/getFileExtension.js.map +1 -0
  416. package/dist/util/getNormalizedTarget.d.ts +7 -0
  417. package/dist/util/getNormalizedTarget.js +14 -0
  418. package/dist/util/getNormalizedTarget.js.map +1 -0
  419. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  420. package/dist/util/getSingletonElementInstance.js +7 -10
  421. package/dist/util/getSingletonElementInstance.js.map +1 -0
  422. package/dist/util/isElementClickable.d.ts +2 -0
  423. package/dist/util/isElementClickable.js +16 -0
  424. package/dist/util/isElementClickable.js.map +1 -0
  425. package/dist/util/isElementHidden.d.ts +2 -0
  426. package/dist/util/isElementHidden.js +8 -0
  427. package/dist/util/isElementHidden.js.map +1 -0
  428. package/dist/util/isElementInView.d.ts +6 -0
  429. package/dist/util/isElementInView.js +12 -0
  430. package/dist/util/isElementInView.js.map +1 -0
  431. package/dist/util/isElementTabbable.d.ts +9 -0
  432. package/dist/util/isElementTabbable.js +30 -0
  433. package/dist/util/isElementTabbable.js.map +1 -0
  434. package/dist/util/isValidPropertyName.d.ts +8 -0
  435. package/dist/util/isValidPropertyName.js +16 -17
  436. package/dist/util/isValidPropertyName.js.map +1 -0
  437. package/dist/util/whenDOMReady.d.ts +2 -0
  438. package/dist/util/whenDOMReady.js +11 -10
  439. package/dist/util/whenDOMReady.js.map +1 -0
  440. package/dist/util/willShowContent.d.ts +2 -0
  441. package/dist/util/willShowContent.js +7 -0
  442. package/dist/util/willShowContent.js.map +1 -0
  443. package/dist/validateThemeRoot.d.ts +2 -0
  444. package/dist/validateThemeRoot.js +48 -0
  445. package/dist/validateThemeRoot.js.map +1 -0
  446. package/index.js +228 -2
  447. package/lib/generate-asset-parameters/index.js +11 -6
  448. package/lib/generate-styles/index.js +31 -0
  449. package/lib/generate-version-info/index.js +32 -0
  450. package/package-scripts.cjs +71 -0
  451. package/package.json +21 -13
  452. package/src/css/BusyIndicator.css +80 -0
  453. package/src/css/FontFace.css +66 -0
  454. package/src/css/OverrideFontFace.css +32 -0
  455. package/src/css/SystemCSSVars.css +17 -0
  456. package/src/renderer/directives/style-map.js +72 -0
  457. package/tsconfig.json +14 -0
  458. package/used-modules.txt +10 -0
  459. package/bundle.es5.js +0 -28
  460. package/config/rollup.config.js +0 -1
  461. package/config/wdio.conf.js +0 -1
  462. package/dist/RenderScheduler.js +0 -169
  463. package/dist/SVGIconRegistry.js +0 -73
  464. package/dist/animations/config.js +0 -5
  465. package/dist/boot.js +0 -34
  466. package/dist/compatibility/DOMObserver.js +0 -62
  467. package/dist/compatibility/patchNodeValue.js +0 -24
  468. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  469. package/dist/config/AssetsPath.js +0 -17
  470. package/dist/delegate/CustomResize.js +0 -78
  471. package/dist/delegate/NativeResize.js +0 -45
  472. package/dist/features/PropertiesFormatSupport.js +0 -8
  473. package/dist/features/browsersupport/Edge.js +0 -6
  474. package/dist/features/browsersupport/IE11.js +0 -43
  475. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  476. package/dist/renderer/ifDefined.js +0 -21
  477. package/dist/renderer/scopeHTML.js +0 -32
  478. package/dist/resources/bundle.es5.js +0 -225
  479. package/dist/resources/bundle.es5.js.map +0 -1
  480. package/dist/resources/bundle.esm.js +0 -129
  481. package/dist/resources/bundle.esm.js.map +0 -1
  482. package/dist/test-resources/assets/Themes.js +0 -17
  483. package/dist/test-resources/elements/Child.js +0 -35
  484. package/dist/test-resources/elements/Generic.js +0 -84
  485. package/dist/test-resources/elements/GenericExt.js +0 -26
  486. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  487. package/dist/test-resources/elements/Parent.js +0 -41
  488. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  489. package/dist/test-resources/pages/AllTestElements.html +0 -42
  490. package/dist/test-resources/pages/Configuration.html +0 -20
  491. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  492. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  493. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  494. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  495. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  496. package/dist/test-resources/pages/i18n.html +0 -40
  497. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  498. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  499. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  500. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  501. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  502. package/dist/test-resources/specs/Theming.spec.js +0 -31
  503. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -240
  504. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
  505. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -73
  506. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  507. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  508. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  509. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  510. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  511. package/dist/theming/CSSVarsPonyfill.js +0 -68
  512. package/dist/theming/adaptCSSForIE.js +0 -95
  513. package/dist/theming/createComponentStyleTag.js +0 -54
  514. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  515. package/dist/thirdparty/Array.from.js +0 -16
  516. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  517. package/dist/thirdparty/Array.prototype.find.js +0 -46
  518. package/dist/thirdparty/Array.prototype.findIndex.js +0 -46
  519. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  520. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  521. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  522. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  523. package/dist/thirdparty/Number.isInteger.js +0 -5
  524. package/dist/thirdparty/Number.isNaN.js +0 -1
  525. package/dist/thirdparty/Number.parseFloat.js +0 -1
  526. package/dist/thirdparty/Number.parseInt.js +0 -1
  527. package/dist/thirdparty/Object.assign.js +0 -31
  528. package/dist/thirdparty/Object.entries.js +0 -11
  529. package/dist/thirdparty/Symbol.js +0 -2
  530. package/dist/thirdparty/WeakSet.js +0 -27
  531. package/dist/thirdparty/es6-string-methods.js +0 -182
  532. package/dist/thirdparty/events-polyfills.js +0 -89
  533. package/dist/thirdparty/fetch.js +0 -1
  534. package/dist/thirdparty/template.js +0 -600
  535. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  536. package/dist/types/CSSSize.js +0 -9
  537. package/dist/types/PopupState.js +0 -37
  538. package/dist/util/EffectiveAssetPath.js +0 -27
  539. package/dist/util/encodeCSS.js +0 -24
  540. package/dist/util/findNodeOwner.js +0 -35
  541. package/dist/util/isDescendantOf.js +0 -15
  542. package/dist/util/isNodeClickable.js +0 -19
  543. package/dist/util/isNodeHidden.js +0 -9
  544. package/dist/util/isNodeTabbable.js +0 -28
  545. package/dist/util/isSlot.js +0 -3
  546. package/dist/util/parseProperties.js +0 -89
  547. package/dist/util/setToArray.js +0 -10
  548. package/dist/webcomponentsjs/LICENSE.md +0 -19
  549. package/dist/webcomponentsjs/README.md +0 -229
  550. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  551. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  552. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  553. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  554. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  555. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  556. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  557. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  558. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  559. package/dist/webcomponentsjs/package.json +0 -46
  560. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  561. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  562. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  563. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  564. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  565. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  566. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  567. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  568. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  569. package/package-scripts.js +0 -47
  570. package/src/AssetRegistry.js +0 -12
  571. package/src/CustomElementsRegistry.js +0 -39
  572. package/src/Device.js +0 -823
  573. package/src/EventProvider.js +0 -81
  574. package/src/FeaturesRegistry.js +0 -11
  575. package/src/FontFace.js +0 -118
  576. package/src/InitialConfiguration.js +0 -150
  577. package/src/Keys.js +0 -221
  578. package/src/RenderQueue.js +0 -66
  579. package/src/RenderScheduler.js +0 -169
  580. package/src/SVGIconRegistry.js +0 -73
  581. package/src/StaticArea.js +0 -31
  582. package/src/StaticAreaItem.js +0 -108
  583. package/src/SystemCSSVars.js +0 -31
  584. package/src/UI5Element.js +0 -1175
  585. package/src/UI5ElementMetadata.js +0 -280
  586. package/src/animations/AnimationQueue.js +0 -42
  587. package/src/animations/animate.js +0 -53
  588. package/src/animations/config.js +0 -5
  589. package/src/animations/scroll.js +0 -28
  590. package/src/animations/slideDown.js +0 -79
  591. package/src/animations/slideUp.js +0 -71
  592. package/src/asset-registries/Icons.js +0 -32
  593. package/src/asset-registries/LocaleData.js +0 -135
  594. package/src/asset-registries/Themes.js +0 -88
  595. package/src/asset-registries/i18n.js +0 -110
  596. package/src/boot.js +0 -34
  597. package/src/compatibility/DOMObserver.js +0 -62
  598. package/src/compatibility/patchNodeValue.js +0 -24
  599. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  600. package/src/config/AnimationMode.js +0 -23
  601. package/src/config/AssetsPath.js +0 -17
  602. package/src/config/CalendarType.js +0 -18
  603. package/src/config/FormatSettings.js +0 -13
  604. package/src/config/Language.js +0 -70
  605. package/src/config/NoConflict.js +0 -51
  606. package/src/config/RTL.js +0 -31
  607. package/src/config/Theme.js +0 -28
  608. package/src/delegate/CustomResize.js +0 -78
  609. package/src/delegate/ItemNavigation.js +0 -313
  610. package/src/delegate/NativeResize.js +0 -45
  611. package/src/delegate/ResizeHandler.js +0 -65
  612. package/src/delegate/ScrollEnablement.js +0 -182
  613. package/src/features/OpenUI5Support.js +0 -90
  614. package/src/features/PropertiesFormatSupport.js +0 -8
  615. package/src/features/browsersupport/Edge.js +0 -6
  616. package/src/features/browsersupport/IE11.js +0 -43
  617. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  618. package/src/getSharedResource.js +0 -30
  619. package/src/i18nBundle.js +0 -52
  620. package/src/locale/Locale.js +0 -91
  621. package/src/locale/RTLAwareRegistry.js +0 -14
  622. package/src/locale/applyDirection.js +0 -18
  623. package/src/locale/directionChange.js +0 -32
  624. package/src/locale/getLocale.js +0 -41
  625. package/src/locale/languageChange.js +0 -22
  626. package/src/locale/nextFallbackLocale.js +0 -28
  627. package/src/locale/normalizeLocale.js +0 -54
  628. package/src/renderer/LitRenderer.js +0 -31
  629. package/src/renderer/executeTemplate.js +0 -17
  630. package/src/renderer/ifDefined.js +0 -21
  631. package/src/renderer/scopeHTML.js +0 -32
  632. package/src/theming/CSSVarsPonyfill.js +0 -68
  633. package/src/theming/CustomStyle.js +0 -40
  634. package/src/theming/ThemeLoaded.js +0 -22
  635. package/src/theming/adaptCSSForIE.js +0 -95
  636. package/src/theming/applyTheme.js +0 -84
  637. package/src/theming/createComponentStyleTag.js +0 -54
  638. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  639. package/src/theming/getConstructableStyle.js +0 -29
  640. package/src/theming/getEffectiveStyle.js +0 -23
  641. package/src/theming/getStylesString.js +0 -13
  642. package/src/theming/getThemeDesignerTheme.js +0 -67
  643. package/src/thirdparty/Array.from.js +0 -16
  644. package/src/thirdparty/Array.prototype.fill.js +0 -44
  645. package/src/thirdparty/Array.prototype.find.js +0 -46
  646. package/src/thirdparty/Array.prototype.findIndex.js +0 -46
  647. package/src/thirdparty/Array.prototype.includes.js +0 -51
  648. package/src/thirdparty/Element.prototype.closest.js +0 -11
  649. package/src/thirdparty/Element.prototype.matches.js +0 -6
  650. package/src/thirdparty/Map.prototype.keys.js +0 -9
  651. package/src/thirdparty/Number.isInteger.js +0 -5
  652. package/src/thirdparty/Number.isNaN.js +0 -1
  653. package/src/thirdparty/Number.parseFloat.js +0 -1
  654. package/src/thirdparty/Number.parseInt.js +0 -1
  655. package/src/thirdparty/Object.assign.js +0 -31
  656. package/src/thirdparty/Object.entries.js +0 -11
  657. package/src/thirdparty/Symbol.js +0 -2
  658. package/src/thirdparty/WeakSet.js +0 -27
  659. package/src/thirdparty/_merge.js +0 -32
  660. package/src/thirdparty/es6-string-methods.js +0 -182
  661. package/src/thirdparty/events-polyfills.js +0 -89
  662. package/src/thirdparty/fetch.js +0 -1
  663. package/src/thirdparty/isPlainObject.js +0 -18
  664. package/src/thirdparty/merge.js +0 -10
  665. package/src/thirdparty/template.js +0 -600
  666. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  667. package/src/types/AnimationMode.js +0 -7
  668. package/src/types/CSSSize.js +0 -9
  669. package/src/types/CalendarType.js +0 -22
  670. package/src/types/DataType.js +0 -25
  671. package/src/types/Float.js +0 -10
  672. package/src/types/Integer.js +0 -9
  673. package/src/types/ItemNavigationBehavior.js +0 -16
  674. package/src/types/NavigationMode.js +0 -7
  675. package/src/types/PopupState.js +0 -37
  676. package/src/types/ValueState.js +0 -22
  677. package/src/util/AriaLabelHelper.js +0 -41
  678. package/src/util/Caret.js +0 -45
  679. package/src/util/EffectiveAssetPath.js +0 -27
  680. package/src/util/FetchHelper.js +0 -31
  681. package/src/util/FocusableElements.js +0 -73
  682. package/src/util/StringHelper.js +0 -26
  683. package/src/util/TabbableElements.js +0 -47
  684. package/src/util/arraysAreEqual.js +0 -15
  685. package/src/util/createStyleInHead.js +0 -18
  686. package/src/util/detectNavigatorLanguage.js +0 -13
  687. package/src/util/encodeCSS.js +0 -24
  688. package/src/util/findNodeOwner.js +0 -35
  689. package/src/util/formatMessage.js +0 -23
  690. package/src/util/getActiveElement.js +0 -11
  691. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  692. package/src/util/getSingletonElementInstance.js +0 -13
  693. package/src/util/isDescendantOf.js +0 -15
  694. package/src/util/isNodeClickable.js +0 -19
  695. package/src/util/isNodeHidden.js +0 -9
  696. package/src/util/isNodeTabbable.js +0 -28
  697. package/src/util/isSlot.js +0 -3
  698. package/src/util/isValidPropertyName.js +0 -29
  699. package/src/util/parseProperties.js +0 -89
  700. package/src/util/setToArray.js +0 -10
  701. package/src/util/whenDOMReady.js +0 -13
  702. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
package/src/config/RTL.js DELETED
@@ -1,31 +0,0 @@
1
- import { getRTL as getConfiguredRTL } from "../InitialConfiguration.js";
2
- import { getLanguage } from "./Language.js";
3
- import getDesigntimePropertyAsArray from "../util/getDesigntimePropertyAsArray.js";
4
- import detectNavigatorLanguage from "../util/detectNavigatorLanguage.js";
5
-
6
- const M_ISO639_OLD_TO_NEW = {
7
- "iw": "he",
8
- "ji": "yi",
9
- "in": "id",
10
- "sh": "sr",
11
- };
12
-
13
- const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
14
-
15
- const impliesRTL = language => {
16
- language = (language && M_ISO639_OLD_TO_NEW[language]) || language;
17
-
18
- return A_RTL_LOCALES.indexOf(language) >= 0;
19
- };
20
-
21
- const getRTL = () => {
22
- const configurationRTL = getConfiguredRTL();
23
-
24
- if (configurationRTL !== null) {
25
- return !!configurationRTL;
26
- }
27
-
28
- return impliesRTL(getLanguage() || detectNavigatorLanguage());
29
- };
30
-
31
- export { getRTL }; // eslint-disable-line
@@ -1,28 +0,0 @@
1
- import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
- import applyTheme from "../theming/applyTheme.js";
3
-
4
- let theme;
5
-
6
- const getTheme = () => {
7
- if (theme === undefined) {
8
- theme = getConfiguredTheme();
9
- }
10
-
11
- return theme;
12
- };
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);
23
- };
24
-
25
- export {
26
- getTheme,
27
- setTheme,
28
- };
@@ -1,78 +0,0 @@
1
- const INTERVAL = 300;
2
-
3
- class CustomResize {
4
- static initialize() {
5
- CustomResize.initialized = false;
6
- CustomResize.resizeInterval = undefined;
7
- CustomResize.resizeListeners = new Map();
8
- }
9
-
10
- static attachListener(ref, callback) {
11
- const observedObject = CustomResize.resizeListeners.get(ref);
12
- const existingCallbacks = observedObject ? observedObject.callbacks : [];
13
-
14
- CustomResize.resizeListeners.set(ref, {
15
- width: ref ? ref.offsetWidth : 0,
16
- height: ref ? ref.offsetHeight : 0,
17
- callbacks: existingCallbacks.concat(callback),
18
- });
19
-
20
- CustomResize.initListener();
21
- }
22
-
23
- static initListener() {
24
- if (CustomResize.resizeListeners.size > 0 && !CustomResize.initialized) {
25
- CustomResize.resizeInterval = setInterval(CustomResize.checkListeners.bind(CustomResize), INTERVAL);
26
- }
27
- }
28
-
29
- static checkListeners() {
30
- CustomResize.resizeListeners.forEach((entry, ref) => {
31
- const changed = CustomResize.checkSizes(entry, ref);
32
-
33
- if (changed || (entry && !entry._hasBeenRendered)) {
34
- CustomResize.updateSizes(entry, ref.offsetWidth, ref.offsetHeight);
35
- entry.callbacks.forEach(el => el());
36
- entry._hasBeenRendered = true;
37
- }
38
- });
39
- }
40
-
41
- static updateSizes(sizes, newWidth, newHeight) {
42
- sizes.width = newWidth;
43
- sizes.height = newHeight;
44
- }
45
-
46
- static checkSizes(entry, ref) {
47
- const oldHeight = entry.height;
48
- const oldWidth = entry.width;
49
- const newHeight = ref.offsetHeight;
50
- const newWidth = ref.offsetWidth;
51
-
52
- return ((oldHeight !== newHeight) || oldWidth !== newWidth);
53
- }
54
-
55
- static detachListener(ref, callback) {
56
- const listenerObject = CustomResize.resizeListeners.get(ref);
57
- const callbacks = listenerObject ? listenerObject.callbacks : [];
58
- const filteredCallbacks = callbacks.filter(fn => fn !== callback);
59
-
60
- if (!listenerObject || (callbacks.length === filteredCallbacks.length && callbacks.length !== 0)) {
61
- return;
62
- }
63
-
64
- CustomResize.resizeListeners.set(ref, Object.assign(listenerObject, { callbacks: filteredCallbacks }));
65
-
66
- if (!filteredCallbacks.length) {
67
- listenerObject.callbacks = null;
68
- CustomResize.resizeListeners.delete(ref);
69
- }
70
-
71
- if (CustomResize.resizeListeners.size === 0) {
72
- CustomResize.initialized = false;
73
- clearInterval(CustomResize.resizeInterval);
74
- }
75
- }
76
- }
77
-
78
- export default CustomResize;
@@ -1,313 +0,0 @@
1
- import RenderScheduler from "../RenderScheduler.js";
2
- import {
3
- isDown,
4
- isUp,
5
- isLeft,
6
- isRight,
7
- isHome,
8
- isEnd,
9
- } from "../Keys.js";
10
- import getActiveElement from "../util/getActiveElement.js";
11
-
12
- import EventProvider from "../EventProvider.js";
13
- import NavigationMode from "../types/NavigationMode.js";
14
- import ItemNavigationBehavior from "../types/ItemNavigationBehavior.js";
15
-
16
- /**
17
- * The ItemNavigation class manages the calculations to determine the correct "tabindex" for a group of related items inside a root component.
18
- * Important: ItemNavigation only does the calculations and does not change "tabindex" directly, this is a responsibility of the developer.
19
- *
20
- * The keys that trigger ItemNavigation are:
21
- * - Up/down
22
- * - Left/right
23
- * - Home/End
24
- *
25
- * Usage:
26
- * 1) Use the "getItemsCallback" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.
27
- *
28
- * Each item passed to ItemNavigation via "getItemsCallback" must be:
29
- * - A) either a UI5Element with a "_tabIndex" property
30
- * - B) or an Object with "id" and "_tabIndex" properties which represents a part of the root component's shadow DOM.
31
- * The "id" must be a valid ID within the shadow root of the component ItemNavigation operates on.
32
- * 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
33
- * and the developer has the responsibility to update the "tabindex" in the component's DOM.
34
- * - C) a combination of the above
35
- *
36
- * Whenever the user navigates with the keyboard, ItemNavigation will modify the "_tabIndex" properties of the items.
37
- * 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).
38
- * If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their "_tabIndex" property.
39
- * 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.
40
- * 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.
41
- *
42
- * 2) Call the "update" method of ItemNavigation whenever you want to change the current item.
43
- * This is most commonly required if the user for example clicks on an item and thus selects it directly.
44
- * Pass as the only argument to "update" the item that becomes current (must be one of the items, returned by "getItemsCallback").
45
- *
46
- * @class
47
- * @public
48
- */
49
- class ItemNavigation extends EventProvider {
50
- /**
51
- *
52
- * @param rootWebComponent the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
53
- * @param options Object with configuration options:
54
- * - currentIndex: the index of the item that will be initially selected (from which navigation will begin)
55
- * - 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)
56
- * - 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
57
- * - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items
58
- * Static means that nothing happens if the user tries to navigate beyond the first/last item.
59
- * Cycling means that when the user navigates beyond the last item they go to the first and vice versa.
60
- * - getItemsCallback: function that, when called, returns an array with all items the user can navigate among
61
- * - 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
62
- */
63
- constructor(rootWebComponent, options = {}) {
64
- super();
65
-
66
- this.currentIndex = options.currentIndex || 0;
67
- this.rowSize = options.rowSize || 1;
68
- this.behavior = options.behavior || ItemNavigationBehavior.Static;
69
- const navigationMode = options.navigationMode;
70
- const autoNavigation = !navigationMode || navigationMode === NavigationMode.Auto;
71
- this.horizontalNavigationOn = autoNavigation || navigationMode === NavigationMode.Horizontal;
72
- this.verticalNavigationOn = autoNavigation || navigationMode === NavigationMode.Vertical;
73
-
74
- if (options.affectedPropertiesNames) {
75
- this.affectedPropertiesNames = options.affectedPropertiesNames;
76
- }
77
-
78
- if (options.getItemsCallback) {
79
- this._getItems = options.getItemsCallback;
80
- }
81
-
82
- this.rootWebComponent = rootWebComponent;
83
- this.rootWebComponent.addEventListener("keydown", this.onkeydown.bind(this));
84
- this.rootWebComponent._onComponentStateFinalized = () => {
85
- this._init();
86
- };
87
- }
88
-
89
- _init() {
90
- this._getItems().forEach((item, idx) => {
91
- item._tabIndex = (idx === this.currentIndex) ? "0" : "-1";
92
- });
93
- }
94
-
95
- _horizontalNavigationOn() {
96
- return this.horizontalNavigationOn;
97
- }
98
-
99
- _verticalNavigationOn() {
100
- return this.verticalNavigationOn;
101
- }
102
-
103
- async _onKeyPress(event) {
104
- if (this.currentIndex >= this._getItems().length) {
105
- this.onOverflowBottomEdge();
106
- } else if (this.currentIndex < 0) {
107
- this.onOverflowTopEdge();
108
- }
109
-
110
- event.preventDefault();
111
-
112
- await RenderScheduler.whenFinished();
113
-
114
- this.update();
115
- this.focusCurrent();
116
- }
117
-
118
- onkeydown(event) {
119
- if (isUp(event) && this._verticalNavigationOn()) {
120
- return this._handleUp(event);
121
- }
122
-
123
- if (isDown(event) && this._verticalNavigationOn()) {
124
- return this._handleDown(event);
125
- }
126
-
127
- if (isLeft(event) && this._horizontalNavigationOn()) {
128
- return this._handleLeft(event);
129
- }
130
-
131
- if (isRight(event) && this._horizontalNavigationOn()) {
132
- return this._handleRight(event);
133
- }
134
-
135
- if (isHome(event)) {
136
- return this._handleHome(event);
137
- }
138
-
139
- if (isEnd(event)) {
140
- return this._handleEnd(event);
141
- }
142
- }
143
-
144
- _handleUp(event) {
145
- if (this._canNavigate()) {
146
- this.currentIndex -= this.rowSize;
147
- this._onKeyPress(event);
148
- }
149
- }
150
-
151
- _handleDown(event) {
152
- if (this._canNavigate()) {
153
- this.currentIndex += this.rowSize;
154
- this._onKeyPress(event);
155
- }
156
- }
157
-
158
- _handleLeft(event) {
159
- if (this._canNavigate()) {
160
- this.currentIndex -= 1;
161
- this._onKeyPress(event);
162
- }
163
- }
164
-
165
- _handleRight(event) {
166
- if (this._canNavigate()) {
167
- this.currentIndex += 1;
168
- this._onKeyPress(event);
169
- }
170
- }
171
-
172
- _handleHome(event) {
173
- if (this._canNavigate()) {
174
- const homeEndRange = this.rowSize > 1 ? this.rowSize : this._getItems().length;
175
- this.currentIndex -= this.currentIndex % homeEndRange;
176
- this._onKeyPress(event);
177
- }
178
- }
179
-
180
- _handleEnd(event) {
181
- if (this._canNavigate()) {
182
- const homeEndRange = this.rowSize > 1 ? this.rowSize : this._getItems().length;
183
- this.currentIndex += (homeEndRange - 1 - this.currentIndex % homeEndRange); // eslint-disable-line
184
- this._onKeyPress(event);
185
- }
186
- }
187
-
188
- /**
189
- * Call this method to set a new "current" (selected) item in the item navigation
190
- * Note: the item passed to this function must be one of the items, returned by the getItemsCallback function
191
- *
192
- * @public
193
- * @param current the new selected item
194
- */
195
- update(current) {
196
- const origItems = this._getItems();
197
-
198
- if (current) {
199
- this.currentIndex = this._getItems().indexOf(current);
200
- }
201
-
202
- if (!origItems[this.currentIndex]
203
- || (origItems[this.currentIndex]._tabIndex && origItems[this.currentIndex]._tabIndex === "0")) {
204
- return;
205
- }
206
-
207
- const items = origItems.slice(0);
208
-
209
- for (let i = 0; i < items.length; i++) {
210
- items[i]._tabIndex = (i === this.currentIndex ? "0" : "-1");
211
- }
212
-
213
- if (Array.isArray(this.affectedPropertiesNames)) {
214
- this.affectedPropertiesNames.forEach(propName => {
215
- const prop = this.rootWebComponent[propName];
216
- this.rootWebComponent[propName] = Array.isArray(prop) ? [...prop] : { ...prop };
217
- });
218
- }
219
- }
220
-
221
- /**
222
- * @public
223
- * @deprecated
224
- */
225
- focusCurrent() {
226
- const currentItem = this._getCurrentItem();
227
- if (currentItem) {
228
- currentItem.focus();
229
- }
230
- }
231
-
232
- _canNavigate() {
233
- const currentItem = this._getCurrentItem();
234
- const activeElement = getActiveElement();
235
-
236
- return currentItem && currentItem === activeElement;
237
- }
238
-
239
- _getCurrentItem() {
240
- const items = this._getItems();
241
-
242
- if (!items.length) {
243
- return null;
244
- }
245
-
246
- // normalize the index
247
- while (this.currentIndex >= items.length) {
248
- this.currentIndex -= this.rowSize;
249
- }
250
-
251
- if (this.currentIndex < 0) {
252
- this.currentIndex = 0;
253
- }
254
-
255
- const currentItem = items[this.currentIndex];
256
-
257
- if (!currentItem) {
258
- return;
259
- }
260
-
261
- if (currentItem.isUI5Element) {
262
- return currentItem.getFocusDomRef();
263
- }
264
-
265
- if (!this.rootWebComponent.getDomRef()) {
266
- return;
267
- }
268
-
269
- return this.rootWebComponent.getDomRef().querySelector(`#${currentItem.id}`);
270
- }
271
-
272
- /**
273
- * Set to callback that returns the list of items to navigate among
274
- * @public
275
- * @param callback a function that returns an array of items to navigate among
276
- */
277
- set getItemsCallback(callback) {
278
- this._getItems = callback;
279
- }
280
-
281
- /**
282
- * @public
283
- * @deprecated
284
- * @param val
285
- */
286
- set current(val) {
287
- this.currentIndex = val;
288
- }
289
-
290
- onOverflowBottomEdge(event) {
291
- const items = this._getItems();
292
-
293
- if (this.behavior === ItemNavigationBehavior.Cyclic) {
294
- this.currentIndex = 0;
295
- return;
296
- }
297
-
298
- this.currentIndex = items.length - 1;
299
- }
300
-
301
- onOverflowTopEdge(event) {
302
- const items = this._getItems();
303
-
304
- if (this.behavior === ItemNavigationBehavior.Cyclic) {
305
- this.currentIndex = items.length - 1;
306
- return;
307
- }
308
-
309
- this.currentIndex = 0;
310
- }
311
- }
312
-
313
- export default ItemNavigation;
@@ -1,45 +0,0 @@
1
- class NativeResize {
2
- static initialize() {
3
- NativeResize.resizeObserver = new window.ResizeObserver(entries => {
4
- // call attached callbacks
5
- entries.forEach(entry => {
6
- const callbacks = NativeResize.observedObjects.get(entry.target);
7
-
8
- callbacks.forEach(el => el());
9
- });
10
- });
11
-
12
- NativeResize.observedObjects = new Map();
13
- }
14
-
15
- static attachListener(ref, callback) {
16
- const observedDOMs = NativeResize.observedObjects;
17
- const callbacks = observedDOMs.get(ref) || [];
18
-
19
- // if no callbacks has been added for this ref - start observing it
20
- if (!callbacks.length) {
21
- NativeResize.resizeObserver.observe(ref);
22
- }
23
-
24
- // save the callbacks in an array
25
- observedDOMs.set(ref, [...callbacks, callback]);
26
- }
27
-
28
- static detachListener(ref, callback) {
29
- const callbacks = NativeResize.observedObjects.get(ref) || [];
30
- const filteredCallbacks = callbacks.filter(fn => fn !== callback);
31
-
32
- if (!callbacks.length || (callbacks.length === filteredCallbacks.length && callbacks.length !== 0)) {
33
- return;
34
- }
35
-
36
- NativeResize.observedObjects.set(ref, filteredCallbacks);
37
-
38
- if (!filteredCallbacks.length) {
39
- NativeResize.resizeObserver.unobserve(ref);
40
- NativeResize.observedObjects.delete(ref);
41
- }
42
- }
43
- }
44
-
45
- export default NativeResize;
@@ -1,65 +0,0 @@
1
- import NativeResize from "./NativeResize.js";
2
- import CustomResize from "./CustomResize.js";
3
-
4
- class ResizeHandler {
5
- static initialize() {
6
- ResizeHandler.Implementation = window.ResizeObserver ? NativeResize : CustomResize;
7
- ResizeHandler.Implementation.initialize();
8
- }
9
-
10
- /**
11
- * @static
12
- * @private
13
- * @param {*} ref Reference to be observed
14
- * @param {*} callback Callback to be executed
15
- * @memberof ResizeHandler
16
- */
17
- static attachListener(ref, callback) {
18
- ResizeHandler.Implementation.attachListener.call(ResizeHandler.Implementation, ref, callback);
19
- }
20
-
21
- /**
22
- * @static
23
- * @private
24
- * @param {*} ref Reference to be unobserved
25
- * @memberof ResizeHandler
26
- */
27
- static detachListener(ref, callback) {
28
- ResizeHandler.Implementation.detachListener.call(ResizeHandler.Implementation, ref, callback);
29
- }
30
-
31
-
32
- /**
33
- * @static
34
- * @public
35
- * @param {*} ref Reference to a UI5 Web Component or DOM Element to be observed
36
- * @param {*} callback Callback to be executed
37
- * @memberof ResizeHandler
38
- */
39
- static register(ref, callback) {
40
- if (ref.isUI5Element) {
41
- ref = ref.getDomRef();
42
- }
43
-
44
- ResizeHandler.attachListener(ref, callback);
45
- }
46
-
47
-
48
- /**
49
- * @static
50
- * @public
51
- * @param {*} ref Reference to UI5 Web Component or DOM Element to be unobserved
52
- * @memberof ResizeHandler
53
- */
54
- static deregister(ref, callback) {
55
- if (ref.isUI5Element) {
56
- ref = ref.getDomRef();
57
- }
58
-
59
- ResizeHandler.detachListener(ref, callback);
60
- }
61
- }
62
-
63
- ResizeHandler.initialize();
64
-
65
- export default ResizeHandler;