@ui5/webcomponents-localization 0.0.0-a7032d86e → 0.0.0-a8a75c830

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 (243) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +2025 -0
  4. package/LICENSE.txt +201 -0
  5. package/README.md +7 -9
  6. package/dist/.tsbuildinfo +1 -0
  7. package/dist/Assets-fetch.d.ts +1 -0
  8. package/dist/Assets-fetch.js +3 -0
  9. package/dist/Assets-fetch.js.map +1 -0
  10. package/dist/Assets-node.d.ts +11 -0
  11. package/dist/Assets-node.js +12 -0
  12. package/dist/Assets-node.js.map +1 -0
  13. package/dist/Assets.js.map +1 -1
  14. package/dist/CalendarUtils.d.ts +3 -0
  15. package/dist/CalendarUtils.js +6 -0
  16. package/dist/CalendarUtils.js.map +1 -0
  17. package/dist/DateFormat.d.ts +0 -1
  18. package/dist/DateFormat.js.map +1 -1
  19. package/dist/LocaleData.d.ts +0 -1
  20. package/dist/LocaleData.js.map +1 -1
  21. package/dist/NumberFormat.d.ts +5 -0
  22. package/dist/NumberFormat.js +7 -0
  23. package/dist/NumberFormat.js.map +1 -0
  24. package/dist/dates/CalendarDate.d.ts +6 -5
  25. package/dist/dates/CalendarDate.js +8 -7
  26. package/dist/dates/CalendarDate.js.map +1 -1
  27. package/dist/dates/ExtremeDates.d.ts +3 -3
  28. package/dist/dates/ExtremeDates.js.map +1 -1
  29. package/dist/dates/UI5Date.d.ts +5 -0
  30. package/dist/dates/UI5Date.js +7 -0
  31. package/dist/dates/UI5Date.js.map +1 -0
  32. package/dist/dates/UniversalDate.d.ts +2 -1
  33. package/dist/dates/UniversalDate.js.map +1 -1
  34. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +1 -1
  35. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -1
  36. package/dist/dates/getDaysInMonth.js.map +1 -1
  37. package/dist/dates/getRoundedTimestamp.js +1 -0
  38. package/dist/dates/getRoundedTimestamp.js.map +1 -1
  39. package/dist/dates/getTodayUTCTimestamp.d.ts +1 -1
  40. package/dist/dates/getTodayUTCTimestamp.js +2 -1
  41. package/dist/dates/getTodayUTCTimestamp.js.map +1 -1
  42. package/dist/dates/modifyDateBy.d.ts +2 -1
  43. package/dist/dates/modifyDateBy.js +34 -19
  44. package/dist/dates/modifyDateBy.js.map +1 -1
  45. package/dist/dates/transformDateToSecondaryType.d.ts +1 -1
  46. package/dist/dates/transformDateToSecondaryType.js +3 -2
  47. package/dist/dates/transformDateToSecondaryType.js.map +1 -1
  48. package/dist/features/calendar/Buddhist.js.map +1 -1
  49. package/dist/features/calendar/Gregorian.js.map +1 -1
  50. package/dist/features/calendar/Islamic.js.map +1 -1
  51. package/dist/features/calendar/Japanese.js.map +1 -1
  52. package/dist/features/calendar/Persian.js.map +1 -1
  53. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +27 -0
  54. package/dist/generated/assets/cldr/ar.json +908 -527
  55. package/dist/generated/assets/cldr/ar_EG.json +908 -527
  56. package/dist/generated/assets/cldr/ar_SA.json +1003 -623
  57. package/dist/generated/assets/cldr/bg.json +902 -665
  58. package/dist/generated/assets/cldr/ca.json +845 -557
  59. package/dist/generated/assets/cldr/cnr.json +6169 -0
  60. package/dist/generated/assets/cldr/cs.json +823 -410
  61. package/dist/generated/assets/cldr/cy.json +964 -646
  62. package/dist/generated/assets/cldr/da.json +818 -544
  63. package/dist/generated/assets/cldr/de.json +710 -377
  64. package/dist/generated/assets/cldr/de_AT.json +700 -367
  65. package/dist/generated/assets/cldr/de_CH.json +719 -386
  66. package/dist/generated/assets/cldr/el.json +548 -297
  67. package/dist/generated/assets/cldr/el_CY.json +548 -297
  68. package/dist/generated/assets/cldr/en.json +861 -551
  69. package/dist/generated/assets/cldr/en_AU.json +1006 -648
  70. package/dist/generated/assets/cldr/en_GB.json +870 -530
  71. package/dist/generated/assets/cldr/en_HK.json +963 -620
  72. package/dist/generated/assets/cldr/en_IE.json +928 -588
  73. package/dist/generated/assets/cldr/en_IN.json +911 -567
  74. package/dist/generated/assets/cldr/en_NZ.json +947 -607
  75. package/dist/generated/assets/cldr/en_PG.json +948 -608
  76. package/dist/generated/assets/cldr/en_SG.json +937 -594
  77. package/dist/generated/assets/cldr/en_ZA.json +925 -585
  78. package/dist/generated/assets/cldr/es.json +1171 -711
  79. package/dist/generated/assets/cldr/es_AR.json +1114 -653
  80. package/dist/generated/assets/cldr/es_BO.json +1156 -695
  81. package/dist/generated/assets/cldr/es_CL.json +997 -644
  82. package/dist/generated/assets/cldr/es_CO.json +916 -562
  83. package/dist/generated/assets/cldr/es_MX.json +1325 -864
  84. package/dist/generated/assets/cldr/es_PE.json +841 -596
  85. package/dist/generated/assets/cldr/es_UY.json +869 -624
  86. package/dist/generated/assets/cldr/es_VE.json +888 -643
  87. package/dist/generated/assets/cldr/et.json +664 -368
  88. package/dist/generated/assets/cldr/fa.json +791 -490
  89. package/dist/generated/assets/cldr/fi.json +733 -344
  90. package/dist/generated/assets/cldr/fr.json +687 -433
  91. package/dist/generated/assets/cldr/fr_BE.json +684 -430
  92. package/dist/generated/assets/cldr/fr_CA.json +810 -556
  93. package/dist/generated/assets/cldr/fr_CH.json +627 -373
  94. package/dist/generated/assets/cldr/fr_LU.json +687 -433
  95. package/dist/generated/assets/cldr/he.json +909 -545
  96. package/dist/generated/assets/cldr/hi.json +493 -194
  97. package/dist/generated/assets/cldr/hr.json +1009 -496
  98. package/dist/generated/assets/cldr/hu.json +562 -305
  99. package/dist/generated/assets/cldr/id.json +880 -572
  100. package/dist/generated/assets/cldr/it.json +738 -466
  101. package/dist/generated/assets/cldr/it_CH.json +738 -466
  102. package/dist/generated/assets/cldr/ja.json +349 -88
  103. package/dist/generated/assets/cldr/kk.json +1033 -583
  104. package/dist/generated/assets/cldr/ko.json +407 -173
  105. package/dist/generated/assets/cldr/lt.json +621 -288
  106. package/dist/generated/assets/cldr/lv.json +613 -375
  107. package/dist/generated/assets/cldr/mk.json +6045 -0
  108. package/dist/generated/assets/cldr/ms.json +869 -552
  109. package/dist/generated/assets/cldr/nb.json +529 -236
  110. package/dist/generated/assets/cldr/nl.json +1019 -432
  111. package/dist/generated/assets/cldr/nl_BE.json +1019 -432
  112. package/dist/generated/assets/cldr/pl.json +1107 -492
  113. package/dist/generated/assets/cldr/pt.json +1171 -625
  114. package/dist/generated/assets/cldr/pt_PT.json +1112 -636
  115. package/dist/generated/assets/cldr/ro.json +835 -489
  116. package/dist/generated/assets/cldr/ru.json +850 -518
  117. package/dist/generated/assets/cldr/ru_UA.json +844 -512
  118. package/dist/generated/assets/cldr/sk.json +833 -569
  119. package/dist/generated/assets/cldr/sl.json +741 -435
  120. package/dist/generated/assets/cldr/sr.json +700 -349
  121. package/dist/generated/assets/cldr/sr_Latn.json +1329 -994
  122. package/dist/generated/assets/cldr/sv.json +746 -446
  123. package/dist/generated/assets/cldr/th.json +484 -238
  124. package/dist/generated/assets/cldr/tr.json +721 -438
  125. package/dist/generated/assets/cldr/uk.json +884 -547
  126. package/dist/generated/assets/cldr/vi.json +662 -430
  127. package/dist/generated/assets/cldr/zh_CN.json +631 -345
  128. package/dist/generated/assets/cldr/zh_HK.json +602 -315
  129. package/dist/generated/assets/cldr/zh_SG.json +607 -320
  130. package/dist/generated/assets/cldr/zh_TW.json +459 -193
  131. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  132. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  133. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  134. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  135. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  136. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  137. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  138. package/dist/generated/json-imports/LocaleData.js +89 -89
  139. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  140. package/dist/getCachedLocaleDataInstance.js.map +1 -1
  141. package/dist/locale/getLocaleData.js.map +1 -1
  142. package/dist/sap/base/Event.js +59 -0
  143. package/dist/sap/base/Eventing.js +146 -0
  144. package/dist/sap/base/Log.js +2 -239
  145. package/dist/sap/base/assert.js +28 -1
  146. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  147. package/dist/sap/base/config.js +17 -0
  148. package/dist/sap/base/i18n/Formatting.d.ts +8 -0
  149. package/dist/sap/base/i18n/Formatting.js +11 -0
  150. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  151. package/dist/sap/base/i18n/LanguageTag.js +173 -0
  152. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  153. package/dist/sap/base/i18n/Localization.js +12 -0
  154. package/dist/sap/base/i18n/Localization.js.map +1 -0
  155. package/dist/sap/base/i18n/date/CalendarType.js +43 -0
  156. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  157. package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
  158. package/dist/sap/base/strings/camelize.js +30 -0
  159. package/dist/sap/base/strings/formatMessage.js +88 -15
  160. package/dist/sap/base/util/LoaderExtensions.js.map +1 -1
  161. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  162. package/dist/sap/base/util/ObjectPath.js +4 -33
  163. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  164. package/dist/sap/base/util/Version.js +157 -0
  165. package/dist/sap/base/util/_merge.js +83 -26
  166. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  167. package/dist/sap/base/util/deepClone.js +102 -0
  168. package/dist/sap/base/util/deepEqual.js +75 -51
  169. package/dist/sap/base/util/extend.js +58 -7
  170. package/dist/sap/base/util/isEmptyObject.js +34 -0
  171. package/dist/sap/base/util/isPlainObject.js +35 -1
  172. package/dist/sap/base/util/now.js +24 -3
  173. package/dist/sap/base/util/resolveReference.js +3 -0
  174. package/dist/sap/base/util/uid.js +27 -0
  175. package/dist/sap/ui/base/DataType.js +657 -0
  176. package/dist/sap/ui/base/Interface.js +47 -1
  177. package/dist/sap/ui/base/Metadata.js +435 -171
  178. package/dist/sap/ui/base/Object.js +284 -48
  179. package/dist/sap/ui/core/CalendarType.js +24 -8
  180. package/dist/sap/ui/core/Configuration.d.ts +2 -2
  181. package/dist/sap/ui/core/Configuration.js +4 -1
  182. package/dist/sap/ui/core/Configuration.js.map +1 -1
  183. package/dist/sap/ui/core/Core.d.ts +3 -4
  184. package/dist/sap/ui/core/Core.js.map +1 -1
  185. package/dist/sap/ui/core/FormatSettings.d.ts +1 -2
  186. package/dist/sap/ui/core/FormatSettings.js +0 -1
  187. package/dist/sap/ui/core/FormatSettings.js.map +1 -1
  188. package/dist/sap/ui/core/Locale.js +190 -155
  189. package/dist/sap/ui/core/LocaleData.js +2662 -1300
  190. package/dist/sap/ui/core/Supportability.js +5 -0
  191. package/dist/sap/ui/core/Theming.js +539 -0
  192. package/dist/sap/ui/core/date/Buddhist.js +162 -87
  193. package/dist/sap/ui/core/date/CalendarUtils.js +61 -32
  194. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -7
  195. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  196. package/dist/sap/ui/core/date/Islamic.js +298 -185
  197. package/dist/sap/ui/core/date/Japanese.js +210 -115
  198. package/dist/sap/ui/core/date/Persian.js +324 -195
  199. package/dist/sap/ui/core/date/UI5Date.js +991 -0
  200. package/dist/sap/ui/core/date/UniversalDate.js +1238 -255
  201. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  202. package/dist/sap/ui/core/format/DateFormat.js +3167 -2093
  203. package/dist/sap/ui/core/format/NumberFormat.js +2835 -0
  204. package/dist/sap/ui/core/format/TimezoneUtil.js +24 -94
  205. package/package-scripts.cjs +35 -0
  206. package/package.json +21 -15
  207. package/tsconfig.json +20 -9
  208. package/used-modules.txt +26 -2
  209. package/dist/Assets-static.d.ts +0 -1
  210. package/dist/Assets-static.js +0 -3
  211. package/dist/Assets-static.js.map +0 -1
  212. package/dist/dates/calculateWeekNumber.d.ts +0 -4
  213. package/dist/dates/calculateWeekNumber.js +0 -45
  214. package/dist/dates/calculateWeekNumber.js.map +0 -1
  215. package/dist/generated/json-imports/LocaleData-static.js +0 -90
  216. package/dist/sap/ui/Device.js +0 -5
  217. package/package-scripts.js +0 -38
  218. package/src/Assets-static.ts +0 -2
  219. package/src/Assets.ts +0 -2
  220. package/src/DateFormat.ts +0 -8
  221. package/src/LocaleData.ts +0 -8
  222. package/src/dates/CalendarDate.ts +0 -232
  223. package/src/dates/ExtremeDates.ts +0 -40
  224. package/src/dates/UniversalDate.ts +0 -51
  225. package/src/dates/calculateWeekNumber.ts +0 -53
  226. package/src/dates/convertMonthNumbersToMonthNames.ts +0 -34
  227. package/src/dates/getDaysInMonth.ts +0 -11
  228. package/src/dates/getRoundedTimestamp.ts +0 -14
  229. package/src/dates/getTodayUTCTimestamp.ts +0 -10
  230. package/src/dates/modifyDateBy.ts +0 -42
  231. package/src/dates/transformDateToSecondaryType.ts +0 -21
  232. package/src/features/calendar/Buddhist.ts +0 -1
  233. package/src/features/calendar/Gregorian.ts +0 -1
  234. package/src/features/calendar/Islamic.ts +0 -1
  235. package/src/features/calendar/Japanese.ts +0 -1
  236. package/src/features/calendar/Persian.ts +0 -1
  237. package/src/getCachedLocaleDataInstance.ts +0 -15
  238. package/src/locale/getLocaleData.ts +0 -28
  239. package/src/sap/base/util/LoaderExtensions.ts +0 -17
  240. package/src/sap/ui/core/Configuration.ts +0 -22
  241. package/src/sap/ui/core/Core.ts +0 -15
  242. package/src/sap/ui/core/FormatSettings.ts +0 -15
  243. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,121 +1,196 @@
1
- import UniversalDate from './UniversalDate.js';
2
- import CalendarType from '../CalendarType.js';
3
- import _Calendars from './_Calendars.js';
4
- var Buddhist = UniversalDate.extend('sap.ui.core.date.Buddhist', {
5
- constructor: function () {
6
- var aArgs = arguments;
7
- if (aArgs.length > 1) {
8
- aArgs = toGregorianArguments(aArgs);
9
- }
10
- this.oDate = this.createDate(Date, aArgs);
11
- this.sCalendarType = CalendarType.Buddhist;
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides class sap.ui.core.date.Buddhist
7
+ import UniversalDate from "./UniversalDate.js";
8
+ import CalendarType from "../CalendarType.js";
9
+ import _Calendars from "./_Calendars.js";
10
+ /**
11
+ * The Buddhist date class
12
+ *
13
+ * @class
14
+ * The Buddhist date implements the Thai solar calendar (BE - Buddhist Era). In this calendar
15
+ * the year is offset by 543 compared to the Gregorian calendar.
16
+ * e.g. Year 2022 CE corresponds to 2565 BE
17
+ *
18
+ *
19
+ * Before 1941 CE the year start was 1st of April, so Januar to March belong to the previous year.
20
+ * <pre>
21
+ * Month | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 |
22
+ * CE | 1939 | 1940 | 1941 | 1942 |
23
+ * BE 2481 | 2482 | 2483 | 2484 | 2485 |
24
+ * </pre>
25
+ *
26
+ * @private
27
+ * @alias sap.ui.core.date.Buddhist
28
+ * @extends sap.ui.core.date.UniversalDate
29
+ */
30
+ var Buddhist = UniversalDate.extend("sap.ui.core.date.Buddhist", /** @lends sap.ui.core.date.Buddhist.prototype */{
31
+ constructor: function () {
32
+ var aArgs = arguments;
33
+ if (aArgs.length > 1) {
34
+ aArgs = toGregorianArguments(aArgs);
12
35
  }
36
+ this.oDate = this.createDate(Date, aArgs);
37
+ this.sCalendarType = CalendarType.Buddhist;
38
+ }
13
39
  });
14
40
  Buddhist.UTC = function () {
15
- var aArgs = toGregorianArguments(arguments);
16
- return Date.UTC.apply(Date, aArgs);
41
+ var aArgs = toGregorianArguments(arguments);
42
+ return Date.UTC.apply(Date, aArgs);
17
43
  };
18
44
  Buddhist.now = function () {
19
- return Date.now();
45
+ return Date.now();
20
46
  };
47
+
48
+ /**
49
+ * Find the matching Buddhist date for the given gregorian date
50
+ *
51
+ * @param {{year: int, month: int, day: int}} oGregorian Gregorian date
52
+ * @return {{year: int, month: int, day: int}} the resulting Buddhist date
53
+ */
21
54
  function toBuddhist(oGregorian) {
22
- var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year, iYear = oGregorian.year - iEraStartYear + 1;
23
- if (oGregorian.year < 1941 && oGregorian.month < 3) {
24
- iYear -= 1;
25
- }
26
- if (oGregorian.year === null) {
27
- iYear = undefined;
28
- }
29
- return {
30
- year: iYear,
31
- month: oGregorian.month,
32
- day: oGregorian.day
33
- };
55
+ var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year,
56
+ iYear = oGregorian.year - iEraStartYear + 1;
57
+ // Before 1941 new year started on 1st of April
58
+ if (oGregorian.year < 1941 && oGregorian.month < 3) {
59
+ iYear -= 1;
60
+ }
61
+ if (oGregorian.year === null) {
62
+ iYear = undefined;
63
+ }
64
+ return {
65
+ year: iYear,
66
+ month: oGregorian.month,
67
+ day: oGregorian.day
68
+ };
34
69
  }
70
+
71
+ /**
72
+ * Calculate gregorian year from Buddhist year and month
73
+ *
74
+ * @param {{year: int, month: int, day: int}} oBuddhist Buddhist date
75
+ * @return {{year: int, month: int, day: int}} the resulting Gregorian date
76
+ */
35
77
  function toGregorian(oBuddhist) {
36
- var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year, iYear = oBuddhist.year + iEraStartYear - 1;
37
- if (iYear < 1941 && oBuddhist.month < 3) {
38
- iYear += 1;
39
- }
40
- if (oBuddhist.year === null) {
41
- iYear = undefined;
42
- }
43
- return {
44
- year: iYear,
45
- month: oBuddhist.month,
46
- day: oBuddhist.day
47
- };
78
+ var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year,
79
+ iYear = oBuddhist.year + iEraStartYear - 1;
80
+ // Before 1941 new year started on 1st of April
81
+ if (iYear < 1941 && oBuddhist.month < 3) {
82
+ iYear += 1;
83
+ }
84
+ if (oBuddhist.year === null) {
85
+ iYear = undefined;
86
+ }
87
+ return {
88
+ year: iYear,
89
+ month: oBuddhist.month,
90
+ day: oBuddhist.day
91
+ };
48
92
  }
93
+
94
+ /**
95
+ * Convert arguments array from Buddhist date to Gregorian data.
96
+ *
97
+ * @param {int[]} aArgs Array with year, month, day (optional) according to Buddhist calendar
98
+ * @returns {int[]} Array with year, month, day according to Gregorian calendar
99
+ */
49
100
  function toGregorianArguments(aArgs) {
50
- var oBuddhist, oGregorian;
51
- oBuddhist = {
52
- year: aArgs[0],
53
- month: aArgs[1],
54
- day: aArgs[2] !== undefined ? aArgs[2] : 1
55
- };
56
- oGregorian = toGregorian(oBuddhist);
57
- aArgs[0] = oGregorian.year;
58
- return aArgs;
101
+ var oBuddhist, oGregorian;
102
+ oBuddhist = {
103
+ year: aArgs[0],
104
+ month: aArgs[1],
105
+ day: aArgs[2] !== undefined ? aArgs[2] : 1
106
+ };
107
+ oGregorian = toGregorian(oBuddhist);
108
+ aArgs[0] = oGregorian.year;
109
+ return aArgs;
59
110
  }
111
+
112
+ /**
113
+ * Get the Buddhist year from this.oDate
114
+ *
115
+ * @return {object}
116
+ */
60
117
  Buddhist.prototype._getBuddhist = function () {
61
- var oGregorian = {
62
- year: this.oDate.getFullYear(),
63
- month: this.oDate.getMonth(),
64
- day: this.oDate.getDate()
65
- };
66
- return toBuddhist(oGregorian);
118
+ var oGregorian = {
119
+ year: this.oDate.getFullYear(),
120
+ month: this.oDate.getMonth(),
121
+ day: this.oDate.getDate()
122
+ };
123
+ return toBuddhist(oGregorian);
67
124
  };
125
+
126
+ /**
127
+ * Set the Buddhist year to this.oDate
128
+ */
68
129
  Buddhist.prototype._setBuddhist = function (oBuddhist) {
69
- var oGregorian = toGregorian(oBuddhist);
70
- return this.oDate.setFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
130
+ var oGregorian = toGregorian(oBuddhist);
131
+ return this.oDate.setFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
71
132
  };
133
+
134
+ /**
135
+ * Get the Buddhist year from this.oDate in UTC
136
+ *
137
+ * @return {object}
138
+ */
72
139
  Buddhist.prototype._getUTCBuddhist = function () {
73
- var oGregorian = {
74
- year: this.oDate.getUTCFullYear(),
75
- month: this.oDate.getUTCMonth(),
76
- day: this.oDate.getUTCDate()
77
- };
78
- return toBuddhist(oGregorian);
140
+ var oGregorian = {
141
+ year: this.oDate.getUTCFullYear(),
142
+ month: this.oDate.getUTCMonth(),
143
+ day: this.oDate.getUTCDate()
144
+ };
145
+ return toBuddhist(oGregorian);
79
146
  };
147
+
148
+ /**
149
+ * Set the Buddhist year to this.oDate in UTC
150
+ */
80
151
  Buddhist.prototype._setUTCBuddhist = function (oBuddhist) {
81
- var oGregorian = toGregorian(oBuddhist);
82
- return this.oDate.setUTCFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
152
+ var oGregorian = toGregorian(oBuddhist);
153
+ return this.oDate.setUTCFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
83
154
  };
155
+
156
+ /*
157
+ * Override relevant getters/setters
158
+ */
84
159
  Buddhist.prototype.getYear = function () {
85
- return this._getBuddhist().year;
160
+ return this._getBuddhist().year;
86
161
  };
87
162
  Buddhist.prototype.getFullYear = function () {
88
- return this._getBuddhist().year;
163
+ return this._getBuddhist().year;
89
164
  };
90
165
  Buddhist.prototype.getUTCFullYear = function () {
91
- return this._getUTCBuddhist().year;
166
+ return this._getUTCBuddhist().year;
92
167
  };
93
168
  Buddhist.prototype.setYear = function (iYear) {
94
- var oBuddhist = this._getBuddhist();
95
- oBuddhist.year = iYear;
96
- return this._setBuddhist(oBuddhist);
169
+ var oBuddhist = this._getBuddhist();
170
+ oBuddhist.year = iYear;
171
+ return this._setBuddhist(oBuddhist);
97
172
  };
98
173
  Buddhist.prototype.setFullYear = function (iYear, iMonth, iDay) {
99
- var oBuddhist = this._getBuddhist();
100
- oBuddhist.year = iYear;
101
- if (iMonth !== undefined) {
102
- oBuddhist.month = iMonth;
103
- }
104
- if (iDay !== undefined) {
105
- oBuddhist.day = iDay;
106
- }
107
- return this._setBuddhist(oBuddhist);
174
+ var oBuddhist = this._getBuddhist();
175
+ oBuddhist.year = iYear;
176
+ if (iMonth !== undefined) {
177
+ oBuddhist.month = iMonth;
178
+ }
179
+ if (iDay !== undefined) {
180
+ oBuddhist.day = iDay;
181
+ }
182
+ return this._setBuddhist(oBuddhist);
108
183
  };
109
184
  Buddhist.prototype.setUTCFullYear = function (iYear, iMonth, iDay) {
110
- var oBuddhist = this._getUTCBuddhist();
111
- oBuddhist.year = iYear;
112
- if (iMonth !== undefined) {
113
- oBuddhist.month = iMonth;
114
- }
115
- if (iDay !== undefined) {
116
- oBuddhist.day = iDay;
117
- }
118
- return this._setUTCBuddhist(oBuddhist);
185
+ var oBuddhist = this._getUTCBuddhist();
186
+ oBuddhist.year = iYear;
187
+ if (iMonth !== undefined) {
188
+ oBuddhist.month = iMonth;
189
+ }
190
+ if (iDay !== undefined) {
191
+ oBuddhist.day = iDay;
192
+ }
193
+ return this._setUTCBuddhist(oBuddhist);
119
194
  };
120
195
  _Calendars.set(CalendarType.Buddhist, Buddhist);
121
196
  export default Buddhist;
@@ -1,36 +1,65 @@
1
- import CalendarWeekNumbering from './CalendarWeekNumbering.js';
2
- import Configuration from '../Configuration.js';
3
- import LocaleData from '../LocaleData.js';
4
- var mWeekNumberingConfiguration = {
5
- ISO_8601: {
6
- firstDayOfWeek: 1,
7
- minimalDaysInFirstWeek: 4
8
- },
9
- MiddleEastern: {
10
- firstDayOfWeek: 6,
11
- minimalDaysInFirstWeek: 1
12
- },
13
- WesternTraditional: {
14
- firstDayOfWeek: 0,
15
- minimalDaysInFirstWeek: 1
16
- }
17
- };
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides type sap.ui.core.date.CalendarUtils.
7
+ import CalendarWeekNumbering from "./CalendarWeekNumbering.js";
8
+ import Configuration from "../Configuration.js";
9
+ import LocaleData from "../LocaleData.js";
10
+ /**
11
+ * Provides calendar-related utilities.
12
+ *
13
+ * @namespace
14
+ * @alias module:sap/ui/core/date/CalendarUtils
15
+ * @public
16
+ * @since 1.108.0
17
+ */
18
18
  var CalendarUtils = {
19
- getWeekConfigurationValues: function (sCalendarWeekNumbering, oLocale) {
20
- var oLocaleData;
21
- if (mWeekNumberingConfiguration.hasOwnProperty(sCalendarWeekNumbering)) {
22
- return mWeekNumberingConfiguration[sCalendarWeekNumbering];
23
- }
24
- sCalendarWeekNumbering = sCalendarWeekNumbering || CalendarWeekNumbering.Default;
25
- if (sCalendarWeekNumbering === CalendarWeekNumbering.Default) {
26
- oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
27
- oLocaleData = LocaleData.getInstance(oLocale);
28
- return {
29
- firstDayOfWeek: oLocaleData.getFirstDayOfWeek(),
30
- minimalDaysInFirstWeek: oLocaleData.getMinimalDaysInFirstWeek()
31
- };
32
- }
33
- return undefined;
19
+ /**
20
+ * Resolves calendar week configuration.
21
+ *
22
+ * Returns an object with the following fields:
23
+ * <ul>
24
+ * <li><code>firstDayOfWeek</code>: specifies the first day of the week starting with
25
+ * <code>0</code> (which is Sunday)</li>
26
+ * <li><code>minimalDaysInFirstWeek</code>: minimal days at the beginning of the year
27
+ * which define the first calendar week</li>
28
+ * </ul>
29
+ *
30
+ * @param {sap.ui.core.date.CalendarWeekNumbering} [sCalendarWeekNumbering]
31
+ * The calendar week numbering; if omitted, the calendar week numbering of the Configuration
32
+ * is used; see {@link sap.ui.core.Configuration#getCalendarWeekNumbering}. If this value is
33
+ * <code>Default</code> the returned calendar week configuration is derived from the given
34
+ * <code>oLocale</code>.
35
+ * @param {sap.ui.core.Locale} [oLocale]
36
+ * The locale to use; if not provided, this falls back to the format locale from the
37
+ * Configuration; see {@link sap.ui.core.Configuration.FormatSettings#getFormatLocale}.
38
+ * Is only used when <code>sCalendarWeekNumbering</code> is set to <code>Default</code>.
39
+ * @returns {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}|undefined}
40
+ * The calendar week configuration, or <code>undefined<code> for an invalid value of
41
+ * <code>sap.ui.core.date.CalendarWeekNumbering</code>.
42
+ * @public
43
+ * @since 1.108.0
44
+ */
45
+ getWeekConfigurationValues: function (sCalendarWeekNumbering, oLocale) {
46
+ var oLocaleData, oWeekConfigurationValues;
47
+ if (!sCalendarWeekNumbering) {
48
+ return CalendarUtils.getWeekConfigurationValues(Configuration.getCalendarWeekNumbering(), oLocale);
49
+ }
50
+ oWeekConfigurationValues = CalendarWeekNumbering.getWeekConfigurationValues(sCalendarWeekNumbering);
51
+ if (oWeekConfigurationValues) {
52
+ return oWeekConfigurationValues;
53
+ }
54
+ if (sCalendarWeekNumbering === CalendarWeekNumbering.Default) {
55
+ oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
56
+ oLocaleData = LocaleData.getInstance(oLocale);
57
+ return {
58
+ firstDayOfWeek: oLocaleData.getFirstDayOfWeek(),
59
+ minimalDaysInFirstWeek: oLocaleData.getMinimalDaysInFirstWeek()
60
+ };
34
61
  }
62
+ return undefined;
63
+ }
35
64
  };
36
65
  export default CalendarUtils;
@@ -1,7 +1,30 @@
1
- var CalendarWeekNumbering = {
2
- Default: "Default",
3
- ISO_8601: "ISO_8601",
4
- MiddleEastern: "MiddleEastern",
5
- WesternTraditional: "WesternTraditional"
6
- };
7
- export default CalendarWeekNumbering;
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides type sap.ui.core.date.CalendarWeekNumbering.
7
+ import DataType from "../../base/DataType.js";
8
+ import CalendarWeekNumbering from "../../../base/i18n/date/CalendarWeekNumbering.js";
9
+ /**
10
+ * The <code>CalendarWeekNumbering</code> enum defines how to calculate calendar weeks. Each
11
+ * value defines:
12
+ * <ul>
13
+ * <li>The first day of the week,</li>
14
+ * <li>the first week of the year.</li>
15
+ * </ul>
16
+ *
17
+ * @enum {string}
18
+ * @public
19
+ * @since 1.108.0
20
+ * @deprecated As of Version 1.120. Please use {@link module:sap/base/18n/date/CalendarWeekNumbering} instead.
21
+ * @name sap.ui.core.date.CalendarWeekNumbering
22
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.Default as Default
23
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.ISO_8601 as ISO_8601
24
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.MiddleEastern as MiddleEastern
25
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.WesternTraditional as WesternTraditional
26
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.getWeekConfigurationValues as getWeekConfigurationValues
27
+ */
28
+
29
+ DataType.registerEnum("sap.ui.core.date.CalendarWeekNumbering", CalendarWeekNumbering);
30
+ export default CalendarWeekNumbering;
@@ -1,17 +1,32 @@
1
- import UniversalDate from './UniversalDate.js';
2
- import CalendarType from '../CalendarType.js';
3
- import _Calendars from './_Calendars.js';
4
- var Gregorian = UniversalDate.extend('sap.ui.core.date.Gregorian', {
5
- constructor: function () {
6
- this.oDate = this.createDate(Date, arguments);
7
- this.sCalendarType = CalendarType.Gregorian;
8
- }
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides class sap.ui.core.date.Gregorian
7
+ import UniversalDate from "./UniversalDate.js";
8
+ import CalendarType from "../CalendarType.js";
9
+ import _Calendars from "./_Calendars.js";
10
+ /**
11
+ * The Gregorian date class
12
+ *
13
+ * @class
14
+ *
15
+ * @private
16
+ * @alias sap.ui.core.date.Gregorian
17
+ * @extends sap.ui.core.date.UniversalDate
18
+ */
19
+ var Gregorian = UniversalDate.extend("sap.ui.core.date.Gregorian", /** @lends sap.ui.core.date.Gregorian.prototype */{
20
+ constructor: function () {
21
+ this.oDate = this.createDate(Date, arguments);
22
+ this.sCalendarType = CalendarType.Gregorian;
23
+ }
9
24
  });
10
25
  Gregorian.UTC = function () {
11
- return Date.UTC.apply(Date, arguments);
26
+ return Date.UTC.apply(Date, arguments);
12
27
  };
13
28
  Gregorian.now = function () {
14
- return Date.now();
29
+ return Date.now();
15
30
  };
16
31
  _Calendars.set(CalendarType.Gregorian, Gregorian);
17
32
  export default Gregorian;