@openui5/sap.ui.core 1.96.2 → 1.98.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 (700) hide show
  1. package/.eslintrc.json +62 -3
  2. package/.reuse/dep5 +26 -31
  3. package/THIRDPARTY.txt +15 -21
  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 -9
  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 +3 -3
  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/includes.js +1 -1
  61. package/src/sap/base/util/isEmptyObject.js +1 -1
  62. package/src/sap/base/util/isPlainObject.js +1 -1
  63. package/src/sap/base/util/merge.js +1 -1
  64. package/src/sap/base/util/now.js +1 -1
  65. package/src/sap/base/util/resolveReference.js +1 -1
  66. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  67. package/src/sap/base/util/restricted/_castArray.js +2 -2
  68. package/src/sap/base/util/restricted/_compact.js +2 -2
  69. package/src/sap/base/util/restricted/_curry.js +2 -2
  70. package/src/sap/base/util/restricted/_debounce.js +2 -2
  71. package/src/sap/base/util/restricted/_difference.js +2 -2
  72. package/src/sap/base/util/restricted/_differenceBy.js +2 -2
  73. package/src/sap/base/util/restricted/_differenceWith.js +2 -2
  74. package/src/sap/base/util/restricted/_flatMap.js +2 -2
  75. package/src/sap/base/util/restricted/_flatMapDeep.js +2 -2
  76. package/src/sap/base/util/restricted/_flatMapDepth.js +2 -2
  77. package/src/sap/base/util/restricted/_flatten.js +2 -2
  78. package/src/sap/base/util/restricted/_flattenDeep.js +2 -2
  79. package/src/sap/base/util/restricted/_flattenDepth.js +2 -2
  80. package/src/sap/base/util/restricted/_intersection.js +2 -2
  81. package/src/sap/base/util/restricted/_intersectionBy.js +2 -2
  82. package/src/sap/base/util/restricted/_intersectionWith.js +2 -2
  83. package/src/sap/base/util/restricted/_isEqual.js +2 -2
  84. package/src/sap/base/util/restricted/_isEqualWith.js +2 -2
  85. package/src/sap/base/util/restricted/_isNil.js +2 -2
  86. package/src/sap/base/util/restricted/_max.js +2 -2
  87. package/src/sap/base/util/restricted/_merge.js +2 -2
  88. package/src/sap/base/util/restricted/_mergeWith.js +2 -2
  89. package/src/sap/base/util/restricted/_min.js +2 -2
  90. package/src/sap/base/util/restricted/_omit.js +2 -2
  91. package/src/sap/base/util/restricted/_pick.js +2 -2
  92. package/src/sap/base/util/restricted/_pickBy.js +2 -2
  93. package/src/sap/base/util/restricted/_throttle.js +2 -2
  94. package/src/sap/base/util/restricted/_toArray.js +2 -2
  95. package/src/sap/base/util/restricted/_union.js +2 -2
  96. package/src/sap/base/util/restricted/_unionBy.js +2 -2
  97. package/src/sap/base/util/restricted/_unionWith.js +2 -2
  98. package/src/sap/base/util/restricted/_uniq.js +2 -2
  99. package/src/sap/base/util/restricted/_uniqBy.js +2 -2
  100. package/src/sap/base/util/restricted/_uniqWith.js +2 -2
  101. package/src/sap/base/util/restricted/_without.js +2 -2
  102. package/src/sap/base/util/restricted/_xor.js +2 -2
  103. package/src/sap/base/util/restricted/_xorBy.js +2 -2
  104. package/src/sap/base/util/restricted/_xorWith.js +2 -2
  105. package/src/sap/base/util/restricted/_zipObject.js +2 -2
  106. package/src/sap/base/util/restricted/_zipObjectDeep.js +2 -2
  107. package/src/sap/base/util/uid.js +1 -1
  108. package/src/sap/base/util/values.js +1 -1
  109. package/src/sap/ui/Device.js +82 -170
  110. package/src/sap/ui/Global.js +12 -17
  111. package/src/sap/ui/VersionInfo.js +1 -1
  112. package/src/sap/ui/base/BindingParser.js +1 -1
  113. package/src/sap/ui/base/DataType.js +1 -1
  114. package/src/sap/ui/base/Event.js +2 -2
  115. package/src/sap/ui/base/EventProvider.js +2 -2
  116. package/src/sap/ui/base/Exception.js +1 -1
  117. package/src/sap/ui/base/ExpressionParser.js +1 -1
  118. package/src/sap/ui/base/Interface.js +2 -2
  119. package/src/sap/ui/base/ManagedObject.js +20 -9
  120. package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
  121. package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
  122. package/src/sap/ui/base/ManagedObjectRegistry.js +1 -1
  123. package/src/sap/ui/base/Metadata.js +2 -4
  124. package/src/sap/ui/base/Object.js +2 -2
  125. package/src/sap/ui/base/ObjectPool.js +2 -2
  126. package/src/sap/ui/base/SyncPromise.js +1 -1
  127. package/src/sap/ui/base/syncXHRFix.js +1 -1
  128. package/src/sap/ui/core/.library +2 -28
  129. package/src/sap/ui/core/AppCacheBuster.js +5 -5
  130. package/src/sap/ui/core/BlockLayerUtils.js +1 -1
  131. package/src/sap/ui/core/BusyIndicator.js +2 -2
  132. package/src/sap/ui/core/BusyIndicatorUtils.js +2 -2
  133. package/src/sap/ui/core/CalendarType.js +1 -1
  134. package/src/sap/ui/core/CommandExecution.js +1 -1
  135. package/src/sap/ui/core/Component.js +32 -10
  136. package/src/sap/ui/core/ComponentContainer.js +2 -2
  137. package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
  138. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  139. package/src/sap/ui/core/ComponentSupport.js +2 -2
  140. package/src/sap/ui/core/Configuration.js +3 -5
  141. package/src/sap/ui/core/ContextMenuSupport.js +1 -1
  142. package/src/sap/ui/core/Control.js +4 -4
  143. package/src/sap/ui/core/Core.js +3 -6
  144. package/src/sap/ui/core/CustomData.js +2 -2
  145. package/src/sap/ui/core/CustomStyleClassSupport.js +1 -1
  146. package/src/sap/ui/core/DeclarativeSupport.js +2 -2
  147. package/src/sap/ui/core/Element.js +4 -7
  148. package/src/sap/ui/core/ElementMetadata.js +2 -2
  149. package/src/sap/ui/core/EnabledPropagator.js +2 -2
  150. package/src/sap/ui/core/EventBus.js +2 -2
  151. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  152. package/src/sap/ui/core/FocusHandler.js +1 -1
  153. package/src/sap/ui/core/Fragment.js +2 -2
  154. package/src/sap/ui/core/HTML.js +4 -4
  155. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  156. package/src/sap/ui/core/History.js +2 -2
  157. package/src/sap/ui/core/Icon.js +3 -4
  158. package/src/sap/ui/core/IconPool.js +1 -1
  159. package/src/sap/ui/core/IconRenderer.js +1 -1
  160. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  161. package/src/sap/ui/core/IntervalTrigger.js +2 -2
  162. package/src/sap/ui/core/InvisibleMessage.js +2 -2
  163. package/src/sap/ui/core/InvisibleRenderer.js +2 -2
  164. package/src/sap/ui/core/InvisibleText.js +2 -2
  165. package/src/sap/ui/core/Item.js +2 -2
  166. package/src/sap/ui/core/LabelEnablement.js +2 -2
  167. package/src/sap/ui/core/LayoutData.js +2 -2
  168. package/src/sap/ui/core/ListItem.js +2 -2
  169. package/src/sap/ui/core/LocalBusyIndicator.js +2 -2
  170. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +1 -1
  171. package/src/sap/ui/core/LocalBusyIndicatorSupport.js +2 -2
  172. package/src/sap/ui/core/Locale.js +2 -2
  173. package/src/sap/ui/core/LocaleData.js +4 -4
  174. package/src/sap/ui/core/Manifest.js +2 -2
  175. package/src/sap/ui/core/Message.js +2 -2
  176. package/src/sap/ui/core/Patcher.js +1 -1
  177. package/src/sap/ui/core/Placeholder.js +29 -29
  178. package/src/sap/ui/core/Popup.js +2 -2
  179. package/src/sap/ui/core/RenderManager.js +4 -4
  180. package/src/sap/ui/core/Renderer.js +2 -2
  181. package/src/sap/ui/core/ResizeHandler.js +2 -2
  182. package/src/sap/ui/core/ScrollBar.js +5 -4
  183. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  184. package/src/sap/ui/core/SeparatorItem.js +2 -2
  185. package/src/sap/ui/core/Shortcut.js +1 -1
  186. package/src/sap/ui/core/ShortcutHint.js +1 -1
  187. package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
  188. package/src/sap/ui/core/StashedControlSupport.js +1 -1
  189. package/src/sap/ui/core/ThemeCheck.js +3 -3
  190. package/src/sap/ui/core/Title.js +2 -2
  191. package/src/sap/ui/core/TooltipBase.js +3 -3
  192. package/src/sap/ui/core/UIArea.js +4 -4
  193. package/src/sap/ui/core/UIComponent.js +2 -2
  194. package/src/sap/ui/core/UIComponentMetadata.js +2 -2
  195. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  196. package/src/sap/ui/core/VariantLayoutData.js +2 -2
  197. package/src/sap/ui/core/XMLComposite.js +2 -2
  198. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  199. package/src/sap/ui/core/XMLTemplateProcessor.js +27 -6
  200. package/src/sap/ui/core/_IconRegistry.js +1 -1
  201. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  202. package/src/sap/ui/core/cache/CacheManagerNOP.js +1 -1
  203. package/src/sap/ui/core/cache/LRUPersistentCache.js +5 -3
  204. package/src/sap/ui/core/date/Buddhist.js +1 -1
  205. package/src/sap/ui/core/date/Gregorian.js +1 -1
  206. package/src/sap/ui/core/date/Islamic.js +1 -1
  207. package/src/sap/ui/core/date/Japanese.js +1 -1
  208. package/src/sap/ui/core/date/Persian.js +1 -1
  209. package/src/sap/ui/core/date/UniversalDate.js +1 -1
  210. package/src/sap/ui/core/date/UniversalDateUtils.js +206 -3
  211. package/src/sap/ui/core/date/_Calendars.js +1 -1
  212. package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
  213. package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
  214. package/src/sap/ui/core/designtime/ComponentContainer.designtime.js +1 -1
  215. package/src/sap/ui/core/designtime/CustomData.designtime.js +1 -1
  216. package/src/sap/ui/core/designtime/Icon.designtime.js +1 -1
  217. package/src/sap/ui/core/designtime/UIComponent.designtime.js +1 -1
  218. package/src/sap/ui/core/designtime/library.designtime.js +1 -1
  219. package/src/sap/ui/core/designtime/mvc/ControllerExtensionTemplate.js +1 -1
  220. package/src/sap/ui/core/designtime/mvc/View.designtime.js +1 -1
  221. package/src/sap/ui/core/designtime/mvc/XMLView.designtime.js +1 -1
  222. package/src/sap/ui/core/dnd/DragAndDrop.js +3 -3
  223. package/src/sap/ui/core/dnd/DragDropBase.js +2 -2
  224. package/src/sap/ui/core/dnd/DragDropInfo.js +2 -2
  225. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  226. package/src/sap/ui/core/dnd/DropInfo.js +2 -2
  227. package/src/sap/ui/core/format/DateFormat.js +45 -9
  228. package/src/sap/ui/core/format/FileSizeFormat.js +1 -1
  229. package/src/sap/ui/core/format/ListFormat.js +1 -1
  230. package/src/sap/ui/core/format/NumberFormat.js +1 -1
  231. package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -2
  232. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +1 -1
  233. package/src/sap/ui/core/library.js +46 -9
  234. package/src/sap/ui/core/library.support.js +1 -1
  235. package/src/sap/ui/core/message/ControlMessageProcessor.js +6 -6
  236. package/src/sap/ui/core/message/Message.js +2 -2
  237. package/src/sap/ui/core/message/MessageManager.js +2 -2
  238. package/src/sap/ui/core/message/MessageMixin.js +3 -2
  239. package/src/sap/ui/core/message/MessageParser.js +2 -2
  240. package/src/sap/ui/core/message/MessageProcessor.js +23 -13
  241. package/src/sap/ui/core/messagebundle_fr.properties +7 -7
  242. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  243. package/src/sap/ui/core/messagebundle_no.properties +4 -4
  244. package/src/sap/ui/core/messagebundle_ru.properties +21 -21
  245. package/src/sap/ui/core/mvc/Controller.js +5 -5
  246. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  247. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  248. package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
  249. package/src/sap/ui/core/mvc/EventHandlerResolver.js +1 -1
  250. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  251. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  252. package/src/sap/ui/core/mvc/JSONView.js +3 -2
  253. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  254. package/src/sap/ui/core/mvc/JSView.js +2 -2
  255. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  256. package/src/sap/ui/core/mvc/OverrideExecution.js +1 -1
  257. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  258. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  259. package/src/sap/ui/core/mvc/View.js +3 -2
  260. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  261. package/src/sap/ui/core/mvc/ViewType.js +1 -1
  262. package/src/sap/ui/core/mvc/XMLProcessingMode.js +1 -1
  263. package/src/sap/ui/core/mvc/XMLView.js +17 -4
  264. package/src/sap/ui/core/mvc/XMLViewRenderer.js +1 -1
  265. package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -2
  266. package/src/sap/ui/core/plugin/LessSupport.js +2 -2
  267. package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
  268. package/src/sap/ui/core/postmessage/Bus.js +2 -2
  269. package/src/sap/ui/core/postmessage/confirmationDialog.js +2 -2
  270. package/src/sap/ui/core/routing/HashChanger.js +1 -1
  271. package/src/sap/ui/core/routing/HashChangerBase.js +1 -1
  272. package/src/sap/ui/core/routing/History.js +1 -1
  273. package/src/sap/ui/core/routing/Route.js +7 -7
  274. package/src/sap/ui/core/routing/Router.js +4 -3
  275. package/src/sap/ui/core/routing/RouterHashChanger.js +1 -1
  276. package/src/sap/ui/core/routing/Target.js +1 -1
  277. package/src/sap/ui/core/routing/TargetCache.js +1 -1
  278. package/src/sap/ui/core/routing/Targets.js +18 -14
  279. package/src/sap/ui/core/routing/Views.js +1 -1
  280. package/src/sap/ui/core/routing/async/Route.js +1 -1
  281. package/src/sap/ui/core/routing/async/Target.js +1 -1
  282. package/src/sap/ui/core/routing/async/TargetCache.js +1 -1
  283. package/src/sap/ui/core/routing/async/Targets.js +1 -1
  284. package/src/sap/ui/core/routing/sync/Route.js +1 -1
  285. package/src/sap/ui/core/routing/sync/Target.js +1 -1
  286. package/src/sap/ui/core/routing/sync/TargetCache.js +1 -1
  287. package/src/sap/ui/core/routing/sync/Targets.js +1 -1
  288. package/src/sap/ui/core/rules/App.support.js +1 -1
  289. package/src/sap/ui/core/rules/Config.support.js +1 -1
  290. package/src/sap/ui/core/rules/CoreHelper.support.js +1 -1
  291. package/src/sap/ui/core/rules/Misc.support.js +52 -2
  292. package/src/sap/ui/core/rules/Model.support.js +96 -9
  293. package/src/sap/ui/core/rules/Rendering.support.js +2 -5
  294. package/src/sap/ui/core/rules/Theming.support.js +1 -1
  295. package/src/sap/ui/core/rules/View.support.js +15 -47
  296. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
  297. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  298. package/src/sap/ui/core/service/Service.js +2 -2
  299. package/src/sap/ui/core/service/ServiceFactory.js +2 -2
  300. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +2 -2
  301. package/src/sap/ui/core/support/BootSupportTool.js +1 -1
  302. package/src/sap/ui/core/support/Hotkeys.js +1 -1
  303. package/src/sap/ui/core/support/Plugin.js +3 -3
  304. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -2
  305. package/src/sap/ui/core/support/Support.js +2 -2
  306. package/src/sap/ui/core/support/ToolsAPI.js +1 -1
  307. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  308. package/src/sap/ui/core/support/controls/InteractionSlider.js +1 -1
  309. package/src/sap/ui/core/support/controls/InteractionTree.js +1 -1
  310. package/src/sap/ui/core/support/controls/ObjectViewer.js +1 -1
  311. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  312. package/src/sap/ui/core/support/controls/TreeViewer.js +2 -2
  313. package/src/sap/ui/core/support/debugReboot.js +1 -1
  314. package/src/sap/ui/core/support/plugins/Breakpoint.js +1 -1
  315. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  316. package/src/sap/ui/core/support/plugins/Debugging.js +1 -1
  317. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  318. package/src/sap/ui/core/support/plugins/LocalStorage.js +2 -2
  319. package/src/sap/ui/core/support/plugins/Performance.js +2 -3
  320. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  321. package/src/sap/ui/core/support/plugins/TechInfo.js +2 -2
  322. package/src/sap/ui/core/support/plugins/Trace.js +2 -2
  323. package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
  324. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -7
  325. package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
  326. package/src/sap/ui/core/support/trace/E2eTraceLib.js +4 -4
  327. package/src/sap/ui/core/support/trace/EppLib.js +1 -1
  328. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  329. package/src/sap/ui/core/syncStyleClass.js +1 -1
  330. package/src/sap/ui/core/themes/base/library.source.less +1 -1
  331. package/src/sap/ui/core/themes/base/parameterClasses.less +21 -21
  332. package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
  333. package/src/sap/ui/core/theming/Parameters.js +23 -143
  334. package/src/sap/ui/core/theming/ThemeHelper.js +27 -38
  335. package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
  336. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  337. package/src/sap/ui/core/tmpl/DOMElementRenderer.js +1 -1
  338. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
  339. package/src/sap/ui/core/tmpl/Template.js +2 -2
  340. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  341. package/src/sap/ui/core/tmpl/TemplateControlRenderer.js +1 -1
  342. package/src/sap/ui/core/tmpl/_parsePath.js +1 -1
  343. package/src/sap/ui/core/util/AsyncHintsHelper.js +2 -2
  344. package/src/sap/ui/core/util/DraftEnabledMockServer.js +22 -17
  345. package/src/sap/ui/core/util/Export.js +2 -2
  346. package/src/sap/ui/core/util/ExportCell.js +2 -2
  347. package/src/sap/ui/core/util/ExportColumn.js +2 -2
  348. package/src/sap/ui/core/util/ExportRow.js +2 -2
  349. package/src/sap/ui/core/util/ExportType.js +2 -2
  350. package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
  351. package/src/sap/ui/core/util/File.js +2 -2
  352. package/src/sap/ui/core/util/LibraryInfo.js +2 -2
  353. package/src/sap/ui/core/util/MockServer.js +140 -43
  354. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +1 -1
  355. package/src/sap/ui/core/util/PasteHelper.js +2 -2
  356. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +1 -1
  357. package/src/sap/ui/core/util/ShortcutHelper.js +1 -1
  358. package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
  359. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +5 -1
  360. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +31 -21
  361. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  362. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  363. package/src/sap/ui/core/util/serializer/Serializer.js +2 -2
  364. package/src/sap/ui/core/util/serializer/ViewSerializer.js +2 -2
  365. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  366. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +2 -2
  367. package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
  368. package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
  369. package/src/sap/ui/core/ws/ReadyState.js +2 -2
  370. package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -2
  371. package/src/sap/ui/core/ws/WebSocket.js +2 -2
  372. package/src/sap/ui/debug/ControlTree.js +2 -2
  373. package/src/sap/ui/debug/DebugEnv.js +2 -2
  374. package/src/sap/ui/debug/Highlighter.js +1 -1
  375. package/src/sap/ui/debug/LogViewer.js +1 -1
  376. package/src/sap/ui/debug/PropertyList.js +2 -2
  377. package/src/sap/ui/dom/containsOrEquals.js +1 -1
  378. package/src/sap/ui/dom/denormalizeScrollBeginRTL.js +1 -1
  379. package/src/sap/ui/dom/denormalizeScrollLeftRTL.js +1 -1
  380. package/src/sap/ui/dom/getComputedStyleFix.js +1 -1
  381. package/src/sap/ui/dom/getFirstEditableInput.js +1 -1
  382. package/src/sap/ui/dom/getOwnerWindow.js +1 -1
  383. package/src/sap/ui/dom/getScrollbarSize.js +1 -1
  384. package/src/sap/ui/dom/includeScript.js +1 -1
  385. package/src/sap/ui/dom/includeStylesheet.js +1 -1
  386. package/src/sap/ui/dom/isHidden.js +1 -1
  387. package/src/sap/ui/dom/jquery/Aria.js +1 -1
  388. package/src/sap/ui/dom/jquery/Focusable.js +1 -1
  389. package/src/sap/ui/dom/jquery/Selection.js +1 -1
  390. package/src/sap/ui/dom/jquery/Selectors.js +1 -1
  391. package/src/sap/ui/dom/jquery/control.js +1 -1
  392. package/src/sap/ui/dom/jquery/cursorPos.js +1 -1
  393. package/src/sap/ui/dom/jquery/getSelectedText.js +1 -1
  394. package/src/sap/ui/dom/jquery/hasTabIndex.js +1 -1
  395. package/src/sap/ui/dom/jquery/parentByAttribute.js +1 -1
  396. package/src/sap/ui/dom/jquery/rect.js +1 -1
  397. package/src/sap/ui/dom/jquery/rectContains.js +1 -1
  398. package/src/sap/ui/dom/jquery/scrollLeftRTL.js +1 -1
  399. package/src/sap/ui/dom/jquery/scrollRightRTL.js +1 -1
  400. package/src/sap/ui/dom/jquery/selectText.js +1 -1
  401. package/src/sap/ui/dom/jquery/zIndex.js +1 -1
  402. package/src/sap/ui/dom/units/Rem.js +1 -1
  403. package/src/sap/ui/events/ControlEvents.js +1 -1
  404. package/src/sap/ui/events/F6Navigation.js +1 -1
  405. package/src/sap/ui/events/KeyCodes.js +1 -1
  406. package/src/sap/ui/events/PasteEventFix.js +1 -1
  407. package/src/sap/ui/events/PseudoEvents.js +1 -1
  408. package/src/sap/ui/events/TouchToMouseMapping.js +1 -1
  409. package/src/sap/ui/events/checkMouseEnterOrLeave.js +1 -1
  410. package/src/sap/ui/events/isMouseEventDelayed.js +1 -1
  411. package/src/sap/ui/events/isSpecialKey.js +1 -1
  412. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  413. package/src/sap/ui/events/jquery/EventSimulation.js +4 -14
  414. package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
  415. package/src/sap/ui/model/Binding.js +1 -1
  416. package/src/sap/ui/model/BindingMode.js +1 -1
  417. package/src/sap/ui/model/ChangeReason.js +2 -2
  418. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  419. package/src/sap/ui/model/ClientListBinding.js +8 -1
  420. package/src/sap/ui/model/ClientModel.js +7 -6
  421. package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
  422. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  423. package/src/sap/ui/model/ClientTreeBindingAdapter.js +2 -2
  424. package/src/sap/ui/model/CompositeBinding.js +1 -1
  425. package/src/sap/ui/model/CompositeDataState.js +27 -5
  426. package/src/sap/ui/model/CompositeType.js +2 -2
  427. package/src/sap/ui/model/Context.js +1 -1
  428. package/src/sap/ui/model/ContextBinding.js +1 -1
  429. package/src/sap/ui/model/DataState.js +28 -7
  430. package/src/sap/ui/model/Filter.js +1 -1
  431. package/src/sap/ui/model/FilterOperator.js +1 -1
  432. package/src/sap/ui/model/FilterProcessor.js +1 -1
  433. package/src/sap/ui/model/FilterType.js +1 -1
  434. package/src/sap/ui/model/FormatException.js +1 -1
  435. package/src/sap/ui/model/ListBinding.js +25 -6
  436. package/src/sap/ui/model/MetaModel.js +3 -3
  437. package/src/sap/ui/model/Model.js +7 -12
  438. package/src/sap/ui/model/ParseException.js +1 -1
  439. package/src/sap/ui/model/PropertyBinding.js +1 -1
  440. package/src/sap/ui/model/SelectionModel.js +2 -2
  441. package/src/sap/ui/model/SimpleType.js +2 -2
  442. package/src/sap/ui/model/Sorter.js +1 -1
  443. package/src/sap/ui/model/SorterProcessor.js +1 -1
  444. package/src/sap/ui/model/StaticBinding.js +1 -1
  445. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  446. package/src/sap/ui/model/TreeBinding.js +1 -1
  447. package/src/sap/ui/model/TreeBindingAdapter.js +1 -3
  448. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  449. package/src/sap/ui/model/TreeBindingUtils.js +3 -1
  450. package/src/sap/ui/model/Type.js +2 -2
  451. package/src/sap/ui/model/ValidateException.js +1 -1
  452. package/src/sap/ui/model/analytics/AnalyticalBinding.js +52 -35
  453. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +17 -19
  454. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  455. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  456. package/src/sap/ui/model/analytics/ODataModelAdapter.js +3 -16
  457. package/src/sap/ui/model/analytics/odata4analytics.js +1 -1
  458. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  459. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  460. package/src/sap/ui/model/json/JSONModel.js +8 -8
  461. package/src/sap/ui/model/json/JSONPropertyBinding.js +2 -2
  462. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  463. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  464. package/src/sap/ui/model/message/MessageModel.js +4 -4
  465. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  466. package/src/sap/ui/model/odata/AnnotationHelper.js +3 -3
  467. package/src/sap/ui/model/odata/AnnotationParser.js +5 -3
  468. package/src/sap/ui/model/odata/CountMode.js +1 -1
  469. package/src/sap/ui/model/odata/Filter.js +1 -1
  470. package/src/sap/ui/model/odata/MessageScope.js +1 -1
  471. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  472. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  473. package/src/sap/ui/model/odata/ODataListBinding.js +62 -39
  474. package/src/sap/ui/model/odata/ODataMessageParser.js +3 -3
  475. package/src/sap/ui/model/odata/ODataMetaModel.js +4 -4
  476. package/src/sap/ui/model/odata/ODataMetadata.js +137 -86
  477. package/src/sap/ui/model/odata/ODataModel.js +443 -216
  478. package/src/sap/ui/model/odata/ODataPropertyBinding.js +8 -6
  479. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  480. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +28 -18
  481. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +441 -261
  482. package/src/sap/ui/model/odata/ODataUtils.js +25 -10
  483. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  484. package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
  485. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +4 -3
  486. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +12 -10
  487. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +8 -6
  488. package/src/sap/ui/model/odata/type/Boolean.js +2 -2
  489. package/src/sap/ui/model/odata/type/Byte.js +2 -2
  490. package/src/sap/ui/model/odata/type/Currency.js +2 -2
  491. package/src/sap/ui/model/odata/type/Date.js +2 -2
  492. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  493. package/src/sap/ui/model/odata/type/DateTimeBase.js +2 -2
  494. package/src/sap/ui/model/odata/type/DateTimeOffset.js +2 -2
  495. package/src/sap/ui/model/odata/type/Decimal.js +6 -2
  496. package/src/sap/ui/model/odata/type/Double.js +2 -2
  497. package/src/sap/ui/model/odata/type/Guid.js +2 -2
  498. package/src/sap/ui/model/odata/type/Int.js +2 -2
  499. package/src/sap/ui/model/odata/type/Int16.js +2 -2
  500. package/src/sap/ui/model/odata/type/Int32.js +2 -2
  501. package/src/sap/ui/model/odata/type/Int64.js +2 -2
  502. package/src/sap/ui/model/odata/type/ODataType.js +2 -2
  503. package/src/sap/ui/model/odata/type/Raw.js +2 -2
  504. package/src/sap/ui/model/odata/type/SByte.js +2 -2
  505. package/src/sap/ui/model/odata/type/Single.js +2 -2
  506. package/src/sap/ui/model/odata/type/Stream.js +2 -2
  507. package/src/sap/ui/model/odata/type/String.js +2 -2
  508. package/src/sap/ui/model/odata/type/Time.js +2 -2
  509. package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
  510. package/src/sap/ui/model/odata/type/Unit.js +2 -2
  511. package/src/sap/ui/model/odata/type/UnitMixin.js +2 -3
  512. package/src/sap/ui/model/odata/v2/BatchMode.js +1 -1
  513. package/src/sap/ui/model/odata/v2/Context.js +99 -15
  514. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
  515. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
  516. package/src/sap/ui/model/odata/v2/ODataListBinding.js +389 -149
  517. package/src/sap/ui/model/odata/v2/ODataModel.js +233 -134
  518. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +163 -90
  519. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +118 -8
  520. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +6 -6
  521. package/src/sap/ui/model/odata/v4/Context.js +164 -36
  522. package/src/sap/ui/model/odata/v4/ODataBinding.js +91 -41
  523. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +184 -61
  524. package/src/sap/ui/model/odata/v4/ODataListBinding.js +398 -129
  525. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -41
  526. package/src/sap/ui/model/odata/v4/ODataModel.js +28 -12
  527. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +70 -80
  528. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +26 -23
  529. package/src/sap/ui/model/odata/v4/ODataUtils.js +6 -6
  530. package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -2
  531. package/src/sap/ui/model/odata/v4/ValueListType.js +1 -2
  532. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +19 -20
  533. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +4 -6
  534. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +6 -5
  535. package/src/sap/ui/model/odata/v4/lib/_Batch.js +22 -21
  536. package/src/sap/ui/model/odata/v4/lib/_Cache.js +247 -103
  537. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +1 -1
  538. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +2 -2
  539. package/src/sap/ui/model/odata/v4/lib/_Helper.js +50 -20
  540. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +61 -60
  541. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +2 -2
  542. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  543. package/src/sap/ui/model/odata/v4/lib/_Parser.js +53 -44
  544. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +42 -24
  545. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +148 -148
  546. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +14 -13
  547. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +67 -68
  548. package/src/sap/ui/model/resource/ResourceModel.js +2 -2
  549. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  550. package/src/sap/ui/model/type/Boolean.js +2 -2
  551. package/src/sap/ui/model/type/Currency.js +2 -2
  552. package/src/sap/ui/model/type/Date.js +2 -2
  553. package/src/sap/ui/model/type/DateInterval.js +2 -2
  554. package/src/sap/ui/model/type/DateTime.js +2 -2
  555. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  556. package/src/sap/ui/model/type/FileSize.js +2 -2
  557. package/src/sap/ui/model/type/Float.js +2 -2
  558. package/src/sap/ui/model/type/Integer.js +2 -2
  559. package/src/sap/ui/model/type/String.js +2 -2
  560. package/src/sap/ui/model/type/Time.js +2 -2
  561. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  562. package/src/sap/ui/model/type/Unit.js +2 -2
  563. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  564. package/src/sap/ui/model/xml/XMLModel.js +6 -6
  565. package/src/sap/ui/model/xml/XMLPropertyBinding.js +2 -2
  566. package/src/sap/ui/model/xml/XMLTreeBinding.js +1 -1
  567. package/src/sap/ui/performance/BeaconRequest.js +1 -1
  568. package/src/sap/ui/performance/Measurement.js +1 -1
  569. package/src/sap/ui/performance/XHRInterceptor.js +1 -1
  570. package/src/sap/ui/performance/trace/FESR.js +1 -1
  571. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  572. package/src/sap/ui/performance/trace/Passport.js +1 -1
  573. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  574. package/src/sap/ui/qunit/QUnitUtils.js +1 -1
  575. package/src/sap/ui/qunit/qunit-2-css.js +1 -1
  576. package/src/sap/ui/qunit/qunit-coverage.js +1 -1
  577. package/src/sap/ui/qunit/qunit-css.js +1 -1
  578. package/src/sap/ui/qunit/qunit-junit.js +1 -1
  579. package/src/sap/ui/qunit/qunit-redirect.js +1 -1
  580. package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
  581. package/src/sap/ui/qunit/utils/ControlIterator.js +2 -2
  582. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +2 -2
  583. package/src/sap/ui/qunit/utils/createAndAppendDiv.js +1 -1
  584. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +1 -1
  585. package/src/sap/ui/security/FrameOptions.js +1 -1
  586. package/src/sap/ui/test/BlanketReporter.js +2 -2
  587. package/src/sap/ui/test/BranchTracking.js +1 -1
  588. package/src/sap/ui/test/Opa.js +1 -1
  589. package/src/sap/ui/test/Opa5.js +1 -1
  590. package/src/sap/ui/test/OpaBuilder.js +1 -1
  591. package/src/sap/ui/test/OpaExtension.js +1 -1
  592. package/src/sap/ui/test/OpaPlugin.js +1 -1
  593. package/src/sap/ui/test/PageObjectFactory.js +1 -1
  594. package/src/sap/ui/test/RecordReplay.js +1 -1
  595. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  596. package/src/sap/ui/test/TestUtils.js +3 -3
  597. package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
  598. package/src/sap/ui/test/_ControlFinder.js +1 -1
  599. package/src/sap/ui/test/_LogCollector.js +2 -2
  600. package/src/sap/ui/test/_OpaLogger.js +1 -1
  601. package/src/sap/ui/test/_OpaUriParameterParser.js +1 -1
  602. package/src/sap/ui/test/_ParameterValidator.js +1 -1
  603. package/src/sap/ui/test/_UsageReport.js +1 -1
  604. package/src/sap/ui/test/_ValidationParameters.js +1 -1
  605. package/src/sap/ui/test/actions/Action.js +12 -3
  606. package/src/sap/ui/test/actions/Drag.js +1 -1
  607. package/src/sap/ui/test/actions/Drop.js +1 -1
  608. package/src/sap/ui/test/actions/EnterText.js +1 -1
  609. package/src/sap/ui/test/actions/Press.js +80 -4
  610. package/src/sap/ui/test/actions/Scroll.js +1 -1
  611. package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -1
  612. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +1 -1
  613. package/src/sap/ui/test/autowaiter/_XHRWaiter.js +2 -2
  614. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  615. package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +1 -1
  616. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -1
  617. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +1 -1
  618. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +1 -1
  619. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +1 -1
  620. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
  621. package/src/sap/ui/test/autowaiter/_utils.js +1 -1
  622. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
  623. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +1 -1
  624. package/src/sap/ui/test/gherkin/StepDefinitions.js +1 -1
  625. package/src/sap/ui/test/gherkin/dataTableUtils.js +1 -1
  626. package/src/sap/ui/test/gherkin/opa5TestHarness.js +1 -1
  627. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +1 -1
  628. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +1 -1
  629. package/src/sap/ui/test/launchers/componentLauncher.js +1 -1
  630. package/src/sap/ui/test/launchers/iFrameLauncher.js +1 -1
  631. package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +1 -1
  632. package/src/sap/ui/test/matchers/AggregationEmpty.js +1 -1
  633. package/src/sap/ui/test/matchers/AggregationFilled.js +1 -1
  634. package/src/sap/ui/test/matchers/AggregationLengthEquals.js +1 -1
  635. package/src/sap/ui/test/matchers/Ancestor.js +1 -1
  636. package/src/sap/ui/test/matchers/BindingPath.js +1 -1
  637. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  638. package/src/sap/ui/test/matchers/I18NText.js +1 -1
  639. package/src/sap/ui/test/matchers/Interactable.js +1 -1
  640. package/src/sap/ui/test/matchers/LabelFor.js +1 -1
  641. package/src/sap/ui/test/matchers/Matcher.js +1 -1
  642. package/src/sap/ui/test/matchers/MatcherFactory.js +1 -1
  643. package/src/sap/ui/test/matchers/Properties.js +1 -1
  644. package/src/sap/ui/test/matchers/PropertyStrictEquals.js +1 -1
  645. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  646. package/src/sap/ui/test/matchers/Visible.js +1 -1
  647. package/src/sap/ui/test/matchers/_Busy.js +1 -1
  648. package/src/sap/ui/test/matchers/_Editable.js +1 -1
  649. package/src/sap/ui/test/matchers/_Enabled.js +1 -1
  650. package/src/sap/ui/test/matchers/_Visitor.js +1 -1
  651. package/src/sap/ui/test/matchers/matchers.js +1 -1
  652. package/src/sap/ui/test/opaQunit.js +1 -1
  653. package/src/sap/ui/test/pipelines/ActionPipeline.js +1 -1
  654. package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
  655. package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -1
  656. package/src/sap/ui/test/qunitPause.js +1 -1
  657. package/src/sap/ui/test/selectors/_BindingPath.js +1 -1
  658. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +1 -1
  659. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  660. package/src/sap/ui/test/selectors/_ControlType.js +1 -1
  661. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -1
  662. package/src/sap/ui/test/selectors/_GlobalID.js +1 -1
  663. package/src/sap/ui/test/selectors/_LabelFor.js +1 -1
  664. package/src/sap/ui/test/selectors/_Properties.js +1 -1
  665. package/src/sap/ui/test/selectors/_Selector.js +1 -1
  666. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -1
  667. package/src/sap/ui/test/selectors/_ViewID.js +1 -1
  668. package/src/sap/ui/test/selectors/_selectors.js +1 -1
  669. package/src/sap/ui/test/starter/_configureLoader.js +1 -1
  670. package/src/sap/ui/test/starter/_setupAndStart.js +1 -1
  671. package/src/sap/ui/test/starter/_utils.js +1 -1
  672. package/src/sap/ui/test/starter/createSuite.js +4 -4
  673. package/src/sap/ui/test/starter/runTest.js +1 -1
  674. package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
  675. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  676. package/src/sap/ui/thirdparty/jquery-mobile-custom.js +3 -6
  677. package/src/sap/ui/util/ActivityDetection.js +1 -1
  678. package/src/sap/ui/util/Mobile.js +29 -40
  679. package/src/sap/ui/util/Storage.js +2 -2
  680. package/src/sap/ui/util/XMLHelper.js +54 -31
  681. package/src/sap/ui/util/_FeatureDetection.js +1 -1
  682. package/src/sap/ui/util/defaultLinkTypes.js +1 -1
  683. package/src/sap/ui/util/isCrossOriginURL.js +1 -1
  684. package/src/sap/ui/util/openWindow.js +1 -1
  685. package/src/sap-ui-boot.js +1 -1
  686. package/src/sap-ui-core-nojQuery.js +1 -1
  687. package/src/sap-ui-core.js +1 -1
  688. package/src/sap-ui-debug.js +1 -1
  689. package/src/ui5loader-autoconfig.js +1 -1
  690. package/src/ui5loader.js +10 -10
  691. package/ui5.yaml +244 -1
  692. package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
  693. package/src/sap/ui/thirdparty/baseuri.js +0 -1
  694. package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
  695. package/src/sap/ui/thirdparty/es6-promise.js +0 -1
  696. package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
  697. package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
  698. package/src/sap/ui/thirdparty/flexie.js +0 -1
  699. package/src/sap/ui/thirdparty/unorm.js +0 -1
  700. package/src/sap/ui/thirdparty/unormdata.js +0 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -11,7 +11,7 @@
11
11
  * This API is independent from any other part of the UI5 framework. This allows it to be loaded beforehand, if it is needed, to create the UI5 bootstrap
12
12
  * dynamically depending on the capabilities of the browser or device.
13
13
  *
14
- * @version 1.96.2
14
+ * @version 1.98.0
15
15
  * @namespace
16
16
  * @name sap.ui.Device
17
17
  * @public
@@ -32,7 +32,7 @@ if (typeof window.sap.ui !== "object") {
32
32
 
33
33
  //Skip initialization if API is already available
34
34
  if (typeof window.sap.ui.Device === "object" || typeof window.sap.ui.Device === "function") {
35
- var apiVersion = "1.96.2";
35
+ var apiVersion = "1.98.0";
36
36
  window.sap.ui.Device._checkAPIVersion(apiVersion);
37
37
  return;
38
38
  }
@@ -40,7 +40,7 @@ if (typeof window.sap.ui !== "object") {
40
40
  var Device = {};
41
41
 
42
42
  ////-------------------------- Logging -------------------------------------
43
- /* since we cannot use the logging from jquery.sap.global.js, we need to come up with a separate
43
+ /* since we cannot use the logging from sap/base/Log.js, we need to come up with a separate
44
44
  * solution for the device API
45
45
  */
46
46
 
@@ -105,7 +105,7 @@ if (typeof window.sap.ui !== "object") {
105
105
 
106
106
  //Only used internal to make clear when Device API is loaded in wrong version
107
107
  Device._checkAPIVersion = function(sVersion) {
108
- var v = "1.96.2";
108
+ var v = "1.98.0";
109
109
  if (v != sVersion) {
110
110
  oLogger.log(WARNING, "Device API version differs: " + v + " <-> " + sVersion);
111
111
  }
@@ -156,6 +156,18 @@ if (typeof window.sap.ui !== "object") {
156
156
  }
157
157
  }
158
158
 
159
+ var oReducedNavigator;
160
+ var setDefaultNavigator = function () {
161
+ oReducedNavigator = {
162
+ userAgent: window.navigator.userAgent,
163
+ platform: window.navigator.platform
164
+ };
165
+ // Only add property standalone in case navigator has this property
166
+ if (window.navigator.hasOwnProperty("standalone")) {
167
+ oReducedNavigator.standalone = window.navigator.standalone;
168
+ }
169
+ };
170
+ setDefaultNavigator();
159
171
  //******** OS Detection ********
160
172
 
161
173
  /**
@@ -183,7 +195,7 @@ if (typeof window.sap.ui !== "object") {
183
195
  /**
184
196
  * The version of the operating system as <code>string</code>.
185
197
  *
186
- * Might be empty if no version can be determined.
198
+ * Might be empty if no version can reliably be determined.
187
199
  *
188
200
  * @name sap.ui.Device.os.versionStr
189
201
  * @type string
@@ -192,7 +204,7 @@ if (typeof window.sap.ui !== "object") {
192
204
  /**
193
205
  * The version of the operating system as <code>float</code>.
194
206
  *
195
- * Might be <code>-1</code> if no version can be determined.
207
+ * Might be <code>-1</code> if no version can reliably be determined.
196
208
  *
197
209
  * @name sap.ui.Device.os.version
198
210
  * @type float
@@ -235,20 +247,6 @@ if (typeof window.sap.ui !== "object") {
235
247
  * @type boolean
236
248
  * @public
237
249
  */
238
- /**
239
- * If this flag is set to <code>true</code>, a Blackberry operating system is used.
240
- *
241
- * @name sap.ui.Device.os.blackberry
242
- * @type boolean
243
- * @public
244
- */
245
- /**
246
- * If this flag is set to <code>true</code>, a Windows Phone operating system is used.
247
- *
248
- * @name sap.ui.Device.os.windows_phone
249
- * @type boolean
250
- * @public
251
- */
252
250
  /**
253
251
  * Windows operating system name.
254
252
  *
@@ -284,40 +282,24 @@ if (typeof window.sap.ui !== "object") {
284
282
  * @name sap.ui.Device.os.OS.ANDROID
285
283
  * @public
286
284
  */
287
- /**
288
- * Blackberry operating system name.
289
- *
290
- * @see sap.ui.Device.os.name
291
- * @name sap.ui.Device.os.OS.BLACKBERRY
292
- * @public
293
- */
294
- /**
295
- * Windows Phone operating system name.
296
- *
297
- * @see sap.ui.Device.os.name
298
- * @name sap.ui.Device.os.OS.WINDOWS_PHONE
299
- * @public
300
- */
301
285
 
302
286
  var OS = {
303
287
  "WINDOWS": "win",
304
288
  "MACINTOSH": "mac",
305
289
  "LINUX": "linux",
306
290
  "IOS": "iOS",
307
- "ANDROID": "Android",
308
- "BLACKBERRY": "bb",
309
- "WINDOWS_PHONE": "winphone"
291
+ "ANDROID": "Android"
310
292
  };
311
293
 
312
- function getOS(userAgent, platform) { // may return null!!
294
+ function getOS() { // may return null!!
313
295
 
314
- userAgent = userAgent || navigator.userAgent;
296
+ var userAgent = oReducedNavigator.userAgent;
315
297
 
316
298
  var rPlatform, // regular expression for platform
317
299
  aMatches;
318
300
 
319
301
  function getDesktopOS() {
320
- var sPlatform = platform || navigator.platform;
302
+ var sPlatform = oReducedNavigator.platform;
321
303
  if (sPlatform.indexOf("Win") != -1) {
322
304
  // userAgent in windows 7 contains: windows NT 6.1
323
305
  // userAgent in windows 8 contains: windows NT 6.2 or higher
@@ -357,39 +339,10 @@ if (typeof window.sap.ui !== "object") {
357
339
  return null;
358
340
  }
359
341
 
360
- // Windows Phone. User agent includes other platforms and therefore must be checked first:
361
- rPlatform = /Windows Phone (?:OS )?([\d.]*)/;
362
- aMatches = userAgent.match(rPlatform);
363
- if (aMatches) {
364
- return ({
365
- "name": OS.WINDOWS_PHONE,
366
- "versionStr": aMatches[1]
367
- });
368
- }
369
-
370
- // BlackBerry 10:
371
- if (userAgent.indexOf("(BB10;") > 0) {
372
- rPlatform = /\sVersion\/([\d.]+)\s/;
373
- aMatches = userAgent.match(rPlatform);
374
- if (aMatches) {
375
- return {
376
- "name": OS.BLACKBERRY,
377
- "versionStr": aMatches[1]
378
- };
379
- } else {
380
- return {
381
- "name": OS.BLACKBERRY,
382
- "versionStr": '10'
383
- };
384
- }
385
- }
386
-
387
- // iOS, Android, BlackBerry 6.0+:
388
342
  rPlatform = /\(([a-zA-Z ]+);\s(?:[U]?[;]?)([\D]+)((?:[\d._]*))(?:.*[\)][^\d]*)([\d.]*)\s/;
389
343
  aMatches = userAgent.match(rPlatform);
390
344
  if (aMatches) {
391
345
  var rAppleDevices = /iPhone|iPad|iPod/;
392
- var rBbDevices = /PlayBook|BlackBerry/;
393
346
  if (aMatches[0].match(rAppleDevices)) {
394
347
  aMatches[3] = aMatches[3].replace(/_/g, ".");
395
348
  //result[1] contains info of devices
@@ -403,11 +356,6 @@ if (typeof window.sap.ui !== "object") {
403
356
  "name": OS.ANDROID,
404
357
  "versionStr": aMatches[3]
405
358
  });
406
- } else if (aMatches[0].match(rBbDevices)) {
407
- return ({
408
- "name": OS.BLACKBERRY,
409
- "versionStr": aMatches[4]
410
- });
411
359
  }
412
360
  }
413
361
 
@@ -425,8 +373,8 @@ if (typeof window.sap.ui !== "object") {
425
373
  return getDesktopOS();
426
374
  }
427
375
 
428
- function setOS(customUA, customPlatform) {
429
- Device.os = getOS(customUA, customPlatform) || {};
376
+ function setOS() {
377
+ Device.os = getOS() || {};
430
378
  Device.os.OS = OS;
431
379
  Device.os.version = Device.os.versionStr ? parseFloat(Device.os.versionStr) : -1;
432
380
 
@@ -439,8 +387,6 @@ if (typeof window.sap.ui !== "object") {
439
387
  }
440
388
  }
441
389
  setOS();
442
- // expose for unit test
443
- Device._setOS = setOS;
444
390
 
445
391
 
446
392
 
@@ -551,9 +497,8 @@ if (typeof window.sap.ui !== "object") {
551
497
  /**
552
498
  * If this flag is set to <code>true</code>, the Safari browser runs in standalone fullscreen mode on iOS.
553
499
  *
554
- * <b>Note:</b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,
555
- * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.
556
- * the availability of {@link sap.ui.Device.browser.version}.
500
+ * <b>Note:</b> This flag is only available if the Safari browser was detected. There might be slight
501
+ * differences in behavior and detection, e.g. regarding the availability of {@link sap.ui.Device.browser.version}.
557
502
  *
558
503
  * @name sap.ui.Device.browser.fullscreen
559
504
  * @type boolean
@@ -563,11 +508,12 @@ if (typeof window.sap.ui !== "object") {
563
508
  /**
564
509
  * If this flag is set to <code>true</code>, the Safari browser runs in webview mode on iOS.
565
510
  *
566
- * <b>Note:</b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,
567
- * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.
568
- * the availability of {@link sap.ui.Device.browser.version}.
511
+ * <b>Note:</b> Since iOS 11 it is no longer reliably possible to detect whether an application runs in <code>webview</code>.
512
+ * The flag is <code>true</code> if the browser's user agent contains 'SAPFioriClient'. Applications
513
+ * using WKWebView have the possibility to customize the user agent, and to explicitly add this information.
569
514
  *
570
515
  * @name sap.ui.Device.browser.webview
516
+ * @deprecated as of version 1.98.
571
517
  * @type boolean
572
518
  * @since 1.31.0
573
519
  * @public
@@ -625,11 +571,10 @@ if (typeof window.sap.ui !== "object") {
625
571
  "ANDROID": "an"
626
572
  };
627
573
 
628
- var ua = navigator.userAgent;
629
-
630
-
574
+ function getBrowser() {
575
+ var sUserAgent = oReducedNavigator.userAgent,
576
+ sLowerCaseUserAgent = sUserAgent.toLowerCase();
631
577
 
632
- function getBrowser(customUa, customNav) {
633
578
  /*!
634
579
  * Taken from jQuery JavaScript Library v1.7.1
635
580
  * http://jquery.com/
@@ -645,16 +590,12 @@ if (typeof window.sap.ui !== "object") {
645
590
  *
646
591
  * Date: Mon Nov 21 21:11:03 2011 -0500
647
592
  */
648
- function calcBrowser(customUa) {
649
- var sUserAgent = (customUa || ua).toLowerCase(); // use custom user-agent if given
650
-
593
+ function calcBrowser() {
651
594
  var rwebkit = /(webkit)[ \/]([\w.]+)/;
652
- var ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/;
653
595
  var rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/;
654
596
 
655
- var browserMatch = rwebkit.exec(sUserAgent) ||
656
- ropera.exec(sUserAgent) ||
657
- sUserAgent.indexOf("compatible") < 0 && rmozilla.exec(sUserAgent) || [];
597
+ var browserMatch = rwebkit.exec(sLowerCaseUserAgent) ||
598
+ sLowerCaseUserAgent.indexOf("compatible") < 0 && rmozilla.exec(sLowerCaseUserAgent) || [];
658
599
 
659
600
  var oRes = {
660
601
  browser: browserMatch[1] || "",
@@ -664,17 +605,16 @@ if (typeof window.sap.ui !== "object") {
664
605
  return oRes;
665
606
  }
666
607
 
667
- var oBrowser = calcBrowser(customUa);
668
- var sUserAgent = customUa || ua;
669
- var oNavigator = customNav || window.navigator;
608
+ var oBrowser = calcBrowser();
670
609
 
671
610
  // jQuery checks for user agent strings. We differentiate between browsers
672
611
  var oExpMobile;
673
612
  var oResult;
613
+ var fVersion;
674
614
  if (oBrowser.mozilla) {
675
615
  oExpMobile = /Mobile/;
676
616
  if (sUserAgent.match(/Firefox\/(\d+\.\d+)/)) {
677
- var fVersion = parseFloat(RegExp.$1);
617
+ fVersion = parseFloat(RegExp.$1);
678
618
  oResult = {
679
619
  name: BROWSER.FIREFOX,
680
620
  versionStr: "" + fVersion,
@@ -692,7 +632,7 @@ if (typeof window.sap.ui !== "object") {
692
632
  }
693
633
  } else if (oBrowser.webkit) {
694
634
  // webkit version is needed for calculation if the mobile android device is a tablet (calculation of other mobile devices work without)
695
- var regExpWebkitVersion = sUserAgent.toLowerCase().match(/webkit[\/]([\d.]+)/);
635
+ var regExpWebkitVersion = sLowerCaseUserAgent.match(/webkit[\/]([\d.]+)/);
696
636
  var webkitVersion;
697
637
  if (regExpWebkitVersion) {
698
638
  webkitVersion = regExpWebkitVersion[1];
@@ -728,31 +668,24 @@ if (typeof window.sap.ui !== "object") {
728
668
  };
729
669
  } else { // Safari might have an issue with sUserAgent.match(...); thus changing
730
670
  var oExp = /Version\/(\d+\.\d+).*Safari/;
731
- var bStandalone = oNavigator.standalone;
732
- if (oExp.test(sUserAgent)) {
733
- var aParts = oExp.exec(sUserAgent);
734
- var fVersion = parseFloat(aParts[1]);
671
+ if (oExp.test(sUserAgent) || /iPhone|iPad|iPod/.test(sUserAgent)) {
672
+ var bStandalone = oReducedNavigator.standalone;
735
673
  oResult = {
736
674
  name: BROWSER.SAFARI,
737
- versionStr: "" + fVersion,
738
- fullscreen: false,
739
- webview: false,
740
- version: fVersion,
741
- mobile: oExpMobile.test(sUserAgent),
742
- webkit: true,
743
- webkitVersion: webkitVersion
744
- };
745
- } else if (/iPhone|iPad|iPod/.test(sUserAgent) && !(/CriOS/.test(sUserAgent)) && !(/FxiOS/.test(sUserAgent)) && (bStandalone === true || bStandalone === false)) {
746
- //WebView or Standalone mode on iOS
747
- oResult = {
748
- name: BROWSER.SAFARI,
749
- version: -1,
750
- fullscreen: bStandalone,
751
- webview: !bStandalone,
675
+ fullscreen: bStandalone === undefined ? false : bStandalone,
676
+ webview: /SAPFioriClient/.test(sUserAgent),
752
677
  mobile: oExpMobile.test(sUserAgent),
753
678
  webkit: true,
754
679
  webkitVersion: webkitVersion
755
680
  };
681
+ var aParts = oExp.exec(sUserAgent);
682
+ if (aParts) {
683
+ fVersion = parseFloat(aParts[1]);
684
+ oResult.versionStr = "" + fVersion;
685
+ oResult.version = fVersion;
686
+ } else {
687
+ oResult.version = -1;
688
+ }
756
689
  } else { // other webkit based browser
757
690
  oResult = {
758
691
  mobile: oExpMobile.test(sUserAgent),
@@ -778,7 +711,6 @@ if (typeof window.sap.ui !== "object") {
778
711
 
779
712
  return oResult;
780
713
  }
781
- Device._testUserAgent = getBrowser; // expose the user-agent parsing (mainly for testing), but don't let it be overwritten
782
714
 
783
715
  function setBrowser() {
784
716
  Device.browser = getBrowser();
@@ -883,10 +815,14 @@ if (typeof window.sap.ui !== "object") {
883
815
  * This is also the recommended way of detecting touch feature support, according to the Chrome Developers
884
816
  * (https://www.chromestatus.com/feature/4764225348042752).
885
817
  */
886
- Device.support.touch = !!(('ontouchstart' in window)
887
- || (navigator.maxTouchPoints > 0)
888
- || (window.DocumentTouch && document instanceof window.DocumentTouch)
889
- || (window.TouchEvent && Device.browser.firefox));
818
+ var detectTouch = function () {
819
+ return !!(('ontouchstart' in window)
820
+ || (window.navigator.maxTouchPoints > 0)
821
+ || (window.DocumentTouch && document instanceof window.DocumentTouch)
822
+ || (window.TouchEvent && Device.browser.firefox));
823
+ };
824
+
825
+ Device.support.touch = detectTouch();
890
826
 
891
827
  Device.support.pointer = !!window.PointerEvent;
892
828
 
@@ -1581,8 +1517,8 @@ if (typeof window.sap.ui !== "object") {
1581
1517
  return oSystem;
1582
1518
  }
1583
1519
 
1584
- function isTablet(customUA) {
1585
- var sUserAgent = customUA || navigator.userAgent;
1520
+ function isTablet() {
1521
+ var sUserAgent = oReducedNavigator.userAgent;
1586
1522
  if (Device.os.ios) {
1587
1523
  return /ipad/i.test(sUserAgent);
1588
1524
  } else if (Device.os.windows || Device.os.macintosh || Device.os.linux) {
@@ -1598,45 +1534,7 @@ if (typeof window.sap.ui !== "object") {
1598
1534
  } else {
1599
1535
  //in real mobile device
1600
1536
  if (Device.support.touch) { // eslint-disable-line no-lonely-if
1601
- if (Device.browser.chrome && Device.os.android && Device.os.version >= 4.4) {
1602
- // From Android version 4.4, WebView also uses Chrome as Kernel.
1603
- // We can use the user agent pattern defined in Chrome to do phone/tablet detection
1604
- // According to the information here: https://developer.chrome.com/multidevice/user-agent#chrome_for_android_user_agent,
1605
- // the existence of "Mobile" indicates it's a phone. But because the crosswalk framework which is used in Fiori Client
1606
- // inserts another "Mobile" to the user agent for both tablet and phone, we need to check whether "Mobile Safari/<Webkit Rev>" exists.
1607
- return !/Mobile Safari\/[.0-9]+/.test(sUserAgent);
1608
- } else {
1609
- var densityFactor = window.devicePixelRatio ? window.devicePixelRatio : 1; // may be undefined in Windows Phone devices
1610
- // On Android sometimes window.screen.width returns the logical CSS pixels, sometimes the physical device pixels;
1611
- // Tests on multiple devices suggest this depends on the Webkit version.
1612
- // The Webkit patch which changed the behavior was done here: https://bugs.webkit.org/show_bug.cgi?id=106460
1613
- // Chrome 27 with Webkit 537.36 returns the logical pixels,
1614
- // Chrome 18 with Webkit 535.19 returns the physical pixels.
1615
- // The BlackBerry 10 browser with Webkit 537.10+ returns the physical pixels.
1616
- // So it appears like somewhere above Webkit 537.10 we do not hve to divide by the devicePixelRatio anymore.
1617
- if (Device.os.android && Device.browser.webkit && (parseFloat(Device.browser.webkitVersion) > 537.10)) {
1618
- densityFactor = 1;
1619
- }
1620
-
1621
- //this is how android distinguishes between tablet and phone
1622
- //http://android-developers.blogspot.de/2011/07/new-tools-for-managing-screen-sizes.html
1623
- var bTablet = (Math.min(window.screen.width / densityFactor, window.screen.height / densityFactor) >= 600);
1624
-
1625
- // special workaround for Nexus 7 where the window.screen.width is 600px or 601px in portrait mode (=> tablet)
1626
- // but window.screen.height 552px in landscape mode (=> phone), because the browser UI takes some space on top.
1627
- // So the detected device type depends on the orientation :-(
1628
- // actually this is a Chrome bug, as "width"/"height" should return the entire screen's dimensions and
1629
- // "availWidth"/"availHeight" should return the size available after subtracting the browser UI
1630
- if (isLandscape() &&
1631
- (window.screen.height === 552 || window.screen.height === 553) // old/new Nexus 7
1632
- &&
1633
- (/Nexus 7/i.test(sUserAgent))) {
1634
- bTablet = true;
1635
- }
1636
-
1637
- return bTablet;
1638
- }
1639
-
1537
+ return Device.browser.chrome && Device.os.android && !/Mobile Safari\/[.0-9]+/.test(sUserAgent);
1640
1538
  } else {
1641
1539
  // This simple android phone detection can be used here because this is the mobile emulation mode in desktop browser
1642
1540
  var bAndroidPhone = (/(?=android)(?=.*mobile)/i.test(sUserAgent));
@@ -1646,15 +1544,13 @@ if (typeof window.sap.ui !== "object") {
1646
1544
  }
1647
1545
  }
1648
1546
 
1649
- function setSystem(customUA) {
1650
- Device.system = getSystem(customUA);
1547
+ function setSystem() {
1548
+ Device.system = getSystem();
1651
1549
  if (Device.system.tablet || Device.system.phone) {
1652
1550
  Device.browser.mobile = true;
1653
1551
  }
1654
1552
  }
1655
1553
  setSystem();
1656
- // expose the function for unit test
1657
- Device._getSystem = getSystem;
1658
1554
 
1659
1555
  //******** Orientation Detection ********
1660
1556
 
@@ -1978,6 +1874,22 @@ if (typeof window.sap.ui !== "object") {
1978
1874
  Device.media.initRangeSet();
1979
1875
  Device.media.initRangeSet(RANGESETS["SAP_STANDARD_EXTENDED"]);
1980
1876
 
1877
+ // Only for test purposes
1878
+ Device._setCustomNavigator = function (oCustomNavigator, bTouch) {
1879
+ // Reset to device capabilities in case no custom navigator is given
1880
+ if (!oCustomNavigator) {
1881
+ Device.support.touch = detectTouch();
1882
+ setDefaultNavigator();
1883
+ } else {
1884
+ Device.support.touch = bTouch;
1885
+ oReducedNavigator = Object.assign(oReducedNavigator, oCustomNavigator);
1886
+ }
1887
+
1888
+ setOS();
1889
+ setBrowser();
1890
+ setSystem();
1891
+ };
1892
+
1981
1893
  // define module if API is available
1982
1894
  if (sap.ui.define) {
1983
1895
  sap.ui.define("sap/ui/Device", [], function() {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -16,9 +16,9 @@
16
16
  * @sample
17
17
  * Ensures a control can be used afterwards but does not load immediately
18
18
  * sap.ui.lazyRequire("sap.ui.core.Control");
19
- * sap.ui.lazyRequire("sap.ui.commons.Button");
19
+ * sap.ui.lazyRequire("sap.m.Button");
20
20
  *
21
- * @version 1.96.2
21
+ * @version 1.98.0
22
22
  * @author SAP SE
23
23
  * @public
24
24
  */
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * The <code>sap</code> namespace is automatically registered with the
49
49
  * OpenAjax hub if it exists.
50
50
  *
51
- * @version 1.96.2
51
+ * @version 1.98.0
52
52
  * @namespace
53
53
  * @public
54
54
  * @name sap
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * The <code>sap.ui</code> namespace is the central OpenAjax compliant entry
62
62
  * point for UI related JavaScript functionality provided by SAP.
63
63
  *
64
- * @version 1.96.2
64
+ * @version 1.98.0
65
65
  * @namespace
66
66
  * @name sap.ui
67
67
  * @public
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * The version of the SAP UI Library
76
76
  * @type string
77
77
  */
78
- version: "1.96.2",
78
+ version: "1.98.0",
79
79
  // buildinfo.lastchange is deprecated and is therefore defaulted to empty string
80
80
  buildinfo : { lastchange : "", buildtime : "${buildtime}" }
81
81
  });
@@ -306,12 +306,12 @@ sap.ui.define([
306
306
  /**
307
307
  * Returns the URL of a resource that belongs to the given library and has the given relative location within the library.
308
308
  * This is mainly meant for static resources like images that are inside the library.
309
- * It is NOT meant for access to JavaScript modules or anything for which a different URL has been registered with jQuery.sap.registerModulePath(). For
310
- * these cases use jQuery.sap.getModulePath().
309
+ * It is NOT meant for access to JavaScript modules or anything for which a different URL has been registered with
310
+ * sap.ui.loader.config({paths:...}). For these cases use sap.ui.require.toUrl().
311
311
  * It DOES work, however, when the given sResourcePath starts with "themes/" (= when it is a theme-dependent resource). Even when for this theme a different
312
312
  * location outside the normal library location is configured.
313
313
  *
314
- * @param {string} sLibraryName the name of a library, like "sap.ui.commons"
314
+ * @param {string} sLibraryName the name of a library, like "sap.ui.layout"
315
315
  * @param {string} sResourcePath the relative path of a resource inside this library, like "img/mypic.png" or "themes/my_theme/img/mypic.png"
316
316
  * @returns {string} the URL of the requested resource
317
317
  *
@@ -337,8 +337,8 @@ sap.ui.define([
337
337
  * is assumed to represent an individual folder. In other words: when a resource name is
338
338
  * converted to a URL, any dots ('.') are converted to slashes ('/').
339
339
  *
340
- * <b>Limitation:</b> For the time being, the <b>application root folder</b> is assumed to be
341
- * the same as the folder where the current page resides in.
340
+ * <b>Note:</b> The <b>application root folder</b> is assumed to be the same as the folder
341
+ * where the current page resides in.
342
342
  *
343
343
  * Usage sample:
344
344
  * <pre>
@@ -354,16 +354,11 @@ sap.ui.define([
354
354
  * </pre>
355
355
  *
356
356
  * When applications need a more flexible mapping between resource names and their location,
357
- * they can use {@link jQuery.sap.registerModulePath}.
358
- *
359
- * It is intended to make this configuration obsolete in future releases, but for the time
360
- * being, applications must call this method when they want to store resources relative to
361
- * the assumed application root folder.
357
+ * they can use {@link sap.ui.loader.config} with option <code>paths</code>.
362
358
  *
363
359
  * @param {string} sNamespace Namespace prefix for which to load resources relative to the application root folder
364
360
  * @public
365
361
  * @static
366
- * @see jQuery.sap.registerModulePath
367
362
  * @deprecated since 1.56, use <code>sap.ui.loader.config</code> instead.
368
363
  */
369
364
  sap.ui.localResources = function(sNamespace) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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(['./Object', "sap/base/assert"],
23
23
  * @extends sap.ui.base.Object
24
24
  * @implements sap.ui.base.Poolable
25
25
  * @author SAP SE
26
- * @version 1.96.2
26
+ * @version 1.98.0
27
27
  * @alias sap.ui.base.Event
28
28
  * @public
29
29
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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,7 @@ sap.ui.define(['./Event', './Object', './ObjectPool', "sap/base/assert"],
18
18
  * @abstract
19
19
  * @extends sap.ui.base.Object
20
20
  * @author SAP SE
21
- * @version 1.96.2
21
+ * @version 1.98.0
22
22
  * @public
23
23
  * @alias sap.ui.base.EventProvider
24
24
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 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-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -28,7 +28,7 @@ sap.ui.define(['sap/ui/base/Object'], function(BaseObject) {
28
28
  * no internals of the class can be accessed.
29
29
  *
30
30
  * @author Malte Wedel, Daniel Brinkmann
31
- * @version 1.96.2
31
+ * @version 1.98.0
32
32
  * @param {sap.ui.base.Object} oObject
33
33
  * Object for which a facade should be created
34
34
  * @param {string[]} aMethods