@openui5/sap.ui.core 1.93.1 → 1.96.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 (426) hide show
  1. package/.eslintrc.json +13 -2
  2. package/.reuse/dep5 +11 -11
  3. package/THIRDPARTY.txt +20 -17
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +5 -2
  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/jquery.sap.stubs.js +2 -1
  11. package/src/jquery.sap.trace.js +2 -1
  12. package/src/sap/base/i18n/ResourceBundle.js +6 -2
  13. package/src/sap/base/strings/whitespaceReplacer.js +52 -0
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +37 -42
  56. package/src/sap/ui/Global.js +8 -7
  57. package/src/sap/ui/base/DataType.js +14 -8
  58. package/src/sap/ui/base/Event.js +1 -1
  59. package/src/sap/ui/base/EventProvider.js +1 -1
  60. package/src/sap/ui/base/ExpressionParser.js +9 -6
  61. package/src/sap/ui/base/Interface.js +3 -49
  62. package/src/sap/ui/base/ManagedObject.js +12 -7
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +49 -4
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/base/syncXHRFix.js +2 -1
  68. package/src/sap/ui/core/.library +6 -6
  69. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  70. package/src/sap/ui/core/BusyIndicator.js +1 -11
  71. package/src/sap/ui/core/Component.js +300 -140
  72. package/src/sap/ui/core/ComponentContainer.js +24 -8
  73. package/src/sap/ui/core/ComponentMetadata.js +14 -3
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +67 -31
  76. package/src/sap/ui/core/Control.js +1 -1
  77. package/src/sap/ui/core/Core.js +103 -25
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
  80. package/src/sap/ui/core/DeclarativeSupport.js +3 -2
  81. package/src/sap/ui/core/Element.js +1 -1
  82. package/src/sap/ui/core/ElementMetadata.js +4 -2
  83. package/src/sap/ui/core/EnabledPropagator.js +91 -73
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +7 -14
  86. package/src/sap/ui/core/Fragment.js +30 -32
  87. package/src/sap/ui/core/HTML.js +1 -1
  88. package/src/sap/ui/core/History.js +1 -1
  89. package/src/sap/ui/core/Icon.js +7 -8
  90. package/src/sap/ui/core/IconPool.js +26 -1097
  91. package/src/sap/ui/core/IconRenderer.js +6 -6
  92. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  93. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  94. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  95. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  96. package/src/sap/ui/core/InvisibleText.js +1 -1
  97. package/src/sap/ui/core/Item.js +1 -1
  98. package/src/sap/ui/core/LabelEnablement.js +1 -1
  99. package/src/sap/ui/core/LayoutData.js +1 -1
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +26 -4
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +4 -61
  105. package/src/sap/ui/core/Message.js +1 -1
  106. package/src/sap/ui/core/Patcher.js +27 -3
  107. package/src/sap/ui/core/Placeholder.js +28 -15
  108. package/src/sap/ui/core/RenderManager.js +36 -6
  109. package/src/sap/ui/core/Renderer.js +13 -3
  110. package/src/sap/ui/core/ResizeHandler.js +1 -1
  111. package/src/sap/ui/core/ScrollBar.js +2 -2
  112. package/src/sap/ui/core/SeparatorItem.js +1 -1
  113. package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
  114. package/src/sap/ui/core/Title.js +1 -1
  115. package/src/sap/ui/core/TooltipBase.js +1 -1
  116. package/src/sap/ui/core/UIArea.js +1 -1
  117. package/src/sap/ui/core/UIComponent.js +42 -16
  118. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  119. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  120. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  121. package/src/sap/ui/core/XMLComposite.js +2 -2
  122. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  123. package/src/sap/ui/core/XMLTemplateProcessor.js +97 -41
  124. package/src/sap/ui/core/_IconRegistry.js +1148 -0
  125. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  126. package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -3
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  129. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  131. package/src/sap/ui/core/format/NumberFormat.js +16 -1
  132. package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
  133. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
  134. package/src/sap/ui/core/library.js +3 -3
  135. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  136. package/src/sap/ui/core/message/Message.js +1 -1
  137. package/src/sap/ui/core/message/MessageManager.js +13 -15
  138. package/src/sap/ui/core/message/MessageParser.js +1 -1
  139. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  140. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  141. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  142. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  143. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  144. package/src/sap/ui/core/messagebundle_th.properties +2 -2
  145. package/src/sap/ui/core/mvc/Controller.js +38 -19
  146. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
  147. package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
  148. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  149. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  150. package/src/sap/ui/core/mvc/JSView.js +2 -2
  151. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  152. package/src/sap/ui/core/mvc/View.js +58 -85
  153. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  154. package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
  155. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  156. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  157. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  158. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  159. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  160. package/src/sap/ui/core/routing/History.js +10 -2
  161. package/src/sap/ui/core/routing/Router.js +8 -1
  162. package/src/sap/ui/core/routing/Target.js +13 -0
  163. package/src/sap/ui/core/routing/Targets.js +13 -2
  164. package/src/sap/ui/core/routing/async/Route.js +1 -1
  165. package/src/sap/ui/core/routing/async/Target.js +353 -259
  166. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  167. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  168. package/src/sap/ui/core/service/Service.js +1 -1
  169. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  170. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  171. package/src/sap/ui/core/support/BootSupportTool.js +11 -0
  172. package/src/sap/ui/core/support/InteractionTree.css +4 -0
  173. package/src/sap/ui/core/support/Plugin.js +1 -1
  174. package/src/sap/ui/core/support/Support.js +1 -1
  175. package/src/sap/ui/core/support/ViewInfo.css +599 -0
  176. package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
  177. package/src/sap/ui/core/support/controls/ObjectViewer.js +3 -41
  178. package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
  179. package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
  180. package/src/sap/ui/core/support/plugins/ControlTree.js +59 -68
  181. package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
  182. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  183. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  184. package/src/sap/ui/core/support/plugins/Performance.js +147 -75
  185. package/src/sap/ui/core/support/plugins/Selector.js +19 -24
  186. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
  187. package/src/sap/ui/core/support/plugins/Trace.js +95 -32
  188. package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
  189. package/src/sap/ui/core/support/support.css +109 -14
  190. package/src/sap/ui/core/support/support.html +6 -2
  191. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
  192. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
  193. package/src/sap/ui/core/themes/base/Icon.less +9 -0
  194. package/src/sap/ui/core/themes/base/SAP-icons.css +2 -0
  195. package/src/sap/ui/core/themes/base/SAP-icons.less +10 -0
  196. package/src/sap/ui/core/themes/base/base.less +543 -390
  197. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  198. package/src/sap/ui/core/themes/base/global.less +38 -0
  199. package/src/sap/ui/core/themes/base/library.source.less +1 -2
  200. package/src/sap/ui/core/themes/sap_hcb/global.less +34 -0
  201. package/src/sap/ui/core/theming/Parameters.js +6 -4
  202. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  203. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  204. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  205. package/src/sap/ui/core/tmpl/Template.js +10 -28
  206. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
  207. package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
  208. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  209. package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
  210. package/src/sap/ui/core/util/Export.js +1 -1
  211. package/src/sap/ui/core/util/ExportCell.js +1 -1
  212. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  213. package/src/sap/ui/core/util/ExportRow.js +1 -1
  214. package/src/sap/ui/core/util/ExportType.js +1 -1
  215. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  216. package/src/sap/ui/core/util/File.js +1 -1
  217. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  218. package/src/sap/ui/core/util/MockServer.js +5 -5
  219. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
  220. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  221. package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
  222. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +136 -63
  223. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +170 -153
  224. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +424 -293
  225. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  226. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  227. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  228. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  229. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  230. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  231. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  232. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  233. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  234. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  235. package/src/sap/ui/debug/ControlTree.js +10 -4
  236. package/src/sap/ui/debug/DebugEnv.js +3 -4
  237. package/src/sap/ui/debug/Highlighter.js +8 -2
  238. package/src/sap/ui/debug/PropertyList.css +55 -0
  239. package/src/sap/ui/debug/PropertyList.js +111 -182
  240. package/src/sap/ui/model/Binding.js +174 -118
  241. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  242. package/src/sap/ui/model/ClientListBinding.js +1 -3
  243. package/src/sap/ui/model/ClientModel.js +4 -4
  244. package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
  245. package/src/sap/ui/model/ClientTreeBinding.js +15 -9
  246. package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
  247. package/src/sap/ui/model/CompositeBinding.js +98 -77
  248. package/src/sap/ui/model/CompositeDataState.js +2 -2
  249. package/src/sap/ui/model/CompositeType.js +2 -2
  250. package/src/sap/ui/model/Context.js +4 -2
  251. package/src/sap/ui/model/ContextBinding.js +6 -14
  252. package/src/sap/ui/model/DataState.js +2 -2
  253. package/src/sap/ui/model/Filter.js +255 -53
  254. package/src/sap/ui/model/FilterOperator.js +1 -1
  255. package/src/sap/ui/model/FilterProcessor.js +27 -17
  256. package/src/sap/ui/model/FilterType.js +1 -1
  257. package/src/sap/ui/model/ListBinding.js +180 -117
  258. package/src/sap/ui/model/MetaModel.js +4 -9
  259. package/src/sap/ui/model/Model.js +345 -294
  260. package/src/sap/ui/model/PropertyBinding.js +92 -58
  261. package/src/sap/ui/model/SelectionModel.js +2 -2
  262. package/src/sap/ui/model/SimpleType.js +2 -2
  263. package/src/sap/ui/model/Sorter.js +1 -1
  264. package/src/sap/ui/model/SorterProcessor.js +1 -1
  265. package/src/sap/ui/model/StaticBinding.js +1 -1
  266. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  267. package/src/sap/ui/model/TreeBinding.js +1 -1
  268. package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
  269. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
  270. package/src/sap/ui/model/TreeBindingUtils.js +1 -0
  271. package/src/sap/ui/model/Type.js +1 -1
  272. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -4
  273. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  274. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  275. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  276. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  277. package/src/sap/ui/model/analytics/odata4analytics.js +34 -25
  278. package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
  279. package/src/sap/ui/model/json/JSONListBinding.js +8 -5
  280. package/src/sap/ui/model/json/JSONModel.js +24 -15
  281. package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
  282. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  283. package/src/sap/ui/model/message/MessageListBinding.js +6 -3
  284. package/src/sap/ui/model/message/MessageModel.js +23 -15
  285. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  286. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  287. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  288. package/src/sap/ui/model/odata/CountMode.js +1 -1
  289. package/src/sap/ui/model/odata/Filter.js +1 -1
  290. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  291. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  292. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  293. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  294. package/src/sap/ui/model/odata/ODataMetaModel.js +5 -3
  295. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  296. package/src/sap/ui/model/odata/ODataModel.js +8 -7
  297. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  298. package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
  299. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  300. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
  301. package/src/sap/ui/model/odata/ODataUtils.js +13 -11
  302. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  303. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  304. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  305. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  306. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  307. package/src/sap/ui/model/odata/type/Date.js +1 -1
  308. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  309. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  310. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  311. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  312. package/src/sap/ui/model/odata/type/Double.js +1 -1
  313. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  314. package/src/sap/ui/model/odata/type/Int.js +1 -1
  315. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  316. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  317. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  318. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  319. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  320. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  321. package/src/sap/ui/model/odata/type/Single.js +1 -1
  322. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  323. package/src/sap/ui/model/odata/type/String.js +1 -1
  324. package/src/sap/ui/model/odata/type/Time.js +1 -1
  325. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  326. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  327. package/src/sap/ui/model/odata/v2/Context.js +81 -9
  328. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -3
  329. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +39 -49
  330. package/src/sap/ui/model/odata/v2/ODataListBinding.js +236 -73
  331. package/src/sap/ui/model/odata/v2/ODataModel.js +314 -164
  332. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +110 -97
  333. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
  334. package/src/sap/ui/model/odata/v4/Context.js +6 -3
  335. package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -6
  336. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +117 -40
  337. package/src/sap/ui/model/odata/v4/ODataListBinding.js +95 -15
  338. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -31
  339. package/src/sap/ui/model/odata/v4/ODataModel.js +86 -78
  340. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -28
  341. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -7
  342. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
  343. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +8 -1
  344. package/src/sap/ui/model/odata/v4/lib/_Cache.js +24 -16
  345. package/src/sap/ui/model/odata/v4/lib/_Helper.js +32 -30
  346. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +52 -17
  347. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
  348. package/src/sap/ui/model/resource/ResourceModel.js +6 -2
  349. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  350. package/src/sap/ui/model/type/Boolean.js +2 -2
  351. package/src/sap/ui/model/type/Currency.js +2 -2
  352. package/src/sap/ui/model/type/Date.js +9 -3
  353. package/src/sap/ui/model/type/DateInterval.js +4 -2
  354. package/src/sap/ui/model/type/DateTime.js +2 -2
  355. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  356. package/src/sap/ui/model/type/FileSize.js +4 -2
  357. package/src/sap/ui/model/type/Float.js +4 -2
  358. package/src/sap/ui/model/type/Integer.js +4 -2
  359. package/src/sap/ui/model/type/String.js +2 -2
  360. package/src/sap/ui/model/type/Time.js +2 -2
  361. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  362. package/src/sap/ui/model/type/Unit.js +14 -7
  363. package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
  364. package/src/sap/ui/model/xml/XMLModel.js +70 -41
  365. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
  366. package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
  367. package/src/sap/ui/performance/trace/Interaction.js +30 -15
  368. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  369. package/src/sap/ui/qunit/QUnitUtils.js +3 -2
  370. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  371. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
  372. package/src/sap/ui/test/TestUtils.js +11 -4
  373. package/src/sap/ui/test/actions/Drag.js +6 -2
  374. package/src/sap/ui/test/actions/Drop.js +6 -2
  375. package/src/sap/ui/test/actions/EnterText.js +6 -0
  376. package/src/sap/ui/test/actions/Press.js +6 -0
  377. package/src/sap/ui/test/actions/Scroll.js +6 -0
  378. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
  379. package/src/sap/ui/test/launchers/componentLauncher.js +0 -4
  380. package/src/sap/ui/test/matchers/I18NText.js +29 -11
  381. package/src/sap/ui/test/opaQunit.js +5 -0
  382. package/src/sap/ui/thirdparty/IPv6.js +2 -2
  383. package/src/sap/ui/thirdparty/SecondLevelDomains.js +2 -2
  384. package/src/sap/ui/thirdparty/URI.js +14 -5
  385. package/src/sap/ui/thirdparty/URITemplate.js +2 -2
  386. package/src/sap/ui/thirdparty/crossroads.js +6 -4
  387. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
  388. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
  389. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
  390. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
  391. package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
  392. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
  393. package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
  394. package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
  395. package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
  396. package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
  397. package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
  398. package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
  399. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
  400. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
  401. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
  402. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
  403. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
  404. package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
  405. package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
  406. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
  407. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
  408. package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
  409. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
  410. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
  411. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
  412. package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
  413. package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
  414. package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
  415. package/src/sap/ui/thirdparty/jquery.js +9 -1
  416. package/src/sap/ui/thirdparty/qunit-2.js +1 -1
  417. package/src/sap/ui/thirdparty/qunit.js +1 -1
  418. package/src/sap/ui/util/Mobile.js +2 -20
  419. package/src/sap/ui/util/Storage.js +1 -1
  420. package/src/sap/ui/util/isCrossOriginURL.js +16 -6
  421. package/src/sap-ui-core-nojQuery.js +1 -1
  422. package/src/sap-ui-core.js +1 -1
  423. package/src/sap-ui-debug.js +3 -17
  424. package/ui5.yaml +5 -2
  425. package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
  426. package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
@@ -8,6 +8,7 @@ sap.ui.define([
8
8
  "sap/ui/core/support/techinfo/moduleTreeHelper",
9
9
  "sap/ui/Device",
10
10
  "sap/ui/Global",
11
+ "sap/ui/VersionInfo",
11
12
  "sap/ui/core/format/DateFormat",
12
13
  "sap/ui/model/resource/ResourceModel",
13
14
  "sap/ui/model/json/JSONModel",
@@ -20,11 +21,13 @@ sap.ui.define([
20
21
  "sap/ui/util/Storage",
21
22
  "sap/ui/core/syncStyleClass",
22
23
  "sap/base/Log",
24
+ "sap/ui/core/Fragment",
23
25
  "sap/ui/thirdparty/jquery"
24
26
  ], function(
25
27
  moduleTreeHelper,
26
28
  Device,
27
29
  Global,
30
+ VersionInfo,
28
31
  DateFormat,
29
32
  ResourceModel,
30
33
  JSONModel,
@@ -37,6 +40,7 @@ sap.ui.define([
37
40
  Storage,
38
41
  syncStyleClass,
39
42
  Log,
43
+ Fragment,
40
44
  jQuery
41
45
  ) {
42
46
  "use strict";
@@ -68,8 +72,8 @@ sap.ui.define([
68
72
  * @param{function} fnCallback Callback that can be executed to fetch library and module information
69
73
  */
70
74
  open: function (fnCallback) {
71
- // early out if already open
72
- if (this._oDialog && this._oDialog.isOpen()) {
75
+ // early out if already loading or open
76
+ if (this._pOpenDialog) {
73
77
  return;
74
78
  }
75
79
 
@@ -77,32 +81,45 @@ sap.ui.define([
77
81
  this._oModuleSystemInfo = fnCallback() || {};
78
82
 
79
83
  // create dialog lazily
80
- if (!this._oDialog) {
81
- this._oDialog = sap.ui.xmlfragment(this._TECHNICAL_INFO_DIALOG_ID, "sap.ui.core.support.techinfo.TechnicalInfo", this);
82
- }
83
-
84
- // refresh configuration data and open dialog
85
- this._initialize();
86
- this._oDialog.open();
84
+ this._loadAndInitialize().then(function() {
85
+ this._oDialog.open();
86
+ this._bIsBeingClosed = false;
87
+ }.bind(this));
87
88
  },
88
89
 
89
90
  /**
90
- * Closes the technical information dialog
91
+ * Closes the technical information dialog.
91
92
  */
92
93
  close: function() {
93
- this._oDialog.close();
94
- this._oDialog.destroy();
95
- this._oDialog = null;
96
-
97
- if (this._oAssistantPopover) {
98
- this._oAssistantPopover.destroy();
99
- this._oAssistantPopover = null;
94
+ if ( !this._pDestroyDialog ) {
95
+ this._bIsBeingClosed = true;
96
+ this._pDestroyDialog = Promise.all([
97
+ Promise.resolve(this._pAssistantPopover)
98
+ .then(function() {
99
+ if (this._oAssistantPopover) {
100
+ this._oAssistantPopover.destroy();
101
+ this._oAssistantPopover = null;
102
+ }
103
+ this._pAssistantPopover = null;
104
+ }.bind(this)),
105
+ Promise.resolve(this._pDebugPopover)
106
+ .then(function() {
107
+ if (this._oDebugPopover) {
108
+ this._oDebugPopover.destroy();
109
+ this._oDebugPopover = null;
110
+ }
111
+ this._pDebugPopover = null;
112
+ }.bind(this))
113
+ ]).then(function() {
114
+ this._oDialog.close();
115
+ this._oDialog.destroy();
116
+ this._oDialog = null;
117
+ this._pOpenDialog = null;
118
+ this._pDestroyDialog = null;
119
+ }.bind(this));
100
120
  }
101
121
 
102
- if (this._oDebugPopover) {
103
- this._oDebugPopover.destroy();
104
- this._oDebugPopover = null;
105
- }
122
+ return this._pDestroyDialog;
106
123
  },
107
124
 
108
125
  /* =========================================================== */
@@ -185,10 +202,11 @@ sap.ui.define([
185
202
  this._updateTreeInfos();
186
203
 
187
204
  // create dialog lazily
188
- if (!this._oDebugPopover) {
189
- this._oDebugPopover = sap.ui.xmlfragment(this._DEBUG_MODULES_ID, "sap.ui.core.support.techinfo.TechnicalInfoDebugDialog", this);
190
- this._oDialog.addDependent(this._oDebugPopover);
191
- syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oDebugPopover);
205
+ this._loadDebugPopover().then(function() {
206
+ // out early if TechnicalInfo is closing
207
+ if (this._bIsBeingClosed) {
208
+ return;
209
+ }
192
210
  var oControl = this._getControl("customDebugValue", this._DEBUG_MODULES_ID);
193
211
  try {
194
212
  this._validateCustomDebugValue(oControl.getValue());
@@ -196,13 +214,12 @@ sap.ui.define([
196
214
  this._showError(oControl, oException.message);
197
215
  return;
198
216
  }
199
- }
217
+ // adopt tree depth to the deepest currently selected module
218
+ this._getControl("tree", this._DEBUG_MODULES_ID).expandToLevel(Math.max(this._MIN_EXPAND_LEVEL_DEBUG_MODULES, oTreeResults.depth));
200
219
 
201
- // adopt tree depth to the deepest currently selected module
202
- this._getControl("tree", this._DEBUG_MODULES_ID).expandToLevel(Math.max(this._MIN_EXPAND_LEVEL_DEBUG_MODULES, oTreeResults.depth));
203
-
204
- // open dialog
205
- this._oDebugPopover.open();
220
+ // open dialog
221
+ this._oDebugPopover.open();
222
+ }.bind(this));
206
223
  },
207
224
 
208
225
  /**
@@ -411,36 +428,30 @@ sap.ui.define([
411
428
  return;
412
429
  }
413
430
  // create dialog lazily
414
- if (!this._oAssistantPopover) {
415
- this._oAssistantPopover = sap.ui.xmlfragment(this._SUPPORT_ASSISTANT_POPOVER_ID, "sap.ui.core.support.techinfo.TechnicalInfoAssistantPopover", this);
416
- this._oAssistantPopover.attachAfterOpen(this._onAssistantPopoverOpened, this);
417
- this._oDialog.addDependent(this._oAssistantPopover);
418
- syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oAssistantPopover);
419
-
420
- // register message validation and trigger it once to validate the value coming from local storage
421
- var oCustomBootstrapURL = this._getControl("customBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID);
422
- sap.ui.getCore().getMessageManager().registerObject(oCustomBootstrapURL, true);
423
-
424
- }
425
-
426
- // enable or disable default option for version >= 1.48
427
- var oCurrentItem = this._getControl("standardBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID).getItems()[0];
428
- if (this._isVersionBiggerThanMinSupported()) {
429
- var sAppVersion = sap.ui.getCore().getConfiguration().getVersion().toString();
430
- oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", sAppVersion));
431
- oCurrentItem.setEnabled(true);
432
- } else {
433
- oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", "not supported"));
434
- oCurrentItem.setEnabled(false);
435
- }
431
+ this._loadAssistantPopover().then(function() {
432
+ // out early if TechnicalInfo is closing
433
+ if (this._bIsBeingClosed) {
434
+ return;
435
+ }
436
+ // enable or disable default option for version >= 1.48
437
+ var oCurrentItem = this._getControl("standardBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID).getItems()[0];
438
+ if (this._isVersionBiggerThanMinSupported()) {
439
+ var sAppVersion = sap.ui.getCore().getConfiguration().getVersion().toString();
440
+ oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", sAppVersion));
441
+ oCurrentItem.setEnabled(true);
442
+ } else {
443
+ oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", "not supported"));
444
+ oCurrentItem.setEnabled(false);
445
+ }
436
446
 
437
- var oModel = this._oDialog.getModel("view"),
438
- sSelectedLocation = oModel.getProperty("/SelectedLocation");
447
+ var oModel = this._oDialog.getModel("view"),
448
+ sSelectedLocation = oModel.getProperty("/SelectedLocation");
439
449
 
440
- this._setActiveLocations(sSelectedLocation);
450
+ this._setActiveLocations(sSelectedLocation);
441
451
 
442
- var oSupportAssistantSettingsButton = this._getControl("supportAssistantSettingsButton", this._TECHNICAL_INFO_DIALOG_ID);
443
- this._oAssistantPopover.openBy(oSupportAssistantSettingsButton);
452
+ var oSupportAssistantSettingsButton = this._getControl("supportAssistantSettingsButton", this._TECHNICAL_INFO_DIALOG_ID);
453
+ this._oAssistantPopover.openBy(oSupportAssistantSettingsButton);
454
+ }.bind(this));
444
455
  },
445
456
 
446
457
  /* =========================================================== */
@@ -581,8 +592,33 @@ sap.ui.define([
581
592
  });
582
593
  },
583
594
 
584
- /**
585
- * Initalizes the technical information dialog
595
+ _loadAndInitialize: function() {
596
+ // create dialog lazily
597
+ this._pOpenDialog =
598
+ Promise.all([
599
+ sap.ui.getCore().loadLibraries(["sap.ui.core", "sap.ui.layout", "sap.m"]),
600
+ this._loadVersionInfo(),
601
+ this._pDestroyDialog // wait for a pending destroy to finish
602
+ ]).then(function() {
603
+ return Fragment.load({
604
+ id: this._TECHNICAL_INFO_DIALOG_ID,
605
+ name: "sap.ui.core.support.techinfo.TechnicalInfo",
606
+ controller: this
607
+ });
608
+ }.bind(this)).then(function(oDialog) {
609
+ this._oDialog = oDialog;
610
+ // refresh configuration data and open dialog
611
+ return this._initialize();
612
+ }.bind(this)).then(function() {
613
+ this._oDialog.open();
614
+ this._bIsBeingClosed = false;
615
+ }.bind(this));
616
+
617
+ return this._pOpenDialog;
618
+ },
619
+
620
+ /**
621
+ * Initalizes the technical information dialog.
586
622
  * @private
587
623
  */
588
624
  _initialize: function () {
@@ -597,6 +633,18 @@ sap.ui.define([
597
633
  this._oDialog.addStyleClass(this._getContentDensityClass());
598
634
  },
599
635
 
636
+ _loadVersionInfo: function() {
637
+ return VersionInfo.load().catch(function(err) {
638
+ Log.error("failed to load global version info", err);
639
+ return {
640
+ name: "",
641
+ version: ""
642
+ };
643
+ }).then(function(oVersionInfo) {
644
+ this._oVersionInfo = oVersionInfo;
645
+ }.bind(this));
646
+ },
647
+
600
648
  /**
601
649
  * Initializes the view model with the current runtime information
602
650
  * @private
@@ -623,23 +671,16 @@ sap.ui.define([
623
671
  });
624
672
 
625
673
  // load version info into view model
626
- var oVersionInfo = {};
627
- try {
628
- oVersionInfo = Global.getVersionInfo();
629
- oViewModel.setProperty("/ProductName", oVersionInfo.name);
630
- oViewModel.setProperty("/ProductVersion", oVersionInfo.version);
631
- } catch (oException) {
632
- oVersionInfo.version = "";
633
- Log.error("failed to load global version info");
634
- }
674
+ oViewModel.setProperty("/ProductName", this._oVersionInfo.name);
675
+ oViewModel.setProperty("/ProductVersion", this._oVersionInfo.version);
635
676
 
636
677
  try {
637
- oViewModel.setProperty("/ProductTimestamp", this._generateLocalizedBuildDate(oVersionInfo.buildTimestamp));
678
+ oViewModel.setProperty("/ProductTimestamp", this._generateLocalizedBuildDate(this._oVersionInfo.buildTimestamp));
638
679
  } catch (oException) {
639
680
  Log.error("failed to parse build timestamp from global version info");
640
681
  }
641
682
 
642
- if (!/openui5/i.test(oVersionInfo.name)) {
683
+ if (!/openui5/i.test(this._oVersionInfo.name)) {
643
684
  oViewModel.setProperty("/OpenUI5ProductVersion", Global.version);
644
685
  // convert build timestamp
645
686
  try {
@@ -651,7 +692,7 @@ sap.ui.define([
651
692
 
652
693
  var sAppVersion;
653
694
  try {
654
- sAppVersion = this._getText("TechInfo.SupportAssistantConfigPopup.AppVersionOption", oVersionInfo.version);
695
+ sAppVersion = this._getText("TechInfo.SupportAssistantConfigPopup.AppVersionOption", this._oVersionInfo.version);
655
696
  } catch (oException) {
656
697
  sAppVersion = "Application";
657
698
  }
@@ -940,6 +981,42 @@ sap.ui.define([
940
981
  oModel.setProperty("/DebugModuleSelectionCount", this._treeHelper.getSelectionCount(oTreeData));
941
982
  sDisplayCount = oModel.getProperty("/DebugModuleSelectionCount").toString();
942
983
  oModel.setProperty("/DebugModulesTitle", this._getText("TechInfo.DebugModulesConfigPopup.SelectionCounter", sDisplayCount));
984
+ },
985
+
986
+ _loadDebugPopover: function() {
987
+ // create dialog lazily
988
+ if (!this._pDebugPopover) {
989
+ this._pDebugPopover = Fragment.load({
990
+ id: this._DEBUG_MODULES_ID,
991
+ name: "sap.ui.core.support.techinfo.TechnicalInfoDebugDialog",
992
+ controller: this
993
+ }).then(function(oDebugPopover) {
994
+ this._oDebugPopover = oDebugPopover;
995
+ this._oDialog.addDependent(this._oDebugPopover);
996
+ syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oDebugPopover);
997
+ }.bind(this));
998
+ }
999
+ return this._pDebugPopover;
1000
+ },
1001
+
1002
+ _loadAssistantPopover: function() {
1003
+ if (!this._pAssistantPopover) {
1004
+ this._pAssistantPopover = Fragment.load({
1005
+ id: this._SUPPORT_ASSISTANT_POPOVER_ID,
1006
+ name: "sap.ui.core.support.techinfo.TechnicalInfoAssistantPopover",
1007
+ controller: this
1008
+ }).then(function(oAssistantPopover) {
1009
+ this._oAssistantPopover = oAssistantPopover;
1010
+ this._oAssistantPopover.attachAfterOpen(this._onAssistantPopoverOpened, this);
1011
+ this._oDialog.addDependent(this._oAssistantPopover);
1012
+ syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oAssistantPopover);
1013
+
1014
+ // register message validation and trigger it once to validate the value coming from local storage
1015
+ var oCustomBootstrapURL = this._getControl("customBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID);
1016
+ sap.ui.getCore().getMessageManager().registerObject(oCustomBootstrapURL, true);
1017
+ }.bind(this));
1018
+ }
1019
+ return this._pAssistantPopover;
943
1020
  }
944
1021
  };
945
1022
  });
@@ -9,6 +9,7 @@
9
9
  display: inline-block;
10
10
  vertical-align: baseline;
11
11
  line-height: 1;
12
+ position: relative;
12
13
  }
13
14
 
14
15
  .sapUiIconPointer {
@@ -28,6 +29,14 @@
28
29
  -webkit-font-smoothing: antialiased;
29
30
  }
30
31
 
32
+ .sapUiIcon > .sapUiIconTitle {
33
+ position: absolute;
34
+ width: 100%;
35
+ height: 100%;
36
+ left: 0;
37
+ top: 0;
38
+ }
39
+
31
40
  /*
32
41
  * The mirroring of icon is done on the pesudo element and not the root DOM.
33
42
  * Because:
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Do NOT use any LESS syntax in this file because it may be used externally without UI5
3
+ *
4
+ * NOTE: This file must be kept in sync with SAP-icons.less
3
5
  */
4
6
  @font-face {
5
7
  font-family: "SAP-icons";
@@ -0,0 +1,10 @@
1
+ // NOTE: This file must be kept in sync with SAP-icons.css
2
+
3
+ @font-face {
4
+ font-family: "SAP-icons";
5
+ src:
6
+ @sapUiIconFontUrl format('woff2'),
7
+ local('SAP-icons'); /* fallback to local installed font in case it can't be loaded (e.g. font download is disabled due to browser security settings) */
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }