@ui5/webcomponents-base 0.0.0-389bdbabc → 0.0.0-453158269

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 (473) hide show
  1. package/.eslintignore +4 -0
  2. package/CHANGELOG.md +407 -0
  3. package/README.md +26 -2
  4. package/bundle.esm.js +18 -12
  5. package/dist/AssetRegistry.js +8 -6
  6. package/dist/Boot.js +59 -0
  7. package/dist/CSP.js +59 -0
  8. package/dist/CustomElementsRegistry.js +95 -0
  9. package/dist/CustomElementsScope.js +30 -0
  10. package/dist/CustomElementsScopeUtils.js +108 -0
  11. package/dist/DOMObserver.js +65 -0
  12. package/dist/Device.js +71 -773
  13. package/dist/EventProvider.js +38 -26
  14. package/dist/FeaturesRegistry.js +4 -1
  15. package/dist/FontFace.js +20 -56
  16. package/dist/InitialConfiguration.js +64 -17
  17. package/dist/Keys.js +295 -0
  18. package/dist/ManagedStyles.js +83 -0
  19. package/dist/MediaRange.js +109 -0
  20. package/dist/PropertiesFileFormat.js +95 -0
  21. package/dist/Render.js +175 -0
  22. package/dist/RenderQueue.js +41 -17
  23. package/dist/RenderScheduler.js +24 -145
  24. package/dist/Runtimes.js +107 -0
  25. package/dist/StaticArea.js +2 -34
  26. package/dist/StaticAreaItem.js +69 -35
  27. package/dist/SystemCSSVars.js +10 -0
  28. package/dist/Theming.js +3 -44
  29. package/dist/UI5Element.js +497 -306
  30. package/dist/UI5ElementMetadata.js +198 -19
  31. package/dist/asset-registries/Icons.js +125 -14
  32. package/dist/asset-registries/Illustrations.js +30 -0
  33. package/dist/asset-registries/LocaleData.js +114 -51
  34. package/dist/asset-registries/Themes.js +37 -30
  35. package/dist/asset-registries/i18n.js +80 -34
  36. package/dist/assets-meta/IconCollectionsAlias.js +18 -0
  37. package/dist/config/AnimationMode.js +16 -2
  38. package/dist/config/CalendarType.js +7 -7
  39. package/dist/config/FormatSettings.js +5 -1
  40. package/dist/config/Icons.js +52 -0
  41. package/dist/config/Language.js +62 -3
  42. package/dist/config/NoConflict.js +10 -3
  43. package/dist/config/Theme.js +32 -3
  44. package/dist/css/BusyIndicator.css +80 -0
  45. package/dist/css/FontFace.css +75 -0
  46. package/dist/css/OverrideFontFace.css +32 -0
  47. package/dist/css/SystemCSSVars.css +17 -0
  48. package/dist/delegate/ItemNavigation.js +245 -168
  49. package/dist/delegate/ResizeHandler.js +78 -38
  50. package/dist/delegate/ScrollEnablement.js +122 -14
  51. package/dist/features/F6Navigation.js +106 -0
  52. package/dist/features/OpenUI5Enablement.js +119 -0
  53. package/dist/features/OpenUI5Support.js +125 -0
  54. package/dist/generated/AssetParameters.js +13 -0
  55. package/dist/generated/VersionInfo.js +10 -0
  56. package/dist/generated/css/BusyIndicator.css.js +5 -0
  57. package/dist/generated/css/FontFace.css.js +5 -0
  58. package/dist/generated/css/OverrideFontFace.css.js +5 -0
  59. package/dist/generated/css/SystemCSSVars.css.js +5 -0
  60. package/dist/getSharedResource.js +30 -0
  61. package/dist/i18nBundle.js +62 -11
  62. package/dist/isLegacyBrowser.js +3 -0
  63. package/dist/{Locale.js → locale/Locale.js} +0 -10
  64. package/dist/locale/RTLAwareRegistry.js +14 -0
  65. package/dist/locale/applyDirection.js +17 -0
  66. package/dist/locale/directionChange.js +32 -0
  67. package/dist/locale/getEffectiveDir.js +28 -0
  68. package/dist/locale/getLocale.js +41 -0
  69. package/dist/locale/languageChange.js +22 -0
  70. package/dist/locale/nextFallbackLocale.js +28 -0
  71. package/{src/util → dist/locale}/normalizeLocale.js +8 -31
  72. package/dist/renderer/LitRenderer.js +44 -7
  73. package/dist/renderer/directives/style-map.js +72 -0
  74. package/dist/renderer/executeTemplate.js +34 -0
  75. package/dist/resources/bundle.esm.js +18 -7436
  76. package/dist/resources/bundle.esm.js.map +1 -1
  77. package/dist/sap/base/Log.js +241 -0
  78. package/dist/sap/base/assert.js +8 -0
  79. package/dist/sap/base/security/URLListValidator.js +148 -0
  80. package/dist/sap/base/security/encodeCSS.js +14 -0
  81. package/dist/sap/base/security/encodeXML.js +23 -0
  82. package/dist/sap/base/security/sanitizeHTML.js +16 -0
  83. package/dist/sap/base/strings/toHex.js +8 -0
  84. package/dist/sap/base/util/now.js +7 -0
  85. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
  86. package/dist/test-resources/assets/Themes.js +11 -5
  87. package/dist/test-resources/elements/Generic.js +1 -0
  88. package/dist/test-resources/elements/Parent.js +7 -2
  89. package/dist/test-resources/elements/WithStaticArea.js +77 -0
  90. package/dist/test-resources/pages/AllTestElements.html +5 -5
  91. package/dist/test-resources/pages/Configuration.html +0 -2
  92. package/dist/test-resources/pages/ConfigurationScript.html +1 -3
  93. package/dist/test-resources/pages/assets/messagebundle_de.properties +1 -0
  94. package/dist/test-resources/pages/assets/messagebundle_en.properties +1 -0
  95. package/dist/test-resources/pages/assets/messagebundle_es.properties +1 -0
  96. package/dist/test-resources/pages/assets/messagebundle_fr.properties +1 -0
  97. package/dist/test-resources/pages/i18n.html +33 -0
  98. package/dist/test-resources/specs/ConfigurationChange.spec.js +11 -9
  99. package/dist/test-resources/specs/ConfigurationScript.spec.js +25 -23
  100. package/dist/test-resources/specs/ConfigurationURL.spec.js +65 -17
  101. package/dist/test-resources/specs/CustomTheme.spec.js +9 -7
  102. package/dist/test-resources/specs/EventProvider.spec.js +63 -0
  103. package/dist/test-resources/specs/StaticArea.spec.js +78 -0
  104. package/dist/test-resources/specs/Theming.spec.js +23 -10
  105. package/dist/test-resources/specs/UI5ElementInvalidation.js +54 -70
  106. package/dist/test-resources/specs/UI5ElementLifecycle.js +19 -14
  107. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +25 -51
  108. package/dist/test-resources/specs/UI5ElementMetadataExt.js +9 -7
  109. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +7 -5
  110. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +37 -35
  111. package/dist/test-resources/specs/UI5ElementShadowDOM.js +10 -8
  112. package/dist/test-resources/specs/UI5ElementSlots.js +10 -8
  113. package/dist/theming/CustomStyle.js +47 -6
  114. package/dist/theming/ThemeLoaded.js +22 -0
  115. package/dist/theming/applyTheme.js +79 -0
  116. package/dist/theming/getConstructableStyle.js +30 -0
  117. package/dist/theming/getEffectiveLinksHrefs.js +27 -0
  118. package/dist/theming/getEffectiveStyle.js +39 -0
  119. package/dist/theming/getStylesString.js +15 -0
  120. package/dist/theming/getThemeDesignerTheme.js +87 -0
  121. package/dist/theming/preloadLinks.js +23 -0
  122. package/dist/thirdparty/_merge.js +32 -0
  123. package/dist/thirdparty/isPlainObject.js +18 -0
  124. package/dist/thirdparty/merge.js +10 -0
  125. package/dist/types/CSSColor.js +9 -0
  126. package/{src/dates → dist/types}/CalendarType.js +2 -2
  127. package/dist/types/DataType.js +13 -1
  128. package/dist/types/Float.js +14 -0
  129. package/dist/types/Integer.js +4 -0
  130. package/dist/types/InvisibleMessageMode.js +30 -0
  131. package/dist/types/ItemNavigationBehavior.js +2 -7
  132. package/dist/types/NavigationMode.js +1 -0
  133. package/dist/types/PopupState.js +1 -1
  134. package/dist/types/ValueState.js +2 -1
  135. package/dist/updateShadowRoot.js +30 -0
  136. package/dist/util/AriaLabelHelper.js +41 -0
  137. package/dist/util/Caret.js +45 -0
  138. package/dist/util/ColorConversion.js +370 -0
  139. package/dist/util/FocusableElements.js +30 -11
  140. package/dist/util/HTMLSanitizer.js +7 -0
  141. package/dist/util/InvisibleMessage.js +60 -0
  142. package/dist/util/PopupUtils.js +93 -0
  143. package/dist/util/SlotsHelper.js +43 -0
  144. package/dist/util/StringHelper.js +17 -2
  145. package/dist/util/TabbableElements.js +9 -2
  146. package/dist/util/arraysAreEqual.js +15 -0
  147. package/dist/util/clamp.js +12 -0
  148. package/dist/util/createLinkInHead.js +19 -0
  149. package/dist/util/debounce.js +17 -0
  150. package/dist/util/detectNavigatorLanguage.js +3 -1
  151. package/dist/util/escapeRegex.js +10 -0
  152. package/dist/util/findNodeOwner.js +35 -0
  153. package/dist/util/generateHighlightedMarkup.js +42 -0
  154. package/dist/util/getActiveElement.js +11 -0
  155. package/dist/util/getClassCopy.js +10 -0
  156. package/dist/util/getEffectiveContentDensity.js +5 -0
  157. package/dist/util/getFileExtension.js +21 -0
  158. package/dist/util/getNormalizedTarget.js +16 -0
  159. package/dist/util/getSingletonElementInstance.js +13 -0
  160. package/dist/util/isElementInView.js +15 -0
  161. package/dist/util/isNodeHidden.js +1 -5
  162. package/dist/util/isNodeTabbable.js +4 -4
  163. package/dist/util/isValidPropertyName.js +11 -2
  164. package/dist/util/setToArray.js +10 -0
  165. package/hash.txt +1 -0
  166. package/index.js +1 -1
  167. package/lib/generate-asset-parameters/index.js +25 -0
  168. package/lib/generate-styles/index.js +26 -0
  169. package/lib/generate-version-info/index.js +32 -0
  170. package/package-scripts.js +34 -18
  171. package/package.json +21 -14
  172. package/src/AssetRegistry.js +8 -6
  173. package/src/Boot.js +59 -0
  174. package/src/CSP.js +59 -0
  175. package/src/CustomElementsRegistry.js +95 -0
  176. package/src/CustomElementsScope.js +30 -0
  177. package/src/CustomElementsScopeUtils.js +108 -0
  178. package/src/DOMObserver.js +65 -0
  179. package/src/Device.js +71 -773
  180. package/src/EventProvider.js +38 -26
  181. package/src/FeaturesRegistry.js +4 -1
  182. package/src/FontFace.js +20 -56
  183. package/src/InitialConfiguration.js +64 -17
  184. package/src/Keys.js +295 -0
  185. package/src/ManagedStyles.js +83 -0
  186. package/src/MediaRange.js +109 -0
  187. package/src/PropertiesFileFormat.js +95 -0
  188. package/src/Render.js +175 -0
  189. package/src/RenderQueue.js +41 -17
  190. package/src/RenderScheduler.js +24 -145
  191. package/src/Runtimes.js +107 -0
  192. package/src/StaticArea.js +1 -39
  193. package/src/StaticAreaItem.js +67 -39
  194. package/src/SystemCSSVars.js +10 -0
  195. package/src/Theming.js +3 -44
  196. package/src/UI5Element.js +497 -306
  197. package/src/UI5ElementMetadata.js +198 -19
  198. package/src/asset-registries/Icons.js +125 -14
  199. package/src/asset-registries/Illustrations.js +30 -0
  200. package/src/asset-registries/LocaleData.js +114 -51
  201. package/src/asset-registries/Themes.js +37 -30
  202. package/src/asset-registries/i18n.js +80 -34
  203. package/src/assets-meta/IconCollectionsAlias.js +18 -0
  204. package/src/config/AnimationMode.js +16 -2
  205. package/src/config/CalendarType.js +7 -7
  206. package/src/config/FormatSettings.js +5 -1
  207. package/src/config/Icons.js +52 -0
  208. package/src/config/Language.js +62 -3
  209. package/src/config/NoConflict.js +10 -3
  210. package/src/config/Theme.js +32 -3
  211. package/src/css/BusyIndicator.css +80 -0
  212. package/src/css/FontFace.css +75 -0
  213. package/src/css/OverrideFontFace.css +32 -0
  214. package/src/css/SystemCSSVars.css +17 -0
  215. package/src/delegate/ItemNavigation.js +245 -168
  216. package/src/delegate/ResizeHandler.js +78 -38
  217. package/src/delegate/ScrollEnablement.js +122 -14
  218. package/src/features/F6Navigation.js +106 -0
  219. package/src/features/OpenUI5Enablement.js +119 -0
  220. package/src/features/OpenUI5Support.js +125 -0
  221. package/src/getSharedResource.js +30 -0
  222. package/src/i18nBundle.js +62 -11
  223. package/src/isLegacyBrowser.js +3 -0
  224. package/src/{Locale.js → locale/Locale.js} +0 -10
  225. package/src/locale/RTLAwareRegistry.js +14 -0
  226. package/src/locale/applyDirection.js +17 -0
  227. package/src/locale/directionChange.js +32 -0
  228. package/src/locale/getEffectiveDir.js +28 -0
  229. package/src/locale/getLocale.js +41 -0
  230. package/src/locale/languageChange.js +22 -0
  231. package/src/locale/nextFallbackLocale.js +28 -0
  232. package/{dist/util → src/locale}/normalizeLocale.js +8 -31
  233. package/src/renderer/LitRenderer.js +44 -7
  234. package/src/renderer/directives/style-map.js +72 -0
  235. package/src/renderer/executeTemplate.js +34 -0
  236. package/src/theming/CustomStyle.js +47 -6
  237. package/src/theming/ThemeLoaded.js +22 -0
  238. package/src/theming/applyTheme.js +79 -0
  239. package/src/theming/getConstructableStyle.js +30 -0
  240. package/src/theming/getEffectiveLinksHrefs.js +27 -0
  241. package/src/theming/getEffectiveStyle.js +39 -0
  242. package/src/theming/getStylesString.js +15 -0
  243. package/src/theming/getThemeDesignerTheme.js +87 -0
  244. package/src/theming/preloadLinks.js +23 -0
  245. package/src/thirdparty/_merge.js +32 -0
  246. package/src/thirdparty/isPlainObject.js +18 -0
  247. package/src/thirdparty/merge.js +10 -0
  248. package/src/types/CSSColor.js +9 -0
  249. package/{dist/dates → src/types}/CalendarType.js +2 -2
  250. package/src/types/DataType.js +13 -1
  251. package/src/types/Float.js +14 -0
  252. package/src/types/Integer.js +4 -0
  253. package/src/types/InvisibleMessageMode.js +30 -0
  254. package/src/types/ItemNavigationBehavior.js +2 -7
  255. package/src/types/NavigationMode.js +1 -0
  256. package/src/types/PopupState.js +1 -1
  257. package/src/types/ValueState.js +2 -1
  258. package/src/updateShadowRoot.js +30 -0
  259. package/src/util/AriaLabelHelper.js +41 -0
  260. package/src/util/Caret.js +45 -0
  261. package/src/util/ColorConversion.js +370 -0
  262. package/src/util/FocusableElements.js +30 -11
  263. package/src/util/HTMLSanitizer.js +7 -0
  264. package/src/util/InvisibleMessage.js +60 -0
  265. package/src/util/PopupUtils.js +93 -0
  266. package/src/util/SlotsHelper.js +43 -0
  267. package/src/util/StringHelper.js +17 -2
  268. package/src/util/TabbableElements.js +9 -2
  269. package/src/util/arraysAreEqual.js +15 -0
  270. package/src/util/clamp.js +12 -0
  271. package/src/util/createLinkInHead.js +19 -0
  272. package/src/util/debounce.js +17 -0
  273. package/src/util/detectNavigatorLanguage.js +3 -1
  274. package/src/util/escapeRegex.js +10 -0
  275. package/src/util/findNodeOwner.js +35 -0
  276. package/src/util/generateHighlightedMarkup.js +42 -0
  277. package/src/util/getActiveElement.js +11 -0
  278. package/src/util/getClassCopy.js +10 -0
  279. package/src/util/getEffectiveContentDensity.js +5 -0
  280. package/src/util/getFileExtension.js +21 -0
  281. package/src/util/getNormalizedTarget.js +16 -0
  282. package/src/util/getSingletonElementInstance.js +13 -0
  283. package/src/util/isElementInView.js +15 -0
  284. package/src/util/isNodeHidden.js +1 -5
  285. package/src/util/isNodeTabbable.js +4 -4
  286. package/src/util/isValidPropertyName.js +11 -2
  287. package/src/util/setToArray.js +10 -0
  288. package/used-modules.txt +10 -0
  289. package/bundle.es5.js +0 -28
  290. package/dist/Assets.js +0 -2
  291. package/dist/CSS.js +0 -48
  292. package/dist/FormatSettings.js +0 -31
  293. package/dist/LocaleProvider.js +0 -34
  294. package/dist/ResourceLoaderOverrides.js +0 -38
  295. package/dist/SVGIconRegistry.js +0 -54
  296. package/dist/boot.js +0 -25
  297. package/dist/compatibility/DOMObserver.js +0 -62
  298. package/dist/compatibility/patchNodeValue.js +0 -24
  299. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  300. package/dist/dates/CalendarDate.js +0 -203
  301. package/dist/dates/CalendarUtils.js +0 -99
  302. package/dist/delegate/CustomResize.js +0 -78
  303. package/dist/delegate/NativeResize.js +0 -44
  304. package/dist/events/PseudoEvents.js +0 -58
  305. package/dist/features/browsersupport/Edge.js +0 -6
  306. package/dist/features/browsersupport/IE11.js +0 -41
  307. package/dist/features/calendar/Buddhist.js +0 -1
  308. package/dist/features/calendar/Islamic.js +0 -1
  309. package/dist/features/calendar/Japanese.js +0 -1
  310. package/dist/features/calendar/Persian.js +0 -1
  311. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar.json +0 -5598
  312. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_EG.json +0 -5598
  313. package/dist/generated/assets/cldr/sap/ui/core/cldr/ar_SA.json +0 -5598
  314. package/dist/generated/assets/cldr/sap/ui/core/cldr/bg.json +0 -4789
  315. package/dist/generated/assets/cldr/sap/ui/core/cldr/ca.json +0 -4801
  316. package/dist/generated/assets/cldr/sap/ui/core/cldr/cs.json +0 -5245
  317. package/dist/generated/assets/cldr/sap/ui/core/cldr/da.json +0 -4696
  318. package/dist/generated/assets/cldr/sap/ui/core/cldr/de.json +0 -4797
  319. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_AT.json +0 -4798
  320. package/dist/generated/assets/cldr/sap/ui/core/cldr/de_CH.json +0 -4796
  321. package/dist/generated/assets/cldr/sap/ui/core/cldr/el.json +0 -4694
  322. package/dist/generated/assets/cldr/sap/ui/core/cldr/el_CY.json +0 -4694
  323. package/dist/generated/assets/cldr/sap/ui/core/cldr/en.json +0 -4777
  324. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_AU.json +0 -4769
  325. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_GB.json +0 -4778
  326. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_HK.json +0 -4784
  327. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IE.json +0 -4778
  328. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_IN.json +0 -4779
  329. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_NZ.json +0 -4778
  330. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_PG.json +0 -4779
  331. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_SG.json +0 -4780
  332. package/dist/generated/assets/cldr/sap/ui/core/cldr/en_ZA.json +0 -4779
  333. package/dist/generated/assets/cldr/sap/ui/core/cldr/es.json +0 -4719
  334. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_AR.json +0 -4721
  335. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_BO.json +0 -4720
  336. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CL.json +0 -4721
  337. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_CO.json +0 -4721
  338. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_MX.json +0 -4722
  339. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_PE.json +0 -4720
  340. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_UY.json +0 -4722
  341. package/dist/generated/assets/cldr/sap/ui/core/cldr/es_VE.json +0 -4721
  342. package/dist/generated/assets/cldr/sap/ui/core/cldr/et.json +0 -4776
  343. package/dist/generated/assets/cldr/sap/ui/core/cldr/fa.json +0 -4704
  344. package/dist/generated/assets/cldr/sap/ui/core/cldr/fi.json +0 -4816
  345. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr.json +0 -4788
  346. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_BE.json +0 -4788
  347. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CA.json +0 -4782
  348. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_CH.json +0 -4806
  349. package/dist/generated/assets/cldr/sap/ui/core/cldr/fr_LU.json +0 -4788
  350. package/dist/generated/assets/cldr/sap/ui/core/cldr/he.json +0 -5133
  351. package/dist/generated/assets/cldr/sap/ui/core/cldr/hi.json +0 -4680
  352. package/dist/generated/assets/cldr/sap/ui/core/cldr/hr.json +0 -4910
  353. package/dist/generated/assets/cldr/sap/ui/core/cldr/hu.json +0 -4664
  354. package/dist/generated/assets/cldr/sap/ui/core/cldr/id.json +0 -4500
  355. package/dist/generated/assets/cldr/sap/ui/core/cldr/it.json +0 -4757
  356. package/dist/generated/assets/cldr/sap/ui/core/cldr/it_CH.json +0 -4757
  357. package/dist/generated/assets/cldr/sap/ui/core/cldr/ja.json +0 -4599
  358. package/dist/generated/assets/cldr/sap/ui/core/cldr/kk.json +0 -4537
  359. package/dist/generated/assets/cldr/sap/ui/core/cldr/ko.json +0 -4574
  360. package/dist/generated/assets/cldr/sap/ui/core/cldr/lt.json +0 -5234
  361. package/dist/generated/assets/cldr/sap/ui/core/cldr/lv.json +0 -4902
  362. package/dist/generated/assets/cldr/sap/ui/core/cldr/ms.json +0 -4352
  363. package/dist/generated/assets/cldr/sap/ui/core/cldr/nb.json +0 -4784
  364. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl.json +0 -4790
  365. package/dist/generated/assets/cldr/sap/ui/core/cldr/nl_BE.json +0 -4790
  366. package/dist/generated/assets/cldr/sap/ui/core/cldr/pl.json +0 -5223
  367. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt.json +0 -4703
  368. package/dist/generated/assets/cldr/sap/ui/core/cldr/pt_PT.json +0 -4753
  369. package/dist/generated/assets/cldr/sap/ui/core/cldr/ro.json +0 -4881
  370. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru.json +0 -5157
  371. package/dist/generated/assets/cldr/sap/ui/core/cldr/ru_UA.json +0 -5157
  372. package/dist/generated/assets/cldr/sap/ui/core/cldr/sk.json +0 -5125
  373. package/dist/generated/assets/cldr/sap/ui/core/cldr/sl.json +0 -5105
  374. package/dist/generated/assets/cldr/sap/ui/core/cldr/sr.json +0 -4908
  375. package/dist/generated/assets/cldr/sap/ui/core/cldr/sv.json +0 -4818
  376. package/dist/generated/assets/cldr/sap/ui/core/cldr/th.json +0 -4633
  377. package/dist/generated/assets/cldr/sap/ui/core/cldr/tr.json +0 -4791
  378. package/dist/generated/assets/cldr/sap/ui/core/cldr/uk.json +0 -5126
  379. package/dist/generated/assets/cldr/sap/ui/core/cldr/vi.json +0 -4510
  380. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_CN.json +0 -4469
  381. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_HK.json +0 -4479
  382. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_SG.json +0 -4479
  383. package/dist/generated/assets/cldr/sap/ui/core/cldr/zh_TW.json +0 -4565
  384. package/dist/json-imports/LocaleData.js +0 -171
  385. package/dist/renderer/ifDefined.js +0 -21
  386. package/dist/resources/bundle.es5.js +0 -12643
  387. package/dist/resources/bundle.es5.js.map +0 -1
  388. package/dist/shims/Core-shim.js +0 -52
  389. package/dist/shims/jquery-shim.js +0 -89
  390. package/dist/theming/StyleInjection.js +0 -67
  391. package/dist/thirdparty/Array.from.js +0 -16
  392. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  393. package/dist/thirdparty/Array.prototype.find.js +0 -46
  394. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  395. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  396. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  397. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  398. package/dist/thirdparty/Number.isInteger.js +0 -5
  399. package/dist/thirdparty/Number.isNaN.js +0 -1
  400. package/dist/thirdparty/Number.parseInt.js +0 -1
  401. package/dist/thirdparty/Object.assign.js +0 -31
  402. package/dist/thirdparty/Object.entries.js +0 -11
  403. package/dist/thirdparty/Symbol.js +0 -2
  404. package/dist/thirdparty/WeakSet.js +0 -27
  405. package/dist/thirdparty/events-polyfills.js +0 -89
  406. package/dist/thirdparty/fetch.js +0 -1
  407. package/dist/thirdparty/template.js +0 -600
  408. package/dist/util/CSSTransformUtils.js +0 -90
  409. package/dist/webcomponentsjs/LICENSE.md +0 -19
  410. package/dist/webcomponentsjs/README.md +0 -229
  411. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  412. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  413. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  414. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  415. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  416. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  417. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  418. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  419. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  420. package/dist/webcomponentsjs/package.json +0 -46
  421. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  422. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  423. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  424. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  425. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  426. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  427. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  428. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  429. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  430. package/src/Assets.js +0 -2
  431. package/src/CSS.js +0 -48
  432. package/src/FormatSettings.js +0 -31
  433. package/src/LocaleProvider.js +0 -34
  434. package/src/ResourceLoaderOverrides.js +0 -38
  435. package/src/SVGIconRegistry.js +0 -54
  436. package/src/boot.js +0 -25
  437. package/src/compatibility/DOMObserver.js +0 -62
  438. package/src/compatibility/patchNodeValue.js +0 -24
  439. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  440. package/src/dates/CalendarDate.js +0 -203
  441. package/src/dates/CalendarUtils.js +0 -99
  442. package/src/delegate/CustomResize.js +0 -78
  443. package/src/delegate/NativeResize.js +0 -44
  444. package/src/events/PseudoEvents.js +0 -58
  445. package/src/features/browsersupport/Edge.js +0 -6
  446. package/src/features/browsersupport/IE11.js +0 -41
  447. package/src/features/calendar/Buddhist.js +0 -1
  448. package/src/features/calendar/Islamic.js +0 -1
  449. package/src/features/calendar/Japanese.js +0 -1
  450. package/src/features/calendar/Persian.js +0 -1
  451. package/src/json-imports/LocaleData.js +0 -171
  452. package/src/renderer/ifDefined.js +0 -21
  453. package/src/shims/Core-shim.js +0 -52
  454. package/src/shims/jquery-shim.js +0 -89
  455. package/src/theming/StyleInjection.js +0 -67
  456. package/src/thirdparty/Array.from.js +0 -16
  457. package/src/thirdparty/Array.prototype.fill.js +0 -44
  458. package/src/thirdparty/Array.prototype.find.js +0 -46
  459. package/src/thirdparty/Array.prototype.includes.js +0 -51
  460. package/src/thirdparty/Element.prototype.closest.js +0 -11
  461. package/src/thirdparty/Element.prototype.matches.js +0 -6
  462. package/src/thirdparty/Map.prototype.keys.js +0 -9
  463. package/src/thirdparty/Number.isInteger.js +0 -5
  464. package/src/thirdparty/Number.isNaN.js +0 -1
  465. package/src/thirdparty/Number.parseInt.js +0 -1
  466. package/src/thirdparty/Object.assign.js +0 -31
  467. package/src/thirdparty/Object.entries.js +0 -11
  468. package/src/thirdparty/Symbol.js +0 -2
  469. package/src/thirdparty/WeakSet.js +0 -27
  470. package/src/thirdparty/events-polyfills.js +0 -89
  471. package/src/thirdparty/fetch.js +0 -1
  472. package/src/thirdparty/template.js +0 -600
  473. package/src/util/CSSTransformUtils.js +0 -90
@@ -1,31 +1,44 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Theming works", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
+ });
5
7
 
6
- it("Tests that the parameters for the default theme are embedded on boot", () => {
8
+ it("Tests that the parameters for the default theme are embedded on boot", async () => {
7
9
 
8
- const res = browser.execute(() => {
9
- const style = document.querySelector(`style[data-ui5-theme-properties="@ui5/webcomponents-base-test"]`);
10
- return style && style.textContent.includes("--var1: red"); // see test/assets/Themes.js
10
+ const res = await browser.executeAsync(done => {
11
+ const style = document.adoptedStyleSheets.find(sh => sh._ui5StyleId === "data-ui5-theme-properties|@ui5/webcomponents-base-test").cssRules[0].cssText
12
+ done(style && style.includes("--var1: red")); // see test/assets/Themes.js
11
13
  });
12
14
 
13
15
  assert.strictEqual(res, true, "The fiori3 vars are found");
14
16
  });
15
17
 
16
- it("Tests that theme parameters are changed on theme change", () => {
18
+ it("Tests that theme parameters are changed on theme change", async () => {
17
19
  const newTheme = 'sap_belize_hcb';
18
20
 
19
- const res = browser.executeAsync( async (newTheme, done) => {
21
+ const res = await browser.executeAsync( async (newTheme, done) => {
20
22
  const config = window['sap-ui-webcomponents-bundle'].configuration;
21
23
  await config.setTheme(newTheme);
22
24
 
23
- const style = document.querySelector(`style[data-ui5-theme-properties="@ui5/webcomponents-base-test"]`);
24
- const varsFound = style && style.textContent.includes("--var1: orange"); // see test/assets/Themes.js
25
- return done(varsFound);
25
+ const style = document.adoptedStyleSheets.find(sh => sh._ui5StyleId === "data-ui5-theme-properties|@ui5/webcomponents-base-test").cssRules[0].cssText
26
+ const varsFound = style && style.includes("--var1: orange"); // see test/assets/Themes.js
27
+ done(varsFound);
26
28
  }, newTheme);
27
29
 
28
30
  assert.strictEqual(res, true, "Theme parameters changed");
29
31
  });
30
32
 
33
+ it("Tests fallback to default theme when setting unknown theme", async () => {
34
+ const unknownTheme = 'sap_unknown_theme';
35
+ await browser.url(`http://localhost:9191/test-resources/pages/AllTestElements.html?sap-ui-theme=${unknownTheme}`);
36
+
37
+ const res = await browser.executeAsync( async (done) => {
38
+ const cssVarValue = getComputedStyle(document.documentElement).getPropertyValue('--var1');
39
+ done(cssVarValue);
40
+ });
41
+
42
+ assert.strictEqual(res, ' red', "Default theme parameters loaded");
43
+ });
31
44
  });
@@ -1,228 +1,214 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Invalidation works", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
+ });
5
7
 
6
- it("Tests that changing a property invalidates", () => {
8
+ it("Tests that changing a property invalidates", async () => {
7
9
 
8
- const res = browser.executeAsync( async (done) => {
10
+ const res = await browser.executeAsync( async (done) => {
9
11
 
10
12
  const el = document.getElementById("gen");
11
13
 
12
14
  // Exactly 1 invalidation for each property change
13
15
  let invalidations = 0;
14
16
 
15
- const original = el._invalidate;
16
- el._invalidate = () => {
17
- original.apply(el, arguments);
17
+ el.onInvalidation = () => {
18
18
  invalidations++;
19
19
  };
20
20
 
21
21
  el.strProp = "new value";
22
22
  el.boolProp = true;
23
23
 
24
- await window.RenderScheduler.whenFinished();
24
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
25
25
 
26
- return done(invalidations);
26
+ done(invalidations);
27
27
  });
28
28
 
29
29
  assert.strictEqual(res, 2, "Invalidated 2 times");
30
30
  });
31
31
 
32
- it("Tests that setting a property to the same value does not invalidate", () => {
32
+ it("Tests that setting a property to the same value does not invalidate", async () => {
33
33
 
34
- const res = browser.executeAsync( async (done) => {
34
+ const res = await browser.executeAsync( async (done) => {
35
35
  const text = "some value";
36
36
 
37
37
  const el = document.getElementById("gen");
38
38
  el.strProp = text;
39
- await window.RenderScheduler.whenFinished();
39
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
40
40
 
41
41
  let invalidations = 0;
42
42
 
43
- const original = el._invalidate;
44
- el._invalidate = () => {
45
- original.apply(el, arguments);
43
+ el.onInvalidation = () => {
46
44
  invalidations++;
47
45
  };
48
46
 
49
47
  el.strProp = text;
50
48
 
51
- await window.RenderScheduler.whenFinished();
49
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
52
50
 
53
- return done(invalidations);
51
+ done(invalidations);
54
52
  });
55
53
 
56
54
  assert.strictEqual(res, 0, "Not invalidated");
57
55
  });
58
56
 
59
- it("Tests that setting a property of type Object always invalidates", () => {
57
+ it("Tests that setting a property of type Object always invalidates", async () => {
60
58
 
61
- const res = browser.executeAsync( async (done) => {
59
+ const res = await browser.executeAsync( async (done) => {
62
60
  const obj = {};
63
61
  const otherObj = {};
64
62
 
65
63
  const el = document.getElementById("gen");
66
64
  el.objectProp = obj;
67
- await window.RenderScheduler.whenFinished();
65
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
68
66
 
69
67
  let invalidations = 0;
70
68
 
71
- const original = el._invalidate;
72
- el._invalidate = () => {
73
- original.apply(el, arguments);
69
+ el.onInvalidation = () => {
74
70
  invalidations++;
75
71
  };
76
72
 
77
73
  el.objectProp = otherObj;
78
74
 
79
- await window.RenderScheduler.whenFinished();
75
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
80
76
 
81
- return done(invalidations);
77
+ done(invalidations);
82
78
  });
83
79
 
84
80
  assert.strictEqual(res, 1, "Invalidated");
85
81
  });
86
82
 
87
- it("Tests that setting an array property always invalidates", () => {
83
+ it("Tests that setting an array property always invalidates", async () => {
88
84
 
89
- const res = browser.executeAsync( async (done) => {
85
+ const res = await browser.executeAsync( async (done) => {
90
86
  const arr = [];
91
87
  const otherArr = [];
92
88
 
93
89
  const el = document.getElementById("gen");
94
90
  el.multiProp = arr;
95
- await window.RenderScheduler.whenFinished();
91
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
96
92
 
97
93
  let invalidations = 0;
98
94
 
99
- const original = el._invalidate;
100
- el._invalidate = () => {
101
- original.apply(el, arguments);
95
+ el.onInvalidation = () => {
102
96
  invalidations++;
103
97
  };
104
98
 
105
99
  el.multiProp = otherArr;
106
100
 
107
- await window.RenderScheduler.whenFinished();
101
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
108
102
 
109
- return done(invalidations);
103
+ done(invalidations);
110
104
  });
111
105
 
112
106
  assert.strictEqual(res, 1, "Invalidated");
113
107
  });
114
108
 
115
- it("Tests that adding a child invalidates", () => {
109
+ it("Tests that adding a child invalidates", async () => {
116
110
 
117
- const res = browser.executeAsync( async (done) => {
111
+ const res = await browser.executeAsync( async (done) => {
118
112
 
119
113
  const el = document.getElementById("gen");
120
114
 
121
115
  // Number of invalidations may vary with children/slots count, so just check for invalidation
122
116
  let invalidated = false;
123
117
 
124
- const original = el._invalidate;
125
- el._invalidate = () => {
126
- original.apply(el, arguments);
118
+ el.onInvalidation = () => {
127
119
  invalidated = true;
128
120
  };
129
121
 
130
122
  const div = document.createElement("div");
131
123
  el.appendChild(div);
132
124
 
133
- await window.RenderScheduler.whenFinished();
125
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
134
126
 
135
- return done(invalidated);
127
+ done(invalidated);
136
128
  });
137
129
 
138
130
  assert.strictEqual(res, true, "Invalidated");
139
131
  });
140
132
 
141
- it("Tests that removing a child invalidates", () => {
133
+ it("Tests that removing a child invalidates", async () => {
142
134
 
143
- const res = browser.executeAsync( async (done) => {
135
+ const res = await browser.executeAsync( async (done) => {
144
136
 
145
137
  const el = document.getElementById("gen");
146
138
  const div = document.createElement("div");
147
139
  el.appendChild(div);
148
140
 
149
- await window.RenderScheduler.whenFinished();
141
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
150
142
 
151
143
  let invalidated = false;
152
144
 
153
- const original = el._invalidate;
154
- el._invalidate = () => {
155
- original.apply(el, arguments);
145
+ el.onInvalidation = () => {
156
146
  invalidated = true;
157
147
  };
158
148
 
159
149
  el.removeChild(div);
160
150
 
161
- await window.RenderScheduler.whenFinished();
151
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
162
152
 
163
- return done(invalidated);
153
+ done(invalidated);
164
154
  });
165
155
 
166
156
  assert.strictEqual(res, true, "Invalidated");
167
157
  });
168
158
 
169
- it("Tests that modifying textContent invalidates", () => {
159
+ it("Tests that modifying textContent invalidates", async () => {
170
160
 
171
- const res = browser.executeAsync( async (done) => {
161
+ const res = await browser.executeAsync( async (done) => {
172
162
 
173
163
  const el = document.getElementById("gen");
174
164
  el.textContent = "test";
175
- await window.RenderScheduler.whenFinished();
165
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
176
166
 
177
167
  // Number of invalidations may vary with children/slots count, so just check for invalidation
178
168
  let invalidated = false;
179
169
 
180
- const original = el._invalidate;
181
- el._invalidate = () => {
182
- original.apply(el, arguments);
170
+ el.onInvalidation = () => {
183
171
  invalidated = true;
184
172
  };
185
173
 
186
174
  el.textContent = "test2";
187
175
 
188
- await window.RenderScheduler.whenFinished();
176
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
189
177
 
190
- return done(invalidated);
178
+ done(invalidated);
191
179
  });
192
180
 
193
181
  assert.strictEqual(res, true, "Invalidated");
194
182
  });
195
183
 
196
- it("Tests that modifying nodeValue invalidates", () => {
184
+ it("Tests that modifying nodeValue invalidates", async () => {
197
185
 
198
- const res = browser.executeAsync( async (done) => {
186
+ const res = await browser.executeAsync( async (done) => {
199
187
 
200
188
  const el = document.getElementById("gen");
201
189
  el.textContent = "test";
202
- await window.RenderScheduler.whenFinished();
190
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
203
191
 
204
192
  // Number of invalidations may vary with children/slots count, so just check for invalidation
205
193
  let invalidated = false;
206
194
 
207
- const original = el._invalidate;
208
- el._invalidate = () => {
209
- original.apply(el, arguments);
195
+ el.onInvalidation = () => {
210
196
  invalidated = true;
211
197
  };
212
198
 
213
199
  el.childNodes[0].nodeValue = "test2";
214
200
 
215
- await window.RenderScheduler.whenFinished();
201
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
216
202
 
217
- return done(invalidated);
203
+ done(invalidated);
218
204
  });
219
205
 
220
206
  assert.strictEqual(res, true, "Invalidated");
221
207
  });
222
208
 
223
- it("Tests that multiple invalidations result in a single rendering", () => {
209
+ it("Tests that multiple invalidations result in a single rendering", async () => {
224
210
 
225
- const res = browser.executeAsync( async (done) => {
211
+ const res = await browser.executeAsync( async (done) => {
226
212
 
227
213
  const el = document.getElementById("gen");
228
214
 
@@ -231,9 +217,7 @@ describe("Invalidation works", () => {
231
217
  rendering: 0,
232
218
  };
233
219
 
234
- const originalInvalidate = el._invalidate;
235
- el._invalidate = () => {
236
- originalInvalidate.apply(el, arguments);
220
+ el.onInvalidation = () => {
237
221
  operations.invalidation++;
238
222
  };
239
223
 
@@ -246,9 +230,9 @@ describe("Invalidation works", () => {
246
230
  el.strProp = "new";
247
231
  el.strProp = "newer";
248
232
 
249
- await window.RenderScheduler.whenFinished();
233
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
250
234
 
251
- return done(operations);
235
+ done(operations);
252
236
  });
253
237
 
254
238
  assert.strictEqual(res.invalidation, 2, "Invalidated 2 times");
@@ -1,11 +1,13 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Lifecycle works", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
+ });
5
7
 
6
- it("Tests element creation callbacks", () => {
8
+ it("Tests element creation callbacks", async () => {
7
9
 
8
- const res = browser.executeAsync( async (done) => {
10
+ const res = await browser.executeAsync( async (done) => {
9
11
  const creationCallbacks = ["onBeforeRendering", "onAfterRendering", "onEnterDOM"];
10
12
  const calledCallbacks = [];
11
13
 
@@ -20,9 +22,9 @@ describe("Lifecycle works", () => {
20
22
  });
21
23
 
22
24
  document.body.appendChild(el);
23
- await window.RenderScheduler.whenFinished();
25
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
24
26
 
25
- return done(calledCallbacks);
27
+ done(calledCallbacks);
26
28
  });
27
29
 
28
30
  assert.strictEqual(res.length, 3, "All 3 callbacks called");
@@ -31,16 +33,16 @@ describe("Lifecycle works", () => {
31
33
  assert.strictEqual(res[2], "onEnterDOM", "onEnterDOM called third");
32
34
  });
33
35
 
34
- it("Tests element invalidation callbacks", () => {
36
+ it("Tests element invalidation callbacks", async () => {
35
37
 
36
- const res = browser.executeAsync( async (done) => {
38
+ const res = await browser.executeAsync( async (done) => {
37
39
  const invalidationCallbacks = ["onBeforeRendering", "onAfterRendering"];
38
40
  const calledCallbacks = [];
39
41
 
40
42
  const el = document.createElement("ui5-test-generic");
41
43
  document.body.appendChild(el);
42
44
 
43
- await window.RenderScheduler.whenFinished();
45
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
44
46
 
45
47
  el.strProp = "some string";
46
48
 
@@ -52,9 +54,9 @@ describe("Lifecycle works", () => {
52
54
  };
53
55
  });
54
56
 
55
- await window.RenderScheduler.whenFinished();
57
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
56
58
 
57
- return done(calledCallbacks);
59
+ done(calledCallbacks);
58
60
  });
59
61
 
60
62
  assert.strictEqual(res.length, 2, "All 2 callbacks called");
@@ -62,9 +64,9 @@ describe("Lifecycle works", () => {
62
64
  assert.strictEqual(res[1], "onAfterRendering", "onAfterRendering called second");
63
65
  });
64
66
 
65
- it("Tests element destruction callback", () => {
67
+ it("Tests element destruction callback", async () => {
66
68
 
67
- const res = browser.executeAsync( async (done) => {
69
+ const res = await browser.executeAsync( async (done) => {
68
70
  const destructionCallbacks = ["onExitDOM"];
69
71
  const calledCallbacks = [];
70
72
 
@@ -79,11 +81,14 @@ describe("Lifecycle works", () => {
79
81
  });
80
82
 
81
83
  document.body.appendChild(el);
84
+
85
+ await window["sap-ui-webcomponents-bundle"].renderFinished(); // Must wait, otherwise onExitDOM won't be called
86
+
82
87
  document.body.removeChild(el);
83
88
 
84
- await window.RenderScheduler.whenFinished();
89
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
85
90
 
86
- return done(calledCallbacks);
91
+ done(calledCallbacks);
87
92
  });
88
93
 
89
94
  assert.strictEqual(res.length, 1, "Only 1 callback was called");
@@ -1,101 +1,75 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
- describe("Metadata slot listenFor works", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
3
+ describe("Metadata slot invalidateOnChildChange works", () => {
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
+ });
5
7
 
6
- it("Tests that changing a listenFor property of a child invalidates the parent", () => {
8
+ it("Tests that changing a monitored property of a child invalidates the parent", async () => {
7
9
 
8
- const res = browser.executeAsync( async (done) => {
10
+ const res = await browser.executeAsync( async (done) => {
9
11
  const parent = document.getElementById("parent");
10
12
  const child = document.getElementById("child1");
11
13
 
12
- const parentInvalidate = parent._invalidate;
13
14
  let parentInvalidated = false;
14
15
 
15
- parent._invalidate = () => {
16
- parentInvalidate.apply(parent, arguments);
16
+ parent.onInvalidation = () => {
17
17
  parentInvalidated = true;
18
18
  };
19
19
 
20
20
  child.prop1 = "a"; // child1(default slot) prop1 -> invalidates
21
21
 
22
- await window.RenderScheduler.whenFinished();
22
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
23
23
 
24
- return done(parentInvalidated);
24
+ done(parentInvalidated);
25
25
  });
26
26
 
27
27
  assert.strictEqual(res, true, "Parent invalidated");
28
28
  });
29
29
 
30
- it("Tests that changing a non-listenFor property of a child does not invalidate the parent", () => {
30
+ it("Tests that changing a non-monitored property of a child does not invalidate the parent", async () => {
31
31
 
32
- const res = browser.executeAsync( async (done) => {
32
+ const res = await browser.executeAsync( async (done) => {
33
33
  const parent = document.getElementById("parent");
34
34
  const child = document.getElementById("child1");
35
35
 
36
- const parentInvalidate = parent._invalidate;
37
36
  let parentInvalidated = false;
38
37
 
39
- parent._invalidate = () => {
40
- parentInvalidate.apply(parent, arguments);
38
+ parent.onInvalidation = () => {
41
39
  parentInvalidated = true;
42
40
  };
43
41
 
44
42
  child.prop2 = "b"; // child1(default slot) prop 2 -> does not
45
43
 
46
- await window.RenderScheduler.whenFinished();
44
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
47
45
 
48
- return done(parentInvalidated);
46
+ done(parentInvalidated);
49
47
  });
50
48
 
51
49
  assert.strictEqual(res, false, "Parent not invalidated");
52
50
  });
53
51
 
54
- it("Tests that listenFor include works", () => {
55
-
56
- const res = browser.executeAsync( async (done) => {
57
- const parent = document.getElementById("parent");
58
- const child = document.getElementById("child2");
59
-
60
- const parentInvalidate = parent._invalidate;
61
- let parentInvalidated = false;
62
-
63
- parent._invalidate = () => {
64
- parentInvalidate.apply(parent, arguments);
65
- parentInvalidated = true;
66
- };
67
-
68
- child.prop1 = "c"; // child2(items slot) prop1 invalidates
69
-
70
- await window.RenderScheduler.whenFinished();
71
-
72
- return done(parentInvalidated);
73
- });
74
-
75
- assert.strictEqual(res, true, "Parent invalidated");
76
- });
77
-
78
- it("Tests that listenFor exclude works", () => {
52
+ it("Tests that listening for all properties works", async () => {
79
53
 
80
- const res = browser.executeAsync( async (done) => {
54
+ const res = await browser.executeAsync( async (done) => {
81
55
  const parent = document.getElementById("parent");
82
56
  const child = document.getElementById("child2");
83
57
 
84
- const parentInvalidate = parent._invalidate;
85
- let parentInvalidated = false;
58
+ let parentInvalidatedCount = 0;
86
59
 
87
- parent._invalidate = () => {
88
- parentInvalidate.apply(parent, arguments);
89
- parentInvalidated = true;
60
+ parent.onInvalidation = () => {
61
+ parentInvalidatedCount++;
90
62
  };
91
63
 
92
- child.prop3 = "d"; //child2(items slot) prop3 does not
64
+ child.prop1 = "c";
65
+ child.prop2 = "c";
66
+ child.prop3 = "c";
93
67
 
94
- await window.RenderScheduler.whenFinished();
68
+ await window["sap-ui-webcomponents-bundle"].renderFinished();
95
69
 
96
- return done(parentInvalidated);
70
+ done(parentInvalidatedCount);
97
71
  });
98
72
 
99
- assert.strictEqual(res, false, "Parent not invalidated");
73
+ assert.strictEqual(res, 3, "Parent invalidated 3 times");
100
74
  });
101
75
  });
@@ -1,11 +1,13 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Metadata can be extended", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
+ });
5
7
 
6
- it("When extending metadata, both own and extended entities exist in the resulting metadata", () => {
8
+ it("When extending metadata, both own and extended entities exist in the resulting metadata", async () => {
7
9
 
8
- const res = browser.execute( () => {
10
+ const res = await browser.executeAsync(done => {
9
11
 
10
12
  const el = document.getElementById("genExt");
11
13
  const m = el.constructor.getMetadata();
@@ -15,15 +17,15 @@ describe("Metadata can be extended", () => {
15
17
  !!m.getSlots().default &&
16
18
  !!m.getSlots().extSlot;
17
19
 
18
- return ok;
20
+ done(ok);
19
21
  });
20
22
 
21
23
  assert.strictEqual(res, true, "Metadata properly extended");
22
24
  });
23
25
 
24
- it("When extending metadata, property defaultValue can be modified", () => {
26
+ it("When extending metadata, property defaultValue can be modified", async () => {
25
27
 
26
- const res = browser.execute( () => {
28
+ const res = await browser.executeAsync(done => {
27
29
 
28
30
  const el = document.getElementById("genExt");
29
31
  const m = el.constructor.getMetadata();
@@ -31,7 +33,7 @@ describe("Metadata can be extended", () => {
31
33
  const ok = !!m.getProperties().strProp &&
32
34
  m.getProperties().strProp.defaultValue === "Ext";
33
35
 
34
- return ok;
36
+ done(ok);
35
37
  });
36
38
 
37
39
  assert.strictEqual(res, true, "Property defaultValue changed");
@@ -1,12 +1,14 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Properties can only have values, restricted to their types", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/AllTestElements.html");
6
+ });
5
7
 
6
- it("String property enforced to string", () => {
7
- const el = browser.$("#gen");
8
- el.setProperty("strProp", 5);
9
- assert.strictEqual(el.getProperty("strProp"), "5", "String property is string");
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");
10
12
  });
11
13
 
12
14
  });