@ui5/webcomponents-localization 2.20.1 → 2.20.2

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 (153) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +36 -24
  4. package/dist/generated/assets/cldr/ar.json +624 -354
  5. package/dist/generated/assets/cldr/ar_EG.json +624 -354
  6. package/dist/generated/assets/cldr/ar_SA.json +625 -355
  7. package/dist/generated/assets/cldr/bg.json +339 -215
  8. package/dist/generated/assets/cldr/ca.json +633 -509
  9. package/dist/generated/assets/cldr/cnr.json +960 -653
  10. package/dist/generated/assets/cldr/cs.json +343 -531
  11. package/dist/generated/assets/cldr/cy.json +684 -1050
  12. package/dist/generated/assets/cldr/da.json +354 -231
  13. package/dist/generated/assets/cldr/de.json +458 -330
  14. package/dist/generated/assets/cldr/de_AT.json +459 -331
  15. package/dist/generated/assets/cldr/de_CH.json +522 -386
  16. package/dist/generated/assets/cldr/el.json +317 -152
  17. package/dist/generated/assets/cldr/el_CY.json +317 -152
  18. package/dist/generated/assets/cldr/en.json +606 -253
  19. package/dist/generated/assets/cldr/en_AU.json +830 -376
  20. package/dist/generated/assets/cldr/en_GB.json +696 -251
  21. package/dist/generated/assets/cldr/en_HK.json +544 -203
  22. package/dist/generated/assets/cldr/en_IE.json +533 -192
  23. package/dist/generated/assets/cldr/en_IN.json +820 -296
  24. package/dist/generated/assets/cldr/en_NZ.json +534 -193
  25. package/dist/generated/assets/cldr/en_PG.json +509 -168
  26. package/dist/generated/assets/cldr/en_SG.json +526 -185
  27. package/dist/generated/assets/cldr/en_ZA.json +529 -186
  28. package/dist/generated/assets/cldr/es.json +355 -230
  29. package/dist/generated/assets/cldr/es_AR.json +444 -288
  30. package/dist/generated/assets/cldr/es_BO.json +419 -264
  31. package/dist/generated/assets/cldr/es_CL.json +455 -300
  32. package/dist/generated/assets/cldr/es_CO.json +412 -257
  33. package/dist/generated/assets/cldr/es_MX.json +515 -352
  34. package/dist/generated/assets/cldr/es_PE.json +397 -234
  35. package/dist/generated/assets/cldr/es_UY.json +424 -269
  36. package/dist/generated/assets/cldr/es_VE.json +398 -243
  37. package/dist/generated/assets/cldr/et.json +390 -233
  38. package/dist/generated/assets/cldr/fa.json +510 -271
  39. package/dist/generated/assets/cldr/fi.json +497 -251
  40. package/dist/generated/assets/cldr/fr.json +339 -106
  41. package/dist/generated/assets/cldr/fr_BE.json +341 -108
  42. package/dist/generated/assets/cldr/fr_CA.json +652 -397
  43. package/dist/generated/assets/cldr/fr_CH.json +342 -109
  44. package/dist/generated/assets/cldr/fr_LU.json +339 -106
  45. package/dist/generated/assets/cldr/he.json +726 -904
  46. package/dist/generated/assets/cldr/hi.json +529 -288
  47. package/dist/generated/assets/cldr/hr.json +392 -383
  48. package/dist/generated/assets/cldr/hu.json +459 -335
  49. package/dist/generated/assets/cldr/id.json +379 -128
  50. package/dist/generated/assets/cldr/it.json +420 -301
  51. package/dist/generated/assets/cldr/it_CH.json +426 -307
  52. package/dist/generated/assets/cldr/ja.json +332 -74
  53. package/dist/generated/assets/cldr/kk.json +540 -240
  54. package/dist/generated/assets/cldr/ko.json +371 -115
  55. package/dist/generated/assets/cldr/lt.json +428 -545
  56. package/dist/generated/assets/cldr/lv.json +415 -413
  57. package/dist/generated/assets/cldr/mk.json +691 -559
  58. package/dist/generated/assets/cldr/ms.json +395 -136
  59. package/dist/generated/assets/cldr/nb.json +355 -234
  60. package/dist/generated/assets/cldr/nl.json +357 -251
  61. package/dist/generated/assets/cldr/nl_BE.json +428 -322
  62. package/dist/generated/assets/cldr/pl.json +333 -459
  63. package/dist/generated/assets/cldr/pt.json +419 -298
  64. package/dist/generated/assets/cldr/pt_PT.json +362 -231
  65. package/dist/generated/assets/cldr/ro.json +369 -397
  66. package/dist/generated/assets/cldr/ru.json +599 -368
  67. package/dist/generated/assets/cldr/ru_UA.json +598 -367
  68. package/dist/generated/assets/cldr/sk.json +343 -517
  69. package/dist/generated/assets/cldr/sl.json +477 -640
  70. package/dist/generated/assets/cldr/sr.json +478 -531
  71. package/dist/generated/assets/cldr/sr_Latn.json +631 -684
  72. package/dist/generated/assets/cldr/sv.json +395 -258
  73. package/dist/generated/assets/cldr/th.json +452 -199
  74. package/dist/generated/assets/cldr/tr.json +391 -238
  75. package/dist/generated/assets/cldr/uk.json +696 -342
  76. package/dist/generated/assets/cldr/vi.json +836 -487
  77. package/dist/generated/assets/cldr/zh_CN.json +358 -104
  78. package/dist/generated/assets/cldr/zh_HK.json +366 -113
  79. package/dist/generated/assets/cldr/zh_SG.json +371 -118
  80. package/dist/generated/assets/cldr/zh_TW.json +480 -238
  81. package/dist/sap/base/Event.js +2 -2
  82. package/dist/sap/base/Eventing.js +4 -3
  83. package/dist/sap/base/assert.js +1 -1
  84. package/dist/sap/base/config/MemoryConfigurationProvider.js +1 -1
  85. package/dist/sap/base/future.js +12 -0
  86. package/dist/sap/base/i18n/Formatting.d.ts +5 -0
  87. package/dist/sap/base/i18n/Formatting.js +7 -0
  88. package/dist/sap/base/i18n/Formatting.js.map +1 -1
  89. package/dist/sap/base/i18n/LanguageTag.js +18 -12
  90. package/dist/sap/base/i18n/Localization.d.ts +3 -0
  91. package/dist/sap/base/i18n/Localization.js +5 -0
  92. package/dist/sap/base/i18n/Localization.js.map +1 -1
  93. package/dist/sap/base/i18n/ResourceBundle.js +20 -0
  94. package/dist/sap/base/i18n/date/CalendarType.js +9 -8
  95. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +9 -8
  96. package/dist/sap/base/i18n/date/TimezoneUtils.js +170 -18
  97. package/dist/sap/base/i18n/date/_EnumHelper.js +37 -0
  98. package/dist/sap/base/strings/camelize.js +1 -1
  99. package/dist/sap/base/strings/formatMessage.js +6 -1
  100. package/dist/sap/base/util/Properties.js +12 -0
  101. package/dist/sap/base/util/Version.js +19 -13
  102. package/dist/sap/base/util/_merge.js +1 -1
  103. package/dist/sap/base/util/array/uniqueSort.js +1 -1
  104. package/dist/sap/base/util/deepClone.js +2 -2
  105. package/dist/sap/base/util/deepEqual.js +1 -1
  106. package/dist/sap/base/util/deepExtend.js +60 -0
  107. package/dist/sap/base/util/extend.js +1 -1
  108. package/dist/sap/base/util/fetch.js +8 -0
  109. package/dist/sap/base/util/isEmptyObject.js +1 -1
  110. package/dist/sap/base/util/isPlainObject.js +1 -1
  111. package/dist/sap/base/util/merge.js +57 -0
  112. package/dist/sap/base/util/mixedFetch.js +3 -0
  113. package/dist/sap/base/util/now.js +7 -13
  114. package/dist/sap/base/util/uid.js +1 -1
  115. package/dist/sap/ui/Device.js +27 -0
  116. package/dist/sap/ui/Global.js +1 -0
  117. package/dist/sap/ui/VersionInfo.js +14 -0
  118. package/dist/sap/ui/base/DataType.js +63 -12
  119. package/dist/sap/ui/base/DesignTime.js +11 -0
  120. package/dist/sap/ui/base/EventProvider.js +21 -0
  121. package/dist/sap/ui/base/Metadata.js +45 -10
  122. package/dist/sap/ui/base/Object.js +2 -2
  123. package/dist/sap/ui/base/OwnStatics.js +6 -0
  124. package/dist/sap/ui/base/SyncPromise.js +98 -0
  125. package/dist/sap/ui/core/AnimationMode.js +42 -0
  126. package/dist/sap/ui/core/CalendarType.js +2 -2
  127. package/dist/sap/ui/core/ControlBehavior.js +11 -0
  128. package/dist/sap/ui/core/Lib.js +41 -0
  129. package/dist/sap/ui/core/Locale.js +9 -9
  130. package/dist/sap/ui/core/LocaleData.js +498 -333
  131. package/dist/sap/ui/core/Theming.js +25 -525
  132. package/dist/sap/ui/core/_UrlResolver.js +11 -0
  133. package/dist/sap/ui/core/date/Buddhist.js +2 -2
  134. package/dist/sap/ui/core/date/CalendarUtils.js +14 -12
  135. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -2
  136. package/dist/sap/ui/core/date/Gregorian.js +2 -2
  137. package/dist/sap/ui/core/date/Islamic.js +2 -2
  138. package/dist/sap/ui/core/date/Japanese.js +2 -2
  139. package/dist/sap/ui/core/date/Persian.js +2 -2
  140. package/dist/sap/ui/core/date/UI5Date.js +80 -32
  141. package/dist/sap/ui/core/date/UniversalDate.js +83 -101
  142. package/dist/sap/ui/core/format/DateFormat.js +70 -73
  143. package/dist/sap/ui/core/format/FormatUtils.js +30 -0
  144. package/dist/sap/ui/core/format/NumberFormat.js +917 -588
  145. package/dist/sap/ui/core/format/TimezoneUtil.js +80 -11
  146. package/dist/sap/ui/core/getCompatibilityVersion.js +7 -0
  147. package/dist/sap/ui/core/theming/ThemeHelper.js +14 -0
  148. package/dist/sap/ui/security/Security.js +12 -0
  149. package/dist/sap/ui/util/XMLHelper.js +11 -0
  150. package/dist/sap/ui/util/_URL.js +1 -0
  151. package/dist/ui5loader-autoconfig.js +1 -0
  152. package/package.json +5 -5
  153. package/used-modules.txt +5 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  import assert from "../assert.js";
@@ -66,6 +66,11 @@ var rMessageFormat = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)
66
66
  * @public
67
67
  */
68
68
  var fnFormatMessage = function (sPattern, aValues) {
69
+ if (sPattern == null) {
70
+ // Binding formatter case: arguments might be nullish while data is still being populated
71
+ // Return an empty string in those cases
72
+ return "";
73
+ }
69
74
  assert(typeof sPattern === "string" || sPattern instanceof String, "pattern must be string");
70
75
  if (arguments.length > 2 || aValues != null && !Array.isArray(aValues)) {
71
76
  aValues = Array.prototype.slice.call(arguments, 1);
@@ -0,0 +1,12 @@
1
+ export default {
2
+ create: function () {
3
+ return Promise.resolve({
4
+ getProperty: function () {
5
+ return null;
6
+ },
7
+ getKeys: function () {
8
+ return [];
9
+ }
10
+ });
11
+ }
12
+ };
@@ -3,7 +3,7 @@
3
3
  // -------------------------- VERSION -------------------------------------
4
4
  /*!
5
5
  * OpenUI5
6
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
6
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
7
7
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
8
8
  */
9
9
 
@@ -34,9 +34,9 @@ var rVersion = /^[0-9]+(?:\.([0-9]+)(?:\.([0-9]+))?)?(.*)$/;
34
34
  *
35
35
  * @param {int|string|any[]|module:sap/base/util/Version} vMajor the major part of the version (int) or any of the single
36
36
  * parameter variants explained above.
37
- * @param {int} iMinor the minor part of the version number
38
- * @param {int} iPatch the patch part of the version number
39
- * @param {string} sSuffix the suffix part of the version number
37
+ * @param {int} [iMinor] the minor part of the version number
38
+ * @param {int} [iPatch] the patch part of the version number
39
+ * @param {string} [sSuffix] the suffix part of the version number
40
40
  * @class Represents a version consisting of major, minor, patch version, and suffix, for example '1.2.7-SNAPSHOT'.
41
41
  * @since 1.58
42
42
  * @alias module:sap/base/util/Version
@@ -72,7 +72,7 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
72
72
  /**
73
73
  * Returns a string representation of this version.
74
74
  *
75
- * @return {string} a string representation of this version.
75
+ * @returns {string} a string representation of this version.
76
76
  * @public
77
77
  */
78
78
  this.toString = function () {
@@ -82,7 +82,7 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
82
82
  /**
83
83
  * Returns the major version part of this version.
84
84
  *
85
- * @return {int} the major version part of this version
85
+ * @returns {int} the major version part of this version
86
86
  * @public
87
87
  */
88
88
  this.getMajor = function () {
@@ -92,7 +92,7 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
92
92
  /**
93
93
  * Returns the minor version part of this version.
94
94
  *
95
- * @return {int} the minor version part of this version
95
+ * @returns {int} the minor version part of this version
96
96
  * @public
97
97
  */
98
98
  this.getMinor = function () {
@@ -102,7 +102,7 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
102
102
  /**
103
103
  * Returns the patch (or micro) version part of this version.
104
104
  *
105
- * @return {int} the patch version part of this version
105
+ * @returns {int} the patch version part of this version
106
106
  * @public
107
107
  */
108
108
  this.getPatch = function () {
@@ -112,7 +112,7 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
112
112
  /**
113
113
  * Returns the version suffix of this version.
114
114
  *
115
- * @return {string} the version suffix of this version
115
+ * @returns {string} the version suffix of this version
116
116
  * @public
117
117
  */
118
118
  this.getSuffix = function () {
@@ -123,14 +123,20 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
123
123
  * Compares this version with a given one.
124
124
  *
125
125
  * The version with which this version should be compared can be given as a <code>sap/base/util/Version</code> instance,
126
- * as a string (e.g. <code>v.compareto("1.4.5")</code>). Or major, minor, patch and suffix values can be given as
126
+ * as a string (e.g. <code>v.compareTo("1.4.5")</code>). Or major, minor, patch and suffix values can be given as
127
127
  * separate parameters (e.g. <code>v.compareTo(1, 4, 5)</code>) or in an array (e.g. <code>v.compareTo([1, 4, 5])</code>).
128
128
  *
129
- * @return {int} 0, if the given version is equal to this version, a negative value if the given other version is greater
129
+ * @param {int|string|any[]|module:sap/base/util/Version} vOtherMajor
130
+ * The major part (an integer) of the version to compare to or the full version in any of the single
131
+ * parameter variants, as documented for the {@link module:sap/base/util/Version constructor}.
132
+ * @param {int} [iOtherMinor] A minor version to compare to (only valid when <code>vOther</code> is a single integer)
133
+ * @param {int} [iOtherPatch] A patch version to compare to (only valid when <code>vOther</code> is a single integer)
134
+ * @param {string} [sOtherSuffix] A version suffix like "-SNAPSHOT" to compare to (only valid when <code>vOther</code> is an integer)
135
+ * @returns {int} 0, if the given version is equal to this version, a negative value if the given other version is greater
130
136
  * and a positive value otherwise
131
137
  * @public
132
138
  */
133
- this.compareTo = function () {
139
+ this.compareTo = function (vOtherMajor, iOtherMinor, iOtherPatch, sOtherSuffix) {
134
140
  var vOther = Version.apply(window, arguments);
135
141
  /*eslint-disable no-nested-ternary */
136
142
  return vMajor - vOther.getMajor() || iMinor - vOther.getMinor() || iPatch - vOther.getPatch() || (sSuffix < vOther.getSuffix() ? -1 : sSuffix === vOther.getSuffix() ? 0 : 1);
@@ -147,7 +153,7 @@ function Version(vMajor, iMinor, iPatch, sSuffix) {
147
153
  *
148
154
  * @param {string|any[]|module:sap/base/util/Version} vMin the start of the range (inclusive)
149
155
  * @param {string|any[]|module:sap/base/util/Version} vMax the end of the range (exclusive)
150
- * @return {boolean} <code>true</code> if this version is greater or equal to <code>vMin</code> and smaller
156
+ * @returns {boolean} <code>true</code> if this version is greater or equal to <code>vMin</code> and smaller
151
157
  * than <code>vMax</code>, <code>false</code> otherwise.
152
158
  * @public
153
159
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  import isPlainObject from "./isPlainObject.js";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  import assert from "../../assert.js";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  import isPlainObject from "./isPlainObject.js";
@@ -65,7 +65,7 @@ function clone(src, depth, maxDepth) {
65
65
  return src;
66
66
  } else if (src instanceof Date) {
67
67
  if (src.clone) {
68
- // sap.ui.core.date.UI5Date
68
+ // module:sap/ui/core/date/UI5Date
69
69
  return src.clone();
70
70
  }
71
71
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  /*global Node */
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import _merge from "./_merge.js";
7
+ /**
8
+ * Performs object extension by merging source objects into a target object. Copies are always deep.
9
+ *
10
+ * If during merging a key in the target object exists it is overwritten with the source object's value.
11
+ * Usage is the same as <code>jQuery.extend(true, ...)</code>.
12
+ * Values that are <code>undefined</code> are ignored.
13
+ *
14
+ * For shallow copies, you may use {@link module:sap/base/util/extend sap/base/util/extend} or
15
+ * <code>Object.assign</code>, but note that <code>Object.assign</code> only copies enumerable and own
16
+ * properties and doesn't copy properties on the prototype and non-enumerable properties.
17
+ * Also, values that are <code>undefined</code> are NOT ignored.
18
+ *
19
+ * @example
20
+ * var oResult = deepExtend({}, {
21
+ * prop1: {
22
+ * prop1a: "1a"
23
+ * }
24
+ * }, {
25
+ * prop2: {
26
+ * prop2a: "2a"
27
+ * }
28
+ * }, {
29
+ * prop1: {
30
+ * prop1b: "1b"
31
+ * }
32
+ * }, {
33
+ * prop2: undefined
34
+ * });
35
+ *
36
+ * console.log(oResult);
37
+ * {
38
+ * "prop1": {
39
+ * "prop1a": "1a",
40
+ * "prop1b": "1b"
41
+ * },
42
+ * "prop2": {
43
+ * "prop2a": "2a"
44
+ * }
45
+ * }
46
+ *
47
+ * @function
48
+ * @alias module:sap/base/util/deepExtend
49
+ * @param {object} target The object that will receive new properties
50
+ * @param {...object} [source] One or more objects which get merged into the target object
51
+ * @return {object} the target object which is the result of the merge
52
+ * @public
53
+ * @since 1.71
54
+ */
55
+ var fnDeepExtend = function () {
56
+ var args = [true, true];
57
+ args.push.apply(args, arguments);
58
+ return _merge.apply(null, args);
59
+ };
60
+ export default fnDeepExtend;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  import _merge from "./_merge.js";
@@ -0,0 +1,8 @@
1
+ var fetch = function () {
2
+ return Promise.reject(new Error("fetch not supported in UI5 Web Components"));
3
+ };
4
+ fetch.ContentTypes = {
5
+ text: "text/plain",
6
+ json: "application/json"
7
+ };
8
+ export default fetch;
@@ -20,7 +20,7 @@
20
20
  * @returns {boolean} whether or not the given object is empty
21
21
  */ /*!
22
22
  * OpenUI5
23
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
23
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
24
24
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
25
25
  */
26
26
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import _merge from "./_merge.js";
7
+ /**
8
+ * Performs object extension by merging source objects into a target object. Copies are always deep.
9
+ *
10
+ * If during merging a key in the target object exists it is overwritten with the source object's value.
11
+ * Usage is the same as <code>jQuery.extend(true, ...)</code>, but values that are <code>undefined</code>
12
+ * are NOT ignored.
13
+ *
14
+ * For shallow copies, you may use <code>Object.assign</code>, but note that <code>Object.assign</code> only
15
+ * copies enumerable and own properties and doesn't copy properties on the prototype and non-enumerable properties.
16
+ *
17
+ * @example
18
+ * var oResult = merge({}, {
19
+ * prop1: {
20
+ * prop1a: "1a"
21
+ * }
22
+ * }, {
23
+ * prop2: {
24
+ * prop2a: "2a"
25
+ * }
26
+ * }, {
27
+ * prop1: {
28
+ * prop1b: "1b"
29
+ * }
30
+ * }, {
31
+ * prop2: undefined
32
+ * });
33
+ *
34
+ * console.log(oResult);
35
+ * {
36
+ * "prop1": {
37
+ * "prop1a": "1a",
38
+ * "prop1b": "1b"
39
+ * },
40
+ * "prop2": undefined
41
+ * }
42
+ *
43
+ * @function
44
+ * @since 1.58
45
+ * @public
46
+ * @alias module:sap/base/util/merge
47
+ * @param {object} target The object that will receive new properties
48
+ * @param {...object} [source] One or more objects which get merged into the target object
49
+ * @return {object} the target object which is the result of the merge
50
+ *
51
+ */
52
+ var fnMerge = function () {
53
+ var args = [true, false];
54
+ args.push.apply(args, arguments);
55
+ return _merge.apply(null, args);
56
+ };
57
+ export default fnMerge;
@@ -0,0 +1,3 @@
1
+ export default (function () {
2
+ return Promise.reject(new Error("mixedFetch not supported in UI5 Web Components"));
3
+ });
@@ -1,9 +1,6 @@
1
- // @evo-todo window.performance does not exist on node.js, but there is a module performance-now. Maybe use it
2
-
3
1
  /**
4
- * Returns a high resolution timestamp in microseconds if supported by the environment, otherwise in milliseconds.
5
- * The timestamp is based on 01/01/1970 00:00:00 (UNIX epoch) as float with microsecond precision or
6
- * with millisecond precision, if high resolution timestamps are not available.
2
+ * Returns a high resolution timestamp in microseconds.
3
+ * The timestamp is based on 01/01/1970 00:00:00 (UNIX epoch) as float with microsecond precision.
7
4
  * The fractional part of the timestamp represents fractions of a millisecond.
8
5
  * Converting to a <code>Date</code> is possible by using <code>require(["sap/base/util/now"], function(now){new Date(now());}</code>
9
6
  *
@@ -11,18 +8,15 @@
11
8
  * @since 1.58
12
9
  * @public
13
10
  * @alias module:sap/base/util/now
14
- * @returns {float} timestamp in microseconds if supported by the environment otherwise in milliseconds
11
+ * @returns {float} timestamp in microseconds
15
12
  */ /*!
16
13
  * OpenUI5
17
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
14
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
18
15
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
19
16
  */
20
17
  /*global performance */
21
18
 
22
- var fnNow = !(typeof window != "undefined" && window.performance && performance.now && performance.timing) ? Date.now : function () {
23
- var iNavigationStart = performance.timing.navigationStart;
24
- return function perfnow() {
25
- return iNavigationStart + performance.now();
26
- };
27
- }();
19
+ var fnNow = function now() {
20
+ return performance.timeOrigin + performance.now();
21
+ };
28
22
  export default fnNow;
@@ -4,7 +4,7 @@
4
4
  * @private
5
5
  */ /*!
6
6
  * OpenUI5
7
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
7
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
9
9
  */
10
10
 
@@ -0,0 +1,27 @@
1
+ export default {
2
+ browser: {
3
+ firefox: false,
4
+ webkit: false,
5
+ chrome: false,
6
+ name: "",
7
+ version: -1
8
+ },
9
+ os: {
10
+ windows: false,
11
+ macintosh: false,
12
+ linux: false,
13
+ android: false,
14
+ ios: false
15
+ },
16
+ system: {
17
+ desktop: true,
18
+ phone: false,
19
+ tablet: false
20
+ },
21
+ support: {
22
+ touch: false
23
+ },
24
+ media: {},
25
+ orientation: {},
26
+ resize: {}
27
+ };
@@ -0,0 +1 @@
1
+ export default {};
@@ -0,0 +1,14 @@
1
+ export default {
2
+ load: function () {
3
+ return Promise.resolve({});
4
+ },
5
+ _load: function () {
6
+ return Promise.resolve({});
7
+ },
8
+ _getTransitiveDependencyForLibraries: function () {
9
+ return [];
10
+ },
11
+ _getTransitiveDependencyForComponent: function () {
12
+ return undefined;
13
+ }
14
+ };
@@ -1,15 +1,17 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  /* global Set */
7
7
  // Provides class sap.ui.base.DataType
8
+ import future from "../../base/future.js";
8
9
  import ObjectPath from "../../base/util/ObjectPath.js";
9
10
  import assert from "../../base/assert.js";
10
11
  import Log from "../../base/Log.js";
11
12
  import isPlainObject from "../../base/util/isPlainObject.js";
12
13
  import resolveReference from "../../base/util/resolveReference.js";
14
+ import _EnumHelper from "../../base/i18n/date/_EnumHelper.js";
13
15
  /**
14
16
  * Pseudo-Constructor for class <code>DataType</code>, never to be used.
15
17
  *
@@ -428,6 +430,28 @@ function createEnumType(sTypeName, oEnum) {
428
430
  };
429
431
  return oType;
430
432
  }
433
+ const oLoggedErrors = new Set();
434
+
435
+ /**
436
+ * Logs an error only once per class name and property name combination.
437
+ *
438
+ * If the class name and property name are not given, the message is logged.
439
+ *
440
+ * @param {string} sClassName - The name of the class where the error occurred.
441
+ * @param {string} sPropertyName - The name of the property causing the error.
442
+ * @param {string} sMessage - Additional message to log.
443
+ */
444
+ function logErrorOnce(sClassName, sPropertyName, sMessage) {
445
+ if (sClassName && sPropertyName) {
446
+ const sKey = `${sClassName}::${sPropertyName}`;
447
+ if (!oLoggedErrors.has(sKey)) {
448
+ oLoggedErrors.add(sKey);
449
+ Log.error(`Property "${sPropertyName}" of "${sClassName}": ${sMessage}`);
450
+ }
451
+ } else {
452
+ Log.error(sMessage);
453
+ }
454
+ }
431
455
 
432
456
  /**
433
457
  * Looks up the type with the given name and returns it.
@@ -468,11 +492,12 @@ function createEnumType(sTypeName, oEnum) {
468
492
  * needed by the specific control or class definition.
469
493
  *
470
494
  * @param {string} sTypeName Qualified name of the type to retrieve
495
+ * @param {sap.ui.base.ManagedObject.MetadataOptions.Property} [oProperty] Metadata of the property
471
496
  * @returns {sap.ui.base.DataType|undefined} Type object or <code>undefined</code> when
472
497
  * no such type has been defined yet
473
498
  * @public
474
499
  */
475
- DataType.getType = function (sTypeName) {
500
+ DataType.getType = function (sTypeName, oProperty) {
476
501
  assert(sTypeName && typeof sTypeName === 'string', "sTypeName must be a non-empty string");
477
502
  var oType = mTypes[sTypeName];
478
503
  if (!(oType instanceof DataType)) {
@@ -496,7 +521,7 @@ DataType.getType = function (sTypeName) {
496
521
  if (oType == null) {
497
522
  oType = ObjectPath.get(sTypeName);
498
523
  if (oType != null) {
499
- Log.error(`The type '${sTypeName}' was accessed via globals. Defining enums via globals is deprecated. Please require the module 'sap/ui/base/DataType' and call the static 'DataType.registerEnum' API.`);
524
+ logErrorOnce(oProperty?._oParent.getName(), oProperty?.name, `[DEPRECATED] The type '${sTypeName}' was accessed via globals. Defining types via globals is deprecated. ` + `In case the referenced type is an enum: require the module 'sap/ui/base/DataType' and call the static 'DataType.registerEnum' API. ` + `In case the referenced type is non-primitive, please note that only primitive types (and those derived from them) are supported for ManagedObject properties. ` + `If the given type is an interface or a subclass of ManagedObject, you can define a "0..1" aggregation instead of a property`);
500
525
  }
501
526
  }
502
527
  if (oType instanceof DataType) {
@@ -505,10 +530,10 @@ DataType.getType = function (sTypeName) {
505
530
  oType = mTypes[sTypeName] = createEnumType(sTypeName, oType);
506
531
  delete mEnumRegistry[sTypeName];
507
532
  } else if (oType) {
508
- Log.warning("[FUTURE FATAL] '" + sTypeName + "' is not a valid data type. Falling back to type 'any'.");
533
+ future.warningThrows("'" + sTypeName + "' is not a valid data type. Falling back to type 'any'.");
509
534
  oType = mTypes.any;
510
535
  } else {
511
- Log.error("[FUTURE FATAL] data type '" + sTypeName + "' could not be found.");
536
+ future.errorThrows("data type '" + sTypeName + "' could not be found.");
512
537
  oType = undefined;
513
538
  }
514
539
  }
@@ -565,20 +590,20 @@ DataType.createType = function (sName, mSettings, vBase) {
565
590
  assert(typeof sName === "string" && sName, "DataType.createType: type name must be a non-empty string");
566
591
  assert(vBase == null || vBase instanceof DataType || typeof vBase === "string" && vBase, "DataType.createType: base type must be empty or a DataType or a non-empty string");
567
592
  if (/[\[\]]/.test(sName)) {
568
- Log.error("[FUTURE FATAL] DataType.createType: array types ('something[]') must not be created with createType, " + "they're created on-the-fly by DataType.getType");
593
+ future.errorThrows("DataType.createType: array types ('something[]') must not be created with createType, " + "they're created on-the-fly by DataType.getType");
569
594
  }
570
595
  if (typeof vBase === "string") {
571
596
  vBase = DataType.getType(vBase);
572
597
  }
573
598
  vBase = vBase || mTypes.any;
574
599
  if (vBase.isArrayType() || vBase.isEnumType()) {
575
- Log.error("[FUTURE FATAL] DataType.createType: base type must not be an array- or enum-type");
600
+ future.errorThrows("DataType.createType: base type must not be an array- or enum-type");
576
601
  }
577
602
  if (sName === 'array' || mTypes[sName] instanceof DataType) {
578
603
  if (sName === 'array' || mTypes[sName].getBaseType() == null) {
579
604
  throw new Error("DataType.createType: primitive or hidden type " + sName + " can't be re-defined");
580
605
  }
581
- Log.warning("[FUTURE FATAL] DataTypes.createType: type " + sName + " is redefined. " + "This is an unsupported usage of DataType and might cause issues.");
606
+ future.warningThrows("DataTypes.createType: type " + sName + " is redefined. " + "This is an unsupported usage of DataType and might cause issues.");
582
607
  }
583
608
  var oType = mTypes[sName] = createType(sName, mSettings, vBase);
584
609
  return oType;
@@ -599,10 +624,15 @@ DataType.registerInterfaceTypes = function (aTypes) {
599
624
  aTypes.forEach(function (sType) {
600
625
  oInterfaces.add(sType);
601
626
 
602
- // Defining the interface on global namespace for compatibility reasons.
603
- // This has never been a public feature and it is strongly discouraged it be relied upon.
604
- // An interface must always be referenced by a string literal, not via the global namespace.
605
- ObjectPath.set(sType, sType);
627
+ /**
628
+ * @deprecated
629
+ */
630
+ (() => {
631
+ // Defining the interface on global namespace for compatibility reasons.
632
+ // This has never been a public feature and it is strongly discouraged it be relied upon.
633
+ // An interface must always be referenced by a string literal, not via the global namespace.
634
+ ObjectPath.set(sType, sType);
635
+ })();
606
636
  });
607
637
  };
608
638
 
@@ -654,4 +684,25 @@ DataType._isEnumCandidate = function (oObject) {
654
684
  DataType.isInterfaceType = function (sType) {
655
685
  return oInterfaces.has(sType);
656
686
  };
687
+
688
+ /**
689
+ * A string type representing an ID or a name.
690
+ *
691
+ * Allowed is a sequence of characters (capital/lowercase), digits, underscores, hyphens, dots and/or colons.
692
+ * It may start with a character or underscore only.
693
+ *
694
+ * @typedef {string} sap.ui.core.ID
695
+ * @final
696
+ * @public
697
+ * @ui5-module-override sap/ui/core/library ID
698
+ */
699
+ DataType.createType('sap.ui.core.ID', {
700
+ isValid: function (vValue) {
701
+ return /^([A-Za-z_][-A-Za-z0-9_.:]*)$/.test(vValue);
702
+ }
703
+ }, DataType.getType('string'));
704
+
705
+ // The enum helper receives the final registerEnum function and ensures
706
+ // that all early collected enums are correctly registered
707
+ _EnumHelper.inject(DataType.registerEnum);
657
708
  export default DataType;
@@ -0,0 +1,11 @@
1
+ export default {
2
+ isDesignModeEnabled: function () {
3
+ return false;
4
+ },
5
+ isControllerCodeDeactivationSuppressed: function () {
6
+ return false;
7
+ },
8
+ isControllerCodeDeactivated: function () {
9
+ return false;
10
+ }
11
+ };
@@ -0,0 +1,21 @@
1
+ function EventProvider() {}
2
+ EventProvider.prototype.attachEvent = function () {
3
+ return this;
4
+ };
5
+ EventProvider.prototype.attachEventOnce = function () {
6
+ return this;
7
+ };
8
+ EventProvider.prototype.detachEvent = function () {
9
+ return this;
10
+ };
11
+ EventProvider.prototype.fireEvent = function () {
12
+ return this;
13
+ };
14
+ EventProvider.prototype.hasListeners = function () {
15
+ return false;
16
+ };
17
+ EventProvider.prototype.getEventingParent = function () {
18
+ return null;
19
+ };
20
+ EventProvider.prototype.destroy = function () {};
21
+ export default EventProvider;