@ui5/webcomponents-base 0.0.0-6cb3eb0db → 0.0.0-6ebf1b8af

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 (650) hide show
  1. package/.eslintignore +8 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1103 -0
  4. package/README.md +34 -8
  5. package/bundle.esm.js +21 -15
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/AssetRegistry.d.ts +5 -0
  9. package/dist/AssetRegistry.js +3 -8
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +10 -0
  12. package/dist/Boot.js +59 -28
  13. package/dist/Boot.js.map +1 -0
  14. package/dist/CSP.d.ts +30 -0
  15. package/dist/CSP.js +51 -0
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +69 -30
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -108
  22. package/dist/CustomElementsScope.js.map +1 -0
  23. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  24. package/dist/CustomElementsScopeUtils.js +102 -0
  25. package/dist/CustomElementsScopeUtils.js.map +1 -0
  26. package/dist/DOMObserver.d.ts +11 -0
  27. package/dist/DOMObserver.js +12 -54
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +159 -86
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -82
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +3 -0
  36. package/dist/FeaturesRegistry.js +5 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +17 -110
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +27 -0
  42. package/dist/IgnoreCustomElements.js +39 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +27 -0
  45. package/dist/InitialConfiguration.js +122 -120
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +175 -242
  49. package/dist/Keys.js.map +1 -0
  50. package/dist/ManagedStyles.d.ts +9 -0
  51. package/dist/ManagedStyles.js +157 -0
  52. package/dist/ManagedStyles.js.map +1 -0
  53. package/dist/MarkedEvents.d.ts +9 -0
  54. package/dist/MarkedEvents.js +15 -0
  55. package/dist/MarkedEvents.js.map +1 -0
  56. package/dist/MediaRange.d.ts +31 -0
  57. package/dist/MediaRange.js +54 -75
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +72 -82
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +82 -112
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +52 -62
  67. package/dist/RenderQueue.js.map +1 -0
  68. package/dist/Runtimes.d.ts +27 -0
  69. package/dist/Runtimes.js +86 -0
  70. package/dist/Runtimes.js.map +1 -0
  71. package/dist/StaticArea.d.ts +3 -0
  72. package/dist/StaticArea.js +5 -1
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +35 -0
  75. package/dist/StaticAreaItem.js +88 -95
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +6 -28
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  81. package/dist/Theming.js +1 -1
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +384 -0
  84. package/dist/UI5Element.js +941 -992
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +143 -0
  87. package/dist/UI5ElementMetadata.js +281 -299
  88. package/dist/UI5ElementMetadata.js.map +1 -0
  89. package/dist/animations/AnimationQueue.d.ts +8 -0
  90. package/dist/animations/AnimationQueue.js +31 -38
  91. package/dist/animations/AnimationQueue.js.map +1 -0
  92. package/dist/animations/animate.d.ts +14 -0
  93. package/dist/animations/animate.js +46 -51
  94. package/dist/animations/animate.js.map +1 -0
  95. package/dist/animations/scroll.d.ts +5 -0
  96. package/dist/animations/scroll.js +18 -27
  97. package/dist/animations/scroll.js.map +1 -0
  98. package/dist/animations/slideDown.d.ts +5 -0
  99. package/dist/animations/slideDown.js +53 -78
  100. package/dist/animations/slideDown.js.map +1 -0
  101. package/dist/animations/slideUp.d.ts +5 -0
  102. package/dist/animations/slideUp.js +49 -70
  103. package/dist/animations/slideUp.js.map +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -112
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +71 -25
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -118
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +12 -0
  114. package/dist/asset-registries/Themes.js +57 -67
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +62 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/config/AnimationMode.d.ts +14 -0
  129. package/dist/config/AnimationMode.js +21 -18
  130. package/dist/config/AnimationMode.js.map +1 -0
  131. package/dist/config/CalendarType.d.ts +15 -0
  132. package/dist/config/CalendarType.js +31 -14
  133. package/dist/config/CalendarType.js.map +1 -0
  134. package/dist/config/FormatSettings.d.ts +15 -0
  135. package/dist/config/FormatSettings.js +15 -9
  136. package/dist/config/FormatSettings.js.map +1 -0
  137. package/dist/config/Icons.d.ts +40 -0
  138. package/dist/config/Icons.js +44 -0
  139. package/dist/config/Icons.js.map +1 -0
  140. package/dist/config/Language.d.ts +40 -0
  141. package/dist/config/Language.js +46 -43
  142. package/dist/config/Language.js.map +1 -0
  143. package/dist/config/NoConflict.d.ts +20 -0
  144. package/dist/config/NoConflict.js +41 -41
  145. package/dist/config/NoConflict.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +67 -22
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +29 -0
  150. package/dist/config/ThemeRoot.js +59 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/connectToComponent.d.ts +9 -0
  156. package/dist/connectToComponent.js +59 -0
  157. package/dist/connectToComponent.js.map +1 -0
  158. package/dist/css/BusyIndicator.css +80 -0
  159. package/dist/css/FontFace.css +96 -0
  160. package/dist/css/OverrideFontFace.css +32 -0
  161. package/dist/css/SystemCSSVars.css +9 -0
  162. package/dist/custom-elements-internal.json +2759 -0
  163. package/dist/custom-elements.json +2522 -0
  164. package/dist/decorators/customElement.d.ts +23 -0
  165. package/dist/decorators/customElement.js +37 -0
  166. package/dist/decorators/customElement.js.map +1 -0
  167. package/dist/decorators/event.d.ts +13 -0
  168. package/dist/decorators/event.js +24 -0
  169. package/dist/decorators/event.js.map +1 -0
  170. package/dist/decorators/property.d.ts +9 -0
  171. package/dist/decorators/property.js +24 -0
  172. package/dist/decorators/property.js.map +1 -0
  173. package/dist/decorators/slot.d.ts +9 -0
  174. package/dist/decorators/slot.js +37 -0
  175. package/dist/decorators/slot.js.map +1 -0
  176. package/dist/delegate/ItemNavigation.d.ts +114 -0
  177. package/dist/delegate/ItemNavigation.js +283 -319
  178. package/dist/delegate/ItemNavigation.js.map +1 -0
  179. package/dist/delegate/ResizeHandler.d.ts +23 -0
  180. package/dist/delegate/ResizeHandler.js +70 -91
  181. package/dist/delegate/ResizeHandler.js.map +1 -0
  182. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  183. package/dist/delegate/ScrollEnablement.js +157 -180
  184. package/dist/delegate/ScrollEnablement.js.map +1 -0
  185. package/dist/features/F6Navigation.d.ts +19 -0
  186. package/dist/features/F6Navigation.js +151 -0
  187. package/dist/features/F6Navigation.js.map +1 -0
  188. package/dist/features/LegacyDateFormats.d.ts +18 -0
  189. package/dist/features/LegacyDateFormats.js +20 -0
  190. package/dist/features/LegacyDateFormats.js.map +1 -0
  191. package/dist/features/OpenUI5Element.d.ts +9 -0
  192. package/dist/features/OpenUI5Element.js +5 -0
  193. package/dist/features/OpenUI5Element.js.map +1 -0
  194. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  195. package/dist/features/OpenUI5Enablement.js +96 -0
  196. package/dist/features/OpenUI5Enablement.js.map +1 -0
  197. package/dist/features/OpenUI5Support.d.ts +36 -0
  198. package/dist/features/OpenUI5Support.js +151 -121
  199. package/dist/features/OpenUI5Support.js.map +1 -0
  200. package/dist/generated/AssetParameters.d.ts +6 -0
  201. package/dist/generated/AssetParameters.js +4 -9
  202. package/dist/generated/AssetParameters.js.map +1 -0
  203. package/dist/generated/VersionInfo.d.ts +10 -0
  204. package/dist/generated/VersionInfo.js +11 -0
  205. package/dist/generated/VersionInfo.js.map +1 -0
  206. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  207. package/dist/generated/css/BusyIndicator.css.js +7 -0
  208. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  209. package/dist/generated/css/FontFace.css.d.ts +3 -0
  210. package/dist/generated/css/FontFace.css.js +7 -0
  211. package/dist/generated/css/FontFace.css.js.map +1 -0
  212. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  213. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  214. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  215. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  216. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  217. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  221. package/dist/getSharedResource.d.ts +11 -0
  222. package/dist/getSharedResource.js +28 -18
  223. package/dist/getSharedResource.js.map +1 -0
  224. package/dist/global.d.ts +40 -0
  225. package/dist/i18nBundle.d.ts +41 -0
  226. package/dist/i18nBundle.js +65 -45
  227. package/dist/i18nBundle.js.map +1 -0
  228. package/dist/locale/Locale.d.ts +22 -0
  229. package/dist/locale/Locale.js +75 -87
  230. package/dist/locale/Locale.js.map +1 -0
  231. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  232. package/dist/locale/RTLAwareRegistry.js +6 -11
  233. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  234. package/dist/locale/applyDirection.d.ts +10 -0
  235. package/dist/locale/applyDirection.js +7 -7
  236. package/dist/locale/applyDirection.js.map +1 -0
  237. package/dist/locale/directionChange.d.ts +15 -0
  238. package/dist/locale/directionChange.js +7 -15
  239. package/dist/locale/directionChange.js.map +1 -0
  240. package/dist/locale/getEffectiveDir.d.ts +2 -0
  241. package/dist/locale/getEffectiveDir.js +6 -26
  242. package/dist/locale/getEffectiveDir.js.map +1 -0
  243. package/dist/locale/getLocale.d.ts +7 -0
  244. package/dist/locale/getLocale.js +26 -29
  245. package/dist/locale/getLocale.js.map +1 -0
  246. package/dist/locale/languageChange.d.ts +5 -0
  247. package/dist/locale/languageChange.js +8 -16
  248. package/dist/locale/languageChange.js.map +1 -0
  249. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  250. package/dist/locale/nextFallbackLocale.js +15 -19
  251. package/dist/locale/nextFallbackLocale.js.map +1 -0
  252. package/dist/locale/normalizeLocale.d.ts +7 -0
  253. package/dist/locale/normalizeLocale.js +34 -41
  254. package/dist/locale/normalizeLocale.js.map +1 -0
  255. package/dist/renderer/LitRenderer.d.ts +14 -0
  256. package/dist/renderer/LitRenderer.js +32 -23
  257. package/dist/renderer/LitRenderer.js.map +1 -0
  258. package/dist/renderer/directives/style-map.js +72 -0
  259. package/dist/renderer/executeTemplate.d.ts +13 -0
  260. package/dist/renderer/executeTemplate.js +20 -7
  261. package/dist/renderer/executeTemplate.js.map +1 -0
  262. package/dist/sap/base/Log.js +705 -196
  263. package/dist/sap/base/assert.js +31 -5
  264. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  265. package/dist/sap/base/security/URLListValidator.js +265 -7
  266. package/dist/sap/base/security/encodeCSS.js +40 -0
  267. package/dist/sap/base/security/encodeXML.js +53 -0
  268. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  269. package/dist/sap/base/strings/toHex.js +33 -0
  270. package/dist/sap/base/util/now.js +24 -3
  271. package/dist/sap/base/util/uid.js +27 -0
  272. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  273. package/dist/ssr-dom-shim.d.ts +1 -0
  274. package/dist/ssr-dom-shim.js +12 -0
  275. package/dist/ssr-dom-shim.js.map +1 -0
  276. package/dist/ssr-dom.d.ts +0 -0
  277. package/dist/ssr-dom.js +3 -0
  278. package/dist/ssr-dom.js.map +1 -0
  279. package/dist/theming/CustomStyle.d.ts +6 -0
  280. package/dist/theming/CustomStyle.js +39 -31
  281. package/dist/theming/CustomStyle.js.map +1 -0
  282. package/dist/theming/ThemeLoaded.d.ts +5 -0
  283. package/dist/theming/ThemeLoaded.js +8 -16
  284. package/dist/theming/ThemeLoaded.js.map +1 -0
  285. package/dist/theming/ThemeRegistered.d.ts +4 -0
  286. package/dist/theming/ThemeRegistered.js +11 -0
  287. package/dist/theming/ThemeRegistered.js.map +1 -0
  288. package/dist/theming/applyTheme.d.ts +2 -0
  289. package/dist/theming/applyTheme.js +63 -65
  290. package/dist/theming/applyTheme.js.map +1 -0
  291. package/dist/theming/getConstructableStyle.d.ts +9 -0
  292. package/dist/theming/getConstructableStyle.js +12 -17
  293. package/dist/theming/getConstructableStyle.js.map +1 -0
  294. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  295. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  296. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  297. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  298. package/dist/theming/getEffectiveStyle.js +25 -23
  299. package/dist/theming/getEffectiveStyle.js.map +1 -0
  300. package/dist/theming/getStylesString.d.ts +3 -0
  301. package/dist/theming/getStylesString.js +9 -11
  302. package/dist/theming/getStylesString.js.map +1 -0
  303. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  304. package/dist/theming/getThemeDesignerTheme.js +73 -60
  305. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  306. package/dist/theming/preloadLinks.d.ts +3 -0
  307. package/dist/theming/preloadLinks.js +19 -0
  308. package/dist/theming/preloadLinks.js.map +1 -0
  309. package/dist/thirdparty/_merge.d.ts +2 -0
  310. package/dist/thirdparty/_merge.js +7 -4
  311. package/dist/thirdparty/_merge.js.map +1 -0
  312. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  313. package/dist/thirdparty/isPlainObject.js +11 -10
  314. package/dist/thirdparty/isPlainObject.js.map +1 -0
  315. package/dist/thirdparty/merge.d.ts +2 -0
  316. package/dist/thirdparty/merge.js +4 -8
  317. package/dist/thirdparty/merge.js.map +1 -0
  318. package/dist/types/AnimationMode.d.ts +24 -0
  319. package/dist/types/AnimationMode.js +25 -6
  320. package/dist/types/AnimationMode.js.map +1 -0
  321. package/dist/types/CSSColor.d.ts +11 -0
  322. package/dist/types/CSSColor.js +10 -5
  323. package/dist/types/CSSColor.js.map +1 -0
  324. package/dist/types/CSSSize.d.ts +11 -0
  325. package/dist/types/CSSSize.js +10 -5
  326. package/dist/types/CSSSize.js.map +1 -0
  327. package/dist/types/CalendarType.d.ts +28 -0
  328. package/dist/types/CalendarType.js +26 -18
  329. package/dist/types/CalendarType.js.map +1 -0
  330. package/dist/types/DOMReference.d.ts +13 -0
  331. package/dist/types/DOMReference.js +21 -0
  332. package/dist/types/DOMReference.js.map +1 -0
  333. package/dist/types/DataType.d.ts +20 -0
  334. package/dist/types/DataType.js +31 -29
  335. package/dist/types/DataType.js.map +1 -0
  336. package/dist/types/Float.d.ts +14 -0
  337. package/dist/types/Float.js +14 -10
  338. package/dist/types/Float.js.map +1 -0
  339. package/dist/types/Integer.d.ts +14 -0
  340. package/dist/types/Integer.js +14 -9
  341. package/dist/types/Integer.js.map +1 -0
  342. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  343. package/dist/types/InvisibleMessageMode.js +12 -22
  344. package/dist/types/InvisibleMessageMode.js.map +1 -0
  345. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  346. package/dist/types/ItemNavigationBehavior.js +16 -12
  347. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  348. package/dist/types/NavigationMode.d.ts +24 -0
  349. package/dist/types/NavigationMode.js +25 -6
  350. package/dist/types/NavigationMode.js.map +1 -0
  351. package/dist/types/ValueState.d.ts +28 -0
  352. package/dist/types/ValueState.js +27 -19
  353. package/dist/types/ValueState.js.map +1 -0
  354. package/dist/types.d.ts +18 -0
  355. package/dist/types.js +2 -0
  356. package/dist/types.js.map +1 -0
  357. package/dist/updateShadowRoot.d.ts +8 -0
  358. package/dist/updateShadowRoot.js +32 -16
  359. package/dist/updateShadowRoot.js.map +1 -0
  360. package/dist/util/AriaLabelHelper.d.ts +15 -0
  361. package/dist/util/AriaLabelHelper.js +166 -36
  362. package/dist/util/AriaLabelHelper.js.map +1 -0
  363. package/dist/util/Caret.d.ts +7 -0
  364. package/dist/util/Caret.js +16 -38
  365. package/dist/util/Caret.js.map +1 -0
  366. package/dist/util/ColorConversion.d.ts +30 -0
  367. package/dist/util/ColorConversion.js +320 -348
  368. package/dist/util/ColorConversion.js.map +1 -0
  369. package/dist/util/FetchHelper.d.ts +3 -0
  370. package/dist/util/FetchHelper.js +19 -25
  371. package/dist/util/FetchHelper.js.map +1 -0
  372. package/dist/util/FocusableElements.d.ts +4 -0
  373. package/dist/util/FocusableElements.js +67 -72
  374. package/dist/util/FocusableElements.js.map +1 -0
  375. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  376. package/dist/util/HTMLSanitizer.js +4 -5
  377. package/dist/util/HTMLSanitizer.js.map +1 -0
  378. package/dist/util/InvisibleMessage.d.ts +10 -0
  379. package/dist/util/InvisibleMessage.js +42 -44
  380. package/dist/util/InvisibleMessage.js.map +1 -0
  381. package/dist/util/PopupUtils.d.ts +7 -0
  382. package/dist/util/PopupUtils.js +58 -77
  383. package/dist/util/PopupUtils.js.map +1 -0
  384. package/dist/util/SlotsHelper.d.ts +9 -0
  385. package/dist/util/SlotsHelper.js +22 -35
  386. package/dist/util/SlotsHelper.js.map +1 -0
  387. package/dist/util/StringHelper.d.ts +3 -0
  388. package/dist/util/StringHelper.js +17 -20
  389. package/dist/util/StringHelper.js.map +1 -0
  390. package/dist/util/TabbableElements.d.ts +17 -0
  391. package/dist/util/TabbableElements.js +53 -43
  392. package/dist/util/TabbableElements.js.map +1 -0
  393. package/dist/util/arraysAreEqual.d.ts +2 -0
  394. package/dist/util/arraysAreEqual.js +10 -12
  395. package/dist/util/arraysAreEqual.js.map +1 -0
  396. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  397. package/dist/util/clamp.js +2 -2
  398. package/dist/util/clamp.js.map +1 -0
  399. package/dist/util/createLinkInHead.d.ts +7 -0
  400. package/dist/util/createLinkInHead.js +21 -0
  401. package/dist/util/createLinkInHead.js.map +1 -0
  402. package/dist/util/createStyleInHead.d.ts +8 -0
  403. package/dist/util/createStyleInHead.js +10 -10
  404. package/dist/util/createStyleInHead.js.map +1 -0
  405. package/dist/util/debounce.d.ts +2 -0
  406. package/dist/util/debounce.js +6 -8
  407. package/dist/util/debounce.js.map +1 -0
  408. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  409. package/dist/util/detectNavigatorLanguage.js +13 -11
  410. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  411. package/dist/util/escapeRegex.d.ts +8 -0
  412. package/dist/util/escapeRegex.js +11 -0
  413. package/dist/util/escapeRegex.js.map +1 -0
  414. package/dist/util/formatMessage.d.ts +2 -0
  415. package/dist/util/formatMessage.js +15 -19
  416. package/dist/util/formatMessage.js.map +1 -0
  417. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  418. package/dist/util/generateHighlightedMarkup.js +41 -0
  419. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  420. package/dist/util/getActiveElement.d.ts +2 -0
  421. package/dist/util/getActiveElement.js +6 -8
  422. package/dist/util/getActiveElement.js.map +1 -0
  423. package/dist/util/getClassCopy.d.ts +419 -0
  424. package/dist/util/getClassCopy.js +7 -7
  425. package/dist/util/getClassCopy.js.map +1 -0
  426. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  427. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  428. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  429. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  430. package/dist/util/getEffectiveContentDensity.js +2 -3
  431. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  432. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  433. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  434. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  435. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  436. package/dist/util/getFastNavigationGroups.js +51 -0
  437. package/dist/util/getFastNavigationGroups.js.map +1 -0
  438. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  439. package/dist/util/getFileExtension.js +9 -11
  440. package/dist/util/getFileExtension.js.map +1 -0
  441. package/dist/util/getNormalizedTarget.d.ts +7 -0
  442. package/dist/util/getNormalizedTarget.js +14 -0
  443. package/dist/util/getNormalizedTarget.js.map +1 -0
  444. package/dist/util/getParentElement.d.ts +2 -0
  445. package/dist/util/getParentElement.js +5 -0
  446. package/dist/util/getParentElement.js.map +1 -0
  447. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  448. package/dist/util/getSingletonElementInstance.js +17 -11
  449. package/dist/util/getSingletonElementInstance.js.map +1 -0
  450. package/dist/util/isElementClickable.d.ts +2 -0
  451. package/dist/util/isElementClickable.js +16 -0
  452. package/dist/util/isElementClickable.js.map +1 -0
  453. package/dist/util/isElementContainingBlock.d.ts +2 -0
  454. package/dist/util/isElementContainingBlock.js +11 -0
  455. package/dist/util/isElementContainingBlock.js.map +1 -0
  456. package/dist/util/isElementHidden.d.ts +2 -0
  457. package/dist/util/isElementHidden.js +8 -0
  458. package/dist/util/isElementHidden.js.map +1 -0
  459. package/dist/util/isElementInView.d.ts +6 -0
  460. package/dist/util/isElementInView.js +6 -9
  461. package/dist/util/isElementInView.js.map +1 -0
  462. package/dist/util/isElementTabbable.d.ts +9 -0
  463. package/dist/util/isElementTabbable.js +30 -0
  464. package/dist/util/isElementTabbable.js.map +1 -0
  465. package/dist/util/isValidPropertyName.d.ts +8 -0
  466. package/dist/util/isValidPropertyName.js +16 -17
  467. package/dist/util/isValidPropertyName.js.map +1 -0
  468. package/dist/util/whenDOMReady.d.ts +2 -0
  469. package/dist/util/whenDOMReady.js +11 -10
  470. package/dist/util/whenDOMReady.js.map +1 -0
  471. package/dist/util/willShowContent.d.ts +2 -0
  472. package/dist/util/willShowContent.js +7 -0
  473. package/dist/util/willShowContent.js.map +1 -0
  474. package/dist/validateThemeRoot.d.ts +2 -0
  475. package/dist/validateThemeRoot.js +48 -0
  476. package/dist/validateThemeRoot.js.map +1 -0
  477. package/index.js +225 -1
  478. package/lib/generate-asset-parameters/index.js +11 -6
  479. package/lib/generate-styles/index.js +31 -0
  480. package/lib/generate-version-info/index.js +32 -0
  481. package/package-scripts.cjs +65 -0
  482. package/package.json +21 -13
  483. package/src/css/BusyIndicator.css +80 -0
  484. package/src/css/FontFace.css +96 -0
  485. package/src/css/OverrideFontFace.css +32 -0
  486. package/src/css/SystemCSSVars.css +9 -0
  487. package/src/renderer/directives/style-map.js +72 -0
  488. package/tsconfig.json +18 -0
  489. package/used-modules.txt +8 -1
  490. package/config/rollup.config.js +0 -1
  491. package/config/wdio.conf.js +0 -1
  492. package/dist/RenderScheduler.js +0 -44
  493. package/dist/animations/config.js +0 -5
  494. package/dist/config/RTL.js +0 -31
  495. package/dist/isLegacyBrowser.js +0 -3
  496. package/dist/resources/bundle.esm.js +0 -37
  497. package/dist/resources/bundle.esm.js.map +0 -1
  498. package/dist/test-resources/assets/Themes.js +0 -17
  499. package/dist/test-resources/elements/Child.js +0 -35
  500. package/dist/test-resources/elements/Generic.js +0 -84
  501. package/dist/test-resources/elements/GenericExt.js +0 -26
  502. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  503. package/dist/test-resources/elements/Parent.js +0 -41
  504. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  505. package/dist/test-resources/pages/AllTestElements.html +0 -42
  506. package/dist/test-resources/pages/Configuration.html +0 -18
  507. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  508. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  509. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  510. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  511. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  512. package/dist/test-resources/pages/i18n.html +0 -35
  513. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  514. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  515. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  516. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  517. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  518. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  519. package/dist/test-resources/specs/Theming.spec.js +0 -33
  520. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  521. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  522. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  523. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  524. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  525. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  526. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  527. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  528. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  529. package/dist/types/PopupState.js +0 -37
  530. package/dist/util/encodeCSS.js +0 -24
  531. package/dist/util/findNodeOwner.js +0 -35
  532. package/dist/util/isDescendantOf.js +0 -15
  533. package/dist/util/isNodeClickable.js +0 -19
  534. package/dist/util/isNodeHidden.js +0 -9
  535. package/dist/util/isNodeTabbable.js +0 -28
  536. package/dist/util/setToArray.js +0 -10
  537. package/hash.txt +0 -1
  538. package/package-scripts.js +0 -62
  539. package/src/AssetRegistry.js +0 -11
  540. package/src/Boot.js +0 -43
  541. package/src/CustomElementsRegistry.js +0 -39
  542. package/src/CustomElementsScope.js +0 -108
  543. package/src/DOMObserver.js +0 -65
  544. package/src/Device.js +0 -102
  545. package/src/EventProvider.js +0 -85
  546. package/src/FeaturesRegistry.js +0 -11
  547. package/src/FontFace.js +0 -118
  548. package/src/InitialConfiguration.js +0 -155
  549. package/src/Keys.js +0 -248
  550. package/src/MediaRange.js +0 -109
  551. package/src/PropertiesFileFormat.js +0 -95
  552. package/src/Render.js +0 -173
  553. package/src/RenderQueue.js +0 -66
  554. package/src/RenderScheduler.js +0 -44
  555. package/src/StaticArea.js +0 -3
  556. package/src/StaticAreaItem.js +0 -107
  557. package/src/SystemCSSVars.js +0 -31
  558. package/src/UI5Element.js +0 -1026
  559. package/src/UI5ElementMetadata.js +0 -311
  560. package/src/animations/AnimationQueue.js +0 -42
  561. package/src/animations/animate.js +0 -53
  562. package/src/animations/config.js +0 -5
  563. package/src/animations/scroll.js +0 -28
  564. package/src/animations/slideDown.js +0 -79
  565. package/src/animations/slideUp.js +0 -71
  566. package/src/asset-registries/Icons.js +0 -128
  567. package/src/asset-registries/Illustrations.js +0 -30
  568. package/src/asset-registries/LocaleData.js +0 -150
  569. package/src/asset-registries/Themes.js +0 -78
  570. package/src/asset-registries/i18n.js +0 -121
  571. package/src/config/AnimationMode.js +0 -23
  572. package/src/config/CalendarType.js +0 -18
  573. package/src/config/FormatSettings.js +0 -13
  574. package/src/config/Language.js +0 -68
  575. package/src/config/NoConflict.js +0 -51
  576. package/src/config/RTL.js +0 -31
  577. package/src/config/Theme.js +0 -28
  578. package/src/delegate/ItemNavigation.js +0 -351
  579. package/src/delegate/ResizeHandler.js +0 -106
  580. package/src/delegate/ScrollEnablement.js +0 -188
  581. package/src/features/OpenUI5Support.js +0 -125
  582. package/src/getSharedResource.js +0 -30
  583. package/src/i18nBundle.js +0 -56
  584. package/src/isLegacyBrowser.js +0 -3
  585. package/src/locale/Locale.js +0 -91
  586. package/src/locale/RTLAwareRegistry.js +0 -14
  587. package/src/locale/applyDirection.js +0 -17
  588. package/src/locale/directionChange.js +0 -32
  589. package/src/locale/getEffectiveDir.js +0 -28
  590. package/src/locale/getLocale.js +0 -41
  591. package/src/locale/languageChange.js +0 -22
  592. package/src/locale/nextFallbackLocale.js +0 -28
  593. package/src/locale/normalizeLocale.js +0 -54
  594. package/src/renderer/LitRenderer.js +0 -32
  595. package/src/renderer/executeTemplate.js +0 -17
  596. package/src/theming/CustomStyle.js +0 -40
  597. package/src/theming/ThemeLoaded.js +0 -22
  598. package/src/theming/applyTheme.js +0 -78
  599. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  600. package/src/theming/getConstructableStyle.js +0 -30
  601. package/src/theming/getEffectiveStyle.js +0 -30
  602. package/src/theming/getStylesString.js +0 -13
  603. package/src/theming/getThemeDesignerTheme.js +0 -67
  604. package/src/thirdparty/_merge.js +0 -32
  605. package/src/thirdparty/isPlainObject.js +0 -18
  606. package/src/thirdparty/merge.js +0 -10
  607. package/src/types/AnimationMode.js +0 -7
  608. package/src/types/CSSColor.js +0 -9
  609. package/src/types/CSSSize.js +0 -9
  610. package/src/types/CalendarType.js +0 -22
  611. package/src/types/DataType.js +0 -37
  612. package/src/types/Float.js +0 -14
  613. package/src/types/Integer.js +0 -13
  614. package/src/types/InvisibleMessageMode.js +0 -30
  615. package/src/types/ItemNavigationBehavior.js +0 -16
  616. package/src/types/NavigationMode.js +0 -7
  617. package/src/types/PopupState.js +0 -37
  618. package/src/types/ValueState.js +0 -22
  619. package/src/updateShadowRoot.js +0 -26
  620. package/src/util/AriaLabelHelper.js +0 -41
  621. package/src/util/Caret.js +0 -45
  622. package/src/util/ColorConversion.js +0 -370
  623. package/src/util/FetchHelper.js +0 -31
  624. package/src/util/FocusableElements.js +0 -77
  625. package/src/util/InvisibleMessage.js +0 -58
  626. package/src/util/PopupUtils.js +0 -93
  627. package/src/util/SlotsHelper.js +0 -43
  628. package/src/util/StringHelper.js +0 -26
  629. package/src/util/TabbableElements.js +0 -47
  630. package/src/util/arraysAreEqual.js +0 -15
  631. package/src/util/createStyleInHead.js +0 -18
  632. package/src/util/debounce.js +0 -17
  633. package/src/util/detectNavigatorLanguage.js +0 -13
  634. package/src/util/encodeCSS.js +0 -24
  635. package/src/util/findNodeOwner.js +0 -35
  636. package/src/util/formatMessage.js +0 -23
  637. package/src/util/getActiveElement.js +0 -11
  638. package/src/util/getClassCopy.js +0 -10
  639. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  640. package/src/util/getEffectiveContentDensity.js +0 -5
  641. package/src/util/getSingletonElementInstance.js +0 -13
  642. package/src/util/isDescendantOf.js +0 -15
  643. package/src/util/isElementInView.js +0 -15
  644. package/src/util/isNodeClickable.js +0 -19
  645. package/src/util/isNodeHidden.js +0 -9
  646. package/src/util/isNodeTabbable.js +0 -28
  647. package/src/util/isValidPropertyName.js +0 -29
  648. package/src/util/setToArray.js +0 -10
  649. package/src/util/whenDOMReady.js +0 -13
  650. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,63 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Event provider attaches and detaches listeners properly", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that listeners can be removed (1 listener)", async () => {
9
-
10
- const res = await browser.executeAsync(done => {
11
- let timesCalled = 0;
12
- const ep = new window["sap-ui-webcomponents-bundle"].EventProvider();
13
- const callback = () => {
14
- timesCalled++;
15
- };
16
-
17
- // Setup
18
- ep.attachEvent("test", callback);
19
-
20
- // Act
21
- ep.fireEvent("test"); // should execute the callback and increase the counter
22
-
23
- // Setup
24
- ep.detachEvent("test", callback);
25
-
26
- // Act
27
- ep.fireEvent("test"); // should not execute the callback and increase the counter
28
-
29
- done(timesCalled);
30
- });
31
-
32
- assert.strictEqual(res, 1, "The callback should be called exactly once");
33
- });
34
-
35
- it("Tests that listeners can be removed (more than 1 listener)", async () => {
36
-
37
- const res = await browser.executeAsync(done => {
38
- let timesCalled = 0;
39
- const ep = new window["sap-ui-webcomponents-bundle"].EventProvider();
40
- const callback = () => {
41
- timesCalled++;
42
- };
43
- const somePreviousCallback = () => {};
44
-
45
- // Setup
46
- ep.attachEvent("test", somePreviousCallback); // Attach something so that after detachEvent the listeners array is not empty!
47
- ep.attachEvent("test", callback);
48
-
49
- // Act
50
- ep.fireEvent("test"); // should execute the callback and increase the counter
51
-
52
- // Setup
53
- ep.detachEvent("test", callback);
54
-
55
- // Act
56
- ep.fireEvent("test"); // should not execute the callback and increase the counter
57
-
58
- done(timesCalled);
59
- });
60
-
61
- assert.strictEqual(res, 1, "The callback should be called exactly once");
62
- });
63
- });
@@ -1,78 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Some configuration options can be changed at runtime", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests control with no static area item", async () => {
9
- const componentId = await browser.$("#no-static-area").getProperty("_id");
10
- const staticArea = await browser.$("ui5-static-area");
11
-
12
- assert.notOk(await staticArea.$(`.${componentId}`).isExisting(), "No static area item is defined for this control");
13
- });
14
-
15
- it("Tests control with static area item", async () => {
16
- const componentId = await browser.$("#with-static-area").getProperty("_id");
17
- const staticArea = await browser.$("ui5-static-area");
18
-
19
- assert.ok(await staticArea.$(`.${componentId}`).isExisting(), "No static area item is defined for this control");
20
- });
21
-
22
- it("Tests removing an element with static area", async () => {
23
- const result = await browser.executeAsync(done => {
24
- let res = true;
25
- window.onerror = (errorMsg, url, lineNumber) => {
26
- res = false;
27
- }
28
-
29
- document.querySelector("#no-static-area").remove();
30
-
31
- done(res);
32
- });
33
-
34
- assert.ok(result, "Static area removed from DOM successfully");
35
- });
36
-
37
- it("Test RTL not set for static area items", async () => {
38
- const componentId = await browser.$("#with-static-area").getProperty("_id");
39
- const staticArea = await browser.$("ui5-static-area");
40
-
41
- assert.notOk(await staticArea.$(`.${componentId}`).getAttribute("dir"), "dir attribute not set for static area item");
42
- });
43
-
44
- it("Test RTL set for static area items", async () => {
45
- const componentId = await browser.$("#with-static-area-rtl").getProperty("_id");
46
- const staticArea = await browser.$("ui5-static-area");
47
-
48
- assert.equal(await staticArea.$(`.${componentId}`).getAttribute("dir"), "rtl", "dir property correctly set for static area item");
49
- });
50
-
51
- it("Test setting RTL for a static area item owner", async () => {
52
- const componentId = await browser.$("#with-static-area").getProperty("_id");
53
- const staticArea = await browser.$("ui5-static-area");
54
-
55
- await browser.$("#with-static-area").setAttribute("dir", "rtl");
56
- await browser.executeAsync( async (done) => {
57
- await window["sap-ui-webcomponents-bundle"].applyDirection();
58
- await window["sap-ui-webcomponents-bundle"].renderFinished();
59
-
60
- done();
61
- });
62
- assert.equal(await staticArea.$(`.${componentId}`).getAttribute("dir"), "rtl", "dir attribute dynamically set for static area item owner");
63
- });
64
-
65
- it("Test removing RTL for a static area item owner", async () => {
66
- const componentId = await browser.$("#with-static-area-rtl").getProperty("_id");
67
- const staticArea = await browser.$("ui5-static-area");
68
-
69
- await browser.$("#with-static-area-rtl-container").removeAttribute("dir");
70
- await browser.executeAsync( async (done) => {
71
- await window["sap-ui-webcomponents-bundle"].applyDirection();
72
- await window["sap-ui-webcomponents-bundle"].renderFinished();
73
-
74
- done();
75
- });
76
- assert.notOk(await staticArea.$(`.${componentId}`).getAttribute("dir"), "dir attribute dynamically removed for static area item owner");
77
- });
78
- });
@@ -1,33 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Theming works", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that the parameters for the default theme are embedded on boot", async () => {
9
-
10
- const res = await browser.executeAsync(done => {
11
- const style = document.querySelector(`style[data-ui5-theme-properties="@ui5/webcomponents-base-test"]`);
12
- done(style && style.textContent.includes("--var1: red")); // see test/assets/Themes.js
13
- });
14
-
15
- assert.strictEqual(res, true, "The fiori3 vars are found");
16
- });
17
-
18
- it("Tests that theme parameters are changed on theme change", async () => {
19
- const newTheme = 'sap_belize_hcb';
20
-
21
- const res = await browser.executeAsync( async (newTheme, done) => {
22
- const config = window['sap-ui-webcomponents-bundle'].configuration;
23
- await config.setTheme(newTheme);
24
-
25
- const style = document.querySelector(`style[data-ui5-theme-properties="@ui5/webcomponents-base-test"]`);
26
- const varsFound = style && style.textContent.includes("--var1: orange"); // see test/assets/Themes.js
27
- done(varsFound);
28
- }, newTheme);
29
-
30
- assert.strictEqual(res, true, "Theme parameters changed");
31
- });
32
-
33
- });
@@ -1,242 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Invalidation works", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that changing a property invalidates", async () => {
9
-
10
- const res = await browser.executeAsync( async (done) => {
11
-
12
- const el = document.getElementById("gen");
13
-
14
- // Exactly 1 invalidation for each property change
15
- let invalidations = 0;
16
-
17
- el.onInvalidation = () => {
18
- invalidations++;
19
- };
20
-
21
- el.strProp = "new value";
22
- el.boolProp = true;
23
-
24
- await window["sap-ui-webcomponents-bundle"].renderFinished();
25
-
26
- done(invalidations);
27
- });
28
-
29
- assert.strictEqual(res, 2, "Invalidated 2 times");
30
- });
31
-
32
- it("Tests that setting a property to the same value does not invalidate", async () => {
33
-
34
- const res = await browser.executeAsync( async (done) => {
35
- const text = "some value";
36
-
37
- const el = document.getElementById("gen");
38
- el.strProp = text;
39
- await window["sap-ui-webcomponents-bundle"].renderFinished();
40
-
41
- let invalidations = 0;
42
-
43
- el.onInvalidation = () => {
44
- invalidations++;
45
- };
46
-
47
- el.strProp = text;
48
-
49
- await window["sap-ui-webcomponents-bundle"].renderFinished();
50
-
51
- done(invalidations);
52
- });
53
-
54
- assert.strictEqual(res, 0, "Not invalidated");
55
- });
56
-
57
- it("Tests that setting a property of type Object always invalidates", async () => {
58
-
59
- const res = await browser.executeAsync( async (done) => {
60
- const obj = {};
61
- const otherObj = {};
62
-
63
- const el = document.getElementById("gen");
64
- el.objectProp = obj;
65
- await window["sap-ui-webcomponents-bundle"].renderFinished();
66
-
67
- let invalidations = 0;
68
-
69
- el.onInvalidation = () => {
70
- invalidations++;
71
- };
72
-
73
- el.objectProp = otherObj;
74
-
75
- await window["sap-ui-webcomponents-bundle"].renderFinished();
76
-
77
- done(invalidations);
78
- });
79
-
80
- assert.strictEqual(res, 1, "Invalidated");
81
- });
82
-
83
- it("Tests that setting an array property always invalidates", async () => {
84
-
85
- const res = await browser.executeAsync( async (done) => {
86
- const arr = [];
87
- const otherArr = [];
88
-
89
- const el = document.getElementById("gen");
90
- el.multiProp = arr;
91
- await window["sap-ui-webcomponents-bundle"].renderFinished();
92
-
93
- let invalidations = 0;
94
-
95
- el.onInvalidation = () => {
96
- invalidations++;
97
- };
98
-
99
- el.multiProp = otherArr;
100
-
101
- await window["sap-ui-webcomponents-bundle"].renderFinished();
102
-
103
- done(invalidations);
104
- });
105
-
106
- assert.strictEqual(res, 1, "Invalidated");
107
- });
108
-
109
- it("Tests that adding a child invalidates", async () => {
110
-
111
- const res = await browser.executeAsync( async (done) => {
112
-
113
- const el = document.getElementById("gen");
114
-
115
- // Number of invalidations may vary with children/slots count, so just check for invalidation
116
- let invalidated = false;
117
-
118
- el.onInvalidation = () => {
119
- invalidated = true;
120
- };
121
-
122
- const div = document.createElement("div");
123
- el.appendChild(div);
124
-
125
- await window["sap-ui-webcomponents-bundle"].renderFinished();
126
-
127
- done(invalidated);
128
- });
129
-
130
- assert.strictEqual(res, true, "Invalidated");
131
- });
132
-
133
- it("Tests that removing a child invalidates", async () => {
134
-
135
- const res = await browser.executeAsync( async (done) => {
136
-
137
- const el = document.getElementById("gen");
138
- const div = document.createElement("div");
139
- el.appendChild(div);
140
-
141
- await window["sap-ui-webcomponents-bundle"].renderFinished();
142
-
143
- let invalidated = false;
144
-
145
- el.onInvalidation = () => {
146
- invalidated = true;
147
- };
148
-
149
- el.removeChild(div);
150
-
151
- await window["sap-ui-webcomponents-bundle"].renderFinished();
152
-
153
- done(invalidated);
154
- });
155
-
156
- assert.strictEqual(res, true, "Invalidated");
157
- });
158
-
159
- it("Tests that modifying textContent invalidates", async () => {
160
-
161
- const res = await browser.executeAsync( async (done) => {
162
-
163
- const el = document.getElementById("gen");
164
- el.textContent = "test";
165
- await window["sap-ui-webcomponents-bundle"].renderFinished();
166
-
167
- // Number of invalidations may vary with children/slots count, so just check for invalidation
168
- let invalidated = false;
169
-
170
- el.onInvalidation = () => {
171
- invalidated = true;
172
- };
173
-
174
- el.textContent = "test2";
175
-
176
- await window["sap-ui-webcomponents-bundle"].renderFinished();
177
-
178
- done(invalidated);
179
- });
180
-
181
- assert.strictEqual(res, true, "Invalidated");
182
- });
183
-
184
- it("Tests that modifying nodeValue invalidates", async () => {
185
-
186
- const res = await browser.executeAsync( async (done) => {
187
-
188
- const el = document.getElementById("gen");
189
- el.textContent = "test";
190
- await window["sap-ui-webcomponents-bundle"].renderFinished();
191
-
192
- // Number of invalidations may vary with children/slots count, so just check for invalidation
193
- let invalidated = false;
194
-
195
- el.onInvalidation = () => {
196
- invalidated = true;
197
- };
198
-
199
- el.childNodes[0].nodeValue = "test2";
200
-
201
- await window["sap-ui-webcomponents-bundle"].renderFinished();
202
-
203
- done(invalidated);
204
- });
205
-
206
- assert.strictEqual(res, true, "Invalidated");
207
- });
208
-
209
- it("Tests that multiple invalidations result in a single rendering", async () => {
210
-
211
- const res = await browser.executeAsync( async (done) => {
212
-
213
- const el = document.getElementById("gen");
214
-
215
- const operations = {
216
- invalidation: 0,
217
- rendering: 0,
218
- };
219
-
220
- el.onInvalidation = () => {
221
- operations.invalidation++;
222
- };
223
-
224
- const originalRender = el._render;
225
- el._render = () => {
226
- originalRender.apply(el, arguments);
227
- operations.rendering++;
228
- };
229
-
230
- el.strProp = "new";
231
- el.strProp = "newer";
232
-
233
- await window["sap-ui-webcomponents-bundle"].renderFinished();
234
-
235
- done(operations);
236
- });
237
-
238
- assert.strictEqual(res.invalidation, 2, "Invalidated 2 times");
239
- assert.strictEqual(res.rendering, 1, "Rendered once");
240
- });
241
-
242
- });
@@ -1,98 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Lifecycle works", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests element creation callbacks", async () => {
9
-
10
- const res = await browser.executeAsync( async (done) => {
11
- const creationCallbacks = ["onBeforeRendering", "onAfterRendering", "onEnterDOM"];
12
- const calledCallbacks = [];
13
-
14
- const el = document.createElement("ui5-test-generic");
15
-
16
- creationCallbacks.forEach(callback => {
17
- const original = el[callback];
18
- el[callback] = () => {
19
- calledCallbacks.push(callback);
20
- original.call(el);
21
- };
22
- });
23
-
24
- document.body.appendChild(el);
25
- await window["sap-ui-webcomponents-bundle"].renderFinished();
26
-
27
- done(calledCallbacks);
28
- });
29
-
30
- assert.strictEqual(res.length, 3, "All 3 callbacks called");
31
- assert.strictEqual(res[0], "onBeforeRendering", "onBeforeRendering called first");
32
- assert.strictEqual(res[1], "onAfterRendering", "onAfterRendering called second");
33
- assert.strictEqual(res[2], "onEnterDOM", "onEnterDOM called third");
34
- });
35
-
36
- it("Tests element invalidation callbacks", async () => {
37
-
38
- const res = await browser.executeAsync( async (done) => {
39
- const invalidationCallbacks = ["onBeforeRendering", "onAfterRendering"];
40
- const calledCallbacks = [];
41
-
42
- const el = document.createElement("ui5-test-generic");
43
- document.body.appendChild(el);
44
-
45
- await window["sap-ui-webcomponents-bundle"].renderFinished();
46
-
47
- el.strProp = "some string";
48
-
49
- invalidationCallbacks.forEach(callback => {
50
- const original = el[callback];
51
- el[callback] = () => {
52
- calledCallbacks.push(callback);
53
- original.call(el);
54
- };
55
- });
56
-
57
- await window["sap-ui-webcomponents-bundle"].renderFinished();
58
-
59
- done(calledCallbacks);
60
- });
61
-
62
- assert.strictEqual(res.length, 2, "All 2 callbacks called");
63
- assert.strictEqual(res[0], "onBeforeRendering", "onBeforeRendering called first");
64
- assert.strictEqual(res[1], "onAfterRendering", "onAfterRendering called second");
65
- });
66
-
67
- it("Tests element destruction callback", async () => {
68
-
69
- const res = await browser.executeAsync( async (done) => {
70
- const destructionCallbacks = ["onExitDOM"];
71
- const calledCallbacks = [];
72
-
73
- const el = document.createElement("ui5-test-generic");
74
-
75
- destructionCallbacks.forEach(callback => {
76
- const original = el[callback];
77
- el[callback] = () => {
78
- calledCallbacks.push(callback);
79
- original.call(el);
80
- };
81
- });
82
-
83
- document.body.appendChild(el);
84
-
85
- await window["sap-ui-webcomponents-bundle"].renderFinished(); // Must wait, otherwise onExitDOM won't be called
86
-
87
- document.body.removeChild(el);
88
-
89
- await window["sap-ui-webcomponents-bundle"].renderFinished();
90
-
91
- done(calledCallbacks);
92
- });
93
-
94
- assert.strictEqual(res.length, 1, "Only 1 callback was called");
95
- assert.strictEqual(res[0], "onExitDOM", "onExitDOM called");
96
- });
97
-
98
- });
@@ -1,75 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Metadata slot invalidateOnChildChange works", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("Tests that changing a monitored property of a child invalidates the parent", async () => {
9
-
10
- const res = await browser.executeAsync( async (done) => {
11
- const parent = document.getElementById("parent");
12
- const child = document.getElementById("child1");
13
-
14
- let parentInvalidated = false;
15
-
16
- parent.onInvalidation = () => {
17
- parentInvalidated = true;
18
- };
19
-
20
- child.prop1 = "a"; // child1(default slot) prop1 -> invalidates
21
-
22
- await window["sap-ui-webcomponents-bundle"].renderFinished();
23
-
24
- done(parentInvalidated);
25
- });
26
-
27
- assert.strictEqual(res, true, "Parent invalidated");
28
- });
29
-
30
- it("Tests that changing a non-monitored property of a child does not invalidate the parent", async () => {
31
-
32
- const res = await browser.executeAsync( async (done) => {
33
- const parent = document.getElementById("parent");
34
- const child = document.getElementById("child1");
35
-
36
- let parentInvalidated = false;
37
-
38
- parent.onInvalidation = () => {
39
- parentInvalidated = true;
40
- };
41
-
42
- child.prop2 = "b"; // child1(default slot) prop 2 -> does not
43
-
44
- await window["sap-ui-webcomponents-bundle"].renderFinished();
45
-
46
- done(parentInvalidated);
47
- });
48
-
49
- assert.strictEqual(res, false, "Parent not invalidated");
50
- });
51
-
52
- it("Tests that listening for all properties works", async () => {
53
-
54
- const res = await browser.executeAsync( async (done) => {
55
- const parent = document.getElementById("parent");
56
- const child = document.getElementById("child2");
57
-
58
- let parentInvalidatedCount = 0;
59
-
60
- parent.onInvalidation = () => {
61
- parentInvalidatedCount++;
62
- };
63
-
64
- child.prop1 = "c";
65
- child.prop2 = "c";
66
- child.prop3 = "c";
67
-
68
- await window["sap-ui-webcomponents-bundle"].renderFinished();
69
-
70
- done(parentInvalidatedCount);
71
- });
72
-
73
- assert.strictEqual(res, 3, "Parent invalidated 3 times");
74
- });
75
- });
@@ -1,42 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Metadata can be extended", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("When extending metadata, both own and extended entities exist in the resulting metadata", async () => {
9
-
10
- const res = await browser.executeAsync(done => {
11
-
12
- const el = document.getElementById("genExt");
13
- const m = el.constructor.getMetadata();
14
-
15
- const ok = !!m.getProperties().strProp &&
16
- !!m.getProperties().extProp &&
17
- !!m.getSlots().default &&
18
- !!m.getSlots().extSlot;
19
-
20
- done(ok);
21
- });
22
-
23
- assert.strictEqual(res, true, "Metadata properly extended");
24
- });
25
-
26
- it("When extending metadata, property defaultValue can be modified", async () => {
27
-
28
- const res = await browser.executeAsync(done => {
29
-
30
- const el = document.getElementById("genExt");
31
- const m = el.constructor.getMetadata();
32
-
33
- const ok = !!m.getProperties().strProp &&
34
- m.getProperties().strProp.defaultValue === "Ext";
35
-
36
- done(ok);
37
- });
38
-
39
- assert.strictEqual(res, true, "Property defaultValue changed");
40
- });
41
-
42
- });
@@ -1,14 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- describe("Properties can only have values, restricted to their types", () => {
4
- before(async () => {
5
- await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
- });
7
-
8
- it("String property enforced to string", async () => {
9
- const el = await browser.$("#gen");
10
- await el.setProperty("strProp", 5);
11
- assert.strictEqual(await el.getProperty("strProp"), "5", "String property is string");
12
- });
13
-
14
- });