@openui5/sap.ui.core 1.109.0 → 1.111.0

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 (798) hide show
  1. package/.eslintrc.json +8 -25
  2. package/.reuse/dep5 +16 -16
  3. package/THIRDPARTY.txt +2 -2
  4. package/package.json +1 -1
  5. package/src/jquery.sap.act.js +1 -1
  6. package/src/jquery.sap.dom.js +1 -1
  7. package/src/jquery.sap.encoder.js +1 -1
  8. package/src/jquery.sap.events.js +1 -1
  9. package/src/jquery.sap.global.js +2 -2
  10. package/src/jquery.sap.history.js +1 -1
  11. package/src/jquery.sap.keycodes.js +1 -1
  12. package/src/jquery.sap.mobile.js +1 -1
  13. package/src/jquery.sap.promise.js +1 -1
  14. package/src/jquery.sap.properties.js +2 -2
  15. package/src/jquery.sap.resources.js +2 -2
  16. package/src/jquery.sap.script.js +2 -2
  17. package/src/jquery.sap.sjax.js +1 -1
  18. package/src/jquery.sap.storage.js +4 -4
  19. package/src/jquery.sap.strings.js +1 -1
  20. package/src/jquery.sap.stubs.js +1 -1
  21. package/src/jquery.sap.trace.js +1 -1
  22. package/src/jquery.sap.ui.js +1 -1
  23. package/src/jquery.sap.xml.js +1 -1
  24. package/src/sap/base/Log.js +1 -1
  25. package/src/sap/base/assert.js +1 -1
  26. package/src/sap/base/i18n/ResourceBundle.js +1 -1
  27. package/src/sap/base/security/URLListValidator.js +1 -1
  28. package/src/sap/base/security/URLWhitelist.js +1 -1
  29. package/src/sap/base/security/encodeCSS.js +1 -1
  30. package/src/sap/base/security/encodeJS.js +1 -1
  31. package/src/sap/base/security/encodeURL.js +1 -1
  32. package/src/sap/base/security/encodeURLParameters.js +1 -1
  33. package/src/sap/base/security/encodeXML.js +1 -1
  34. package/src/sap/base/security/sanitizeHTML.js +1 -1
  35. package/src/sap/base/strings/camelize.js +1 -1
  36. package/src/sap/base/strings/capitalize.js +1 -1
  37. package/src/sap/base/strings/escapeRegExp.js +1 -1
  38. package/src/sap/base/strings/formatMessage.js +1 -1
  39. package/src/sap/base/strings/hash.js +1 -1
  40. package/src/sap/base/strings/hyphenate.js +1 -1
  41. package/src/sap/base/strings/toHex.js +1 -1
  42. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  43. package/src/sap/base/util/Deferred.js +1 -1
  44. package/src/sap/base/util/JSTokenizer.js +1 -1
  45. package/src/sap/base/util/LoaderExtensions.js +1 -1
  46. package/src/sap/base/util/ObjectPath.js +1 -1
  47. package/src/sap/base/util/Properties.js +1 -1
  48. package/src/sap/base/util/UriParameters.js +1 -1
  49. package/src/sap/base/util/Version.js +1 -1
  50. package/src/sap/base/util/_merge.js +1 -1
  51. package/src/sap/base/util/array/diff.js +1 -1
  52. package/src/sap/base/util/array/uniqueSort.js +1 -1
  53. package/src/sap/base/util/deepClone.js +1 -1
  54. package/src/sap/base/util/deepEqual.js +1 -1
  55. package/src/sap/base/util/deepExtend.js +1 -1
  56. package/src/sap/base/util/defineCoupledProperty.js +1 -1
  57. package/src/sap/base/util/defineLazyProperty.js +1 -1
  58. package/src/sap/base/util/each.js +1 -1
  59. package/src/sap/base/util/extend.js +1 -1
  60. package/src/sap/base/util/fetch.js +4 -4
  61. package/src/sap/base/util/includes.js +1 -1
  62. package/src/sap/base/util/isEmptyObject.js +1 -1
  63. package/src/sap/base/util/isPlainObject.js +1 -1
  64. package/src/sap/base/util/merge.js +1 -1
  65. package/src/sap/base/util/mixedFetch.js +1 -1
  66. package/src/sap/base/util/now.js +1 -1
  67. package/src/sap/base/util/resolveReference.js +1 -1
  68. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  69. package/src/sap/base/util/restricted/_castArray.js +2 -2
  70. package/src/sap/base/util/restricted/_compact.js +2 -2
  71. package/src/sap/base/util/restricted/_curry.js +2 -2
  72. package/src/sap/base/util/restricted/_debounce.js +2 -2
  73. package/src/sap/base/util/restricted/_difference.js +2 -2
  74. package/src/sap/base/util/restricted/_differenceBy.js +2 -2
  75. package/src/sap/base/util/restricted/_differenceWith.js +2 -2
  76. package/src/sap/base/util/restricted/_flatMap.js +2 -2
  77. package/src/sap/base/util/restricted/_flatMapDeep.js +2 -2
  78. package/src/sap/base/util/restricted/_flatMapDepth.js +2 -2
  79. package/src/sap/base/util/restricted/_flatten.js +2 -2
  80. package/src/sap/base/util/restricted/_flattenDeep.js +2 -2
  81. package/src/sap/base/util/restricted/_flattenDepth.js +2 -2
  82. package/src/sap/base/util/restricted/_intersection.js +2 -2
  83. package/src/sap/base/util/restricted/_intersectionBy.js +2 -2
  84. package/src/sap/base/util/restricted/_intersectionWith.js +2 -2
  85. package/src/sap/base/util/restricted/_isEqual.js +2 -2
  86. package/src/sap/base/util/restricted/_isEqualWith.js +2 -2
  87. package/src/sap/base/util/restricted/_isNil.js +2 -2
  88. package/src/sap/base/util/restricted/_max.js +2 -2
  89. package/src/sap/base/util/restricted/_merge.js +2 -2
  90. package/src/sap/base/util/restricted/_mergeWith.js +2 -2
  91. package/src/sap/base/util/restricted/_min.js +2 -2
  92. package/src/sap/base/util/restricted/_omit.js +2 -2
  93. package/src/sap/base/util/restricted/_pick.js +2 -2
  94. package/src/sap/base/util/restricted/_pickBy.js +2 -2
  95. package/src/sap/base/util/restricted/_throttle.js +2 -2
  96. package/src/sap/base/util/restricted/_toArray.js +2 -2
  97. package/src/sap/base/util/restricted/_union.js +2 -2
  98. package/src/sap/base/util/restricted/_unionBy.js +2 -2
  99. package/src/sap/base/util/restricted/_unionWith.js +2 -2
  100. package/src/sap/base/util/restricted/_uniq.js +2 -2
  101. package/src/sap/base/util/restricted/_uniqBy.js +2 -2
  102. package/src/sap/base/util/restricted/_uniqWith.js +2 -2
  103. package/src/sap/base/util/restricted/_without.js +2 -2
  104. package/src/sap/base/util/restricted/_xor.js +2 -2
  105. package/src/sap/base/util/restricted/_xorBy.js +2 -2
  106. package/src/sap/base/util/restricted/_xorWith.js +2 -2
  107. package/src/sap/base/util/restricted/_zipObject.js +2 -2
  108. package/src/sap/base/util/restricted/_zipObjectDeep.js +2 -2
  109. package/src/sap/base/util/syncFetch.js +2 -2
  110. package/src/sap/base/util/uid.js +1 -1
  111. package/src/sap/base/util/values.js +1 -1
  112. package/src/sap/ui/Device.js +4 -4
  113. package/src/sap/ui/Global.js +5 -5
  114. package/src/sap/ui/VersionInfo.js +1 -1
  115. package/src/sap/ui/base/BindingInfo.js +1 -1
  116. package/src/sap/ui/base/BindingParser.js +1 -1
  117. package/src/sap/ui/base/DataType.js +1 -1
  118. package/src/sap/ui/base/Event.js +2 -2
  119. package/src/sap/ui/base/EventProvider.js +2 -2
  120. package/src/sap/ui/base/Exception.js +1 -1
  121. package/src/sap/ui/base/ExpressionParser.js +1 -1
  122. package/src/sap/ui/base/Interface.js +2 -2
  123. package/src/sap/ui/base/ManagedObject.js +337 -233
  124. package/src/sap/ui/base/ManagedObjectMetadata.js +8 -6
  125. package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
  126. package/src/sap/ui/base/ManagedObjectRegistry.js +1 -1
  127. package/src/sap/ui/base/Metadata.js +2 -2
  128. package/src/sap/ui/base/Object.js +21 -12
  129. package/src/sap/ui/base/ObjectPool.js +2 -2
  130. package/src/sap/ui/base/SyncPromise.js +1 -1
  131. package/src/sap/ui/base/syncXHRFix.js +1 -1
  132. package/src/sap/ui/core/.library +4 -4
  133. package/src/sap/ui/core/AccessKeysEnablement.js +1 -1
  134. package/src/sap/ui/core/AppCacheBuster.js +1 -1
  135. package/src/sap/ui/core/BlockLayerUtils.js +11 -4
  136. package/src/sap/ui/core/BusyIndicator.js +7 -5
  137. package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
  138. package/src/sap/ui/core/CalendarType.js +1 -1
  139. package/src/sap/ui/core/CommandExecution.js +1 -1
  140. package/src/sap/ui/core/Component.js +105 -83
  141. package/src/sap/ui/core/ComponentContainer.js +3 -3
  142. package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
  143. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  144. package/src/sap/ui/core/ComponentSupport.js +2 -2
  145. package/src/sap/ui/core/Configuration.js +13 -7
  146. package/src/sap/ui/core/ContextMenuSupport.js +1 -1
  147. package/src/sap/ui/core/Control.js +29 -27
  148. package/src/sap/ui/core/Core.js +64 -981
  149. package/src/sap/ui/core/CustomData.js +2 -2
  150. package/src/sap/ui/core/CustomStyleClassSupport.js +1 -1
  151. package/src/sap/ui/core/DeclarativeSupport.js +2 -2
  152. package/src/sap/ui/core/Element.js +206 -30
  153. package/src/sap/ui/core/ElementMetadata.js +2 -2
  154. package/src/sap/ui/core/EnabledPropagator.js +17 -2
  155. package/src/sap/ui/core/EventBus.js +2 -2
  156. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  157. package/src/sap/ui/core/FocusHandler.js +1 -1
  158. package/src/sap/ui/core/Fragment.js +2 -2
  159. package/src/sap/ui/core/HTML.js +2 -2
  160. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  161. package/src/sap/ui/core/History.js +2 -2
  162. package/src/sap/ui/core/Icon.js +14 -8
  163. package/src/sap/ui/core/IconPool.js +1 -1
  164. package/src/sap/ui/core/IconRenderer.js +1 -1
  165. package/src/sap/ui/core/IndicationColorSupport.js +6 -6
  166. package/src/sap/ui/core/IntervalTrigger.js +2 -2
  167. package/src/sap/ui/core/InvisibleMessage.js +2 -2
  168. package/src/sap/ui/core/InvisibleRenderer.js +2 -2
  169. package/src/sap/ui/core/InvisibleText.js +11 -7
  170. package/src/sap/ui/core/Item.js +2 -2
  171. package/src/sap/ui/core/LabelEnablement.js +2 -2
  172. package/src/sap/ui/core/LayoutData.js +2 -2
  173. package/src/sap/ui/core/Lib.js +1595 -0
  174. package/src/sap/ui/core/ListItem.js +2 -2
  175. package/src/sap/ui/core/LocalBusyIndicator.js +2 -2
  176. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +1 -1
  177. package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
  178. package/src/sap/ui/core/Locale.js +13 -12
  179. package/src/sap/ui/core/LocaleData.js +122 -26
  180. package/src/sap/ui/core/Manifest.js +5 -3
  181. package/src/sap/ui/core/Message.js +2 -2
  182. package/src/sap/ui/core/Patcher.js +36 -1
  183. package/src/sap/ui/core/Placeholder.js +3 -3
  184. package/src/sap/ui/core/Popup.js +2 -1
  185. package/src/sap/ui/core/RenderManager.js +287 -157
  186. package/src/sap/ui/core/Renderer.js +2 -2
  187. package/src/sap/ui/core/Rendering.js +1 -1
  188. package/src/sap/ui/core/ResizeHandler.js +61 -21
  189. package/src/sap/ui/core/ScrollBar.js +2 -2
  190. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  191. package/src/sap/ui/core/SeparatorItem.js +2 -2
  192. package/src/sap/ui/core/Shortcut.js +1 -1
  193. package/src/sap/ui/core/ShortcutHint.js +5 -5
  194. package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
  195. package/src/sap/ui/core/StashedControlSupport.js +1 -1
  196. package/src/sap/ui/core/Title.js +2 -2
  197. package/src/sap/ui/core/TooltipBase.js +2 -2
  198. package/src/sap/ui/core/UIArea.js +39 -7
  199. package/src/sap/ui/core/UIComponent.js +9 -7
  200. package/src/sap/ui/core/UIComponentMetadata.js +2 -2
  201. package/src/sap/ui/core/ValueStateSupport.js +6 -6
  202. package/src/sap/ui/core/VariantLayoutData.js +2 -2
  203. package/src/sap/ui/core/XMLComposite.js +2 -2
  204. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  205. package/src/sap/ui/core/XMLTemplateProcessor.js +6 -4
  206. package/src/sap/ui/core/_ConfigurationProvider.js +1 -1
  207. package/src/sap/ui/core/_IconRegistry.js +6 -4
  208. package/src/sap/ui/core/_UrlResolver.js +1 -1
  209. package/src/sap/ui/core/cache/CacheManager.js +2 -2
  210. package/src/sap/ui/core/cache/CacheManagerNOP.js +1 -1
  211. package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
  212. package/src/sap/ui/core/cldr/ar.json +818 -444
  213. package/src/sap/ui/core/cldr/ar_EG.json +818 -444
  214. package/src/sap/ui/core/cldr/ar_SA.json +913 -540
  215. package/src/sap/ui/core/cldr/bg.json +520 -284
  216. package/src/sap/ui/core/cldr/ca.json +341 -101
  217. package/src/sap/ui/core/cldr/cs.json +361 -60
  218. package/src/sap/ui/core/cldr/cy.json +454 -325
  219. package/src/sap/ui/core/cldr/da.json +519 -305
  220. package/src/sap/ui/core/cldr/de.json +350 -115
  221. package/src/sap/ui/core/cldr/de_AT.json +340 -105
  222. package/src/sap/ui/core/cldr/de_CH.json +352 -117
  223. package/src/sap/ui/core/cldr/el.json +395 -148
  224. package/src/sap/ui/core/cldr/el_CY.json +395 -148
  225. package/src/sap/ui/core/cldr/en.json +306 -34
  226. package/src/sap/ui/core/cldr/en_AU.json +493 -210
  227. package/src/sap/ui/core/cldr/en_GB.json +465 -181
  228. package/src/sap/ui/core/cldr/en_HK.json +507 -221
  229. package/src/sap/ui/core/cldr/en_IE.json +506 -223
  230. package/src/sap/ui/core/cldr/en_IN.json +510 -223
  231. package/src/sap/ui/core/cldr/en_NZ.json +505 -222
  232. package/src/sap/ui/core/cldr/en_PG.json +506 -223
  233. package/src/sap/ui/core/cldr/en_SG.json +495 -209
  234. package/src/sap/ui/core/cldr/en_ZA.json +503 -220
  235. package/src/sap/ui/core/cldr/es.json +623 -385
  236. package/src/sap/ui/core/cldr/es_AR.json +530 -291
  237. package/src/sap/ui/core/cldr/es_BO.json +539 -300
  238. package/src/sap/ui/core/cldr/es_CL.json +497 -258
  239. package/src/sap/ui/core/cldr/es_CO.json +498 -259
  240. package/src/sap/ui/core/cldr/es_MX.json +684 -445
  241. package/src/sap/ui/core/cldr/es_PE.json +464 -225
  242. package/src/sap/ui/core/cldr/es_UY.json +468 -229
  243. package/src/sap/ui/core/cldr/es_VE.json +467 -228
  244. package/src/sap/ui/core/cldr/et.json +469 -232
  245. package/src/sap/ui/core/cldr/fa.json +684 -421
  246. package/src/sap/ui/core/cldr/fi.json +427 -125
  247. package/src/sap/ui/core/cldr/fr.json +312 -65
  248. package/src/sap/ui/core/cldr/fr_BE.json +309 -62
  249. package/src/sap/ui/core/cldr/fr_CA.json +328 -81
  250. package/src/sap/ui/core/cldr/fr_CH.json +309 -62
  251. package/src/sap/ui/core/cldr/fr_LU.json +312 -65
  252. package/src/sap/ui/core/cldr/he.json +768 -538
  253. package/src/sap/ui/core/cldr/hi.json +369 -100
  254. package/src/sap/ui/core/cldr/hr.json +539 -80
  255. package/src/sap/ui/core/cldr/hu.json +308 -82
  256. package/src/sap/ui/core/cldr/id.json +392 -174
  257. package/src/sap/ui/core/cldr/it.json +302 -86
  258. package/src/sap/ui/core/cldr/it_CH.json +302 -86
  259. package/src/sap/ui/core/cldr/ja.json +264 -41
  260. package/src/sap/ui/core/cldr/kk.json +320 -69
  261. package/src/sap/ui/core/cldr/ko.json +345 -120
  262. package/src/sap/ui/core/cldr/lt.json +328 -87
  263. package/src/sap/ui/core/cldr/lv.json +452 -207
  264. package/src/sap/ui/core/cldr/ms.json +469 -250
  265. package/src/sap/ui/core/cldr/nb.json +354 -123
  266. package/src/sap/ui/core/cldr/nl.json +381 -63
  267. package/src/sap/ui/core/cldr/nl_BE.json +381 -63
  268. package/src/sap/ui/core/cldr/pl.json +493 -168
  269. package/src/sap/ui/core/cldr/pt.json +568 -350
  270. package/src/sap/ui/core/cldr/pt_PT.json +566 -346
  271. package/src/sap/ui/core/cldr/ro.json +374 -123
  272. package/src/sap/ui/core/cldr/ru.json +509 -213
  273. package/src/sap/ui/core/cldr/ru_UA.json +508 -212
  274. package/src/sap/ui/core/cldr/sk.json +346 -48
  275. package/src/sap/ui/core/cldr/sl.json +593 -295
  276. package/src/sap/ui/core/cldr/sr.json +404 -177
  277. package/src/sap/ui/core/cldr/sr_Latn.json +393 -178
  278. package/src/sap/ui/core/cldr/sv.json +475 -250
  279. package/src/sap/ui/core/cldr/th.json +384 -162
  280. package/src/sap/ui/core/cldr/tr.json +326 -98
  281. package/src/sap/ui/core/cldr/uk.json +647 -338
  282. package/src/sap/ui/core/cldr/vi.json +288 -70
  283. package/src/sap/ui/core/cldr/zh_CN.json +560 -333
  284. package/src/sap/ui/core/cldr/zh_HK.json +531 -304
  285. package/src/sap/ui/core/cldr/zh_SG.json +536 -309
  286. package/src/sap/ui/core/cldr/zh_TW.json +418 -177
  287. package/src/sap/ui/core/date/Buddhist.js +1 -1
  288. package/src/sap/ui/core/date/CalendarUtils.js +1 -1
  289. package/src/sap/ui/core/date/CalendarWeekNumbering.js +1 -1
  290. package/src/sap/ui/core/date/Gregorian.js +1 -1
  291. package/src/sap/ui/core/date/Islamic.js +1 -1
  292. package/src/sap/ui/core/date/Japanese.js +1 -1
  293. package/src/sap/ui/core/date/Persian.js +1 -1
  294. package/src/sap/ui/core/date/UI5Date.js +970 -0
  295. package/src/sap/ui/core/date/UniversalDate.js +804 -40
  296. package/src/sap/ui/core/date/UniversalDateUtils.js +171 -15
  297. package/src/sap/ui/core/date/_Calendars.js +1 -1
  298. package/src/sap/ui/core/delegate/ItemNavigation.js +18 -14
  299. package/src/sap/ui/core/delegate/ScrollEnablement.js +40 -3
  300. package/src/sap/ui/core/designtime/ComponentContainer.designtime.js +1 -1
  301. package/src/sap/ui/core/designtime/CustomData.designtime.js +1 -1
  302. package/src/sap/ui/core/designtime/Icon.designtime.js +1 -1
  303. package/src/sap/ui/core/designtime/UIComponent.designtime.js +1 -1
  304. package/src/sap/ui/core/designtime/library.designtime.js +1 -1
  305. package/src/sap/ui/core/designtime/mvc/ControllerExtensionTemplate.js +1 -1
  306. package/src/sap/ui/core/designtime/mvc/View.designtime.js +1 -1
  307. package/src/sap/ui/core/designtime/mvc/XMLView.designtime.js +1 -1
  308. package/src/sap/ui/core/dnd/DragAndDrop.js +27 -16
  309. package/src/sap/ui/core/dnd/DragDropBase.js +2 -2
  310. package/src/sap/ui/core/dnd/DragDropInfo.js +2 -2
  311. package/src/sap/ui/core/dnd/DragInfo.js +6 -9
  312. package/src/sap/ui/core/dnd/DropInfo.js +2 -2
  313. package/src/sap/ui/core/format/DateFormat.js +468 -323
  314. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
  315. package/src/sap/ui/core/format/FileSizeFormat.js +16 -5
  316. package/src/sap/ui/core/format/ListFormat.js +2 -1
  317. package/src/sap/ui/core/format/NumberFormat.js +75 -147
  318. package/src/sap/ui/core/format/TimezoneUtil.js +10 -8
  319. package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -2
  320. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +1 -1
  321. package/src/sap/ui/core/library.js +60 -13
  322. package/src/sap/ui/core/library.support.js +1 -1
  323. package/src/sap/ui/core/message/ControlMessageProcessor.js +2 -2
  324. package/src/sap/ui/core/message/Message.js +2 -2
  325. package/src/sap/ui/core/message/MessageManager.js +2 -2
  326. package/src/sap/ui/core/message/MessageMixin.js +1 -1
  327. package/src/sap/ui/core/message/MessageParser.js +2 -2
  328. package/src/sap/ui/core/message/MessageProcessor.js +2 -2
  329. package/src/sap/ui/core/messagebundle_bg.properties +1 -1
  330. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  331. package/src/sap/ui/core/messagebundle_hr.properties +2 -2
  332. package/src/sap/ui/core/messagebundle_nl.properties +1 -1
  333. package/src/sap/ui/core/messagebundle_th.properties +1 -1
  334. package/src/sap/ui/core/mvc/Controller.js +1 -1
  335. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  336. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  337. package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
  338. package/src/sap/ui/core/mvc/EventHandlerResolver.js +1 -1
  339. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  340. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  341. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  342. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  343. package/src/sap/ui/core/mvc/JSView.js +2 -2
  344. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  345. package/src/sap/ui/core/mvc/OverrideExecution.js +1 -1
  346. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  347. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  348. package/src/sap/ui/core/mvc/View.js +2 -7
  349. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  350. package/src/sap/ui/core/mvc/ViewType.js +1 -1
  351. package/src/sap/ui/core/mvc/XMLProcessingMode.js +1 -1
  352. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  353. package/src/sap/ui/core/mvc/XMLViewRenderer.js +1 -1
  354. package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -2
  355. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  356. package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
  357. package/src/sap/ui/core/postmessage/Bus.js +2 -2
  358. package/src/sap/ui/core/postmessage/confirmationDialog.js +2 -2
  359. package/src/sap/ui/core/routing/HashChanger.js +1 -1
  360. package/src/sap/ui/core/routing/HashChangerBase.js +1 -1
  361. package/src/sap/ui/core/routing/History.js +1 -1
  362. package/src/sap/ui/core/routing/Route.js +1 -1
  363. package/src/sap/ui/core/routing/Router.js +5 -4
  364. package/src/sap/ui/core/routing/RouterHashChanger.js +1 -1
  365. package/src/sap/ui/core/routing/Target.js +19 -3
  366. package/src/sap/ui/core/routing/TargetCache.js +1 -1
  367. package/src/sap/ui/core/routing/Targets.js +7 -15
  368. package/src/sap/ui/core/routing/Views.js +1 -1
  369. package/src/sap/ui/core/routing/async/Route.js +1 -1
  370. package/src/sap/ui/core/routing/async/Target.js +15 -23
  371. package/src/sap/ui/core/routing/async/TargetCache.js +1 -3
  372. package/src/sap/ui/core/routing/async/Targets.js +1 -1
  373. package/src/sap/ui/core/routing/sync/Route.js +1 -1
  374. package/src/sap/ui/core/routing/sync/Target.js +1 -2
  375. package/src/sap/ui/core/routing/sync/TargetCache.js +1 -1
  376. package/src/sap/ui/core/routing/sync/Targets.js +1 -1
  377. package/src/sap/ui/core/rules/App.support.js +1 -1
  378. package/src/sap/ui/core/rules/Config.support.js +1 -1
  379. package/src/sap/ui/core/rules/CoreHelper.support.js +1 -1
  380. package/src/sap/ui/core/rules/Misc.support.js +1 -1
  381. package/src/sap/ui/core/rules/Model.support.js +1 -1
  382. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  383. package/src/sap/ui/core/rules/Theming.support.js +1 -1
  384. package/src/sap/ui/core/rules/View.support.js +1 -1
  385. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
  386. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  387. package/src/sap/ui/core/service/Service.js +2 -2
  388. package/src/sap/ui/core/service/ServiceFactory.js +2 -2
  389. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +2 -2
  390. package/src/sap/ui/core/support/BootSupportTool.js +1 -1
  391. package/src/sap/ui/core/support/Hotkeys.js +1 -1
  392. package/src/sap/ui/core/support/Plugin.js +2 -2
  393. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +9 -8
  394. package/src/sap/ui/core/support/Support.js +20 -12
  395. package/src/sap/ui/core/support/ToolsAPI.js +1 -1
  396. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  397. package/src/sap/ui/core/support/controls/InteractionSlider.js +1 -1
  398. package/src/sap/ui/core/support/controls/InteractionTree.js +1 -1
  399. package/src/sap/ui/core/support/controls/ObjectViewer.js +1 -1
  400. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  401. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  402. package/src/sap/ui/core/support/debugReboot.js +1 -1
  403. package/src/sap/ui/core/support/plugins/Breakpoint.js +1 -1
  404. package/src/sap/ui/core/support/plugins/ControlTree.js +15 -21
  405. package/src/sap/ui/core/support/plugins/Debugging.js +1 -1
  406. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  407. package/src/sap/ui/core/support/plugins/LocalStorage.js +2 -2
  408. package/src/sap/ui/core/support/plugins/Performance.js +2 -2
  409. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  410. package/src/sap/ui/core/support/plugins/TechInfo.js +2 -2
  411. package/src/sap/ui/core/support/plugins/Trace.js +2 -2
  412. package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
  413. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +2 -1
  414. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +8 -6
  415. package/src/sap/ui/core/support/techinfo/TechnicalInfoDebugDialog.fragment.xml +1 -0
  416. package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
  417. package/src/sap/ui/core/support/trace/E2eTraceLib.js +1 -1
  418. package/src/sap/ui/core/support/trace/EppLib.js +1 -1
  419. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  420. package/src/sap/ui/core/syncStyleClass.js +1 -1
  421. package/src/sap/ui/core/themes/base/base.less +14 -9
  422. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  423. package/src/sap/ui/core/themes/base/library.source.less +1 -1
  424. package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
  425. package/src/sap/ui/core/theming/Parameters.js +15 -14
  426. package/src/sap/ui/core/theming/ThemeHelper.js +48 -26
  427. package/src/sap/ui/core/theming/ThemeManager.js +7 -23
  428. package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
  429. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  430. package/src/sap/ui/core/tmpl/DOMElementRenderer.js +1 -1
  431. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
  432. package/src/sap/ui/core/tmpl/Template.js +2 -2
  433. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  434. package/src/sap/ui/core/tmpl/TemplateControlRenderer.js +1 -1
  435. package/src/sap/ui/core/tmpl/_parsePath.js +1 -1
  436. package/src/sap/ui/core/util/AsyncHintsHelper.js +2 -2
  437. package/src/sap/ui/core/util/DraftEnabledMockServer.js +1 -1
  438. package/src/sap/ui/core/util/Export.js +2 -2
  439. package/src/sap/ui/core/util/ExportCell.js +2 -2
  440. package/src/sap/ui/core/util/ExportColumn.js +2 -2
  441. package/src/sap/ui/core/util/ExportRow.js +2 -2
  442. package/src/sap/ui/core/util/ExportType.js +2 -2
  443. package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
  444. package/src/sap/ui/core/util/File.js +2 -2
  445. package/src/sap/ui/core/util/LibraryInfo.js +2 -2
  446. package/src/sap/ui/core/util/MockServer.js +2 -2
  447. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +1 -1
  448. package/src/sap/ui/core/util/PasteHelper.js +2 -2
  449. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +1 -1
  450. package/src/sap/ui/core/util/ShortcutHelper.js +1 -1
  451. package/src/sap/ui/core/util/XMLPreprocessor.js +2 -1
  452. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +13 -1
  453. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +28 -4
  454. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +16 -1
  455. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  456. package/src/sap/ui/core/util/serializer/Serializer.js +2 -2
  457. package/src/sap/ui/core/util/serializer/ViewSerializer.js +2 -2
  458. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  459. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +2 -2
  460. package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
  461. package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
  462. package/src/sap/ui/core/ws/ReadyState.js +2 -2
  463. package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -2
  464. package/src/sap/ui/core/ws/WebSocket.js +3 -2
  465. package/src/sap/ui/debug/ControlTree.js +2 -2
  466. package/src/sap/ui/debug/DebugEnv.js +2 -2
  467. package/src/sap/ui/debug/Highlighter.js +1 -1
  468. package/src/sap/ui/debug/LogViewer.js +1 -1
  469. package/src/sap/ui/debug/PropertyList.js +2 -2
  470. package/src/sap/ui/dom/_ready.js +1 -1
  471. package/src/sap/ui/dom/containsOrEquals.js +1 -1
  472. package/src/sap/ui/dom/denormalizeScrollBeginRTL.js +1 -1
  473. package/src/sap/ui/dom/denormalizeScrollLeftRTL.js +1 -1
  474. package/src/sap/ui/dom/getComputedStyleFix.js +1 -1
  475. package/src/sap/ui/dom/getFirstEditableInput.js +1 -1
  476. package/src/sap/ui/dom/getOwnerWindow.js +1 -1
  477. package/src/sap/ui/dom/getScrollbarSize.js +1 -1
  478. package/src/sap/ui/dom/includeScript.js +1 -1
  479. package/src/sap/ui/dom/includeStylesheet.js +1 -1
  480. package/src/sap/ui/dom/isBehindOtherElement.js +61 -0
  481. package/src/sap/ui/dom/isHidden.js +1 -1
  482. package/src/sap/ui/dom/jquery/Aria.js +1 -1
  483. package/src/sap/ui/dom/jquery/Focusable.js +1 -1
  484. package/src/sap/ui/dom/jquery/Selection.js +1 -1
  485. package/src/sap/ui/dom/jquery/Selectors.js +1 -1
  486. package/src/sap/ui/dom/jquery/control.js +1 -1
  487. package/src/sap/ui/dom/jquery/cursorPos.js +1 -1
  488. package/src/sap/ui/dom/jquery/getSelectedText.js +1 -1
  489. package/src/sap/ui/dom/jquery/hasTabIndex.js +1 -1
  490. package/src/sap/ui/dom/jquery/parentByAttribute.js +1 -1
  491. package/src/sap/ui/dom/jquery/rect.js +1 -1
  492. package/src/sap/ui/dom/jquery/rectContains.js +1 -1
  493. package/src/sap/ui/dom/jquery/scrollLeftRTL.js +1 -1
  494. package/src/sap/ui/dom/jquery/scrollRightRTL.js +1 -1
  495. package/src/sap/ui/dom/jquery/selectText.js +1 -1
  496. package/src/sap/ui/dom/jquery/zIndex.js +1 -1
  497. package/src/sap/ui/dom/units/Rem.js +1 -1
  498. package/src/sap/ui/events/ControlEvents.js +1 -1
  499. package/src/sap/ui/events/F6Navigation.js +230 -164
  500. package/src/sap/ui/events/KeyCodes.js +1 -1
  501. package/src/sap/ui/events/PasteEventFix.js +1 -1
  502. package/src/sap/ui/events/PseudoEvents.js +1 -1
  503. package/src/sap/ui/events/TouchToMouseMapping.js +1 -1
  504. package/src/sap/ui/events/checkMouseEnterOrLeave.js +1 -1
  505. package/src/sap/ui/events/isMouseEventDelayed.js +1 -1
  506. package/src/sap/ui/events/isSpecialKey.js +1 -1
  507. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  508. package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
  509. package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
  510. package/src/sap/ui/model/Binding.js +1 -1
  511. package/src/sap/ui/model/BindingMode.js +1 -1
  512. package/src/sap/ui/model/ChangeReason.js +1 -1
  513. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  514. package/src/sap/ui/model/ClientListBinding.js +1 -1
  515. package/src/sap/ui/model/ClientModel.js +2 -2
  516. package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
  517. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  518. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  519. package/src/sap/ui/model/CompositeBinding.js +1 -1
  520. package/src/sap/ui/model/CompositeDataState.js +2 -2
  521. package/src/sap/ui/model/CompositeType.js +2 -2
  522. package/src/sap/ui/model/Context.js +1 -1
  523. package/src/sap/ui/model/ContextBinding.js +1 -1
  524. package/src/sap/ui/model/DataState.js +2 -2
  525. package/src/sap/ui/model/Filter.js +1 -1
  526. package/src/sap/ui/model/FilterOperator.js +1 -1
  527. package/src/sap/ui/model/FilterProcessor.js +1 -1
  528. package/src/sap/ui/model/FilterType.js +1 -1
  529. package/src/sap/ui/model/FormatException.js +1 -1
  530. package/src/sap/ui/model/ListBinding.js +1 -1
  531. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -10
  532. package/src/sap/ui/model/MetaModel.js +2 -2
  533. package/src/sap/ui/model/Model.js +3 -13
  534. package/src/sap/ui/model/ParseException.js +1 -1
  535. package/src/sap/ui/model/PropertyBinding.js +1 -1
  536. package/src/sap/ui/model/SelectionModel.js +2 -2
  537. package/src/sap/ui/model/SimpleType.js +2 -2
  538. package/src/sap/ui/model/Sorter.js +1 -1
  539. package/src/sap/ui/model/SorterProcessor.js +1 -1
  540. package/src/sap/ui/model/StaticBinding.js +1 -1
  541. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  542. package/src/sap/ui/model/TreeBinding.js +1 -1
  543. package/src/sap/ui/model/TreeBindingAdapter.js +1 -1
  544. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  545. package/src/sap/ui/model/TreeBindingUtils.js +1 -1
  546. package/src/sap/ui/model/Type.js +2 -2
  547. package/src/sap/ui/model/ValidateException.js +1 -1
  548. package/src/sap/ui/model/_Helper.js +1 -1
  549. package/src/sap/ui/model/analytics/AnalyticalBinding.js +19 -7
  550. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  551. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  552. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  553. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  554. package/src/sap/ui/model/analytics/odata4analytics.js +7 -3
  555. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  556. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +73 -41
  557. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  558. package/src/sap/ui/model/json/JSONModel.js +2 -2
  559. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  560. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  561. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  562. package/src/sap/ui/model/message/MessageModel.js +2 -2
  563. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  564. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  565. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  566. package/src/sap/ui/model/odata/CountMode.js +1 -1
  567. package/src/sap/ui/model/odata/Filter.js +1 -1
  568. package/src/sap/ui/model/odata/MessageScope.js +1 -1
  569. package/src/sap/ui/model/odata/ODataAnnotations.js +13 -5
  570. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  571. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  572. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  573. package/src/sap/ui/model/odata/ODataMetaModel.js +29 -23
  574. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  575. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  576. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  577. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  578. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  579. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
  580. package/src/sap/ui/model/odata/ODataUtils.js +1 -1
  581. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  582. package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
  583. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
  584. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  585. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
  586. package/src/sap/ui/model/odata/type/Boolean.js +2 -2
  587. package/src/sap/ui/model/odata/type/Byte.js +3 -3
  588. package/src/sap/ui/model/odata/type/Currency.js +9 -5
  589. package/src/sap/ui/model/odata/type/Date.js +59 -23
  590. package/src/sap/ui/model/odata/type/DateTime.js +33 -4
  591. package/src/sap/ui/model/odata/type/DateTimeBase.js +63 -26
  592. package/src/sap/ui/model/odata/type/DateTimeOffset.js +37 -7
  593. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +7 -6
  594. package/src/sap/ui/model/odata/type/Decimal.js +4 -4
  595. package/src/sap/ui/model/odata/type/Double.js +4 -4
  596. package/src/sap/ui/model/odata/type/Guid.js +2 -2
  597. package/src/sap/ui/model/odata/type/Int.js +2 -2
  598. package/src/sap/ui/model/odata/type/Int16.js +4 -4
  599. package/src/sap/ui/model/odata/type/Int32.js +4 -4
  600. package/src/sap/ui/model/odata/type/Int64.js +4 -4
  601. package/src/sap/ui/model/odata/type/ODataType.js +2 -2
  602. package/src/sap/ui/model/odata/type/Raw.js +2 -2
  603. package/src/sap/ui/model/odata/type/SByte.js +3 -3
  604. package/src/sap/ui/model/odata/type/Single.js +4 -4
  605. package/src/sap/ui/model/odata/type/Stream.js +2 -2
  606. package/src/sap/ui/model/odata/type/String.js +2 -2
  607. package/src/sap/ui/model/odata/type/Time.js +39 -4
  608. package/src/sap/ui/model/odata/type/TimeOfDay.js +41 -6
  609. package/src/sap/ui/model/odata/type/Unit.js +8 -5
  610. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  611. package/src/sap/ui/model/odata/v2/BatchMode.js +1 -1
  612. package/src/sap/ui/model/odata/v2/Context.js +2 -2
  613. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -5
  614. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +2 -1
  615. package/src/sap/ui/model/odata/v2/ODataListBinding.js +12 -2
  616. package/src/sap/ui/model/odata/v2/ODataModel.js +5 -3
  617. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +2 -2
  618. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +1 -1
  619. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +2 -2
  620. package/src/sap/ui/model/odata/v4/Context.js +258 -133
  621. package/src/sap/ui/model/odata/v4/ODataBinding.js +40 -10
  622. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +121 -88
  623. package/src/sap/ui/model/odata/v4/ODataListBinding.js +238 -182
  624. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +5 -7
  625. package/src/sap/ui/model/odata/v4/ODataModel.js +99 -20
  626. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +62 -25
  627. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +20 -6
  628. package/src/sap/ui/model/odata/v4/ODataUtils.js +7 -7
  629. package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
  630. package/src/sap/ui/model/odata/v4/ValueListType.js +1 -1
  631. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  632. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +164 -61
  633. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +105 -34
  634. package/src/sap/ui/model/odata/v4/lib/_Batch.js +20 -13
  635. package/src/sap/ui/model/odata/v4/lib/_Cache.js +289 -187
  636. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +1 -1
  637. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
  638. package/src/sap/ui/model/odata/v4/lib/_Helper.js +123 -23
  639. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +13 -5
  640. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +9 -4
  641. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  642. package/src/sap/ui/model/odata/v4/lib/_Parser.js +1 -1
  643. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +51 -28
  644. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +9 -2
  645. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  646. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +1 -1
  647. package/src/sap/ui/model/resource/ResourceModel.js +2 -2
  648. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  649. package/src/sap/ui/model/type/Boolean.js +2 -2
  650. package/src/sap/ui/model/type/Currency.js +2 -2
  651. package/src/sap/ui/model/type/Date.js +2 -2
  652. package/src/sap/ui/model/type/DateInterval.js +191 -156
  653. package/src/sap/ui/model/type/DateTime.js +2 -2
  654. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  655. package/src/sap/ui/model/type/FileSize.js +4 -3
  656. package/src/sap/ui/model/type/Float.js +4 -3
  657. package/src/sap/ui/model/type/Integer.js +4 -3
  658. package/src/sap/ui/model/type/String.js +2 -2
  659. package/src/sap/ui/model/type/Time.js +2 -2
  660. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  661. package/src/sap/ui/model/type/Unit.js +2 -2
  662. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  663. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  664. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  665. package/src/sap/ui/model/xml/XMLTreeBinding.js +1 -1
  666. package/src/sap/ui/performance/BeaconRequest.js +1 -1
  667. package/src/sap/ui/performance/Measurement.js +1 -1
  668. package/src/sap/ui/performance/XHRInterceptor.js +1 -1
  669. package/src/sap/ui/performance/trace/FESR.js +1 -1
  670. package/src/sap/ui/performance/trace/FESRHelper.js +1 -1
  671. package/src/sap/ui/performance/trace/Interaction.js +24 -10
  672. package/src/sap/ui/performance/trace/Passport.js +1 -1
  673. package/src/sap/ui/performance/trace/initTraces.js +10 -6
  674. package/src/sap/ui/qunit/QUnitUtils.js +2 -2
  675. package/src/sap/ui/qunit/qunit-2-css.js +1 -1
  676. package/src/sap/ui/qunit/qunit-coverage.js +1 -1
  677. package/src/sap/ui/qunit/qunit-css.js +1 -1
  678. package/src/sap/ui/qunit/qunit-junit.js +1 -1
  679. package/src/sap/ui/qunit/qunit-redirect.js +1 -1
  680. package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
  681. package/src/sap/ui/qunit/utils/ControlIterator.js +2 -2
  682. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +2 -2
  683. package/src/sap/ui/qunit/utils/createAndAppendDiv.js +1 -1
  684. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +5 -6
  685. package/src/sap/ui/security/FrameOptions.js +1 -1
  686. package/src/sap/ui/test/BlanketReporter.js +1 -1
  687. package/src/sap/ui/test/BlanketReporterUI.view.xml +2 -5
  688. package/src/sap/ui/test/BranchTracking.js +1 -1
  689. package/src/sap/ui/test/Opa.js +1 -1
  690. package/src/sap/ui/test/Opa5.js +1 -1
  691. package/src/sap/ui/test/OpaBuilder.js +2 -2
  692. package/src/sap/ui/test/OpaExtension.js +1 -1
  693. package/src/sap/ui/test/OpaPlugin.js +22 -3
  694. package/src/sap/ui/test/PageObjectFactory.js +1 -1
  695. package/src/sap/ui/test/RecordReplay.js +1 -1
  696. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  697. package/src/sap/ui/test/TestUtils.js +78 -92
  698. package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
  699. package/src/sap/ui/test/_ControlFinder.js +254 -238
  700. package/src/sap/ui/test/_FocusListener.js +49 -0
  701. package/src/sap/ui/test/_LogCollector.js +1 -1
  702. package/src/sap/ui/test/_OpaLogger.js +1 -1
  703. package/src/sap/ui/test/_OpaUriParameterParser.js +1 -1
  704. package/src/sap/ui/test/_ParameterValidator.js +1 -1
  705. package/src/sap/ui/test/_UsageReport.js +1 -1
  706. package/src/sap/ui/test/_ValidationParameters.js +1 -1
  707. package/src/sap/ui/test/actions/Action.js +17 -3
  708. package/src/sap/ui/test/actions/Drag.js +1 -1
  709. package/src/sap/ui/test/actions/Drop.js +1 -1
  710. package/src/sap/ui/test/actions/EnterText.js +37 -5
  711. package/src/sap/ui/test/actions/Press.js +1 -1
  712. package/src/sap/ui/test/actions/Scroll.js +1 -1
  713. package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -1
  714. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +1 -1
  715. package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
  716. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  717. package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +1 -1
  718. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +1 -1
  719. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +1 -1
  720. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +1 -1
  721. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -1
  722. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +1 -1
  723. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +2 -2
  724. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +1 -1
  725. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
  726. package/src/sap/ui/test/autowaiter/_utils.js +1 -1
  727. package/src/sap/ui/test/generic/GenericTestCollection.js +22 -11
  728. package/src/sap/ui/test/generic/TestBase.js +4 -4
  729. package/src/sap/ui/test/generic/Utils.js +2 -2
  730. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +9 -9
  731. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +1 -1
  732. package/src/sap/ui/test/gherkin/StepDefinitions.js +1 -1
  733. package/src/sap/ui/test/gherkin/dataTableUtils.js +1 -1
  734. package/src/sap/ui/test/gherkin/opa5TestHarness.js +1 -1
  735. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +1 -1
  736. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +1 -1
  737. package/src/sap/ui/test/launchers/componentLauncher.js +1 -1
  738. package/src/sap/ui/test/launchers/iFrameLauncher.js +1 -1
  739. package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +1 -1
  740. package/src/sap/ui/test/matchers/AggregationEmpty.js +1 -1
  741. package/src/sap/ui/test/matchers/AggregationFilled.js +1 -1
  742. package/src/sap/ui/test/matchers/AggregationLengthEquals.js +1 -1
  743. package/src/sap/ui/test/matchers/Ancestor.js +1 -1
  744. package/src/sap/ui/test/matchers/BindingPath.js +1 -1
  745. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  746. package/src/sap/ui/test/matchers/I18NText.js +1 -1
  747. package/src/sap/ui/test/matchers/Interactable.js +1 -1
  748. package/src/sap/ui/test/matchers/LabelFor.js +1 -1
  749. package/src/sap/ui/test/matchers/Matcher.js +1 -1
  750. package/src/sap/ui/test/matchers/MatcherFactory.js +1 -1
  751. package/src/sap/ui/test/matchers/Properties.js +1 -1
  752. package/src/sap/ui/test/matchers/PropertyStrictEquals.js +1 -1
  753. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  754. package/src/sap/ui/test/matchers/Visible.js +1 -1
  755. package/src/sap/ui/test/matchers/_Busy.js +1 -1
  756. package/src/sap/ui/test/matchers/_Editable.js +1 -1
  757. package/src/sap/ui/test/matchers/_Enabled.js +1 -1
  758. package/src/sap/ui/test/matchers/_Visitor.js +1 -1
  759. package/src/sap/ui/test/matchers/matchers.js +1 -1
  760. package/src/sap/ui/test/opaQunit.js +1 -1
  761. package/src/sap/ui/test/pipelines/ActionPipeline.js +1 -1
  762. package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
  763. package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -1
  764. package/src/sap/ui/test/qunitPause.js +1 -1
  765. package/src/sap/ui/test/selectors/_BindingPath.js +1 -1
  766. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +1 -1
  767. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  768. package/src/sap/ui/test/selectors/_ControlType.js +1 -1
  769. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -1
  770. package/src/sap/ui/test/selectors/_GlobalID.js +1 -1
  771. package/src/sap/ui/test/selectors/_LabelFor.js +1 -1
  772. package/src/sap/ui/test/selectors/_Properties.js +1 -1
  773. package/src/sap/ui/test/selectors/_Selector.js +2 -1
  774. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -1
  775. package/src/sap/ui/test/selectors/_ViewID.js +1 -1
  776. package/src/sap/ui/test/selectors/_selectors.js +1 -1
  777. package/src/sap/ui/test/starter/_configureLoader.js +1 -1
  778. package/src/sap/ui/test/starter/_setupAndStart.js +1 -1
  779. package/src/sap/ui/test/starter/_utils.js +1 -1
  780. package/src/sap/ui/test/starter/createSuite.js +1 -1
  781. package/src/sap/ui/test/starter/runTest.js +1 -1
  782. package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
  783. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  784. package/src/sap/ui/thirdparty/jquery-mobile-custom.js +9 -1
  785. package/src/sap/ui/util/ActivityDetection.js +1 -1
  786. package/src/sap/ui/util/Mobile.js +1 -1
  787. package/src/sap/ui/util/Storage.js +2 -2
  788. package/src/sap/ui/util/XMLHelper.js +1 -1
  789. package/src/sap/ui/util/_FeatureDetection.js +1 -1
  790. package/src/sap/ui/util/defaultLinkTypes.js +1 -1
  791. package/src/sap/ui/util/isCrossOriginURL.js +1 -1
  792. package/src/sap/ui/util/openWindow.js +1 -1
  793. package/src/sap-ui-boot.js +1 -1
  794. package/src/sap-ui-core-nojQuery.js +1 -1
  795. package/src/sap-ui-core.js +1 -1
  796. package/src/sap-ui-debug.js +1 -1
  797. package/src/ui5loader-autoconfig.js +15 -12
  798. package/src/ui5loader.js +153 -4
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * in the documentation.
25
25
  *
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.109.0
27
+ * @version 1.111.0
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.CustomData
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class Static class for enabling declarative UI support.
41
41
  *
42
42
  * @author Peter Muessig, Tino Butz
43
- * @version 1.109.0
43
+ * @version 1.111.0
44
44
  * @since 1.7.0
45
45
  * @public
46
46
  * @alias sap.ui.core.DeclarativeSupport
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -18,7 +18,8 @@ sap.ui.define([
18
18
  "sap/ui/thirdparty/jquery",
19
19
  "sap/ui/events/F6Navigation",
20
20
  "./RenderManager",
21
- "sap/ui/core/Configuration"
21
+ "./Configuration",
22
+ "./EnabledPropagator"
22
23
  ],
23
24
  function(
24
25
  DataType,
@@ -33,7 +34,8 @@ sap.ui.define([
33
34
  jQuery,
34
35
  F6Navigation,
35
36
  RenderManager,
36
- Configuration
37
+ Configuration,
38
+ EnabledPropagator
37
39
  ) {
38
40
  "use strict";
39
41
 
@@ -128,7 +130,7 @@ sap.ui.define([
128
130
  *
129
131
  * @extends sap.ui.base.ManagedObject
130
132
  * @author SAP SE
131
- * @version 1.109.0
133
+ * @version 1.111.0
132
134
  * @public
133
135
  * @alias sap.ui.core.Element
134
136
  */
@@ -167,25 +169,25 @@ sap.ui.define([
167
169
  * See the section {@link https://experience.sap.com/fiori-design-web/using-tooltips/ Using Tooltips}
168
170
  * in the Fiori Design Guideline.
169
171
  */
170
- tooltip : {name : "tooltip", type : "sap.ui.core.TooltipBase", altTypes : ["string"], multiple : false},
172
+ tooltip : {type : "sap.ui.core.TooltipBase", altTypes : ["string"], multiple : false},
171
173
 
172
174
  /**
173
175
  * Custom Data, a data structure like a map containing arbitrary key value pairs.
174
176
  */
175
- customData : {name : "customData", type : "sap.ui.core.CustomData", multiple : true, singularName : "customData"},
177
+ customData : {type : "sap.ui.core.CustomData", multiple : true, singularName : "customData"},
176
178
 
177
179
  /**
178
180
  * Defines the layout constraints for this control when it is used inside a Layout.
179
181
  * LayoutData classes are typed classes and must match the embedding Layout.
180
182
  * See VariantLayoutData for aggregating multiple alternative LayoutData instances to a single Element.
181
183
  */
182
- layoutData : {name : "layoutData", type : "sap.ui.core.LayoutData", multiple : false, singularName : "layoutData"},
184
+ layoutData : {type : "sap.ui.core.LayoutData", multiple : false, singularName : "layoutData"},
183
185
 
184
186
  /**
185
187
  * Dependents are not rendered, but their databinding context and lifecycle are bound to the aggregating Element.
186
188
  * @since 1.19
187
189
  */
188
- dependents : {name : "dependents", type : "sap.ui.core.Element", multiple : true},
190
+ dependents : {type : "sap.ui.core.Element", multiple : true},
189
191
 
190
192
  /**
191
193
  * Defines the drag-and-drop configuration.
@@ -193,12 +195,13 @@ sap.ui.define([
193
195
  *
194
196
  * @since 1.56
195
197
  */
196
- dragDropConfig : {name : "dragDropConfig", type : "sap.ui.core.dnd.DragDropBase", multiple : true, singularName : "dragDropConfig"}
198
+ dragDropConfig : {type : "sap.ui.core.dnd.DragDropBase", multiple : true, singularName : "dragDropConfig"}
197
199
  }
198
200
  },
199
201
 
200
202
  constructor : function(sId, mSettings) {
201
203
  ManagedObject.apply(this, arguments);
204
+ this._iRenderingDelegateCount = 0;
202
205
  },
203
206
 
204
207
  renderer : null // Element has no renderer
@@ -251,12 +254,42 @@ sap.ui.define([
251
254
  return this;
252
255
  };
253
256
 
257
+ /**
258
+ * @typedef {sap.ui.base.ManagedObject.MetadataOptions} sap.ui.core.Element.MetadataOptions
259
+ *
260
+ * The structure of the "metadata" object which is passed when inheriting from sap.ui.core.Element using its static "extend" method.
261
+ * See {@link sap.ui.core.Element.extend} for details on its usage.
262
+ *
263
+ * @property {boolean | sap.ui.core.Element.MetadataOptions.DnD} [dnd=false]
264
+ * Defines draggable and droppable configuration of the element.
265
+ * The following boolean properties can be provided in the given object literal to configure drag-and-drop behavior of the element
266
+ * (see {@link sap.ui.core.Element.MetadataOptions.DnD DnD} for details): draggable, droppable
267
+ * If the <code>dnd</code> property is of type Boolean, then the <code>draggable</code> and <code>droppable</code> configuration are both set to this Boolean value.
268
+ *
269
+ * @public
270
+ */
271
+
272
+ /**
273
+ * @typedef {object} sap.ui.core.Element.MetadataOptions.DnD
274
+ *
275
+ * An object literal configuring the drag&drop capabilities of a class derived from sap.ui.core.Element.
276
+ * See {@link sap.ui.core.Element.MetadataOptions MetadataOptions} for details on its usage.
277
+ *
278
+ * @property {boolean} [draggable=false] Defines whether the element is draggable or not. The default value is <code>false</code>.
279
+ * @property {boolean} [droppable=false] Defines whether the element is droppable (it allows being dropped on by a draggable element) or not. The default value is <code>false</code>.
280
+ *
281
+ * @public
282
+ */
283
+
254
284
  /**
255
285
  * Defines a new subclass of Element with the name <code>sClassName</code> and enriches it with
256
286
  * the information contained in <code>oClassInfo</code>.
257
287
  *
258
288
  * <code>oClassInfo</code> can contain the same information that {@link sap.ui.base.ManagedObject.extend} already accepts,
259
- * plus the following <code>dnd</code> property to configure drag-and-drop behavior in the metadata object literal:
289
+ * plus the <code>dnd</code> property in the metadata object literal to configure drag-and-drop behavior
290
+ * (see {@link sap.ui.core.Element.MetadataOptions MetadataOptions} for details). Objects describing aggregations can also
291
+ * have a <code>dnd</code> property when used for a class extending <code>Element</code>
292
+ * (see {@link sap.ui.base.ManagedObject.MetadataOptions.AggregationDnD AggregationDnD}).
260
293
  *
261
294
  * Example:
262
295
  * <pre>
@@ -269,34 +302,16 @@ sap.ui.define([
269
302
  * },
270
303
  * dnd : { draggable: true, droppable: false },
271
304
  * aggregations : {
272
- * items : { type: 'sap.ui.core.Control', multiple : true, dnd : {draggable: false, dropppable: true, layout: "Horizontal" } },
305
+ * items : { type: 'sap.ui.core.Control', multiple : true, dnd : {draggable: false, droppable: true, layout: "Horizontal" } },
273
306
  * header : {type : "sap.ui.core.Control", multiple : false, dnd : true },
274
307
  * }
275
308
  * }
276
309
  * });
277
310
  * </pre>
278
311
  *
279
- * <h3><code>dnd</code> key as a metadata property</h3>
280
- *
281
- * <b>dnd</b>: <i>object|boolean</i><br>
282
- * Defines draggable and droppable configuration of the element.
283
- * The following keys can be provided via <code>dnd</code> object literal to configure drag-and-drop behavior of the element:
284
- * <ul>
285
- * <li><code>[draggable=false]: <i>boolean</i></code> Defines whether the element is draggable or not. The default value is <code>false</code>.</li>
286
- * <li><code>[droppable=false]: <i>boolean</i></code> Defines whether the element is droppable (it allows being dropped on by a draggable element) or not. The default value is <code>false</code>.</li>
287
- * </ul>
288
- * If <code>dnd</code> property is of type Boolean, then the <code>draggable</code> and <code>droppable</code> configuration are set to this Boolean value.
289
- *
290
- * <h3><code>dnd</code> key as an aggregation metadata property</h3>
291
- *
292
- * <b>dnd</b>: <i>object|boolean</i><br>
293
- * In addition to draggable and droppable configuration, the layout of the aggregation can be defined as a hint at the drop position indicator.
294
- * <ul>
295
- * <li><code>[layout="Vertical"]: </code> The arrangement of the items in this aggregation. This setting is recommended for the aggregation with multiplicity 0..n (<code>multiple: true</code>). Possible values are <code>Vertical</code> (e.g. rows in a table) and <code>Horizontal</code> (e.g. columns in a table). It is recommended to use <code>Horizontal</code> layout if the arrangement is multidimensional.</li>
296
- * </ul>
297
- *
298
312
  * @param {string} sClassName Name of the class to be created
299
313
  * @param {object} [oClassInfo] Object literal with information about the class
314
+ * @param {sap.ui.core.Element.MetadataOptions} [oClassInfo.metadata] the metadata object describing the class: properties, aggregations, events etc.
300
315
  * @param {function} [FNMetaImpl] Constructor function for the metadata object. If not given, it defaults to <code>sap.ui.core.ElementMetadata</code>.
301
316
  * @returns {function} Created class / constructor function
302
317
  *
@@ -497,6 +512,29 @@ sap.ui.define([
497
512
  }
498
513
  };
499
514
 
515
+ /*
516
+ * Intercept any changes for properties named "enabled".
517
+ *
518
+ * If such a change is detected, inform all descendants that use the `EnabledPropagator`
519
+ * so that they can recalculate their own, derived enabled state.
520
+ * This is required in the context of rendering V4 to make the state of controls/elements
521
+ * self-contained again when they're using the `EnabledPropagator` mixin.
522
+ */
523
+ Element.prototype.setProperty = function(sPropertyName, vValue, bSuppressInvalidate) {
524
+ if (sPropertyName != "enabled" || bSuppressInvalidate) {
525
+ return ManagedObject.prototype.setProperty.apply(this, arguments);
526
+ }
527
+
528
+ var bOldEnabled = this.mProperties.enabled;
529
+ ManagedObject.prototype.setProperty.apply(this, arguments);
530
+ if (bOldEnabled != this.mProperties.enabled) {
531
+ // the EnabledPropagator knows better which descendants to update
532
+ EnabledPropagator.updateDescendants(this);
533
+ }
534
+
535
+ return this;
536
+ };
537
+
500
538
  Element.prototype.insertDependent = function(oElement, iIndex) {
501
539
  this.insertAggregation("dependents", oElement, iIndex, true);
502
540
  return this; // explicitly return 'this' to fix controls that override insertAggregation wrongly
@@ -642,6 +680,39 @@ sap.ui.define([
642
680
  */
643
681
  Element._interceptEvent = undefined;
644
682
 
683
+ /**
684
+ * Updates the count of rendering-related delegates and if the given threshold is reached,
685
+ * informs the RenderManager` to enable/disable rendering V4 for the element.
686
+ *
687
+ * @param {sap.ui.core.Element} oElement The element instance
688
+ * @param {object} oDelegate The delegate instance
689
+ * @param {iThresholdCount} iThresholdCount Whether the delegate has been added=1 or removed=0.
690
+ * At the same time serves as threshold when to inform the `RenderManager`.
691
+ * @private
692
+ */
693
+ function updateRenderingDelegate(oElement, oDelegate, iThresholdCount) {
694
+ if (oDelegate.canSkipRendering || !(oDelegate.onAfterRendering || oDelegate.onBeforeRendering)) {
695
+ return;
696
+ }
697
+
698
+ oElement._iRenderingDelegateCount += (iThresholdCount || -1);
699
+
700
+ if (oElement.bOutput === true && oElement._iRenderingDelegateCount == iThresholdCount) {
701
+ RenderManager.canSkipRendering(oElement, 1 /* update skip-the-rendering DOM marker, only if the apiVersion is 4 */);
702
+ }
703
+ }
704
+
705
+ /**
706
+ * Returns whether the element has rendering-related delegates that might prevent skipping the rendering.
707
+ *
708
+ * @returns {boolean}
709
+ * @private
710
+ * @ui5-restricted sap.ui.core.RenderManager
711
+ */
712
+ Element.prototype.hasRenderingDelegate = function() {
713
+ return Boolean(this._iRenderingDelegateCount);
714
+ };
715
+
645
716
  /**
646
717
  * Adds a delegate that listens to the events of this element.
647
718
  *
@@ -680,6 +751,8 @@ sap.ui.define([
680
751
  }
681
752
 
682
753
  (bCallBefore ? this.aBeforeDelegates : this.aDelegates).push({oDelegate:oDelegate, bClone: !!bClone, vThis: ((oThis === this) ? true : oThis)}); // special case: if this element is the given context, set a flag, so this also works after cloning (it should be the cloned element then, not the given one)
754
+ updateRenderingDelegate(this, oDelegate, 1);
755
+
683
756
  return this;
684
757
  };
685
758
 
@@ -698,12 +771,14 @@ sap.ui.define([
698
771
  for (i = 0; i < this.aDelegates.length; i++) {
699
772
  if (this.aDelegates[i].oDelegate == oDelegate) {
700
773
  this.aDelegates.splice(i, 1);
774
+ updateRenderingDelegate(this, oDelegate, 0);
701
775
  i--; // One element removed means the next element now has the index of the current one
702
776
  }
703
777
  }
704
778
  for (i = 0; i < this.aBeforeDelegates.length; i++) {
705
779
  if (this.aBeforeDelegates[i].oDelegate == oDelegate) {
706
780
  this.aBeforeDelegates.splice(i, 1);
781
+ updateRenderingDelegate(this, oDelegate, 0);
707
782
  i--; // One element removed means the next element now has the index of the current one
708
783
  }
709
784
  }
@@ -740,6 +815,11 @@ sap.ui.define([
740
815
  * See {@link topic:bdf3e9818cd84d37a18ee5680e97e1c1 Event Handler Methods} for a general explanation of
741
816
  * event handling in controls.
742
817
  *
818
+ * <b>Note:</b> Setting the special <code>canSkipRendering</code> property to <code>true</code> for the event delegate
819
+ * object itself lets the framework know that the <code>onBeforeRendering</code> and <code>onAfterRendering</code>
820
+ * event handlers of the delegate are compatible with the contract of {@link sap.ui.core.RenderManager Renderer.apiVersion 4}.
821
+ * See example "Adding a rendering delegate...".
822
+ *
743
823
  * @example <caption>Adding a delegate for the keydown and afterRendering event</caption>
744
824
  * <pre>
745
825
  * var oDelegate = {
@@ -753,6 +833,22 @@ sap.ui.define([
753
833
  * oElement.addEventDelegate(oDelegate);
754
834
  * </pre>
755
835
  *
836
+ * @example <caption>Adding a rendering delegate that is compatible with the rendering optimization</caption>
837
+ * <pre>
838
+ * var oDelegate = {
839
+ * canSkipRendering: true,
840
+ * onBeforeRendering: function() {
841
+ * // Act when the beforeRendering event is fired on the element
842
+ * // The code here only accesses HTML elements inside the root node of the control
843
+ * },
844
+ * onAfterRendering: function(){
845
+ * // Act when the afterRendering event is fired on the element
846
+ * // The code here only accesses HTML elements inside the root node of the control
847
+ * }
848
+ * };
849
+ * oElement.addEventDelegate(oDelegate);
850
+ * </pre>
851
+ *
756
852
  * @param {object} oDelegate The delegate object which consists of the event handler names and the corresponding event handler functions
757
853
  * @param {object} [oThis=oDelegate] If given, this object will be the "this" context in the listener methods; default is the delegate object itself
758
854
  * @returns {this} Returns <code>this</code> to allow method chaining
@@ -801,6 +897,75 @@ sap.ui.define([
801
897
  return this.getDomRef() || null;
802
898
  };
803
899
 
900
+ /**
901
+ * Checks whether an element is able to get the focus after {@link #focus} is called.
902
+ *
903
+ * An element is treated as 'focusable' when all of the following conditions are met:
904
+ * <ul>
905
+ * <li>The element and all of its parents are not 'busy' or 'blocked',</li>
906
+ * <li>the element is rendered at the top layer on the UI and not covered by any other DOM elements, such as an
907
+ * opened modal popup or the global <code>BusyIndicator</code>,</li>
908
+ * <li>the element matches the browser's prerequisites for being focusable: if it's a natively focusable element,
909
+ * for example <code>input</code>, <code>select</code>, <code>textarea</code>, <code>button</code>, and so on, no
910
+ * 'tabindex' attribute is needed. Otherwise, 'tabindex' must be set. In any case, the element must be visible in
911
+ * order to be focusable.</li>
912
+ * </ul>
913
+ *
914
+ * @returns {boolean} Whether the element can get the focus after calling {@link #focus}
915
+ * @since 1.110
916
+ * @public
917
+ */
918
+ Element.prototype.isFocusable = function() {
919
+ var oFocusDomRef = this.getFocusDomRef();
920
+
921
+ if (!oFocusDomRef) {
922
+ return false;
923
+ }
924
+
925
+ var oCurrentDomRef = oFocusDomRef;
926
+ var oRect = oCurrentDomRef.getBoundingClientRect();
927
+
928
+ // find the first parent element whose position is within the current view port
929
+ // because document.elementsFromPoint can return meaningful DOM elements only when the given coordinate is
930
+ // within the current view port
931
+ while ((oRect.x < 0 || oRect.x > window.innerWidth ||
932
+ oRect.y < 0 || oRect.y > window.innerHeight)) {
933
+
934
+ if (oCurrentDomRef.assignedSlot) {
935
+ // assigned slot's bounding client rect has all properties set to 0
936
+ // therefore we jump to the slot's parentElement directly in the next "if...else if...else"
937
+ oCurrentDomRef = oCurrentDomRef.assignedSlot;
938
+ }
939
+
940
+ if (oCurrentDomRef.parentElement) {
941
+ oCurrentDomRef = oCurrentDomRef.parentElement;
942
+ } else if (oCurrentDomRef.parentNode && oCurrentDomRef.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
943
+ oCurrentDomRef = oCurrentDomRef.parentNode.host;
944
+ } else {
945
+ break;
946
+ }
947
+
948
+ oRect = oCurrentDomRef.getBoundingClientRect();
949
+ }
950
+
951
+ var aElements = document.elementsFromPoint(oRect.x, oRect.y);
952
+
953
+ var iFocusDomRefIndex = aElements.findIndex(function(oElement) {
954
+ return oElement.contains(oFocusDomRef);
955
+ });
956
+
957
+ var iBlockLayerIndex = aElements.findIndex(function(oElement) {
958
+ return oElement.classList.contains("sapUiBLy") || oElement.classList.contains("sapUiBlockLayer");
959
+ });
960
+
961
+ if (iBlockLayerIndex !== -1 && iFocusDomRefIndex > iBlockLayerIndex) {
962
+ // when block layer is visible and it's displayed over the Element's DOM
963
+ return false;
964
+ }
965
+
966
+ return jQuery(oFocusDomRef).is(":sapFocusable");
967
+ };
968
+
804
969
  function getAncestorScrollPositions(oDomRef) {
805
970
  var oParentDomRef,
806
971
  aScrollHierarchy = [];
@@ -1400,6 +1565,17 @@ sap.ui.define([
1400
1565
  * {@link sap.ui.core.RenderManager#writeAccessibilityState writeAccessibilityState} methods
1401
1566
  * for the parent of the currently rendered control - if the parent implements it.
1402
1567
  *
1568
+ * <b>Note:</b> Setting the special <code>canSkipRendering</code> property of the <code>mAriaProps</code> parameter to <code>true</code> lets the <code>RenderManager</code> know
1569
+ * that the accessibility enhancement is static and does not interfere with the child control's {@link sap.ui.core.RenderManager Renderer.apiVersion 4} rendering optimization.
1570
+ *
1571
+ * @example <caption>Setting an accessibility state that is compatible with the rendering optimization</caption>
1572
+ * <pre>
1573
+ * MyControl.prototype.enhanceAccessibilityState = function(oElement, mAriaProps) {
1574
+ * mAriaProps.label = "An appropriate label from the parent";
1575
+ * mAriaProps.canSkipRendering = true;
1576
+ * };
1577
+ * </pre>
1578
+ *
1403
1579
  * @function
1404
1580
  * @name sap.ui.core.Element.prototype.enhanceAccessibilityState
1405
1581
  * @param {sap.ui.core.Element} oElement
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @class
25
25
  * @author SAP SE
26
- * @version 1.109.0
26
+ * @version 1.111.0
27
27
  * @since 0.8.6
28
28
  * @alias sap.ui.core.ElementMetadata
29
29
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @param {boolean} [bDefault=true] Value that should be used as default value for the enhancement of the control.
45
45
  * @param {boolean} [bLegacy=false] Whether the introduced property should use the old name <code>Enabled</code>.
46
- * @version 1.109.0
46
+ * @version 1.111.0
47
47
  * @public
48
48
  * @class
49
49
  * @alias sap.ui.core.EnabledPropagator
@@ -105,6 +105,21 @@ sap.ui.define([
105
105
  this.getMetadata().addPublicMethods("useEnabledPropagator");
106
106
  };
107
107
 
108
+ /**
109
+ * Invalidates the descendants of the provided root element that are implementing the EnabledPropagator mixin
110
+ *
111
+ * @param {sap.ui.core.Element} oRootElement The root element instance
112
+ * @private
113
+ * @ui5-restricted sap.ui.core
114
+ */
115
+ EnabledPropagator.updateDescendants = function(oRootElement) {
116
+ oRootElement.isActive() && oRootElement.findElements(true, function(oElement) {
117
+ if (oElement._bUseEnabledPropagator && oElement.bOutput == true) {
118
+ oElement.invalidate();
119
+ }
120
+ });
121
+ };
122
+
108
123
  /**
109
124
  * Determines whether an ancestor of the provided control implements getEnabled method and that returns false
110
125
  *
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  *
31
31
  * @extends sap.ui.base.Object
32
32
  * @author SAP SE
33
- * @version 1.109.0
33
+ * @version 1.111.0
34
34
  * @public
35
35
  * @since 1.8.0
36
36
  * @alias sap.ui.core.EventBus
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -60,7 +60,7 @@ function(
60
60
  * @class
61
61
  * @extends sap.ui.base.ManagedObject
62
62
  * @author SAP SE
63
- * @version 1.109.0
63
+ * @version 1.111.0
64
64
  * @public
65
65
  * @alias sap.ui.core.Fragment
66
66
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.core.Control
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.109.0
47
+ * @version 1.111.0
48
48
  *
49
49
  * @public
50
50
  * @alias sap.ui.core.HTML
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/base/Object', "sap/ui/util/Storage"],
22
22
  *
23
23
  * @extends sap.ui.base.Object
24
24
  * @author SAP SE
25
- * @version 1.109.0
25
+ * @version 1.111.0
26
26
  * @alias sap.ui.core.History
27
27
  * @protected
28
28
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -13,6 +13,7 @@ sap.ui.define([
13
13
  './InvisibleText',
14
14
  './library',
15
15
  "./IconRenderer",
16
+ "./Lib",
16
17
  "sap/ui/events/KeyCodes",
17
18
  "sap/base/Log",
18
19
  "sap/base/util/each"
@@ -25,6 +26,7 @@ sap.ui.define([
25
26
  InvisibleText,
26
27
  library,
27
28
  IconRenderer,
29
+ Library,
28
30
  KeyCodes,
29
31
  Log,
30
32
  each
@@ -73,7 +75,7 @@ sap.ui.define([
73
75
  * @implements sap.ui.core.IFormContent
74
76
  *
75
77
  * @author SAP SE
76
- * @version 1.109.0
78
+ * @version 1.111.0
77
79
  *
78
80
  * @public
79
81
  * @since 1.11.1
@@ -319,9 +321,7 @@ sap.ui.define([
319
321
  * @private
320
322
  */
321
323
  Icon.prototype.onkeydown = function(oEvent) {
322
-
323
324
  if (oEvent.which === KeyCodes.SPACE || oEvent.which === KeyCodes.ENTER) {
324
-
325
325
  // note: prevent document scrolling
326
326
  oEvent.preventDefault();
327
327
 
@@ -348,15 +348,21 @@ sap.ui.define([
348
348
  * @private
349
349
  */
350
350
  Icon.prototype.onkeyup = function(oEvent) {
351
-
352
351
  if (oEvent.which === KeyCodes.SPACE || oEvent.which === KeyCodes.ENTER) {
353
-
354
352
  this.$().removeClass("sapUiIconActive");
355
353
  this._restoreColors();
356
- this.firePress({/* no parameters */});
357
354
  }
358
355
  };
359
356
 
357
+ Icon.prototype.onsapenter = Icon.prototype.onsapspace = function(oEvent) {
358
+ if (this.hasListeners("press")) {
359
+ // mark the event for components that needs to know if the event was handled
360
+ oEvent.setMarked();
361
+ }
362
+
363
+ this.firePress({/* no parameters */});
364
+ };
365
+
360
366
  /* =========================================================== */
361
367
  /* Private methods */
362
368
  /* =========================================================== */
@@ -582,7 +588,7 @@ sap.ui.define([
582
588
 
583
589
  return {
584
590
  role: bHasPressListeners ? "button" : "img",
585
- type: sap.ui.getCore().getLibraryResourceBundle("sap.ui.core").getText(bHasPressListeners ? "ACC_CTR_TYPE_BUTTON" : "ACC_CTR_TYPE_IMAGE"),
591
+ type: Library.get("sap.ui.core").getResourceBundle().getText(bHasPressListeners ? "ACC_CTR_TYPE_BUTTON" : "ACC_CTR_TYPE_IMAGE"),
586
592
  description: this.getAlt() || this.getTooltip_AsString() || (oIconInfo ? oIconInfo.text || oIconInfo.name : ""),
587
593
  focusable: bHasPressListeners
588
594
  };
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(['./_IconRegistry', './library', "sap/base/security/encodeCSS"], function(_IconRegistry, library, encodeCSS) {