@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,11 +1,17 @@
1
- import { registerThemeProperties } from "../../asset-registries/Themes.js";
1
+ import { registerThemePropertiesLoader } from "../../asset-registries/Themes.js";
2
2
 
3
3
  const fiori3 = `:root{ --var1: red; }`;
4
4
  const fiori3Dark = `:root{ --var1: green; }`;
5
5
  const belize = `:root{ --var1: blue; }`;
6
6
  const belizeHcb = `:root{ --var1: orange; }`;
7
+ const belizeHcw = `:root{ --var1: orange; }`;
8
+ const fiori3Hcb = `:root{ --var1: yellow; }`;
9
+ const fiori3Hcw = `:root{ --var1: yellow; }`;
7
10
 
8
- registerThemeProperties("@ui5/webcomponents-base-test", "sap_fiori_3", fiori3);
9
- registerThemeProperties("@ui5/webcomponents-base-test", "sap_fiori_3_dark", fiori3Dark);
10
- registerThemeProperties("@ui5/webcomponents-base-test", "sap_belize", belize);
11
- registerThemeProperties("@ui5/webcomponents-base-test", "sap_belize_hcb", belizeHcb);
11
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_fiori_3", () => fiori3);
12
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_fiori_3_dark", () => fiori3Dark);
13
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_belize", () => belize);
14
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_belize_hcb", () => belizeHcb);
15
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_belize_hcw", () => belizeHcw);
16
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_fiori_3_hcb", () => fiori3Hcb);
17
+ registerThemePropertiesLoader("@ui5/webcomponents-base-test", "sap_fiori_3_hcw", () => fiori3Hcw);
@@ -26,6 +26,7 @@ const metadata = {
26
26
  defaultValue: "Hello",
27
27
  }
28
28
  },
29
+ managedSlots: true,
29
30
  slots: {
30
31
  default: {
31
32
  type: Node,
@@ -3,14 +3,19 @@ import litRender, { html } from "../../renderer/LitRenderer.js";
3
3
 
4
4
  const metadata = {
5
5
  tag: "ui5-test-parent",
6
+ managedSlots: true,
6
7
  slots: {
7
8
  default: {
8
9
  type: Node,
9
- listenFor: ["prop1"],
10
+ invalidateOnChildChange: {
11
+ properties: ["prop1"]
12
+ },
10
13
  },
11
14
  items: {
12
15
  type: HTMLElement,
13
- listenFor: { include: ["*"], exclude: ["prop3"] }
16
+ invalidateOnChildChange: {
17
+ properties: true
18
+ },
14
19
  }
15
20
  }
16
21
  };
@@ -0,0 +1,77 @@
1
+ import UI5Element from "../../UI5Element.js";
2
+ import litRender, { html } from "../../renderer/LitRenderer.js";
3
+
4
+ const metadata = {
5
+ tag: "ui5-with-static-area",
6
+ properties: {
7
+ /**
8
+ * Defines whether the static area item will be rendered
9
+ */
10
+ staticContent: {
11
+ type: Boolean,
12
+ }
13
+ },
14
+ slots: {
15
+
16
+ }
17
+ };
18
+
19
+ class WithStaticArea extends UI5Element {
20
+ static get metadata() {
21
+ return metadata;
22
+ }
23
+
24
+ static get render() {
25
+ return litRender;
26
+ }
27
+
28
+ static get template() {
29
+ return element => {
30
+ // access effectiveDir getter to mark control as RTL-aware (test changes dir attribute and expects rerender)
31
+ return html`
32
+ <div dir=${element.effectiveDir}>
33
+ WithStaticArea works!
34
+ </div>`;
35
+ };
36
+ }
37
+
38
+ static get staticAreaTemplate() {
39
+ return element => {
40
+ return html`
41
+ <div class="ui5-with-static-area-content">
42
+ Static area content.
43
+ </div>`;
44
+ };
45
+ }
46
+
47
+ static get styles() {
48
+ return `
49
+ :host {
50
+ display: inline-block;
51
+ border: 1px solid black;
52
+ color: red;
53
+ }`;
54
+ }
55
+
56
+ async addStaticArea() {
57
+ if (!this.staticContent) {
58
+ return;
59
+ }
60
+
61
+ // Require static area item
62
+ const staticArea = await this.getStaticAreaItemDomRef();
63
+ this.responsivePopover = staticArea.querySelector(".ui5-with-static-area-content");
64
+ return this.responsivePopover;
65
+ }
66
+
67
+ onBeforeRendering() {
68
+ this.addStaticArea();
69
+ }
70
+ onAfterRendering() {}
71
+ onEnterDOM() {}
72
+ onExitDOM() {}
73
+ }
74
+
75
+ WithStaticArea.define();
76
+
77
+ export default WithStaticArea;
@@ -6,10 +6,7 @@
6
6
 
7
7
  <title>Base package default test page</title>
8
8
 
9
- <script src="../../webcomponentsjs/webcomponents-loader.js"></script>
10
9
  <script src="../../resources/bundle.esm.js" type="module"></script>
11
- <script nomodule src="../../resources/bundle.es5.js"></script>
12
-
13
10
  </head>
14
11
 
15
12
  <body>
@@ -34,9 +31,12 @@
34
31
  <ui5-test-child id="child2" slot="items" prop1="old" prop2="old" prop3="old"></ui5-test-child>
35
32
  </ui5-test-parent>
36
33
 
37
- <ui5-test-density-aware id="aware"></ui5-test-density-aware>
38
-
39
34
  <ui5-test-generic-ext id="genExt"></ui5-test-generic-ext>
40
35
 
36
+ <ui5-with-static-area id="no-static-area"></ui5-with-static-area>
37
+ <ui5-with-static-area id="with-static-area" static-content></ui5-with-static-area>
38
+ <div id="with-static-area-rtl-container" dir="rtl">
39
+ <ui5-with-static-area id="with-static-area-rtl" static-content></ui5-with-static-area>
40
+ </div>
41
41
  </body>
42
42
  </html>
@@ -6,9 +6,7 @@
6
6
 
7
7
  <title>Base package default test page</title>
8
8
 
9
- <script src="../../webcomponentsjs/webcomponents-loader.js"></script>
10
9
  <script src="../../resources/bundle.esm.js" type="module"></script>
11
- <script nomodule src="../../resources/bundle.es5.js"></script>
12
10
 
13
11
  </head>
14
12
 
@@ -17,14 +17,12 @@
17
17
  },
18
18
  "theme": "sap_belize_hcb",
19
19
  "noConflict": {
20
- "events": ["selectionChange", "headerClick"]
20
+ "events": ["selection-change", "header-click"]
21
21
  }
22
22
  }
23
23
  </script>
24
24
 
25
- <script src="../../webcomponentsjs/webcomponents-loader.js"></script>
26
25
  <script src="../../resources/bundle.esm.js" type="module"></script>
27
- <script nomodule src="../../resources/bundle.es5.js"></script>
28
26
 
29
27
  </head>
30
28
 
@@ -0,0 +1 @@
1
+ PLEASE_WAIT=Bitte warten
@@ -0,0 +1 @@
1
+ PLEASE_WAIT=Please wait
@@ -0,0 +1 @@
1
+ PLEASE_WAIT=Espere
@@ -0,0 +1 @@
1
+ PLEASE_WAIT=Patientez.
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+ <meta charset="utf-8">
6
+
7
+ <title>i18n</title>
8
+
9
+ <script src="../../resources/bundle.esm.js" ></script>
10
+
11
+ </head>
12
+
13
+ <body>
14
+
15
+ <script>
16
+
17
+ const demo = async () => {
18
+ ["de", "es", "fr", "en"].forEach(localeId => registerI18nLoader("myApp", localeId, () => `./assets/messagebundle_${localeId}.properties`));
19
+
20
+ const bundle = await getI18nBundle("myApp");
21
+
22
+ const pleaseWait = bundle.getText("PLEASE_WAIT");
23
+ console.log("Please wait in the current language is: ", pleaseWait);
24
+ };
25
+
26
+ demo();
27
+
28
+
29
+ </script>
30
+
31
+
32
+ </body>
33
+ </html>
@@ -1,25 +1,27 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Some configuration options can be changed at runtime", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/Configuration.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/Configuration.html");
6
+ });
5
7
 
6
- it("Tests that theme can be changed", () => {
8
+ it("Tests that theme can be changed", async () => {
7
9
  const newTheme = 'sap_belize_hcb';
8
10
 
9
- const res = browser.executeAsync( async (newTheme, done) => {
11
+ const res = await browser.executeAsync( async (newTheme, done) => {
10
12
  const config = window['sap-ui-webcomponents-bundle'].configuration;
11
13
  await config.setTheme(newTheme);
12
- return done(config.getTheme());
14
+ done(config.getTheme());
13
15
  }, newTheme);
14
16
  assert.strictEqual(res, newTheme, "Theme changed to HCB");
15
17
  });
16
18
 
17
- it("Tests that noConflict can be changed", () => {
18
- const res = browser.execute( () => {
19
+ it("Tests that noConflict can be changed", async () => {
20
+ const res = await browser.executeAsync(done => {
19
21
  const config = window['sap-ui-webcomponents-bundle'].configuration;
20
- config.setNoConflict({events: ["selectionChange"]});
21
- return config.getNoConflict();
22
+ config.setNoConflict({events: ["selection-change"]});
23
+ done(config.getNoConflict());
22
24
  });
23
- assert.strictEqual(res.events.includes("selectionChange"), true, "selectionChange was successfully registered as a no conflict event");
25
+ assert.include(res.events, "selection-change", "selection-change was successfully registered as a no conflict event");
24
26
  });
25
27
  });
@@ -1,60 +1,62 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Configuration script has effect", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/ConfigurationScript.html");
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/ConfigurationScript.html?do-not-change-configuration");
6
+ });
5
7
 
6
- it("Tests that RTL is applied", () => {
7
- const res = browser.execute( () => {
8
+ it("Tests that RTL is applied", async () => {
9
+ const res = await browser.executeAsync(done => {
8
10
  const config = window['sap-ui-webcomponents-bundle'].configuration;
9
- return config.getRTL();
11
+ done(config.getRTL());
10
12
  });
11
13
  assert.strictEqual(res, true, "RTL is true");
12
14
  });
13
15
 
14
- it("Tests that language is applied", () => {
15
- const res = browser.execute( () => {
16
+ it("Tests that language is applied", async () => {
17
+ const res = await browser.executeAsync(done => {
16
18
  const config = window['sap-ui-webcomponents-bundle'].configuration;
17
- return config.getLanguage();
19
+ done(config.getLanguage());
18
20
  });
19
21
  assert.strictEqual(res, 'ja', "language is japanese");
20
22
  });
21
23
 
22
- it("Tests that calendarType is applied", () => {
23
- const res = browser.execute( () => {
24
+ it("Tests that calendarType is applied", async () => {
25
+ const res = await browser.executeAsync(done => {
24
26
  const config = window['sap-ui-webcomponents-bundle'].configuration;
25
- return config.getCalendarType();
27
+ done(config.getCalendarType());
26
28
  });
27
29
  assert.strictEqual(res, 'Japanese', "calendarType is japanese");
28
30
  });
29
31
 
30
- it("Tests that formatSettings are applied", () => {
31
- const res = browser.execute( () => {
32
+ it("Tests that formatSettings are applied", async () => {
33
+ const res = await browser.executeAsync(done => {
32
34
  const config = window['sap-ui-webcomponents-bundle'].configuration;
33
- return config.getFirstDayOfWeek();
35
+ done(config.getFirstDayOfWeek());
34
36
  });
35
37
  assert.strictEqual(res, 0, "First day of week is applied");
36
38
  });
37
39
 
38
- it("Tests that theme is applied", () => {
39
- const res = browser.execute( () => {
40
+ it("Tests that theme is applied", async () => {
41
+ const res = await browser.executeAsync(done => {
40
42
  const config = window['sap-ui-webcomponents-bundle'].configuration;
41
- return config.getTheme();
43
+ done(config.getTheme());
42
44
  });
43
45
  assert.strictEqual(res, 'sap_belize_hcb', "Thems is HCB");
44
46
  });
45
47
 
46
- it("Tests that noConflict is applied", () => {
47
- const res = browser.execute( () => {
48
+ it("Tests that noConflict is applied", async () => {
49
+ const res = await browser.executeAsync(done => {
48
50
  const config = window['sap-ui-webcomponents-bundle'].configuration;
49
- return config.getNoConflict();
51
+ done(config.getNoConflict());
50
52
  });
51
- assert.strictEqual(res.events.includes("selectionChange"), true, "selectionChange was successfully registered as a no conflict event");
53
+ assert.include(res.events, "selection-change", "selectionChange was successfully registered as a no conflict event");
52
54
  });
53
55
 
54
- it("Tests that animationMode is applied", () => {
55
- const res = browser.execute( () => {
56
+ it("Tests that animationMode is applied", async () => {
57
+ const res = await browser.executeAsync(done => {
56
58
  const config = window['sap-ui-webcomponents-bundle'].configuration;
57
- return config.getAnimationMode();
59
+ done(config.getAnimationMode());
58
60
  });
59
61
  assert.strictEqual(res, 'basic', "animationMode is basic");
60
62
  });
@@ -1,45 +1,93 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
- describe("Some settings can be set via URL params", () => {
4
- browser.url("http://localhost:9191/test-resources/pages/Configuration.html?sap-ui-rtl=true&sap-ui-language=ja&sap-ui-calendarType=Japanese&sap-ui-theme=sap_belize_hcb&sap-ui-animationMode=basic");
3
+ describe("Some settings can be set via SAP UI URL params", () => {
4
+ before(async () => {
5
+ await browser.url("http://localhost:9191/test-resources/pages/Configuration.html?sap-ui-rtl=true&sap-ui-language=ja&sap-ui-calendarType=Japanese&sap-ui-theme=sap_belize_hcb&sap-ui-animationMode=basic");
6
+ });
5
7
 
6
- it("Tests that RTL is applied", () => {
7
- const res = browser.execute( () => {
8
+ it("Tests that RTL is applied", async () => {
9
+ const res = await browser.executeAsync(done => {
8
10
  const config = window['sap-ui-webcomponents-bundle'].configuration;
9
- return config.getRTL();
11
+ done(config.getRTL());
10
12
  });
11
13
  assert.strictEqual(res, true, "RTL is true");
12
14
  });
13
15
 
14
- it("Tests that language is applied", () => {
15
- const res = browser.execute( () => {
16
+ it("Tests that language is applied", async () => {
17
+ const res = await browser.executeAsync(done => {
16
18
  const config = window['sap-ui-webcomponents-bundle'].configuration;
17
- return config.getLanguage();
19
+ done(config.getLanguage());
18
20
  });
19
21
  assert.strictEqual(res, 'ja', "language is japanese");
20
22
  });
21
23
 
22
- it("Tests that calendarType is applied", () => {
23
- const res = browser.execute( () => {
24
+ it("Tests that calendarType is applied", async () => {
25
+ const res = await browser.executeAsync(done => {
24
26
  const config = window['sap-ui-webcomponents-bundle'].configuration;
25
- return config.getCalendarType();
27
+ done(config.getCalendarType());
26
28
  });
27
29
  assert.strictEqual(res, 'Japanese', "calendarType is japanese");
28
30
  });
29
31
 
30
- it("Tests that theme is applied", () => {
31
- const res = browser.execute( () => {
32
+ it("Tests that theme is applied", async () => {
33
+ const res = await browser.executeAsync(done => {
32
34
  const config = window['sap-ui-webcomponents-bundle'].configuration;
33
- return config.getTheme();
35
+ done(config.getTheme());
34
36
  });
35
37
  assert.strictEqual(res, 'sap_belize_hcb', "Thems is HCB");
36
38
  });
37
39
 
38
- it("Tests that animationMode is applied", () => {
39
- const res = browser.execute( () => {
40
+ it("Tests that animationMode is applied", async () => {
41
+ const res = await browser.executeAsync(done => {
40
42
  const config = window['sap-ui-webcomponents-bundle'].configuration;
41
- return config.getAnimationMode();
43
+ done(config.getAnimationMode());
42
44
  });
43
45
  assert.strictEqual(res, 'basic', "animationMode is basic");
44
46
  });
45
47
  });
48
+
49
+
50
+ describe("Some settings can be set via SAP URL params", () => {
51
+ before(async () => {
52
+ await browser.url("http://localhost:9191/test-resources/pages/Configuration.html?sap-language=bg&sap-theme=sap_fiori_3_dark");
53
+ });
54
+
55
+ it("Tests that language is applied", async () => {
56
+ const res = await browser.executeAsync(done => {
57
+ const config = window['sap-ui-webcomponents-bundle'].configuration;
58
+ done(config.getLanguage());
59
+ });
60
+ assert.strictEqual(res, 'bg', "language is bulgarian");
61
+ });
62
+
63
+ it("Tests that theme is applied", async () => {
64
+ const res = await browser.executeAsync(done => {
65
+ const config = window['sap-ui-webcomponents-bundle'].configuration;
66
+ done(config.getTheme());
67
+ });
68
+ assert.strictEqual(res, 'sap_fiori_3_dark', "Thems is Fiori Dark");
69
+ });
70
+ });
71
+
72
+
73
+ describe("SAP UI params take precedence over the SAP params", () => {
74
+ before(async () => {
75
+ await browser.url("http://localhost:9191/test-resources/pages/Configuration.html?sap-language=bg&sap-ui-language=de&sap-theme=sap_fiori_3_dark&sap-theme=sap_fiori_3_hcb");
76
+ });
77
+
78
+ it("Tests that language is applied via sap-ui-language", async () => {
79
+ const res = await browser.executeAsync(done => {
80
+ const config = window['sap-ui-webcomponents-bundle'].configuration;
81
+ done(config.getLanguage());
82
+ });
83
+ assert.strictEqual(res, 'de', "language is german");
84
+ });
85
+
86
+ it("Tests that theme is applied via sap-ui-theme", async () => {
87
+ const res = await browser.executeAsync(done => {
88
+ const config = window['sap-ui-webcomponents-bundle'].configuration;
89
+ done(config.getTheme());
90
+ });
91
+ assert.strictEqual(res, 'sap_fiori_3_hcb', "Thems is Fiori HCB");
92
+ });
93
+ });
@@ -1,22 +1,24 @@
1
1
  const assert = require("chai").assert;
2
2
 
3
3
  describe("Custom themes can be registered", () => {
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 theme parameters are changed on theme change", () => {
8
+ it("Tests that theme parameters are changed on theme change", async () => {
7
9
  const newTheme = 'my_custom_theme';
8
10
 
9
- const res = browser.executeAsync( async (newTheme, done) => {
11
+ const res = await browser.executeAsync( async (newTheme, done) => {
10
12
  const var1 = "--var1: #555555";
11
13
 
12
- window.registerThemeProperties("@ui5/webcomponents-base-test", newTheme, `:root{ ${var1}; }`);
14
+ window.registerThemePropertiesLoader("@ui5/webcomponents-base-test", newTheme, () => `:root{ ${var1}; }`);
13
15
 
14
16
  const config = window['sap-ui-webcomponents-bundle'].configuration;
15
17
  await config.setTheme(newTheme);
16
18
 
17
- const style = document.querySelector(`style[data-ui5-theme-properties="@ui5/webcomponents-base-test"]`);
18
- const varsFound = style && style.textContent.includes(var1);
19
- return done(varsFound);
19
+ const style = document.adoptedStyleSheets.find(sh => sh._ui5StyleId === "data-ui5-theme-properties|@ui5/webcomponents-base-test").cssRules[0].cssText;
20
+ const varsFound = style && style.includes(var1);
21
+ done(varsFound);
20
22
  }, newTheme);
21
23
 
22
24
  assert.strictEqual(res, true, "Theme parameters changed");
@@ -0,0 +1,63 @@
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
+ });
@@ -0,0 +1,78 @@
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
+ });