@openui5/sap.ui.core 1.95.0 → 1.96.3

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 (338) hide show
  1. package/.eslintrc.json +12 -0
  2. package/.reuse/dep5 +10 -5
  3. package/THIRDPARTY.txt +17 -8
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  11. package/src/sap/base/util/restricted/_castArray.js +1 -1
  12. package/src/sap/base/util/restricted/_compact.js +1 -1
  13. package/src/sap/base/util/restricted/_curry.js +1 -1
  14. package/src/sap/base/util/restricted/_debounce.js +1 -1
  15. package/src/sap/base/util/restricted/_difference.js +1 -1
  16. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  18. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  21. package/src/sap/base/util/restricted/_flatten.js +1 -1
  22. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_intersection.js +1 -1
  25. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  27. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isNil.js +1 -1
  30. package/src/sap/base/util/restricted/_max.js +1 -1
  31. package/src/sap/base/util/restricted/_merge.js +1 -1
  32. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  33. package/src/sap/base/util/restricted/_min.js +1 -1
  34. package/src/sap/base/util/restricted/_omit.js +1 -1
  35. package/src/sap/base/util/restricted/_pick.js +1 -1
  36. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  37. package/src/sap/base/util/restricted/_throttle.js +1 -1
  38. package/src/sap/base/util/restricted/_toArray.js +1 -1
  39. package/src/sap/base/util/restricted/_union.js +1 -1
  40. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  41. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  42. package/src/sap/base/util/restricted/_uniq.js +1 -1
  43. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  45. package/src/sap/base/util/restricted/_without.js +1 -1
  46. package/src/sap/base/util/restricted/_xor.js +1 -1
  47. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  48. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  49. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  51. package/src/sap/ui/Device.js +3 -3
  52. package/src/sap/ui/Global.js +6 -5
  53. package/src/sap/ui/base/Event.js +1 -1
  54. package/src/sap/ui/base/EventProvider.js +1 -1
  55. package/src/sap/ui/base/Interface.js +1 -1
  56. package/src/sap/ui/base/ManagedObject.js +1 -1
  57. package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
  58. package/src/sap/ui/base/Metadata.js +1 -1
  59. package/src/sap/ui/base/Object.js +1 -1
  60. package/src/sap/ui/base/ObjectPool.js +1 -1
  61. package/src/sap/ui/core/.library +2 -2
  62. package/src/sap/ui/core/BusyIndicator.js +1 -1
  63. package/src/sap/ui/core/Component.js +2 -3
  64. package/src/sap/ui/core/ComponentContainer.js +9 -3
  65. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  66. package/src/sap/ui/core/ComponentSupport.js +1 -1
  67. package/src/sap/ui/core/Configuration.js +6 -2
  68. package/src/sap/ui/core/Control.js +1 -1
  69. package/src/sap/ui/core/Core.js +64 -6
  70. package/src/sap/ui/core/CustomData.js +1 -1
  71. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  72. package/src/sap/ui/core/Element.js +1 -1
  73. package/src/sap/ui/core/ElementMetadata.js +1 -1
  74. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  75. package/src/sap/ui/core/EventBus.js +1 -1
  76. package/src/sap/ui/core/Fragment.js +2 -2
  77. package/src/sap/ui/core/HTML.js +1 -1
  78. package/src/sap/ui/core/History.js +1 -1
  79. package/src/sap/ui/core/Icon.js +3 -4
  80. package/src/sap/ui/core/IconPool.js +11 -0
  81. package/src/sap/ui/core/IconRenderer.js +4 -4
  82. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  83. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  84. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  85. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  86. package/src/sap/ui/core/InvisibleText.js +1 -1
  87. package/src/sap/ui/core/Item.js +1 -1
  88. package/src/sap/ui/core/LabelEnablement.js +1 -1
  89. package/src/sap/ui/core/LayoutData.js +1 -1
  90. package/src/sap/ui/core/ListItem.js +1 -1
  91. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  92. package/src/sap/ui/core/Locale.js +1 -1
  93. package/src/sap/ui/core/LocaleData.js +1 -1
  94. package/src/sap/ui/core/Manifest.js +1 -1
  95. package/src/sap/ui/core/Message.js +1 -1
  96. package/src/sap/ui/core/Patcher.js +27 -3
  97. package/src/sap/ui/core/Placeholder.js +4 -4
  98. package/src/sap/ui/core/RenderManager.js +20 -4
  99. package/src/sap/ui/core/Renderer.js +1 -1
  100. package/src/sap/ui/core/ResizeHandler.js +1 -1
  101. package/src/sap/ui/core/ScrollBar.js +1 -1
  102. package/src/sap/ui/core/SeparatorItem.js +1 -1
  103. package/src/sap/ui/core/Title.js +1 -1
  104. package/src/sap/ui/core/TooltipBase.js +1 -1
  105. package/src/sap/ui/core/UIArea.js +1 -1
  106. package/src/sap/ui/core/UIComponent.js +3 -4
  107. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  108. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  109. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  110. package/src/sap/ui/core/XMLComposite.js +2 -2
  111. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  112. package/src/sap/ui/core/XMLTemplateProcessor.js +112 -37
  113. package/src/sap/ui/core/_IconRegistry.js +31 -98
  114. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  115. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  116. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  117. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  118. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  119. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  120. package/src/sap/ui/core/format/NumberFormat.js +16 -1
  121. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  122. package/src/sap/ui/core/library.js +3 -3
  123. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  124. package/src/sap/ui/core/message/Message.js +1 -1
  125. package/src/sap/ui/core/message/MessageManager.js +1 -1
  126. package/src/sap/ui/core/message/MessageParser.js +1 -1
  127. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  128. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  130. package/src/sap/ui/core/mvc/JSView.js +1 -1
  131. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  132. package/src/sap/ui/core/mvc/View.js +1 -1
  133. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  134. package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
  135. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  136. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  137. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  138. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  139. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  140. package/src/sap/ui/core/routing/Router.js +8 -1
  141. package/src/sap/ui/core/routing/async/Target.js +2 -4
  142. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  143. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  144. package/src/sap/ui/core/service/Service.js +1 -1
  145. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  146. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  147. package/src/sap/ui/core/support/Plugin.js +1 -1
  148. package/src/sap/ui/core/support/Support.js +1 -1
  149. package/src/sap/ui/core/support/plugins/ControlTree.js +37 -43
  150. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  151. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  153. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  154. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  156. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  157. package/src/sap/ui/core/themes/base/Icon.less +9 -0
  158. package/src/sap/ui/core/themes/base/SAP-icons.css +2 -0
  159. package/src/sap/ui/core/themes/base/SAP-icons.less +10 -0
  160. package/src/sap/ui/core/themes/base/base.less +543 -390
  161. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  162. package/src/sap/ui/core/themes/base/global.less +38 -0
  163. package/src/sap/ui/core/themes/base/library.source.less +1 -2
  164. package/src/sap/ui/core/themes/sap_hcb/global.less +34 -0
  165. package/src/sap/ui/core/theming/Parameters.js +22 -142
  166. package/src/sap/ui/core/theming/ThemeHelper.js +26 -37
  167. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  168. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  169. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  170. package/src/sap/ui/core/tmpl/Template.js +1 -1
  171. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  172. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  173. package/src/sap/ui/core/util/Export.js +1 -1
  174. package/src/sap/ui/core/util/ExportCell.js +1 -1
  175. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  176. package/src/sap/ui/core/util/ExportRow.js +1 -1
  177. package/src/sap/ui/core/util/ExportType.js +1 -1
  178. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  179. package/src/sap/ui/core/util/File.js +1 -1
  180. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  181. package/src/sap/ui/core/util/MockServer.js +1 -1
  182. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  183. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +4 -0
  184. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +36 -28
  185. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +6 -3
  186. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  187. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  188. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  189. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  190. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  191. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  192. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  193. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  194. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  195. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  196. package/src/sap/ui/debug/ControlTree.js +1 -1
  197. package/src/sap/ui/debug/DebugEnv.js +1 -1
  198. package/src/sap/ui/debug/Highlighter.js +8 -2
  199. package/src/sap/ui/debug/PropertyList.js +1 -1
  200. package/src/sap/ui/model/Binding.js +174 -118
  201. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  202. package/src/sap/ui/model/ClientListBinding.js +1 -3
  203. package/src/sap/ui/model/ClientModel.js +4 -4
  204. package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
  205. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  206. package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
  207. package/src/sap/ui/model/CompositeBinding.js +98 -77
  208. package/src/sap/ui/model/CompositeDataState.js +2 -2
  209. package/src/sap/ui/model/CompositeType.js +2 -2
  210. package/src/sap/ui/model/Context.js +4 -2
  211. package/src/sap/ui/model/ContextBinding.js +6 -14
  212. package/src/sap/ui/model/DataState.js +2 -2
  213. package/src/sap/ui/model/Filter.js +255 -53
  214. package/src/sap/ui/model/FilterOperator.js +1 -1
  215. package/src/sap/ui/model/FilterProcessor.js +27 -17
  216. package/src/sap/ui/model/FilterType.js +1 -1
  217. package/src/sap/ui/model/ListBinding.js +180 -117
  218. package/src/sap/ui/model/MetaModel.js +4 -9
  219. package/src/sap/ui/model/Model.js +345 -294
  220. package/src/sap/ui/model/PropertyBinding.js +92 -58
  221. package/src/sap/ui/model/SelectionModel.js +2 -2
  222. package/src/sap/ui/model/SimpleType.js +2 -2
  223. package/src/sap/ui/model/Sorter.js +1 -1
  224. package/src/sap/ui/model/SorterProcessor.js +1 -1
  225. package/src/sap/ui/model/StaticBinding.js +1 -1
  226. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  227. package/src/sap/ui/model/TreeBinding.js +1 -1
  228. package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
  229. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
  230. package/src/sap/ui/model/TreeBindingUtils.js +1 -0
  231. package/src/sap/ui/model/Type.js +1 -1
  232. package/src/sap/ui/model/analytics/AnalyticalBinding.js +41 -29
  233. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  234. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  235. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  236. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  237. package/src/sap/ui/model/analytics/odata4analytics.js +3 -2
  238. package/src/sap/ui/model/json/JSONListBinding.js +8 -5
  239. package/src/sap/ui/model/json/JSONModel.js +21 -14
  240. package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
  241. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  242. package/src/sap/ui/model/message/MessageListBinding.js +6 -3
  243. package/src/sap/ui/model/message/MessageModel.js +20 -14
  244. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  245. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  246. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  247. package/src/sap/ui/model/odata/CountMode.js +1 -1
  248. package/src/sap/ui/model/odata/Filter.js +1 -1
  249. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  250. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  251. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  252. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  253. package/src/sap/ui/model/odata/ODataMetaModel.js +2 -2
  254. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  255. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  256. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  257. package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
  258. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  259. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
  260. package/src/sap/ui/model/odata/ODataUtils.js +1 -1
  261. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  262. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  263. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  264. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  265. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  266. package/src/sap/ui/model/odata/type/Date.js +1 -1
  267. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  268. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  269. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  270. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  271. package/src/sap/ui/model/odata/type/Double.js +1 -1
  272. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  273. package/src/sap/ui/model/odata/type/Int.js +1 -1
  274. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  275. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  276. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  277. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  278. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  279. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  280. package/src/sap/ui/model/odata/type/Single.js +1 -1
  281. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  282. package/src/sap/ui/model/odata/type/String.js +1 -1
  283. package/src/sap/ui/model/odata/type/Time.js +1 -1
  284. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  285. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  286. package/src/sap/ui/model/odata/v2/Context.js +59 -9
  287. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
  288. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
  289. package/src/sap/ui/model/odata/v2/ODataListBinding.js +212 -45
  290. package/src/sap/ui/model/odata/v2/ODataModel.js +139 -59
  291. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +2 -2
  292. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
  293. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  294. package/src/sap/ui/model/odata/v4/ODataBinding.js +2 -3
  295. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +37 -26
  296. package/src/sap/ui/model/odata/v4/ODataListBinding.js +22 -12
  297. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +30 -20
  298. package/src/sap/ui/model/odata/v4/ODataModel.js +4 -4
  299. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +37 -28
  300. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  301. package/src/sap/ui/model/odata/v4/lib/_Cache.js +3 -5
  302. package/src/sap/ui/model/odata/v4/lib/_Helper.js +2 -2
  303. package/src/sap/ui/model/resource/ResourceModel.js +2 -1
  304. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  305. package/src/sap/ui/model/type/Boolean.js +2 -2
  306. package/src/sap/ui/model/type/Currency.js +2 -2
  307. package/src/sap/ui/model/type/Date.js +9 -3
  308. package/src/sap/ui/model/type/DateInterval.js +4 -2
  309. package/src/sap/ui/model/type/DateTime.js +2 -2
  310. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  311. package/src/sap/ui/model/type/FileSize.js +4 -2
  312. package/src/sap/ui/model/type/Float.js +4 -2
  313. package/src/sap/ui/model/type/Integer.js +4 -2
  314. package/src/sap/ui/model/type/String.js +2 -2
  315. package/src/sap/ui/model/type/Time.js +2 -2
  316. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  317. package/src/sap/ui/model/type/Unit.js +14 -7
  318. package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
  319. package/src/sap/ui/model/xml/XMLModel.js +67 -40
  320. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
  321. package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
  322. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  323. package/src/sap/ui/qunit/QUnitUtils.js +3 -2
  324. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  325. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
  326. package/src/sap/ui/test/matchers/I18NText.js +2 -2
  327. package/src/sap/ui/test/opaQunit.js +1 -1
  328. package/src/sap/ui/test/starter/createSuite.js +2 -1
  329. package/src/sap/ui/thirdparty/IPv6.js +2 -2
  330. package/src/sap/ui/thirdparty/SecondLevelDomains.js +2 -2
  331. package/src/sap/ui/thirdparty/URI.js +14 -5
  332. package/src/sap/ui/thirdparty/URITemplate.js +2 -2
  333. package/src/sap/ui/thirdparty/jquery.js +9 -1
  334. package/src/sap/ui/thirdparty/qunit-2.js +1 -1
  335. package/src/sap/ui/thirdparty/qunit.js +1 -1
  336. package/src/sap/ui/util/Mobile.js +2 -20
  337. package/src/sap/ui/util/Storage.js +1 -1
  338. package/ui5.yaml +5 -2
@@ -122,6 +122,13 @@
122
122
  @sapUiContentTextShadow: @sapContent_TextShadow;
123
123
  @sapUiContentContrastTextShadow: @sapContent_ContrastTextShadow;
124
124
  @sapUiContentHeaderShadow: @sapContent_HeaderShadow;
125
+ @sapUiContentInteractionShadow: @sapContent_Interaction_Shadow;
126
+ @sapUiContentSelectedShadow: @sapContent_Selected_Shadow;
127
+ @sapUiContentNegativeShadow: @sapContent_Negative_Shadow;
128
+ @sapUiContentCriticalShadow: @sapContent_Critical_Shadow;
129
+ @sapUiContentPositiveShadow: @sapContent_Positive_Shadow;
130
+ @sapUiContentInformativeShadow: @sapContent_Informative_Shadow;
131
+ @sapUiContentNeutralShadow: @sapContent_Neutral_Shadow;
125
132
  @sapUiContentSearchHighlightColor: @sapContent_SearchHighlightColor;
126
133
  @sapUiContentHelpColor: @sapContent_HelpColor;
127
134
  @sapUiContentLabelColor: @sapContent_LabelColor;
@@ -151,9 +158,22 @@
151
158
  @sapUiContentIllustrativeColor6: @sapContent_Illustrative_Color6;
152
159
  @sapUiContentIllustrativeColor7: @sapContent_Illustrative_Color7;
153
160
  @sapUiContentIllustrativeColor8: @sapContent_Illustrative_Color8;
161
+ @sapUiContentIllustrativeColor9: @sapContent_Illustrative_Color9;
162
+ @sapUiContentIllustrativeColor10: @sapContent_Illustrative_Color10;
163
+ @sapUiContentIllustrativeColor11: @sapContent_Illustrative_Color11;
164
+ @sapUiContentIllustrativeColor12: @sapContent_Illustrative_Color12;
165
+ @sapUiContentIllustrativeColor13: @sapContent_Illustrative_Color13;
166
+ @sapUiContentIllustrativeColor14: @sapContent_Illustrative_Color14;
167
+ @sapUiContentIllustrativeColor15: @sapContent_Illustrative_Color15;
168
+ @sapUiContentIllustrativeColor16: @sapContent_Illustrative_Color16;
169
+ @sapUiContentIllustrativeColor17: @sapContent_Illustrative_Color17;
170
+ @sapUiContentIllustrativeColor18: @sapContent_Illustrative_Color18;
171
+ @sapUiContentIllustrativeColor19: @sapContent_Illustrative_Color19;
172
+ @sapUiContentIllustrativeColor20: @sapContent_Illustrative_Color20;
154
173
 
155
174
  @sapUiFontLightFamily: @sapFontLightFamily;
156
175
  @sapUiFontBoldFamily: @sapFontBoldFamily;
176
+ @sapUiFontBlackFamily: @sapFontBlackFamily;
157
177
  @sapUiFontHeaderFamily: @sapFontHeaderFamily;
158
178
  @sapMFontSmallSize: @sapFontSmallSize;
159
179
  @sapMFontLargeSize: @sapFontLargeSize;
@@ -176,6 +196,7 @@
176
196
  @sapUiShellBackgroundImageRepeat: @sapShell_BackgroundImageRepeat;
177
197
  @sapUiShellBorderColor: @sapShell_BorderColor;
178
198
  @sapUiShellTextColor: @sapShell_TextColor;
199
+ @sapUiShellInteractiveBackground: @sapShell_InteractiveBackground;
179
200
  @sapUiShellInteractiveTextColor: @sapShell_InteractiveTextColor;
180
201
  @sapUiShellInteractiveBorderColor: @sapShell_InteractiveBorderColor;
181
202
  @sapUiShellGroupTitleTextColor: @sapShell_GroupTitleTextColor;
@@ -457,6 +478,17 @@
457
478
  @sapUiAccent9: @sapAccentColor9;
458
479
  @sapUiAccent10: @sapAccentColor10;
459
480
 
481
+ @sapUiAccentBackgroundColor1: @sapAccentBackgroundColor1;
482
+ @sapUiAccentBackgroundColor2: @sapAccentBackgroundColor2;
483
+ @sapUiAccentBackgroundColor3: @sapAccentBackgroundColor3;
484
+ @sapUiAccentBackgroundColor4: @sapAccentBackgroundColor4;
485
+ @sapUiAccentBackgroundColor5: @sapAccentBackgroundColor5;
486
+ @sapUiAccentBackgroundColor6: @sapAccentBackgroundColor6;
487
+ @sapUiAccentBackgroundColor7: @sapAccentBackgroundColor7;
488
+ @sapUiAccentBackgroundColor8: @sapAccentBackgroundColor8;
489
+ @sapUiAccentBackgroundColor9: @sapAccentBackgroundColor9;
490
+ @sapUiAccentBackgroundColor10: @sapAccentBackgroundColor10;
491
+
460
492
 
461
493
  // =====================================
462
494
  // Indication Colors
@@ -641,6 +673,8 @@
641
673
 
642
674
  @sapMPlatformDependent: false;
643
675
 
676
+ @sapUiColumnHeaderFontSize: @sapMFontMediumSize;
677
+ @sapUiColumnHeaderFontWeight: normal;
644
678
 
645
679
 
646
680
  // =====================================
@@ -1169,6 +1203,10 @@
1169
1203
  @sapUiFontMonospaceFamily: Lucida Console; // the default monospacefont
1170
1204
 
1171
1205
 
1206
+ // SAP-icons font url - to be removed when integrating fonts from theming base content
1207
+ @sapUiIconFontUrl: url('./fonts/SAP-icons.woff2');
1208
+
1209
+
1172
1210
  // SOME important control-specific parameters...
1173
1211
 
1174
1212
  //
@@ -14,8 +14,7 @@
14
14
  @import "CommandShortcutHints.less";
15
15
  @import "DragAndDrop.less";
16
16
 
17
- // (less) is needed to resolve the relative path in SAP-icons.css
18
- @import (less) "SAP-icons.css";
17
+ @import "SAP-icons.less";
19
18
  @import "Icon.less";
20
19
 
21
20
  @import "LocalBusyIndicator.less";
@@ -64,6 +64,7 @@
64
64
  @sapUiFontFamily: Arial,Helvetica,sans-serif;
65
65
  @sapUiFontLightFamily: Arial,Helvetica,sans-serif;
66
66
  @sapUiFontBoldFamily: Arial,Helvetica,sans-serif;
67
+ @sapUiFontBlackFamily: Arial,Helvetica,sans-serif;
67
68
  @sapUiFontHeaderFamily: Arial,Helvetica,sans-serif;
68
69
  @sapUiFontSize: medium; // 16px;
69
70
  @sapMFontSmallSize: 12px;
@@ -135,6 +136,13 @@
135
136
  @sapUiContentTextShadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;
136
137
  @sapUiContentContrastTextShadow: none;
137
138
  @sapUiContentHeaderShadow: inset 0 -0.125rem #FFFFFF;
139
+ @sapUiContentInteractionShadow: none;
140
+ @sapUiContentSelectedShadow: none;
141
+ @sapUiContentNegativeShadow: none;
142
+ @sapUiContentCriticalShadow: none;
143
+ @sapUiContentPositiveShadow: none;
144
+ @sapUiContentInformativeShadow: none;
145
+ @sapUiContentNeutralShadow: none;
138
146
  @sapUiContentSearchHighlightColor: #7A5100;
139
147
  @sapUiContentHelpColor: #03B803;
140
148
  @sapUiContentLabelColor: #FFFFFF;
@@ -164,6 +172,18 @@
164
172
  @sapUiContentIllustrativeColor6: #C6CACE;
165
173
  @sapUiContentIllustrativeColor7: #E7E9EA;
166
174
  @sapUiContentIllustrativeColor8: #FFFFFF;
175
+ @sapUiContentIllustrativeColor9: #64EDD2;
176
+ @sapUiContentIllustrativeColor10: #E7E9EA;
177
+ @sapUiContentIllustrativeColor11: #F31DED;
178
+ @sapUiContentIllustrativeColor12: #5DC122;
179
+ @sapUiContentIllustrativeColor13: #4bA1F6;
180
+ @sapUiContentIllustrativeColor14: #298FF4;
181
+ @sapUiContentIllustrativeColor15: #E6A400;
182
+ @sapUiContentIllustrativeColor16: #085AAA;
183
+ @sapUiContentIllustrativeColor17: #00A5A8;
184
+ @sapUiContentIllustrativeColor18: #D9DDDE;
185
+ @sapUiContentIllustrativeColor19: #CCD0D2;
186
+ @sapUiContentIllustrativeColor20: #BEC4C6;
167
187
 
168
188
  @sapUiShellBackground: #000000;
169
189
  @sapUiShellBackgroundImage: #000000;
@@ -173,6 +193,7 @@
173
193
  @sapUiShellBackgroundGradient: #000000;
174
194
  @sapUiShellBorderColor: #FFFFFF;
175
195
  @sapUiShellTextColor: #FFFFFF;
196
+ @sapUiShellInteractiveBackground: #000000;
176
197
  @sapUiShellInteractiveTextColor: #FFFFFF;
177
198
  @sapUiShellInteractiveBorderColor: #FFFFFF;
178
199
  @sapUiShellGroupTitleTextColor: #FFFFFF;
@@ -572,6 +593,8 @@
572
593
 
573
594
  @sapMPlatformDependent: false;
574
595
 
596
+ @sapUiColumnHeaderFontSize: @sapMFontMediumSize;
597
+ @sapUiColumnHeaderFontWeight: normal;
575
598
 
576
599
 
577
600
  // =====================================
@@ -1094,6 +1117,17 @@
1094
1117
  @sapUiAccent9: #B995E0;
1095
1118
  @sapUiAccent10: #B0BCC5;
1096
1119
 
1120
+ @sapUiAccentBackgroundColor1: #FFF3B8;
1121
+ @sapUiAccentBackgroundColor2: #FFD0E7;
1122
+ @sapUiAccentBackgroundColor3: #FFF0FA;
1123
+ @sapUiAccentBackgroundColor4: #FFDCF3;
1124
+ @sapUiAccentBackgroundColor5: #DED3FF;
1125
+ @sapUiAccentBackgroundColor6: #D1EFFF;
1126
+ @sapUiAccentBackgroundColor7: #C2FCEE;
1127
+ @sapUiAccentBackgroundColor8: #EBF5CB;
1128
+ @sapUiAccentBackgroundColor9: #DAFDF5;
1129
+ @sapUiAccentBackgroundColor10: #EAECEE;
1130
+
1097
1131
  @sapUiLegendWorkingBackground: #2E2E2E;
1098
1132
  @sapUiLegendNonWorkingBackground: #4D4D4D;
1099
1133
  @sapUiLegendCurrentDateTime: #E269C9;
@@ -17,11 +17,10 @@ sap.ui.define([
17
17
  'sap/base/Log',
18
18
  'sap/base/util/extend',
19
19
  'sap/ui/core/ThemeCheck',
20
- 'sap/base/util/LoaderExtensions',
21
20
  'sap/ui/thirdparty/jquery',
22
21
  './ThemeHelper'
23
22
  ],
24
- function(URI, Element, UriParameters, Log, extend, ThemeCheck, LoaderExtensions, jQuery, ThemeHelper) {
23
+ function(URI, Element, UriParameters, Log, extend, ThemeCheck, jQuery, ThemeHelper) {
25
24
  "use strict";
26
25
 
27
26
  var oCfgData = window["sap-ui-config"] || {};
@@ -60,8 +59,6 @@ sap.ui.define([
60
59
 
61
60
  var bUseInlineParameters = UriParameters.fromQuery(window.location.search).get("sap-ui-xx-no-inline-theming-parameters") !== "true";
62
61
 
63
- var oComputedScopeStyle, oDummyScopeElement;
64
-
65
62
  /**
66
63
  * Resolves relative URLs in parameter values.
67
64
  * Only for inline-parameters.
@@ -81,33 +78,6 @@ sap.ui.define([
81
78
  return sUrl;
82
79
  }
83
80
 
84
- /**
85
- * Checks the given parameter value if it contains a relative URL.
86
- * If so we read a second css-variable containing a ui5:// url which needs to be resolved.
87
- * @param {string} sParam parameter name
88
- * @returns {string} the parameter value, if necessary a ui5://... URL is resolved
89
- */
90
- function checkAndResolveUI5Url(sParamValue, sParameterName) {
91
-
92
- var aMatch = rCssUrl.exec(sParamValue);
93
- if (aMatch && aMatch[1]) {
94
- // read companion-variable, can contain a ui5:// url, or an already absolute url
95
- var oBodyStyle = window.getComputedStyle(document.body || document.documentElement);
96
- sParamValue = oBodyStyle.getPropertyValue("--" + sParameterName + "__asResolvedUrl").trim();
97
- if (sParamValue) {
98
- // JSON.parse helps us get a consistent escaping situation
99
- sParamValue = JSON.parse(sParamValue);
100
- var sResolvedUrl = LoaderExtensions.resolveUI5Url(sParamValue);
101
- // stringify again to preserve original escaping
102
- sParamValue = "url(" + JSON.stringify(sResolvedUrl) + ")";
103
- } else {
104
- Log.error("The parameter '" + sParameterName + "' contains a url, but no matching resolved-url CSS variable could be found.");
105
- }
106
- }
107
-
108
- return sParamValue;
109
- }
110
-
111
81
  function mergeParameterSet(mCurrent, mNew, sThemeBaseUrl) {
112
82
  for (var sParam in mNew) {
113
83
  if (typeof mCurrent[sParam] === "undefined") {
@@ -145,20 +115,6 @@ sap.ui.define([
145
115
  mergeParameterSet(mParameters["scopes"][sScopeName], mNewParameters["scopes"][sScopeName], sThemeBaseUrl);
146
116
  }
147
117
  }
148
-
149
- var aScopeList = Object.keys(mParameters["scopes"]);
150
- if (aScopeList.length) {
151
- if (aScopeList.length > 1) {
152
- Log.error("There are multiple theming parameter scopes available but only a single scope is supported. Only the first scope '" + aScopeList[0] + "' is used for retrieval of parameters.");
153
- }
154
- // Add dummy scope element
155
- if (!oComputedScopeStyle) {
156
- oDummyScopeElement = document.createElement("span");
157
- oDummyScopeElement.classList.add(aScopeList[0]);
158
- document.documentElement.appendChild(oDummyScopeElement);
159
- oComputedScopeStyle = window.getComputedStyle(oDummyScopeElement);
160
- }
161
- }
162
118
  }
163
119
 
164
120
  function forEachStyleSheet(fnCallback) {
@@ -168,11 +124,6 @@ sap.ui.define([
168
124
  }
169
125
 
170
126
  function parseParameters(sId) {
171
- // only parse parameters if the given lib does not support CSS variables
172
- if (libSupportsCSSVariables(sId)) {
173
- return false;
174
- }
175
-
176
127
  var oUrl = getThemeBaseUrlForId(sId);
177
128
 
178
129
  var bThemeApplied = ThemeCheck.checkStyle(sId);
@@ -209,44 +160,13 @@ sap.ui.define([
209
160
  return false; //could not parse parameters OR theme is not applied OR library has no parameters
210
161
  }
211
162
 
212
- function libSupportsCSSVariables(sId) {
213
- var sLibName = sId.replace("sap-ui-theme-", "").replace(/\./g, "-");
214
- var sVariablesMarker = !!(window.getComputedStyle(document.body || document.documentElement).getPropertyValue("--sapUiTheme-" + sLibName).trim());
215
- // retreive scope list from metadata (if the theme supports them)
216
- if (sVariablesMarker) {
217
- var oMetadata = ThemeHelper.getMetadata(sId);
218
- if (oMetadata && oMetadata.Scopes && oMetadata.Scopes.length > 0) {
219
- var mScopes = {};
220
- oMetadata.Scopes.forEach(function(sScope) {
221
- mScopes[sScope] = {};
222
- });
223
-
224
- // merge empty scopes into parameters cache
225
- // will be filled one-by-one when accessing scoped variables later
226
- mergeParameters({
227
- "default": {},
228
- scopes: mScopes
229
- });
230
- }
231
- }
232
- return sVariablesMarker;
233
- }
234
-
235
163
  /**
236
164
  * Load parameters for a library/theme combination as identified by the URL of the library.css
237
165
  * @param {string} sId the library name for which parameters might be loaded
238
- * @param {boolean} [bGetAll] whether the loadParameters call stems from a Parameters.get() call
239
166
  */
240
- function loadParameters(sId, bGetAll) {
167
+ function loadParameters(sId) {
241
168
  var oUrl = getThemeBaseUrlForId(sId);
242
169
 
243
- // [Compatibility]: the legacy sync API must return a map of ALL parameter values.
244
- // With CSS wariables supported, we can only get this map by requesting the library-parameters.json.
245
- // The DOM API does not provide an enumeration of all variables.
246
- if (libSupportsCSSVariables(sId) && !bGetAll) {
247
- return;
248
- }
249
-
250
170
  // try to parse the inline-parameters for the given library
251
171
  // this may fail for a number of reasons, see below
252
172
  if (!parseParameters(sId)) {
@@ -371,24 +291,16 @@ sap.ui.define([
371
291
 
372
292
  /**
373
293
  * Retrieves a map containing all inline-parameters.
374
- * Parameters from CSS Variables are dynamically written to the mParameters data-structure on demand,
375
- * everytime a parameter is read from a CSS variable via DOM API.
376
- *
377
- * IMPORTANT: See 'bGetAll' for special SYNC path for Parameters.get() and libraries with CSS Variables
378
294
  *
379
- * @param {boolean} bAsync whether to load and parse the parameters asynchronously
380
- * @param {boolean} bGetAll SYNC path only: when Parameters.get() is called,
381
- * we might need to enforce the loading of a library-parameters.json for libraries using CSS Variables instead of inline-parameters
295
+ * @param {boolean} bAsync=undefined whether to load and parse the parameters asynchronously, default sync
382
296
  * @returns {object} a map of all parameters
383
297
  */
384
- function getParameters(bAsync, bGetAll) {
298
+ function getParameters(bAsync) {
385
299
  // Inital loading
386
300
  if (!mParameters) {
387
301
  // Merge an empty parameter set to initialize the internal object
388
302
  mergeParameters({}, "");
389
303
 
390
- sTheme = sap.ui.getCore().getConfiguration().getTheme();
391
-
392
304
  forEachStyleSheet(function (sId) {
393
305
  if (bAsync) {
394
306
  if (ThemeCheck.checkStyle(sId)) {
@@ -397,7 +309,7 @@ sap.ui.define([
397
309
  aParametersToLoad.push(sId);
398
310
  }
399
311
  } else {
400
- loadParameters(sId, bGetAll);
312
+ loadParameters(sId);
401
313
  }
402
314
  });
403
315
  }
@@ -423,13 +335,10 @@ sap.ui.define([
423
335
 
424
336
  /**
425
337
  * Loads library-parameters.json files if some libraries are missing.
426
- * @param {boolean} bGetAll whether we need to enforce the loading of library-parameters.json files for libraries with CSS variables
427
338
  */
428
- function loadPendingLibraryParameters(bGetAll) {
339
+ function loadPendingLibraryParameters() {
429
340
  // lazy loading of further library parameters
430
- aParametersToLoad.forEach(function(sLibId) {
431
- loadParameters(sLibId, bGetAll);
432
- });
341
+ aParametersToLoad.forEach(loadParameters);
433
342
 
434
343
  // clear queue
435
344
  aParametersToLoad = [];
@@ -450,27 +359,6 @@ sap.ui.define([
450
359
  }
451
360
  };
452
361
 
453
- function lookUpParameter(mParams, sParameterName, bUseScope) {
454
- var sParam = mParams[sParameterName];
455
-
456
- // if not found in cache it we read a CSS variable
457
- if (!sParam) {
458
- // In case scope is available use dummy element with given scope else use the computed style
459
- // of document.body or if body is not available the scope of document.documentElement
460
- var oComputedStyle = bUseScope ? oComputedScopeStyle : window.getComputedStyle(document.body || document.documentElement);
461
- sParam = oComputedStyle.getPropertyValue("--" + sParameterName).trim();
462
- // DOM Api returns "" for unkown variables, UI5 Api must return undefined
463
- sParam = sParam != "" ? sParam : undefined;
464
- if (sParam) {
465
- sParam = checkAndResolveUI5Url(sParam, sParameterName);
466
- // cache the url-resolved parameter value for later usage
467
- mParams[sParameterName] = sParam;
468
- }
469
- }
470
-
471
- return sParam;
472
- }
473
-
474
362
  /**
475
363
  * Returns parameter value from given map and handles legacy parameter names
476
364
  *
@@ -484,22 +372,22 @@ sap.ui.define([
484
372
  * @private
485
373
  */
486
374
  function getParam(mOptions) {
487
- var bAsync = mOptions.async, bUseScope = false, oParams = getParameters(bAsync);
375
+ var bAsync = mOptions.async, oParams = getParameters(bAsync);
488
376
  if (mOptions.scopeName) {
489
377
  oParams = oParams["scopes"][mOptions.scopeName];
490
- bUseScope = true;
491
378
  } else {
492
379
  oParams = oParams["default"];
493
380
  }
494
381
 
495
- var sParamValue = lookUpParameter(oParams, mOptions.parameterName, bUseScope);
382
+ var sParamValue = oParams[mOptions.parameterName];
383
+
496
384
  // [Compatibility]: if a parameter contains a prefix, we cut off the ":" and try again
497
385
  // e.g. "my.lib:paramName"
498
386
  if (!sParamValue) {
499
387
  var iIndex = mOptions.parameterName.indexOf(":");
500
388
  if (iIndex != -1) {
501
389
  var sParamNameWithoutColon = mOptions.parameterName.substr(iIndex + 1);
502
- sParamValue = lookUpParameter(oParams, sParamNameWithoutColon, bUseScope);
390
+ sParamValue = oParams[sParamNameWithoutColon];
503
391
  }
504
392
  }
505
393
 
@@ -554,7 +442,7 @@ sap.ui.define([
554
442
  * @ui5-restricted sap.ui.core
555
443
  * @param {boolean} [bAvoidLoading] Whether loading of parameters should be avoided
556
444
  * @param {boolean} [bAsync] Whether loading of parameters should be asynchronous
557
- * @return {array|undefined} Scope names
445
+ * @return {string[]|undefined} Scope names
558
446
  */
559
447
  Parameters._getScopes = function(bAvoidLoading, bAsync) {
560
448
  if ( bAvoidLoading && !mParameters ) {
@@ -641,16 +529,6 @@ sap.ui.define([
641
529
  * </p>
642
530
  *
643
531
  * <p>
644
- * <b>Important, since 1.93:</b>
645
- * When using the <code>Parameters.get()</code> API to retrieve theming parameters defined as CSS variables,
646
- * please be aware that the API can also unknowingly retrieve arbitrary CSS variables defined in the DOM.
647
- * All CSS variables defined via the <code>:root</code> pseudo-class can be retrieved this way.
648
- * Please make sure to only access theming parameters defined in a UI5 theme/library.
649
- * </p>
650
- *
651
- * <br/>
652
- *
653
- * <p>
654
532
  * The following API variants are available (see also the below examples):
655
533
  * <ul>
656
534
  * <li> <b>(deprecated since 1.92)</b> If no parameter is given a key-value map containing all parameters is returned</li>
@@ -681,7 +559,7 @@ sap.ui.define([
681
559
  *
682
560
  * @example <caption>Scenario 2: Some Parameters are missing </caption>
683
561
  * // "sapUiParam1", "sapUiParam2" are already available
684
- * // "sapUiParam3" is not yet available missing
562
+ * // "sapUiParam3" is not yet available
685
563
  * Parameters.get({
686
564
  * name: ["sapUiParam1", "sapUiParam2", "sapUiParam3"],
687
565
  * callback: function(mParams) {
@@ -730,6 +608,9 @@ sap.ui.define([
730
608
  "Consider using the API only when required, e.g. onBeforeRendering.");
731
609
  }
732
610
 
611
+ if (!sTheme) {
612
+ sTheme = sap.ui.getCore().getConfiguration().getTheme();
613
+ }
733
614
  // Parameters.get() without arguments returns
734
615
  // copy of complete default parameter set
735
616
  if (arguments.length === 0) {
@@ -743,10 +624,11 @@ sap.ui.define([
743
624
  );
744
625
 
745
626
  // first try to load all pending parameters
746
- loadPendingLibraryParameters(true);
627
+ loadPendingLibraryParameters();
628
+
747
629
  // retrieve parameters
748
630
  // optionally might also trigger a sync JSON request, if a library was loaded but not parsed yet
749
- var oParams = getParameters(false, true);
631
+ var oParams = getParameters();
750
632
  return Object.assign({}, oParams["default"]);
751
633
  }
752
634
 
@@ -810,6 +692,7 @@ sap.ui.define([
810
692
  if (bAsync && fnAsyncCallback && Object.keys(vResult).length !== aNames.length) {
811
693
  if (!sap.ui.getCore().isThemeApplied()) {
812
694
  resolveWithParameter = function () {
695
+ sap.ui.getCore().detachThemeChanged(resolveWithParameter);
813
696
  var vParams = this.get({ // Don't pass callback again
814
697
  name: vName.name,
815
698
  scopeElement: vName.scopeElement
@@ -821,7 +704,6 @@ sap.ui.define([
821
704
 
822
705
  fnAsyncCallback(vParams);
823
706
  aCallbackRegistry.splice(aCallbackRegistry.findIndex(findRegisteredCallback), 1);
824
- sap.ui.getCore().detachThemeChanged(resolveWithParameter);
825
707
  }.bind(this);
826
708
 
827
709
  // Check if identical callback is already registered and reregister with current parameters
@@ -881,11 +763,9 @@ sap.ui.define([
881
763
  // hidden parameter {boolean} bOnlyWhenNecessary
882
764
  var bOnlyWhenNecessary = arguments[0] === true;
883
765
  if ( !bOnlyWhenNecessary || sap.ui.getCore().getConfiguration().getTheme() !== sTheme ) {
766
+ sTheme = sap.ui.getCore().getConfiguration().getTheme();
767
+ aParametersToLoad = [];
884
768
  mParameters = null;
885
- if (oDummyScopeElement) {
886
- document.documentElement.removeChild(oDummyScopeElement);
887
- oDummyScopeElement = oComputedScopeStyle = undefined;
888
- }
889
769
  ThemeHelper.reset();
890
770
  }
891
771
  };
@@ -36,51 +36,40 @@ sap.ui.define([
36
36
  return mLibThemeMetadata[sLibName];
37
37
  }
38
38
 
39
- var oMetadata, sMetadataJSON;
39
+ var oMetadataElement = document.createElement("span");
40
+ oMetadataElement.classList.add("sapThemeMetaData-UI5-" + sLibName);
41
+ document.documentElement.appendChild(oMetadataElement);
42
+ var sDataUri = window.getComputedStyle(oMetadataElement).getPropertyValue("background-image");
43
+ document.documentElement.removeChild(oMetadataElement);
40
44
 
41
- var oBodyStyle = window.getComputedStyle(document.body || document.documentElement);
42
- var sVariablesMarker = oBodyStyle.getPropertyValue("--sapUiTheme-" + sLibName).trim();
43
-
44
- // Try first to read the metadata from the CSS variables in case CSS variables are supported
45
- if (sVariablesMarker) {
46
- // read metadata
47
- sMetadataJSON = oBodyStyle.getPropertyValue("--sapThemeMetaData-UI5-" + sLibName).trim();
45
+ var aDataUriMatch = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)/i.exec(sDataUri);
46
+ if (!aDataUriMatch || aDataUriMatch.length < 2) {
47
+ return null;
48
48
  }
49
- // Fallback to inline metadata in case no CSS variables are supported or metadata is only available inline
50
- if (!sMetadataJSON) {
51
- var oMetadataElement = document.createElement("span");
52
- oMetadataElement.classList.add("sapThemeMetaData-UI5-" + sLibName);
53
- document.documentElement.appendChild(oMetadataElement);
54
- var sDataUri = window.getComputedStyle(oMetadataElement).getPropertyValue("background-image");
55
- document.documentElement.removeChild(oMetadataElement);
56
-
57
- var aDataUriMatch = /\(["']?data:text\/plain;utf-8,(.*?)['"]?\)/i.exec(sDataUri);
58
- if (!aDataUriMatch || aDataUriMatch.length < 2) {
59
- return null;
60
- }
61
49
 
62
- var sMetaData = aDataUriMatch[1];
50
+ var sMetaData = aDataUriMatch[1];
63
51
 
64
- // The following lines of code are moved unchanged from ThemeCheck in order to not introduce any regressions but
65
- // neverteheless it's not fully clear if detection of URI encoding and URI decoding itself (especially manual encoding of spaces)
66
- // is necessary
52
+ // [COMPATIBILITY]: The following lines of code are moved unchanged from ThemeCheck in order to not introduce any regressions but
53
+ // neverteheless it's not fully clear if detection of URI encoding and URI decoding itself (especially manual encoding of spaces)
54
+ // is necessary
67
55
 
68
- // Try to detect URI encoding by checking for first and last character for not encoded characters
69
- if (sMetaData.charAt(0) !== "{" && sMetaData.charAt(sMetaData.length - 1) !== "}") {
70
- try {
71
- sMetaData = decodeURI(sMetaData);
72
- } catch (ex) {
73
- // ignore
74
- }
56
+ // Try to detect URI encoding by checking for first and last character for not encoded characters
57
+ if (sMetaData.charAt(0) !== "{" && sMetaData.charAt(sMetaData.length - 1) !== "}") {
58
+ try {
59
+ sMetaData = decodeURI(sMetaData);
60
+ } catch (ex) {
61
+ // ignore
75
62
  }
63
+ }
76
64
 
77
- // Remove superfluous escaping of double quotes
78
- sMetaData = sMetaData.replace(/\\"/g, '"');
65
+ // Remove superfluous escaping of double quotes
66
+ sMetaData = sMetaData.replace(/\\"/g, '"');
79
67
 
80
- // Replace encoded spaces => not clear if this is really necessary and if there is any valid case where spaces are URI encoded
81
- // but we could not detect URI encoding. Keep coding in order to avoid regression.
82
- sMetadataJSON = sMetaData.replace(/%20/g, " ");
83
- }
68
+ // Replace encoded spaces => not clear if this is really necessary and if there is any valid case where spaces are URI encoded
69
+ // but we could not detect URI encoding. Keep coding in order to avoid regression.
70
+ var sMetadataJSON = sMetaData.replace(/%20/g, " ");
71
+
72
+ var oMetadata;
84
73
  try {
85
74
  oMetadata = JSON.parse(sMetadataJSON);
86
75
  mLibThemeMetadata[sLibName] = oMetadata;
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/core/Element', 'sap/ui/core/library'],
19
19
  * @class
20
20
  * Represents a DOM attribute of a DOM element.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.95.0
22
+ * @version 1.96.3
23
23
  *
24
24
  * @public
25
25
  * @since 1.15
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class
28
28
  * Represents a DOM element. It allows to use databinding for the properties and nested DOM attributes.
29
29
  * @extends sap.ui.core.Control
30
- * @version 1.95.0
30
+ * @version 1.96.3
31
31
  *
32
32
  * @public
33
33
  * @since 1.15
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.core.tmpl.Template
47
47
  * @abstract
48
48
  * @author SAP SE
49
- * @version 1.95.0
49
+ * @version 1.96.3
50
50
  * @alias sap.ui.core.tmpl.HandlebarsTemplate
51
51
  * @since 1.15
52
52
  * @deprecated since 1.56
@@ -52,7 +52,7 @@ function(
52
52
  * @extends sap.ui.base.ManagedObject
53
53
  * @abstract
54
54
  * @author SAP SE
55
- * @version 1.95.0
55
+ * @version 1.96.3
56
56
  * @alias sap.ui.core.tmpl.Template
57
57
  * @since 1.15
58
58
  * @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or {@link sap.ui.core.mvc.JSView JSView} instead.
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @class
44
44
  * This is the base class for all template controls. Template controls are declared based on templates.
45
45
  * @extends sap.ui.core.Control
46
- * @version 1.95.0
46
+ * @version 1.96.3
47
47
  *
48
48
  * @public
49
49
  * @since 1.15
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  *
13
13
  * @class Utility class for asyncHints
14
14
  * @author SAP SE
15
- * @version 1.95.0
15
+ * @version 1.96.3
16
16
  *
17
17
  * @private
18
18
  * @ui5-restricted sap.ushell
@@ -141,7 +141,7 @@ sap.ui.define([
141
141
  * @extends sap.ui.core.Control
142
142
  *
143
143
  * @author SAP SE
144
- * @version 1.95.0
144
+ * @version 1.96.3
145
145
  * @since 1.22.0
146
146
  *
147
147
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.95.0
23
+ * @version 1.96.3
24
24
  * @since 1.22.0
25
25
  *
26
26
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.base.ManagedObject
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.95.0
26
+ * @version 1.96.3
27
27
  * @since 1.22.0
28
28
  *
29
29
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.base.ManagedObject
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.95.0
26
+ * @version 1.96.3
27
27
  * @since 1.22.0
28
28
  *
29
29
  * @public