@ui5/webcomponents-localization 0.0.0-96e98c995 → 0.0.0-97c4a1259

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 (171) hide show
  1. package/.eslintignore +1 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +316 -0
  4. package/dist/Assets-static.js.map +1 -1
  5. package/dist/Assets.js.map +1 -1
  6. package/dist/DateFormat.js.map +1 -1
  7. package/dist/LocaleData.js.map +1 -1
  8. package/dist/dates/CalendarDate.d.ts +7 -5
  9. package/dist/dates/CalendarDate.js +8 -7
  10. package/dist/dates/CalendarDate.js.map +1 -1
  11. package/dist/dates/ExtremeDates.d.ts +2 -2
  12. package/dist/dates/ExtremeDates.js.map +1 -1
  13. package/dist/dates/UI5Date.d.ts +6 -0
  14. package/dist/dates/UI5Date.js +7 -0
  15. package/dist/dates/UI5Date.js.map +1 -0
  16. package/dist/dates/UniversalDate.d.ts +2 -1
  17. package/dist/dates/UniversalDate.js.map +1 -1
  18. package/dist/dates/calculateWeekNumber.d.ts +2 -1
  19. package/dist/dates/calculateWeekNumber.js.map +1 -1
  20. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +1 -1
  21. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -1
  22. package/dist/dates/getDaysInMonth.js.map +1 -1
  23. package/dist/dates/getRoundedTimestamp.js +1 -0
  24. package/dist/dates/getRoundedTimestamp.js.map +1 -1
  25. package/dist/dates/getTodayUTCTimestamp.d.ts +1 -1
  26. package/dist/dates/getTodayUTCTimestamp.js +2 -1
  27. package/dist/dates/getTodayUTCTimestamp.js.map +1 -1
  28. package/dist/dates/modifyDateBy.d.ts +2 -1
  29. package/dist/dates/modifyDateBy.js +34 -19
  30. package/dist/dates/modifyDateBy.js.map +1 -1
  31. package/dist/dates/transformDateToSecondaryType.d.ts +1 -1
  32. package/dist/dates/transformDateToSecondaryType.js +3 -2
  33. package/dist/dates/transformDateToSecondaryType.js.map +1 -1
  34. package/dist/features/calendar/Buddhist.js.map +1 -1
  35. package/dist/features/calendar/Gregorian.js.map +1 -1
  36. package/dist/features/calendar/Islamic.js.map +1 -1
  37. package/dist/features/calendar/Japanese.js.map +1 -1
  38. package/dist/features/calendar/Persian.js.map +1 -1
  39. package/dist/generated/assets/cldr/ar.json +5531 -6704
  40. package/dist/generated/assets/cldr/ar_EG.json +5531 -6704
  41. package/dist/generated/assets/cldr/ar_SA.json +5530 -6704
  42. package/dist/generated/assets/cldr/bg.json +4452 -5742
  43. package/dist/generated/assets/cldr/ca.json +4440 -5793
  44. package/dist/generated/assets/cldr/cs.json +4960 -6294
  45. package/dist/generated/assets/cldr/cy.json +5211 -6612
  46. package/dist/generated/assets/cldr/da.json +4308 -5651
  47. package/dist/generated/assets/cldr/de.json +4313 -5713
  48. package/dist/generated/assets/cldr/de_AT.json +4314 -5714
  49. package/dist/generated/assets/cldr/de_CH.json +4312 -5712
  50. package/dist/generated/assets/cldr/el.json +4281 -5579
  51. package/dist/generated/assets/cldr/el_CY.json +4281 -5579
  52. package/dist/generated/assets/cldr/en.json +4316 -5732
  53. package/dist/generated/assets/cldr/en_AU.json +4319 -5724
  54. package/dist/generated/assets/cldr/en_GB.json +4329 -5733
  55. package/dist/generated/assets/cldr/en_HK.json +4337 -5739
  56. package/dist/generated/assets/cldr/en_IE.json +4328 -5733
  57. package/dist/generated/assets/cldr/en_IN.json +4333 -5734
  58. package/dist/generated/assets/cldr/en_NZ.json +4328 -5733
  59. package/dist/generated/assets/cldr/en_PG.json +4329 -5734
  60. package/dist/generated/assets/cldr/en_SG.json +4333 -5735
  61. package/dist/generated/assets/cldr/en_ZA.json +4329 -5734
  62. package/dist/generated/assets/cldr/es.json +4331 -5641
  63. package/dist/generated/assets/cldr/es_AR.json +4334 -5643
  64. package/dist/generated/assets/cldr/es_BO.json +4333 -5642
  65. package/dist/generated/assets/cldr/es_CL.json +4334 -5643
  66. package/dist/generated/assets/cldr/es_CO.json +4333 -5642
  67. package/dist/generated/assets/cldr/es_MX.json +4335 -5644
  68. package/dist/generated/assets/cldr/es_PE.json +4333 -5642
  69. package/dist/generated/assets/cldr/es_UY.json +4335 -5644
  70. package/dist/generated/assets/cldr/es_VE.json +4334 -5643
  71. package/dist/generated/assets/cldr/et.json +4340 -5729
  72. package/dist/generated/assets/cldr/fa.json +4367 -5647
  73. package/dist/generated/assets/cldr/fi.json +4463 -5804
  74. package/dist/generated/assets/cldr/fr.json +4357 -5741
  75. package/dist/generated/assets/cldr/fr_BE.json +4357 -5741
  76. package/dist/generated/assets/cldr/fr_CA.json +4351 -5735
  77. package/dist/generated/assets/cldr/fr_CH.json +4375 -5759
  78. package/dist/generated/assets/cldr/fr_LU.json +4357 -5741
  79. package/dist/generated/assets/cldr/he.json +4869 -6175
  80. package/dist/generated/assets/cldr/hi.json +4295 -5558
  81. package/dist/generated/assets/cldr/hr.json +4583 -5681
  82. package/dist/generated/assets/cldr/hu.json +4364 -5686
  83. package/dist/generated/assets/cldr/id.json +4060 -5420
  84. package/dist/generated/assets/cldr/it.json +4299 -5712
  85. package/dist/generated/assets/cldr/it_CH.json +4299 -5712
  86. package/dist/generated/assets/cldr/ja.json +4211 -5626
  87. package/dist/generated/assets/cldr/kk.json +4339 -5487
  88. package/dist/generated/assets/cldr/ko.json +4189 -5534
  89. package/dist/generated/assets/cldr/lt.json +4850 -6243
  90. package/dist/generated/assets/cldr/lv.json +4587 -5874
  91. package/dist/generated/assets/cldr/ms.json +4021 -5245
  92. package/dist/generated/assets/cldr/nb.json +4335 -5740
  93. package/dist/generated/assets/cldr/nl.json +4294 -5613
  94. package/dist/generated/assets/cldr/nl_BE.json +4294 -5613
  95. package/dist/generated/assets/cldr/pl.json +4667 -5972
  96. package/dist/generated/assets/cldr/pt.json +4235 -5567
  97. package/dist/generated/assets/cldr/pt_PT.json +4372 -5702
  98. package/dist/generated/assets/cldr/ro.json +4563 -5852
  99. package/dist/generated/assets/cldr/ru.json +4909 -6169
  100. package/dist/generated/assets/cldr/ru_UA.json +4909 -6169
  101. package/dist/generated/assets/cldr/sk.json +4939 -6166
  102. package/dist/generated/assets/cldr/sl.json +4910 -6136
  103. package/dist/generated/assets/cldr/sr.json +4585 -5888
  104. package/dist/generated/assets/cldr/sr_Latn.json +4574 -5889
  105. package/dist/generated/assets/cldr/sv.json +4362 -5774
  106. package/dist/generated/assets/cldr/th.json +4214 -5627
  107. package/dist/generated/assets/cldr/tr.json +4400 -5809
  108. package/dist/generated/assets/cldr/uk.json +4858 -6115
  109. package/dist/generated/assets/cldr/vi.json +4070 -5435
  110. package/dist/generated/assets/cldr/zh_CN.json +4100 -5429
  111. package/dist/generated/assets/cldr/zh_HK.json +4108 -5437
  112. package/dist/generated/assets/cldr/zh_SG.json +4108 -5437
  113. package/dist/generated/assets/cldr/zh_TW.json +4131 -5525
  114. package/dist/getCachedLocaleDataInstance.js.map +1 -1
  115. package/dist/locale/getLocaleData.js.map +1 -1
  116. package/dist/sap/base/i18n/LanguageTag.js +35 -0
  117. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  118. package/dist/sap/base/i18n/Localization.js +12 -0
  119. package/dist/sap/base/i18n/Localization.js.map +1 -0
  120. package/dist/sap/base/i18n/date/CalendarType.js +8 -0
  121. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +30 -0
  122. package/dist/sap/base/i18n/date/TimezoneUtils.js +89 -0
  123. package/dist/sap/base/util/LoaderExtensions.js.map +1 -1
  124. package/dist/sap/ui/base/Metadata.js +20 -9
  125. package/dist/sap/ui/core/CalendarType.js +2 -8
  126. package/dist/sap/ui/core/Configuration.d.ts +1 -1
  127. package/dist/sap/ui/core/Configuration.js +2 -1
  128. package/dist/sap/ui/core/Configuration.js.map +1 -1
  129. package/dist/sap/ui/core/Core.d.ts +2 -2
  130. package/dist/sap/ui/core/Core.js.map +1 -1
  131. package/dist/sap/ui/core/FormatSettings.d.ts +1 -1
  132. package/dist/sap/ui/core/FormatSettings.js +2 -1
  133. package/dist/sap/ui/core/FormatSettings.js.map +1 -1
  134. package/dist/sap/ui/core/Locale.js +28 -125
  135. package/dist/sap/ui/core/LocaleData.js +107 -35
  136. package/dist/sap/ui/core/date/CalendarUtils.js +7 -18
  137. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -7
  138. package/dist/sap/ui/core/date/UI5Date.js +305 -0
  139. package/dist/sap/ui/core/date/UniversalDate.js +12 -22
  140. package/dist/sap/ui/core/format/DateFormat.js +385 -329
  141. package/dist/sap/ui/core/format/TimezoneUtil.js +2 -94
  142. package/{package-scripts.js → package-scripts.cjs} +2 -3
  143. package/package.json +7 -6
  144. package/tsconfig.json +1 -0
  145. package/used-modules.txt +5 -0
  146. package/src/Assets-static.ts +0 -2
  147. package/src/Assets.ts +0 -2
  148. package/src/DateFormat.ts +0 -8
  149. package/src/LocaleData.ts +0 -8
  150. package/src/dates/CalendarDate.ts +0 -232
  151. package/src/dates/ExtremeDates.ts +0 -40
  152. package/src/dates/UniversalDate.ts +0 -51
  153. package/src/dates/calculateWeekNumber.ts +0 -53
  154. package/src/dates/convertMonthNumbersToMonthNames.ts +0 -34
  155. package/src/dates/getDaysInMonth.ts +0 -11
  156. package/src/dates/getRoundedTimestamp.ts +0 -14
  157. package/src/dates/getTodayUTCTimestamp.ts +0 -10
  158. package/src/dates/modifyDateBy.ts +0 -42
  159. package/src/dates/transformDateToSecondaryType.ts +0 -21
  160. package/src/features/calendar/Buddhist.ts +0 -1
  161. package/src/features/calendar/Gregorian.ts +0 -1
  162. package/src/features/calendar/Islamic.ts +0 -1
  163. package/src/features/calendar/Japanese.ts +0 -1
  164. package/src/features/calendar/Persian.ts +0 -1
  165. package/src/getCachedLocaleDataInstance.ts +0 -15
  166. package/src/locale/getLocaleData.ts +0 -28
  167. package/src/sap/base/util/LoaderExtensions.ts +0 -17
  168. package/src/sap/ui/core/Configuration.ts +0 -22
  169. package/src/sap/ui/core/Core.ts +0 -15
  170. package/src/sap/ui/core/FormatSettings.ts +0 -15
  171. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,10 +1,10 @@
1
1
  import BaseObject from '../../base/Object.js';
2
2
  import Configuration from '../Configuration.js';
3
- import Locale from '../Locale.js';
4
3
  import LocaleData from '../LocaleData.js';
5
4
  import _Calendars from './_Calendars.js';
6
5
  import CalendarUtils from './CalendarUtils.js';
7
6
  import CalendarWeekNumbering from './CalendarWeekNumbering.js';
7
+ import UI5Date from './UI5Date.js';
8
8
  var UniversalDate = BaseObject.extend('sap.ui.core.date.UniversalDate', {
9
9
  constructor: function () {
10
10
  var clDate = UniversalDate.getClass();
@@ -19,6 +19,9 @@ UniversalDate.now = function () {
19
19
  return Date.now();
20
20
  };
21
21
  UniversalDate.prototype.createDate = function (clDate, aArgs) {
22
+ if (clDate === Date) {
23
+ return UI5Date.getInstance.apply(null, aArgs);
24
+ }
22
25
  switch (aArgs.length) {
23
26
  case 0:
24
27
  return new clDate();
@@ -42,10 +45,8 @@ UniversalDate.getInstance = function (oDate, sCalendarType) {
42
45
  var clDate, oInstance;
43
46
  if (oDate instanceof UniversalDate) {
44
47
  oDate = oDate.getJSDate();
45
- } else if (!oDate) {
46
- oDate = new Date();
47
48
  }
48
- if (isNaN(oDate.getTime())) {
49
+ if (oDate && isNaN(oDate.getTime())) {
49
50
  throw new Error('The given date object is invalid');
50
51
  }
51
52
  if (!sCalendarType) {
@@ -53,7 +54,7 @@ UniversalDate.getInstance = function (oDate, sCalendarType) {
53
54
  }
54
55
  clDate = UniversalDate.getClass(sCalendarType);
55
56
  oInstance = Object.create(clDate.prototype);
56
- oInstance.oDate = oDate;
57
+ oInstance.oDate = oDate ? UI5Date.getInstance(oDate) : UI5Date.getInstance();
57
58
  oInstance.sCalendarType = sCalendarType;
58
59
  return oInstance;
59
60
  };
@@ -123,20 +124,16 @@ UniversalDate.prototype.getUTCEra = function () {
123
124
  UniversalDate.prototype.setUTCEra = function (iEra) {
124
125
  };
125
126
  UniversalDate.prototype.getWeek = function (oLocale, vCalendarWeekNumbering) {
126
- checkWeekConfig(vCalendarWeekNumbering);
127
127
  return UniversalDate.getWeekByDate(this.sCalendarType, this.getFullYear(), this.getMonth(), this.getDate(), oLocale, vCalendarWeekNumbering);
128
128
  };
129
129
  UniversalDate.prototype.setWeek = function (oWeek, oLocale, vCalendarWeekNumbering) {
130
- checkWeekConfig(vCalendarWeekNumbering);
131
130
  var oDate = UniversalDate.getFirstDateOfWeek(this.sCalendarType, oWeek.year || this.getFullYear(), oWeek.week, oLocale, vCalendarWeekNumbering);
132
131
  this.setFullYear(oDate.year, oDate.month, oDate.day);
133
132
  };
134
133
  UniversalDate.prototype.getUTCWeek = function (oLocale, vCalendarWeekNumbering) {
135
- checkWeekConfig(vCalendarWeekNumbering);
136
134
  return UniversalDate.getWeekByDate(this.sCalendarType, this.getUTCFullYear(), this.getUTCMonth(), this.getUTCDate(), oLocale, vCalendarWeekNumbering);
137
135
  };
138
136
  UniversalDate.prototype.setUTCWeek = function (oWeek, oLocale, vCalendarWeekNumbering) {
139
- checkWeekConfig(vCalendarWeekNumbering);
140
137
  var oDate = UniversalDate.getFirstDateOfWeek(this.sCalendarType, oWeek.year || this.getFullYear(), oWeek.week, oLocale, vCalendarWeekNumbering);
141
138
  this.setUTCFullYear(oDate.year, oDate.month, oDate.day);
142
139
  };
@@ -172,6 +169,7 @@ UniversalDate.prototype.getTimezoneLong = function () {
172
169
  };
173
170
  var iMillisecondsInWeek = 7 * 24 * 60 * 60 * 1000;
174
171
  UniversalDate.getWeekByDate = function (sCalendarType, iYear, iMonth, iDay, oLocale, vCalendarWeekNumbering) {
172
+ vCalendarWeekNumbering = vCalendarWeekNumbering || Configuration.getCalendarWeekNumbering();
175
173
  checkWeekConfig(vCalendarWeekNumbering);
176
174
  oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
177
175
  var clDate = this.getClass(sCalendarType);
@@ -202,6 +200,7 @@ UniversalDate.getWeekByDate = function (sCalendarType, iYear, iMonth, iDay, oLoc
202
200
  };
203
201
  };
204
202
  UniversalDate.getFirstDateOfWeek = function (sCalendarType, iYear, iWeek, oLocale, vCalendarWeekNumbering) {
203
+ vCalendarWeekNumbering = vCalendarWeekNumbering || Configuration.getCalendarWeekNumbering();
205
204
  checkWeekConfig(vCalendarWeekNumbering);
206
205
  oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
207
206
  var clDate = this.getClass(sCalendarType);
@@ -222,27 +221,18 @@ UniversalDate.getFirstDateOfWeek = function (sCalendarType, iYear, iWeek, oLocal
222
221
  };
223
222
  };
224
223
  function isSplitWeek(vCalendarWeekNumbering, oLocale) {
225
- oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
226
224
  var oLocaleData = LocaleData.getInstance(oLocale);
227
- return (!isCalendarWeekConfigurationDefined(vCalendarWeekNumbering) || vCalendarWeekNumbering === CalendarWeekNumbering.Default) && oLocaleData.firstDayStartsFirstWeek();
225
+ return (vCalendarWeekNumbering === CalendarWeekNumbering.Default || vCalendarWeekNumbering === CalendarWeekNumbering.WesternTraditional) && oLocaleData.firstDayStartsFirstWeek();
228
226
  }
229
227
  function checkWeekConfig(vCalendarWeekNumbering) {
230
228
  if (typeof vCalendarWeekNumbering === 'object') {
231
- if (!isCalendarWeekConfigurationDefined(vCalendarWeekNumbering)) {
229
+ if (typeof vCalendarWeekNumbering.firstDayOfWeek !== 'number' || typeof vCalendarWeekNumbering.minimalDaysInFirstWeek !== 'number') {
232
230
  throw new TypeError('Week config requires firstDayOfWeek and minimalDaysInFirstWeek to be set');
233
231
  }
234
- } else if (vCalendarWeekNumbering && !Object.values(CalendarWeekNumbering).includes(vCalendarWeekNumbering)) {
232
+ } else if (!Object.values(CalendarWeekNumbering).includes(vCalendarWeekNumbering)) {
235
233
  throw new TypeError('Illegal format option calendarWeekNumbering: \'' + vCalendarWeekNumbering + '\'');
236
234
  }
237
235
  }
238
- function isCalendarWeekConfigurationDefined(vCalendarWeekNumbering) {
239
- if (typeof vCalendarWeekNumbering === 'object') {
240
- return typeof vCalendarWeekNumbering.firstDayOfWeek === 'number' && typeof vCalendarWeekNumbering.minimalDaysInFirstWeek === 'number';
241
- } else if (vCalendarWeekNumbering) {
242
- return true;
243
- }
244
- return false;
245
- }
246
236
  function resolveCalendarWeekConfiguration(vCalendarWeekNumbering, oLocale) {
247
237
  if (typeof vCalendarWeekNumbering === 'object' && typeof vCalendarWeekNumbering.firstDayOfWeek === 'number' && typeof vCalendarWeekNumbering.minimalDaysInFirstWeek === 'number') {
248
238
  return vCalendarWeekNumbering;
@@ -288,7 +278,7 @@ UniversalDate.getEraByDate = function (sCalendarType, iYear, iMonth, iDay) {
288
278
  }
289
279
  };
290
280
  UniversalDate.getCurrentEra = function (sCalendarType) {
291
- var oNow = new Date();
281
+ var oNow = UI5Date.getInstance();
292
282
  return this.getEraByDate(sCalendarType, oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
293
283
  };
294
284
  UniversalDate.getEraStartDate = function (sCalendarType, iEra) {