@openui5/sap.ui.core 1.141.2 → 1.143.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 (364) hide show
  1. package/.dtsgenrc +22 -0
  2. package/README.md +2 -2
  3. package/REUSE.toml +39 -1
  4. package/THIRDPARTY.txt +36 -3
  5. package/package.json +1 -1
  6. package/src/jquery.sap.global.js +1 -1
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.storage.js +3 -3
  11. package/src/sap/base/Event.js +1 -1
  12. package/src/sap/base/Eventing.js +1 -1
  13. package/src/sap/base/config.js +1 -1
  14. package/src/sap/base/i18n/LanguageTag.js +1 -1
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/resolveReference.js +1 -1
  17. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  18. package/src/sap/base/util/restricted/_castArray.js +1 -1
  19. package/src/sap/base/util/restricted/_compact.js +1 -1
  20. package/src/sap/base/util/restricted/_curry.js +1 -1
  21. package/src/sap/base/util/restricted/_debounce.js +1 -1
  22. package/src/sap/base/util/restricted/_difference.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_flatten.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_intersection.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isNil.js +1 -1
  37. package/src/sap/base/util/restricted/_max.js +1 -1
  38. package/src/sap/base/util/restricted/_merge.js +1 -1
  39. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  40. package/src/sap/base/util/restricted/_min.js +1 -1
  41. package/src/sap/base/util/restricted/_omit.js +1 -1
  42. package/src/sap/base/util/restricted/_pick.js +1 -1
  43. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  44. package/src/sap/base/util/restricted/_throttle.js +1 -1
  45. package/src/sap/base/util/restricted/_toArray.js +1 -1
  46. package/src/sap/base/util/restricted/_union.js +1 -1
  47. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  48. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  49. package/src/sap/base/util/restricted/_uniq.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  52. package/src/sap/base/util/restricted/_without.js +1 -1
  53. package/src/sap/base/util/restricted/_xor.js +1 -1
  54. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  55. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  58. package/src/sap/ui/Device.js +3 -3
  59. package/src/sap/ui/Global.js +3 -3
  60. package/src/sap/ui/base/Event.js +1 -1
  61. package/src/sap/ui/base/EventProvider.js +1 -1
  62. package/src/sap/ui/base/Exception.js +9 -7
  63. package/src/sap/ui/base/ExpressionParser.js +8 -7
  64. package/src/sap/ui/base/Interface.js +1 -1
  65. package/src/sap/ui/base/ManagedObject.js +1 -1
  66. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +7 -7
  71. package/src/sap/ui/core/AppCacheBuster.js +21 -19
  72. package/src/sap/ui/core/BusyIndicator.js +1 -1
  73. package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
  74. package/src/sap/ui/core/Component.js +52 -40
  75. package/src/sap/ui/core/ComponentContainer.js +1 -1
  76. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  77. package/src/sap/ui/core/ComponentSupport.js +1 -1
  78. package/src/sap/ui/core/Configuration.js +1 -1
  79. package/src/sap/ui/core/Control.js +1 -1
  80. package/src/sap/ui/core/Core.js +6 -3
  81. package/src/sap/ui/core/CustomData.js +1 -1
  82. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  83. package/src/sap/ui/core/Element.js +3 -5
  84. package/src/sap/ui/core/ElementMetadata.js +1 -1
  85. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  86. package/src/sap/ui/core/EventBus.js +1 -1
  87. package/src/sap/ui/core/Fragment.js +1 -1
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/History.js +1 -1
  90. package/src/sap/ui/core/Icon.js +1 -1
  91. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  92. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  93. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  94. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  95. package/src/sap/ui/core/InvisibleText.js +1 -1
  96. package/src/sap/ui/core/Item.js +1 -1
  97. package/src/sap/ui/core/LabelEnablement.js +6 -4
  98. package/src/sap/ui/core/LayoutData.js +1 -1
  99. package/src/sap/ui/core/Lib.js +1 -1
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +1 -1
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +21 -20
  105. package/src/sap/ui/core/Message.js +1 -1
  106. package/src/sap/ui/core/Popup.js +13 -6
  107. package/src/sap/ui/core/RenderManager.js +13 -2
  108. package/src/sap/ui/core/Renderer.js +1 -1
  109. package/src/sap/ui/core/ResizeHandler.js +1 -1
  110. package/src/sap/ui/core/ScrollBar.js +1 -1
  111. package/src/sap/ui/core/SeparatorItem.js +1 -1
  112. package/src/sap/ui/core/Title.js +1 -1
  113. package/src/sap/ui/core/TooltipBase.js +1 -1
  114. package/src/sap/ui/core/UIArea.js +1 -1
  115. package/src/sap/ui/core/UIComponent.js +1 -1
  116. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  117. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  118. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  119. package/src/sap/ui/core/XMLComposite.js +1 -1
  120. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  121. package/src/sap/ui/core/_UrlResolver.js +31 -29
  122. package/src/sap/ui/core/date/UI5Date.js +1 -1
  123. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  124. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  125. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  126. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  127. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  128. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  129. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  130. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  131. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  132. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  133. package/src/sap/ui/core/interaction/KeyboardInteractionDisplay.js +21 -2
  134. package/src/sap/ui/core/library.js +11 -11
  135. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  136. package/src/sap/ui/core/message/Message.js +1 -1
  137. package/src/sap/ui/core/message/MessageManager.js +1 -1
  138. package/src/sap/ui/core/message/MessageParser.js +1 -1
  139. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  140. package/src/sap/ui/core/messagebundle.properties +2 -0
  141. package/src/sap/ui/core/messagebundle_ar.properties +1 -0
  142. package/src/sap/ui/core/messagebundle_bg.properties +1 -0
  143. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  144. package/src/sap/ui/core/messagebundle_cnr.properties +1 -0
  145. package/src/sap/ui/core/messagebundle_cs.properties +1 -0
  146. package/src/sap/ui/core/messagebundle_cy.properties +1 -0
  147. package/src/sap/ui/core/messagebundle_da.properties +1 -0
  148. package/src/sap/ui/core/messagebundle_de.properties +1 -0
  149. package/src/sap/ui/core/messagebundle_el.properties +1 -0
  150. package/src/sap/ui/core/messagebundle_en.properties +1 -0
  151. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
  152. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  153. package/src/sap/ui/core/messagebundle_es.properties +21 -20
  154. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
  155. package/src/sap/ui/core/messagebundle_et.properties +3 -2
  156. package/src/sap/ui/core/messagebundle_fi.properties +2 -1
  157. package/src/sap/ui/core/messagebundle_fr.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_hi.properties +1 -0
  160. package/src/sap/ui/core/messagebundle_hr.properties +1 -0
  161. package/src/sap/ui/core/messagebundle_hu.properties +1 -0
  162. package/src/sap/ui/core/messagebundle_id.properties +3 -2
  163. package/src/sap/ui/core/messagebundle_it.properties +2 -1
  164. package/src/sap/ui/core/messagebundle_iw.properties +1 -0
  165. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  166. package/src/sap/ui/core/messagebundle_kk.properties +9 -8
  167. package/src/sap/ui/core/messagebundle_ko.properties +1 -0
  168. package/src/sap/ui/core/messagebundle_lt.properties +1 -0
  169. package/src/sap/ui/core/messagebundle_lv.properties +1 -0
  170. package/src/sap/ui/core/messagebundle_mk.properties +1 -0
  171. package/src/sap/ui/core/messagebundle_ms.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_nl.properties +1 -0
  173. package/src/sap/ui/core/messagebundle_no.properties +1 -0
  174. package/src/sap/ui/core/messagebundle_pl.properties +1 -0
  175. package/src/sap/ui/core/messagebundle_pt.properties +1 -0
  176. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
  177. package/src/sap/ui/core/messagebundle_ro.properties +1 -0
  178. package/src/sap/ui/core/messagebundle_ru.properties +1 -0
  179. package/src/sap/ui/core/messagebundle_sh.properties +1 -0
  180. package/src/sap/ui/core/messagebundle_sk.properties +1 -0
  181. package/src/sap/ui/core/messagebundle_sl.properties +1 -0
  182. package/src/sap/ui/core/messagebundle_sr.properties +1 -0
  183. package/src/sap/ui/core/messagebundle_sv.properties +1 -0
  184. package/src/sap/ui/core/messagebundle_th.properties +2 -1
  185. package/src/sap/ui/core/messagebundle_tr.properties +1 -0
  186. package/src/sap/ui/core/messagebundle_uk.properties +2 -1
  187. package/src/sap/ui/core/messagebundle_vi.properties +1 -0
  188. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
  189. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
  190. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  191. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  192. package/src/sap/ui/core/mvc/JSView.js +1 -1
  193. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  194. package/src/sap/ui/core/mvc/View.js +1 -1
  195. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  196. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  197. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  198. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  199. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  200. package/src/sap/ui/core/routing/History.js +8 -4
  201. package/src/sap/ui/core/routing/Router.js +31 -33
  202. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  203. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  204. package/src/sap/ui/core/service/Service.js +1 -1
  205. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  206. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  207. package/src/sap/ui/core/support/Plugin.js +1 -1
  208. package/src/sap/ui/core/support/Support.js +1 -1
  209. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  210. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  211. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  212. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  213. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  214. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  215. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  216. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  217. package/src/sap/ui/core/themes/base/BlindLayer.less +4 -9
  218. package/src/sap/ui/core/themes/base/BrowserScrollbar.less +1 -1
  219. package/src/sap/ui/core/themes/base/BusyIndicator.less +322 -1
  220. package/src/sap/ui/core/themes/base/CommandShortcutHints.less +9 -9
  221. package/src/sap/ui/core/themes/base/DragAndDrop.less +21 -20
  222. package/src/sap/ui/core/themes/base/Icon.less +36 -35
  223. package/src/sap/ui/core/themes/base/library.source.less +0 -3
  224. package/src/sap/ui/core/themes/base/parameterClasses.less +32 -20
  225. package/src/sap/ui/core/themes/base/shared.less +5 -0
  226. package/src/sap/ui/core/theming/Parameters.js +6 -12
  227. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  228. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  229. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  230. package/src/sap/ui/core/tmpl/Template.js +1 -1
  231. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  232. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  233. package/src/sap/ui/core/util/Export.js +1 -1
  234. package/src/sap/ui/core/util/ExportCell.js +1 -1
  235. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  236. package/src/sap/ui/core/util/ExportRow.js +1 -1
  237. package/src/sap/ui/core/util/ExportType.js +1 -1
  238. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  239. package/src/sap/ui/core/util/File.js +1 -1
  240. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  241. package/src/sap/ui/core/util/MockServer.js +1 -1
  242. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  243. package/src/sap/ui/core/util/_LocalizationHelper.js +1 -1
  244. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  245. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  246. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  247. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  248. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  249. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  250. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  251. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  252. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  253. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  254. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  255. package/src/sap/ui/core/ws/WebSocket.js +7 -11
  256. package/src/sap/ui/debug/ControlTree.js +1 -1
  257. package/src/sap/ui/debug/DebugEnv.js +1 -1
  258. package/src/sap/ui/debug/PropertyList.js +1 -1
  259. package/src/sap/ui/events/FocusEventFix.js +36 -0
  260. package/src/sap/ui/model/ClientModel.js +1 -1
  261. package/src/sap/ui/model/ClientTreeBinding.js +50 -7
  262. package/src/sap/ui/model/CompositeDataState.js +1 -1
  263. package/src/sap/ui/model/CompositeType.js +1 -1
  264. package/src/sap/ui/model/DataState.js +1 -1
  265. package/src/sap/ui/model/MetaModel.js +1 -1
  266. package/src/sap/ui/model/Model.js +52 -3
  267. package/src/sap/ui/model/SelectionModel.js +1 -1
  268. package/src/sap/ui/model/SimpleType.js +1 -1
  269. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  270. package/src/sap/ui/model/Type.js +1 -1
  271. package/src/sap/ui/model/base/ManagedObjectModel.js +7 -4
  272. package/src/sap/ui/model/json/JSONModel.js +9 -4
  273. package/src/sap/ui/model/message/MessageModel.js +1 -1
  274. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  275. package/src/sap/ui/model/odata/ODataMessageParser.js +31 -64
  276. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  277. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  278. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  279. package/src/sap/ui/model/odata/type/Boolean.js +8 -4
  280. package/src/sap/ui/model/odata/type/Byte.js +8 -4
  281. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  282. package/src/sap/ui/model/odata/type/Date.js +2 -2
  283. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  284. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  285. package/src/sap/ui/model/odata/type/DateTimeOffset.js +8 -4
  286. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  287. package/src/sap/ui/model/odata/type/Decimal.js +50 -18
  288. package/src/sap/ui/model/odata/type/Double.js +8 -4
  289. package/src/sap/ui/model/odata/type/Guid.js +8 -4
  290. package/src/sap/ui/model/odata/type/Int.js +9 -4
  291. package/src/sap/ui/model/odata/type/Int16.js +8 -4
  292. package/src/sap/ui/model/odata/type/Int32.js +8 -4
  293. package/src/sap/ui/model/odata/type/Int64.js +8 -4
  294. package/src/sap/ui/model/odata/type/ODataType.js +6 -7
  295. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  296. package/src/sap/ui/model/odata/type/SByte.js +8 -4
  297. package/src/sap/ui/model/odata/type/Single.js +8 -4
  298. package/src/sap/ui/model/odata/type/Stream.js +2 -2
  299. package/src/sap/ui/model/odata/type/String.js +8 -4
  300. package/src/sap/ui/model/odata/type/Time.js +2 -2
  301. package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
  302. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  303. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  304. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  305. package/src/sap/ui/model/odata/v2/ODataModel.js +24 -16
  306. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +20 -7
  307. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +50 -50
  308. package/src/sap/ui/model/odata/v4/Context.js +44 -33
  309. package/src/sap/ui/model/odata/v4/ODataBinding.js +6 -3
  310. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -6
  311. package/src/sap/ui/model/odata/v4/ODataListBinding.js +63 -23
  312. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +37 -62
  313. package/src/sap/ui/model/odata/v4/ODataModel.js +58 -53
  314. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +18 -13
  315. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  316. package/src/sap/ui/model/odata/v4/ODataUtils.js +6 -6
  317. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +46 -46
  318. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +21 -1
  319. package/src/sap/ui/model/odata/v4/lib/_Cache.js +26 -27
  320. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +6 -7
  321. package/src/sap/ui/model/odata/v4/lib/_Helper.js +52 -38
  322. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -1
  323. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +5 -5
  324. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +105 -38
  325. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +10 -3
  326. package/src/sap/ui/model/odata/v4/ts.js +2 -2
  327. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  328. package/src/sap/ui/model/type/Boolean.js +1 -1
  329. package/src/sap/ui/model/type/Currency.js +1 -1
  330. package/src/sap/ui/model/type/Date.js +1 -1
  331. package/src/sap/ui/model/type/DateInterval.js +1 -1
  332. package/src/sap/ui/model/type/DateTime.js +1 -1
  333. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  334. package/src/sap/ui/model/type/FileSize.js +1 -1
  335. package/src/sap/ui/model/type/Float.js +1 -1
  336. package/src/sap/ui/model/type/Integer.js +1 -1
  337. package/src/sap/ui/model/type/String.js +1 -1
  338. package/src/sap/ui/model/type/Time.js +1 -1
  339. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  340. package/src/sap/ui/model/type/Unit.js +1 -1
  341. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  342. package/src/sap/ui/model/xml/XMLTreeBinding.js +10 -0
  343. package/src/sap/ui/performance/Measurement.js +18 -24
  344. package/src/sap/ui/performance/trace/FESR.js +3 -2
  345. package/src/sap/ui/performance/trace/Interaction.js +35 -2
  346. package/src/sap/ui/performance/trace/_InteractionImpl.js +254 -166
  347. package/src/sap/ui/qunit/qunit-coverage.js +1 -1
  348. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  349. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  350. package/src/sap/ui/test/_BrowserLogCollector.js +1 -4
  351. package/src/sap/ui/test/generic/TestBase.js +1 -1
  352. package/src/sap/ui/test/launchers/componentLauncher.js +3 -2
  353. package/src/sap/ui/test/launchers/iFrameLauncher.js +3 -1
  354. package/src/sap/ui/test/starter/_setupAndStart.js +3 -1
  355. package/src/sap/ui/test/starter/_utils.js +5 -59
  356. package/src/sap/ui/test/starter/config.js +555 -0
  357. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +6 -0
  358. package/src/sap/ui/thirdparty/require.js +255 -162
  359. package/src/sap/ui/util/Storage.js +1 -1
  360. package/src/sap/ui/util/_URL.js +158 -0
  361. package/src/ui5loader.js +3 -9
  362. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +0 -293
  363. package/src/sap/ui/core/themes/base/Shadow.less +0 -3
  364. package/src/sap/ui/core/themes/base/TechnicalInfo.less +0 -157
@@ -6,14 +6,15 @@
6
6
 
7
7
  // Provides base class sap.ui.core.Component for all components
8
8
  sap.ui.define([
9
+ "sap/base/assert",
9
10
  "sap/base/i18n/Localization",
10
11
  'sap/ui/base/Object',
11
- 'sap/ui/thirdparty/URI',
12
12
  'sap/ui/VersionInfo',
13
13
  'sap/base/util/Version',
14
14
  'sap/base/future',
15
15
  'sap/base/Log',
16
16
  'sap/ui/dom/includeStylesheet',
17
+ 'sap/ui/util/_URL',
17
18
  'sap/base/i18n/ResourceBundle',
18
19
  'sap/base/util/uid',
19
20
  'sap/base/util/merge',
@@ -24,14 +25,15 @@ sap.ui.define([
24
25
  'sap/ui/core/Lib',
25
26
  './_UrlResolver'
26
27
  ], function(
28
+ assert,
27
29
  Localization,
28
30
  BaseObject,
29
- URI,
30
31
  VersionInfo,
31
32
  Version,
32
33
  future,
33
34
  Log,
34
35
  includeStylesheet,
36
+ _URL,
35
37
  ResourceBundle,
36
38
  uid,
37
39
  merge,
@@ -165,7 +167,7 @@ sap.ui.define([
165
167
  * @class The Manifest class.
166
168
  * @extends sap.ui.base.Object
167
169
  * @author SAP SE
168
- * @version 1.141.2
170
+ * @version 1.143.0
169
171
  * @alias sap.ui.core.Manifest
170
172
  * @since 1.33.0
171
173
  */
@@ -201,13 +203,14 @@ sap.ui.define([
201
203
  var sComponentName = this.getComponentName(),
202
204
  sBaseUrl = mOptions && mOptions.baseUrl || sComponentName && sap.ui.require.toUrl(sComponentName.replace(/\./g, "/")) + "/";
203
205
  if (sBaseUrl) {
204
- this._oBaseUri = new URI(sBaseUrl).absoluteTo(new URI(document.baseURI).search(""));
206
+ this._oBaseUri = new _URL(sBaseUrl, document.baseURI);
205
207
  }
206
208
 
207
209
  // determine the base URL of the manifest or use the component base
208
210
  // as by default the manifest is next to the component controller
209
211
  if (mOptions && typeof mOptions.url === "string") {
210
- this._oManifestBaseUri = new URI(mOptions.url).absoluteTo(new URI(document.baseURI).search("")).search("");
212
+ this._oManifestBaseUri = new _URL(mOptions.url, document.baseURI);
213
+ this._oManifestBaseUri.search = "";
211
214
  } else {
212
215
  this._oManifestBaseUri = this._oBaseUri;
213
216
  }
@@ -281,18 +284,15 @@ sap.ui.define([
281
284
  _loadI18n: function(bAsync) {
282
285
  // extract the i18n URI from the manifest
283
286
  var oManifest = this._oRawManifest,
284
- oI18nURI,
285
287
  // a bundle url given in the "sap.app.i18n" section is by default always resolved relative to the manifest
286
288
  // when using the object syntax for the "sap.app.i18n" section a "bundleRelativeTo" property can be given to change the default
287
289
  sBaseBundleUrlRelativeTo = "manifest",
288
290
  vI18n = (oManifest["sap.app"] && oManifest["sap.app"]["i18n"]) || "i18n/i18n.properties";
289
291
 
290
292
  if (typeof vI18n === "string") {
291
- oI18nURI = new URI(vI18n);
292
-
293
293
  // load the ResourceBundle relative to the manifest
294
294
  return ResourceBundle.create({
295
- url: this.resolveUri(oI18nURI, sBaseBundleUrlRelativeTo),
295
+ url: this.resolveUri(vI18n, sBaseBundleUrlRelativeTo),
296
296
  async: bAsync
297
297
  });
298
298
 
@@ -646,8 +646,8 @@ sap.ui.define([
646
646
  if (mResourceRoots) {
647
647
  for (var sResourceRoot in mResourceRoots) {
648
648
  var sResourceRootPath = mResourceRoots[sResourceRoot];
649
- var oResourceRootURI = new URI(sResourceRootPath);
650
- if (oResourceRootURI.is("absolute") || (oResourceRootURI.path() && oResourceRootURI.path()[0] === "/")) {
649
+ var oResourceRootURI = new _URL(sResourceRootPath);
650
+ if (oResourceRootURI.isAbsolute() || oResourceRootURI.plainUrl?.[0] === "/") {
651
651
  future.errorThrows(`${this.getComponentName()}: Resource root for "${sResourceRoot}" is absolute and therefore won't be registered! "${sResourceRootPath}"`);
652
652
  continue;
653
653
  }
@@ -686,9 +686,10 @@ sap.ui.define([
686
686
  * @since 1.60.1
687
687
  */
688
688
  resolveUri: function(sUri, sRelativeTo) {
689
+ assert(sUri !== undefined && typeof sUri === "string", "'sUri' must be of type 'string'");
689
690
  var oRelativeToBaseUri = sRelativeTo === "manifest" ? this._oManifestBaseUri : this._oBaseUri;
690
691
  var oResultUri = _UrlResolver._resolveUri(sUri, oRelativeToBaseUri);
691
- return oResultUri && oResultUri.toString();
692
+ return oResultUri && oResultUri.sourceUrl;
692
693
  },
693
694
 
694
695
  /**
@@ -829,20 +830,20 @@ sap.ui.define([
829
830
  // or needs to be loaded from a specific client.
830
831
  // If the language or the client is already provided it won't be overridden
831
832
  // as this is expected to be only done by intension.
832
- var oManifestUrl = new URI(sManifestUrl);
833
- if (!oManifestUrl.hasQuery("sap-language")) {
834
- var sValue = Localization.getSAPLogonLanguage();
833
+ var oManifestUrl = new _URL(sManifestUrl);
834
+ if (!oManifestUrl.searchParams.has("sap-language")) {
835
+ const sValue = Localization.getSAPLogonLanguage();
835
836
  if (sValue) {
836
- oManifestUrl.addQuery("sap-language", sValue);
837
+ oManifestUrl.searchParams.set("sap-language", sValue);
837
838
  }
838
839
  }
839
- if (!oManifestUrl.hasQuery("sap-client")) {
840
- var sValue = BaseConfig.get({name: "sapClient", type:BaseConfig.Type.String, external: true});
840
+ if (!oManifestUrl.searchParams.has("sap-client")) {
841
+ const sValue = BaseConfig.get({name: "sapClient", type:BaseConfig.Type.String, external: true});
841
842
  if (sValue) {
842
- oManifestUrl.addQuery("sap-client", sValue);
843
+ oManifestUrl.searchParams.set("sap-client", sValue);
843
844
  }
844
845
  }
845
- sManifestUrl = oManifestUrl.toString();
846
+ sManifestUrl = oManifestUrl.sourceUrl;
846
847
 
847
848
  Log.info("Loading manifest via URL: " + sManifestUrl);
848
849
  if (!bAsync) {
@@ -26,7 +26,7 @@ sap.ui.define(['./Element', './library', "./Theming", "sap/base/Log"],
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.141.2
29
+ * @version 1.143.0
30
30
  *
31
31
  * @public
32
32
  * @alias sap.ui.core.Message
@@ -635,7 +635,7 @@ sap.ui.define([
635
635
  *
636
636
  * If the Popup's OpenState is different from "CLOSED" (i.e. if the Popup is already open, opening or closing), the call is ignored.
637
637
  *
638
- * @param {int} [iDuration=jQuery.fx.speed.fast] animation duration in milliseconds. For <code>iDuration</code> == 0 the opening happens synchronously without animation.
638
+ * @param {int} [iDuration=200] animation duration in milliseconds. For <code>iDuration</code> == 0 the opening happens synchronously without animation.
639
639
  * @param {sap.ui.core.Popup.Dock} [my=sap.ui.core.Popup.Dock.CenterCenter] the popup content's reference position for docking
640
640
  * @param {sap.ui.core.Popup.Dock} [at=sap.ui.core.Popup.Dock.CenterCenter] the "of" element's reference point for docking to
641
641
  * @param {string | sap.ui.core.Element | Element | jQuery | jQuery.Event} [of=document] specifies the reference element to which the given content should dock to
@@ -1013,8 +1013,15 @@ sap.ui.define([
1013
1013
  if (type == "focus") {
1014
1014
  var oDomRef = this._$().get(0);
1015
1015
  if (oDomRef) {
1016
- const oTarget = oEvent.target.shadowRoot ? oEvent.target.shadowRoot.activeElement : oEvent.target;
1017
- bContains = this._contains(oTarget);
1016
+ bContains = this._contains(oEvent.target);
1017
+
1018
+ let oTarget = oEvent.target;
1019
+
1020
+ // also check the shadow dom active element in case the event target has a shadow dom attached
1021
+ while (!bContains && oTarget.shadowRoot && oTarget.shadowRoot.activeElement) {
1022
+ bContains = this._contains(oTarget.shadowRoot.activeElement);
1023
+ oTarget = oTarget.shadowRoot.activeElement;
1024
+ }
1018
1025
 
1019
1026
  Log.debug("focus event on " + oEvent.target.id + ", contains: " + bContains);
1020
1027
 
@@ -1111,7 +1118,7 @@ sap.ui.define([
1111
1118
  * If the Popup is in the process of being opened and closed with an animation duration, the animation will be chained, but this functionality is dangerous,
1112
1119
  * may lead to inconsistent behavior and is thus not recommended and may even be removed.
1113
1120
  *
1114
- * @param {int} [iDuration=jQuery.fx.speed.fast] Animation duration in milliseconds. For <code>iDuration</code> == 0 the closing happens synchronously without animation.
1121
+ * @param {int} [iDuration=200] Animation duration in milliseconds. For <code>iDuration</code> == 0 the closing happens synchronously without animation.
1115
1122
  * @public
1116
1123
  */
1117
1124
  Popup.prototype.close = function(iDuration) {
@@ -2021,8 +2028,8 @@ sap.ui.define([
2021
2028
  * Null values and values < 0 are ignored.
2022
2029
  * A duration of 0 means no animation.
2023
2030
  *
2024
- * @param {int} [iOpenDuration=jQuery.fx.speed.fast] in milliseconds
2025
- * @param {int} [iCloseDuration=jQuery.fx.speed.fast] in milliseconds
2031
+ * @param {int} [iOpenDuration=200] in milliseconds
2032
+ * @param {int} [iCloseDuration=200] in milliseconds
2026
2033
  * @return {this} <code>this</code> to allow method chaining
2027
2034
  * @public
2028
2035
  */
@@ -46,6 +46,8 @@ sap.ui.define([
46
46
  "use strict";
47
47
  /*global SVGElement*/
48
48
 
49
+ const mOwnerInfo = new Map();
50
+
49
51
  var Element;
50
52
 
51
53
  var aCommonMethods = ["renderControl", "cleanupControlWithoutRendering", "accessibilityState", "icon"];
@@ -241,7 +243,7 @@ sap.ui.define([
241
243
  *
242
244
  * @extends Object
243
245
  * @author SAP SE
244
- * @version 1.141.2
246
+ * @version 1.143.0
245
247
  * @alias sap.ui.core.RenderManager
246
248
  * @hideconstructor
247
249
  * @public
@@ -1139,6 +1141,13 @@ sap.ui.define([
1139
1141
  return this;
1140
1142
  }
1141
1143
 
1144
+ if (oControl._sOwnerId && !mOwnerInfo.get(oControl._sOwnerId)) {
1145
+ mOwnerInfo.set(oControl._sOwnerId, Interaction.createOwnerComponentInfo(oControl)?.id);
1146
+ }
1147
+ const sAppComponentId = mOwnerInfo.get(oControl._sOwnerId);
1148
+
1149
+ const fnDone = Interaction.notifyControlRendering?.(sAppComponentId);
1150
+
1142
1151
  var oDomRef, oRenderer;
1143
1152
  var bTriggerBeforeRendering = true;
1144
1153
 
@@ -1230,6 +1239,8 @@ sap.ui.define([
1230
1239
  }
1231
1240
  }
1232
1241
 
1242
+ fnDone?.();
1243
+
1233
1244
  return this;
1234
1245
  };
1235
1246
 
@@ -1568,7 +1579,7 @@ sap.ui.define([
1568
1579
  }
1569
1580
 
1570
1581
  }
1571
- }, fnDone, oTargetDomNode);
1582
+ }, () => {fnDone(); mOwnerInfo.clear();}, oTargetDomNode);
1572
1583
  };
1573
1584
 
1574
1585
  /**
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @classdesc Base Class for a Renderer.
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.141.2
22
+ * @version 1.143.0
23
23
  * @namespace
24
24
  * @public
25
25
  * @alias sap.ui.core.Renderer
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @alias sap.ui.core.ResizeHandler
37
37
  * @extends sap.ui.base.Object
38
38
  * @author SAP SE
39
- * @version 1.141.2
39
+ * @version 1.143.0
40
40
  * @public
41
41
  */
42
42
 
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * The ScrollBar control can be used for virtual scrolling of a certain area.
45
45
  * This means: to simulate a very large scrollable area when technically the area is small and the control takes care of displaying the respective part only. E.g. a Table control can take care of only rendering the currently visible rows and use this ScrollBar control to make the user think he actually scrolls through a long list.
46
46
  * @extends sap.ui.core.Control
47
- * @version 1.141.2
47
+ * @version 1.143.0
48
48
  *
49
49
  * @public
50
50
  * @deprecated As of version 1.56, the concept has been discarded.
@@ -23,7 +23,7 @@ sap.ui.define(['./Item', './library'],
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.141.2
26
+ * @version 1.143.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.SeparatorItem
@@ -25,7 +25,7 @@ sap.ui.define(['./Element', './library'],
25
25
  * @extends sap.ui.core.Element
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.141.2
28
+ * @version 1.143.0
29
29
  *
30
30
  * @public
31
31
  * @since 1.16.0
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @class
33
33
  * Abstract class that can be extended in order to implement any extended tooltip. For example, RichTooltip Control is based on it. It provides the opening/closing behavior and the main "text" property.
34
34
  * @extends sap.ui.core.Control
35
- * @version 1.141.2
35
+ * @version 1.143.0
36
36
  *
37
37
  * @public
38
38
  * @alias sap.ui.core.TooltipBase
@@ -170,7 +170,7 @@ sap.ui.define([
170
170
  *
171
171
  * @extends sap.ui.base.ManagedObject
172
172
  * @author SAP SE
173
- * @version 1.141.2
173
+ * @version 1.143.0
174
174
  * @param {object} [oRootNode] reference to the DOM element that should be 'hosting' the UI Area.
175
175
  * @public
176
176
  * @alias sap.ui.core.UIArea
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * @extends sap.ui.core.Component
68
68
  * @abstract
69
69
  * @author SAP SE
70
- * @version 1.141.2
70
+ * @version 1.143.0
71
71
  * @alias sap.ui.core.UIComponent
72
72
  * @since 1.9.2
73
73
  */
@@ -17,7 +17,7 @@ sap.ui.define(['./ComponentMetadata', 'sap/ui/core/mvc/ViewType'],
17
17
  *
18
18
  * @class
19
19
  * @author SAP SE
20
- * @version 1.141.2
20
+ * @version 1.143.0
21
21
  * @since 1.15.1
22
22
  * @alias sap.ui.core.UIComponentMetadata
23
23
  * @extends sap.ui.core.ComponentMetadata
@@ -16,7 +16,7 @@ sap.ui.define(['./Element', './library', './Lib', "sap/base/assert"],
16
16
  * Helper functionality for value state support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.141.2
19
+ * @version 1.143.0
20
20
  * @public
21
21
  * @namespace sap.ui.core.ValueStateSupport
22
22
  */
@@ -20,7 +20,7 @@ sap.ui.define(['./LayoutData', './library'],
20
20
  * @class
21
21
  * Allows to add multiple LayoutData to one control in case that an easy switch of layouts (e.g. in a Form) is needed.
22
22
  * @extends sap.ui.core.LayoutData
23
- * @version 1.141.2
23
+ * @version 1.143.0
24
24
  *
25
25
  * @public
26
26
  * @since 1.9.2
@@ -148,7 +148,7 @@ sap.ui.define([
148
148
  * @extends sap.ui.core.Control
149
149
  *
150
150
  * @author SAP SE
151
- * @version 1.141.2
151
+ * @version 1.143.0
152
152
  * @since 1.56.0
153
153
  * @alias sap.ui.core.XMLComposite
154
154
  * @see {@link topic:b83a4dcb7d0e46969027345b8d32fd44 XML Composite Controls}
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @param {object} oClassInfo static info to construct the metadata from
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.141.2
32
+ * @version 1.143.0
33
33
  * @since 1.50.0
34
34
  * @alias sap.ui.core.XMLCompositeMetadata
35
35
  * @extends sap.ui.core.ElementMetadata
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/thirdparty/URI"
8
- ], function(URI) {
7
+ "sap/ui/util/_URL"
8
+ ], function(_URL) {
9
9
  "use strict";
10
10
 
11
11
  /**
@@ -35,8 +35,8 @@ sap.ui.define([
35
35
  * @param {object} mBundleConfig Map with bundle config settings
36
36
  * @param {object} mSettings Map with settings for processing the resource configuration
37
37
  * @param {boolean} [mSettings.alreadyResolvedOnRoot=false] Whether the bundleUrl was already resolved (usually by the sap.ui.core.Component)
38
- * @param {URI} mSettings.baseURI The base URI of the Component (usually provided by the sap.ui.core.Component or sap.ui.core.Manifest)
39
- * @param {URI} mSettings.manifestBaseURI The base URI of the manifest (usually provided by the sap.ui.core.Component or sap.ui.core.Manifest)
38
+ * @param {module:sap/ui/util/_URL} mSettings.baseURI The base URI of the Component (usually provided by the sap.ui.core.Component or sap.ui.core.Manifest)
39
+ * @param {module:sap/ui/util/_URL} mSettings.manifestBaseURI The base URI of the manifest (usually provided by the sap.ui.core.Component or sap.ui.core.Manifest)
40
40
  * @param {string} [mSettings.relativeTo="component"] Either "component", "manifest" or a "library path" to which the bundleUrl should be resolved
41
41
  * @private
42
42
  * @ui5-restricted sap.ui.core
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  if (sKey === "bundleUrl" && !bAlreadyResolvedOnRoot) {
62
62
  var sBundleUrl = mBundleConfig[sKey];
63
63
  var oResolvedUri = _UrlResolver._resolveUri(sBundleUrl, vRelativeToURI);
64
- mBundleConfig[sKey] = oResolvedUri && oResolvedUri.toString();
64
+ mBundleConfig[sKey] = oResolvedUri && oResolvedUri.sourceUrl;
65
65
  }
66
66
  if (sKey === "terminologies") {
67
67
  var mTerminologies = mBundleConfig[sKey];
@@ -87,17 +87,14 @@ sap.ui.define([
87
87
  };
88
88
 
89
89
  /**
90
- * Makes sure that we can safely deal with URI instances.
90
+ * Makes sure that we can safely deal with URL instances.
91
91
  * See return value.
92
92
  *
93
- * @param {URI|string|undefined} v either a URI instance, a string value or undefined
94
- * @returns {URI} a URI instance created from the given argument, or the given argument if it is already a URI instance
93
+ * @param {module:sap/ui/util/_URL|string|undefined} v either a URL instance, a string value or undefined
94
+ * @returns {module:sap/ui/util/_URL} a URL instance created from the given argument, or the given argument if it is already a URL instance
95
95
  */
96
- function normalizeToUri(v) {
97
- if (v && v instanceof URI) {
98
- return v;
99
- }
100
- return new URI(v);
96
+ function normalizeToUrl(v) {
97
+ return (v instanceof _URL) ? v : new _URL(v);
101
98
  }
102
99
 
103
100
  /**
@@ -106,34 +103,39 @@ sap.ui.define([
106
103
  * or relative to URL path when passing an URL string as seceond
107
104
  * parameter.
108
105
  *
109
- * @param {URI|string} vUri URI to resolve
110
- * @param {URI|string} [vRelativeToURI] defines to which base URI the given URI will be resolved to.
106
+ * @param {module:sap/ui/util/_URL|string} vUrl URI to resolve
107
+ * @param {module:sap/ui/util/_URL|string} [vRelativeToURL] defines to which base URI the given URI will be resolved to.
111
108
  * Either a string or a URI instance.
112
109
  * Can be a component base URI, a manifest base URI or a library path.
113
- * @return {URI} resolved URI
110
+ * @return {module:sap/ui/util/_URL} resolved URI
114
111
  * @private
115
112
  */
116
- _UrlResolver._resolveUri = function (vUri, vRelativeToURI) {
117
- return _UrlResolver._resolveUriRelativeTo(normalizeToUri(vUri), normalizeToUri(vRelativeToURI));
113
+ _UrlResolver._resolveUri = function (vUrl, vRelativeToURL) {
114
+ return _UrlResolver._resolveUriRelativeTo(normalizeToUrl(vUrl), normalizeToUrl(vRelativeToURL));
118
115
  };
119
116
 
120
117
  /**
121
- * Resolves the given URI relative to the given base URI.
118
+ * Resolves the given URL relative to the given base URL.
122
119
  *
123
- * @param {URI} oUri URI to resolve
124
- * @param {URI} oBase Base URI
125
- * @return {URI} resolved URI
120
+ * @param {module:sap/ui/util/_URL} oUrl URL to resolve
121
+ * @param {module:sap/ui/util/_URL} oBase Base URL
122
+ * @return {module:sap/ui/util/_URL} resolved URL
126
123
  * @static
127
124
  * @private
128
125
  */
129
- _UrlResolver._resolveUriRelativeTo = function(oUri, oBase) {
130
- if (oUri.is("absolute") || (oUri.path() && oUri.path()[0] === "/")) {
131
- return oUri;
126
+ _UrlResolver._resolveUriRelativeTo = function(oUrl, oBase) {
127
+ if (oUrl.isAbsolute() || oUrl.plainUrl?.[0] === "/") {
128
+ return oUrl;
132
129
  }
133
- var oPageBase = new URI(document.baseURI).search("");
134
- oBase = oBase.absoluteTo(oPageBase);
135
- return oUri.absoluteTo(oBase).relativeTo(oPageBase);
130
+ const oPageBase = new _URL(document.baseURI);
131
+
132
+ // Step 1: Resolve oUrl absolute to oBase
133
+ const absoluteUrl = new _URL(oUrl.sourceUrl, oBase.href);
134
+
135
+ // Step 2: Resolve path relative to oPageBase
136
+ const relativePath = absoluteUrl.relativeTo(oPageBase);
137
+ return new _URL(relativePath);
136
138
  };
137
139
 
138
140
  return _UrlResolver;
139
- });
141
+ });
@@ -66,7 +66,7 @@ sap.ui.define([
66
66
  * @hideconstructor
67
67
  * @public
68
68
  * @since 1.111.0
69
- * @version 1.141.2
69
+ * @version 1.143.0
70
70
  */
71
71
  function UI5Date(vDateParts, sTimezoneID) {
72
72
  var oDateInstance = UI5Date._createDateInstance(vDateParts);
@@ -82,7 +82,7 @@ sap.ui.define([
82
82
  * @param {Element[]} aItemDomRefs Array of DOM references representing the items for the navigation
83
83
  * @param {boolean} [bNotInTabChain=false] Whether the selected element should be in the tab chain or not
84
84
  *
85
- * @version 1.141.2
85
+ * @version 1.143.0
86
86
  * @alias sap.ui.core.delegate.ItemNavigation
87
87
  * @public
88
88
  */
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  *
62
62
  * @protected
63
63
  * @alias sap.ui.core.delegate.ScrollEnablement
64
- * @version 1.141.2
64
+ * @version 1.143.0
65
65
  * @author SAP SE
66
66
  */
67
67
  var ScrollEnablement = BaseObject.extend("sap.ui.core.delegate.ScrollEnablement", /** @lends sap.ui.core.delegate.ScrollEnablement.prototype */ {
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  *
38
38
  * @extends sap.ui.core.Element
39
39
  * @author SAP SE
40
- * @version 1.141.2
40
+ * @version 1.143.0
41
41
  *
42
42
  * @public
43
43
  * @since 1.52
@@ -22,7 +22,7 @@ sap.ui.define(["sap/ui/core/Element", "./DragInfo", "./DropInfo", "sap/base/Log"
22
22
  * @extends sap.ui.core.dnd.DropInfo
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.141.2
25
+ * @version 1.143.0
26
26
  *
27
27
  * @public
28
28
  * @since 1.52
@@ -22,7 +22,7 @@ sap.ui.define(["./DragDropBase"],
22
22
  * @extends sap.ui.core.dnd.DragDropBase
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.141.2
25
+ * @version 1.143.0
26
26
  *
27
27
  * @public
28
28
  * @since 1.56
@@ -21,7 +21,7 @@ sap.ui.define(["./DragDropBase"],
21
21
  * @extends sap.ui.core.dnd.DragDropBase
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.141.2
24
+ * @version 1.143.0
25
25
  *
26
26
  * @public
27
27
  * @since 1.56
@@ -11,7 +11,7 @@ sap.ui.define([], function() {
11
11
  * Formatter related utility functions
12
12
  *
13
13
  * @author SAP SE
14
- * @version 1.141.2
14
+ * @version 1.143.0
15
15
  * @namespace
16
16
  * @private
17
17
  */
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  * Static collection of utility functions to handle time zone related conversions.
14
14
  *
15
15
  * @author SAP SE
16
- * @version 1.141.2
16
+ * @version 1.143.0
17
17
  * @namespace
18
18
  * @name module:sap/ui/core/format/TimezoneUtil
19
19
  * @private
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
 
17
17
  const BASE_CVERS = Version("1.14");
18
18
 
19
- const VERSION = "1.141.2";
19
+ const VERSION = "1.143.0";
20
20
 
21
21
  var M_COMPAT_FEATURES = {
22
22
  "xx-test" : "1.15", //for testing purposes only
@@ -401,7 +401,7 @@ sap.ui.define([
401
401
  * @see {@link topic:6322164936f047de941ec522b95d7b70 Hyphenation for Text Controls}
402
402
  * @extends sap.ui.base.ManagedObject
403
403
  * @author SAP SE
404
- * @version 1.141.2
404
+ * @version 1.143.0
405
405
  * @hideconstructor
406
406
  * @public
407
407
  * @since 1.60
@@ -277,7 +277,12 @@ sap.ui.define([
277
277
  const sCacheKey = `${sLibrary}:${sLocale}`;
278
278
 
279
279
  if (oInteractionXMLCache.has(sCacheKey)) {
280
- return oInteractionXMLCache.get(sCacheKey);
280
+ const oCacheResult = oInteractionXMLCache.get(sCacheKey);
281
+ if (oCacheResult === null) {
282
+ Log.debug(`Skipping loading of previously failed interaction XML for library ${sLibrary}, locale ${sLocale}`);
283
+ continue;
284
+ }
285
+ return oCacheResult;
281
286
  }
282
287
 
283
288
  try {
@@ -298,6 +303,10 @@ sap.ui.define([
298
303
  break;
299
304
  }
300
305
  } catch (error) {
306
+ // Cache the failed loading attempt if not already cached
307
+ if (!oInteractionXMLCache.has(sCacheKey)) {
308
+ oInteractionXMLCache.set(sCacheKey, null);
309
+ }
301
310
  Log.error(`Error loading interaction XML for library ${sLibrary}:`, error);
302
311
  }
303
312
  }
@@ -521,7 +530,17 @@ sap.ui.define([
521
530
  localizeKeys,
522
531
  annotateAndTranslateKbdTags,
523
532
  getInteractions,
524
- getCommandInfosFor
533
+ getCommandInfosFor,
534
+ loadInteractionXMLFor,
535
+ hasCacheEntry: (sCacheKey) => {
536
+ return oInteractionXMLCache.has(sCacheKey);
537
+ },
538
+ getInteractionXMLFromCache: (sCacheKey) => {
539
+ return oInteractionXMLCache.get(sCacheKey);
540
+ },
541
+ clearCache: () => {
542
+ oInteractionXMLCache.clear();
543
+ }
525
544
  }
526
545
  };
527
546
  });