@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
@@ -1,542 +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
-
7
- /**
8
- * FEATURE TO INCREASE DEVELOPMENT EXPERIENCE! NO PRODUCTIVE USAGE ALLOWED!
9
- * @fileoverview
10
- * @deprecated As of version 1.120
11
- */
12
- (function() {
13
- "use strict";
14
-
15
- /**
16
- * wraps the definition of the LessSupport in order to be able to delay
17
- * the definition until the body is loaded and sap.ui.define is available
18
- */
19
- function defineLessSupport() {
20
-
21
- // Provides class sap.ui.core.plugin.LessSupport
22
- sap.ui.define('sap/ui/core/plugin/LessSupport', [
23
- 'sap/ui/thirdparty/jquery',
24
- 'sap/ui/core/theming/ThemeManager',
25
- 'sap/ui/core/theming/ThemeHelper',
26
- 'sap/ui/core/Theming',
27
- 'sap/base/config',
28
- 'sap/base/Log',
29
- 'sap/base/util/syncFetch',
30
- 'sap/ui/core/Core' // provides sap.ui.getCore()
31
- ], function(jQuery, ThemeManager, ThemeHelper, Theming, BaseConfig, Log, syncFetch) {
32
-
33
- var LESS_FILENAME = "library.source";
34
- var CSS_FILENAME = "library";
35
- var fnOrigIncludeLibraryTheme;
36
- var fnOrigApplyTheme;
37
-
38
- /**
39
- * Creates an instance of the class <code>sap.ui.core.plugin.LessSupport</code>
40
- *
41
- * @class Core plugin for the enabling less support for SAPUI5 which can be
42
- * used for development scenarios to avoid the generation of the CSS
43
- * files (increases the dev experience!). This is an experimental
44
- * feature - DO NOT USE IN PRODUCTIVE SCENARIOS!!
45
- *
46
- * @author Peter Muessig
47
- * @version 1.138.0
48
- * @private
49
- * @alias sap.ui.core.plugin.LessSupport
50
- */
51
- var LessSupport = function() {
52
- };
53
-
54
- /**
55
- * Will be invoked by <code>sap.ui.core.Core</code> to notify the plugin to start.
56
- *
57
- * @param {sap.ui.core.Core} oCore reference to the Core
58
- * @param {boolean} [bOnInit] whether the hook is called during core initialization
59
- * @public
60
- */
61
- LessSupport.prototype.startPlugin = function(oCore, bOnInit) {
62
-
63
- Log.info("Starting LessSupport plugin.");
64
- Log.warning(" NOT FOR PRODUCTIVE USAGE! LessSupport is an experimental feature which might change in future!");
65
-
66
- // get the URI parameters
67
- var bNoLess = BaseConfig.get({name: "sapUiXxNoless", type: BaseConfig.Type.Boolean, defaultValue: true, external: true});
68
-
69
- this.oCore = oCore;
70
-
71
- // LessSupport is disabled for the testrunner
72
- try {
73
- if (!bNoLess && (window.top.JsUnit || (window.sap.ui.test && window.sap.ui.test.qunit))) {
74
- Log.info(" LessSupport has been deactivated for JSUnit Testrunner or QUnit.");
75
- return;
76
- }
77
- } catch (oExp) {
78
- // In a domain relaxation scenario, it is possible, that the browser prevents access to window.top.*, and a SecurityError is thrown.
79
- // The Testrunner check fails in this case and we can assume a multi-frame scenario with different document.domain settings.
80
- }
81
-
82
- // check the URI parameters to disable LessSupport
83
- if (bNoLess) {
84
- Log.info(" LessSupport has been deactivated by URL parameter.");
85
- return;
86
- } else {
87
- Log.info(" LessSupport can be deactivated by adding the following parameter to your URL: \"sap-ui-xx-noless=X\".");
88
- }
89
-
90
- // configure LESS (development mode + error handling)
91
- window.less = window.less || {
92
- env: "development",
93
- relativeUrls: true,
94
- errorReporting: function(sMethod, ex, sRootHref) {
95
- /*eslint-disable no-console */
96
- if (sMethod === "add" && window.console) {
97
- window.console.error("Failed to parse: " + sRootHref, ex);
98
- }
99
- /*eslint-enable no-console */
100
- }
101
- };
102
-
103
- // include LESS
104
- sap.ui.requireSync("sap/ui/thirdparty/less");
105
-
106
- this.bActive = true;
107
-
108
- // overwrite the includeLibraryTheme/applyTheme function to inject LESS
109
- fnOrigIncludeLibraryTheme = ThemeManager.includeLibraryTheme;
110
- fnOrigApplyTheme = oCore.applyTheme;
111
- ThemeManager.includeLibraryTheme = this.includeLibraryTheme.bind(this);
112
- oCore.applyTheme = this.applyTheme.bind(this);
113
-
114
- // update the themes (only when LESS files are newer than the CSS files)
115
- var that = this, bUseLess = false;
116
- var aLibs = [];
117
- jQuery("link[id^=sap-ui-theme-]").each(function() {
118
- var _bUseLess = that.initLink(this);
119
- bUseLess = _bUseLess || bUseLess;
120
- if (_bUseLess){
121
- aLibs.push(this.id.substr(13)); // length of "sap-ui-theme-"
122
- }
123
- });
124
-
125
- // refresh less styles or remove notifier
126
- this.refreshLess(bUseLess);
127
-
128
- // notify that the theme has been changed!
129
-
130
- var counter = 0;
131
-
132
- function checkThemeApplied(){
133
- var ok = true;
134
- var check;
135
- for (var i = 0; i < aLibs.length; i++) {
136
- check = ThemeHelper.checkAndRemoveStyle({ prefix: "less:", id: aLibs[i] });
137
- if (check) {
138
- jQuery(document.getElementById("sap-ui-theme-" + aLibs[i])).attr("data-sap-ui-ready", "true");
139
- }
140
- ok = ok && check;
141
- }
142
-
143
- counter++;
144
- if (counter > 100) {
145
- ok = true;
146
- Log.warning("LessSupport: Max theme check cycles reached.");
147
- }
148
-
149
- if (ok) {
150
- ThemeManager.themeLoaded = true;
151
- setTimeout(function () {
152
- ThemeManager.fireThemeApplied({theme: Theming.getTheme()});
153
- }, 0);
154
- } else {
155
- that.iCheckThemeAppliedTimeout = setTimeout(checkThemeApplied, 100);
156
- }
157
- }
158
-
159
- if (bUseLess) {
160
- this.iCheckThemeAppliedTimeout = setTimeout(checkThemeApplied, 100);
161
- }
162
-
163
- };
164
-
165
- /**
166
- * Will be invoked by <code>sap.ui.core.Core</code> to notify the plugin to start
167
- * @public
168
- */
169
- LessSupport.prototype.stopPlugin = function() {
170
- Log.info("Stopping LessSupport plugin.");
171
- if (this.bActive) {
172
- // clear delayed call for theme-check
173
- clearTimeout(this.iCheckThemeAppliedTimeout);
174
- delete this.iCheckThemeAppliedTimeout;
175
- // remove the content of the LESS style element
176
- jQuery("link[id^=sap-ui-theme-]").each(function() {
177
- var sLibName = this.id.substr(13); // length of "sap-ui-theme-"
178
- jQuery(document.getElementById("less:" + sLibName)).remove();
179
- });
180
- // remove the hooks from the Core
181
- ThemeManager.includeLibraryTheme = fnOrigIncludeLibraryTheme;
182
- this.oCore.applyTheme = fnOrigApplyTheme;
183
- }
184
- };
185
-
186
- /**
187
- * initialize a link element by preparing the LESS style element directly
188
- * after the link (to keep the order of the stylesheets how the rules are
189
- * finally applied)
190
- * @param {LinkElement} oLink ref to a link element
191
- * @private
192
- */
193
- LessSupport.prototype.initLink = function(oLink) {
194
-
195
- var bUseLess = this.updateLink(oLink);
196
-
197
- // add the section for the generated CSS code
198
- jQuery("<style>").
199
- attr("id", "less:" + oLink.id.substr(13)).
200
- attr("type", "text/css").
201
- attr("media", this.media || "screen").
202
- insertAfter(oLink);
203
-
204
- return bUseLess;
205
-
206
- };
207
-
208
- /**
209
- * updates a link element by quering the LESS and CSS file, checking which
210
- * one is the latest version and updates the link with the most current
211
- * LESS or CSS file.
212
- * after the link (to keep the order of the stylesheets how the rules are
213
- * finally applied)
214
- * @param {LinkElement} oLink ref to a link element
215
- * @private
216
- */
217
- LessSupport.prototype.updateLink = function(oLink) {
218
-
219
- // modify style sheet URL to point to the new theme
220
- // be aware of custom css included with the colon (see includeLibraryTheme) // TODO: what is this??
221
- var sLibName = oLink.id.substr(13); // length of "sap-ui-theme-"
222
- var pos;
223
- if ((pos = sLibName.indexOf("-[")) > 0) { // assumes that "-[" does not occur as part of a library name
224
- sLibName = sLibName.substr(0, pos);
225
- }
226
- var sBaseUrl = ThemeManager._getThemePath(sLibName, Theming.getTheme());
227
-
228
- // check if the less file of the current theme is more up-to-date than the css file
229
- // or if the last modified of the less file is 0 (no last modified) we assume that it is newer
230
- var iLessLastModified = this.getLastModified(sBaseUrl + LESS_FILENAME + ".less");
231
- var iCssLastModified = this.getLastModified(sBaseUrl + CSS_FILENAME + ".css");
232
- var bUseLess = (iLessLastModified == 0 && iCssLastModified > 0) || iLessLastModified > iCssLastModified;
233
-
234
- if (!bUseLess) {
235
- var sBaseThemeUrl = ThemeManager._getThemePath(sLibName, "base");
236
-
237
- // also check if the less file of the base theme is more up-to-date than the css file
238
- // or if the last modified of the less file is 0 (no last modified) we assume that it is newer
239
- var iBaseLessLastModified = this.getLastModified(sBaseThemeUrl + LESS_FILENAME + ".less");
240
- var iBaseCssLastModified = this.getLastModified(sBaseThemeUrl + CSS_FILENAME + ".css");
241
- bUseLess = (iBaseLessLastModified == 0 && iBaseCssLastModified > 0) || iBaseLessLastModified > iBaseCssLastModified;
242
- }
243
-
244
- var sFileName = (bUseLess) ? LESS_FILENAME : CSS_FILENAME;
245
-
246
- // info log
247
- Log.debug("LessSupport.updateLink: " + sBaseUrl + sFileName + ": " + (bUseLess ? "LESS" : "CSS"));
248
-
249
- // use the CSS file when the CSS file is newer or equal!
250
- if (!bUseLess) {
251
- if (oLink.title) {
252
- delete oLink.title;
253
- }
254
- oLink.rel = "stylesheet";
255
- oLink.href = sBaseUrl + sFileName + ".css";
256
- this.unregisterLink(oLink);
257
- return false;
258
- }
259
-
260
- // cleanup the local storage cache of less to avoid caching issues
261
- // INFO: necessary when running in production mode
262
- /*
263
- if (window.localStorage) {
264
- var sHref = oLink.href.replace(/.css$/i, ".less");
265
- delete window.localStorage[sHref];
266
- delete window.localStorage[sHref + ":timestamp"];
267
- }
268
- */
269
-
270
- // use the LESS file!
271
- oLink.title = sLibName;
272
- // "rel" has to be changed BEFORE "href" to prevent the browser from interpreting the less file
273
- oLink.rel = "stylesheet/less";
274
- oLink.href = sBaseUrl + sFileName + ".less";
275
-
276
- this.registerLink(oLink);
277
- return true;
278
-
279
- };
280
-
281
- /**
282
- * retrieves the last modified timestamp of the resource for the given url.
283
- * @param {string} sUrl URL to a resource
284
- * @return {number} timestamp (0 if no last-modified header is present / -1 if file is not available)
285
- * @private
286
- */
287
- LessSupport.prototype.getLastModified = function(sUrl) {
288
- // HEAD request to retrieve the last modified header
289
- var iLastModified;
290
- try {
291
- var response = syncFetch(sUrl, {
292
- method: "HEAD"
293
- });
294
-
295
- if (response.ok) {
296
- var sLastModified = response.headers.get("Last-Modified");
297
- iLastModified = sLastModified ? Date.parse(sLastModified) : 0;
298
- } else {
299
- throw Error("HTTP status error: " + response.status);
300
- }
301
- } catch (error) {
302
- iLastModified = -1;
303
- }
304
- // convert the string into a timestamp or return the -1 value
305
- Log.debug("CSS/LESS head-check: " + sUrl + "; last-modified: " + iLastModified);
306
- return iLastModified;
307
-
308
- };
309
-
310
- /**
311
- * hook into the <code>Core.applyTheme</code> function to update the created
312
- * links for the less support
313
- * @param {string} sThemeName name of the theme
314
- * @param {string} sThemeBaseUrl base URL of the theme
315
- * @private
316
- */
317
- LessSupport.prototype.applyTheme = function(sThemeName, sThemeBaseUrl) {
318
- // execute the default behavior (referenced via global name as the local 'Core' only exposes the public API)
319
- fnOrigApplyTheme.call(ThemeManager, sThemeName, sThemeBaseUrl);
320
- // update the created links for less support
321
- var that = this, bUseLess = false;
322
- jQuery("link[id^=sap-ui-theme-]").each(function() {
323
- bUseLess = that.updateLink(this) || bUseLess;
324
- });
325
- // refresh less styles or remove notifier
326
- this.refreshLess(bUseLess);
327
- };
328
-
329
- /**
330
- * hook into the <code>Core.includeLibraryTheme</code> function to initialize
331
- * the created links for the less support.
332
- * @param {string} sLibName name of the library
333
- * @private
334
- */
335
- LessSupport.prototype.includeLibraryTheme = function(sLibName) {
336
- // execute the default behavior (referenced via global name as the local 'Core' only exposes the public API)
337
- fnOrigIncludeLibraryTheme.apply(ThemeManager, arguments);
338
- // initialize the created link for less support
339
- var that = this, bUseLess = false;
340
- jQuery("link[id='sap-ui-theme-" + sLibName + "']").each(function() {
341
- bUseLess = that.initLink(this) || bUseLess;
342
- });
343
- // refresh less styles or remove notifier
344
- this.refreshLess(bUseLess);
345
- };
346
-
347
- /**
348
- * registers a link element in less to be observed when calling refresh()
349
- * @param {LinkElement} oLink ref to the link element
350
- * @private
351
- */
352
- LessSupport.prototype.registerLink = function(oLink) {
353
- if (window.less && window.less.sheets) {
354
- var iIndex = window.less.sheets.indexOf(oLink);
355
- if (iIndex === -1) {
356
- window.less.sheets.push(oLink);
357
- }
358
- }
359
- };
360
-
361
- /**
362
- * unregisters a link element in less
363
- * @param {LinkElement} oLink ref to the link element
364
- * @private
365
- */
366
- LessSupport.prototype.unregisterLink = function(oLink) {
367
- if (window.less && window.less.sheets) {
368
- var sLibName = oLink.id.substr(13);
369
- var iIndex = window.less.sheets.indexOf(oLink);
370
- if (iIndex >= 0) {
371
- window.less.sheets.splice(iIndex, 1);
372
- // clear the content of the LESS style element
373
- jQuery(document.getElementById("less:" + sLibName)).html("");
374
- }
375
- }
376
- };
377
-
378
- /**
379
- * refreshes the less files / generates the css and injects it into the
380
- * styles section which has been created in the <code>initLink</code>
381
- * function.
382
- * <br>
383
- * additionally it shows or hides a notifier if the less mode is active
384
- * @param {boolean} bUseLess flag whether less or css mode
385
- * @private
386
- */
387
- LessSupport.prototype.refreshLess = function(bUseLess) {
388
-
389
- // add the less mode indicator
390
- if (bUseLess) {
391
- if (!document.getElementById("sap-ui-ide-less-mode")) {
392
- jQuery("<span>").
393
- attr("id", "sap-ui-ide-less-mode").
394
- css("position", "absolute").
395
- css("right", "10px").
396
- css("bottom", "10px").
397
- css("padding", "10px").
398
- css("border", "3px solid red").
399
- css("border-radius", "10px").
400
- css("opacity", "0.75").
401
- css("color", "black").
402
- css("background-color", "white").
403
- css("font-weight", "bold").
404
- css("z-index", "99999").
405
- append(
406
- jQuery("<span>").
407
- text("LESS MODE").
408
- css({
409
- "display": "block",
410
- "text-align": "center"
411
- })
412
- ).
413
- append(
414
- jQuery("<a>").
415
- attr("href", "#").
416
- text("Deactivate").
417
- attr("title", "Less mode is active. Click to deactivate it (requires page refresh).").
418
- css({
419
- "float": "left",
420
- "clear": "left",
421
- "font-size": "0.75em",
422
- "text-decoration": "underline",
423
- "margin-right": "0.5em"
424
- }).
425
- bind("click", function(oEvent) {
426
- oEvent.preventDefault();
427
- /*eslint-disable no-alert*/
428
- if (window.confirm("Deactivating the Less Mode refreshes the page. Do you want to proceed?")) {
429
- var sSearch = window.location.search;
430
- window.location.search = (sSearch.charAt(0) === "?" ? (sSearch + "&") : "?") + "sap-ui-xx-noless=true";
431
- }
432
- /*eslint-enable no-alert*/
433
- })
434
- ).
435
- append(
436
- jQuery("<a>").
437
- attr("href", "#").
438
- text("Hide").
439
- attr("title", "Less mode is active. Click to hide this information.").
440
- css({
441
- "float": "right",
442
- "font-size": "0.75em",
443
- "text-decoration": "underline"
444
- }).
445
- bind("click", function(oEvent) {
446
- oEvent.preventDefault();
447
- jQuery(this).parent().css("display", "none");
448
- })
449
- ).
450
- appendTo(window.document.body);
451
- }
452
- } else {
453
- jQuery("#sap-ui-ide-less-mode").remove();
454
- }
455
-
456
- // do only refresh less if it is loaded and at least one stylesheet was added
457
- if (window.less && window.less.refresh && window.less.sheets.length > 0) {
458
-
459
- // Keeps the less varables for each library
460
- var mLibVariables = {};
461
-
462
- // href to library name mapping (perf-opt)
463
- var mLessHrefToLib = {};
464
-
465
- // fill the href - lib map using less stylesheets
466
- jQuery(window.less.sheets).each(function() {
467
- mLessHrefToLib[this.href] = jQuery(this).attr("id").substr(13);
468
- });
469
-
470
- // Save original function
471
- var fnLessTreeRuleEval = window.less.tree.Rule.prototype.eval;
472
- // Override Rule.eval to collect all variable values on-the-fly
473
- window.less.tree.Rule.prototype.eval = function(env) {
474
- if (this.variable && typeof this.name === "string" && this.name.indexOf("@_PRIVATE_") !== 0) {
475
- // this.currentFileInfo.rootFilename is one of the stylesheets in less.sheets
476
- var sLibName = mLessHrefToLib[this.currentFileInfo.rootFilename]; // get lib name from map
477
- if (!sLibName) {
478
- Log.warning("LessSupport: could not find libary (" + this.currentFileInfo.rootFilename + ")");
479
- }
480
- var mVariables = mLibVariables[sLibName]; // get library-parameters map
481
- if (!mVariables) {
482
- mVariables = mLibVariables[sLibName] = {};
483
- }
484
- try {
485
- mVariables[this.name.substr(1)] = this.value.eval(env).toCSS(env);
486
- } catch (ex) {
487
- // causes an exception when variable is not defined. ignore it here, less will take care of it
488
- }
489
- }
490
- return fnLessTreeRuleEval.apply(this, arguments);
491
- };
492
-
493
- // Run less build
494
- window.less.refresh();
495
-
496
- // Update Theming Parameters without triggering a library-parameters.json request
497
- var Parameters = sap.ui.requireSync('sap/ui/core/theming/Parameters');
498
- Parameters._setOrLoadParameters(mLibVariables);
499
-
500
- // Restore original function
501
- window.less.tree.Rule.prototype.eval = fnLessTreeRuleEval;
502
- }
503
-
504
- };
505
-
506
- /**
507
- * Create the <code>sap.ui.core.plugin.LessSupport</code> plugin and
508
- * register it within the <code>sap.ui.core.Core</code>.
509
- */
510
- var oThis = new LessSupport();
511
- sap.ui.getCore().registerPlugin(oThis);
512
-
513
- /**
514
- * Triggers a less refresh and updates the theming parameters.
515
- *
516
- * @private
517
- */
518
- LessSupport.refresh = function() {
519
- oThis.refreshLess(true);
520
- ThemeManager.checkThemeApplied();
521
- };
522
-
523
- return LessSupport;
524
-
525
- }, /* bExport= */ true);
526
-
527
- }
528
-
529
- // check for "sap.ui.define" being already available
530
- // - when available immediately define the LessSupport
531
- // - if not we delay the definition till the body is loaded
532
- if (!(window.sap && window.sap.ui && window.sap.ui.define)) {
533
- var fnHandler = function() {
534
- document.removeEventListener("DOMContentLoaded", fnHandler, false);
535
- defineLessSupport();
536
- };
537
- document.addEventListener("DOMContentLoaded", fnHandler, false);
538
- } else {
539
- defineLessSupport();
540
- }
541
-
542
- }());