@ui5/webcomponents-localization 0.0.0-dff5837d7 → 0.0.0-e818f286e

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 (119) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +220 -0
  3. package/README.md +36 -6
  4. package/dist/Assets-static.js +2 -0
  5. package/dist/dates/CalendarDate.js +29 -3
  6. package/dist/dates/ExtremeDates.js +39 -0
  7. package/dist/dates/convertMonthNumbersToMonthNames.js +33 -0
  8. package/dist/dates/getDaysInMonth.js +11 -0
  9. package/dist/dates/getRoundedTimestamp.js +14 -0
  10. package/dist/dates/getTodayUTCTimestamp.js +9 -0
  11. package/dist/dates/modifyDateBy.js +42 -0
  12. package/dist/dates/transformDateToSecondaryType.js +20 -0
  13. package/dist/generated/assets/cldr/ar.json +5 -3
  14. package/dist/generated/assets/cldr/ar_EG.json +5 -3
  15. package/dist/generated/assets/cldr/ar_SA.json +5 -3
  16. package/dist/generated/assets/cldr/bg.json +5 -3
  17. package/dist/generated/assets/cldr/ca.json +5 -3
  18. package/dist/generated/assets/cldr/cs.json +5 -3
  19. package/dist/generated/assets/cldr/cy.json +5886 -0
  20. package/dist/generated/assets/cldr/da.json +5 -3
  21. package/dist/generated/assets/cldr/de.json +5 -3
  22. package/dist/generated/assets/cldr/de_AT.json +5 -3
  23. package/dist/generated/assets/cldr/de_CH.json +5 -3
  24. package/dist/generated/assets/cldr/el.json +5 -3
  25. package/dist/generated/assets/cldr/el_CY.json +5 -3
  26. package/dist/generated/assets/cldr/en.json +6 -3
  27. package/dist/generated/assets/cldr/en_AU.json +6 -4
  28. package/dist/generated/assets/cldr/en_GB.json +5 -3
  29. package/dist/generated/assets/cldr/en_HK.json +5 -3
  30. package/dist/generated/assets/cldr/en_IE.json +5 -3
  31. package/dist/generated/assets/cldr/en_IN.json +5 -3
  32. package/dist/generated/assets/cldr/en_NZ.json +5 -3
  33. package/dist/generated/assets/cldr/en_PG.json +5 -3
  34. package/dist/generated/assets/cldr/en_SG.json +5 -3
  35. package/dist/generated/assets/cldr/en_ZA.json +5 -3
  36. package/dist/generated/assets/cldr/es.json +5 -3
  37. package/dist/generated/assets/cldr/es_AR.json +5 -3
  38. package/dist/generated/assets/cldr/es_BO.json +5 -3
  39. package/dist/generated/assets/cldr/es_CL.json +5 -3
  40. package/dist/generated/assets/cldr/es_CO.json +5 -3
  41. package/dist/generated/assets/cldr/es_MX.json +5 -3
  42. package/dist/generated/assets/cldr/es_PE.json +5 -3
  43. package/dist/generated/assets/cldr/es_UY.json +5 -3
  44. package/dist/generated/assets/cldr/es_VE.json +5 -3
  45. package/dist/generated/assets/cldr/et.json +5 -3
  46. package/dist/generated/assets/cldr/fa.json +5 -3
  47. package/dist/generated/assets/cldr/fi.json +5 -3
  48. package/dist/generated/assets/cldr/fr.json +5 -3
  49. package/dist/generated/assets/cldr/fr_BE.json +5 -3
  50. package/dist/generated/assets/cldr/fr_CA.json +5 -3
  51. package/dist/generated/assets/cldr/fr_CH.json +5 -3
  52. package/dist/generated/assets/cldr/fr_LU.json +5 -3
  53. package/dist/generated/assets/cldr/he.json +5 -3
  54. package/dist/generated/assets/cldr/hi.json +5 -3
  55. package/dist/generated/assets/cldr/hr.json +5 -3
  56. package/dist/generated/assets/cldr/hu.json +5 -3
  57. package/dist/generated/assets/cldr/id.json +5 -3
  58. package/dist/generated/assets/cldr/it.json +5 -3
  59. package/dist/generated/assets/cldr/it_CH.json +5 -3
  60. package/dist/generated/assets/cldr/ja.json +5 -3
  61. package/dist/generated/assets/cldr/kk.json +5 -3
  62. package/dist/generated/assets/cldr/ko.json +5 -3
  63. package/dist/generated/assets/cldr/lt.json +5 -3
  64. package/dist/generated/assets/cldr/lv.json +5 -3
  65. package/dist/generated/assets/cldr/ms.json +5 -3
  66. package/dist/generated/assets/cldr/nb.json +5 -3
  67. package/dist/generated/assets/cldr/nl.json +5 -3
  68. package/dist/generated/assets/cldr/nl_BE.json +5 -3
  69. package/dist/generated/assets/cldr/pl.json +5 -3
  70. package/dist/generated/assets/cldr/pt.json +5 -3
  71. package/dist/generated/assets/cldr/pt_PT.json +5 -3
  72. package/dist/generated/assets/cldr/ro.json +5 -3
  73. package/dist/generated/assets/cldr/ru.json +5 -3
  74. package/dist/generated/assets/cldr/ru_UA.json +5 -3
  75. package/dist/generated/assets/cldr/sk.json +5 -3
  76. package/dist/generated/assets/cldr/sl.json +5 -3
  77. package/dist/generated/assets/cldr/sr.json +5 -3
  78. package/dist/generated/assets/cldr/sr_Latn.json +5129 -0
  79. package/dist/generated/assets/cldr/sv.json +5 -3
  80. package/dist/generated/assets/cldr/th.json +5 -3
  81. package/dist/generated/assets/cldr/tr.json +5 -3
  82. package/dist/generated/assets/cldr/uk.json +5 -3
  83. package/dist/generated/assets/cldr/vi.json +5 -3
  84. package/dist/generated/assets/cldr/zh_CN.json +5 -3
  85. package/dist/generated/assets/cldr/zh_HK.json +5 -3
  86. package/dist/generated/assets/cldr/zh_SG.json +5 -3
  87. package/dist/generated/assets/cldr/zh_TW.json +5 -3
  88. package/dist/generated/json-imports/LocaleData-static.js +90 -0
  89. package/dist/generated/json-imports/LocaleData.js +88 -91
  90. package/dist/getCachedLocaleDataInstance.js +13 -0
  91. package/dist/sap/base/Log.js +2 -10
  92. package/dist/sap/base/assert.js +1 -5
  93. package/dist/sap/base/util/LoaderExtensions.js +12 -2
  94. package/dist/sap/base/util/array/uniqueSort.js +7 -7
  95. package/dist/sap/base/util/deepEqual.js +1 -5
  96. package/dist/sap/ui/base/Interface.js +3 -5
  97. package/dist/sap/ui/base/Metadata.js +1 -3
  98. package/dist/sap/ui/base/Object.js +26 -2
  99. package/dist/sap/ui/core/Core.js +2 -0
  100. package/dist/sap/ui/core/Locale.js +67 -31
  101. package/dist/sap/ui/core/LocaleData.js +56 -1504
  102. package/dist/sap/ui/core/date/UniversalDate.js +13 -5
  103. package/dist/sap/ui/core/format/DateFormat.js +402 -194
  104. package/dist/sap/ui/core/format/TimezoneUtil.js +83 -0
  105. package/package-scripts.js +10 -6
  106. package/package.json +12 -14
  107. package/src/Assets-static.js +2 -0
  108. package/src/dates/CalendarDate.js +29 -3
  109. package/src/dates/ExtremeDates.js +39 -0
  110. package/src/dates/convertMonthNumbersToMonthNames.js +33 -0
  111. package/src/dates/getDaysInMonth.js +11 -0
  112. package/src/dates/getRoundedTimestamp.js +14 -0
  113. package/src/dates/getTodayUTCTimestamp.js +9 -0
  114. package/src/dates/modifyDateBy.js +42 -0
  115. package/src/dates/transformDateToSecondaryType.js +20 -0
  116. package/src/getCachedLocaleDataInstance.js +13 -0
  117. package/src/sap/base/util/LoaderExtensions.js +12 -2
  118. package/src/sap/ui/core/Core.js +2 -0
  119. package/used-modules.txt +1 -0
@@ -20,7 +20,7 @@ UniversalDate.prototype.createDate = function (clDate, aArgs) {
20
20
  case 0:
21
21
  return new clDate();
22
22
  case 1:
23
- return new clDate(aArgs[0]);
23
+ return new clDate(aArgs[0] instanceof Date ? aArgs[0].getTime() : aArgs[0]);
24
24
  case 2:
25
25
  return new clDate(aArgs[0], aArgs[1]);
26
26
  case 3:
@@ -39,6 +39,11 @@ UniversalDate.getInstance = function (oDate, sCalendarType) {
39
39
  var clDate, oInstance;
40
40
  if (oDate instanceof UniversalDate) {
41
41
  oDate = oDate.getJSDate();
42
+ } else if (!oDate) {
43
+ oDate = new Date();
44
+ }
45
+ if (isNaN(oDate.getTime())) {
46
+ throw new Error('The given date object is invalid');
42
47
  }
43
48
  if (!sCalendarType) {
44
49
  sCalendarType = Core.getConfiguration().getCalendarType();
@@ -160,8 +165,8 @@ UniversalDate.prototype.getTimezoneLong = function () {
160
165
  };
161
166
  var iMillisecondsInWeek = 7 * 24 * 60 * 60 * 1000;
162
167
  UniversalDate.getWeekByDate = function (sCalendarType, iYear, iMonth, iDay) {
163
- var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale(), clDate = this.getClass(sCalendarType), oFirstDay = getFirstDayOfFirstWeek(clDate, iYear), oDate = new clDate(clDate.UTC(iYear, iMonth, iDay)), iWeek, iLastYear, iNextYear, oLastFirstDay, oNextFirstDay;
164
- if (oLocale.getRegion() === 'US') {
168
+ var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale(), oLocaleData = LocaleData.getInstance(oLocale), clDate = this.getClass(sCalendarType), oFirstDay = getFirstDayOfFirstWeek(clDate, iYear), oDate = new clDate(clDate.UTC(iYear, iMonth, iDay)), iWeek, iLastYear, iNextYear, oLastFirstDay, oNextFirstDay;
169
+ if (oLocaleData.firstDayStartsFirstWeek()) {
165
170
  iWeek = calculateWeeks(oFirstDay, oDate);
166
171
  } else {
167
172
  iLastYear = iYear - 1;
@@ -184,8 +189,8 @@ UniversalDate.getWeekByDate = function (sCalendarType, iYear, iMonth, iDay) {
184
189
  };
185
190
  };
186
191
  UniversalDate.getFirstDateOfWeek = function (sCalendarType, iYear, iWeek) {
187
- var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale(), clDate = this.getClass(sCalendarType), oFirstDay = getFirstDayOfFirstWeek(clDate, iYear), oDate = new clDate(oFirstDay.valueOf() + iWeek * iMillisecondsInWeek);
188
- if (oLocale.getRegion() === 'US' && iWeek === 0 && oFirstDay.getUTCFullYear() < iYear) {
192
+ var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale(), oLocaleData = LocaleData.getInstance(oLocale), clDate = this.getClass(sCalendarType), oFirstDay = getFirstDayOfFirstWeek(clDate, iYear), oDate = new clDate(oFirstDay.valueOf() + iWeek * iMillisecondsInWeek), bIsRegionUS = oLocaleData.firstDayStartsFirstWeek();
193
+ if (bIsRegionUS && iWeek === 0 && oFirstDay.getUTCFullYear() < iYear) {
189
194
  return {
190
195
  year: iYear,
191
196
  month: 0,
@@ -200,6 +205,9 @@ UniversalDate.getFirstDateOfWeek = function (sCalendarType, iYear, iWeek) {
200
205
  };
201
206
  function getFirstDayOfFirstWeek(clDate, iYear) {
202
207
  var oLocale = Core.getConfiguration().getFormatSettings().getFormatLocale(), oLocaleData = LocaleData.getInstance(oLocale), iMinDays = oLocaleData.getMinimalDaysInFirstWeek(), iFirstDayOfWeek = oLocaleData.getFirstDayOfWeek(), oFirstDay = new clDate(clDate.UTC(iYear, 0, 1)), iDayCount = 7;
208
+ if (isNaN(oFirstDay.getTime())) {
209
+ throw new Error('Could not determine the first day of the week, because the date ' + 'object is invalid');
210
+ }
203
211
  while (oFirstDay.getUTCDay() !== iFirstDayOfWeek) {
204
212
  oFirstDay.setUTCDate(oFirstDay.getUTCDate() - 1);
205
213
  iDayCount--;