@openui5/sap.ui.core 1.108.1 → 1.109.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 (352) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +1 -1
  3. package/src/jquery.sap.global.js +1 -1
  4. package/src/jquery.sap.properties.js +1 -1
  5. package/src/jquery.sap.resources.js +1 -1
  6. package/src/jquery.sap.script.js +1 -1
  7. package/src/jquery.sap.storage.js +3 -3
  8. package/src/sap/base/Log.js +125 -84
  9. package/src/sap/base/i18n/ResourceBundle.js +41 -11
  10. package/src/sap/base/util/includes.js +1 -1
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/base/util/values.js +2 -1
  53. package/src/sap/ui/Device.js +3 -3
  54. package/src/sap/ui/Global.js +4 -4
  55. package/src/sap/ui/base/Event.js +1 -1
  56. package/src/sap/ui/base/EventProvider.js +1 -1
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +1 -1
  59. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  60. package/src/sap/ui/base/ManagedObjectObserver.js +33 -11
  61. package/src/sap/ui/base/Metadata.js +1 -1
  62. package/src/sap/ui/base/Object.js +1 -1
  63. package/src/sap/ui/base/ObjectPool.js +1 -1
  64. package/src/sap/ui/core/.library +3 -3
  65. package/src/sap/ui/core/BusyIndicator.js +1 -1
  66. package/src/sap/ui/core/Component.js +1 -1
  67. package/src/sap/ui/core/ComponentContainer.js +1 -1
  68. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  69. package/src/sap/ui/core/ComponentSupport.js +1 -1
  70. package/src/sap/ui/core/Configuration.js +1 -1
  71. package/src/sap/ui/core/Control.js +1 -1
  72. package/src/sap/ui/core/Core.js +4 -4
  73. package/src/sap/ui/core/CustomData.js +1 -1
  74. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  75. package/src/sap/ui/core/Element.js +1 -1
  76. package/src/sap/ui/core/ElementMetadata.js +1 -1
  77. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  78. package/src/sap/ui/core/EventBus.js +1 -1
  79. package/src/sap/ui/core/Fragment.js +1 -1
  80. package/src/sap/ui/core/HTML.js +1 -1
  81. package/src/sap/ui/core/History.js +1 -1
  82. package/src/sap/ui/core/Icon.js +1 -1
  83. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  84. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  85. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  86. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  87. package/src/sap/ui/core/InvisibleText.js +1 -1
  88. package/src/sap/ui/core/Item.js +1 -1
  89. package/src/sap/ui/core/LabelEnablement.js +1 -1
  90. package/src/sap/ui/core/LayoutData.js +1 -1
  91. package/src/sap/ui/core/ListItem.js +1 -1
  92. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  93. package/src/sap/ui/core/Locale.js +1 -1
  94. package/src/sap/ui/core/LocaleData.js +133 -1
  95. package/src/sap/ui/core/Manifest.js +1 -1
  96. package/src/sap/ui/core/Message.js +1 -1
  97. package/src/sap/ui/core/RenderManager.js +82 -50
  98. package/src/sap/ui/core/Renderer.js +1 -1
  99. package/src/sap/ui/core/Rendering.js +29 -9
  100. package/src/sap/ui/core/ResizeHandler.js +1 -1
  101. package/src/sap/ui/core/ScrollBar.js +1 -1
  102. package/src/sap/ui/core/SeparatorItem.js +1 -1
  103. package/src/sap/ui/core/Title.js +1 -1
  104. package/src/sap/ui/core/TooltipBase.js +1 -1
  105. package/src/sap/ui/core/UIArea.js +7 -5
  106. package/src/sap/ui/core/UIComponent.js +1 -1
  107. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  108. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  109. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  110. package/src/sap/ui/core/XMLComposite.js +1 -1
  111. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  112. package/src/sap/ui/core/XMLTemplateProcessor.js +1 -3
  113. package/src/sap/ui/core/cldr/ar.json +330 -0
  114. package/src/sap/ui/core/cldr/ar_EG.json +330 -0
  115. package/src/sap/ui/core/cldr/ar_SA.json +330 -0
  116. package/src/sap/ui/core/cldr/bg.json +295 -0
  117. package/src/sap/ui/core/cldr/ca.json +329 -0
  118. package/src/sap/ui/core/cldr/cs.json +328 -0
  119. package/src/sap/ui/core/cldr/cy.json +260 -0
  120. package/src/sap/ui/core/cldr/da.json +295 -0
  121. package/src/sap/ui/core/cldr/de.json +329 -0
  122. package/src/sap/ui/core/cldr/de_AT.json +329 -0
  123. package/src/sap/ui/core/cldr/de_CH.json +329 -0
  124. package/src/sap/ui/core/cldr/el.json +228 -0
  125. package/src/sap/ui/core/cldr/el_CY.json +228 -0
  126. package/src/sap/ui/core/cldr/en.json +294 -0
  127. package/src/sap/ui/core/cldr/en_AU.json +294 -0
  128. package/src/sap/ui/core/cldr/en_GB.json +294 -0
  129. package/src/sap/ui/core/cldr/en_HK.json +294 -0
  130. package/src/sap/ui/core/cldr/en_IE.json +294 -0
  131. package/src/sap/ui/core/cldr/en_IN.json +294 -0
  132. package/src/sap/ui/core/cldr/en_NZ.json +294 -0
  133. package/src/sap/ui/core/cldr/en_PG.json +294 -0
  134. package/src/sap/ui/core/cldr/en_SG.json +294 -0
  135. package/src/sap/ui/core/cldr/en_ZA.json +294 -0
  136. package/src/sap/ui/core/cldr/es.json +261 -0
  137. package/src/sap/ui/core/cldr/es_AR.json +261 -0
  138. package/src/sap/ui/core/cldr/es_BO.json +261 -0
  139. package/src/sap/ui/core/cldr/es_CL.json +261 -0
  140. package/src/sap/ui/core/cldr/es_CO.json +261 -0
  141. package/src/sap/ui/core/cldr/es_MX.json +261 -0
  142. package/src/sap/ui/core/cldr/es_PE.json +261 -0
  143. package/src/sap/ui/core/cldr/es_UY.json +261 -0
  144. package/src/sap/ui/core/cldr/es_VE.json +261 -0
  145. package/src/sap/ui/core/cldr/et.json +294 -0
  146. package/src/sap/ui/core/cldr/fa.json +296 -0
  147. package/src/sap/ui/core/cldr/fi.json +328 -0
  148. package/src/sap/ui/core/cldr/fr.json +294 -0
  149. package/src/sap/ui/core/cldr/fr_BE.json +294 -0
  150. package/src/sap/ui/core/cldr/fr_CA.json +294 -0
  151. package/src/sap/ui/core/cldr/fr_CH.json +294 -0
  152. package/src/sap/ui/core/cldr/fr_LU.json +294 -0
  153. package/src/sap/ui/core/cldr/he.json +329 -0
  154. package/src/sap/ui/core/cldr/hi.json +261 -0
  155. package/src/sap/ui/core/cldr/hr.json +294 -0
  156. package/src/sap/ui/core/cldr/hu.json +362 -0
  157. package/src/sap/ui/core/cldr/id.json +294 -0
  158. package/src/sap/ui/core/cldr/it.json +294 -0
  159. package/src/sap/ui/core/cldr/it_CH.json +294 -0
  160. package/src/sap/ui/core/cldr/ja.json +328 -0
  161. package/src/sap/ui/core/cldr/kk.json +294 -0
  162. package/src/sap/ui/core/cldr/ko.json +328 -0
  163. package/src/sap/ui/core/cldr/lt.json +294 -0
  164. package/src/sap/ui/core/cldr/lv.json +294 -0
  165. package/src/sap/ui/core/cldr/ms.json +262 -0
  166. package/src/sap/ui/core/cldr/nb.json +295 -0
  167. package/src/sap/ui/core/cldr/nl.json +261 -0
  168. package/src/sap/ui/core/cldr/nl_BE.json +261 -0
  169. package/src/sap/ui/core/cldr/pl.json +328 -0
  170. package/src/sap/ui/core/cldr/pt.json +294 -0
  171. package/src/sap/ui/core/cldr/pt_PT.json +294 -0
  172. package/src/sap/ui/core/cldr/ro.json +294 -0
  173. package/src/sap/ui/core/cldr/ru.json +294 -0
  174. package/src/sap/ui/core/cldr/ru_UA.json +294 -0
  175. package/src/sap/ui/core/cldr/sk.json +328 -0
  176. package/src/sap/ui/core/cldr/sl.json +328 -0
  177. package/src/sap/ui/core/cldr/sr.json +294 -0
  178. package/src/sap/ui/core/cldr/sr_Latn.json +294 -0
  179. package/src/sap/ui/core/cldr/sv.json +295 -0
  180. package/src/sap/ui/core/cldr/th.json +362 -0
  181. package/src/sap/ui/core/cldr/tr.json +362 -0
  182. package/src/sap/ui/core/cldr/uk.json +294 -0
  183. package/src/sap/ui/core/cldr/vi.json +294 -0
  184. package/src/sap/ui/core/cldr/zh_CN.json +329 -0
  185. package/src/sap/ui/core/cldr/zh_HK.json +329 -0
  186. package/src/sap/ui/core/cldr/zh_SG.json +329 -0
  187. package/src/sap/ui/core/cldr/zh_TW.json +329 -0
  188. package/src/sap/ui/core/date/Japanese.js +30 -0
  189. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  190. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  191. package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
  192. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  193. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  194. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  195. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  196. package/src/sap/ui/core/format/DateFormat.js +122 -2
  197. package/src/sap/ui/core/format/NumberFormat.js +111 -70
  198. package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
  199. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  200. package/src/sap/ui/core/library.js +3 -3
  201. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  202. package/src/sap/ui/core/message/Message.js +1 -1
  203. package/src/sap/ui/core/message/MessageManager.js +1 -1
  204. package/src/sap/ui/core/message/MessageParser.js +1 -1
  205. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  206. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  207. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  208. package/src/sap/ui/core/mvc/JSView.js +1 -1
  209. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  210. package/src/sap/ui/core/mvc/View.js +3 -3
  211. package/src/sap/ui/core/mvc/ViewType.js +4 -0
  212. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  213. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  214. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  215. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  216. package/src/sap/ui/core/postmessage/Bus.js +12 -17
  217. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  218. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  219. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  220. package/src/sap/ui/core/service/Service.js +1 -1
  221. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  222. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  223. package/src/sap/ui/core/support/Plugin.js +1 -1
  224. package/src/sap/ui/core/support/Support.js +1 -1
  225. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  226. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  227. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  228. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  229. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  230. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  231. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  232. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  233. package/src/sap/ui/core/themes/base/Icon.less +17 -4
  234. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +1 -1
  235. package/src/sap/ui/core/themes/base/base.less +599 -90
  236. package/src/sap/ui/core/themes/base/global.less +64 -0
  237. package/src/sap/ui/core/themes/sap_hcb/global.less +65 -0
  238. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  239. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  240. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  241. package/src/sap/ui/core/tmpl/Template.js +1 -1
  242. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  243. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  244. package/src/sap/ui/core/util/Export.js +1 -1
  245. package/src/sap/ui/core/util/ExportCell.js +1 -1
  246. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  247. package/src/sap/ui/core/util/ExportRow.js +1 -1
  248. package/src/sap/ui/core/util/ExportType.js +1 -1
  249. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  250. package/src/sap/ui/core/util/File.js +1 -1
  251. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  252. package/src/sap/ui/core/util/MockServer.js +1 -1
  253. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  254. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -3
  255. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  256. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  257. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  258. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  259. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  260. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  261. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  262. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  263. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  264. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  265. package/src/sap/ui/debug/ControlTree.js +1 -1
  266. package/src/sap/ui/debug/DebugEnv.js +1 -1
  267. package/src/sap/ui/debug/PropertyList.js +1 -1
  268. package/src/sap/ui/model/ClientModel.js +1 -1
  269. package/src/sap/ui/model/CompositeDataState.js +1 -1
  270. package/src/sap/ui/model/CompositeType.js +1 -1
  271. package/src/sap/ui/model/DataState.js +1 -1
  272. package/src/sap/ui/model/MetaModel.js +1 -1
  273. package/src/sap/ui/model/Model.js +1 -1
  274. package/src/sap/ui/model/SelectionModel.js +1 -1
  275. package/src/sap/ui/model/SimpleType.js +1 -1
  276. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  277. package/src/sap/ui/model/Type.js +1 -1
  278. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +11 -3
  279. package/src/sap/ui/model/json/JSONModel.js +1 -1
  280. package/src/sap/ui/model/message/MessageModel.js +1 -1
  281. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  282. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  283. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  284. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  285. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  286. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  287. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  288. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  289. package/src/sap/ui/model/odata/type/Date.js +1 -1
  290. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  291. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  292. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  293. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  294. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  295. package/src/sap/ui/model/odata/type/Double.js +1 -1
  296. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  297. package/src/sap/ui/model/odata/type/Int.js +1 -1
  298. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  299. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  300. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  301. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  302. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  303. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  304. package/src/sap/ui/model/odata/type/Single.js +1 -1
  305. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  306. package/src/sap/ui/model/odata/type/String.js +1 -1
  307. package/src/sap/ui/model/odata/type/Time.js +1 -1
  308. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  309. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  310. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  311. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  312. package/src/sap/ui/model/odata/v2/ODataListBinding.js +1 -1
  313. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  314. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +3 -4
  315. package/src/sap/ui/model/odata/v4/Context.js +82 -29
  316. package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
  317. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -2
  318. package/src/sap/ui/model/odata/v4/ODataListBinding.js +77 -23
  319. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  320. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
  321. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  322. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +334 -142
  323. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +109 -16
  324. package/src/sap/ui/model/odata/v4/lib/_Cache.js +82 -42
  325. package/src/sap/ui/model/odata/v4/lib/_Helper.js +26 -0
  326. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  327. package/src/sap/ui/model/type/Boolean.js +1 -1
  328. package/src/sap/ui/model/type/Currency.js +1 -1
  329. package/src/sap/ui/model/type/Date.js +1 -1
  330. package/src/sap/ui/model/type/DateInterval.js +1 -1
  331. package/src/sap/ui/model/type/DateTime.js +1 -1
  332. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  333. package/src/sap/ui/model/type/FileSize.js +1 -1
  334. package/src/sap/ui/model/type/Float.js +1 -1
  335. package/src/sap/ui/model/type/Integer.js +1 -1
  336. package/src/sap/ui/model/type/String.js +1 -1
  337. package/src/sap/ui/model/type/Time.js +1 -1
  338. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  339. package/src/sap/ui/model/type/Unit.js +1 -1
  340. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  341. package/src/sap/ui/qunit/QUnitUtils.js +14 -2
  342. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  343. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  344. package/src/sap/ui/test/OpaExtension.js +1 -1
  345. package/src/sap/ui/test/OpaPlugin.js +6 -4
  346. package/src/sap/ui/test/PageObjectFactory.js +11 -9
  347. package/src/sap/ui/test/RecordReplay.js +1 -1
  348. package/src/sap/ui/test/_OpaLogger.js +1 -1
  349. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +4 -1
  350. package/src/sap/ui/test/generic/TestBase.js +1 -1
  351. package/src/sap/ui/util/Mobile.js +17 -18
  352. package/src/sap/ui/util/Storage.js +90 -63
@@ -1597,6 +1597,66 @@
1597
1597
  ]
1598
1598
  }
1599
1599
  },
1600
+ "flexibleDayPeriods": {
1601
+ "format": {
1602
+ "abbreviated": {
1603
+ "midnight": "午夜",
1604
+ "morning1": "清晨",
1605
+ "morning2": "上午",
1606
+ "afternoon1": "中午",
1607
+ "afternoon2": "下午",
1608
+ "evening1": "晚上",
1609
+ "night1": "凌晨"
1610
+ },
1611
+ "narrow": {
1612
+ "midnight": "午夜",
1613
+ "morning1": "清晨",
1614
+ "morning2": "上午",
1615
+ "afternoon1": "中午",
1616
+ "afternoon2": "下午",
1617
+ "evening1": "晚上",
1618
+ "night1": "凌晨"
1619
+ },
1620
+ "wide": {
1621
+ "midnight": "午夜",
1622
+ "morning1": "清晨",
1623
+ "morning2": "上午",
1624
+ "afternoon1": "中午",
1625
+ "afternoon2": "下午",
1626
+ "evening1": "晚上",
1627
+ "night1": "凌晨"
1628
+ }
1629
+ },
1630
+ "stand-alone": {
1631
+ "abbreviated": {
1632
+ "midnight": "午夜",
1633
+ "morning1": "清晨",
1634
+ "morning2": "上午",
1635
+ "afternoon1": "中午",
1636
+ "afternoon2": "下午",
1637
+ "evening1": "晚上",
1638
+ "night1": "凌晨"
1639
+ },
1640
+ "narrow": {
1641
+ "midnight": "午夜",
1642
+ "morning1": "清晨",
1643
+ "morning2": "上午",
1644
+ "afternoon1": "中午",
1645
+ "afternoon2": "下午",
1646
+ "evening1": "晚上",
1647
+ "night1": "凌晨"
1648
+ },
1649
+ "wide": {
1650
+ "midnight": "午夜",
1651
+ "morning1": "清晨",
1652
+ "morning2": "上午",
1653
+ "afternoon1": "中午",
1654
+ "afternoon2": "下午",
1655
+ "evening1": "晚上",
1656
+ "night1": "凌晨"
1657
+ }
1658
+ }
1659
+ },
1600
1660
  "era-wide": {
1601
1661
  "0": "西元前",
1602
1662
  "1": "西元"
@@ -2070,6 +2130,66 @@
2070
2130
  ]
2071
2131
  }
2072
2132
  },
2133
+ "flexibleDayPeriods": {
2134
+ "format": {
2135
+ "abbreviated": {
2136
+ "midnight": "午夜",
2137
+ "morning1": "清晨",
2138
+ "morning2": "上午",
2139
+ "afternoon1": "中午",
2140
+ "afternoon2": "下午",
2141
+ "evening1": "晚上",
2142
+ "night1": "凌晨"
2143
+ },
2144
+ "narrow": {
2145
+ "midnight": "午夜",
2146
+ "morning1": "清晨",
2147
+ "morning2": "上午",
2148
+ "afternoon1": "中午",
2149
+ "afternoon2": "下午",
2150
+ "evening1": "晚上",
2151
+ "night1": "凌晨"
2152
+ },
2153
+ "wide": {
2154
+ "midnight": "午夜",
2155
+ "morning1": "清晨",
2156
+ "morning2": "上午",
2157
+ "afternoon1": "中午",
2158
+ "afternoon2": "下午",
2159
+ "evening1": "晚上",
2160
+ "night1": "凌晨"
2161
+ }
2162
+ },
2163
+ "stand-alone": {
2164
+ "abbreviated": {
2165
+ "midnight": "午夜",
2166
+ "morning1": "清晨",
2167
+ "morning2": "上午",
2168
+ "afternoon1": "中午",
2169
+ "afternoon2": "下午",
2170
+ "evening1": "晚上",
2171
+ "night1": "凌晨"
2172
+ },
2173
+ "narrow": {
2174
+ "midnight": "午夜",
2175
+ "morning1": "清晨",
2176
+ "morning2": "上午",
2177
+ "afternoon1": "中午",
2178
+ "afternoon2": "下午",
2179
+ "evening1": "晚上",
2180
+ "night1": "凌晨"
2181
+ },
2182
+ "wide": {
2183
+ "midnight": "午夜",
2184
+ "morning1": "清晨",
2185
+ "morning2": "上午",
2186
+ "afternoon1": "中午",
2187
+ "afternoon2": "下午",
2188
+ "evening1": "晚上",
2189
+ "night1": "凌晨"
2190
+ }
2191
+ }
2192
+ },
2073
2193
  "era-wide": {
2074
2194
  "0": "伊斯蘭曆"
2075
2195
  },
@@ -2548,6 +2668,66 @@
2548
2668
  ]
2549
2669
  }
2550
2670
  },
2671
+ "flexibleDayPeriods": {
2672
+ "format": {
2673
+ "abbreviated": {
2674
+ "midnight": "午夜",
2675
+ "morning1": "清晨",
2676
+ "morning2": "上午",
2677
+ "afternoon1": "中午",
2678
+ "afternoon2": "下午",
2679
+ "evening1": "晚上",
2680
+ "night1": "凌晨"
2681
+ },
2682
+ "narrow": {
2683
+ "midnight": "午夜",
2684
+ "morning1": "清晨",
2685
+ "morning2": "上午",
2686
+ "afternoon1": "中午",
2687
+ "afternoon2": "下午",
2688
+ "evening1": "晚上",
2689
+ "night1": "凌晨"
2690
+ },
2691
+ "wide": {
2692
+ "midnight": "午夜",
2693
+ "morning1": "清晨",
2694
+ "morning2": "上午",
2695
+ "afternoon1": "中午",
2696
+ "afternoon2": "下午",
2697
+ "evening1": "晚上",
2698
+ "night1": "凌晨"
2699
+ }
2700
+ },
2701
+ "stand-alone": {
2702
+ "abbreviated": {
2703
+ "midnight": "午夜",
2704
+ "morning1": "清晨",
2705
+ "morning2": "上午",
2706
+ "afternoon1": "中午",
2707
+ "afternoon2": "下午",
2708
+ "evening1": "晚上",
2709
+ "night1": "凌晨"
2710
+ },
2711
+ "narrow": {
2712
+ "midnight": "午夜",
2713
+ "morning1": "清晨",
2714
+ "morning2": "上午",
2715
+ "afternoon1": "中午",
2716
+ "afternoon2": "下午",
2717
+ "evening1": "晚上",
2718
+ "night1": "凌晨"
2719
+ },
2720
+ "wide": {
2721
+ "midnight": "午夜",
2722
+ "morning1": "清晨",
2723
+ "morning2": "上午",
2724
+ "afternoon1": "中午",
2725
+ "afternoon2": "下午",
2726
+ "evening1": "晚上",
2727
+ "night1": "凌晨"
2728
+ }
2729
+ }
2730
+ },
2551
2731
  "era-wide": {
2552
2732
  "232": "明治",
2553
2733
  "233": "大正",
@@ -3030,6 +3210,66 @@
3030
3210
  ]
3031
3211
  }
3032
3212
  },
3213
+ "flexibleDayPeriods": {
3214
+ "format": {
3215
+ "abbreviated": {
3216
+ "midnight": "午夜",
3217
+ "morning1": "清晨",
3218
+ "morning2": "上午",
3219
+ "afternoon1": "中午",
3220
+ "afternoon2": "下午",
3221
+ "evening1": "晚上",
3222
+ "night1": "凌晨"
3223
+ },
3224
+ "narrow": {
3225
+ "midnight": "午夜",
3226
+ "morning1": "清晨",
3227
+ "morning2": "上午",
3228
+ "afternoon1": "中午",
3229
+ "afternoon2": "下午",
3230
+ "evening1": "晚上",
3231
+ "night1": "凌晨"
3232
+ },
3233
+ "wide": {
3234
+ "midnight": "午夜",
3235
+ "morning1": "清晨",
3236
+ "morning2": "上午",
3237
+ "afternoon1": "中午",
3238
+ "afternoon2": "下午",
3239
+ "evening1": "晚上",
3240
+ "night1": "凌晨"
3241
+ }
3242
+ },
3243
+ "stand-alone": {
3244
+ "abbreviated": {
3245
+ "midnight": "午夜",
3246
+ "morning1": "清晨",
3247
+ "morning2": "上午",
3248
+ "afternoon1": "中午",
3249
+ "afternoon2": "下午",
3250
+ "evening1": "晚上",
3251
+ "night1": "凌晨"
3252
+ },
3253
+ "narrow": {
3254
+ "midnight": "午夜",
3255
+ "morning1": "清晨",
3256
+ "morning2": "上午",
3257
+ "afternoon1": "中午",
3258
+ "afternoon2": "下午",
3259
+ "evening1": "晚上",
3260
+ "night1": "凌晨"
3261
+ },
3262
+ "wide": {
3263
+ "midnight": "午夜",
3264
+ "morning1": "清晨",
3265
+ "morning2": "上午",
3266
+ "afternoon1": "中午",
3267
+ "afternoon2": "下午",
3268
+ "evening1": "晚上",
3269
+ "night1": "凌晨"
3270
+ }
3271
+ }
3272
+ },
3033
3273
  "era-wide": {
3034
3274
  "0": "波斯曆"
3035
3275
  },
@@ -3500,6 +3740,66 @@
3500
3740
  ]
3501
3741
  }
3502
3742
  },
3743
+ "flexibleDayPeriods": {
3744
+ "format": {
3745
+ "abbreviated": {
3746
+ "midnight": "午夜",
3747
+ "morning1": "清晨",
3748
+ "morning2": "上午",
3749
+ "afternoon1": "中午",
3750
+ "afternoon2": "下午",
3751
+ "evening1": "晚上",
3752
+ "night1": "凌晨"
3753
+ },
3754
+ "narrow": {
3755
+ "midnight": "午夜",
3756
+ "morning1": "清晨",
3757
+ "morning2": "上午",
3758
+ "afternoon1": "中午",
3759
+ "afternoon2": "下午",
3760
+ "evening1": "晚上",
3761
+ "night1": "凌晨"
3762
+ },
3763
+ "wide": {
3764
+ "midnight": "午夜",
3765
+ "morning1": "清晨",
3766
+ "morning2": "上午",
3767
+ "afternoon1": "中午",
3768
+ "afternoon2": "下午",
3769
+ "evening1": "晚上",
3770
+ "night1": "凌晨"
3771
+ }
3772
+ },
3773
+ "stand-alone": {
3774
+ "abbreviated": {
3775
+ "midnight": "午夜",
3776
+ "morning1": "清晨",
3777
+ "morning2": "上午",
3778
+ "afternoon1": "中午",
3779
+ "afternoon2": "下午",
3780
+ "evening1": "晚上",
3781
+ "night1": "凌晨"
3782
+ },
3783
+ "narrow": {
3784
+ "midnight": "午夜",
3785
+ "morning1": "清晨",
3786
+ "morning2": "上午",
3787
+ "afternoon1": "中午",
3788
+ "afternoon2": "下午",
3789
+ "evening1": "晚上",
3790
+ "night1": "凌晨"
3791
+ },
3792
+ "wide": {
3793
+ "midnight": "午夜",
3794
+ "morning1": "清晨",
3795
+ "morning2": "上午",
3796
+ "afternoon1": "中午",
3797
+ "afternoon2": "下午",
3798
+ "evening1": "晚上",
3799
+ "night1": "凌晨"
3800
+ }
3801
+ }
3802
+ },
3503
3803
  "era-wide": {
3504
3804
  "0": "佛曆"
3505
3805
  },
@@ -5194,5 +5494,34 @@
5194
5494
  "_start": "2019-5-1"
5195
5495
  }
5196
5496
  },
5497
+ "dayPeriodRules": {
5498
+ "afternoon1": {
5499
+ "_before": "13:00",
5500
+ "_from": "12:00"
5501
+ },
5502
+ "afternoon2": {
5503
+ "_before": "19:00",
5504
+ "_from": "13:00"
5505
+ },
5506
+ "evening1": {
5507
+ "_before": "24:00",
5508
+ "_from": "19:00"
5509
+ },
5510
+ "midnight": {
5511
+ "_at": "00:00"
5512
+ },
5513
+ "morning1": {
5514
+ "_before": "08:00",
5515
+ "_from": "05:00"
5516
+ },
5517
+ "morning2": {
5518
+ "_before": "12:00",
5519
+ "_from": "08:00"
5520
+ },
5521
+ "night1": {
5522
+ "_before": "05:00",
5523
+ "_from": "00:00"
5524
+ }
5525
+ },
5197
5526
  "calendarPreference": "gregorian roc chinese"
5198
5527
  }
@@ -231,6 +231,36 @@ sap.ui.define(['./UniversalDate', '../CalendarType', './_Calendars'],
231
231
  return this._setUTCJapanese(oJapanese);
232
232
  };
233
233
 
234
+ /**
235
+ * Note: The resulting year is the Gregorian year
236
+ *
237
+ * @override
238
+ * @see sap.ui.core.date.UniversalDate#getWeek
239
+ */
240
+ Japanese.prototype.getWeek = function(oLocale, vCalendarWeekNumbering) {
241
+ // Use the Gregorian year (from this.oDate), because the Japanese emperor year lacks the
242
+ // information of the era which makes the year not unique.
243
+ // Using the Gregorian year is valid, because Japanese#constructor is able to calculate the
244
+ // era and Japanese emperor year from the Gregorian year.
245
+ return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getFullYear(),
246
+ this.getMonth(), this.getDate(), oLocale, vCalendarWeekNumbering);
247
+ };
248
+
249
+ /**
250
+ * Note: The resulting year is the Gregorian year
251
+ *
252
+ * @override
253
+ * @see sap.ui.core.date.UniversalDate#getUTCWeek
254
+ */
255
+ Japanese.prototype.getUTCWeek = function(oLocale, vCalendarWeekNumbering) {
256
+ // Use the Gregorian year (from this.oDate), because the Japanese emperor year lacks the
257
+ // information of the era which makes the year not unique.
258
+ // Using the Gregorian year is valid, because Japanese#constructor is able to calculate the
259
+ // era and Japanese emperor year from the Gregorian year.
260
+ return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getUTCFullYear(),
261
+ this.getUTCMonth(), this.getUTCDate(), oLocale, vCalendarWeekNumbering);
262
+ };
263
+
234
264
  _Calendars.set(CalendarType.Japanese, Japanese);
235
265
 
236
266
  return Japanese;
@@ -81,7 +81,7 @@ sap.ui.define([
81
81
  * @param {Element[]} aItemDomRefs Array of DOM references representing the items for the navigation
82
82
  * @param {boolean} [bNotInTabChain=false] Whether the selected element should be in the tab chain or not
83
83
  *
84
- * @version 1.108.1
84
+ * @version 1.109.0
85
85
  * @alias sap.ui.core.delegate.ItemNavigation
86
86
  * @public
87
87
  */
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  *
59
59
  * @protected
60
60
  * @alias sap.ui.core.delegate.ScrollEnablement
61
- * @version 1.108.1
61
+ * @version 1.109.0
62
62
  * @author SAP SE
63
63
  */
64
64
  var ScrollEnablement = BaseObject.extend("sap.ui.core.delegate.ScrollEnablement", /** @lends sap.ui.core.delegate.ScrollEnablement.prototype */ {
@@ -309,8 +309,8 @@ function(lib, Device, Element, UIArea, jQuery, Configuration) {
309
309
  return;
310
310
  }
311
311
 
312
- var mIndicatorConfig = oEvent.dragSession && oEvent.dragSession.getIndicatorConfig(),
313
- mClientRect = oDropTarget.getBoundingClientRect(),
312
+ var mClientRect = oValidDropControl.getDropAreaRect ? oValidDropControl.getDropAreaRect() : oDropTarget.getBoundingClientRect(),
313
+ mIndicatorConfig = oEvent.dragSession && oEvent.dragSession.getIndicatorConfig(),
314
314
  iPageYOffset = window.pageYOffset,
315
315
  iPageXOffset = window.pageXOffset,
316
316
  $Indicator = getDropIndicator(),
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  *
38
38
  * @extends sap.ui.core.Element
39
39
  * @author SAP SE
40
- * @version 1.108.1
40
+ * @version 1.109.0
41
41
  *
42
42
  * @public
43
43
  * @since 1.52
@@ -22,7 +22,7 @@ sap.ui.define(["./DragInfo", "./DropInfo", "sap/base/Log"],
22
22
  * @extends sap.ui.core.dnd.DropInfo
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.108.1
25
+ * @version 1.109.0
26
26
  *
27
27
  * @public
28
28
  * @since 1.52
@@ -22,7 +22,7 @@ sap.ui.define(["./DragDropBase"],
22
22
  * @extends sap.ui.core.dnd.DragDropBase
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.108.1
25
+ * @version 1.109.0
26
26
  *
27
27
  * @public
28
28
  * @since 1.56
@@ -21,7 +21,7 @@ sap.ui.define(["./DragDropBase"],
21
21
  * @extends sap.ui.core.dnd.DragDropBase
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.108.1
24
+ * @version 1.109.0
25
25
  *
26
26
  * @public
27
27
  * @since 1.56
@@ -694,6 +694,18 @@ sap.ui.define([
694
694
  this.aDayPeriodsAbbrev = this.oLocaleData.getDayPeriods("abbreviated", sCalendarType);
695
695
  this.aDayPeriodsNarrow = this.oLocaleData.getDayPeriods("narrow", sCalendarType);
696
696
  this.aDayPeriodsWide = this.oLocaleData.getDayPeriods("wide", sCalendarType);
697
+ this.oFlexibleDayPeriodsAbbrev = this.oLocaleData.getFlexibleDayPeriods("abbreviated",
698
+ sCalendarType);
699
+ this.oFlexibleDayPeriodsNarrow = this.oLocaleData.getFlexibleDayPeriods("narrow",
700
+ sCalendarType);
701
+ this.oFlexibleDayPeriodsWide = this.oLocaleData.getFlexibleDayPeriods("wide",
702
+ sCalendarType);
703
+ this.oFlexibleDayPeriodsAbbrevSt = this.oLocaleData.getFlexibleDayPeriodsStandAlone(
704
+ "abbreviated", sCalendarType);
705
+ this.oFlexibleDayPeriodsNarrowSt = this.oLocaleData.getFlexibleDayPeriodsStandAlone(
706
+ "narrow", sCalendarType);
707
+ this.oFlexibleDayPeriodsWideSt = this.oLocaleData.getFlexibleDayPeriodsStandAlone(
708
+ "wide", sCalendarType);
697
709
  this.aFormatArray = this.parseCldrDatePattern(this.oFormatOptions.pattern);
698
710
  this.sAllowedCharacters = this.getAllowedCharacters(this.aFormatArray);
699
711
  };
@@ -1604,6 +1616,104 @@ sap.ui.define([
1604
1616
  };
1605
1617
  }
1606
1618
  },
1619
+ "B" : {
1620
+ name : "flexibleDayPeriod",
1621
+ /**
1622
+ * Formats the flexible day period.
1623
+ *
1624
+ * @param {Object<string, any>} oField
1625
+ * The date pattern field as parsed by {@link DateFormat#parseCldrDatePattern}
1626
+ * @param {int} oField.digits
1627
+ * The number of repetitions of the pattern symbol, e.g. <code>3</code> for "BBB"
1628
+ * @param {sap.ui.core.date.UniversalDate} oDate
1629
+ * The date object to format
1630
+ * @param {boolean} bUTC
1631
+ * Whether the UTC option is set; not used
1632
+ * @param {sap.ui.core.format.DateFormat} oFormat
1633
+ * The <code>DateFormat</code> instance
1634
+ * @returns {string}
1635
+ * The selected day period e.g. "in the afternoon" for the according style width
1636
+ * "abbreviated", "narrow" or "wide"
1637
+ */
1638
+ format : function (oField, oDate, bUTC, oFormat) {
1639
+ // If no hours symbol is contained in the pattern, the stand-alone format must be
1640
+ // used. Only non-input skeleton symbols are used. The pattern symbols for hour can
1641
+ // be found under:
1642
+ // https://unicode.org/reports/tr35/tr35-dates.html#dfst-hour
1643
+ var bContainsHour = oFormat.aFormatArray.some(function (oFormatElement) {
1644
+ return "hHKk".includes(oFormatElement.symbol);
1645
+ }),
1646
+ sFlexibleDayPeriod = oFormat.oLocaleData.getFlexibleDayPeriodOfTime(
1647
+ oDate.getUTCHours(), oDate.getUTCMinutes());
1648
+
1649
+ if (bContainsHour) {
1650
+ if (oField.digits <= 3) {
1651
+ return oFormat.oFlexibleDayPeriodsAbbrev[sFlexibleDayPeriod];
1652
+ }
1653
+ if (oField.digits === 4) {
1654
+ return oFormat.oFlexibleDayPeriodsWide[sFlexibleDayPeriod];
1655
+ }
1656
+
1657
+ return oFormat.oFlexibleDayPeriodsNarrow[sFlexibleDayPeriod];
1658
+ }
1659
+
1660
+ if (oField.digits <= 3) {
1661
+ return oFormat.oFlexibleDayPeriodsAbbrevSt[sFlexibleDayPeriod];
1662
+ }
1663
+ if (oField.digits === 4) {
1664
+ return oFormat.oFlexibleDayPeriodsWideSt[sFlexibleDayPeriod];
1665
+ }
1666
+
1667
+ return oFormat.oFlexibleDayPeriodsNarrowSt[sFlexibleDayPeriod];
1668
+ },
1669
+ /**
1670
+ * Parses the flexible day period from a given input string.
1671
+ *
1672
+ * @param {string} sValue
1673
+ * The given input, e.g. "in the afternoon 01:37"
1674
+ * @param {Object<string, any>} oPart
1675
+ * The date pattern field as parsed by {@link DateFormat#parseCldrDatePattern}
1676
+ * @param {sap.ui.core.format.DateFormat} oFormat
1677
+ * The <code>DateFormat</code> instance
1678
+ * @param {object} oConfig
1679
+ * The configuration object for parsing the value
1680
+ * @returns {{flexDayPeriod: string, length: number}|{valid: boolean}}
1681
+ * An object with the parsed <code>flexDayPeriod</code> and the <code>length</code>
1682
+ * value of the match; otherwise, an object with property <code>valid</code>
1683
+ * <code>false</code> if it could not be parsed correctly or in case it is attempted
1684
+ * to parse a string with a stand-alone format
1685
+ */
1686
+ parse : function (sValue, oPart, oFormat, oConfig) {
1687
+ var i, oFound, oVariant,
1688
+ bContainsHour = oFormat.aFormatArray.some(function (oFormatElement) {
1689
+ return "hHKk".includes(oFormatElement.symbol);
1690
+ }),
1691
+ // "aFlexibleDayPeriodVariants" is ordered from "wide" to "narrow" to find the
1692
+ // longest match
1693
+ aFlexibleDayPeriodVariants = [
1694
+ oFormat.oFlexibleDayPeriodsWide,
1695
+ oFormat.oFlexibleDayPeriodsAbbrev,
1696
+ oFormat.oFlexibleDayPeriodsNarrow
1697
+ ];
1698
+
1699
+ if (bContainsHour) {
1700
+ for (i = 0; i < aFlexibleDayPeriodVariants.length; i++) {
1701
+ oVariant = aFlexibleDayPeriodVariants[i];
1702
+ oFound = oParseHelper.findEntry(sValue, Object.values(oVariant),
1703
+ oFormat.oLocaleData.sCLDRLocaleId);
1704
+
1705
+ if (oFound.index !== -1) {
1706
+ return {
1707
+ flexDayPeriod : Object.keys(oVariant)[oFound.index],
1708
+ length : oFound.length
1709
+ };
1710
+ }
1711
+ }
1712
+ }
1713
+
1714
+ return {valid : false};
1715
+ }
1716
+ },
1607
1717
  "H": {
1608
1718
  name: "hour0_23",
1609
1719
  format: function(oField, oDate) {
@@ -2234,7 +2344,7 @@ sap.ui.define([
2234
2344
 
2235
2345
  DateFormat.prototype._parse = function(sValue, aFormatArray, bUTC, bStrict, sTimezone) {
2236
2346
  var iIndex = 0,
2237
- oPart, sSubValue, oResult;
2347
+ sFlexibleDayPeriod, oPart, bPM, sSubValue, oResult;
2238
2348
 
2239
2349
  var oDateValue = {
2240
2350
  valid: true,
@@ -2268,7 +2378,17 @@ sap.ui.define([
2268
2378
 
2269
2379
  oDateValue.index = iIndex;
2270
2380
 
2271
- if (oDateValue.pm) {
2381
+ bPM = oDateValue.pm;
2382
+ // "getFlexibleDayPeriodOfTime" is required if the given time is earlier than 12 pm because,
2383
+ // for a "h" pattern it can't distinguished whether e.g. 1 o'clock is meant to be AM or PM
2384
+ if (oDateValue.flexDayPeriod && (oDateValue.hour * 60 + (oDateValue.minute || 0)) < 720) {
2385
+ sFlexibleDayPeriod = this.oLocaleData.getFlexibleDayPeriodOfTime(
2386
+ oDateValue.hour + 12, (oDateValue.minute || 0));
2387
+
2388
+ bPM = oDateValue.flexDayPeriod === sFlexibleDayPeriod;
2389
+ }
2390
+
2391
+ if (bPM) {
2272
2392
  oDateValue.hour += 12;
2273
2393
  }
2274
2394