@ui5/webcomponents-localization 0.0.0-1b568f22b → 0.0.0-1cc5f5e54

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 (204) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +370 -0
  3. package/README.md +36 -6
  4. package/dist/Assets-static.d.ts +1 -0
  5. package/dist/Assets-static.js +3 -0
  6. package/dist/Assets-static.js.map +1 -0
  7. package/dist/Assets.d.ts +1 -0
  8. package/dist/Assets.js +1 -0
  9. package/dist/Assets.js.map +1 -0
  10. package/dist/DateFormat.d.ts +6 -0
  11. package/dist/DateFormat.js +6 -2
  12. package/dist/DateFormat.js.map +1 -0
  13. package/dist/LocaleData.d.ts +6 -0
  14. package/dist/LocaleData.js +6 -2
  15. package/dist/LocaleData.js.map +1 -0
  16. package/dist/dates/CalendarDate.d.ts +41 -0
  17. package/dist/dates/CalendarDate.js +170 -181
  18. package/dist/dates/CalendarDate.js.map +1 -0
  19. package/dist/dates/ExtremeDates.d.ts +5 -0
  20. package/dist/dates/ExtremeDates.js +29 -0
  21. package/dist/dates/ExtremeDates.js.map +1 -0
  22. package/dist/dates/UniversalDate.d.ts +46 -0
  23. package/dist/dates/UniversalDate.js +5 -0
  24. package/dist/dates/UniversalDate.js.map +1 -0
  25. package/dist/dates/calculateWeekNumber.d.ts +4 -0
  26. package/dist/dates/calculateWeekNumber.js +42 -48
  27. package/dist/dates/calculateWeekNumber.js.map +1 -0
  28. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  29. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  30. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  31. package/dist/dates/getDaysInMonth.d.ts +3 -0
  32. package/dist/dates/getDaysInMonth.js +10 -0
  33. package/dist/dates/getDaysInMonth.js.map +1 -0
  34. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  35. package/dist/dates/getRoundedTimestamp.js +14 -0
  36. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  37. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  38. package/dist/dates/getTodayUTCTimestamp.js +8 -0
  39. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  40. package/dist/dates/modifyDateBy.d.ts +13 -0
  41. package/dist/dates/modifyDateBy.js +40 -0
  42. package/dist/dates/modifyDateBy.js.map +1 -0
  43. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  44. package/dist/dates/transformDateToSecondaryType.js +17 -0
  45. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  46. package/dist/features/calendar/Buddhist.js +1 -0
  47. package/dist/features/calendar/Buddhist.js.map +1 -0
  48. package/dist/features/calendar/Gregorian.js +1 -0
  49. package/dist/features/calendar/Gregorian.js.map +1 -0
  50. package/dist/features/calendar/Islamic.js +1 -0
  51. package/dist/features/calendar/Islamic.js.map +1 -0
  52. package/dist/features/calendar/Japanese.js +1 -0
  53. package/dist/features/calendar/Japanese.js.map +1 -0
  54. package/dist/features/calendar/Persian.js +1 -0
  55. package/dist/features/calendar/Persian.js.map +1 -0
  56. package/dist/generated/assets/cldr/ar.json +2804 -5904
  57. package/dist/generated/assets/cldr/ar_EG.json +2804 -5904
  58. package/dist/generated/assets/cldr/ar_SA.json +2804 -5904
  59. package/dist/generated/assets/cldr/bg.json +2727 -4977
  60. package/dist/generated/assets/cldr/ca.json +2670 -4994
  61. package/dist/generated/assets/cldr/cs.json +2710 -5496
  62. package/dist/generated/assets/cldr/cy.json +2793 -0
  63. package/dist/generated/assets/cldr/da.json +2591 -4886
  64. package/dist/generated/assets/cldr/de.json +2608 -4914
  65. package/dist/generated/assets/cldr/de_AT.json +2608 -4915
  66. package/dist/generated/assets/cldr/de_CH.json +2608 -4913
  67. package/dist/generated/assets/cldr/el.json +2589 -4881
  68. package/dist/generated/assets/cldr/el_CY.json +2589 -4881
  69. package/dist/generated/assets/cldr/en.json +2577 -4968
  70. package/dist/generated/assets/cldr/en_AU.json +2586 -4960
  71. package/dist/generated/assets/cldr/en_GB.json +2578 -4969
  72. package/dist/generated/assets/cldr/en_HK.json +2584 -4975
  73. package/dist/generated/assets/cldr/en_IE.json +2578 -4969
  74. package/dist/generated/assets/cldr/en_IN.json +2579 -4970
  75. package/dist/generated/assets/cldr/en_NZ.json +2578 -4969
  76. package/dist/generated/assets/cldr/en_PG.json +2578 -4970
  77. package/dist/generated/assets/cldr/en_SG.json +2579 -4971
  78. package/dist/generated/assets/cldr/en_ZA.json +2578 -4970
  79. package/dist/generated/assets/cldr/es.json +2633 -4910
  80. package/dist/generated/assets/cldr/es_AR.json +2638 -4912
  81. package/dist/generated/assets/cldr/es_BO.json +2638 -4911
  82. package/dist/generated/assets/cldr/es_CL.json +2638 -4912
  83. package/dist/generated/assets/cldr/es_CO.json +2637 -4911
  84. package/dist/generated/assets/cldr/es_MX.json +2638 -4913
  85. package/dist/generated/assets/cldr/es_PE.json +2638 -4911
  86. package/dist/generated/assets/cldr/es_UY.json +2638 -4913
  87. package/dist/generated/assets/cldr/es_VE.json +2638 -4912
  88. package/dist/generated/assets/cldr/et.json +2593 -4965
  89. package/dist/generated/assets/cldr/fa.json +2606 -4881
  90. package/dist/generated/assets/cldr/fi.json +2635 -5006
  91. package/dist/generated/assets/cldr/fr.json +2583 -4977
  92. package/dist/generated/assets/cldr/fr_BE.json +2583 -4977
  93. package/dist/generated/assets/cldr/fr_CA.json +2598 -4971
  94. package/dist/generated/assets/cldr/fr_CH.json +2600 -4995
  95. package/dist/generated/assets/cldr/fr_LU.json +2583 -4977
  96. package/dist/generated/assets/cldr/he.json +2699 -5376
  97. package/dist/generated/assets/cldr/hi.json +2593 -4827
  98. package/dist/generated/assets/cldr/hr.json +2646 -4917
  99. package/dist/generated/assets/cldr/hu.json +2592 -4854
  100. package/dist/generated/assets/cldr/id.json +2538 -4656
  101. package/dist/generated/assets/cldr/it.json +2583 -4948
  102. package/dist/generated/assets/cldr/it_CH.json +2583 -4948
  103. package/dist/generated/assets/cldr/ja.json +2655 -4828
  104. package/dist/generated/assets/cldr/kk.json +2583 -4723
  105. package/dist/generated/assets/cldr/ko.json +2632 -4736
  106. package/dist/generated/assets/cldr/lt.json +2714 -5479
  107. package/dist/generated/assets/cldr/lv.json +2638 -5110
  108. package/dist/generated/assets/cldr/ms.json +2532 -4513
  109. package/dist/generated/assets/cldr/nb.json +2615 -4975
  110. package/dist/generated/assets/cldr/nl.json +2595 -4882
  111. package/dist/generated/assets/cldr/nl_BE.json +2595 -4882
  112. package/dist/generated/assets/cldr/pl.json +2717 -5174
  113. package/dist/generated/assets/cldr/pt.json +2600 -4803
  114. package/dist/generated/assets/cldr/pt_PT.json +2651 -4938
  115. package/dist/generated/assets/cldr/ro.json +2639 -5088
  116. package/dist/generated/assets/cldr/ru.json +2698 -5405
  117. package/dist/generated/assets/cldr/ru_UA.json +2698 -5405
  118. package/dist/generated/assets/cldr/sk.json +2720 -5368
  119. package/dist/generated/assets/cldr/sl.json +2682 -5338
  120. package/dist/generated/assets/cldr/sr.json +2657 -5124
  121. package/dist/generated/assets/cldr/sr_Latn.json +2660 -0
  122. package/dist/generated/assets/cldr/sv.json +2625 -5009
  123. package/dist/generated/assets/cldr/th.json +2626 -4795
  124. package/dist/generated/assets/cldr/tr.json +2606 -4977
  125. package/dist/generated/assets/cldr/uk.json +2678 -5351
  126. package/dist/generated/assets/cldr/vi.json +2549 -4671
  127. package/dist/generated/assets/cldr/zh_CN.json +2541 -4630
  128. package/dist/generated/assets/cldr/zh_HK.json +2549 -4638
  129. package/dist/generated/assets/cldr/zh_SG.json +2548 -4638
  130. package/dist/generated/assets/cldr/zh_TW.json +2556 -4726
  131. package/dist/generated/json-imports/LocaleData-static.js +90 -0
  132. package/dist/generated/json-imports/LocaleData.js +88 -91
  133. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  134. package/dist/getCachedLocaleDataInstance.js +10 -0
  135. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  136. package/dist/locale/getLocaleData.d.ts +11 -0
  137. package/dist/locale/getLocaleData.js +13 -17
  138. package/dist/locale/getLocaleData.js.map +1 -0
  139. package/dist/sap/base/Log.js +28 -37
  140. package/dist/sap/base/assert.js +5 -10
  141. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  142. package/dist/sap/base/util/LoaderExtensions.js +11 -4
  143. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  144. package/dist/sap/base/util/array/uniqueSort.js +7 -7
  145. package/dist/sap/base/util/deepEqual.js +1 -5
  146. package/dist/sap/ui/base/Interface.js +3 -5
  147. package/dist/sap/ui/base/Metadata.js +1 -3
  148. package/dist/sap/ui/base/Object.js +26 -2
  149. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  150. package/dist/sap/ui/core/Configuration.js +20 -0
  151. package/dist/sap/ui/core/Configuration.js.map +1 -0
  152. package/dist/sap/ui/core/Core.d.ts +26 -0
  153. package/dist/sap/ui/core/Core.js +7 -32
  154. package/dist/sap/ui/core/Core.js.map +1 -0
  155. package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
  156. package/dist/sap/ui/core/FormatSettings.js +14 -0
  157. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  158. package/dist/sap/ui/core/Locale.js +70 -31
  159. package/dist/sap/ui/core/LocaleData.js +133 -1506
  160. package/dist/sap/ui/core/date/Buddhist.js +0 -6
  161. package/dist/sap/ui/core/date/CalendarUtils.js +36 -0
  162. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +7 -0
  163. package/dist/sap/ui/core/date/Islamic.js +3 -3
  164. package/dist/sap/ui/core/date/Japanese.js +4 -4
  165. package/dist/sap/ui/core/date/UniversalDate.js +82 -23
  166. package/dist/sap/ui/core/format/DateFormat.js +530 -222
  167. package/dist/sap/ui/core/format/TimezoneUtil.js +94 -0
  168. package/package-scripts.js +15 -8
  169. package/package.json +13 -14
  170. package/src/Assets-static.ts +2 -0
  171. package/src/DateFormat.ts +8 -0
  172. package/src/LocaleData.ts +8 -0
  173. package/src/dates/{CalendarDate.js → CalendarDate.ts} +64 -35
  174. package/src/dates/ExtremeDates.ts +40 -0
  175. package/src/dates/UniversalDate.ts +51 -0
  176. package/src/dates/{calculateWeekNumber.js → calculateWeekNumber.ts} +5 -3
  177. package/src/dates/convertMonthNumbersToMonthNames.ts +34 -0
  178. package/src/dates/getDaysInMonth.ts +11 -0
  179. package/src/dates/getRoundedTimestamp.ts +14 -0
  180. package/src/dates/getTodayUTCTimestamp.ts +10 -0
  181. package/src/dates/modifyDateBy.ts +42 -0
  182. package/src/dates/transformDateToSecondaryType.ts +21 -0
  183. package/src/features/calendar/Buddhist.ts +1 -0
  184. package/src/features/calendar/Gregorian.ts +1 -0
  185. package/src/features/calendar/Islamic.ts +1 -0
  186. package/src/features/calendar/Japanese.ts +1 -0
  187. package/src/features/calendar/Persian.ts +1 -0
  188. package/src/getCachedLocaleDataInstance.ts +15 -0
  189. package/src/locale/{getLocaleData.js → getLocaleData.ts} +9 -8
  190. package/src/sap/base/util/LoaderExtensions.ts +17 -0
  191. package/src/sap/ui/core/{Core.js → Configuration.ts} +5 -21
  192. package/src/sap/ui/core/Core.ts +15 -0
  193. package/src/sap/ui/core/FormatSettings.ts +16 -0
  194. package/tsconfig.json +13 -0
  195. package/used-modules.txt +4 -1
  196. package/src/DateFormat.js +0 -3
  197. package/src/LocaleData.js +0 -3
  198. package/src/sap/base/util/LoaderExtensions.js +0 -7
  199. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  200. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  201. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  202. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  203. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
  204. /package/src/{Assets.js → Assets.ts} +0 -0
@@ -0,0 +1,30 @@
1
+ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
2
+ import getCachedLocaleDataInstance from "../getCachedLocaleDataInstance.js";
3
+ /**
4
+ * Convert month number to month name (text).
5
+ * If the numbers of the two months are the same you will get the name of the month,
6
+ * otherwise you will get the two names separated by a dash
7
+ *
8
+ * @param firstMonth CalendarDate Month
9
+ * @param lastMonth CalendarDate Month
10
+ * @param calendarType calendar type
11
+ * @returns {String}
12
+ */
13
+ const convertMonthNumbersToMonthNames = (firstMonth, lastMonth, calendarType) => {
14
+ const localeData = getCachedLocaleDataInstance(getLocale());
15
+ const pattern = localeData.getIntervalPattern("");
16
+ const secondaryMonthsNames = localeData.getMonthsStandAlone("abbreviated", calendarType);
17
+ const secondaryMonthsNamesWide = localeData.getMonthsStandAlone("wide", calendarType);
18
+ if (firstMonth === lastMonth) {
19
+ return {
20
+ text: localeData.getMonths("abbreviated", calendarType)[firstMonth],
21
+ textInfo: localeData.getMonths("wide", calendarType)[firstMonth],
22
+ };
23
+ }
24
+ return {
25
+ text: pattern.replace(/\{0\}/, secondaryMonthsNames[firstMonth]).replace(/\{1\}/, secondaryMonthsNames[lastMonth]),
26
+ textInfo: pattern.replace(/\{0\}/, secondaryMonthsNamesWide[firstMonth]).replace(/\{1\}/, secondaryMonthsNamesWide[lastMonth]),
27
+ };
28
+ };
29
+ export default convertMonthNumbersToMonthNames;
30
+ //# sourceMappingURL=convertMonthNumbersToMonthNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertMonthNumbersToMonthNames.js","sourceRoot":"","sources":["../../src/dates/convertMonthNumbersToMonthNames.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kDAAkD,CAAC;AAEzE,OAAO,2BAA2B,MAAM,mCAAmC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,+BAA+B,GAAG,CAAC,UAAkB,EAAE,SAAiB,EAAE,YAA2B,EAAE,EAAE;IAC9G,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,oBAAoB,GAAG,UAAU,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAkB,CAAC;IAC1G,MAAM,wBAAwB,GAAG,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAkB,CAAC;IAEvG,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,OAAO;YACN,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC;YACnE,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC;SAChE,CAAC;KACF;IAED,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAClH,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;KAC9H,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ declare const getDaysInMonth: (date: CalendarDate) => number;
3
+ export default getDaysInMonth;
@@ -0,0 +1,10 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ const getDaysInMonth = (date) => {
3
+ const tempCalendarDate = new CalendarDate(date);
4
+ tempCalendarDate.setDate(1);
5
+ tempCalendarDate.setMonth(tempCalendarDate.getMonth() + 1);
6
+ tempCalendarDate.setDate(0);
7
+ return tempCalendarDate.getDate();
8
+ };
9
+ export default getDaysInMonth;
10
+ //# sourceMappingURL=getDaysInMonth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDaysInMonth.js","sourceRoot":"","sources":["../../src/dates/getDaysInMonth.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAE;IAC7C,MAAM,gBAAgB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns a timestamp with only the year, month and day (with zero hours, minutes and seconds) and without 000 for milliseconds
3
+ * @param { number } millisecondsUTC
4
+ * @returns { number }
5
+ */
6
+ declare const getRoundedTimestamp: (millisecondsUTC: number) => number;
7
+ export default getRoundedTimestamp;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns a timestamp with only the year, month and day (with zero hours, minutes and seconds) and without 000 for milliseconds
3
+ * @param { number } millisecondsUTC
4
+ * @returns { number }
5
+ */
6
+ const getRoundedTimestamp = (millisecondsUTC) => {
7
+ if (!millisecondsUTC) {
8
+ millisecondsUTC = new Date().getTime();
9
+ }
10
+ const rounded = millisecondsUTC - (millisecondsUTC % (24 * 60 * 60 * 1000));
11
+ return rounded / 1000;
12
+ };
13
+ export default getRoundedTimestamp;
14
+ //# sourceMappingURL=getRoundedTimestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRoundedTimestamp.js","sourceRoot":"","sources":["../../src/dates/getRoundedTimestamp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,eAAuB,EAAE,EAAE;IACvD,IAAI,CAAC,eAAe,EAAE;QACrB,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;KACvC;IACD,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,OAAO,GAAG,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ /**
3
+ * Returns a UTC timestamp representing today
4
+ * @public
5
+ */
6
+ declare const getTodayUTCTimestamp: (primaryCalendarType: CalendarType) => number;
7
+ export default getTodayUTCTimestamp;
@@ -0,0 +1,8 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ /**
3
+ * Returns a UTC timestamp representing today
4
+ * @public
5
+ */
6
+ const getTodayUTCTimestamp = (primaryCalendarType) => CalendarDate.fromLocalJSDate(new Date(), primaryCalendarType).valueOf() / 1000;
7
+ export default getTodayUTCTimestamp;
8
+ //# sourceMappingURL=getTodayUTCTimestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTodayUTCTimestamp.js","sourceRoot":"","sources":["../../src/dates/getTodayUTCTimestamp.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,mBAAiC,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAEnJ,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ /**
3
+ * Adds or subtracts a given amount of days/months/years from a date.
4
+ * If minDate or maxDate are given, the result will be enforced within these limits
5
+ *
6
+ * @param date CalendarDate instance
7
+ * @param amount how many days/months/years to add (can be a negative number)
8
+ * @param unit what to modify: "day", "month" or "year"
9
+ * @param minDate minimum date to enforce
10
+ * @param maxDate maximum date to enforce
11
+ */
12
+ declare const modifyDateBy: (date: CalendarDate, amount: number, unit: string, minDate?: CalendarDate, maxDate?: CalendarDate) => CalendarDate;
13
+ export default modifyDateBy;
@@ -0,0 +1,40 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ /**
3
+ * Adds or subtracts a given amount of days/months/years from a date.
4
+ * If minDate or maxDate are given, the result will be enforced within these limits
5
+ *
6
+ * @param date CalendarDate instance
7
+ * @param amount how many days/months/years to add (can be a negative number)
8
+ * @param unit what to modify: "day", "month" or "year"
9
+ * @param minDate minimum date to enforce
10
+ * @param maxDate maximum date to enforce
11
+ */
12
+ const modifyDateBy = (date, amount, unit, minDate, maxDate) => {
13
+ const newDate = new CalendarDate(date);
14
+ if (unit === "day") {
15
+ newDate.setDate(date.getDate() + amount);
16
+ }
17
+ else if (unit === "month") {
18
+ newDate.setMonth(date.getMonth() + amount);
19
+ const stillSameMonth = amount === -1 && newDate.getMonth() === date.getMonth(); // f.e. PageUp remained in the same month
20
+ const monthSkipped = amount === 1 && newDate.getMonth() - date.getMonth() > 1; // f.e. PageDown skipped a whole month
21
+ if (stillSameMonth || monthSkipped) { // Select the last day of the month in any of these 2 scenarios
22
+ newDate.setDate(0);
23
+ }
24
+ }
25
+ else {
26
+ newDate.setYear(date.getYear() + amount);
27
+ if (newDate.getMonth() !== date.getMonth()) { // f.e. 29th Feb to next/prev year
28
+ newDate.setDate(0); // Select the last day of the month
29
+ }
30
+ }
31
+ if (minDate && newDate.valueOf() < minDate.valueOf()) {
32
+ return new CalendarDate(minDate);
33
+ }
34
+ if (maxDate && newDate.valueOf() > maxDate.valueOf()) {
35
+ return new CalendarDate(maxDate);
36
+ }
37
+ return newDate;
38
+ };
39
+ export default modifyDateBy;
40
+ //# sourceMappingURL=modifyDateBy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modifyDateBy.js","sourceRoot":"","sources":["../../src/dates/modifyDateBy.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,MAAc,EAAE,IAAY,EAAE,OAAsB,EAAE,OAAsB,EAAE,EAAE;IACzH,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;KACzC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE;QAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,yCAAyC;QACzH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,sCAAsC;QACrH,IAAI,cAAc,IAAI,YAAY,EAAE,EAAE,+DAA+D;YACpG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACnB;KACD;SAAM;QACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,kCAAkC;YAC/E,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;SACvD;KACD;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE;QACrD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;KACjC;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE;QACrD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;KACjC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ import CalendarDate from "./CalendarDate.js";
3
+ declare const transformDateToSecondaryType: (primaryCalendarType: CalendarType | undefined, secondaryCalendarType: CalendarType | undefined, timeStamp: number, hasYearPicker?: boolean) => {
4
+ firstDate: CalendarDate;
5
+ lastDate: CalendarDate;
6
+ };
7
+ export default transformDateToSecondaryType;
@@ -0,0 +1,17 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ import getDaysInMonth from "./getDaysInMonth.js";
3
+ const transformDateToSecondaryType = (primaryCalendarType, secondaryCalendarType, timeStamp, hasYearPicker) => {
4
+ let firstDate = CalendarDate.fromLocalJSDate(new Date(timeStamp * 1000), primaryCalendarType);
5
+ let lastDate = CalendarDate.fromLocalJSDate(new Date(timeStamp * 1000), primaryCalendarType);
6
+ firstDate.setDate(1);
7
+ if (hasYearPicker) {
8
+ firstDate.setMonth(0);
9
+ lastDate.setMonth(11);
10
+ }
11
+ lastDate.setDate(getDaysInMonth(lastDate));
12
+ firstDate = new CalendarDate(firstDate, secondaryCalendarType);
13
+ lastDate = new CalendarDate(lastDate, secondaryCalendarType);
14
+ return { firstDate, lastDate };
15
+ };
16
+ export default transformDateToSecondaryType;
17
+ //# sourceMappingURL=transformDateToSecondaryType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformDateToSecondaryType.js","sourceRoot":"","sources":["../../src/dates/transformDateToSecondaryType.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,4BAA4B,GAAG,CAAC,mBAA6C,EAAE,qBAA8C,EAAE,SAAiB,EAAE,aAAuB,EAAE,EAAE;IAClL,IAAI,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC9F,IAAI,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC7F,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAErB,IAAI,aAAa,EAAE;QAClB,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACtB;IAED,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,SAAS,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC/D,QAAQ,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
@@ -1 +1,2 @@
1
1
  import "../../sap/ui/core/date/Buddhist.js";
2
+ //# sourceMappingURL=Buddhist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Buddhist.js","sourceRoot":"","sources":["../../../src/features/calendar/Buddhist.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC"}
@@ -1 +1,2 @@
1
1
  import "../../sap/ui/core/date/Gregorian.js";
2
+ //# sourceMappingURL=Gregorian.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gregorian.js","sourceRoot":"","sources":["../../../src/features/calendar/Gregorian.ts"],"names":[],"mappings":"AAAA,OAAO,qCAAqC,CAAC"}
@@ -1 +1,2 @@
1
1
  import "../../sap/ui/core/date/Islamic.js";
2
+ //# sourceMappingURL=Islamic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Islamic.js","sourceRoot":"","sources":["../../../src/features/calendar/Islamic.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC"}
@@ -1 +1,2 @@
1
1
  import "../../sap/ui/core/date/Japanese.js";
2
+ //# sourceMappingURL=Japanese.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Japanese.js","sourceRoot":"","sources":["../../../src/features/calendar/Japanese.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC"}
@@ -1 +1,2 @@
1
1
  import "../../sap/ui/core/date/Persian.js";
2
+ //# sourceMappingURL=Persian.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Persian.js","sourceRoot":"","sources":["../../../src/features/calendar/Persian.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC"}