@openui5/sap.ui.core 1.115.1 → 1.116.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 (541) hide show
  1. package/.dtsgenrc +18 -0
  2. package/.eslintrc.json +11 -0
  3. package/.reuse/dep5 +0 -5
  4. package/THIRDPARTY.txt +1 -7
  5. package/package.json +1 -1
  6. package/src/jquery.sap.global.js +1 -1
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.sjax.js +2 -2
  11. package/src/jquery.sap.storage.js +3 -3
  12. package/src/sap/base/Event.js +106 -0
  13. package/src/sap/base/Eventing.js +320 -0
  14. package/src/sap/base/config.js +1 -1
  15. package/src/sap/base/i18n/Formatting.js +991 -0
  16. package/src/sap/base/i18n/LanguageTag.js +189 -0
  17. package/src/sap/base/i18n/Localization.js +711 -0
  18. package/src/sap/base/i18n/ResourceBundle.js +5 -20
  19. package/src/sap/base/i18n/date/CalendarType.js +54 -0
  20. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  21. package/src/sap/base/i18n/date/TimezoneUtils.js +287 -0
  22. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  23. package/src/sap/base/util/restricted/_castArray.js +1 -1
  24. package/src/sap/base/util/restricted/_compact.js +1 -1
  25. package/src/sap/base/util/restricted/_curry.js +1 -1
  26. package/src/sap/base/util/restricted/_debounce.js +1 -1
  27. package/src/sap/base/util/restricted/_difference.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  29. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  32. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  33. package/src/sap/base/util/restricted/_flatten.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  35. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  36. package/src/sap/base/util/restricted/_intersection.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  38. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  40. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  41. package/src/sap/base/util/restricted/_isNil.js +1 -1
  42. package/src/sap/base/util/restricted/_max.js +1 -1
  43. package/src/sap/base/util/restricted/_merge.js +1 -1
  44. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  45. package/src/sap/base/util/restricted/_min.js +1 -1
  46. package/src/sap/base/util/restricted/_omit.js +1 -1
  47. package/src/sap/base/util/restricted/_pick.js +1 -1
  48. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  49. package/src/sap/base/util/restricted/_throttle.js +1 -1
  50. package/src/sap/base/util/restricted/_toArray.js +1 -1
  51. package/src/sap/base/util/restricted/_union.js +1 -1
  52. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  53. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  54. package/src/sap/base/util/restricted/_uniq.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  56. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  57. package/src/sap/base/util/restricted/_without.js +1 -1
  58. package/src/sap/base/util/restricted/_xor.js +1 -1
  59. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  60. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  62. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  63. package/src/sap/ui/Device.js +3 -3
  64. package/src/sap/ui/Global.js +4 -4
  65. package/src/sap/ui/base/Event.js +1 -1
  66. package/src/sap/ui/base/EventProvider.js +4 -12
  67. package/src/sap/ui/base/Interface.js +1 -1
  68. package/src/sap/ui/base/ManagedObject.js +8 -12
  69. package/src/sap/ui/base/ManagedObjectMetadata.js +30 -7
  70. package/src/sap/ui/base/Metadata.js +1 -1
  71. package/src/sap/ui/base/Object.js +1 -1
  72. package/src/sap/ui/base/ObjectPool.js +1 -1
  73. package/src/sap/ui/base/SyncPromise.js +10 -5
  74. package/src/sap/ui/core/.library +2 -2
  75. package/src/sap/ui/core/AccessKeysEnablement.js +10 -5
  76. package/src/sap/ui/core/AnimationMode.js +49 -0
  77. package/src/sap/ui/core/BusyIndicator.js +33 -42
  78. package/src/sap/ui/core/CalendarType.js +11 -37
  79. package/src/sap/ui/core/Component.js +4 -5
  80. package/src/sap/ui/core/ComponentContainer.js +1 -1
  81. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  82. package/src/sap/ui/core/ComponentSupport.js +1 -1
  83. package/src/sap/ui/core/Configuration.js +409 -1270
  84. package/src/sap/ui/core/Control.js +4 -12
  85. package/src/sap/ui/core/ControlBehavior.js +157 -0
  86. package/src/sap/ui/core/Core.js +124 -132
  87. package/src/sap/ui/core/CustomData.js +1 -1
  88. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  89. package/src/sap/ui/core/Element.js +14 -3
  90. package/src/sap/ui/core/ElementMetadata.js +1 -1
  91. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  92. package/src/sap/ui/core/EventBus.js +1 -1
  93. package/src/sap/ui/core/Fragment.js +1 -1
  94. package/src/sap/ui/core/HTML.js +1 -1
  95. package/src/sap/ui/core/History.js +1 -1
  96. package/src/sap/ui/core/Icon.js +1 -1
  97. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  98. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  99. package/src/sap/ui/core/InvisibleMessage.js +5 -7
  100. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  101. package/src/sap/ui/core/InvisibleText.js +12 -12
  102. package/src/sap/ui/core/Item.js +1 -1
  103. package/src/sap/ui/core/LabelEnablement.js +1 -1
  104. package/src/sap/ui/core/LayoutData.js +1 -1
  105. package/src/sap/ui/core/Lib.js +109 -22
  106. package/src/sap/ui/core/ListItem.js +1 -1
  107. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  108. package/src/sap/ui/core/Locale.js +151 -430
  109. package/src/sap/ui/core/LocaleData.js +39 -11
  110. package/src/sap/ui/core/Manifest.js +1 -1
  111. package/src/sap/ui/core/Message.js +1 -1
  112. package/src/sap/ui/core/RenderManager.js +1 -1
  113. package/src/sap/ui/core/Renderer.js +1 -1
  114. package/src/sap/ui/core/ResizeHandler.js +1 -1
  115. package/src/sap/ui/core/ScrollBar.js +1 -1
  116. package/src/sap/ui/core/SeparatorItem.js +1 -1
  117. package/src/sap/ui/core/StaticArea.js +31 -17
  118. package/src/sap/ui/core/Theming.js +451 -0
  119. package/src/sap/ui/core/Title.js +1 -1
  120. package/src/sap/ui/core/TooltipBase.js +1 -1
  121. package/src/sap/ui/core/UIArea.js +1 -1
  122. package/src/sap/ui/core/UIComponent.js +1 -1
  123. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  124. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  125. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  126. package/src/sap/ui/core/XMLComposite.js +1 -1
  127. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  128. package/src/sap/ui/core/XMLTemplateProcessor.js +1 -0
  129. package/src/sap/ui/core/_IconRegistry.js +7 -1
  130. package/src/sap/ui/core/date/CalendarWeekNumbering.js +12 -83
  131. package/src/sap/ui/core/date/UI5Date.js +2 -2
  132. package/src/sap/ui/core/delegate/ItemNavigation.js +8 -10
  133. package/src/sap/ui/core/delegate/ScrollEnablement.js +5 -5
  134. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  135. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  136. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  137. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  138. package/src/sap/ui/core/format/DateFormat.js +20 -15
  139. package/src/sap/ui/core/format/TimezoneUtil.js +15 -273
  140. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  141. package/src/sap/ui/core/library.js +3 -3
  142. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  143. package/src/sap/ui/core/message/Message.js +1 -1
  144. package/src/sap/ui/core/message/MessageManager.js +1 -1
  145. package/src/sap/ui/core/message/MessageParser.js +1 -1
  146. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  147. package/src/sap/ui/core/messagebundle_cs.properties +1 -1
  148. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  149. package/src/sap/ui/core/messagebundle_da.properties +1 -1
  150. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_el.properties +1 -1
  152. package/src/sap/ui/core/messagebundle_en.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -1
  154. package/src/sap/ui/core/messagebundle_es.properties +1 -1
  155. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
  156. package/src/sap/ui/core/messagebundle_et.properties +1 -1
  157. package/src/sap/ui/core/messagebundle_id.properties +1 -1
  158. package/src/sap/ui/core/messagebundle_it.properties +49 -49
  159. package/src/sap/ui/core/messagebundle_iw.properties +1 -1
  160. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  161. package/src/sap/ui/core/messagebundle_ko.properties +1 -1
  162. package/src/sap/ui/core/messagebundle_lt.properties +1 -1
  163. package/src/sap/ui/core/messagebundle_lv.properties +1 -1
  164. package/src/sap/ui/core/messagebundle_ms.properties +8 -8
  165. package/src/sap/ui/core/messagebundle_nl.properties +1 -1
  166. package/src/sap/ui/core/messagebundle_no.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  168. package/src/sap/ui/core/messagebundle_pt.properties +1 -1
  169. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
  170. package/src/sap/ui/core/messagebundle_ro.properties +1 -1
  171. package/src/sap/ui/core/messagebundle_sh.properties +1 -1
  172. package/src/sap/ui/core/messagebundle_sv.properties +1 -1
  173. package/src/sap/ui/core/messagebundle_th.properties +1 -1
  174. package/src/sap/ui/core/messagebundle_uk.properties +21 -21
  175. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  176. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  177. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  178. package/src/sap/ui/core/mvc/JSView.js +1 -1
  179. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  180. package/src/sap/ui/core/mvc/View.js +1 -1
  181. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  182. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  183. package/src/sap/ui/core/plugin/LessSupport.js +14 -16
  184. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  185. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  186. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  187. package/src/sap/ui/core/routing/HashChanger.js +1 -0
  188. package/src/sap/ui/core/routing/Route.js +1 -0
  189. package/src/sap/ui/core/routing/Router.js +3 -1
  190. package/src/sap/ui/core/rules/Config.support.js +2 -2
  191. package/src/sap/ui/core/rules/Model.support.js +3 -1
  192. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  193. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  194. package/src/sap/ui/core/service/Service.js +1 -1
  195. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  196. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  197. package/src/sap/ui/core/support/Plugin.js +1 -1
  198. package/src/sap/ui/core/support/Support.js +1 -1
  199. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  200. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  201. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  202. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  203. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  204. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  205. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  206. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  207. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  208. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +4 -4
  209. package/src/sap/ui/core/themes/base/base.less +41 -20
  210. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  211. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  212. package/src/sap/ui/core/theming/Parameters.js +6 -5
  213. package/src/sap/ui/core/theming/ThemeManager.js +310 -447
  214. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  215. package/src/sap/ui/core/tmpl/DOMElement.js +5 -10
  216. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  217. package/src/sap/ui/core/tmpl/Template.js +1 -1
  218. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  219. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  220. package/src/sap/ui/core/util/Export.js +1 -1
  221. package/src/sap/ui/core/util/ExportCell.js +1 -1
  222. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  223. package/src/sap/ui/core/util/ExportRow.js +1 -1
  224. package/src/sap/ui/core/util/ExportType.js +1 -1
  225. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  226. package/src/sap/ui/core/util/File.js +1 -1
  227. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  228. package/src/sap/ui/core/util/MockServer.js +1 -1
  229. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  230. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
  231. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  232. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  233. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  234. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  235. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  236. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  237. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  238. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  239. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  240. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  241. package/src/sap/ui/debug/ControlTree.js +1 -1
  242. package/src/sap/ui/debug/DebugEnv.js +1 -1
  243. package/src/sap/ui/debug/PropertyList.js +1 -1
  244. package/src/sap/ui/events/PseudoEvents.js +17 -9
  245. package/src/sap/ui/model/Binding.js +19 -15
  246. package/src/sap/ui/model/ClientModel.js +1 -1
  247. package/src/sap/ui/model/CompositeBinding.js +57 -19
  248. package/src/sap/ui/model/CompositeDataState.js +1 -1
  249. package/src/sap/ui/model/CompositeType.js +1 -1
  250. package/src/sap/ui/model/DataState.js +1 -1
  251. package/src/sap/ui/model/ListBinding.js +42 -1
  252. package/src/sap/ui/model/MetaModel.js +1 -1
  253. package/src/sap/ui/model/Model.js +5 -4
  254. package/src/sap/ui/model/PropertyBinding.js +10 -0
  255. package/src/sap/ui/model/SelectionModel.js +1 -1
  256. package/src/sap/ui/model/SimpleType.js +4 -1
  257. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  258. package/src/sap/ui/model/Type.js +1 -1
  259. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  260. package/src/sap/ui/model/json/JSONModel.js +1 -1
  261. package/src/sap/ui/model/message/MessageModel.js +1 -1
  262. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  263. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  264. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  265. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  266. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  267. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  268. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  269. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  270. package/src/sap/ui/model/odata/type/Date.js +1 -1
  271. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  272. package/src/sap/ui/model/odata/type/DateTimeBase.js +8 -1
  273. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  274. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  275. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  276. package/src/sap/ui/model/odata/type/Double.js +1 -1
  277. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  278. package/src/sap/ui/model/odata/type/Int.js +1 -1
  279. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  280. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  281. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  282. package/src/sap/ui/model/odata/type/ODataType.js +3 -3
  283. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  284. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  285. package/src/sap/ui/model/odata/type/Single.js +1 -1
  286. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  287. package/src/sap/ui/model/odata/type/String.js +1 -1
  288. package/src/sap/ui/model/odata/type/Time.js +1 -1
  289. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  290. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  291. package/src/sap/ui/model/odata/v2/Context.js +3 -2
  292. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  293. package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -3
  294. package/src/sap/ui/model/odata/v2/ODataModel.js +45 -31
  295. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  296. package/src/sap/ui/model/odata/v4/Context.js +7 -3
  297. package/src/sap/ui/model/odata/v4/ODataBinding.js +68 -39
  298. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -8
  299. package/src/sap/ui/model/odata/v4/ODataListBinding.js +30 -8
  300. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -9
  301. package/src/sap/ui/model/odata/v4/ODataModel.js +10 -14
  302. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +64 -31
  303. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +21 -16
  304. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +2 -0
  305. package/src/sap/ui/model/odata/v4/lib/_Cache.js +37 -14
  306. package/src/sap/ui/model/odata/v4/lib/_Helper.js +11 -1
  307. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +7 -4
  308. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
  309. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  310. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  311. package/src/sap/ui/model/type/Boolean.js +1 -1
  312. package/src/sap/ui/model/type/Currency.js +1 -1
  313. package/src/sap/ui/model/type/Date.js +1 -1
  314. package/src/sap/ui/model/type/DateInterval.js +1 -1
  315. package/src/sap/ui/model/type/DateTime.js +1 -1
  316. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  317. package/src/sap/ui/model/type/FileSize.js +1 -1
  318. package/src/sap/ui/model/type/Float.js +1 -1
  319. package/src/sap/ui/model/type/Integer.js +1 -1
  320. package/src/sap/ui/model/type/String.js +1 -1
  321. package/src/sap/ui/model/type/Time.js +1 -1
  322. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  323. package/src/sap/ui/model/type/Unit.js +1 -1
  324. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  325. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  326. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  327. package/src/sap/ui/test/Opa5.js +1 -1
  328. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  329. package/src/sap/ui/test/generic/TestBase.js +1 -1
  330. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +10 -5
  331. package/src/sap/ui/test/matchers/LabelFor.js +1 -0
  332. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
  333. package/src/sap/ui/util/ActivityDetection.js +7 -1
  334. package/src/sap/ui/util/Mobile.js +11 -8
  335. package/src/sap/ui/util/Storage.js +1 -1
  336. package/src/ui5loader-autoconfig.js +5 -2
  337. package/src/ui5loader.js +169 -185
  338. package/test/sap/ui/core/FormatHelper.js +3 -2
  339. package/test/sap/ui/core/demokit/docuindex.json +6 -0
  340. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/OpaBusyIndicator.js +1 -1
  341. package/test/sap/ui/core/demokit/sample/OpaMatchers/OpaMatchers.js +2 -2
  342. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/MIT.ODataTypes.html +9 -14
  343. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +7 -0
  344. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +1 -1
  345. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +2 -2
  346. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +27 -0
  347. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.controller.js +43 -0
  348. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.view.xml +47 -0
  349. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.controller.js +27 -0
  350. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.view.xml +7 -0
  351. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/NotFound.view.xml +8 -0
  352. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +123 -0
  353. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.view.xml +92 -0
  354. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +27 -0
  355. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +69 -0
  356. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html +55 -0
  357. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/SandboxModel.js +56 -0
  358. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/POST-SalesOrderList.json +66 -0
  359. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000')-SO_2_SOITEM.json +57 -0
  360. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000').json +20 -0
  361. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000001').json +9 -0
  362. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000007')-SO_2_BP.json +12 -0
  363. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList.json +62 -0
  364. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.json +85 -0
  365. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.xml +185 -0
  366. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.json +93 -0
  367. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.xml +262 -0
  368. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/metadata.xml +1779 -0
  369. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +134 -0
  370. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/pages/Main.js +119 -0
  371. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +0 -41
  372. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +1 -1
  373. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +1 -1
  374. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -17
  375. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +3 -3
  376. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/arrangements/Startup.js +1 -1
  377. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/arrangements/Startup.js +1 -1
  378. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +25 -7
  379. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +86 -2
  380. package/test/sap/ui/core/qunit/DataState.qunit.js +2 -7
  381. package/test/sap/ui/core/qunit/HTML.qunit.js +31 -31
  382. package/test/sap/ui/core/qunit/Lib.qunit.js +55 -2
  383. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +22 -15
  384. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -3
  385. package/test/sap/ui/core/qunit/Object.qunit.js +4 -1
  386. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +2 -2
  387. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +9 -3
  388. package/test/sap/ui/core/qunit/Theming.beforeBootstrap.qunit.js +13 -0
  389. package/test/sap/ui/core/qunit/Theming.qunit.js +229 -0
  390. package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +2 -7
  391. package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +2 -7
  392. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +2 -7
  393. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +24 -0
  394. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +275 -0
  395. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +259 -0
  396. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +5 -6
  397. package/test/sap/ui/core/qunit/base/security/sanitizeHTML.qunit.js +17 -0
  398. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -2
  399. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +13 -12
  400. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +388 -254
  401. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +19 -30
  402. package/test/sap/ui/core/qunit/component/Models.qunit.js +7 -28
  403. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +8 -26
  404. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -2
  405. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
  406. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +2 -2
  407. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -2
  408. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
  409. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +2 -2
  410. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -2
  411. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
  412. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +2 -2
  413. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -1
  414. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component.js +2 -2
  415. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -1
  416. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component.js +2 -2
  417. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -1
  418. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component.js +2 -3
  419. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Component.js +0 -4
  420. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/sync/Component.js +2 -6
  421. package/test/sap/ui/core/qunit/component/testdata/customizing/customersub/Component.js +0 -4
  422. package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -7
  423. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -7
  424. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
  425. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
  426. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
  427. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
  428. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
  429. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
  430. package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -7
  431. package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +2 -2
  432. package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +2 -2
  433. package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +2 -2
  434. package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +2 -2
  435. package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +2 -2
  436. package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +2 -3
  437. package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -7
  438. package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -7
  439. package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -5
  440. package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -7
  441. package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -5
  442. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -5
  443. package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +2 -9
  444. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -5
  445. package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +2 -9
  446. package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
  447. package/test/sap/ui/core/qunit/dnd/DragDropInfo.qunit.js +1 -2
  448. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +2 -0
  449. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +2 -0
  450. package/test/sap/ui/core/qunit/gherkin/dataTableUtils.qunit.js +2 -2
  451. package/test/sap/ui/core/qunit/i18n/Locale.qunit.js +0 -52
  452. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -1
  453. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +14 -24
  454. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +18 -0
  455. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  456. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +2 -7
  457. package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +7 -12
  458. package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +3 -8
  459. package/test/sap/ui/core/qunit/loader/fixture/amd-with-export-true/module1.js +2 -2
  460. package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +2 -7
  461. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
  462. package/test/sap/ui/core/qunit/model/Binding.qunit.js +36 -11
  463. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -7
  464. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -7
  465. package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +2 -7
  466. package/test/sap/ui/core/qunit/model/Context.qunit.js +2 -7
  467. package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +2 -7
  468. package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +63 -6
  469. package/test/sap/ui/core/qunit/model/Model.qunit.js +2 -7
  470. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +40 -0
  471. package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +2 -7
  472. package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +2 -7
  473. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +9 -8
  474. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -4
  475. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -4
  476. package/test/sap/ui/core/qunit/odata/AnnotationParserNoFakeService.qunit.js +2 -7
  477. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +1 -1
  478. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +2 -8
  479. package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +1 -6
  480. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +24 -0
  481. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +2 -7
  482. package/test/sap/ui/core/qunit/odata/v2/ODataContextBindingNoFakeService.qunit.js +2 -7
  483. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +31 -17
  484. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +28 -19
  485. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +70 -15
  486. package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +2 -7
  487. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +4 -9
  488. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +2 -7
  489. package/test/sap/ui/core/qunit/odata/v2/_CreatedContextsCache.qunit.js +2 -7
  490. package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +1 -1
  491. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +45 -17
  492. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +152 -151
  493. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +55 -27
  494. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +119 -4
  495. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +3 -3
  496. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +754 -195
  497. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +42 -53
  498. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +283 -170
  499. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +103 -78
  500. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +3 -0
  501. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +87 -58
  502. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +3 -1
  503. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +124 -22
  504. package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +4 -0
  505. package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +1 -1
  506. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +5 -0
  507. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +17 -37
  508. package/test/sap/ui/core/qunit/routing/HashChanger.qunit.js +1 -6
  509. package/test/sap/ui/core/qunit/routing/RouterHashChanger.qunit.js +1 -10
  510. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +1 -22
  511. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -4
  512. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +34 -1
  513. package/test/sap/ui/core/qunit/testdata/fastnavigation/view/FastNavigation.view.xml +2 -2
  514. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/i18n.properties +1 -0
  515. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +10 -0
  516. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/manifest.json +10 -0
  517. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +10 -0
  518. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/messagebundle.properties +1 -0
  519. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
  520. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +29 -0
  521. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +397 -607
  522. package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +16 -2
  523. package/test/sap/ui/core/qunit/types/Types.qunit.js +2 -37
  524. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +1 -1
  525. package/test/sap/ui/core/qunit/util/SyncPromise.qunit.js +4 -1
  526. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +16 -11
  527. package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +1 -3
  528. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +4 -14
  529. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +7 -11
  530. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +1 -1
  531. package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +3 -7
  532. package/test/sap/ui/core/relnotes/changes-1.115.json +1 -37
  533. package/test/sap/ui/core/relnotes/changes-1.116.json +82 -0
  534. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  535. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  536. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  537. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  538. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  539. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  540. package/test/testsuite/js/samples.js +2 -0
  541. package/ui5.yaml +1 -1
@@ -6,11 +6,12 @@
6
6
  sap.ui.define([
7
7
  'sap/base/assert',
8
8
  'sap/base/Log',
9
+ 'sap/base/i18n/Localization',
9
10
  'sap/base/strings/formatMessage',
10
11
  'sap/base/util/Properties',
11
12
  'sap/base/util/merge'
12
13
  ],
13
- function(assert, Log, formatMessage, Properties, merge) {
14
+ function(assert, Log, Localization, formatMessage, Properties, merge) {
14
15
  "use strict";
15
16
 
16
17
  /* global Promise */
@@ -159,28 +160,12 @@ sap.ui.define([
159
160
  function defaultLocale(sFallbackLocale) {
160
161
  var sLocale;
161
162
  // use the current session locale, if available
162
- if (window.sap && window.sap.ui && sap.ui.getCore) {
163
- sLocale = sap.ui.getCore().getConfiguration().getLanguage();
164
- sLocale = normalize(sLocale);
165
- }
163
+ sLocale = Localization.getLanguage();
164
+ sLocale = normalize(sLocale);
166
165
  // last fallback is fallbackLocale if no or no valid locale is given
167
166
  return sLocale || sFallbackLocale;
168
167
  }
169
168
 
170
- /**
171
- * Returns the supported locales from the configuration.
172
- * @returns {string[]} supported locales from the configuration. Otherwise, an empty array is returned.
173
- * @private
174
- */
175
- function defaultSupportedLocales() {
176
- if (window.sap && window.sap.ui && sap.ui.getCore) {
177
- return sap.ui.getCore().getConfiguration().getSupportedLanguages();
178
- }
179
- return [];
180
- }
181
-
182
-
183
-
184
169
  /**
185
170
  * Helper to normalize the given locale (java.util.Locale format) to the BCP-47 syntax.
186
171
  *
@@ -299,7 +284,7 @@ sap.ui.define([
299
284
  this._aFallbackLocales = calculateFallbackChain(
300
285
  this.sLocale,
301
286
  // bundle specific supported locales will be favored over configuration ones
302
- aSupportedLocales || defaultSupportedLocales(),
287
+ aSupportedLocales || Localization.getSupportedLanguages(),
303
288
  sFallbackLocale,
304
289
  " of the bundle '" + this.oUrlInfo.url + "'",
305
290
  bSkipFallbackLocaleAndRaw
@@ -0,0 +1,54 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ // Provides type sap.base.i18n.date.CalendarType.
8
+ sap.ui.define([], function() {
9
+ "use strict";
10
+
11
+ /**
12
+ * The types of <code>Calendar</code>.
13
+ *
14
+ * @enum {string}
15
+ * @alias module:sap/base/i18n/date/CalendarType
16
+ * @private
17
+ * @ui5-restricted sap.ui.core sap/base/i18n
18
+ */
19
+ var CalendarType = {
20
+
21
+ /**
22
+ * The Gregorian calendar
23
+ * @public
24
+ */
25
+ Gregorian: "Gregorian",
26
+
27
+ /**
28
+ * The Islamic calendar
29
+ * @public
30
+ */
31
+ Islamic: "Islamic",
32
+
33
+ /**
34
+ * The Japanese emperor calendar
35
+ * @public
36
+ */
37
+ Japanese: "Japanese",
38
+
39
+ /**
40
+ * The Persian Jalali calendar
41
+ * @public
42
+ */
43
+ Persian: "Persian",
44
+
45
+ /**
46
+ * The Thai buddhist calendar
47
+ * @public
48
+ */
49
+ Buddhist: "Buddhist"
50
+ };
51
+
52
+ return CalendarType;
53
+
54
+ });
@@ -0,0 +1,105 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ // Provides type sap.base.i18n.date.CalendarWeekNumbering.
8
+ sap.ui.define([], function() {
9
+ "use strict";
10
+
11
+ /**
12
+ * The <code>CalendarWeekNumbering</code> enum defines how to calculate calendar weeks. Each
13
+ * value defines:
14
+ * <ul>
15
+ * <li>The first day of the week,</li>
16
+ * <li>the first week of the year.</li>
17
+ * </ul>
18
+ *
19
+ * @enum {string}
20
+ * @private
21
+ * @ui5-restricted sap.ui.core sap/base/i18n
22
+ * @alias module:sap/base/i18n/date/CalendarWeekNumbering
23
+ */
24
+ var CalendarWeekNumbering = {
25
+
26
+ /**
27
+ * The default calendar week numbering:
28
+ *
29
+ * The framework determines the week numbering scheme; currently it is derived from the
30
+ * active format locale. Future versions of UI5 might select a different week numbering
31
+ * scheme.
32
+ *
33
+ * @public
34
+ */
35
+ Default : "Default",
36
+
37
+ /**
38
+ * Official calendar week numbering in most of Europe (ISO 8601 standard):
39
+ * <ul>
40
+ * <li>Monday is first day of the week,
41
+ * <li>the week containing January 4th is first week of the year.
42
+ * </ul>
43
+ *
44
+ * @public
45
+ */
46
+ ISO_8601 : "ISO_8601",
47
+
48
+ /**
49
+ * Official calendar week numbering in much of the Middle East (Middle Eastern calendar):
50
+ * <ul>
51
+ * <li>Saturday is first day of the week,
52
+ * <li>the week containing January 1st is first week of the year.
53
+ * </ul>
54
+ *
55
+ * @public
56
+ */
57
+ MiddleEastern : "MiddleEastern",
58
+
59
+ /**
60
+ * Official calendar week numbering in the United States, Canada, Brazil, Israel, Japan, and
61
+ * other countries (Western traditional calendar):
62
+ * <ul>
63
+ * <li>Sunday is first day of the week,
64
+ * <li>the week containing January 1st is first week of the year.
65
+ * </ul>
66
+ *
67
+ * @public
68
+ */
69
+ WesternTraditional : "WesternTraditional"
70
+ };
71
+
72
+ /**
73
+ * Returns an object containing the week configuration values for the given calendar week
74
+ * numbering algorithm.
75
+ *
76
+ * @param {module:sap/base/i18n/date/CalendarWeekNumbering} [sCalendarWeekNumbering=Default]
77
+ * The calendar week numbering algorithm
78
+ * @returns {{firstDayOfWeek: 0|1|2|3|4|5|6, minimalDaysInFirstWeek: 1|2|3|4|5|6|7}|undefined}
79
+ * The week configuration values or <code>undefined</code> if the given calendar week
80
+ * numbering algorithm is "Default"
81
+ *
82
+ * @function
83
+ * @name module:sap/base/i18n/date/CalendarWeekNumbering.getWeekConfigurationValues
84
+ * @private
85
+ */
86
+ Object.defineProperty(CalendarWeekNumbering, "getWeekConfigurationValues", {
87
+ // configurable : false,
88
+ // enumerable : false,
89
+ value : function (sCalendarWeekNumbering) {
90
+ switch (sCalendarWeekNumbering) {
91
+ case CalendarWeekNumbering.ISO_8601 :
92
+ return {firstDayOfWeek : 1, minimalDaysInFirstWeek : 4};
93
+ case CalendarWeekNumbering.MiddleEastern :
94
+ return {firstDayOfWeek : 6, minimalDaysInFirstWeek : 1};
95
+ case CalendarWeekNumbering.WesternTraditional :
96
+ return {firstDayOfWeek : 0, minimalDaysInFirstWeek : 1};
97
+ default:
98
+ return undefined;
99
+ }
100
+ }
101
+ // writable : false
102
+ });
103
+
104
+ return CalendarWeekNumbering;
105
+ });
@@ -0,0 +1,287 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([], function() {
7
+ "use strict";
8
+
9
+ /**
10
+ * Static collection of utility functions to handle time zone related conversions
11
+ *
12
+ * @author SAP SE
13
+ * @version 1.116.0
14
+ * @namespace
15
+ * @alias module:sap/base/i18n/date/TimezoneUtils
16
+ * @private
17
+ * @ui5-restricted sap.ui.core.Configuration, sap/base/i18n/format/DateFormat
18
+ */
19
+ var TimezoneUtils = {};
20
+
21
+ /**
22
+ * Cache for the (browser's) local IANA timezone ID
23
+ *
24
+ * @type {string}
25
+ */
26
+ var sLocalTimezone = "";
27
+
28
+ /**
29
+ * Cache for valid time zones provided by <code>Intl.supportedValuesOf("timeZone")</code>
30
+ *
31
+ * @type {Array}
32
+ */
33
+ var aSupportedTimezoneIDs;
34
+
35
+ /**
36
+ * Cache for Intl.DateTimeFormat instances
37
+ */
38
+ var oIntlDateTimeFormatCache = {
39
+ _oCache: new Map(),
40
+ /**
41
+ * When cache limit is reached, it gets cleared
42
+ */
43
+ _iCacheLimit: 10,
44
+
45
+ /**
46
+ * Creates or gets an instance of Intl.DateTimeFormat.
47
+ *
48
+ * @param {string} sTimezone IANA timezone ID
49
+ * @returns {Intl.DateTimeFormat} Intl.DateTimeFormat instance
50
+ */
51
+ get: function (sTimezone) {
52
+ var cacheEntry = this._oCache.get(sTimezone);
53
+ if (cacheEntry) {
54
+ return cacheEntry;
55
+ }
56
+
57
+ var oOptions = {
58
+ hourCycle: "h23",
59
+ hour: "2-digit",
60
+ minute: "2-digit",
61
+ second: "2-digit",
62
+ fractionalSecondDigits: 3,
63
+ day: "2-digit",
64
+ month: "2-digit",
65
+ year: "numeric",
66
+ timeZone: sTimezone,
67
+ timeZoneName: 'short',
68
+ era: 'narrow',
69
+ weekday: "short"
70
+ };
71
+ var oInstance = new Intl.DateTimeFormat("en-US", oOptions);
72
+
73
+ // only store a limited number of entries in the cache
74
+ if (this._oCache.size === this._iCacheLimit) {
75
+ this._oCache = new Map();
76
+ }
77
+ this._oCache.set(sTimezone, oInstance);
78
+ return oInstance;
79
+ }
80
+ };
81
+
82
+ /**
83
+ * Uses the <code>Intl.supportedValuesOf('timeZone')</code> and <code>Intl.DateTimeFormat</code>
84
+ * API to check if the browser can handle the given IANA timezone ID.
85
+ * <code>Intl.supportedValuesOf('timeZone')</code> offers direct access to the list of supported
86
+ * time zones. It is not yet supported by all browsers but if it is supported and the given time
87
+ * zone is in the list it is faster than probing.
88
+ *
89
+ * <code>Intl.supportedValuesOf('timeZone')</code> does not return all IANA timezone IDs which
90
+ * the <code>Intl.DateTimeFormat</code> can handle, e.g. "Japan", "Etc/UTC".
91
+ *
92
+ * @param {string} sTimezone The IANA timezone ID which is checked, e.g <code>"Europe/Berlin"</code>
93
+ * @returns {boolean} Whether the time zone is a valid IANA timezone ID
94
+ * @private
95
+ * @ui5-restricted sap.ui.core.Configuration, sap.ui.core.format.DateFormat
96
+ */
97
+ TimezoneUtils.isValidTimezone = function(sTimezone) {
98
+ if (!sTimezone) {
99
+ return false;
100
+ }
101
+
102
+ if (Intl.supportedValuesOf) {
103
+ try {
104
+ aSupportedTimezoneIDs = aSupportedTimezoneIDs || Intl.supportedValuesOf('timeZone');
105
+ if (aSupportedTimezoneIDs.includes(sTimezone)) {
106
+ return true;
107
+ }
108
+ // although not contained in the supportedValues it still can be valid, therefore continue
109
+ } catch (oError) {
110
+ // ignore error
111
+ aSupportedTimezoneIDs = [];
112
+ }
113
+ }
114
+
115
+ try {
116
+ oIntlDateTimeFormatCache.get(sTimezone);
117
+ return true;
118
+ } catch (oError) {
119
+ return false;
120
+ }
121
+ };
122
+
123
+ /**
124
+ * Converts a date to a specific time zone.
125
+ * The resulting date reflects the given time zone such that the "UTC" Date methods
126
+ * can be used, e.g. Date#getUTCHours() to display the hours in the given time zone.
127
+ *
128
+ * @example
129
+ * var oDate = new Date("2021-10-13T15:22:33Z"); // UTC
130
+ * // time zone difference UTC-4 (DST)
131
+ * TimezoneUtils.convertToTimezone(oDate, "America/New_York");
132
+ * // result is:
133
+ * // 2021-10-13 11:22:33 in America/New_York
134
+ * // same as new Date("2021-10-13T11:22:33Z"); // UTC
135
+ *
136
+ * @param {Date} oDate The date which should be converted.
137
+ * @param {string} sTargetTimezone The target IANA timezone ID, e.g <code>"Europe/Berlin"</code>
138
+ * @returns {Date} The new date in the target time zone.
139
+ * @private
140
+ * @ui5-restricted sap.ui.core.format.DateFormat, sap.ui.unified, sap.m
141
+ */
142
+ TimezoneUtils.convertToTimezone = function(oDate, sTargetTimezone) {
143
+ var oFormatParts = this._getParts(oDate, sTargetTimezone);
144
+ return TimezoneUtils._getDateFromParts(oFormatParts);
145
+ };
146
+
147
+ /**
148
+ * Uses the <code>Intl.DateTimeFormat</code> API to convert a date to a specific time zone.
149
+ *
150
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts
151
+ * @param {Date} oDate The date which should be converted.
152
+ * @param {string} sTargetTimezone The target IANA timezone ID, e.g <code>"Europe/Berlin"</code>
153
+ * @returns {{
154
+ * day: string,
155
+ * era: string,
156
+ * fractionalSecond: string,
157
+ * hour: string,
158
+ * minute: string,
159
+ * month: string,
160
+ * second: string,
161
+ * timeZoneName: string,
162
+ * weekday: string,
163
+ * year: string
164
+ * }} An object containing the date and time fields considering the target time zone.
165
+ * @private
166
+ */
167
+ TimezoneUtils._getParts = function(oDate, sTargetTimezone) {
168
+ var sKey, oPart,
169
+ oDateParts = Object.create(null),
170
+ oIntlDate = oIntlDateTimeFormatCache.get(sTargetTimezone),
171
+ // clone the date object before passing it to the Intl API, to ensure that no
172
+ // UniversalDate gets passed to it;
173
+ // no need to use UI5Date.getInstance as only the UTC timestamp is used
174
+ oParts = oIntlDate.formatToParts(new Date(oDate.getTime()));
175
+
176
+ for (sKey in oParts) {
177
+ oPart = oParts[sKey];
178
+ if (oPart.type !== "literal") {
179
+ oDateParts[oPart.type] = oPart.value;
180
+ }
181
+ }
182
+ return oDateParts;
183
+ };
184
+
185
+ /**
186
+ * Creates a Date from the provided date parts.
187
+ *
188
+ * @param {object} oParts Separated date and time fields as object, see {@link #_getParts}.
189
+ * @returns {Date} Returns the date object created from the provided parts.
190
+ * @private
191
+ */
192
+ TimezoneUtils._getDateFromParts = function(oParts) {
193
+ // no need to use UI5Date.getInstance as only the UTC timestamp is used
194
+ var oDate = new Date(0),
195
+ iUTCYear = parseInt(oParts.year);
196
+
197
+ if (oParts.era === "B") {
198
+ // The JS Date uses astronomical year numbering which supports year zero and negative
199
+ // year numbers.
200
+ // The Intl.DateTimeFormat API uses eras (no year zero and no negative year numbers).
201
+ // years around zero overview:
202
+ // | Astronomical | In Era
203
+ // | 2 | 2 Anno Domini (era: "A")
204
+ // | 1 | 1 Anno Domini (era: "A")
205
+ // | 0 | 1 Before Christ (era: "B")
206
+ // | -1 | 2 Before Christ (era: "B")
207
+ // | -2 | 3 Before Christ (era: "B")
208
+ // For the conversion to the JS Date the parts returned by the Intl.DateTimeFormat API
209
+ // need to be adapted.
210
+ iUTCYear = (iUTCYear * -1) + 1;
211
+ }
212
+
213
+ // Date.UTC cannot be used here to be able to support dates before the UNIX epoch
214
+ oDate.setUTCFullYear(iUTCYear,
215
+ parseInt(oParts.month) - 1,
216
+ parseInt(oParts.day));
217
+ oDate.setUTCHours(
218
+ parseInt(oParts.hour),
219
+ parseInt(oParts.minute),
220
+ parseInt(oParts.second),
221
+ parseInt(oParts.fractionalSecond || 0)); // some older browsers don't support fractionalSecond, e.g. Safari < 14.1 */
222
+
223
+ return oDate;
224
+ };
225
+
226
+ /**
227
+ * Gets the offset to UTC in seconds for a given date in the time zone specified.
228
+ *
229
+ * For non-unique points in time, the daylight saving time takes precedence over the standard
230
+ * time shortly after the switch back (e.g. clock gets set back 1 hour, duplicate hour).
231
+ *
232
+ * @example
233
+ * var oDate = new Date("2021-10-13T13:22:33Z");
234
+ * TimezoneUtils.calculateOffset(oDate, "America/New_York");
235
+ * // => +14400 seconds (4 * 60 * 60 seconds)
236
+ *
237
+ * TimezoneUtils.calculateOffset(oDate, "Europe/Berlin");
238
+ * // => -7200 seconds (-2 * 60 * 60 seconds)
239
+ *
240
+ * // daylight saving time (2018 Sun, 25 Mar, 02:00 CET → CEST +1 hour (DST start) UTC+2h)
241
+ * // the given date is taken as it is in the time zone
242
+ * TimezoneUtils.calculateOffset(new Date("2018-03-25T00:00:00Z"), "Europe/Berlin");
243
+ * // => -3600 seconds (-1 * 60 * 60 seconds), interpreted as: 2018-03-25 00:00:00 (CET)
244
+ *
245
+ * TimezoneUtils.calculateOffset(new Date("2018-03-25T03:00:00Z"), "Europe/Berlin");
246
+ * // => -7200 seconds (-2 * 60 * 60 seconds)
247
+ *
248
+ * var oHistoricalDate = new Date("1800-10-13T13:22:33Z");
249
+ * TimezoneUtils.calculateOffset(oHistoricalDate, "Europe/Berlin");
250
+ * // => -3208 seconds (-3208 seconds)
251
+ *
252
+ * @param {Date} oDate The date in the time zone used to calculate the offset to UTC.
253
+ * @param {string} sTimezoneSource The source IANA timezone ID, e.g <code>"Europe/Berlin"</code>
254
+ * @returns {number} The difference to UTC between the date in the time zone.
255
+ * @private
256
+ * @ui5-restricted sap.ui.core.format.DateFormat
257
+ */
258
+ TimezoneUtils.calculateOffset = function(oDate, sTimezoneSource) {
259
+ var oFirstGuess = this.convertToTimezone(oDate, sTimezoneSource),
260
+ iInitialOffset = oDate.getTime() - oFirstGuess.getTime(),
261
+ // to get the correct summer/wintertime (daylight saving time) handling use the source
262
+ // date (apply the diff);
263
+ // no need to use UI5Date.getInstance as only the UTC timestamp is used
264
+ oDateSource = new Date(oDate.getTime() + iInitialOffset),
265
+ oDateTarget = this.convertToTimezone(oDateSource, sTimezoneSource);
266
+
267
+ return (oDateSource.getTime() - oDateTarget.getTime()) / 1000;
268
+ };
269
+
270
+ /**
271
+ * Retrieves the browser's local IANA timezone ID.
272
+ *
273
+ * @returns {string} The local IANA timezone ID of the browser, e.g <code>"Europe/Berlin"</code>
274
+ * @private
275
+ * @ui5-restricted sap.ui.core.Configuration,sap.m.DateTimeField
276
+ */
277
+ TimezoneUtils.getLocalTimezone = function() {
278
+ if (sLocalTimezone) {
279
+ return sLocalTimezone;
280
+ }
281
+ sLocalTimezone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
282
+ return sLocalTimezone;
283
+ };
284
+
285
+
286
+ return TimezoneUtils;
287
+ });
@@ -26,7 +26,7 @@
26
26
  * @alias module:sap/base/util/restricted/_CancelablePromise
27
27
  * @author SAP SE
28
28
  * @since 1.79
29
- * @version 1.115.1
29
+ * @version 1.116.0
30
30
  * @private
31
31
  * @ui5-restricted
32
32
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_castArray
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_compact
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_curry
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_debounce
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_difference
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_differenceBy
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_differenceWith
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_flatMap
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_flatMapDeep
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_flatMapDepth
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_flatten
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_flattenDeep
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_flattenDepth
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_intersection
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_intersectionBy
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_intersectionWith
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_isEqual
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.115.1
13
+ * @version 1.116.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */