@openui5/sap.ui.core 1.138.0 → 1.140.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 (365) hide show
  1. package/README.md +1 -1
  2. package/REUSE.toml +8 -1
  3. package/THIRDPARTY.txt +72 -66
  4. package/package.json +2 -2
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.mobile.js +0 -8
  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 +22 -1
  14. package/src/sap/base/i18n/LanguageFallback.js +18 -2
  15. package/src/sap/base/i18n/LanguageTag.js +11 -5
  16. package/src/sap/base/i18n/Localization.js +36 -9
  17. package/src/sap/base/i18n/ResourceBundle.js +59 -35
  18. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  19. package/src/sap/base/security/URLListValidator.js +7 -3
  20. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  21. package/src/sap/base/util/restricted/_castArray.js +1 -1
  22. package/src/sap/base/util/restricted/_compact.js +1 -1
  23. package/src/sap/base/util/restricted/_curry.js +1 -1
  24. package/src/sap/base/util/restricted/_debounce.js +1 -1
  25. package/src/sap/base/util/restricted/_difference.js +1 -1
  26. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  27. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_flatten.js +1 -1
  32. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  33. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  34. package/src/sap/base/util/restricted/_intersection.js +1 -1
  35. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  36. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  37. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  38. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isNil.js +1 -1
  40. package/src/sap/base/util/restricted/_max.js +1 -1
  41. package/src/sap/base/util/restricted/_merge.js +1 -1
  42. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  43. package/src/sap/base/util/restricted/_min.js +1 -1
  44. package/src/sap/base/util/restricted/_omit.js +1 -1
  45. package/src/sap/base/util/restricted/_pick.js +1 -1
  46. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  47. package/src/sap/base/util/restricted/_throttle.js +1 -1
  48. package/src/sap/base/util/restricted/_toArray.js +1 -1
  49. package/src/sap/base/util/restricted/_union.js +1 -1
  50. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  51. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  52. package/src/sap/base/util/restricted/_uniq.js +1 -1
  53. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  54. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  55. package/src/sap/base/util/restricted/_without.js +1 -1
  56. package/src/sap/base/util/restricted/_xor.js +1 -1
  57. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  58. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  59. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  60. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  61. package/src/sap/ui/Device.js +3 -3
  62. package/src/sap/ui/Global.js +3 -3
  63. package/src/sap/ui/base/BindingInfo.js +6 -1
  64. package/src/sap/ui/base/BindingParser.js +1 -1
  65. package/src/sap/ui/base/DataType.js +27 -2
  66. package/src/sap/ui/base/Event.js +1 -1
  67. package/src/sap/ui/base/EventProvider.js +1 -1
  68. package/src/sap/ui/base/Interface.js +1 -1
  69. package/src/sap/ui/base/ManagedObject.js +49 -12
  70. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  71. package/src/sap/ui/base/Metadata.js +1 -1
  72. package/src/sap/ui/base/Object.js +1 -1
  73. package/src/sap/ui/base/ObjectPool.js +1 -1
  74. package/src/sap/ui/base/OwnStatics.js +49 -0
  75. package/src/sap/ui/core/.library +8 -3
  76. package/src/sap/ui/core/BlockLayerUtils.js +2 -2
  77. package/src/sap/ui/core/BusyIndicator.js +1 -1
  78. package/src/sap/ui/core/Component.js +11 -9
  79. package/src/sap/ui/core/ComponentContainer.js +13 -3
  80. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  81. package/src/sap/ui/core/ComponentSupport.js +1 -1
  82. package/src/sap/ui/core/Configuration.js +1 -1
  83. package/src/sap/ui/core/Control.js +1 -1
  84. package/src/sap/ui/core/Core.js +2 -11
  85. package/src/sap/ui/core/CustomData.js +1 -1
  86. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  87. package/src/sap/ui/core/Element.js +10 -4
  88. package/src/sap/ui/core/ElementMetadata.js +1 -1
  89. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  90. package/src/sap/ui/core/EventBus.js +1 -1
  91. package/src/sap/ui/core/Fragment.js +10 -8
  92. package/src/sap/ui/core/HTML.js +1 -1
  93. package/src/sap/ui/core/History.js +1 -1
  94. package/src/sap/ui/core/Icon.js +1 -1
  95. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  96. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  97. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  98. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  99. package/src/sap/ui/core/InvisibleText.js +1 -1
  100. package/src/sap/ui/core/Item.js +1 -1
  101. package/src/sap/ui/core/LabelEnablement.js +1 -1
  102. package/src/sap/ui/core/LayoutData.js +1 -1
  103. package/src/sap/ui/core/Lib.js +54 -132
  104. package/src/sap/ui/core/ListItem.js +1 -1
  105. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  106. package/src/sap/ui/core/Locale.js +1 -1
  107. package/src/sap/ui/core/LocaleData.js +1 -1
  108. package/src/sap/ui/core/Manifest.js +1 -1
  109. package/src/sap/ui/core/Message.js +1 -1
  110. package/src/sap/ui/core/RenderManager.js +1 -1
  111. package/src/sap/ui/core/Renderer.js +1 -1
  112. package/src/sap/ui/core/ResizeHandler.js +1 -1
  113. package/src/sap/ui/core/ScrollBar.js +1 -1
  114. package/src/sap/ui/core/SeparatorItem.js +1 -1
  115. package/src/sap/ui/core/Theming.js +145 -76
  116. package/src/sap/ui/core/Title.js +1 -1
  117. package/src/sap/ui/core/TooltipBase.js +1 -1
  118. package/src/sap/ui/core/UIArea.js +1 -1
  119. package/src/sap/ui/core/UIComponent.js +6 -2
  120. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  121. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  122. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  123. package/src/sap/ui/core/XMLComposite.js +1 -1
  124. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  125. package/src/sap/ui/core/XMLTemplateProcessor.js +1 -1
  126. package/src/sap/ui/core/date/UI5Date.js +1 -1
  127. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  128. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  129. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  130. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  131. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  132. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  133. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  134. package/src/sap/ui/core/format/NumberFormat.js +44 -20
  135. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  136. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  137. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  138. package/src/sap/ui/core/i18n/interaction_ar.xml +1 -1
  139. package/src/sap/ui/core/interaction/KeyboardInteractionDisplay.js +64 -37
  140. package/src/sap/ui/core/library.js +3 -3
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  142. package/src/sap/ui/core/message/Message.js +1 -1
  143. package/src/sap/ui/core/message/MessageManager.js +1 -1
  144. package/src/sap/ui/core/message/MessageParser.js +1 -1
  145. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  146. package/src/sap/ui/core/messagebundle.properties +58 -28
  147. package/src/sap/ui/core/messagebundle_ar.properties +26 -11
  148. package/src/sap/ui/core/messagebundle_bg.properties +21 -6
  149. package/src/sap/ui/core/messagebundle_ca.properties +24 -9
  150. package/src/sap/ui/core/messagebundle_cnr.properties +25 -10
  151. package/src/sap/ui/core/messagebundle_cs.properties +24 -9
  152. package/src/sap/ui/core/messagebundle_cy.properties +24 -9
  153. package/src/sap/ui/core/messagebundle_da.properties +21 -6
  154. package/src/sap/ui/core/messagebundle_de.properties +16 -1
  155. package/src/sap/ui/core/messagebundle_el.properties +26 -11
  156. package/src/sap/ui/core/messagebundle_en.properties +24 -9
  157. package/src/sap/ui/core/messagebundle_en_GB.properties +24 -9
  158. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +24 -9
  159. package/src/sap/ui/core/messagebundle_es.properties +21 -6
  160. package/src/sap/ui/core/messagebundle_es_MX.properties +24 -9
  161. package/src/sap/ui/core/messagebundle_et.properties +31 -16
  162. package/src/sap/ui/core/messagebundle_fi.properties +22 -7
  163. package/src/sap/ui/core/messagebundle_fr.properties +22 -7
  164. package/src/sap/ui/core/messagebundle_fr_CA.properties +20 -5
  165. package/src/sap/ui/core/messagebundle_hi.properties +24 -9
  166. package/src/sap/ui/core/messagebundle_hr.properties +20 -5
  167. package/src/sap/ui/core/messagebundle_hu.properties +23 -8
  168. package/src/sap/ui/core/messagebundle_id.properties +20 -5
  169. package/src/sap/ui/core/messagebundle_it.properties +23 -8
  170. package/src/sap/ui/core/messagebundle_iw.properties +21 -6
  171. package/src/sap/ui/core/messagebundle_ja.properties +19 -4
  172. package/src/sap/ui/core/messagebundle_kk.properties +25 -10
  173. package/src/sap/ui/core/messagebundle_ko.properties +26 -11
  174. package/src/sap/ui/core/messagebundle_lt.properties +20 -5
  175. package/src/sap/ui/core/messagebundle_lv.properties +22 -7
  176. package/src/sap/ui/core/messagebundle_mk.properties +25 -10
  177. package/src/sap/ui/core/messagebundle_ms.properties +24 -9
  178. package/src/sap/ui/core/messagebundle_nl.properties +22 -7
  179. package/src/sap/ui/core/messagebundle_no.properties +22 -7
  180. package/src/sap/ui/core/messagebundle_pl.properties +19 -4
  181. package/src/sap/ui/core/messagebundle_pt.properties +18 -3
  182. package/src/sap/ui/core/messagebundle_pt_PT.properties +18 -3
  183. package/src/sap/ui/core/messagebundle_ro.properties +24 -9
  184. package/src/sap/ui/core/messagebundle_ru.properties +19 -4
  185. package/src/sap/ui/core/messagebundle_sh.properties +25 -10
  186. package/src/sap/ui/core/messagebundle_sk.properties +24 -9
  187. package/src/sap/ui/core/messagebundle_sl.properties +20 -5
  188. package/src/sap/ui/core/messagebundle_sr.properties +25 -10
  189. package/src/sap/ui/core/messagebundle_sv.properties +23 -8
  190. package/src/sap/ui/core/messagebundle_th.properties +20 -5
  191. package/src/sap/ui/core/messagebundle_tr.properties +20 -5
  192. package/src/sap/ui/core/messagebundle_uk.properties +22 -7
  193. package/src/sap/ui/core/messagebundle_vi.properties +26 -11
  194. package/src/sap/ui/core/messagebundle_zh_CN.properties +24 -9
  195. package/src/sap/ui/core/messagebundle_zh_TW.properties +26 -11
  196. package/src/sap/ui/core/mvc/Controller.js +5 -3
  197. package/src/sap/ui/core/mvc/HTMLView.js +6 -2
  198. package/src/sap/ui/core/mvc/JSONView.js +6 -2
  199. package/src/sap/ui/core/mvc/JSView.js +6 -3
  200. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  201. package/src/sap/ui/core/mvc/View.js +63 -20
  202. package/src/sap/ui/core/mvc/XMLView.js +6 -2
  203. package/src/sap/ui/core/mvc/_ViewFactory.js +8 -4
  204. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  205. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  206. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  207. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  208. package/src/sap/ui/core/routing/Route.js +1 -1
  209. package/src/sap/ui/core/routing/Router.js +19 -1
  210. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  211. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  212. package/src/sap/ui/core/service/Service.js +1 -1
  213. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  214. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  215. package/src/sap/ui/core/support/Plugin.js +1 -1
  216. package/src/sap/ui/core/support/Support.js +1 -1
  217. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  218. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  219. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  220. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  221. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  222. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  223. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  224. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  225. package/src/sap/ui/core/themes/base/base.less +6 -6
  226. package/src/sap/ui/core/themes/base/shared.less +4 -1
  227. package/src/sap/ui/core/themes/base/skeleton.less +3 -3
  228. package/src/sap/ui/core/theming/Parameters.js +717 -755
  229. package/src/sap/ui/core/theming/ThemeHelper.js +0 -77
  230. package/src/sap/ui/core/theming/ThemeManager.js +535 -526
  231. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  232. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  233. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  234. package/src/sap/ui/core/tmpl/Template.js +1 -1
  235. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  236. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  237. package/src/sap/ui/core/util/Export.js +1 -1
  238. package/src/sap/ui/core/util/ExportCell.js +1 -1
  239. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  240. package/src/sap/ui/core/util/ExportRow.js +1 -1
  241. package/src/sap/ui/core/util/ExportType.js +1 -1
  242. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  243. package/src/sap/ui/core/util/File.js +1 -1
  244. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  245. package/src/sap/ui/core/util/MockServer.js +1 -1
  246. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  247. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  248. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  249. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  250. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  251. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  252. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  253. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  254. package/src/sap/ui/core/webc/WebComponent.js +93 -45
  255. package/src/sap/ui/core/webc/WebComponentMetadata.js +40 -6
  256. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  257. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  258. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  259. package/src/sap/ui/debug/ControlTree.js +1 -1
  260. package/src/sap/ui/debug/DebugEnv.js +1 -1
  261. package/src/sap/ui/debug/PropertyList.js +1 -1
  262. package/src/sap/ui/dom/findTabbable.js +1 -1
  263. package/src/sap/ui/dom/includeStylesheet.js +4 -1
  264. package/src/sap/ui/model/ClientModel.js +2 -2
  265. package/src/sap/ui/model/CompositeDataState.js +1 -1
  266. package/src/sap/ui/model/CompositeType.js +1 -1
  267. package/src/sap/ui/model/DataState.js +1 -1
  268. package/src/sap/ui/model/Filter.js +55 -35
  269. package/src/sap/ui/model/FilterOperator.js +79 -9
  270. package/src/sap/ui/model/MetaModel.js +1 -1
  271. package/src/sap/ui/model/Model.js +7 -7
  272. package/src/sap/ui/model/SelectionModel.js +1 -1
  273. package/src/sap/ui/model/SimpleType.js +1 -1
  274. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  275. package/src/sap/ui/model/Type.js +1 -1
  276. package/src/sap/ui/model/json/JSONModel.js +1 -1
  277. package/src/sap/ui/model/json/JSONPropertyBinding.js +14 -2
  278. package/src/sap/ui/model/json/TypedJSONContext.js +16 -0
  279. package/src/sap/ui/model/json/TypedJSONModel.js +16 -0
  280. package/src/sap/ui/model/message/MessageModel.js +1 -1
  281. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  282. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  283. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  284. package/src/sap/ui/model/odata/ODataMetadata.js +4 -4
  285. package/src/sap/ui/model/odata/ODataModel.js +3 -3
  286. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -8
  287. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +2 -2
  288. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  289. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  290. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  291. package/src/sap/ui/model/odata/type/Date.js +1 -1
  292. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  293. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  294. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  295. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  296. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  297. package/src/sap/ui/model/odata/type/Double.js +1 -1
  298. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  299. package/src/sap/ui/model/odata/type/Int.js +1 -1
  300. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  301. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  302. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  303. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  304. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  305. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  306. package/src/sap/ui/model/odata/type/Single.js +1 -1
  307. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  308. package/src/sap/ui/model/odata/type/String.js +1 -1
  309. package/src/sap/ui/model/odata/type/Time.js +1 -1
  310. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  311. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  312. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  313. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +17 -11
  314. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +2 -2
  315. package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
  316. package/src/sap/ui/model/odata/v2/ODataModel.js +44 -61
  317. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +82 -60
  318. package/src/sap/ui/model/odata/v4/Context.js +19 -15
  319. package/src/sap/ui/model/odata/v4/ODataBinding.js +2 -2
  320. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +4 -4
  321. package/src/sap/ui/model/odata/v4/ODataListBinding.js +26 -14
  322. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +38 -23
  323. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
  324. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +34 -7
  325. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  326. package/src/sap/ui/model/odata/v4/ODataUtils.js +2 -2
  327. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  328. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +78 -26
  329. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +10 -7
  330. package/src/sap/ui/model/odata/v4/lib/_Cache.js +32 -27
  331. package/src/sap/ui/model/odata/v4/lib/_Helper.js +50 -32
  332. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  333. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +19 -9
  334. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  335. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  336. package/src/sap/ui/model/type/Boolean.js +1 -1
  337. package/src/sap/ui/model/type/Currency.js +1 -1
  338. package/src/sap/ui/model/type/Date.js +1 -1
  339. package/src/sap/ui/model/type/DateInterval.js +1 -1
  340. package/src/sap/ui/model/type/DateTime.js +1 -1
  341. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  342. package/src/sap/ui/model/type/FileSize.js +1 -1
  343. package/src/sap/ui/model/type/Float.js +1 -1
  344. package/src/sap/ui/model/type/Integer.js +1 -1
  345. package/src/sap/ui/model/type/String.js +1 -1
  346. package/src/sap/ui/model/type/Time.js +1 -1
  347. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  348. package/src/sap/ui/model/type/Unit.js +19 -5
  349. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  350. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -2
  351. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  352. package/src/sap/ui/test/TestUtils.js +27 -15
  353. package/src/sap/ui/test/generic/GenericTestCollection.js +11 -1
  354. package/src/sap/ui/test/generic/TestBase.js +1 -1
  355. package/src/sap/ui/test/generic/Utils.js +6 -6
  356. package/src/sap/ui/test/opaQunit.js +3 -0
  357. package/src/sap/ui/thirdparty/jquery.js +1 -1
  358. package/src/sap/ui/thirdparty/qunit-2.js +4 -1
  359. package/src/sap/ui/util/Mobile.js +0 -9
  360. package/src/sap/ui/util/Storage.js +1 -1
  361. package/src/ui5loader-autoconfig.js +49 -42
  362. package/src/ui5loader.js +1 -1
  363. package/ui5.yaml +0 -1
  364. package/src/sap/ui/base/_runWithOwner.js +0 -43
  365. package/src/sap/ui/core/plugin/LessSupport.js +0 -542
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.model.SimpleType
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.138.0
29
+ * @version 1.140.0
30
30
  *
31
31
  * @public
32
32
  * @param {object} [oFormatOptions]
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.model.SimpleType
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.138.0
28
+ * @version 1.140.0
29
29
  *
30
30
  * @alias sap.ui.model.type.String
31
31
  * @param {object} [oFormatOptions]
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
19
19
  * @extends sap.ui.model.type.Date
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.138.0
22
+ * @version 1.140.0
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
19
19
  * @extends sap.ui.model.type.DateInterval
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.138.0
22
+ * @version 1.140.0
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  *
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.138.0
52
+ * @version 1.140.0
53
53
  *
54
54
  * @public
55
55
  * @param {object} [oFormatOptions]
@@ -61,9 +61,16 @@ sap.ui.define([
61
61
  * {@link sap.ui.model.Binding#supportsIgnoreMessages}, and the corresponding binding
62
62
  * parameter is not set manually.
63
63
  * @param {object} [oFormatOptions.decimals]
64
- * The number of decimals to be used for formatting the number part of the unit; defaults to <b>3</b> if none of
65
- * the format options <code>maxFractionDigits</code>, <code>minFractionDigits</code> or <code>decimals</code>
66
- * is given
64
+ * The number of decimals to be used for formatting the numerical value of the unit composite type; if none of the
65
+ * format options <code>maxFractionDigits</code>, <code>minFractionDigits</code> or <code>decimals</code> are
66
+ * given, the following defaults apply:
67
+ * <ul>
68
+ * <li> <b>0</b> if the numerical value is of an OData integer type, i.e. {@link sap.ui.model.odata.type.Int}
69
+ * or {@link sap.ui.model.odata.type.Int64} </li>
70
+ * <li> the <b>scale constraint of the numerical value's type</b> if this type is
71
+ * {@link sap.ui.model.odata.type.Decimal} and the scale is not "variable" </li>
72
+ * <li> <b>3</b> otherwise </li>
73
+ * </ul>
67
74
  * @param {boolean} [oFormatOptions.preserveDecimals=true]
68
75
  * By default decimals are preserved, unless <code>oFormatOptions.style</code> is given as
69
76
  * "short" or "long"; since 1.89.0
@@ -324,9 +331,16 @@ sap.ui.define([
324
331
  * @since 1.120.0
325
332
  */
326
333
  Unit.prototype.processPartTypes = function (aPartTypes) {
334
+ this.iScale = undefined; // type of quantity binding part may be changed => reset scale
327
335
  const oQuantityType = aPartTypes[0];
336
+ if (oQuantityType?.isA(["sap.ui.model.odata.type.Int", "sap.ui.model.odata.type.Int64"])) {
337
+ this.iScale = 0;
338
+ }
328
339
  if (oQuantityType?.isA("sap.ui.model.odata.type.Decimal")) {
329
- this.iScale = oQuantityType.oConstraints?.scale || 0;
340
+ const iScale = oQuantityType.oConstraints?.scale;
341
+ if (iScale !== Infinity) { // like in Decimal type, do not propagate scale "variable" to formatter
342
+ this.iScale = iScale || 0;
343
+ }
330
344
  }
331
345
  };
332
346
 
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.model.ClientModel
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.138.0
50
+ * @version 1.140.0
51
51
  *
52
52
  * @param {XMLDocument|string} oData
53
53
  * Either the URL where to load the XML from or an XML document
@@ -53,7 +53,7 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo", "sap/ui/core/Lib"],
53
53
  * @namespace
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.138.0
56
+ * @version 1.140.0
57
57
  *
58
58
  * @public
59
59
  * @since 1.48.0
@@ -63,7 +63,6 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo", "sap/ui/core/Lib"],
63
63
 
64
64
  var aControlsThatCannotBeRenderedGenerically = [
65
65
  "sap.chart.Chart",
66
- "sap.m.ColumnHeaderPopover",
67
66
  "sap.m.FacetFilterItem",
68
67
  "sap.m.internal.NumericInput",
69
68
  "sap.m.IconTabBarSelectList",
@@ -30,7 +30,7 @@ sap.ui.define([ 'sap/ui/core/ElementRegistry', 'sap/ui/core/Control', "sap/ui/qu
30
30
  * @namespace
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.138.0
33
+ * @version 1.140.0
34
34
  *
35
35
  * @public
36
36
  * @since 1.48.0
@@ -19,6 +19,7 @@ sap.ui.define([
19
19
 
20
20
  var rBatch = /\/\$batch($|\?)/,
21
21
  rContentId = /(?:^|\r\n)Content-Id\s*:\s*(\S+)/i,
22
+ rContentIdReference = / \$([^ ?\/]+)/,
22
23
  rEndsWithJSON = /\.json$/i,
23
24
  rEndsWithXML = /\.xml$/i,
24
25
  rHeaderLine = /^(.*)?:\s*(.*)$/,
@@ -445,13 +446,14 @@ sap.ui.define([
445
446
  * extension unless specified. This has precedence over <code>message</code>.
446
447
  * </ul>
447
448
  * @param {object[]} [aRegExps]
448
- * An array containing regular expressions in the regExp property and the corresponding
449
- * response(s) objects in the response property. If no match for a request was found in
450
- * the normal fixture, the regular expressions are checked. The response object looks
451
- * exactly the same as in the fixture and may additionally contain a method
452
- * <code>buildResponse(aMatch, oResponse, oRequest)</code> which gets passed the match
453
- * object, the response, and the request in order to allow modification of the response
454
- * before sending.
449
+ * An array containing regular expressions in the regExp property and the corresponding
450
+ * response(s) objects in the response property. If no match for a request was found in
451
+ * the normal fixture, the regular expressions are checked. The response object looks
452
+ * exactly the same as in the fixture and may additionally contain a method
453
+ * <code>buildResponse(aMatch, oResponse, oRequest, sReferencedMessage)</code> which gets
454
+ * passed the match object, the response, the request, and optionally the referenced
455
+ * response message in case of Content-ID referencing in order to allow modification of
456
+ * the response before sending.
455
457
  * @param {string} [sServiceUrl]
456
458
  * The service URL which determines a prefix for all requests the fake server responds to;
457
459
  * it responds with an error for requests not given in the fixture, except DELETE, MERGE,
@@ -689,9 +691,11 @@ sap.ui.define([
689
691
  * @param {boolean} [bTry]
690
692
  * Whether to do nothing and return <code>undefined</code> if no fixture matches; also
691
693
  * prevents defaulting for non-GET requests
694
+ * @param {object} [mContentId2Response]
695
+ * A map which refers a content ID to a response message while processing a batch
692
696
  * @returns {object|undefined} The response object or <code>undefined</code>
693
697
  */
694
- function getResponseFromFixture(oRequest, sContentId, bTry) {
698
+ function getResponseFromFixture(oRequest, sContentId, bTry, mContentId2Response) {
695
699
  var iAlternative,
696
700
  oMatch = getMatchingResponse(oRequest.method, oRequest.url),
697
701
  oResponse,
@@ -708,7 +712,13 @@ sap.ui.define([
708
712
  if (typeof oResponse.buildResponse === "function") {
709
713
  oResponse = merge({}, oResponse);
710
714
  try {
711
- oResponse.buildResponse(oMatch.match, oResponse, oRequest);
715
+ const aMatches = rContentIdReference.exec(oRequest.requestLine);
716
+ let sReferencedMessage;
717
+ if (aMatches) {
718
+ sReferencedMessage = mContentId2Response[aMatches[1]];
719
+ }
720
+ oResponse.buildResponse(oMatch.match, oResponse, oRequest,
721
+ sReferencedMessage);
712
722
  } catch (oError) {
713
723
  oResponse = error(500, oRequest, oError);
714
724
  }
@@ -758,6 +768,9 @@ sap.ui.define([
758
768
  oResponse.headers = jQuery.extend({}, getODataHeaders(oRequest), oResponse.headers);
759
769
  if (sContentId && oResponse.code < 300) {
760
770
  oResponse.contentId = sContentId;
771
+ if (mContentId2Response) {
772
+ mContentId2Response[sContentId] = oResponse.message;
773
+ }
761
774
  }
762
775
  return oResponse;
763
776
  }
@@ -767,14 +780,13 @@ sap.ui.define([
767
780
  *
768
781
  * @param {string} sServiceBase The service base URL
769
782
  * @param {string} sBody The body
783
+ * @param {object} [oBatch] allows to keep state while processing a batch
770
784
  * @returns {object} An object with the properties boundary and parts
771
785
  */
772
- function multipart(sServiceBase, sBody) {
773
- var sBoundary;
774
-
786
+ function multipart(sServiceBase, sBody, oBatch = {}) {
775
787
  // skip preamble consisting of whitespace (as sent by datajs)
776
788
  sBody = sBody.replace(/^\s+/, "");
777
- sBoundary = firstLine(sBody);
789
+ const sBoundary = firstLine(sBody);
778
790
  return {
779
791
  boundary : firstLine(sBody).slice(2),
780
792
  parts : sBody.split(sBoundary).slice(1, -1).map(function (sRequestPart) {
@@ -784,7 +796,7 @@ sap.ui.define([
784
796
  sFirstLine = firstLine(sRequestPart);
785
797
  if (rMultipartHeader.test(sFirstLine)) {
786
798
  oMultipart = multipart(sServiceBase,
787
- sRequestPart.slice(sFirstLine.length + 4));
799
+ sRequestPart.slice(sFirstLine.length + 4), oBatch);
788
800
  aFailures = oMultipart.parts.filter(function (oPart) {
789
801
  return oPart.code >= 300;
790
802
  });
@@ -793,7 +805,7 @@ sap.ui.define([
793
805
  iRequestStart = sRequestPart.indexOf("\r\n\r\n") + 4;
794
806
  oRequest = parseRequest(sServiceBase, sRequestPart.slice(iRequestStart));
795
807
  aMatch = rContentId.exec(sRequestPart.slice(0, iRequestStart));
796
- return getResponseFromFixture(oRequest, aMatch && aMatch[1]);
808
+ return getResponseFromFixture(oRequest, aMatch && aMatch[1], false, oBatch);
797
809
  })
798
810
  };
799
811
  }
@@ -97,6 +97,13 @@ sap.ui.define([], function() {
97
97
  */
98
98
  ControlMemoryLeaks: "ControlMemoryLeaks",
99
99
 
100
+ /**
101
+ * Test ControlInstances
102
+ * @private
103
+ * @ui5-restricted SAPUI5 Distribution Layer Libraries
104
+ */
105
+ ControlInstances: "ControlInstances",
106
+
100
107
  /**
101
108
  * Test ControlRenderer
102
109
  * @private
@@ -159,6 +166,9 @@ sap.ui.define([], function() {
159
166
  ControlMemoryLeaks: {
160
167
  title: "QUnit Page for memory leak detection in UI5 controls"
161
168
  },
169
+ ControlInstances: {
170
+ title: "QUnit Page for detecting excessive control instance creation"
171
+ },
162
172
  /**
163
173
  * @deprecated As of 1.120
164
174
  * sap.ui.requireSync is deprecated, therefore it's not needed to test that no sync request is sent
@@ -171,7 +181,7 @@ sap.ui.define([], function() {
171
181
  title: "QUnit Page for duplicate ID issues detection in UI5 controls"
172
182
  },
173
183
  SettersContextReturn: {
174
- title: "All setters should return correct context (Reason: https://github.com/SAP/openui5/blob/master/docs/guidelines.md#creating-classes)"
184
+ title: "All setters should return correct context (Reason: https://github.com/UI5/openui5/blob/master/docs/guidelines.md#creating-classes)"
175
185
  },
176
186
  EnforceSemanticRendering: {
177
187
  title: "QUnit Page for Semantic Rendering Coverage"
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.base.Object
27
27
  * @abstract
28
28
  * @author SAP SE
29
- * @version 1.138.0
29
+ * @version 1.140.0
30
30
  * @since 1.100
31
31
  */
32
32
  return BaseObject.extend("sap.ui.test.generic.TestBase", {
@@ -150,13 +150,13 @@ sap.ui.define([
150
150
  * @param {sap.ui.test.generic.GenericTestCollection.ObjectCapabilities} oObjectCapabilities The capabilities of the corresponding control
151
151
  */
152
152
  fillControlProperties: function(oControl, oObjectCapabilities) {
153
- var mProperties = oControl.getMetadata().getAllProperties(),
154
- mPropertyCapabilities = oObjectCapabilities && oObjectCapabilities.properties || {},
155
- vValueToSet = "test"; // just try a string as default, with some frequently happening exceptions
153
+ const mProperties = oControl.getMetadata().getAllProperties();
154
+ const mPropertyCapabilities = oObjectCapabilities && oObjectCapabilities.properties || {};
155
+ let vValueToSet = "test"; // just try a string as default, with some frequently happening exceptions
156
156
 
157
- for (var sPropertyName in mProperties) {
158
- var oProperty = mProperties[sPropertyName],
159
- sPropertyCapability;
157
+ for (const sPropertyName in mProperties) {
158
+ const oProperty = mProperties[sPropertyName];
159
+ let sPropertyCapability;
160
160
 
161
161
  // Check if property should be skipped because of known issues or if a specific value should be used for setting the property
162
162
  if (mPropertyCapabilities[sPropertyName]) {
@@ -193,6 +193,9 @@ sap.ui.define([
193
193
  }
194
194
  }
195
195
 
196
+ opaTest.skip = opaSkip;
197
+ opaTest.todo = QUnit.todo ? opaTodo : opaTest;
198
+
196
199
  // configure QUnit, modify test callback to include OPA start, and enqueue the test with QUnit
197
200
  function callQUnit(sQUnitFn, aArgs, fnDone, fnFail) {
198
201
  configQUnit();
@@ -6256,7 +6256,7 @@ if (/(?:\?|&)sap-ui-xx-self-closing-check=(?:x|X|true)/.exec(window.location.sea
6256
6256
  if ( rNonVoidHtml5Tags.test($2) && $0.length < html.length ) {
6257
6257
  var replacement = "<" + $1 + "></" + $2 + ">";
6258
6258
  var noteUrl = "https://launchpad.support.sap.com/#/notes/2944336";
6259
- var gitHubUrl = "https://github.com/SAP/openui5/blob/master/docs/self_closing_tags_fix_instructions.md";
6259
+ var gitHubUrl = "https://github.com/UI5/openui5/blob/master/docs/self_closing_tags_fix_instructions.md";
6260
6260
  var errorMessage = "jQuery incompatibility: non-void HTML tags must not use self-closing syntax.\n"
6261
6261
  + "HTML element used as self-closing tag: <" + $1 + "/>\n"
6262
6262
  + "HTML element should be closed correctly, such as: " + replacement + "\n"
@@ -2739,7 +2739,10 @@
2739
2739
  started: 0,
2740
2740
  updateRate: 1000,
2741
2741
  autostart: true,
2742
- filter: ""
2742
+ filter: "",
2743
+ //### BEGIN MODIFIED BY SAP
2744
+ testTimeout: 30000
2745
+ //### END MODIFIED BY SAP
2743
2746
  }, true);
2744
2747
 
2745
2748
  if (!runStarted) {
@@ -54,16 +54,12 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
54
54
  * <li>viewport: whether to set the viewport in a way that disables zooming (default: true). This does not
55
55
  * work in case there is already a meta tag with name 'viewport'.</li>
56
56
  * <li>statusBar: the iOS status bar color, "default", "black" or "black-translucent" (default: "default")</li>
57
- * <li>hideBrowser: whether the browser UI should be hidden as far as possible to make the app feel more native
58
- * (default: true)</li>
59
57
  * <li>preventScroll: whether native scrolling should be disabled in order to prevent the "rubber-band" effect
60
58
  * where the whole window is moved (default: true)</li>
61
59
  * <li>preventPhoneNumberDetection: whether Safari Mobile should be prevented from transforming any numbers
62
60
  * that look like phone numbers into clickable links; this should be left as "true", otherwise it might break
63
61
  * controls because Safari actually changes the DOM. This only affects all page content which is created after
64
62
  * init() is called and only in case there is not already a meta tag with name 'format-detection'.</li>
65
- * <li>rootId: the ID of the root element that should be made fullscreen; only used when hideBrowser is set
66
- * (default: the document.body)</li>
67
63
  * <li>useFullScreenHeight: a boolean that defines whether the height of the html root element should be set to
68
64
  * 100%, which is required for other elements to cover the full height (default: true)</li>
69
65
  * <li>homeIcon: deprecated since 1.12, use sap/ui/util/Mobile.setIcons instead.
@@ -73,14 +69,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
73
69
  * @param {boolean} [options.viewport=true] whether to set the viewport in a way that disables zooming
74
70
  * @param {string} [options.statusBar='default'] the iOS status bar color, "default", "black" or
75
71
  * "black-translucent"
76
- * @param {boolean} [options.hideBrowser=true] whether the browser UI should be hidden as far as possible to
77
- * make the app feel more native
78
72
  * @param {boolean} [options.preventScroll=true] whether native scrolling should be disabled in order to
79
73
  * prevent the "rubber-band" effect where the whole window is moved
80
74
  * @param {boolean} [options.preventPhoneNumberDetection=true] whether Safari mobile should be prevented from
81
75
  * transforming any numbers that look like phone numbers into clickable links
82
- * @param {string} [options.rootId] the ID of the root element that should be made fullscreen; only used when
83
- * hideBrowser is set. If not set, the body is used
84
76
  * @param {boolean} [options.useFullScreenHeight=true] whether the height of the html root element should be
85
77
  * set to 100%, which is required for other elements to cover the full height
86
78
  * @param {string} [options.homeIcon=undefined] deprecated since 1.12, use sap/ui/util/Mobile.setIcons instead.
@@ -100,7 +92,6 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/
100
92
  options = extend({}, { // merge in the default values
101
93
  viewport: true,
102
94
  statusBar: "default",
103
- hideBrowser: true,
104
95
  preventScroll: true,
105
96
  preventPhoneNumberDetection: true,
106
97
  useFullScreenHeight: true,
@@ -277,7 +277,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
277
277
  *
278
278
  * @enum {string}
279
279
  * @public
280
- * @version 1.138.0
280
+ * @version 1.140.0
281
281
  */
282
282
  Storage.Type = {
283
283
  /**
@@ -516,6 +516,14 @@
516
516
  return oClone;
517
517
  }
518
518
 
519
+ function getCachedValue(sCacheKey, mOptions) {
520
+ var vCachedValue = mCache[sCacheKey];
521
+ if (mOptions.type === TypeEnum.StringArray || mOptions.type === TypeEnum.Object || mOptions.type === TypeEnum.MergedObject) {
522
+ vCachedValue = deepClone(vCachedValue);
523
+ }
524
+ return vCachedValue;
525
+ }
526
+
519
527
  /** Register a new Configuration provider
520
528
  *
521
529
  * @name module:sap/base/config.registerProvider
@@ -527,7 +535,7 @@
527
535
  function registerProvider(oProvider) {
528
536
  if (aProvider.indexOf(oProvider) === -1) {
529
537
  aProvider.push(oProvider);
530
- invalidate();
538
+ Configuration._.invalidate();
531
539
  bGlobalIgnoreExternal = get(mUrlParamOptions);
532
540
  }
533
541
  }
@@ -663,59 +671,58 @@
663
671
  * @returns {any} Value of the configuration parameter
664
672
  * @throws {TypeError} Throws an error if the given parameter name does not match the definition.
665
673
  * @private
666
- * @ui5-restricted sap.ui.core, sap.fl, sap.ui.intergration, sap.ui.export
674
+ * @ui5-restricted sap.ui.core, sap.fl, sap.ui.integration, sap.ui.export
667
675
  */
668
676
  function get(mOptions) {
677
+ var sCacheKey = mOptions.name;
678
+ if (mOptions.provider) {
679
+ sCacheKey += "-" + mOptions.provider.getId();
680
+ }
681
+ if (sCacheKey in mCache) {
682
+ return getCachedValue(sCacheKey, mOptions);
683
+ }
684
+
669
685
  if (typeof mOptions.name !== "string" || !rValidKey.test(mOptions.name)) {
670
686
  throw new TypeError(
671
687
  "Invalid configuration key '" + mOptions.name + "'!"
672
688
  );
673
689
  }
674
- var sCacheKey = mOptions.name;
675
- if (mOptions.provider) {
676
- sCacheKey += "-" + mOptions.provider.getId();
677
- }
678
- if (!(sCacheKey in mCache)) {
679
- mOptions = Object.assign({}, mOptions);
680
- var vValue;
681
-
682
- var bIgnoreExternal = bGlobalIgnoreExternal || !mOptions.external;
683
- var sName = mOptions.name;
684
- var vMatch = sName.match(rXXAlias);
685
- var vDefaultValue = mOptions.hasOwnProperty("defaultValue") ? mOptions.defaultValue : mInternalDefaultValues[mOptions.type];
686
-
687
- const aAllProvider = [...aProvider, ...(mOptions.provider ? [mOptions.provider] : [])];
688
-
689
- for (var i = aAllProvider.length - 1; i >= 0; i--) {
690
- if (!aAllProvider[i].external || !bIgnoreExternal) {
691
- const vProviderValue = convertToType(aAllProvider[i].get(sName, mOptions.freeze), mOptions.type, mOptions.name);
692
- if (vProviderValue !== undefined) {
693
- if (mOptions.type === TypeEnum.MergedObject) {
694
- vValue = Object.assign({}, vProviderValue, vValue);
695
- } else {
696
- vValue = vProviderValue;
697
- break;
698
- }
690
+
691
+ mOptions = Object.assign({}, mOptions);
692
+ var vValue;
693
+
694
+ var bIgnoreExternal = bGlobalIgnoreExternal || !mOptions.external;
695
+ var sName = mOptions.name;
696
+ var vMatch = sName.match(rXXAlias);
697
+ var vDefaultValue = mOptions.hasOwnProperty("defaultValue") ? mOptions.defaultValue : mInternalDefaultValues[mOptions.type];
698
+
699
+ const aAllProvider = [...aProvider, ...(mOptions.provider ? [mOptions.provider] : [])];
700
+
701
+ for (var i = aAllProvider.length - 1; i >= 0; i--) {
702
+ if (!aAllProvider[i].external || !bIgnoreExternal) {
703
+ const vProviderValue = convertToType(aAllProvider[i].get(sName, mOptions.freeze), mOptions.type, mOptions.name);
704
+ if (vProviderValue !== undefined) {
705
+ if (mOptions.type === TypeEnum.MergedObject) {
706
+ vValue = Object.assign({}, vProviderValue, vValue);
707
+ } else {
708
+ vValue = vProviderValue;
709
+ break;
699
710
  }
700
711
  }
701
712
  }
702
- if (vValue === undefined && (vMatch && vMatch[1] === "sapUi")) {
703
- mOptions.name = vMatch[1] + "Xx" + vMatch[2];
704
- vValue = get(mOptions);
705
- }
706
- if (vValue === undefined) {
707
- if (typeof vDefaultValue === 'function') {
708
- vDefaultValue = vDefaultValue();
709
- }
710
- vValue = vDefaultValue;
711
- }
712
- mCache[sCacheKey] = vValue;
713
713
  }
714
- var vCachedValue = mCache[sCacheKey];
715
- if (typeof mOptions.type !== 'function' && (mOptions.type === TypeEnum.StringArray || mOptions.type === TypeEnum.Object || mOptions.type === TypeEnum.MergedObject)) {
716
- vCachedValue = deepClone(vCachedValue);
714
+ if (vValue === undefined && (vMatch && vMatch[1] === "sapUi")) {
715
+ mOptions.name = vMatch[1] + "Xx" + vMatch[2];
716
+ vValue = get(mOptions);
717
717
  }
718
- return vCachedValue;
718
+ if (vValue === undefined) {
719
+ if (typeof vDefaultValue === 'function') {
720
+ vDefaultValue = vDefaultValue();
721
+ }
722
+ vValue = vDefaultValue;
723
+ }
724
+ mCache[sCacheKey] = vValue;
725
+ return getCachedValue(sCacheKey, mOptions);
719
726
  }
720
727
 
721
728
  function invalidate() {
package/src/ui5loader.js CHANGED
@@ -2696,7 +2696,7 @@
2696
2696
  /**
2697
2697
  * Root namespace for JavaScript functionality provided by SAP SE.
2698
2698
  *
2699
- * @version 1.138.0
2699
+ * @version 1.140.0
2700
2700
  * @namespace
2701
2701
  * @public
2702
2702
  * @name sap
package/ui5.yaml CHANGED
@@ -72,7 +72,6 @@ builder:
72
72
 
73
73
  # core plugins, shouldn't be packaged by default
74
74
  - "!sap/ui/core/plugin/DeclarativeSupport.js"
75
- - "!sap/ui/core/plugin/LessSupport.js"
76
75
 
77
76
  # CLDR files must not be packaged
78
77
  - "!sap/ui/core/cldr/"
@@ -1,43 +0,0 @@
1
- /*!
2
- * OpenUI5
3
- * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
- * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
6
- sap.ui.define([
7
- "sap/base/assert"
8
- ], function(
9
- assert
10
- ) {
11
-
12
- "use strict";
13
-
14
- let _sOwnerId;
15
-
16
- /**
17
- * Calls the function <code>fn</code> once and marks all ManagedObjects
18
- * created during that call as "owned" by the given ID.
19
- *
20
- * @param {function} fn Function to execute
21
- * @param {string} sOwnerId Id of the owner
22
- * @param {Object} [oThisArg=undefined] Value to use as <code>this</code> when executing <code>fn</code>
23
- * @return {any} result of function <code>fn</code>
24
- * @private
25
- * @ui5-restricted sap.ui.core
26
- */
27
- const runWithOwner = function(fn, sOwnerId, oThisArg) {
28
-
29
- assert(typeof fn === "function", "fn must be a function");
30
-
31
- var oldOwnerId = _sOwnerId;
32
- try {
33
- _sOwnerId = sOwnerId;
34
- return fn.call(oThisArg);
35
- } finally {
36
- _sOwnerId = oldOwnerId;
37
- }
38
- };
39
-
40
- runWithOwner.getCurrentOwnerId = () => { return _sOwnerId; };
41
-
42
- return runWithOwner;
43
- });