@ui5/webcomponents-localization 0.0.0-4821618b2 → 0.0.0-49bade48d

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 (284) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +2355 -0
  4. package/LICENSE.txt +201 -0
  5. package/README.md +38 -10
  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.d.ts +1 -0
  14. package/dist/Assets.js +1 -0
  15. package/dist/Assets.js.map +1 -0
  16. package/dist/CalendarUtils.d.ts +3 -0
  17. package/dist/CalendarUtils.js +6 -0
  18. package/dist/CalendarUtils.js.map +1 -0
  19. package/dist/DateFormat.d.ts +28 -0
  20. package/dist/DateFormat.js +22 -2
  21. package/dist/DateFormat.js.map +1 -0
  22. package/dist/Locale.d.ts +5 -0
  23. package/dist/Locale.js +7 -0
  24. package/dist/Locale.js.map +1 -0
  25. package/dist/LocaleData.d.ts +5 -0
  26. package/dist/LocaleData.js +6 -2
  27. package/dist/LocaleData.js.map +1 -0
  28. package/dist/NumberFormat.d.ts +5 -0
  29. package/dist/NumberFormat.js +7 -0
  30. package/dist/NumberFormat.js.map +1 -0
  31. package/dist/dates/CalendarDate.d.ts +42 -0
  32. package/dist/dates/CalendarDate.js +171 -201
  33. package/dist/dates/CalendarDate.js.map +1 -0
  34. package/dist/dates/ExtremeDates.d.ts +5 -0
  35. package/dist/dates/ExtremeDates.js +25 -35
  36. package/dist/dates/ExtremeDates.js.map +1 -0
  37. package/dist/dates/UI5Date.d.ts +5 -0
  38. package/dist/dates/UI5Date.js +7 -0
  39. package/dist/dates/UI5Date.js.map +1 -0
  40. package/dist/dates/UniversalDate.d.ts +47 -0
  41. package/dist/dates/UniversalDate.js +5 -0
  42. package/dist/dates/UniversalDate.js.map +1 -0
  43. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  44. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  45. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  46. package/dist/dates/getDaysInMonth.d.ts +3 -0
  47. package/dist/dates/getDaysInMonth.js +10 -0
  48. package/dist/dates/getDaysInMonth.js.map +1 -0
  49. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  50. package/dist/dates/getRoundedTimestamp.js +10 -9
  51. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  52. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  53. package/dist/dates/getTodayUTCTimestamp.js +3 -3
  54. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  55. package/dist/dates/modifyDateBy.d.ts +14 -0
  56. package/dist/dates/modifyDateBy.js +42 -29
  57. package/dist/dates/modifyDateBy.js.map +1 -0
  58. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  59. package/dist/dates/transformDateToSecondaryType.js +18 -0
  60. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  61. package/dist/features/calendar/Buddhist.js +1 -0
  62. package/dist/features/calendar/Buddhist.js.map +1 -0
  63. package/dist/features/calendar/Gregorian.js +1 -0
  64. package/dist/features/calendar/Gregorian.js.map +1 -0
  65. package/dist/features/calendar/Islamic.js +1 -0
  66. package/dist/features/calendar/Islamic.js.map +1 -0
  67. package/dist/features/calendar/Japanese.js +1 -0
  68. package/dist/features/calendar/Japanese.js.map +1 -0
  69. package/dist/features/calendar/Persian.js +1 -0
  70. package/dist/features/calendar/Persian.js.map +1 -0
  71. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +39 -0
  72. package/dist/generated/assets/cldr/ar.json +2176 -727
  73. package/dist/generated/assets/cldr/ar_EG.json +2176 -727
  74. package/dist/generated/assets/cldr/ar_SA.json +2272 -824
  75. package/dist/generated/assets/cldr/bg.json +1921 -797
  76. package/dist/generated/assets/cldr/ca.json +2024 -815
  77. package/dist/generated/assets/cldr/cnr.json +6476 -0
  78. package/dist/generated/assets/cldr/cs.json +1862 -841
  79. package/dist/generated/assets/cldr/cy.json +2050 -1370
  80. package/dist/generated/assets/cldr/da.json +1841 -681
  81. package/dist/generated/assets/cldr/de.json +1803 -545
  82. package/dist/generated/assets/cldr/de_AT.json +1794 -536
  83. package/dist/generated/assets/cldr/de_CH.json +1876 -610
  84. package/dist/generated/assets/cldr/el.json +1494 -382
  85. package/dist/generated/assets/cldr/el_CY.json +1494 -382
  86. package/dist/generated/assets/cldr/en.json +1987 -562
  87. package/dist/generated/assets/cldr/en_AU.json +2336 -762
  88. package/dist/generated/assets/cldr/en_GB.json +2167 -620
  89. package/dist/generated/assets/cldr/en_HK.json +2073 -627
  90. package/dist/generated/assets/cldr/en_IE.json +2035 -592
  91. package/dist/generated/assets/cldr/en_IN.json +2333 -703
  92. package/dist/generated/assets/cldr/en_NZ.json +2053 -610
  93. package/dist/generated/assets/cldr/en_PG.json +2046 -603
  94. package/dist/generated/assets/cldr/en_SG.json +2038 -592
  95. package/dist/generated/assets/cldr/en_ZA.json +2043 -598
  96. package/dist/generated/assets/cldr/es.json +2194 -880
  97. package/dist/generated/assets/cldr/es_AR.json +2164 -818
  98. package/dist/generated/assets/cldr/es_BO.json +2207 -862
  99. package/dist/generated/assets/cldr/es_CL.json +2084 -847
  100. package/dist/generated/assets/cldr/es_CO.json +1944 -706
  101. package/dist/generated/assets/cldr/es_MX.json +2443 -1090
  102. package/dist/generated/assets/cldr/es_PE.json +1909 -772
  103. package/dist/generated/assets/cldr/es_UY.json +1923 -794
  104. package/dist/generated/assets/cldr/es_VE.json +1917 -788
  105. package/dist/generated/assets/cldr/et.json +1758 -543
  106. package/dist/generated/assets/cldr/fa.json +1869 -565
  107. package/dist/generated/assets/cldr/fi.json +1956 -525
  108. package/dist/generated/assets/cldr/fr.json +1708 -459
  109. package/dist/generated/assets/cldr/fr_BE.json +1707 -458
  110. package/dist/generated/assets/cldr/fr_CA.json +2084 -813
  111. package/dist/generated/assets/cldr/fr_CH.json +1666 -417
  112. package/dist/generated/assets/cldr/fr_LU.json +1708 -459
  113. package/dist/generated/assets/cldr/he.json +2015 -1032
  114. package/dist/generated/assets/cldr/hi.json +1616 -347
  115. package/dist/generated/assets/cldr/hr.json +1852 -568
  116. package/dist/generated/assets/cldr/hu.json +1761 -550
  117. package/dist/generated/assets/cldr/id.json +1921 -600
  118. package/dist/generated/assets/cldr/it.json +1818 -665
  119. package/dist/generated/assets/cldr/it_CH.json +1824 -671
  120. package/dist/generated/assets/cldr/ja.json +1423 -108
  121. package/dist/generated/assets/cldr/kk.json +2248 -736
  122. package/dist/generated/assets/cldr/ko.json +1481 -195
  123. package/dist/generated/assets/cldr/lt.json +1711 -733
  124. package/dist/generated/assets/cldr/lv.json +1683 -681
  125. package/dist/generated/assets/cldr/mk.json +6177 -0
  126. package/dist/generated/assets/cldr/ms.json +1900 -594
  127. package/dist/generated/assets/cldr/nb.json +1545 -368
  128. package/dist/generated/assets/cldr/nl.json +1932 -510
  129. package/dist/generated/assets/cldr/nl_BE.json +1952 -530
  130. package/dist/generated/assets/cldr/pl.json +1870 -585
  131. package/dist/generated/assets/cldr/pt.json +2181 -752
  132. package/dist/generated/assets/cldr/pt_PT.json +2146 -777
  133. package/dist/generated/assets/cldr/ro.json +1844 -764
  134. package/dist/generated/assets/cldr/ru.json +2079 -754
  135. package/dist/generated/assets/cldr/ru_UA.json +2073 -748
  136. package/dist/generated/assets/cldr/sk.json +1857 -971
  137. package/dist/generated/assets/cldr/sl.json +1859 -920
  138. package/dist/generated/assets/cldr/sr.json +1826 -766
  139. package/dist/generated/assets/cldr/sr_Latn.json +2179 -1135
  140. package/dist/generated/assets/cldr/sv.json +1786 -586
  141. package/dist/generated/assets/cldr/th.json +1701 -372
  142. package/dist/generated/assets/cldr/tr.json +1852 -586
  143. package/dist/generated/assets/cldr/uk.json +2163 -710
  144. package/dist/generated/assets/cldr/vi.json +2051 -708
  145. package/dist/generated/assets/cldr/zh_CN.json +1733 -396
  146. package/dist/generated/assets/cldr/zh_HK.json +1710 -373
  147. package/dist/generated/assets/cldr/zh_SG.json +1720 -383
  148. package/dist/generated/assets/cldr/zh_TW.json +1675 -370
  149. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  150. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  151. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  152. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  153. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  154. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  155. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  156. package/dist/generated/json-imports/LocaleData.js +89 -88
  157. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  158. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  159. package/dist/getCachedLocaleDataInstance.js +8 -9
  160. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  161. package/dist/locale/getLocaleData.d.ts +11 -0
  162. package/dist/locale/getLocaleData.js +15 -17
  163. package/dist/locale/getLocaleData.js.map +1 -0
  164. package/dist/sap/base/Event.js +59 -0
  165. package/dist/sap/base/Eventing.js +147 -0
  166. package/dist/sap/base/Log.js +2 -248
  167. package/dist/sap/base/assert.js +31 -9
  168. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  169. package/dist/sap/base/config.js +17 -0
  170. package/dist/sap/base/future.js +12 -0
  171. package/dist/sap/base/i18n/Formatting.d.ts +13 -0
  172. package/dist/sap/base/i18n/Formatting.js +18 -0
  173. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  174. package/dist/sap/base/i18n/LanguageTag.js +179 -0
  175. package/dist/sap/base/i18n/Localization.d.ts +7 -0
  176. package/dist/sap/base/i18n/Localization.js +17 -0
  177. package/dist/sap/base/i18n/Localization.js.map +1 -0
  178. package/dist/sap/base/i18n/ResourceBundle.js +20 -0
  179. package/dist/sap/base/i18n/date/CalendarType.js +44 -0
  180. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +106 -0
  181. package/dist/sap/base/i18n/date/TimezoneUtils.js +471 -0
  182. package/dist/sap/base/i18n/date/_EnumHelper.js +37 -0
  183. package/dist/sap/base/strings/camelize.js +30 -0
  184. package/dist/sap/base/strings/formatMessage.js +93 -15
  185. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  186. package/dist/sap/base/util/LoaderExtensions.js +9 -12
  187. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  188. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  189. package/dist/sap/base/util/ObjectPath.js +4 -33
  190. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  191. package/dist/sap/base/util/Properties.js +12 -0
  192. package/dist/sap/base/util/Version.js +163 -0
  193. package/dist/sap/base/util/_merge.js +83 -26
  194. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  195. package/dist/sap/base/util/deepClone.js +102 -0
  196. package/dist/sap/base/util/deepEqual.js +75 -55
  197. package/dist/sap/base/util/deepExtend.js +60 -0
  198. package/dist/sap/base/util/extend.js +58 -7
  199. package/dist/sap/base/util/fetch.js +8 -0
  200. package/dist/sap/base/util/isEmptyObject.js +34 -0
  201. package/dist/sap/base/util/isPlainObject.js +35 -1
  202. package/dist/sap/base/util/merge.js +57 -0
  203. package/dist/sap/base/util/mixedFetch.js +3 -0
  204. package/dist/sap/base/util/now.js +22 -7
  205. package/dist/sap/base/util/resolveReference.js +3 -0
  206. package/dist/sap/base/util/uid.js +27 -0
  207. package/dist/sap/ui/Device.js +25 -3
  208. package/dist/sap/ui/Global.js +1 -0
  209. package/dist/sap/ui/VersionInfo.js +14 -0
  210. package/dist/sap/ui/base/DataType.js +708 -0
  211. package/dist/sap/ui/base/DesignTime.js +11 -0
  212. package/dist/sap/ui/base/EventProvider.js +21 -0
  213. package/dist/sap/ui/base/Interface.js +47 -1
  214. package/dist/sap/ui/base/Metadata.js +470 -171
  215. package/dist/sap/ui/base/Object.js +287 -27
  216. package/dist/sap/ui/base/OwnStatics.js +6 -0
  217. package/dist/sap/ui/base/SyncPromise.js +98 -0
  218. package/dist/sap/ui/core/AnimationMode.js +42 -0
  219. package/dist/sap/ui/core/CalendarType.js +24 -8
  220. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  221. package/dist/sap/ui/core/Configuration.js +23 -0
  222. package/dist/sap/ui/core/Configuration.js.map +1 -0
  223. package/dist/sap/ui/core/ControlBehavior.js +11 -0
  224. package/dist/sap/ui/core/Core.d.ts +25 -0
  225. package/dist/sap/ui/core/Core.js +7 -32
  226. package/dist/sap/ui/core/Core.js.map +1 -0
  227. package/dist/sap/ui/core/FormatSettings.d.ts +9 -0
  228. package/dist/sap/ui/core/FormatSettings.js +12 -0
  229. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  230. package/dist/sap/ui/core/Lib.js +41 -0
  231. package/dist/sap/ui/core/Locale.js +190 -140
  232. package/dist/sap/ui/core/LocaleData.js +2836 -2703
  233. package/dist/sap/ui/core/Supportability.js +5 -0
  234. package/dist/sap/ui/core/Theming.js +39 -0
  235. package/dist/sap/ui/core/_UrlResolver.js +11 -0
  236. package/dist/sap/ui/core/date/Buddhist.js +162 -93
  237. package/dist/sap/ui/core/date/CalendarUtils.js +67 -0
  238. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -0
  239. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  240. package/dist/sap/ui/core/date/Islamic.js +298 -185
  241. package/dist/sap/ui/core/date/Japanese.js +212 -117
  242. package/dist/sap/ui/core/date/Persian.js +324 -195
  243. package/dist/sap/ui/core/date/UI5Date.js +1039 -0
  244. package/dist/sap/ui/core/date/UniversalDate.js +1241 -219
  245. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  246. package/dist/sap/ui/core/format/DateFormat.js +3160 -1790
  247. package/dist/sap/ui/core/format/FormatUtils.js +30 -0
  248. package/dist/sap/ui/core/format/NumberFormat.js +3164 -0
  249. package/dist/sap/ui/core/format/TimezoneUtil.js +93 -0
  250. package/dist/sap/ui/core/getCompatibilityVersion.js +7 -0
  251. package/dist/sap/ui/core/theming/ThemeHelper.js +14 -0
  252. package/dist/sap/ui/security/Security.js +12 -0
  253. package/dist/sap/ui/util/XMLHelper.js +11 -0
  254. package/dist/sap/ui/util/_URL.js +1 -0
  255. package/dist/ui5loader-autoconfig.js +1 -0
  256. package/package-scripts.cjs +35 -0
  257. package/package.json +22 -23
  258. package/tsconfig.json +24 -0
  259. package/used-modules.txt +33 -1
  260. package/dist/Assets-static.js +0 -2
  261. package/dist/dates/calculateWeekNumber.js +0 -51
  262. package/dist/generated/json-imports/LocaleData-static.js +0 -89
  263. package/hash.txt +0 -1
  264. package/package-scripts.js +0 -40
  265. package/src/Assets-static.js +0 -2
  266. package/src/Assets.js +0 -2
  267. package/src/DateFormat.js +0 -3
  268. package/src/LocaleData.js +0 -3
  269. package/src/dates/CalendarDate.js +0 -223
  270. package/src/dates/ExtremeDates.js +0 -39
  271. package/src/dates/calculateWeekNumber.js +0 -51
  272. package/src/dates/getRoundedTimestamp.js +0 -14
  273. package/src/dates/getTodayUTCTimestamp.js +0 -9
  274. package/src/dates/modifyDateBy.js +0 -42
  275. package/src/getCachedLocaleDataInstance.js +0 -13
  276. package/src/locale/getLocaleData.js +0 -27
  277. package/src/sap/base/util/LoaderExtensions.js +0 -17
  278. package/src/sap/ui/core/Core.js +0 -38
  279. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  280. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  281. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  282. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  283. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  284. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,5 @@
1
+ export default {
2
+ collectOriginInfo() {
3
+ return false;
4
+ }
5
+ };
@@ -0,0 +1,39 @@
1
+ var sTheme = "sap_horizon";
2
+ var mThemeRoots = {};
3
+ var aChangeListeners = [];
4
+ var aAppliedListeners = [];
5
+ var Theming = {
6
+ getTheme: function () {
7
+ return sTheme;
8
+ },
9
+ setTheme: function (theme) {
10
+ sTheme = theme;
11
+ },
12
+ getThemeRoot: function () {
13
+ return mThemeRoots[sTheme] || "";
14
+ },
15
+ setThemeRoot: function (theme, lib, sThemeBaseUrl) {
16
+ if (typeof lib === "string") {
17
+ mThemeRoots[theme] = lib;
18
+ } else {
19
+ mThemeRoots[theme] = sThemeBaseUrl;
20
+ }
21
+ },
22
+ attachChange: function (fn) {
23
+ aChangeListeners.push(fn);
24
+ },
25
+ detachChange: function (fn) {
26
+ aChangeListeners = aChangeListeners.filter(function (f) {
27
+ return f !== fn;
28
+ });
29
+ },
30
+ attachApplied: function (fn) {
31
+ aAppliedListeners.push(fn);
32
+ },
33
+ detachApplied: function (fn) {
34
+ aAppliedListeners = aAppliedListeners.filter(function (f) {
35
+ return f !== fn;
36
+ });
37
+ }
38
+ };
39
+ export default Theming;
@@ -0,0 +1,11 @@
1
+ export default {
2
+ _processResourceConfiguration: function (c) {
3
+ return c;
4
+ },
5
+ _resolveUri: function (s) {
6
+ return s;
7
+ },
8
+ _resolveUriRelativeTo: function (s) {
9
+ return s;
10
+ }
11
+ };
@@ -1,127 +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 2026 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 _Calendars from "./_Calendars.js";
9
+ import CalendarType from "../../../base/i18n/date/CalendarType.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);
119
- };
120
- Buddhist.prototype.getWeek = function () {
121
- return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getFullYear(), this.getMonth(), this.getDate());
122
- };
123
- Buddhist.prototype.getUTCWeek = function () {
124
- return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getUTCFullYear(), this.getUTCMonth(), this.getUTCDate());
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);
125
194
  };
126
195
  _Calendars.set(CalendarType.Buddhist, Buddhist);
127
196
  export default Buddhist;
@@ -0,0 +1,67 @@
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
+ // Provides type sap.ui.core.date.CalendarUtils.
7
+ import Formatting from "../../../base/i18n/Formatting.js";
8
+ import CalendarWeekNumbering from "../../../base/i18n/date/CalendarWeekNumbering.js";
9
+ import Locale from "../Locale.js";
10
+ import LocaleData from "../LocaleData.js";
11
+ /**
12
+ * Provides calendar-related utilities.
13
+ *
14
+ * @namespace
15
+ * @alias module:sap/ui/core/date/CalendarUtils
16
+ * @public
17
+ * @since 1.108.0
18
+ */
19
+ var CalendarUtils = {
20
+ /**
21
+ * Resolves calendar week configuration.
22
+ *
23
+ * Returns an object with the following fields:
24
+ * <ul>
25
+ * <li><code>firstDayOfWeek</code>: specifies the first day of the week starting with
26
+ * <code>0</code> (which is Sunday)</li>
27
+ * <li><code>minimalDaysInFirstWeek</code>: minimal days at the beginning of the year
28
+ * which define the first calendar week</li>
29
+ * </ul>
30
+ *
31
+ * @param {module:sap/base/i18n/date/CalendarWeekNumbering} [sCalendarWeekNumbering]
32
+ * The calendar week numbering; if omitted, the calendar week numbering of the configuration
33
+ * is used; see
34
+ * {@link module:sap/base/i18n/Formatting.getCalendarWeekNumbering Formatting.getCalendarWeekNumbering}.
35
+ * If this value is <code>Default</code> the returned calendar week configuration is derived from the given
36
+ * <code>oLocale</code>.
37
+ * @param {sap.ui.core.Locale} [oLocale]
38
+ * The locale to use; if no locale is given, a locale for the currently configured language is used; see
39
+ * {@link module:sap/base/i18n/Formatting.getLanguageTag Formatting.getLanguageTag}.
40
+ * Is only used when <code>sCalendarWeekNumbering</code> is set to <code>Default</code>.
41
+ * @returns {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}|undefined}
42
+ * The calendar week configuration, or <code>undefined<code> for an invalid value of
43
+ * <code>module:sap/base/i18n/date/CalendarWeekNumbering</code>.
44
+ * @public
45
+ * @since 1.108.0
46
+ */
47
+ getWeekConfigurationValues: function (sCalendarWeekNumbering, oLocale) {
48
+ var oLocaleData, oWeekConfigurationValues;
49
+ if (!sCalendarWeekNumbering) {
50
+ return CalendarUtils.getWeekConfigurationValues(Formatting.getCalendarWeekNumbering(), oLocale);
51
+ }
52
+ oWeekConfigurationValues = CalendarWeekNumbering.getWeekConfigurationValues(sCalendarWeekNumbering);
53
+ if (oWeekConfigurationValues) {
54
+ return oWeekConfigurationValues;
55
+ }
56
+ if (sCalendarWeekNumbering === CalendarWeekNumbering.Default) {
57
+ oLocale = oLocale || new Locale(Formatting.getLanguageTag());
58
+ oLocaleData = LocaleData.getInstance(oLocale);
59
+ return {
60
+ firstDayOfWeek: oLocaleData.getFirstDayOfWeek(),
61
+ minimalDaysInFirstWeek: oLocaleData.getMinimalDaysInFirstWeek()
62
+ };
63
+ }
64
+ return undefined;
65
+ }
66
+ };
67
+ export default CalendarUtils;
@@ -0,0 +1,30 @@
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
+ // 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/i18n/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 2026 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 _Calendars from "./_Calendars.js";
9
+ import CalendarType from "../../../base/i18n/date/CalendarType.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;