@ui5/webcomponents-localization 2.20.1 → 2.20.3

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 (165) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/DateFormat.d.ts +23 -0
  4. package/dist/DateFormat.js +9 -0
  5. package/dist/DateFormat.js.map +1 -1
  6. package/dist/Locale.d.ts +5 -0
  7. package/dist/Locale.js +7 -0
  8. package/dist/Locale.js.map +1 -0
  9. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +2 -2
  10. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -1
  11. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +36 -24
  12. package/dist/generated/assets/cldr/ar.json +624 -354
  13. package/dist/generated/assets/cldr/ar_EG.json +624 -354
  14. package/dist/generated/assets/cldr/ar_SA.json +625 -355
  15. package/dist/generated/assets/cldr/bg.json +339 -215
  16. package/dist/generated/assets/cldr/ca.json +633 -509
  17. package/dist/generated/assets/cldr/cnr.json +960 -653
  18. package/dist/generated/assets/cldr/cs.json +343 -531
  19. package/dist/generated/assets/cldr/cy.json +684 -1050
  20. package/dist/generated/assets/cldr/da.json +354 -231
  21. package/dist/generated/assets/cldr/de.json +458 -330
  22. package/dist/generated/assets/cldr/de_AT.json +459 -331
  23. package/dist/generated/assets/cldr/de_CH.json +522 -386
  24. package/dist/generated/assets/cldr/el.json +317 -152
  25. package/dist/generated/assets/cldr/el_CY.json +317 -152
  26. package/dist/generated/assets/cldr/en.json +606 -253
  27. package/dist/generated/assets/cldr/en_AU.json +830 -376
  28. package/dist/generated/assets/cldr/en_GB.json +696 -251
  29. package/dist/generated/assets/cldr/en_HK.json +544 -203
  30. package/dist/generated/assets/cldr/en_IE.json +533 -192
  31. package/dist/generated/assets/cldr/en_IN.json +820 -296
  32. package/dist/generated/assets/cldr/en_NZ.json +534 -193
  33. package/dist/generated/assets/cldr/en_PG.json +509 -168
  34. package/dist/generated/assets/cldr/en_SG.json +526 -185
  35. package/dist/generated/assets/cldr/en_ZA.json +529 -186
  36. package/dist/generated/assets/cldr/es.json +355 -230
  37. package/dist/generated/assets/cldr/es_AR.json +444 -288
  38. package/dist/generated/assets/cldr/es_BO.json +419 -264
  39. package/dist/generated/assets/cldr/es_CL.json +455 -300
  40. package/dist/generated/assets/cldr/es_CO.json +412 -257
  41. package/dist/generated/assets/cldr/es_MX.json +515 -352
  42. package/dist/generated/assets/cldr/es_PE.json +397 -234
  43. package/dist/generated/assets/cldr/es_UY.json +424 -269
  44. package/dist/generated/assets/cldr/es_VE.json +398 -243
  45. package/dist/generated/assets/cldr/et.json +390 -233
  46. package/dist/generated/assets/cldr/fa.json +510 -271
  47. package/dist/generated/assets/cldr/fi.json +497 -251
  48. package/dist/generated/assets/cldr/fr.json +339 -106
  49. package/dist/generated/assets/cldr/fr_BE.json +341 -108
  50. package/dist/generated/assets/cldr/fr_CA.json +652 -397
  51. package/dist/generated/assets/cldr/fr_CH.json +342 -109
  52. package/dist/generated/assets/cldr/fr_LU.json +339 -106
  53. package/dist/generated/assets/cldr/he.json +726 -904
  54. package/dist/generated/assets/cldr/hi.json +529 -288
  55. package/dist/generated/assets/cldr/hr.json +392 -383
  56. package/dist/generated/assets/cldr/hu.json +459 -335
  57. package/dist/generated/assets/cldr/id.json +379 -128
  58. package/dist/generated/assets/cldr/it.json +420 -301
  59. package/dist/generated/assets/cldr/it_CH.json +426 -307
  60. package/dist/generated/assets/cldr/ja.json +332 -74
  61. package/dist/generated/assets/cldr/kk.json +540 -240
  62. package/dist/generated/assets/cldr/ko.json +371 -115
  63. package/dist/generated/assets/cldr/lt.json +428 -545
  64. package/dist/generated/assets/cldr/lv.json +415 -413
  65. package/dist/generated/assets/cldr/mk.json +691 -559
  66. package/dist/generated/assets/cldr/ms.json +395 -136
  67. package/dist/generated/assets/cldr/nb.json +355 -234
  68. package/dist/generated/assets/cldr/nl.json +357 -251
  69. package/dist/generated/assets/cldr/nl_BE.json +428 -322
  70. package/dist/generated/assets/cldr/pl.json +333 -459
  71. package/dist/generated/assets/cldr/pt.json +419 -298
  72. package/dist/generated/assets/cldr/pt_PT.json +362 -231
  73. package/dist/generated/assets/cldr/ro.json +369 -397
  74. package/dist/generated/assets/cldr/ru.json +599 -368
  75. package/dist/generated/assets/cldr/ru_UA.json +598 -367
  76. package/dist/generated/assets/cldr/sk.json +343 -517
  77. package/dist/generated/assets/cldr/sl.json +477 -640
  78. package/dist/generated/assets/cldr/sr.json +478 -531
  79. package/dist/generated/assets/cldr/sr_Latn.json +631 -684
  80. package/dist/generated/assets/cldr/sv.json +395 -258
  81. package/dist/generated/assets/cldr/th.json +452 -199
  82. package/dist/generated/assets/cldr/tr.json +391 -238
  83. package/dist/generated/assets/cldr/uk.json +696 -342
  84. package/dist/generated/assets/cldr/vi.json +836 -487
  85. package/dist/generated/assets/cldr/zh_CN.json +358 -104
  86. package/dist/generated/assets/cldr/zh_HK.json +366 -113
  87. package/dist/generated/assets/cldr/zh_SG.json +371 -118
  88. package/dist/generated/assets/cldr/zh_TW.json +480 -238
  89. package/dist/getCachedLocaleDataInstance.js +2 -0
  90. package/dist/getCachedLocaleDataInstance.js.map +1 -1
  91. package/dist/locale/getLocaleData.js +2 -0
  92. package/dist/locale/getLocaleData.js.map +1 -1
  93. package/dist/sap/base/Event.js +2 -2
  94. package/dist/sap/base/Eventing.js +4 -3
  95. package/dist/sap/base/assert.js +1 -1
  96. package/dist/sap/base/config/MemoryConfigurationProvider.js +1 -1
  97. package/dist/sap/base/future.js +12 -0
  98. package/dist/sap/base/i18n/Formatting.d.ts +5 -0
  99. package/dist/sap/base/i18n/Formatting.js +7 -0
  100. package/dist/sap/base/i18n/Formatting.js.map +1 -1
  101. package/dist/sap/base/i18n/LanguageTag.js +18 -12
  102. package/dist/sap/base/i18n/Localization.d.ts +3 -0
  103. package/dist/sap/base/i18n/Localization.js +5 -0
  104. package/dist/sap/base/i18n/Localization.js.map +1 -1
  105. package/dist/sap/base/i18n/ResourceBundle.js +20 -0
  106. package/dist/sap/base/i18n/date/CalendarType.js +9 -8
  107. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +9 -8
  108. package/dist/sap/base/i18n/date/TimezoneUtils.js +170 -18
  109. package/dist/sap/base/i18n/date/_EnumHelper.js +37 -0
  110. package/dist/sap/base/strings/camelize.js +1 -1
  111. package/dist/sap/base/strings/formatMessage.js +6 -1
  112. package/dist/sap/base/util/Properties.js +12 -0
  113. package/dist/sap/base/util/Version.js +19 -13
  114. package/dist/sap/base/util/_merge.js +1 -1
  115. package/dist/sap/base/util/array/uniqueSort.js +1 -1
  116. package/dist/sap/base/util/deepClone.js +2 -2
  117. package/dist/sap/base/util/deepEqual.js +1 -1
  118. package/dist/sap/base/util/deepExtend.js +60 -0
  119. package/dist/sap/base/util/extend.js +1 -1
  120. package/dist/sap/base/util/fetch.js +8 -0
  121. package/dist/sap/base/util/isEmptyObject.js +1 -1
  122. package/dist/sap/base/util/isPlainObject.js +1 -1
  123. package/dist/sap/base/util/merge.js +57 -0
  124. package/dist/sap/base/util/mixedFetch.js +3 -0
  125. package/dist/sap/base/util/now.js +7 -13
  126. package/dist/sap/base/util/uid.js +1 -1
  127. package/dist/sap/ui/Device.js +27 -0
  128. package/dist/sap/ui/Global.js +1 -0
  129. package/dist/sap/ui/VersionInfo.js +14 -0
  130. package/dist/sap/ui/base/DataType.js +63 -12
  131. package/dist/sap/ui/base/DesignTime.js +11 -0
  132. package/dist/sap/ui/base/EventProvider.js +21 -0
  133. package/dist/sap/ui/base/Metadata.js +45 -10
  134. package/dist/sap/ui/base/Object.js +2 -2
  135. package/dist/sap/ui/base/OwnStatics.js +6 -0
  136. package/dist/sap/ui/base/SyncPromise.js +98 -0
  137. package/dist/sap/ui/core/AnimationMode.js +42 -0
  138. package/dist/sap/ui/core/CalendarType.js +2 -2
  139. package/dist/sap/ui/core/ControlBehavior.js +11 -0
  140. package/dist/sap/ui/core/Lib.js +41 -0
  141. package/dist/sap/ui/core/Locale.js +9 -9
  142. package/dist/sap/ui/core/LocaleData.js +498 -333
  143. package/dist/sap/ui/core/Theming.js +25 -525
  144. package/dist/sap/ui/core/_UrlResolver.js +11 -0
  145. package/dist/sap/ui/core/date/Buddhist.js +2 -2
  146. package/dist/sap/ui/core/date/CalendarUtils.js +14 -12
  147. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -2
  148. package/dist/sap/ui/core/date/Gregorian.js +2 -2
  149. package/dist/sap/ui/core/date/Islamic.js +2 -2
  150. package/dist/sap/ui/core/date/Japanese.js +2 -2
  151. package/dist/sap/ui/core/date/Persian.js +2 -2
  152. package/dist/sap/ui/core/date/UI5Date.js +80 -32
  153. package/dist/sap/ui/core/date/UniversalDate.js +83 -101
  154. package/dist/sap/ui/core/format/DateFormat.js +70 -73
  155. package/dist/sap/ui/core/format/FormatUtils.js +30 -0
  156. package/dist/sap/ui/core/format/NumberFormat.js +917 -588
  157. package/dist/sap/ui/core/format/TimezoneUtil.js +80 -11
  158. package/dist/sap/ui/core/getCompatibilityVersion.js +7 -0
  159. package/dist/sap/ui/core/theming/ThemeHelper.js +14 -0
  160. package/dist/sap/ui/security/Security.js +12 -0
  161. package/dist/sap/ui/util/XMLHelper.js +11 -0
  162. package/dist/sap/ui/util/_URL.js +1 -0
  163. package/dist/ui5loader-autoconfig.js +1 -0
  164. package/package.json +6 -6
  165. package/used-modules.txt +5 -0
@@ -0,0 +1,37 @@
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
+
7
+ let _fnRegisterEnum;
8
+ const mEarlyRegistrations = new Map();
9
+ export default {
10
+ /**
11
+ * The final registerEnum function is injected from the DataType class.
12
+ * @param {function} registerEnum the final registerEnum function of the DataType class
13
+ */
14
+ inject: function (registerEnum) {
15
+ if (!_fnRegisterEnum) {
16
+ _fnRegisterEnum = registerEnum;
17
+ mEarlyRegistrations.forEach((mEnumContent, sName) => {
18
+ _fnRegisterEnum(sName, mEnumContent);
19
+ });
20
+ }
21
+ },
22
+ /**
23
+ * Registers an enum.
24
+ * While the final registerEnum() function is not injected yet,
25
+ * the enums are collected and will be correctly registered once the DataType class injects
26
+ * its registerEnum() function.
27
+ * @param {*} sName the name of the enum in dot-syntax
28
+ * @param {*} mEnumContent the enum content
29
+ */
30
+ register: function (sName, mEnumContent) {
31
+ if (_fnRegisterEnum) {
32
+ _fnRegisterEnum(sName, mEnumContent);
33
+ } else {
34
+ mEarlyRegistrations.set(sName, mEnumContent);
35
+ }
36
+ }
37
+ };
@@ -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
 
@@ -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;