@ui5/webcomponents-localization 0.0.0-974b11d82 → 0.0.0-97c4a1259
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -1
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +273 -0
- package/dist/Assets-static.js.map +1 -1
- package/dist/Assets.js.map +1 -1
- package/dist/DateFormat.js.map +1 -1
- package/dist/LocaleData.js.map +1 -1
- package/dist/dates/CalendarDate.d.ts +7 -5
- package/dist/dates/CalendarDate.js +8 -7
- package/dist/dates/CalendarDate.js.map +1 -1
- package/dist/dates/ExtremeDates.d.ts +2 -2
- package/dist/dates/ExtremeDates.js.map +1 -1
- package/dist/dates/UI5Date.d.ts +6 -0
- package/dist/dates/UI5Date.js +7 -0
- package/dist/dates/UI5Date.js.map +1 -0
- package/dist/dates/UniversalDate.d.ts +2 -1
- package/dist/dates/UniversalDate.js.map +1 -1
- package/dist/dates/calculateWeekNumber.d.ts +2 -1
- package/dist/dates/calculateWeekNumber.js.map +1 -1
- package/dist/dates/convertMonthNumbersToMonthNames.d.ts +1 -1
- package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -1
- package/dist/dates/getDaysInMonth.js.map +1 -1
- package/dist/dates/getRoundedTimestamp.js +1 -0
- package/dist/dates/getRoundedTimestamp.js.map +1 -1
- package/dist/dates/getTodayUTCTimestamp.d.ts +1 -1
- package/dist/dates/getTodayUTCTimestamp.js +2 -1
- package/dist/dates/getTodayUTCTimestamp.js.map +1 -1
- package/dist/dates/modifyDateBy.d.ts +2 -1
- package/dist/dates/modifyDateBy.js +34 -19
- package/dist/dates/modifyDateBy.js.map +1 -1
- package/dist/dates/transformDateToSecondaryType.d.ts +1 -1
- package/dist/dates/transformDateToSecondaryType.js +3 -2
- package/dist/dates/transformDateToSecondaryType.js.map +1 -1
- package/dist/features/calendar/Buddhist.js.map +1 -1
- package/dist/features/calendar/Gregorian.js.map +1 -1
- package/dist/features/calendar/Islamic.js.map +1 -1
- package/dist/features/calendar/Japanese.js.map +1 -1
- package/dist/features/calendar/Persian.js.map +1 -1
- package/dist/generated/assets/cldr/ar.json +5531 -6704
- package/dist/generated/assets/cldr/ar_EG.json +5531 -6704
- package/dist/generated/assets/cldr/ar_SA.json +5530 -6704
- package/dist/generated/assets/cldr/bg.json +4452 -5742
- package/dist/generated/assets/cldr/ca.json +4440 -5793
- package/dist/generated/assets/cldr/cs.json +4960 -6294
- package/dist/generated/assets/cldr/cy.json +5211 -6612
- package/dist/generated/assets/cldr/da.json +4308 -5651
- package/dist/generated/assets/cldr/de.json +4313 -5713
- package/dist/generated/assets/cldr/de_AT.json +4314 -5714
- package/dist/generated/assets/cldr/de_CH.json +4312 -5712
- package/dist/generated/assets/cldr/el.json +4281 -5579
- package/dist/generated/assets/cldr/el_CY.json +4281 -5579
- package/dist/generated/assets/cldr/en.json +4316 -5732
- package/dist/generated/assets/cldr/en_AU.json +4319 -5724
- package/dist/generated/assets/cldr/en_GB.json +4329 -5733
- package/dist/generated/assets/cldr/en_HK.json +4337 -5739
- package/dist/generated/assets/cldr/en_IE.json +4328 -5733
- package/dist/generated/assets/cldr/en_IN.json +4333 -5734
- package/dist/generated/assets/cldr/en_NZ.json +4328 -5733
- package/dist/generated/assets/cldr/en_PG.json +4329 -5734
- package/dist/generated/assets/cldr/en_SG.json +4333 -5735
- package/dist/generated/assets/cldr/en_ZA.json +4329 -5734
- package/dist/generated/assets/cldr/es.json +4331 -5641
- package/dist/generated/assets/cldr/es_AR.json +4334 -5643
- package/dist/generated/assets/cldr/es_BO.json +4333 -5642
- package/dist/generated/assets/cldr/es_CL.json +4334 -5643
- package/dist/generated/assets/cldr/es_CO.json +4333 -5642
- package/dist/generated/assets/cldr/es_MX.json +4335 -5644
- package/dist/generated/assets/cldr/es_PE.json +4333 -5642
- package/dist/generated/assets/cldr/es_UY.json +4335 -5644
- package/dist/generated/assets/cldr/es_VE.json +4334 -5643
- package/dist/generated/assets/cldr/et.json +4340 -5729
- package/dist/generated/assets/cldr/fa.json +4367 -5647
- package/dist/generated/assets/cldr/fi.json +4463 -5804
- package/dist/generated/assets/cldr/fr.json +4357 -5741
- package/dist/generated/assets/cldr/fr_BE.json +4357 -5741
- package/dist/generated/assets/cldr/fr_CA.json +4351 -5735
- package/dist/generated/assets/cldr/fr_CH.json +4375 -5759
- package/dist/generated/assets/cldr/fr_LU.json +4357 -5741
- package/dist/generated/assets/cldr/he.json +4869 -6175
- package/dist/generated/assets/cldr/hi.json +4295 -5558
- package/dist/generated/assets/cldr/hr.json +4583 -5681
- package/dist/generated/assets/cldr/hu.json +4364 -5686
- package/dist/generated/assets/cldr/id.json +4060 -5420
- package/dist/generated/assets/cldr/it.json +4299 -5712
- package/dist/generated/assets/cldr/it_CH.json +4299 -5712
- package/dist/generated/assets/cldr/ja.json +4211 -5626
- package/dist/generated/assets/cldr/kk.json +4339 -5487
- package/dist/generated/assets/cldr/ko.json +4189 -5534
- package/dist/generated/assets/cldr/lt.json +4850 -6243
- package/dist/generated/assets/cldr/lv.json +4587 -5874
- package/dist/generated/assets/cldr/ms.json +4021 -5245
- package/dist/generated/assets/cldr/nb.json +4335 -5740
- package/dist/generated/assets/cldr/nl.json +4294 -5613
- package/dist/generated/assets/cldr/nl_BE.json +4294 -5613
- package/dist/generated/assets/cldr/pl.json +4667 -5972
- package/dist/generated/assets/cldr/pt.json +4235 -5567
- package/dist/generated/assets/cldr/pt_PT.json +4372 -5702
- package/dist/generated/assets/cldr/ro.json +4563 -5852
- package/dist/generated/assets/cldr/ru.json +4909 -6169
- package/dist/generated/assets/cldr/ru_UA.json +4909 -6169
- package/dist/generated/assets/cldr/sk.json +4939 -6166
- package/dist/generated/assets/cldr/sl.json +4910 -6136
- package/dist/generated/assets/cldr/sr.json +4585 -5888
- package/dist/generated/assets/cldr/sr_Latn.json +4574 -5889
- package/dist/generated/assets/cldr/sv.json +4362 -5774
- package/dist/generated/assets/cldr/th.json +4214 -5627
- package/dist/generated/assets/cldr/tr.json +4400 -5809
- package/dist/generated/assets/cldr/uk.json +4858 -6115
- package/dist/generated/assets/cldr/vi.json +4070 -5435
- package/dist/generated/assets/cldr/zh_CN.json +4100 -5429
- package/dist/generated/assets/cldr/zh_HK.json +4108 -5437
- package/dist/generated/assets/cldr/zh_SG.json +4108 -5437
- package/dist/generated/assets/cldr/zh_TW.json +4131 -5525
- package/dist/getCachedLocaleDataInstance.js.map +1 -1
- package/dist/locale/getLocaleData.js.map +1 -1
- package/dist/sap/base/i18n/LanguageTag.js +35 -0
- package/dist/sap/base/i18n/Localization.d.ts +4 -0
- package/dist/sap/base/i18n/Localization.js +12 -0
- package/dist/sap/base/i18n/Localization.js.map +1 -0
- package/dist/sap/base/i18n/date/CalendarType.js +8 -0
- package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +30 -0
- package/dist/sap/base/i18n/date/TimezoneUtils.js +89 -0
- package/dist/sap/base/util/LoaderExtensions.js.map +1 -1
- package/dist/sap/ui/base/Metadata.js +20 -9
- package/dist/sap/ui/core/CalendarType.js +2 -8
- package/dist/sap/ui/core/Configuration.js +2 -1
- package/dist/sap/ui/core/Configuration.js.map +1 -1
- package/dist/sap/ui/core/Core.js.map +1 -1
- package/dist/sap/ui/core/FormatSettings.js.map +1 -1
- package/dist/sap/ui/core/Locale.js +28 -125
- package/dist/sap/ui/core/LocaleData.js +107 -35
- package/dist/sap/ui/core/date/CalendarUtils.js +7 -18
- package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -7
- package/dist/sap/ui/core/date/UI5Date.js +305 -0
- package/dist/sap/ui/core/date/UniversalDate.js +12 -22
- package/dist/sap/ui/core/format/DateFormat.js +385 -329
- package/dist/sap/ui/core/format/TimezoneUtil.js +2 -94
- package/{package-scripts.js → package-scripts.cjs} +2 -3
- package/package.json +7 -6
- package/tsconfig.json +1 -0
- package/used-modules.txt +5 -0
- package/src/Assets-static.ts +0 -2
- package/src/Assets.ts +0 -2
- package/src/DateFormat.ts +0 -8
- package/src/LocaleData.ts +0 -8
- package/src/dates/CalendarDate.ts +0 -232
- package/src/dates/ExtremeDates.ts +0 -40
- package/src/dates/UniversalDate.ts +0 -51
- package/src/dates/calculateWeekNumber.ts +0 -53
- package/src/dates/convertMonthNumbersToMonthNames.ts +0 -34
- package/src/dates/getDaysInMonth.ts +0 -11
- package/src/dates/getRoundedTimestamp.ts +0 -14
- package/src/dates/getTodayUTCTimestamp.ts +0 -10
- package/src/dates/modifyDateBy.ts +0 -42
- package/src/dates/transformDateToSecondaryType.ts +0 -21
- package/src/features/calendar/Buddhist.ts +0 -1
- package/src/features/calendar/Gregorian.ts +0 -1
- package/src/features/calendar/Islamic.ts +0 -1
- package/src/features/calendar/Japanese.ts +0 -1
- package/src/features/calendar/Persian.ts +0 -1
- package/src/getCachedLocaleDataInstance.ts +0 -15
- package/src/locale/getLocaleData.ts +0 -28
- package/src/sap/base/util/LoaderExtensions.ts +0 -17
- package/src/sap/ui/core/Configuration.ts +0 -22
- package/src/sap/ui/core/Core.ts +0 -15
- package/src/sap/ui/core/FormatSettings.ts +0 -16
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,42 +0,0 @@
|
|
1
|
-
import CalendarDate from "./CalendarDate.js";
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Adds or subtracts a given amount of days/months/years from a date.
|
5
|
-
* If minDate or maxDate are given, the result will be enforced within these limits
|
6
|
-
*
|
7
|
-
* @param date CalendarDate instance
|
8
|
-
* @param amount how many days/months/years to add (can be a negative number)
|
9
|
-
* @param unit what to modify: "day", "month" or "year"
|
10
|
-
* @param minDate minimum date to enforce
|
11
|
-
* @param maxDate maximum date to enforce
|
12
|
-
*/
|
13
|
-
const modifyDateBy = (date: CalendarDate, amount: number, unit: string, minDate?: CalendarDate, maxDate?: CalendarDate) => {
|
14
|
-
const newDate = new CalendarDate(date);
|
15
|
-
if (unit === "day") {
|
16
|
-
newDate.setDate(date.getDate() + amount);
|
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
|
-
} else {
|
25
|
-
newDate.setYear(date.getYear() + amount);
|
26
|
-
if (newDate.getMonth() !== date.getMonth()) { // f.e. 29th Feb to next/prev year
|
27
|
-
newDate.setDate(0); // Select the last day of the month
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
if (minDate && newDate.valueOf() < minDate.valueOf()) {
|
32
|
-
return new CalendarDate(minDate);
|
33
|
-
}
|
34
|
-
|
35
|
-
if (maxDate && newDate.valueOf() > maxDate.valueOf()) {
|
36
|
-
return new CalendarDate(maxDate);
|
37
|
-
}
|
38
|
-
|
39
|
-
return newDate;
|
40
|
-
};
|
41
|
-
|
42
|
-
export default modifyDateBy;
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
|
2
|
-
import CalendarDate from "./CalendarDate.js";
|
3
|
-
import getDaysInMonth from "./getDaysInMonth.js";
|
4
|
-
|
5
|
-
const transformDateToSecondaryType = (primaryCalendarType: CalendarType | undefined, secondaryCalendarType: CalendarType| undefined, timeStamp: number, hasYearPicker?: boolean) => {
|
6
|
-
let firstDate = CalendarDate.fromLocalJSDate(new Date(timeStamp * 1000), primaryCalendarType);
|
7
|
-
let lastDate = CalendarDate.fromLocalJSDate(new Date(timeStamp * 1000), primaryCalendarType);
|
8
|
-
firstDate.setDate(1);
|
9
|
-
|
10
|
-
if (hasYearPicker) {
|
11
|
-
firstDate.setMonth(0);
|
12
|
-
lastDate.setMonth(11);
|
13
|
-
}
|
14
|
-
|
15
|
-
lastDate.setDate(getDaysInMonth(lastDate));
|
16
|
-
firstDate = new CalendarDate(firstDate, secondaryCalendarType);
|
17
|
-
lastDate = new CalendarDate(lastDate, secondaryCalendarType);
|
18
|
-
return { firstDate, lastDate };
|
19
|
-
};
|
20
|
-
|
21
|
-
export default transformDateToSecondaryType;
|
@@ -1 +0,0 @@
|
|
1
|
-
import "../../sap/ui/core/date/Buddhist.js";
|
@@ -1 +0,0 @@
|
|
1
|
-
import "../../sap/ui/core/date/Gregorian.js";
|
@@ -1 +0,0 @@
|
|
1
|
-
import "../../sap/ui/core/date/Islamic.js";
|
@@ -1 +0,0 @@
|
|
1
|
-
import "../../sap/ui/core/date/Japanese.js";
|
@@ -1 +0,0 @@
|
|
1
|
-
import "../../sap/ui/core/date/Persian.js";
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import type Locale from "@ui5/webcomponents-base/dist/locale/Locale.js";
|
2
|
-
import type LocaleT from "sap/ui/core/Locale";
|
3
|
-
import LocaleData from "./LocaleData.js";
|
4
|
-
|
5
|
-
const cache = new Map<Locale, LocaleData>();
|
6
|
-
|
7
|
-
const getCachedLocaleDataInstance = (locale: Locale) => {
|
8
|
-
if (!cache.has(locale)) {
|
9
|
-
cache.set(locale, new LocaleData(locale as unknown as LocaleT));
|
10
|
-
}
|
11
|
-
|
12
|
-
return cache.get(locale)!;
|
13
|
-
};
|
14
|
-
|
15
|
-
export default getCachedLocaleDataInstance;
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import { fetchCldr } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
2
|
-
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
3
|
-
import type LocaleT from "sap/ui/core/Locale";
|
4
|
-
import LocaleData from "../LocaleData.js";
|
5
|
-
|
6
|
-
const instances = new Map<string, LocaleData>();
|
7
|
-
|
8
|
-
/**
|
9
|
-
* Fetches and returns а LocaleData object for the required locale
|
10
|
-
* For more information on this object's API, please see:
|
11
|
-
* https://sdk.openui5.org/api/sap.ui.core.LocaleData
|
12
|
-
*
|
13
|
-
* @param { string } lang - if left empty, will use the configured/current locale
|
14
|
-
* @returns { Promise<LocaleData> }
|
15
|
-
*/
|
16
|
-
const getLocaleData = async (lang: string): Promise<LocaleData> => {
|
17
|
-
const locale = getLocale(lang);
|
18
|
-
const localeLang = locale.getLanguage();
|
19
|
-
|
20
|
-
if (!instances.has(localeLang)) {
|
21
|
-
await fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
|
22
|
-
instances.set(localeLang, new LocaleData(locale as unknown as LocaleT));
|
23
|
-
}
|
24
|
-
|
25
|
-
return instances.get(localeLang)!;
|
26
|
-
};
|
27
|
-
|
28
|
-
export default getLocaleData;
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { getLocaleData } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
2
|
-
|
3
|
-
const loadResource = (moduleName: string) => {
|
4
|
-
const moduleFormat = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
|
5
|
-
if (!moduleFormat) {
|
6
|
-
throw new Error(`Unknown module "${moduleName}"`);
|
7
|
-
}
|
8
|
-
|
9
|
-
const localeId = moduleFormat[1];
|
10
|
-
return getLocaleData(localeId);
|
11
|
-
};
|
12
|
-
|
13
|
-
const LoaderExtensions = {
|
14
|
-
loadResource,
|
15
|
-
};
|
16
|
-
|
17
|
-
export default LoaderExtensions;
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
|
2
|
-
import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
|
3
|
-
import getDesigntimePropertyAsArray from "@ui5/webcomponents-base/dist/util/getDesigntimePropertyAsArray.js";
|
4
|
-
// @ts-ignore
|
5
|
-
import TimezoneUtil from "./format/TimezoneUtil.js";
|
6
|
-
import FormatSettings from "./FormatSettings.js";
|
7
|
-
|
8
|
-
const emptyFn = () => {};
|
9
|
-
|
10
|
-
/**
|
11
|
-
* OpenUI5 Configuration Shim
|
12
|
-
*/
|
13
|
-
const Configuration = {
|
14
|
-
getLanguage,
|
15
|
-
getCalendarType,
|
16
|
-
getSupportedLanguages: () => getDesigntimePropertyAsArray("$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi,hr,hu,it,iw,ja,ko,lt,lv,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$"),
|
17
|
-
getOriginInfo: emptyFn,
|
18
|
-
getFormatSettings: () => FormatSettings,
|
19
|
-
getTimezone: () => TimezoneUtil.getLocalTimezone() as string,
|
20
|
-
};
|
21
|
-
|
22
|
-
export default Configuration;
|
package/src/sap/ui/core/Core.ts
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
import FormatSettings from "./FormatSettings.js";
|
2
|
-
import Configuration from "./Configuration.js";
|
3
|
-
|
4
|
-
const emptyFn = () => {};
|
5
|
-
|
6
|
-
/**
|
7
|
-
* OpenUI5 Core shim
|
8
|
-
*/
|
9
|
-
const Core = {
|
10
|
-
getConfiguration: () => Configuration,
|
11
|
-
getLibraryResourceBundle: emptyFn(),
|
12
|
-
getFormatSettings: () => FormatSettings,
|
13
|
-
};
|
14
|
-
|
15
|
-
export default Core;
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
2
|
-
import { getLegacyDateCalendarCustomizing } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
|
3
|
-
|
4
|
-
const emptyFn = () => {};
|
5
|
-
|
6
|
-
/**
|
7
|
-
* OpenUI5 FormatSettings shim
|
8
|
-
*/
|
9
|
-
const FormatSettings = {
|
10
|
-
getFormatLocale: getLocale,
|
11
|
-
getLegacyDateFormat: emptyFn,
|
12
|
-
getCustomLocaleData: emptyFn,
|
13
|
-
getLegacyDateCalendarCustomizing,
|
14
|
-
};
|
15
|
-
|
16
|
-
export default FormatSettings;
|
File without changes
|