@openui5/sap.ui.core 1.108.2 → 1.108.4

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 (705) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.act.js +1 -1
  3. package/src/jquery.sap.dom.js +1 -1
  4. package/src/jquery.sap.encoder.js +1 -1
  5. package/src/jquery.sap.events.js +1 -1
  6. package/src/jquery.sap.global.js +2 -2
  7. package/src/jquery.sap.history.js +1 -1
  8. package/src/jquery.sap.keycodes.js +1 -1
  9. package/src/jquery.sap.mobile.js +1 -1
  10. package/src/jquery.sap.promise.js +1 -1
  11. package/src/jquery.sap.properties.js +2 -2
  12. package/src/jquery.sap.resources.js +2 -2
  13. package/src/jquery.sap.script.js +2 -2
  14. package/src/jquery.sap.sjax.js +1 -1
  15. package/src/jquery.sap.storage.js +4 -4
  16. package/src/jquery.sap.strings.js +1 -1
  17. package/src/jquery.sap.stubs.js +1 -1
  18. package/src/jquery.sap.trace.js +1 -1
  19. package/src/jquery.sap.ui.js +1 -1
  20. package/src/jquery.sap.xml.js +1 -1
  21. package/src/sap/base/Log.js +1 -1
  22. package/src/sap/base/assert.js +1 -1
  23. package/src/sap/base/i18n/ResourceBundle.js +1 -1
  24. package/src/sap/base/security/URLListValidator.js +1 -1
  25. package/src/sap/base/security/URLWhitelist.js +1 -1
  26. package/src/sap/base/security/encodeCSS.js +1 -1
  27. package/src/sap/base/security/encodeJS.js +1 -1
  28. package/src/sap/base/security/encodeURL.js +1 -1
  29. package/src/sap/base/security/encodeURLParameters.js +1 -1
  30. package/src/sap/base/security/encodeXML.js +1 -1
  31. package/src/sap/base/security/sanitizeHTML.js +1 -1
  32. package/src/sap/base/strings/camelize.js +1 -1
  33. package/src/sap/base/strings/capitalize.js +1 -1
  34. package/src/sap/base/strings/escapeRegExp.js +1 -1
  35. package/src/sap/base/strings/formatMessage.js +1 -1
  36. package/src/sap/base/strings/hash.js +1 -1
  37. package/src/sap/base/strings/hyphenate.js +1 -1
  38. package/src/sap/base/strings/toHex.js +1 -1
  39. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  40. package/src/sap/base/util/Deferred.js +1 -1
  41. package/src/sap/base/util/JSTokenizer.js +1 -1
  42. package/src/sap/base/util/LoaderExtensions.js +1 -1
  43. package/src/sap/base/util/ObjectPath.js +1 -1
  44. package/src/sap/base/util/Properties.js +1 -1
  45. package/src/sap/base/util/UriParameters.js +1 -1
  46. package/src/sap/base/util/Version.js +1 -1
  47. package/src/sap/base/util/_merge.js +1 -1
  48. package/src/sap/base/util/array/diff.js +1 -1
  49. package/src/sap/base/util/array/uniqueSort.js +1 -1
  50. package/src/sap/base/util/deepClone.js +1 -1
  51. package/src/sap/base/util/deepEqual.js +1 -1
  52. package/src/sap/base/util/deepExtend.js +1 -1
  53. package/src/sap/base/util/defineCoupledProperty.js +1 -1
  54. package/src/sap/base/util/defineLazyProperty.js +1 -1
  55. package/src/sap/base/util/each.js +1 -1
  56. package/src/sap/base/util/extend.js +1 -1
  57. package/src/sap/base/util/fetch.js +1 -1
  58. package/src/sap/base/util/includes.js +1 -1
  59. package/src/sap/base/util/isEmptyObject.js +1 -1
  60. package/src/sap/base/util/isPlainObject.js +1 -1
  61. package/src/sap/base/util/merge.js +1 -1
  62. package/src/sap/base/util/mixedFetch.js +1 -1
  63. package/src/sap/base/util/now.js +1 -1
  64. package/src/sap/base/util/resolveReference.js +1 -1
  65. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  66. package/src/sap/base/util/restricted/_castArray.js +2 -2
  67. package/src/sap/base/util/restricted/_compact.js +2 -2
  68. package/src/sap/base/util/restricted/_curry.js +2 -2
  69. package/src/sap/base/util/restricted/_debounce.js +2 -2
  70. package/src/sap/base/util/restricted/_difference.js +2 -2
  71. package/src/sap/base/util/restricted/_differenceBy.js +2 -2
  72. package/src/sap/base/util/restricted/_differenceWith.js +2 -2
  73. package/src/sap/base/util/restricted/_flatMap.js +2 -2
  74. package/src/sap/base/util/restricted/_flatMapDeep.js +2 -2
  75. package/src/sap/base/util/restricted/_flatMapDepth.js +2 -2
  76. package/src/sap/base/util/restricted/_flatten.js +2 -2
  77. package/src/sap/base/util/restricted/_flattenDeep.js +2 -2
  78. package/src/sap/base/util/restricted/_flattenDepth.js +2 -2
  79. package/src/sap/base/util/restricted/_intersection.js +2 -2
  80. package/src/sap/base/util/restricted/_intersectionBy.js +2 -2
  81. package/src/sap/base/util/restricted/_intersectionWith.js +2 -2
  82. package/src/sap/base/util/restricted/_isEqual.js +2 -2
  83. package/src/sap/base/util/restricted/_isEqualWith.js +2 -2
  84. package/src/sap/base/util/restricted/_isNil.js +2 -2
  85. package/src/sap/base/util/restricted/_max.js +2 -2
  86. package/src/sap/base/util/restricted/_merge.js +2 -2
  87. package/src/sap/base/util/restricted/_mergeWith.js +2 -2
  88. package/src/sap/base/util/restricted/_min.js +2 -2
  89. package/src/sap/base/util/restricted/_omit.js +2 -2
  90. package/src/sap/base/util/restricted/_pick.js +2 -2
  91. package/src/sap/base/util/restricted/_pickBy.js +2 -2
  92. package/src/sap/base/util/restricted/_throttle.js +2 -2
  93. package/src/sap/base/util/restricted/_toArray.js +2 -2
  94. package/src/sap/base/util/restricted/_union.js +2 -2
  95. package/src/sap/base/util/restricted/_unionBy.js +2 -2
  96. package/src/sap/base/util/restricted/_unionWith.js +2 -2
  97. package/src/sap/base/util/restricted/_uniq.js +2 -2
  98. package/src/sap/base/util/restricted/_uniqBy.js +2 -2
  99. package/src/sap/base/util/restricted/_uniqWith.js +2 -2
  100. package/src/sap/base/util/restricted/_without.js +2 -2
  101. package/src/sap/base/util/restricted/_xor.js +2 -2
  102. package/src/sap/base/util/restricted/_xorBy.js +2 -2
  103. package/src/sap/base/util/restricted/_xorWith.js +2 -2
  104. package/src/sap/base/util/restricted/_zipObject.js +2 -2
  105. package/src/sap/base/util/restricted/_zipObjectDeep.js +2 -2
  106. package/src/sap/base/util/syncFetch.js +1 -1
  107. package/src/sap/base/util/uid.js +1 -1
  108. package/src/sap/base/util/values.js +1 -1
  109. package/src/sap/ui/Device.js +4 -4
  110. package/src/sap/ui/Global.js +5 -5
  111. package/src/sap/ui/VersionInfo.js +1 -1
  112. package/src/sap/ui/base/BindingInfo.js +1 -1
  113. package/src/sap/ui/base/BindingParser.js +1 -1
  114. package/src/sap/ui/base/DataType.js +1 -1
  115. package/src/sap/ui/base/Event.js +2 -2
  116. package/src/sap/ui/base/EventProvider.js +2 -2
  117. package/src/sap/ui/base/Exception.js +1 -1
  118. package/src/sap/ui/base/ExpressionParser.js +1 -1
  119. package/src/sap/ui/base/Interface.js +2 -2
  120. package/src/sap/ui/base/ManagedObject.js +43 -2
  121. package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
  122. package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
  123. package/src/sap/ui/base/ManagedObjectRegistry.js +1 -1
  124. package/src/sap/ui/base/Metadata.js +2 -2
  125. package/src/sap/ui/base/Object.js +2 -2
  126. package/src/sap/ui/base/ObjectPool.js +2 -2
  127. package/src/sap/ui/base/SyncPromise.js +1 -1
  128. package/src/sap/ui/base/syncXHRFix.js +1 -1
  129. package/src/sap/ui/core/.library +2 -2
  130. package/src/sap/ui/core/AccessKeysEnablement.js +1 -1
  131. package/src/sap/ui/core/AppCacheBuster.js +1 -1
  132. package/src/sap/ui/core/BlockLayerUtils.js +1 -1
  133. package/src/sap/ui/core/BusyIndicator.js +2 -2
  134. package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
  135. package/src/sap/ui/core/CalendarType.js +1 -1
  136. package/src/sap/ui/core/CommandExecution.js +1 -1
  137. package/src/sap/ui/core/Component.js +4 -29
  138. package/src/sap/ui/core/ComponentContainer.js +2 -2
  139. package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
  140. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  141. package/src/sap/ui/core/ComponentSupport.js +2 -2
  142. package/src/sap/ui/core/Configuration.js +2 -2
  143. package/src/sap/ui/core/ContextMenuSupport.js +1 -1
  144. package/src/sap/ui/core/Control.js +2 -2
  145. package/src/sap/ui/core/Core.js +2 -2
  146. package/src/sap/ui/core/CustomData.js +2 -2
  147. package/src/sap/ui/core/CustomStyleClassSupport.js +1 -1
  148. package/src/sap/ui/core/DeclarativeSupport.js +2 -2
  149. package/src/sap/ui/core/Element.js +2 -2
  150. package/src/sap/ui/core/ElementMetadata.js +2 -2
  151. package/src/sap/ui/core/EnabledPropagator.js +2 -2
  152. package/src/sap/ui/core/EventBus.js +2 -2
  153. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  154. package/src/sap/ui/core/FocusHandler.js +1 -1
  155. package/src/sap/ui/core/Fragment.js +2 -2
  156. package/src/sap/ui/core/HTML.js +2 -2
  157. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  158. package/src/sap/ui/core/History.js +2 -2
  159. package/src/sap/ui/core/Icon.js +2 -2
  160. package/src/sap/ui/core/IconPool.js +1 -1
  161. package/src/sap/ui/core/IconRenderer.js +1 -1
  162. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  163. package/src/sap/ui/core/IntervalTrigger.js +2 -2
  164. package/src/sap/ui/core/InvisibleMessage.js +2 -2
  165. package/src/sap/ui/core/InvisibleRenderer.js +2 -2
  166. package/src/sap/ui/core/InvisibleText.js +2 -2
  167. package/src/sap/ui/core/Item.js +2 -2
  168. package/src/sap/ui/core/LabelEnablement.js +2 -2
  169. package/src/sap/ui/core/LayoutData.js +2 -2
  170. package/src/sap/ui/core/ListItem.js +2 -2
  171. package/src/sap/ui/core/LocalBusyIndicator.js +2 -2
  172. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +1 -1
  173. package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
  174. package/src/sap/ui/core/Locale.js +2 -2
  175. package/src/sap/ui/core/LocaleData.js +2 -2
  176. package/src/sap/ui/core/Manifest.js +2 -2
  177. package/src/sap/ui/core/Message.js +2 -2
  178. package/src/sap/ui/core/Patcher.js +1 -1
  179. package/src/sap/ui/core/Placeholder.js +1 -1
  180. package/src/sap/ui/core/Popup.js +1 -1
  181. package/src/sap/ui/core/RenderManager.js +2 -2
  182. package/src/sap/ui/core/Renderer.js +2 -2
  183. package/src/sap/ui/core/Rendering.js +1 -1
  184. package/src/sap/ui/core/ResizeHandler.js +2 -2
  185. package/src/sap/ui/core/ScrollBar.js +2 -2
  186. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  187. package/src/sap/ui/core/SeparatorItem.js +2 -2
  188. package/src/sap/ui/core/Shortcut.js +1 -1
  189. package/src/sap/ui/core/ShortcutHint.js +1 -1
  190. package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
  191. package/src/sap/ui/core/StashedControlSupport.js +1 -1
  192. package/src/sap/ui/core/Title.js +2 -2
  193. package/src/sap/ui/core/TooltipBase.js +2 -2
  194. package/src/sap/ui/core/UIArea.js +2 -2
  195. package/src/sap/ui/core/UIComponent.js +2 -2
  196. package/src/sap/ui/core/UIComponentMetadata.js +2 -2
  197. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  198. package/src/sap/ui/core/VariantLayoutData.js +2 -2
  199. package/src/sap/ui/core/XMLComposite.js +2 -2
  200. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  201. package/src/sap/ui/core/XMLTemplateProcessor.js +1 -1
  202. package/src/sap/ui/core/_ConfigurationProvider.js +1 -1
  203. package/src/sap/ui/core/_IconRegistry.js +1 -1
  204. package/src/sap/ui/core/_UrlResolver.js +1 -1
  205. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  206. package/src/sap/ui/core/cache/CacheManagerNOP.js +1 -1
  207. package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
  208. package/src/sap/ui/core/date/Buddhist.js +1 -1
  209. package/src/sap/ui/core/date/CalendarUtils.js +1 -1
  210. package/src/sap/ui/core/date/CalendarWeekNumbering.js +1 -1
  211. package/src/sap/ui/core/date/Gregorian.js +1 -1
  212. package/src/sap/ui/core/date/Islamic.js +1 -1
  213. package/src/sap/ui/core/date/Japanese.js +1 -1
  214. package/src/sap/ui/core/date/Persian.js +1 -1
  215. package/src/sap/ui/core/date/UniversalDate.js +1 -1
  216. package/src/sap/ui/core/date/UniversalDateUtils.js +1 -1
  217. package/src/sap/ui/core/date/_Calendars.js +1 -1
  218. package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
  219. package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
  220. package/src/sap/ui/core/designtime/ComponentContainer.designtime.js +1 -1
  221. package/src/sap/ui/core/designtime/CustomData.designtime.js +1 -1
  222. package/src/sap/ui/core/designtime/Icon.designtime.js +1 -1
  223. package/src/sap/ui/core/designtime/UIComponent.designtime.js +1 -1
  224. package/src/sap/ui/core/designtime/library.designtime.js +1 -1
  225. package/src/sap/ui/core/designtime/mvc/ControllerExtensionTemplate.js +1 -1
  226. package/src/sap/ui/core/designtime/mvc/View.designtime.js +1 -1
  227. package/src/sap/ui/core/designtime/mvc/XMLView.designtime.js +1 -1
  228. package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
  229. package/src/sap/ui/core/dnd/DragDropBase.js +2 -2
  230. package/src/sap/ui/core/dnd/DragDropInfo.js +2 -2
  231. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  232. package/src/sap/ui/core/dnd/DropInfo.js +2 -2
  233. package/src/sap/ui/core/format/DateFormat.js +308 -176
  234. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
  235. package/src/sap/ui/core/format/FileSizeFormat.js +1 -1
  236. package/src/sap/ui/core/format/ListFormat.js +1 -1
  237. package/src/sap/ui/core/format/NumberFormat.js +1 -1
  238. package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
  239. package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -2
  240. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +1 -1
  241. package/src/sap/ui/core/library.js +4 -4
  242. package/src/sap/ui/core/library.support.js +1 -1
  243. package/src/sap/ui/core/message/ControlMessageProcessor.js +2 -2
  244. package/src/sap/ui/core/message/Message.js +2 -2
  245. package/src/sap/ui/core/message/MessageManager.js +2 -2
  246. package/src/sap/ui/core/message/MessageMixin.js +1 -1
  247. package/src/sap/ui/core/message/MessageParser.js +2 -2
  248. package/src/sap/ui/core/message/MessageProcessor.js +2 -2
  249. package/src/sap/ui/core/mvc/Controller.js +1 -1
  250. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  251. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  252. package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
  253. package/src/sap/ui/core/mvc/EventHandlerResolver.js +1 -1
  254. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  255. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  256. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  257. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  258. package/src/sap/ui/core/mvc/JSView.js +2 -2
  259. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  260. package/src/sap/ui/core/mvc/OverrideExecution.js +1 -1
  261. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  262. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  263. package/src/sap/ui/core/mvc/View.js +2 -2
  264. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  265. package/src/sap/ui/core/mvc/ViewType.js +1 -1
  266. package/src/sap/ui/core/mvc/XMLProcessingMode.js +1 -1
  267. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  268. package/src/sap/ui/core/mvc/XMLViewRenderer.js +1 -1
  269. package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -2
  270. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  271. package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
  272. package/src/sap/ui/core/postmessage/Bus.js +2 -2
  273. package/src/sap/ui/core/postmessage/confirmationDialog.js +2 -2
  274. package/src/sap/ui/core/routing/HashChanger.js +1 -1
  275. package/src/sap/ui/core/routing/HashChangerBase.js +1 -1
  276. package/src/sap/ui/core/routing/History.js +1 -1
  277. package/src/sap/ui/core/routing/Route.js +1 -1
  278. package/src/sap/ui/core/routing/Router.js +1 -1
  279. package/src/sap/ui/core/routing/RouterHashChanger.js +1 -1
  280. package/src/sap/ui/core/routing/Target.js +1 -1
  281. package/src/sap/ui/core/routing/TargetCache.js +1 -1
  282. package/src/sap/ui/core/routing/Targets.js +1 -1
  283. package/src/sap/ui/core/routing/Views.js +1 -1
  284. package/src/sap/ui/core/routing/async/Route.js +1 -1
  285. package/src/sap/ui/core/routing/async/Target.js +1 -1
  286. package/src/sap/ui/core/routing/async/TargetCache.js +1 -1
  287. package/src/sap/ui/core/routing/async/Targets.js +1 -1
  288. package/src/sap/ui/core/routing/sync/Route.js +1 -1
  289. package/src/sap/ui/core/routing/sync/Target.js +1 -1
  290. package/src/sap/ui/core/routing/sync/TargetCache.js +1 -1
  291. package/src/sap/ui/core/routing/sync/Targets.js +1 -1
  292. package/src/sap/ui/core/rules/App.support.js +1 -1
  293. package/src/sap/ui/core/rules/Config.support.js +1 -1
  294. package/src/sap/ui/core/rules/CoreHelper.support.js +1 -1
  295. package/src/sap/ui/core/rules/Misc.support.js +1 -1
  296. package/src/sap/ui/core/rules/Model.support.js +1 -1
  297. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  298. package/src/sap/ui/core/rules/Theming.support.js +1 -1
  299. package/src/sap/ui/core/rules/View.support.js +1 -1
  300. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
  301. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  302. package/src/sap/ui/core/service/Service.js +2 -2
  303. package/src/sap/ui/core/service/ServiceFactory.js +2 -2
  304. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +2 -2
  305. package/src/sap/ui/core/support/BootSupportTool.js +1 -1
  306. package/src/sap/ui/core/support/Hotkeys.js +1 -1
  307. package/src/sap/ui/core/support/Plugin.js +2 -2
  308. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -1
  309. package/src/sap/ui/core/support/Support.js +2 -2
  310. package/src/sap/ui/core/support/ToolsAPI.js +1 -1
  311. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  312. package/src/sap/ui/core/support/controls/InteractionSlider.js +1 -1
  313. package/src/sap/ui/core/support/controls/InteractionTree.js +1 -1
  314. package/src/sap/ui/core/support/controls/ObjectViewer.js +1 -1
  315. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  316. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  317. package/src/sap/ui/core/support/debugReboot.js +1 -1
  318. package/src/sap/ui/core/support/plugins/Breakpoint.js +1 -1
  319. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  320. package/src/sap/ui/core/support/plugins/Debugging.js +1 -1
  321. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  322. package/src/sap/ui/core/support/plugins/LocalStorage.js +2 -2
  323. package/src/sap/ui/core/support/plugins/Performance.js +2 -2
  324. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  325. package/src/sap/ui/core/support/plugins/TechInfo.js +2 -2
  326. package/src/sap/ui/core/support/plugins/Trace.js +2 -2
  327. package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
  328. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  329. package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
  330. package/src/sap/ui/core/support/trace/E2eTraceLib.js +1 -1
  331. package/src/sap/ui/core/support/trace/EppLib.js +1 -1
  332. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  333. package/src/sap/ui/core/syncStyleClass.js +1 -1
  334. package/src/sap/ui/core/themes/base/library.source.less +1 -1
  335. package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
  336. package/src/sap/ui/core/theming/Parameters.js +12 -12
  337. package/src/sap/ui/core/theming/ThemeHelper.js +48 -26
  338. package/src/sap/ui/core/theming/ThemeManager.js +3 -21
  339. package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
  340. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  341. package/src/sap/ui/core/tmpl/DOMElementRenderer.js +1 -1
  342. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
  343. package/src/sap/ui/core/tmpl/Template.js +2 -2
  344. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  345. package/src/sap/ui/core/tmpl/TemplateControlRenderer.js +1 -1
  346. package/src/sap/ui/core/tmpl/_parsePath.js +1 -1
  347. package/src/sap/ui/core/util/AsyncHintsHelper.js +2 -2
  348. package/src/sap/ui/core/util/DraftEnabledMockServer.js +1 -1
  349. package/src/sap/ui/core/util/Export.js +2 -2
  350. package/src/sap/ui/core/util/ExportCell.js +2 -2
  351. package/src/sap/ui/core/util/ExportColumn.js +2 -2
  352. package/src/sap/ui/core/util/ExportRow.js +2 -2
  353. package/src/sap/ui/core/util/ExportType.js +2 -2
  354. package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
  355. package/src/sap/ui/core/util/File.js +2 -2
  356. package/src/sap/ui/core/util/LibraryInfo.js +2 -2
  357. package/src/sap/ui/core/util/MockServer.js +2 -2
  358. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +1 -1
  359. package/src/sap/ui/core/util/PasteHelper.js +2 -2
  360. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +1 -1
  361. package/src/sap/ui/core/util/ShortcutHelper.js +1 -1
  362. package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
  363. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +1 -1
  364. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +1 -1
  365. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  366. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  367. package/src/sap/ui/core/util/serializer/Serializer.js +2 -2
  368. package/src/sap/ui/core/util/serializer/ViewSerializer.js +2 -2
  369. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  370. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +2 -2
  371. package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
  372. package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
  373. package/src/sap/ui/core/ws/ReadyState.js +2 -2
  374. package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -2
  375. package/src/sap/ui/core/ws/WebSocket.js +2 -2
  376. package/src/sap/ui/debug/ControlTree.js +2 -2
  377. package/src/sap/ui/debug/DebugEnv.js +2 -2
  378. package/src/sap/ui/debug/Highlighter.js +1 -1
  379. package/src/sap/ui/debug/LogViewer.js +1 -1
  380. package/src/sap/ui/debug/PropertyList.js +2 -2
  381. package/src/sap/ui/dom/_ready.js +1 -1
  382. package/src/sap/ui/dom/containsOrEquals.js +1 -1
  383. package/src/sap/ui/dom/denormalizeScrollBeginRTL.js +1 -1
  384. package/src/sap/ui/dom/denormalizeScrollLeftRTL.js +1 -1
  385. package/src/sap/ui/dom/getComputedStyleFix.js +1 -1
  386. package/src/sap/ui/dom/getFirstEditableInput.js +1 -1
  387. package/src/sap/ui/dom/getOwnerWindow.js +1 -1
  388. package/src/sap/ui/dom/getScrollbarSize.js +1 -1
  389. package/src/sap/ui/dom/includeScript.js +1 -1
  390. package/src/sap/ui/dom/includeStylesheet.js +1 -1
  391. package/src/sap/ui/dom/isHidden.js +1 -1
  392. package/src/sap/ui/dom/jquery/Aria.js +1 -1
  393. package/src/sap/ui/dom/jquery/Focusable.js +1 -1
  394. package/src/sap/ui/dom/jquery/Selection.js +1 -1
  395. package/src/sap/ui/dom/jquery/Selectors.js +1 -1
  396. package/src/sap/ui/dom/jquery/control.js +1 -1
  397. package/src/sap/ui/dom/jquery/cursorPos.js +1 -1
  398. package/src/sap/ui/dom/jquery/getSelectedText.js +1 -1
  399. package/src/sap/ui/dom/jquery/hasTabIndex.js +1 -1
  400. package/src/sap/ui/dom/jquery/parentByAttribute.js +1 -1
  401. package/src/sap/ui/dom/jquery/rect.js +1 -1
  402. package/src/sap/ui/dom/jquery/rectContains.js +1 -1
  403. package/src/sap/ui/dom/jquery/scrollLeftRTL.js +1 -1
  404. package/src/sap/ui/dom/jquery/scrollRightRTL.js +1 -1
  405. package/src/sap/ui/dom/jquery/selectText.js +1 -1
  406. package/src/sap/ui/dom/jquery/zIndex.js +1 -1
  407. package/src/sap/ui/dom/units/Rem.js +1 -1
  408. package/src/sap/ui/events/ControlEvents.js +1 -1
  409. package/src/sap/ui/events/F6Navigation.js +1 -1
  410. package/src/sap/ui/events/KeyCodes.js +1 -1
  411. package/src/sap/ui/events/PasteEventFix.js +1 -1
  412. package/src/sap/ui/events/PseudoEvents.js +1 -1
  413. package/src/sap/ui/events/TouchToMouseMapping.js +1 -1
  414. package/src/sap/ui/events/checkMouseEnterOrLeave.js +1 -1
  415. package/src/sap/ui/events/isMouseEventDelayed.js +1 -1
  416. package/src/sap/ui/events/isSpecialKey.js +1 -1
  417. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  418. package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
  419. package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
  420. package/src/sap/ui/model/Binding.js +1 -1
  421. package/src/sap/ui/model/BindingMode.js +1 -1
  422. package/src/sap/ui/model/ChangeReason.js +1 -1
  423. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  424. package/src/sap/ui/model/ClientListBinding.js +1 -1
  425. package/src/sap/ui/model/ClientModel.js +2 -2
  426. package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
  427. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  428. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  429. package/src/sap/ui/model/CompositeBinding.js +1 -1
  430. package/src/sap/ui/model/CompositeDataState.js +2 -2
  431. package/src/sap/ui/model/CompositeType.js +2 -2
  432. package/src/sap/ui/model/Context.js +1 -1
  433. package/src/sap/ui/model/ContextBinding.js +1 -1
  434. package/src/sap/ui/model/DataState.js +2 -2
  435. package/src/sap/ui/model/Filter.js +1 -1
  436. package/src/sap/ui/model/FilterOperator.js +1 -1
  437. package/src/sap/ui/model/FilterProcessor.js +1 -1
  438. package/src/sap/ui/model/FilterType.js +1 -1
  439. package/src/sap/ui/model/FormatException.js +1 -1
  440. package/src/sap/ui/model/ListBinding.js +1 -1
  441. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -10
  442. package/src/sap/ui/model/MetaModel.js +2 -2
  443. package/src/sap/ui/model/Model.js +2 -2
  444. package/src/sap/ui/model/ParseException.js +1 -1
  445. package/src/sap/ui/model/PropertyBinding.js +1 -1
  446. package/src/sap/ui/model/SelectionModel.js +2 -2
  447. package/src/sap/ui/model/SimpleType.js +2 -2
  448. package/src/sap/ui/model/Sorter.js +1 -1
  449. package/src/sap/ui/model/SorterProcessor.js +1 -1
  450. package/src/sap/ui/model/StaticBinding.js +1 -1
  451. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  452. package/src/sap/ui/model/TreeBinding.js +1 -1
  453. package/src/sap/ui/model/TreeBindingAdapter.js +1 -1
  454. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  455. package/src/sap/ui/model/TreeBindingUtils.js +1 -1
  456. package/src/sap/ui/model/Type.js +2 -2
  457. package/src/sap/ui/model/ValidateException.js +1 -1
  458. package/src/sap/ui/model/_Helper.js +1 -1
  459. package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
  460. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  461. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  462. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  463. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  464. package/src/sap/ui/model/analytics/odata4analytics.js +1 -1
  465. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  466. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +1 -1
  467. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  468. package/src/sap/ui/model/json/JSONModel.js +2 -2
  469. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  470. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  471. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  472. package/src/sap/ui/model/message/MessageModel.js +2 -2
  473. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  474. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  475. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  476. package/src/sap/ui/model/odata/CountMode.js +1 -1
  477. package/src/sap/ui/model/odata/Filter.js +1 -1
  478. package/src/sap/ui/model/odata/MessageScope.js +1 -1
  479. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  480. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  481. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  482. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  483. package/src/sap/ui/model/odata/ODataMetaModel.js +2 -2
  484. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  485. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  486. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  487. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  488. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  489. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
  490. package/src/sap/ui/model/odata/ODataUtils.js +1 -1
  491. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  492. package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
  493. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
  494. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  495. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
  496. package/src/sap/ui/model/odata/type/Boolean.js +2 -2
  497. package/src/sap/ui/model/odata/type/Byte.js +2 -2
  498. package/src/sap/ui/model/odata/type/Currency.js +2 -2
  499. package/src/sap/ui/model/odata/type/Date.js +2 -2
  500. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  501. package/src/sap/ui/model/odata/type/DateTimeBase.js +2 -2
  502. package/src/sap/ui/model/odata/type/DateTimeOffset.js +2 -2
  503. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +2 -2
  504. package/src/sap/ui/model/odata/type/Decimal.js +2 -2
  505. package/src/sap/ui/model/odata/type/Double.js +2 -2
  506. package/src/sap/ui/model/odata/type/Guid.js +2 -2
  507. package/src/sap/ui/model/odata/type/Int.js +2 -2
  508. package/src/sap/ui/model/odata/type/Int16.js +2 -2
  509. package/src/sap/ui/model/odata/type/Int32.js +2 -2
  510. package/src/sap/ui/model/odata/type/Int64.js +2 -2
  511. package/src/sap/ui/model/odata/type/ODataType.js +2 -2
  512. package/src/sap/ui/model/odata/type/Raw.js +2 -2
  513. package/src/sap/ui/model/odata/type/SByte.js +2 -2
  514. package/src/sap/ui/model/odata/type/Single.js +2 -2
  515. package/src/sap/ui/model/odata/type/Stream.js +2 -2
  516. package/src/sap/ui/model/odata/type/String.js +2 -2
  517. package/src/sap/ui/model/odata/type/Time.js +2 -2
  518. package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
  519. package/src/sap/ui/model/odata/type/Unit.js +2 -2
  520. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  521. package/src/sap/ui/model/odata/v2/BatchMode.js +1 -1
  522. package/src/sap/ui/model/odata/v2/Context.js +2 -2
  523. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
  524. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
  525. package/src/sap/ui/model/odata/v2/ODataListBinding.js +1 -1
  526. package/src/sap/ui/model/odata/v2/ODataModel.js +4 -3
  527. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +2 -2
  528. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +1 -1
  529. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +1 -1
  530. package/src/sap/ui/model/odata/v4/Context.js +2 -2
  531. package/src/sap/ui/model/odata/v4/ODataBinding.js +1 -1
  532. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +2 -2
  533. package/src/sap/ui/model/odata/v4/ODataListBinding.js +5 -4
  534. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
  535. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
  536. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -6
  537. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
  538. package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
  539. package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
  540. package/src/sap/ui/model/odata/v4/ValueListType.js +1 -1
  541. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  542. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +1 -1
  543. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +1 -1
  544. package/src/sap/ui/model/odata/v4/lib/_Batch.js +1 -1
  545. package/src/sap/ui/model/odata/v4/lib/_Cache.js +2 -2
  546. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +1 -1
  547. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
  548. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  549. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +1 -1
  550. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
  551. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  552. package/src/sap/ui/model/odata/v4/lib/_Parser.js +1 -1
  553. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +1 -1
  554. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  555. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  556. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +1 -1
  557. package/src/sap/ui/model/resource/ResourceModel.js +2 -2
  558. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  559. package/src/sap/ui/model/type/Boolean.js +2 -2
  560. package/src/sap/ui/model/type/Currency.js +2 -2
  561. package/src/sap/ui/model/type/Date.js +2 -2
  562. package/src/sap/ui/model/type/DateInterval.js +2 -2
  563. package/src/sap/ui/model/type/DateTime.js +2 -2
  564. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  565. package/src/sap/ui/model/type/FileSize.js +2 -2
  566. package/src/sap/ui/model/type/Float.js +2 -2
  567. package/src/sap/ui/model/type/Integer.js +2 -2
  568. package/src/sap/ui/model/type/String.js +2 -2
  569. package/src/sap/ui/model/type/Time.js +2 -2
  570. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  571. package/src/sap/ui/model/type/Unit.js +2 -2
  572. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  573. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  574. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  575. package/src/sap/ui/model/xml/XMLTreeBinding.js +1 -1
  576. package/src/sap/ui/performance/BeaconRequest.js +1 -1
  577. package/src/sap/ui/performance/Measurement.js +1 -1
  578. package/src/sap/ui/performance/XHRInterceptor.js +1 -1
  579. package/src/sap/ui/performance/trace/FESR.js +1 -1
  580. package/src/sap/ui/performance/trace/FESRHelper.js +1 -1
  581. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  582. package/src/sap/ui/performance/trace/Passport.js +1 -1
  583. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  584. package/src/sap/ui/qunit/QUnitUtils.js +1 -1
  585. package/src/sap/ui/qunit/qunit-2-css.js +1 -1
  586. package/src/sap/ui/qunit/qunit-coverage.js +1 -1
  587. package/src/sap/ui/qunit/qunit-css.js +1 -1
  588. package/src/sap/ui/qunit/qunit-junit.js +1 -1
  589. package/src/sap/ui/qunit/qunit-redirect.js +1 -1
  590. package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
  591. package/src/sap/ui/qunit/utils/ControlIterator.js +2 -2
  592. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +2 -2
  593. package/src/sap/ui/qunit/utils/createAndAppendDiv.js +1 -1
  594. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +1 -1
  595. package/src/sap/ui/security/FrameOptions.js +1 -1
  596. package/src/sap/ui/test/BlanketReporter.js +1 -1
  597. package/src/sap/ui/test/BranchTracking.js +1 -1
  598. package/src/sap/ui/test/Opa.js +1 -1
  599. package/src/sap/ui/test/Opa5.js +1 -1
  600. package/src/sap/ui/test/OpaBuilder.js +1 -1
  601. package/src/sap/ui/test/OpaExtension.js +1 -1
  602. package/src/sap/ui/test/OpaPlugin.js +1 -1
  603. package/src/sap/ui/test/PageObjectFactory.js +1 -1
  604. package/src/sap/ui/test/RecordReplay.js +1 -1
  605. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  606. package/src/sap/ui/test/TestUtils.js +1 -1
  607. package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
  608. package/src/sap/ui/test/_ControlFinder.js +1 -1
  609. package/src/sap/ui/test/_LogCollector.js +1 -1
  610. package/src/sap/ui/test/_OpaLogger.js +1 -1
  611. package/src/sap/ui/test/_OpaUriParameterParser.js +1 -1
  612. package/src/sap/ui/test/_ParameterValidator.js +1 -1
  613. package/src/sap/ui/test/_UsageReport.js +1 -1
  614. package/src/sap/ui/test/_ValidationParameters.js +1 -1
  615. package/src/sap/ui/test/actions/Action.js +1 -1
  616. package/src/sap/ui/test/actions/Drag.js +1 -1
  617. package/src/sap/ui/test/actions/Drop.js +1 -1
  618. package/src/sap/ui/test/actions/EnterText.js +1 -1
  619. package/src/sap/ui/test/actions/Press.js +1 -1
  620. package/src/sap/ui/test/actions/Scroll.js +1 -1
  621. package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -1
  622. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +1 -1
  623. package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
  624. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  625. package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +1 -1
  626. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +1 -1
  627. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +1 -1
  628. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +1 -1
  629. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -1
  630. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +1 -1
  631. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +1 -1
  632. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +1 -1
  633. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
  634. package/src/sap/ui/test/autowaiter/_utils.js +1 -1
  635. package/src/sap/ui/test/generic/GenericTestCollection.js +1 -1
  636. package/src/sap/ui/test/generic/TestBase.js +2 -2
  637. package/src/sap/ui/test/generic/Utils.js +1 -1
  638. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -1
  639. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +1 -1
  640. package/src/sap/ui/test/gherkin/StepDefinitions.js +1 -1
  641. package/src/sap/ui/test/gherkin/dataTableUtils.js +1 -1
  642. package/src/sap/ui/test/gherkin/opa5TestHarness.js +1 -1
  643. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +1 -1
  644. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +1 -1
  645. package/src/sap/ui/test/launchers/componentLauncher.js +1 -1
  646. package/src/sap/ui/test/launchers/iFrameLauncher.js +1 -1
  647. package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +1 -1
  648. package/src/sap/ui/test/matchers/AggregationEmpty.js +1 -1
  649. package/src/sap/ui/test/matchers/AggregationFilled.js +1 -1
  650. package/src/sap/ui/test/matchers/AggregationLengthEquals.js +1 -1
  651. package/src/sap/ui/test/matchers/Ancestor.js +1 -1
  652. package/src/sap/ui/test/matchers/BindingPath.js +1 -1
  653. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  654. package/src/sap/ui/test/matchers/I18NText.js +1 -1
  655. package/src/sap/ui/test/matchers/Interactable.js +1 -1
  656. package/src/sap/ui/test/matchers/LabelFor.js +1 -1
  657. package/src/sap/ui/test/matchers/Matcher.js +1 -1
  658. package/src/sap/ui/test/matchers/MatcherFactory.js +1 -1
  659. package/src/sap/ui/test/matchers/Properties.js +1 -1
  660. package/src/sap/ui/test/matchers/PropertyStrictEquals.js +1 -1
  661. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  662. package/src/sap/ui/test/matchers/Visible.js +1 -1
  663. package/src/sap/ui/test/matchers/_Busy.js +1 -1
  664. package/src/sap/ui/test/matchers/_Editable.js +1 -1
  665. package/src/sap/ui/test/matchers/_Enabled.js +1 -1
  666. package/src/sap/ui/test/matchers/_Visitor.js +1 -1
  667. package/src/sap/ui/test/matchers/matchers.js +1 -1
  668. package/src/sap/ui/test/opaQunit.js +1 -1
  669. package/src/sap/ui/test/pipelines/ActionPipeline.js +1 -1
  670. package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
  671. package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -1
  672. package/src/sap/ui/test/qunitPause.js +1 -1
  673. package/src/sap/ui/test/selectors/_BindingPath.js +1 -1
  674. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +1 -1
  675. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  676. package/src/sap/ui/test/selectors/_ControlType.js +1 -1
  677. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -1
  678. package/src/sap/ui/test/selectors/_GlobalID.js +1 -1
  679. package/src/sap/ui/test/selectors/_LabelFor.js +1 -1
  680. package/src/sap/ui/test/selectors/_Properties.js +1 -1
  681. package/src/sap/ui/test/selectors/_Selector.js +1 -1
  682. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -1
  683. package/src/sap/ui/test/selectors/_ViewID.js +1 -1
  684. package/src/sap/ui/test/selectors/_selectors.js +1 -1
  685. package/src/sap/ui/test/starter/_configureLoader.js +1 -1
  686. package/src/sap/ui/test/starter/_setupAndStart.js +1 -1
  687. package/src/sap/ui/test/starter/_utils.js +1 -1
  688. package/src/sap/ui/test/starter/createSuite.js +1 -1
  689. package/src/sap/ui/test/starter/runTest.js +1 -1
  690. package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
  691. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  692. package/src/sap/ui/util/ActivityDetection.js +1 -1
  693. package/src/sap/ui/util/Mobile.js +1 -1
  694. package/src/sap/ui/util/Storage.js +2 -2
  695. package/src/sap/ui/util/XMLHelper.js +1 -1
  696. package/src/sap/ui/util/_FeatureDetection.js +1 -1
  697. package/src/sap/ui/util/defaultLinkTypes.js +1 -1
  698. package/src/sap/ui/util/isCrossOriginURL.js +1 -1
  699. package/src/sap/ui/util/openWindow.js +1 -1
  700. package/src/sap-ui-boot.js +1 -1
  701. package/src/sap-ui-core-nojQuery.js +1 -1
  702. package/src/sap-ui-core.js +1 -1
  703. package/src/sap-ui-debug.js +1 -1
  704. package/src/ui5loader-autoconfig.js +1 -1
  705. package/src/ui5loader.js +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -912,12 +912,106 @@ sap.ui.define([
912
912
  }
913
913
  };
914
914
 
915
+ /**
916
+ * Creates a pattern symbol object containing all needed functions to be used for formatting and parsing.
917
+ * Functions which are not given in <code>mParameters</code> are provided with a default implementation.
918
+ *
919
+ * @param {Object<string,any>} mParameters
920
+ * A parameters map for creating a pattern symbol
921
+ * @param {string} mParameters.name
922
+ * An internal unique name describing this symbol
923
+ * @param {function(Object<string, any>, sap.ui.core.date.UniversalDate, boolean, sap.ui.core.format.DateFormat,
924
+ * string): string} [mParameters.format]
925
+ * A function to format the symbol part based on a given date object
926
+ * @param {function(string, Object<string, any>, sap.ui.core.format.DateFormat, object, string): object}
927
+ * [mParameters.parse]
928
+ * A function to parse the symbol part based on a given date string
929
+ * @param {boolean|function(int): boolean} [mParameters.isNumeric]
930
+ * A boolean to describe, or a function to evaluate, whether the pattern symbol expects a
931
+ * numeric representation. For example pattern "MM" results in "02" and is therefore numeric,
932
+ * but "MMM" results in "Feb" which is not numeric.
933
+ * @returns {{name: string, format: function, parse: function, isNumeric: function}}
934
+ * A pattern symbol object
935
+ *
936
+ * @private
937
+ */
938
+ DateFormat._createPatternSymbol = function (mParameters) {
939
+ var fnIsNumeric = typeof mParameters.isNumeric === "function" && mParameters.isNumeric
940
+ // Default: false
941
+ || function () { return mParameters.isNumeric || false; };
942
+
943
+ return {
944
+ name: mParameters.name,
945
+
946
+ /**
947
+ * Formatter for a pattern symbol.
948
+ *
949
+ * @param {Object<string, any>} oField
950
+ * The date pattern field as parsed by {@link DateFormat#parseCldrDatePattern}
951
+ * @param {sap.ui.core.date.UniversalDate} oDate
952
+ * The date object to format
953
+ * @param {boolean} bUTC
954
+ * Whether the UTC option is set
955
+ * @param {sap.ui.core.format.DateFormat} oFormat
956
+ * The <code>DateFormat</code> instance
957
+ * @returns {string}
958
+ * The formatted date information for this date pattern part
959
+ */
960
+ format: mParameters.format
961
+ // not supported, but reserved
962
+ || function () { return ""; },
963
+
964
+ /**
965
+ * Parser for a pattern symbol.
966
+ *
967
+ * @param {string} sValue
968
+ * The given input
969
+ * @param {Object<string, any>} oPart
970
+ * The date pattern field as parsed by {@link DateFormat#parseCldrDatePattern}
971
+ * @param {sap.ui.core.format.DateFormat} oFormat
972
+ * The <code>DateFormat</code> instance
973
+ * @param {object} oConfig
974
+ * The configuration object for parsing the value
975
+ * @param {object} oConfig.dateValue
976
+ * The already parsed date fields
977
+ * @param {boolean} oConfig.exactLength
978
+ * Whether parsing with the exact length specified by {@link DateFormat#parseCldrDatePattern} is needed
979
+ * @param {object[]} oConfig.formatArray
980
+ * The complete format array as parsed by {@link DateFormat#parseCldrDatePattern}
981
+ * @param {int} oConfig.index
982
+ * The current index in the format array
983
+ * @param {boolean} oConfig.strict
984
+ * Whether to disallow overflows for component values of a date (see
985
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date).
986
+ * Note that the corresponding checks are just for number ranges which are possible <em>at max</em>
987
+ * without overflow; the check for day does not consider the month and year to compute the maximum
988
+ * number of days allowed.
989
+ * @param {string} sTimezone
990
+ * The IANA timezone ID
991
+ * @returns {object}
992
+ * The parsed date information for this date pattern part; could contain the property <code>valid</code>
993
+ * set to <code>false</code> if parsing was not successful
994
+ */
995
+ parse: mParameters.parse
996
+ // not supported, but reserved
997
+ || function () { return {}; },
998
+
999
+ /**
1000
+ * Evaluates whether this symbol has a numeric representation.
1001
+ *
1002
+ * @param {int} [iDigits] The number of repetitions of the pattern symbol, e.g. <code>3</code> for "aaa"
1003
+ * @returns {boolean} Whether this symbol has a numeric representation
1004
+ */
1005
+ isNumeric: fnIsNumeric
1006
+ };
1007
+ };
1008
+
915
1009
  /**
916
1010
  * Provides functionality to format and parse a given pattern symbol.
917
1011
  * @see https://unicode.org/reports/tr35/tr35-dates.html#table-date-field-symbol-table
918
1012
  */
919
1013
  DateFormat.prototype.oSymbols = {
920
- "": {
1014
+ "": DateFormat._createPatternSymbol({
921
1015
  name: "text",
922
1016
  format: function(oField, oDate) {
923
1017
  return oField.value;
@@ -976,8 +1070,8 @@ sap.ui.define([
976
1070
  };
977
1071
  }
978
1072
  }
979
- },
980
- "G": {
1073
+ }),
1074
+ "G": DateFormat._createPatternSymbol({
981
1075
  name: "era",
982
1076
  format: function(oField, oDate, bUTC, oFormat) {
983
1077
  var iEra = oDate.getUTCEra();
@@ -1007,8 +1101,8 @@ sap.ui.define([
1007
1101
  valid: oParseHelper.checkValid(oPart.type, true, oFormat)
1008
1102
  };
1009
1103
  }
1010
- },
1011
- "y": {
1104
+ }),
1105
+ "y": DateFormat._createPatternSymbol({
1012
1106
  name: "year",
1013
1107
  format: function(oField, oDate, bUTC, oFormat) {
1014
1108
  var iYear = oDate.getUTCFullYear();
@@ -1026,15 +1120,19 @@ sap.ui.define([
1026
1120
  return sYear.padStart(oField.digits, "0");
1027
1121
  },
1028
1122
  parse: function(sValue, oPart, oFormat, oConfig) {
1029
- var sCalendarType = oFormat.oFormatOptions.calendarType;
1030
- var sPart;
1123
+ var iExpectedDigits, sPart, bPartInvalid,
1124
+ sCalendarType = oFormat.oFormatOptions.calendarType;
1125
+
1031
1126
  if (oPart.digits == 1) {
1032
- sPart = oParseHelper.findNumbers(sValue, 4);
1127
+ iExpectedDigits = 4;
1033
1128
  } else if (oPart.digits == 2) {
1034
- sPart = oParseHelper.findNumbers(sValue, 2);
1129
+ iExpectedDigits = 2;
1035
1130
  } else {
1036
- sPart = oParseHelper.findNumbers(sValue, oPart.digits);
1131
+ iExpectedDigits = oPart.digits;
1037
1132
  }
1133
+ sPart = oParseHelper.findNumbers(sValue, iExpectedDigits);
1134
+ bPartInvalid = sPart === ""
1135
+ || oConfig.exactLength && sPart.length !== iExpectedDigits;
1038
1136
 
1039
1137
  var iYear = parseInt(sPart);
1040
1138
  // Find the right century for two-digit years
@@ -1070,12 +1168,13 @@ sap.ui.define([
1070
1168
  }
1071
1169
  return {
1072
1170
  length: sPart.length,
1073
- valid: oParseHelper.checkValid(oPart.type, sPart === "", oFormat),
1171
+ valid: oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat),
1074
1172
  year: iYear
1075
1173
  };
1076
- }
1077
- },
1078
- "Y": {
1174
+ },
1175
+ isNumeric: true
1176
+ }),
1177
+ "Y": DateFormat._createPatternSymbol({
1079
1178
  name: "weekYear",
1080
1179
  format: function(oField, oDate, bUTC, oFormat) {
1081
1180
  var oWeek = oDate.getUTCWeek(oFormat.oLocale, getCalendarWeekParameter(oFormat.oFormatOptions));
@@ -1094,15 +1193,20 @@ sap.ui.define([
1094
1193
  return sWeekYear.padStart(oField.digits, "0");
1095
1194
  },
1096
1195
  parse: function(sValue, oPart, oFormat, oConfig) {
1097
- var sCalendarType = oFormat.oFormatOptions.calendarType;
1098
- var sPart;
1196
+ var iExpectedDigits, sPart, bPartInvalid,
1197
+ sCalendarType = oFormat.oFormatOptions.calendarType;
1198
+
1099
1199
  if (oPart.digits == 1) {
1100
- sPart = oParseHelper.findNumbers(sValue, 4);
1200
+ iExpectedDigits = 4;
1101
1201
  } else if (oPart.digits == 2) {
1102
- sPart = oParseHelper.findNumbers(sValue, 2);
1202
+ iExpectedDigits = 2;
1103
1203
  } else {
1104
- sPart = oParseHelper.findNumbers(sValue, oPart.digits);
1204
+ iExpectedDigits = oPart.digits;
1105
1205
  }
1206
+ sPart = oParseHelper.findNumbers(sValue, iExpectedDigits);
1207
+ bPartInvalid = sPart === ""
1208
+ || oConfig.exactLength && sPart.length !== iExpectedDigits;
1209
+
1106
1210
  var iYear = parseInt(sPart);
1107
1211
  var iWeekYear = iYear;
1108
1212
  // Find the right century for two-digit years
@@ -1121,13 +1225,14 @@ sap.ui.define([
1121
1225
  }
1122
1226
  return {
1123
1227
  length: sPart.length,
1124
- valid: oParseHelper.checkValid(oPart.type, sPart === "", oFormat),
1228
+ valid: oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat),
1125
1229
  year: iYear,
1126
1230
  weekYear: iWeekYear
1127
1231
  };
1128
- }
1129
- },
1130
- "M": {
1232
+ },
1233
+ isNumeric: true
1234
+ }),
1235
+ "M": DateFormat._createPatternSymbol({
1131
1236
  name: "month",
1132
1237
  format: function(oField, oDate, bUTC, oFormat) {
1133
1238
  var iMonth = oDate.getUTCMonth();
@@ -1142,14 +1247,18 @@ sap.ui.define([
1142
1247
  }
1143
1248
  },
1144
1249
  parse: function(sValue, oPart, oFormat, oConfig) {
1145
- var aMonthsVariants = [oFormat.aMonthsWide, oFormat.aMonthsWideSt, oFormat.aMonthsAbbrev, oFormat.aMonthsAbbrevSt, oFormat.aMonthsNarrow, oFormat.aMonthsNarrowSt];
1146
- var bValid;
1147
- var iMonth;
1148
- var sPart;
1250
+ var iMonth, sPart, bPartInvalid, bValid,
1251
+ aMonthsVariants = [
1252
+ oFormat.aMonthsWide, oFormat.aMonthsWideSt,
1253
+ oFormat.aMonthsAbbrev, oFormat.aMonthsAbbrevSt,
1254
+ oFormat.aMonthsNarrow, oFormat.aMonthsNarrowSt
1255
+ ];
1149
1256
 
1150
1257
  if (oPart.digits < 3) {
1151
1258
  sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1152
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1259
+ bPartInvalid = sPart === ""
1260
+ || oConfig.exactLength && sPart.length < 2;
1261
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1153
1262
  iMonth = parseInt(sPart) - 1;
1154
1263
  if (oConfig.strict && (iMonth > 11 || iMonth < 0)) {
1155
1264
  bValid = false;
@@ -1172,9 +1281,12 @@ sap.ui.define([
1172
1281
  length: sPart ? sPart.length : 0,
1173
1282
  valid: bValid
1174
1283
  };
1284
+ },
1285
+ isNumeric: function (iDigits) {
1286
+ return iDigits < 3;
1175
1287
  }
1176
- },
1177
- "L": {
1288
+ }),
1289
+ "L": DateFormat._createPatternSymbol({
1178
1290
  name: "monthStandalone",
1179
1291
  format: function(oField, oDate, bUTC, oFormat) {
1180
1292
  var iMonth = oDate.getUTCMonth();
@@ -1189,14 +1301,18 @@ sap.ui.define([
1189
1301
  }
1190
1302
  },
1191
1303
  parse: function(sValue, oPart, oFormat, oConfig) {
1192
- var aMonthsVariants = [oFormat.aMonthsWide, oFormat.aMonthsWideSt, oFormat.aMonthsAbbrev, oFormat.aMonthsAbbrevSt, oFormat.aMonthsNarrow, oFormat.aMonthsNarrowSt];
1193
- var bValid;
1194
- var iMonth;
1195
- var sPart;
1304
+ var iMonth, sPart, bPartInvalid, bValid,
1305
+ aMonthsVariants = [
1306
+ oFormat.aMonthsWide, oFormat.aMonthsWideSt,
1307
+ oFormat.aMonthsAbbrev, oFormat.aMonthsAbbrevSt,
1308
+ oFormat.aMonthsNarrow, oFormat.aMonthsNarrowSt
1309
+ ];
1196
1310
 
1197
1311
  if (oPart.digits < 3) {
1198
1312
  sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1199
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1313
+ bPartInvalid = sPart === ""
1314
+ || oConfig.exactLength && sPart.length < 2;
1315
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1200
1316
  iMonth = parseInt(sPart) - 1;
1201
1317
  if (oConfig.strict && (iMonth > 11 || iMonth < 0)) {
1202
1318
  bValid = false;
@@ -1219,9 +1335,12 @@ sap.ui.define([
1219
1335
  length: sPart ? sPart.length : 0,
1220
1336
  valid: bValid
1221
1337
  };
1338
+ },
1339
+ isNumeric: function (iDigits) {
1340
+ return iDigits < 3;
1222
1341
  }
1223
- },
1224
- "w": {
1342
+ }),
1343
+ "w": DateFormat._createPatternSymbol({
1225
1344
  name: "weekInYear",
1226
1345
  format: function(oField, oDate, bUTC, oFormat) {
1227
1346
  var oWeek = oDate.getUTCWeek(oFormat.oLocale, getCalendarWeekParameter(oFormat.oFormatOptions));
@@ -1235,16 +1354,16 @@ sap.ui.define([
1235
1354
  return sWeek;
1236
1355
  },
1237
1356
  parse: function(sValue, oPart, oFormat, oConfig) {
1238
- var bValid;
1239
- var sPart;
1240
- var iWeek;
1241
- var iLength = 0;
1357
+ var sPart, bPartInvalid, bValid, iWeek,
1358
+ iLength = 0;
1242
1359
 
1243
1360
  if (oPart.digits < 3) {
1244
1361
  sPart = oParseHelper.findNumbers(sValue, 2);
1245
1362
  iLength = sPart.length;
1246
1363
  iWeek = parseInt(sPart) - 1;
1247
- bValid = oParseHelper.checkValid(oPart.type, !sPart, oFormat);
1364
+ bPartInvalid = !sPart
1365
+ || oConfig.exactLength && iLength < 2;
1366
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1248
1367
  } else {
1249
1368
  sPart = oFormat.oLocaleData.getCalendarWeek(oPart.digits === 3 ? "narrow" : "wide");
1250
1369
  sPart = sPart.replace("{0}", "([0-9]+)");
@@ -1265,37 +1384,30 @@ sap.ui.define([
1265
1384
  valid: bValid,
1266
1385
  week: iWeek
1267
1386
  };
1268
- }
1269
- },
1270
- "W": {
1271
- name: "weekInMonth",
1272
- format: function(oField, oDate) {
1273
- // not supported
1274
- return "";
1275
1387
  },
1276
- parse: function() {
1277
- return {};
1278
- }
1279
- },
1280
- "D": {
1281
- name: "dayInYear",
1282
- format: function(oField, oDate) {
1283
-
1284
- },
1285
- parse: function() {
1286
- return {};
1287
- }
1288
- },
1289
- "d": {
1388
+ isNumeric: function (iDigits) {
1389
+ return iDigits < 3;
1390
+ }
1391
+ }),
1392
+ "W": DateFormat._createPatternSymbol({
1393
+ name: "weekInMonth"
1394
+ }),
1395
+ "D": DateFormat._createPatternSymbol({
1396
+ name: "dayInYear"
1397
+ }),
1398
+ "d": DateFormat._createPatternSymbol({
1290
1399
  name: "day",
1291
1400
  format: function(oField, oDate) {
1292
1401
  var iDate = oDate.getUTCDate();
1293
1402
  return String(iDate).padStart(oField.digits, "0");
1294
1403
  },
1295
1404
  parse: function(sValue, oPart, oFormat, oConfig) {
1296
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1297
- var bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1298
- var iDay = parseInt(sPart);
1405
+ var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2)),
1406
+ bPartInvalid = sPart === ""
1407
+ || oConfig.exactLength && sPart.length < 2,
1408
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat),
1409
+ iDay = parseInt(sPart);
1410
+
1299
1411
  if (oConfig.strict && (iDay > 31 || iDay < 1)) {
1300
1412
  bValid = false;
1301
1413
  }
@@ -1304,9 +1416,10 @@ sap.ui.define([
1304
1416
  length: sPart.length,
1305
1417
  valid: bValid
1306
1418
  };
1307
- }
1308
- },
1309
- "Q": {
1419
+ },
1420
+ isNumeric: true
1421
+ }),
1422
+ "Q": DateFormat._createPatternSymbol({
1310
1423
  name: "quarter",
1311
1424
  format: function(oField, oDate, bUTC, oFormat) {
1312
1425
  var iQuarter = oDate.getUTCQuarter();
@@ -1321,14 +1434,14 @@ sap.ui.define([
1321
1434
  }
1322
1435
  },
1323
1436
  parse: function(sValue, oPart, oFormat, oConfig) {
1324
- var bValid;
1325
- var iQuarter;
1326
- var sPart;
1437
+ var sPart, bPartInvalid, iQuarter, bValid;
1327
1438
  var aQuartersVariants = [oFormat.aQuartersWide, oFormat.aQuartersWideSt, oFormat.aQuartersAbbrev, oFormat.aQuartersAbbrevSt, oFormat.aQuartersNarrow, oFormat.aQuartersNarrowSt];
1328
1439
 
1329
1440
  if (oPart.digits < 3) {
1330
1441
  sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1331
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1442
+ bPartInvalid = sPart === ""
1443
+ || oConfig.exactLength && sPart.length < 2;
1444
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1332
1445
  iQuarter = parseInt(sPart) - 1;
1333
1446
  if (oConfig.strict && iQuarter > 3) {
1334
1447
  bValid = false;
@@ -1352,9 +1465,12 @@ sap.ui.define([
1352
1465
  quarter: iQuarter,
1353
1466
  valid: bValid
1354
1467
  };
1468
+ },
1469
+ isNumeric: function (iDigits) {
1470
+ return iDigits < 3;
1355
1471
  }
1356
- },
1357
- "q": {
1472
+ }),
1473
+ "q": DateFormat._createPatternSymbol({
1358
1474
  name: "quarterStandalone",
1359
1475
  format: function(oField, oDate, bUTC, oFormat) {
1360
1476
  var iQuarter = oDate.getUTCQuarter();
@@ -1369,14 +1485,14 @@ sap.ui.define([
1369
1485
  }
1370
1486
  },
1371
1487
  parse: function(sValue, oPart, oFormat, oConfig) {
1372
- var bValid;
1373
- var iQuarter;
1374
- var sPart;
1488
+ var sPart, bPartInvalid, iQuarter, bValid;
1375
1489
  var aQuartersVariants = [oFormat.aQuartersWide, oFormat.aQuartersWideSt, oFormat.aQuartersAbbrev, oFormat.aQuartersAbbrevSt, oFormat.aQuartersNarrow, oFormat.aQuartersNarrowSt];
1376
1490
 
1377
1491
  if (oPart.digits < 3) {
1378
1492
  sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1379
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1493
+ bPartInvalid = sPart === ""
1494
+ || oConfig.exactLength && sPart.length < 2;
1495
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1380
1496
  iQuarter = parseInt(sPart) - 1;
1381
1497
  if (oConfig.strict && iQuarter > 3) {
1382
1498
  bValid = false;
@@ -1400,19 +1516,15 @@ sap.ui.define([
1400
1516
  quarter: iQuarter,
1401
1517
  valid: bValid
1402
1518
  };
1403
- }
1404
- },
1405
- "F": {
1406
- name: "dayOfWeekInMonth",
1407
- format: function(oField, oDate, oFormat) {
1408
- // not supported
1409
- return "";
1410
1519
  },
1411
- parse: function() {
1412
- return {};
1413
- }
1414
- },
1415
- "E": {
1520
+ isNumeric: function (iDigits) {
1521
+ return iDigits < 3;
1522
+ }
1523
+ }),
1524
+ "F": DateFormat._createPatternSymbol({
1525
+ name: "dayOfWeekInMonth"
1526
+ }),
1527
+ "E": DateFormat._createPatternSymbol({
1416
1528
  name: "dayNameInWeek", //Day of week name, format style.
1417
1529
  format: function(oField, oDate, bUTC, oFormat) {
1418
1530
  var iDay = oDate.getUTCDay();
@@ -1441,8 +1553,8 @@ sap.ui.define([
1441
1553
  }
1442
1554
  }
1443
1555
  }
1444
- },
1445
- "c": {
1556
+ }),
1557
+ "c": DateFormat._createPatternSymbol({
1446
1558
  name: "dayNameInWeekStandalone",
1447
1559
  format: function(oField, oDate, bUTC, oFormat) {
1448
1560
  var iDay = oDate.getUTCDay();
@@ -1470,28 +1582,31 @@ sap.ui.define([
1470
1582
  }
1471
1583
  }
1472
1584
  }
1473
- },
1585
+ }),
1474
1586
  // day number of week (depends on locale's first day of week)
1475
1587
  // e.g. Thursday
1476
1588
  // "de": 4 (firstDay: 1)
1477
1589
  // "en": 5 (firstDay: 0)
1478
1590
  // "ar": 6 (firstDay: 6)
1479
- "u": {
1591
+ "u": DateFormat._createPatternSymbol({
1480
1592
  name: "dayNumberOfWeek",
1481
1593
  format: function(oField, oDate, bUTC, oFormat) {
1482
1594
  var iDay = oDate.getUTCDay();
1483
1595
  return oFormat._adaptDayOfWeek(iDay);
1484
1596
  },
1485
1597
  parse: function(sValue, oPart, oFormat, oConfig) {
1486
- var sPart = oParseHelper.findNumbers(sValue, oPart.digits);
1598
+ var sPart = oParseHelper.findNumbers(sValue, oPart.digits),
1599
+ bPartInvalid = oConfig.exactLength && sPart.length !== oPart.digits;
1487
1600
 
1488
1601
  return {
1489
1602
  dayNumberOfWeek: parseInt(sPart),
1490
- length: sPart.length
1603
+ length: sPart.length,
1604
+ valid: oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat)
1491
1605
  };
1492
- }
1493
- },
1494
- "a": {
1606
+ },
1607
+ isNumeric: true
1608
+ }),
1609
+ "a": DateFormat._createPatternSymbol({
1495
1610
  name: "amPmMarker",
1496
1611
  /**
1497
1612
  * Formats the day period.
@@ -1603,19 +1718,19 @@ sap.ui.define([
1603
1718
  valid: false
1604
1719
  };
1605
1720
  }
1606
- },
1607
- "H": {
1721
+ }),
1722
+ "H": DateFormat._createPatternSymbol({
1608
1723
  name: "hour0_23",
1609
1724
  format: function(oField, oDate) {
1610
1725
  var iHours = oDate.getUTCHours();
1611
1726
  return String(iHours).padStart(oField.digits, "0");
1612
1727
  },
1613
1728
  parse: function(sValue, oPart, oFormat, oConfig) {
1614
- var bValid;
1615
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1616
- var iHours = parseInt(sPart);
1617
-
1618
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1729
+ var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2)),
1730
+ iHours = parseInt(sPart),
1731
+ bPartInvalid = sPart === ""
1732
+ || oConfig.exactLength && sPart.length < 2,
1733
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1619
1734
 
1620
1735
  if (oConfig.strict && iHours > 23) {
1621
1736
  bValid = false;
@@ -1626,9 +1741,10 @@ sap.ui.define([
1626
1741
  length: sPart.length,
1627
1742
  valid: bValid
1628
1743
  };
1629
- }
1630
- },
1631
- "k": {
1744
+ },
1745
+ isNumeric: true
1746
+ }),
1747
+ "k": DateFormat._createPatternSymbol({
1632
1748
  name: "hour1_24",
1633
1749
  format: function(oField, oDate) {
1634
1750
  var iHours = oDate.getUTCHours();
@@ -1637,11 +1753,11 @@ sap.ui.define([
1637
1753
  return sHours.padStart(oField.digits, "0");
1638
1754
  },
1639
1755
  parse: function(sValue, oPart, oFormat, oConfig) {
1640
- var bValid;
1641
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1642
- var iHours = parseInt(sPart);
1643
-
1644
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1756
+ var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2)),
1757
+ iHours = parseInt(sPart),
1758
+ bPartInvalid = sPart === ""
1759
+ || oConfig.exactLength && sPart.length < 2,
1760
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1645
1761
 
1646
1762
  if (iHours == 24) {
1647
1763
  iHours = 0;
@@ -1655,9 +1771,10 @@ sap.ui.define([
1655
1771
  length: sPart.length,
1656
1772
  valid: bValid
1657
1773
  };
1658
- }
1659
- },
1660
- "K": {
1774
+ },
1775
+ isNumeric: true
1776
+ }),
1777
+ "K": DateFormat._createPatternSymbol({
1661
1778
  name: "hour0_11",
1662
1779
  format: function(oField, oDate) {
1663
1780
  var iHours = oDate.getUTCHours();
@@ -1666,11 +1783,11 @@ sap.ui.define([
1666
1783
  return sHours.padStart(oField.digits, "0");
1667
1784
  },
1668
1785
  parse: function(sValue, oPart, oFormat, oConfig) {
1669
- var bValid;
1670
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1671
- var iHours = parseInt(sPart);
1672
-
1673
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1786
+ var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2)),
1787
+ iHours = parseInt(sPart),
1788
+ bPartInvalid = sPart === ""
1789
+ || oConfig.exactLength && sPart.length < 2,
1790
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1674
1791
 
1675
1792
  if (oConfig.strict && iHours > 11) {
1676
1793
  bValid = false;
@@ -1681,9 +1798,10 @@ sap.ui.define([
1681
1798
  length: sPart.length,
1682
1799
  valid: bValid
1683
1800
  };
1684
- }
1685
- },
1686
- "h": {
1801
+ },
1802
+ isNumeric: true
1803
+ }),
1804
+ "h": DateFormat._createPatternSymbol({
1687
1805
  name: "hour1_12",
1688
1806
  format: function(oField, oDate) {
1689
1807
  var iHours = oDate.getUTCHours();
@@ -1699,11 +1817,13 @@ sap.ui.define([
1699
1817
  return sHours.padStart(oField.digits, "0");
1700
1818
  },
1701
1819
  parse: function(sValue, oPart, oFormat, oConfig) {
1702
- var bPM = oConfig.dateValue.pm;
1703
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1704
- var iHours = parseInt(sPart);
1820
+ var bPM = oConfig.dateValue.pm,
1821
+ sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2)),
1822
+ iHours = parseInt(sPart),
1823
+ bPartInvalid = sPart === ""
1824
+ || oConfig.exactLength && sPart.length < 2,
1825
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1705
1826
 
1706
- var bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1707
1827
 
1708
1828
  if (iHours == 12) {
1709
1829
  iHours = 0;
@@ -1722,20 +1842,21 @@ sap.ui.define([
1722
1842
  pm: bPM,
1723
1843
  valid: bValid
1724
1844
  };
1725
- }
1726
- },
1727
- "m": {
1845
+ },
1846
+ isNumeric: true
1847
+ }),
1848
+ "m": DateFormat._createPatternSymbol({
1728
1849
  name: "minute",
1729
1850
  format: function(oField, oDate) {
1730
1851
  var iMinutes = oDate.getUTCMinutes();
1731
1852
  return String(iMinutes).padStart(oField.digits, "0");
1732
1853
  },
1733
1854
  parse: function(sValue, oPart, oFormat, oConfig) {
1734
- var bValid;
1735
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1736
- var iMinutes = parseInt(sPart);
1737
-
1738
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1855
+ var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2)),
1856
+ iMinutes = parseInt(sPart),
1857
+ bPartInvalid = sPart === ""
1858
+ || oConfig.exactLength && sPart.length < 2,
1859
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1739
1860
 
1740
1861
  if (oConfig.strict && iMinutes > 59) {
1741
1862
  bValid = false;
@@ -1746,20 +1867,22 @@ sap.ui.define([
1746
1867
  minute: iMinutes,
1747
1868
  valid: bValid
1748
1869
  };
1749
- }
1750
- },
1751
- "s": {
1870
+ },
1871
+ isNumeric: true
1872
+ }),
1873
+ "s": DateFormat._createPatternSymbol({
1752
1874
  name: "second",
1753
1875
  format: function(oField, oDate) {
1754
1876
  var iSeconds = oDate.getUTCSeconds();
1755
1877
  return String(iSeconds).padStart(oField.digits, "0");
1756
1878
  },
1757
1879
  parse: function(sValue, oPart, oFormat, oConfig) {
1758
- var bValid;
1759
- var sPart = oParseHelper.findNumbers(sValue, Math.max(oPart.digits, 2));
1760
- var iSeconds = parseInt(sPart);
1761
-
1762
- bValid = oParseHelper.checkValid(oPart.type, sPart === "", oFormat);
1880
+ var iExpectedDigits = Math.max(oPart.digits, 2),
1881
+ sPart = oParseHelper.findNumbers(sValue, iExpectedDigits),
1882
+ bPartInvalid = sPart === ""
1883
+ || oConfig.exactLength && sPart.length < iExpectedDigits,
1884
+ iSeconds = parseInt(sPart),
1885
+ bValid = oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat);
1763
1886
 
1764
1887
  if (oConfig.strict && iSeconds > 59) {
1765
1888
  bValid = false;
@@ -1770,9 +1893,10 @@ sap.ui.define([
1770
1893
  second: iSeconds,
1771
1894
  valid: bValid
1772
1895
  };
1773
- }
1774
- },
1775
- "S": {
1896
+ },
1897
+ isNumeric: true
1898
+ }),
1899
+ "S": DateFormat._createPatternSymbol({
1776
1900
  name: "fractionalsecond",
1777
1901
  format: function(oField, oDate) {
1778
1902
  var iMilliseconds = oDate.getUTCMilliseconds();
@@ -1783,8 +1907,9 @@ sap.ui.define([
1783
1907
  return sFractionalseconds;
1784
1908
  },
1785
1909
  parse: function(sValue, oPart, oFormat, oConfig) {
1786
- var sPart = oParseHelper.findNumbers(sValue, oPart.digits);
1787
- var iLength = sPart.length;
1910
+ var sPart = oParseHelper.findNumbers(sValue, oPart.digits),
1911
+ iLength = sPart.length,
1912
+ bPartInvalid = oConfig.exactLength && iLength < oPart.digits;
1788
1913
 
1789
1914
  sPart = sPart.substr(0, 3);
1790
1915
  sPart = sPart.padEnd(3, "0");
@@ -1793,11 +1918,13 @@ sap.ui.define([
1793
1918
 
1794
1919
  return {
1795
1920
  length: iLength,
1796
- millisecond: iMilliseconds
1921
+ millisecond: iMilliseconds,
1922
+ valid: oParseHelper.checkValid(oPart.type, bPartInvalid, oFormat)
1797
1923
  };
1798
- }
1799
- },
1800
- "z": {
1924
+ },
1925
+ isNumeric: true
1926
+ }),
1927
+ "z": DateFormat._createPatternSymbol({
1801
1928
  name: "timezoneGeneral",
1802
1929
  format: function(oField, oDate, bUTC, oFormat, sTimezone) {
1803
1930
  //TODO getTimezoneLong and getTimezoneShort does not exist on Date object
@@ -1857,8 +1984,8 @@ sap.ui.define([
1857
1984
  tzDiff: iTZDiff
1858
1985
  };
1859
1986
  }
1860
- },
1861
- "Z": {
1987
+ }),
1988
+ "Z": DateFormat._createPatternSymbol({
1862
1989
  name: "timezoneRFC822",
1863
1990
  format: function(oField, oDate, bUTC, oFormat, sTimezone) {
1864
1991
  var iTimezoneOffset = TimezoneUtil.calculateOffset(oDate, sTimezone);
@@ -1885,8 +2012,8 @@ sap.ui.define([
1885
2012
  parse: function(sValue, oPart, oFormat, oConfig) {
1886
2013
  return oParseHelper.parseTZ(sValue, false);
1887
2014
  }
1888
- },
1889
- "X": {
2015
+ }),
2016
+ "X": DateFormat._createPatternSymbol({
1890
2017
  name: "timezoneISO8601",
1891
2018
  format: function(oField, oDate, bUTC, oFormat, sTimezone) {
1892
2019
  /*
@@ -1950,8 +2077,8 @@ sap.ui.define([
1950
2077
  return oParseHelper.parseTZ(sValue, oPart.digits === 3 || oPart.digits === 5);
1951
2078
  }
1952
2079
  }
1953
- },
1954
- "V": {
2080
+ }),
2081
+ "V": DateFormat._createPatternSymbol({
1955
2082
  name: "timezoneID",
1956
2083
  format: function(oField, oDate, bUTC, oFormat, sTimezone) {
1957
2084
  // Only VV is supported
@@ -2008,7 +2135,7 @@ sap.ui.define([
2008
2135
 
2009
2136
  return oTimezoneParsed;
2010
2137
  }
2011
- }
2138
+ })
2012
2139
  };
2013
2140
 
2014
2141
  DateFormat.prototype._format = function(oJSDate, bUTC, sTimezone) {
@@ -2233,26 +2360,31 @@ sap.ui.define([
2233
2360
  };
2234
2361
 
2235
2362
  DateFormat.prototype._parse = function(sValue, aFormatArray, bUTC, bStrict, sTimezone) {
2236
- var iIndex = 0,
2237
- oPart, sSubValue, oResult;
2238
-
2239
- var oDateValue = {
2240
- valid: true,
2241
- lastTimezonePatternSymbol: ""
2242
- };
2363
+ var oNextPart, oPart, oPrevPart, oResult, sSubValue,
2364
+ oDateValue = {
2365
+ valid: true,
2366
+ lastTimezonePatternSymbol: ""
2367
+ },
2368
+ iIndex = 0,
2369
+ oParseConf = {
2370
+ formatArray: aFormatArray,
2371
+ dateValue: oDateValue,
2372
+ strict: bStrict
2373
+ },
2374
+ that = this;
2243
2375
 
2244
- var oParseConf = {
2245
- formatArray: aFormatArray,
2246
- dateValue: oDateValue,
2247
- strict: bStrict
2248
- };
2376
+ function getSymbol(oPart0) { return that.oSymbols[oPart0.symbol || ""]; }
2377
+ function isNumeric(oPart0) { return !!oPart0 && getSymbol(oPart0).isNumeric(oPart0.digits); }
2249
2378
 
2250
2379
  for (var i = 0; i < aFormatArray.length; i++) {
2251
2380
  sSubValue = sValue.substr(iIndex);
2252
2381
  oPart = aFormatArray[i];
2382
+ oPrevPart = aFormatArray[i - 1];
2383
+ oNextPart = aFormatArray[i + 1];
2253
2384
  oParseConf.index = i;
2385
+ oParseConf.exactLength = isNumeric(oPart) && (isNumeric(oPrevPart) || isNumeric(oNextPart));
2254
2386
 
2255
- oResult = this.oSymbols[oPart.symbol || ""].parse(sSubValue, oPart, this, oParseConf, sTimezone) || {};
2387
+ oResult = getSymbol(oPart).parse(sSubValue, oPart, this, oParseConf, sTimezone) || {};
2256
2388
  // Remember the last required timezone difference which needs to be calculated (V pattern) or applied (x and z pattern)
2257
2389
  if (oResult.tzDiff !== undefined || oResult.timezone) {
2258
2390
  oResult.lastTimezonePatternSymbol = oPart.symbol;