@ui5/webcomponents-localization 0.0.0-dff5837d7 → 0.0.0-e55c2cec6
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 -0
- package/CHANGELOG.md +260 -0
- package/README.md +36 -6
- package/dist/Assets-static.d.ts +1 -0
- package/dist/Assets-static.js +3 -0
- package/dist/Assets-static.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +1 -0
- package/dist/Assets.js.map +1 -0
- package/dist/DateFormat.d.ts +6 -0
- package/dist/DateFormat.js +6 -2
- package/dist/DateFormat.js.map +1 -0
- package/dist/LocaleData.d.ts +6 -0
- package/dist/LocaleData.js +6 -2
- package/dist/LocaleData.js.map +1 -0
- package/dist/dates/CalendarDate.d.ts +41 -0
- package/dist/dates/CalendarDate.js +170 -181
- package/dist/dates/CalendarDate.js.map +1 -0
- package/dist/dates/ExtremeDates.d.ts +5 -0
- package/dist/dates/ExtremeDates.js +29 -0
- package/dist/dates/ExtremeDates.js.map +1 -0
- package/dist/dates/UniversalDate.d.ts +46 -0
- package/dist/dates/UniversalDate.js +5 -0
- package/dist/dates/UniversalDate.js.map +1 -0
- package/dist/dates/calculateWeekNumber.d.ts +4 -0
- package/dist/dates/calculateWeekNumber.js +42 -48
- package/dist/dates/calculateWeekNumber.js.map +1 -0
- package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
- package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
- package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
- package/dist/dates/getDaysInMonth.d.ts +3 -0
- package/dist/dates/getDaysInMonth.js +10 -0
- package/dist/dates/getDaysInMonth.js.map +1 -0
- package/dist/dates/getRoundedTimestamp.d.ts +7 -0
- package/dist/dates/getRoundedTimestamp.js +14 -0
- package/dist/dates/getRoundedTimestamp.js.map +1 -0
- package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
- package/dist/dates/getTodayUTCTimestamp.js +8 -0
- package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
- package/dist/dates/modifyDateBy.d.ts +13 -0
- package/dist/dates/modifyDateBy.js +40 -0
- package/dist/dates/modifyDateBy.js.map +1 -0
- package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
- package/dist/dates/transformDateToSecondaryType.js +17 -0
- package/dist/dates/transformDateToSecondaryType.js.map +1 -0
- package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
- package/dist/features/calendar/Buddhist.js +1 -0
- package/dist/features/calendar/Buddhist.js.map +1 -0
- package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
- package/dist/features/calendar/Gregorian.js +1 -0
- package/dist/features/calendar/Gregorian.js.map +1 -0
- package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
- package/dist/features/calendar/Islamic.js +1 -0
- package/dist/features/calendar/Islamic.js.map +1 -0
- package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
- package/dist/features/calendar/Japanese.js +1 -0
- package/dist/features/calendar/Japanese.js.map +1 -0
- package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
- package/dist/features/calendar/Persian.js +1 -0
- package/dist/features/calendar/Persian.js.map +1 -0
- package/dist/generated/assets/cldr/ar.json +803 -3
- package/dist/generated/assets/cldr/ar_EG.json +803 -3
- package/dist/generated/assets/cldr/ar_SA.json +803 -3
- package/dist/generated/assets/cldr/bg.json +768 -3
- package/dist/generated/assets/cldr/ca.json +802 -3
- package/dist/generated/assets/cldr/cs.json +801 -3
- package/dist/generated/assets/cldr/cy.json +6614 -0
- package/dist/generated/assets/cldr/da.json +768 -3
- package/dist/generated/assets/cldr/de.json +802 -3
- package/dist/generated/assets/cldr/de_AT.json +802 -3
- package/dist/generated/assets/cldr/de_CH.json +802 -3
- package/dist/generated/assets/cldr/el.json +701 -3
- package/dist/generated/assets/cldr/el_CY.json +701 -3
- package/dist/generated/assets/cldr/en.json +767 -3
- package/dist/generated/assets/cldr/en_AU.json +768 -4
- package/dist/generated/assets/cldr/en_GB.json +767 -3
- package/dist/generated/assets/cldr/en_HK.json +767 -3
- package/dist/generated/assets/cldr/en_IE.json +767 -3
- package/dist/generated/assets/cldr/en_IN.json +767 -3
- package/dist/generated/assets/cldr/en_NZ.json +767 -3
- package/dist/generated/assets/cldr/en_PG.json +767 -3
- package/dist/generated/assets/cldr/en_SG.json +767 -3
- package/dist/generated/assets/cldr/en_ZA.json +767 -3
- package/dist/generated/assets/cldr/es.json +734 -3
- package/dist/generated/assets/cldr/es_AR.json +734 -3
- package/dist/generated/assets/cldr/es_BO.json +737 -6
- package/dist/generated/assets/cldr/es_CL.json +737 -6
- package/dist/generated/assets/cldr/es_CO.json +734 -3
- package/dist/generated/assets/cldr/es_MX.json +737 -6
- package/dist/generated/assets/cldr/es_PE.json +737 -6
- package/dist/generated/assets/cldr/es_UY.json +737 -6
- package/dist/generated/assets/cldr/es_VE.json +736 -5
- package/dist/generated/assets/cldr/et.json +767 -3
- package/dist/generated/assets/cldr/fa.json +769 -3
- package/dist/generated/assets/cldr/fi.json +801 -3
- package/dist/generated/assets/cldr/fr.json +767 -3
- package/dist/generated/assets/cldr/fr_BE.json +767 -3
- package/dist/generated/assets/cldr/fr_CA.json +767 -3
- package/dist/generated/assets/cldr/fr_CH.json +767 -3
- package/dist/generated/assets/cldr/fr_LU.json +767 -3
- package/dist/generated/assets/cldr/he.json +802 -3
- package/dist/generated/assets/cldr/hi.json +734 -3
- package/dist/generated/assets/cldr/hr.json +767 -3
- package/dist/generated/assets/cldr/hu.json +835 -3
- package/dist/generated/assets/cldr/id.json +767 -3
- package/dist/generated/assets/cldr/it.json +767 -3
- package/dist/generated/assets/cldr/it_CH.json +767 -3
- package/dist/generated/assets/cldr/ja.json +801 -3
- package/dist/generated/assets/cldr/kk.json +767 -3
- package/dist/generated/assets/cldr/ko.json +801 -3
- package/dist/generated/assets/cldr/lt.json +767 -3
- package/dist/generated/assets/cldr/lv.json +767 -3
- package/dist/generated/assets/cldr/ms.json +735 -3
- package/dist/generated/assets/cldr/nb.json +768 -3
- package/dist/generated/assets/cldr/nl.json +734 -3
- package/dist/generated/assets/cldr/nl_BE.json +734 -3
- package/dist/generated/assets/cldr/pl.json +801 -3
- package/dist/generated/assets/cldr/pt.json +767 -3
- package/dist/generated/assets/cldr/pt_PT.json +767 -3
- package/dist/generated/assets/cldr/ro.json +767 -3
- package/dist/generated/assets/cldr/ru.json +767 -3
- package/dist/generated/assets/cldr/ru_UA.json +767 -3
- package/dist/generated/assets/cldr/sk.json +801 -3
- package/dist/generated/assets/cldr/sl.json +801 -3
- package/dist/generated/assets/cldr/sr.json +767 -3
- package/dist/generated/assets/cldr/sr_Latn.json +5891 -0
- package/dist/generated/assets/cldr/sv.json +768 -3
- package/dist/generated/assets/cldr/th.json +835 -3
- package/dist/generated/assets/cldr/tr.json +835 -3
- package/dist/generated/assets/cldr/uk.json +767 -3
- package/dist/generated/assets/cldr/vi.json +767 -3
- package/dist/generated/assets/cldr/zh_CN.json +803 -4
- package/dist/generated/assets/cldr/zh_HK.json +803 -4
- package/dist/generated/assets/cldr/zh_SG.json +803 -4
- package/dist/generated/assets/cldr/zh_TW.json +802 -3
- package/dist/generated/json-imports/LocaleData-static.js +90 -0
- package/dist/generated/json-imports/LocaleData.js +88 -91
- package/dist/getCachedLocaleDataInstance.d.ts +4 -0
- package/dist/getCachedLocaleDataInstance.js +10 -0
- package/dist/getCachedLocaleDataInstance.js.map +1 -0
- package/dist/locale/getLocaleData.d.ts +11 -0
- package/dist/locale/getLocaleData.js +13 -17
- package/dist/locale/getLocaleData.js.map +1 -0
- package/dist/sap/base/Log.js +28 -37
- package/dist/sap/base/assert.js +5 -10
- package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
- package/dist/sap/base/util/LoaderExtensions.js +11 -4
- package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
- package/dist/sap/base/util/array/uniqueSort.js +7 -7
- package/dist/sap/base/util/deepEqual.js +1 -5
- package/dist/sap/ui/base/Interface.js +3 -5
- package/dist/sap/ui/base/Metadata.js +1 -3
- package/dist/sap/ui/base/Object.js +26 -2
- package/dist/sap/ui/core/Configuration.d.ts +17 -0
- package/dist/sap/ui/core/Configuration.js +20 -0
- package/dist/sap/ui/core/Configuration.js.map +1 -0
- package/dist/sap/ui/core/Core.d.ts +26 -0
- package/dist/sap/ui/core/Core.js +7 -32
- package/dist/sap/ui/core/Core.js.map +1 -0
- package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
- package/dist/sap/ui/core/FormatSettings.js +13 -0
- package/dist/sap/ui/core/FormatSettings.js.map +1 -0
- package/dist/sap/ui/core/Locale.js +70 -31
- package/dist/sap/ui/core/LocaleData.js +133 -1506
- package/dist/sap/ui/core/date/Buddhist.js +0 -6
- package/dist/sap/ui/core/date/CalendarUtils.js +36 -0
- package/dist/sap/ui/core/date/CalendarWeekNumbering.js +7 -0
- package/dist/sap/ui/core/date/Islamic.js +3 -3
- package/dist/sap/ui/core/date/Japanese.js +4 -4
- package/dist/sap/ui/core/date/UniversalDate.js +82 -23
- package/dist/sap/ui/core/format/DateFormat.js +530 -222
- package/dist/sap/ui/core/format/TimezoneUtil.js +94 -0
- package/package-scripts.js +14 -7
- package/package.json +13 -14
- package/src/Assets-static.ts +2 -0
- package/src/{Assets.js → Assets.ts} +0 -0
- package/src/DateFormat.ts +8 -0
- package/src/LocaleData.ts +8 -0
- package/src/dates/{CalendarDate.js → CalendarDate.ts} +64 -35
- package/src/dates/ExtremeDates.ts +40 -0
- package/src/dates/UniversalDate.ts +51 -0
- package/src/dates/{calculateWeekNumber.js → calculateWeekNumber.ts} +5 -3
- package/src/dates/convertMonthNumbersToMonthNames.ts +34 -0
- package/src/dates/getDaysInMonth.ts +11 -0
- package/src/dates/getRoundedTimestamp.ts +14 -0
- package/src/dates/getTodayUTCTimestamp.ts +10 -0
- package/src/dates/modifyDateBy.ts +42 -0
- package/src/dates/transformDateToSecondaryType.ts +21 -0
- package/src/features/calendar/Buddhist.ts +1 -0
- package/src/features/calendar/Gregorian.ts +1 -0
- package/src/features/calendar/Islamic.ts +1 -0
- package/src/features/calendar/Japanese.ts +1 -0
- package/src/features/calendar/Persian.ts +1 -0
- package/src/getCachedLocaleDataInstance.ts +15 -0
- package/src/locale/{getLocaleData.js → getLocaleData.ts} +9 -8
- package/src/sap/base/util/LoaderExtensions.ts +17 -0
- package/src/sap/ui/core/{Core.js → Configuration.ts} +5 -21
- package/src/sap/ui/core/Core.ts +15 -0
- package/src/sap/ui/core/FormatSettings.ts +15 -0
- package/tsconfig.json +13 -0
- package/used-modules.txt +4 -1
- package/src/DateFormat.js +0 -3
- package/src/LocaleData.js +0 -3
- package/src/sap/base/util/LoaderExtensions.js +0 -7
@@ -0,0 +1,21 @@
|
|
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;
|
@@ -0,0 +1 @@
|
|
1
|
+
import "../../sap/ui/core/date/Buddhist.js";
|
@@ -0,0 +1 @@
|
|
1
|
+
import "../../sap/ui/core/date/Gregorian.js";
|
@@ -0,0 +1 @@
|
|
1
|
+
import "../../sap/ui/core/date/Islamic.js";
|
@@ -0,0 +1 @@
|
|
1
|
+
import "../../sap/ui/core/date/Japanese.js";
|
@@ -0,0 +1 @@
|
|
1
|
+
import "../../sap/ui/core/date/Persian.js";
|
@@ -0,0 +1,15 @@
|
|
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,27 +1,28 @@
|
|
1
1
|
import { fetchCldr } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
2
2
|
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
3
|
-
import
|
3
|
+
import type LocaleT from "sap/ui/core/Locale";
|
4
|
+
import LocaleData from "../LocaleData.js";
|
4
5
|
|
5
|
-
const instances = new Map();
|
6
|
+
const instances = new Map<string, LocaleData>();
|
6
7
|
|
7
8
|
/**
|
8
9
|
* Fetches and returns а LocaleData object for the required locale
|
9
10
|
* For more information on this object's API, please see:
|
10
|
-
* https://
|
11
|
+
* https://sdk.openui5.org/api/sap.ui.core.LocaleData
|
11
12
|
*
|
12
|
-
* @param lang - if left empty, will use the configured/current locale
|
13
|
-
* @returns {LocaleData}
|
13
|
+
* @param { string } lang - if left empty, will use the configured/current locale
|
14
|
+
* @returns { Promise<LocaleData> }
|
14
15
|
*/
|
15
|
-
const getLocaleData = async lang => {
|
16
|
+
const getLocaleData = async (lang: string): Promise<LocaleData> => {
|
16
17
|
const locale = getLocale(lang);
|
17
18
|
const localeLang = locale.getLanguage();
|
18
19
|
|
19
20
|
if (!instances.has(localeLang)) {
|
20
21
|
await fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
|
21
|
-
instances.set(localeLang, LocaleData
|
22
|
+
instances.set(localeLang, new LocaleData(locale as unknown as LocaleT));
|
22
23
|
}
|
23
24
|
|
24
|
-
return instances.get(localeLang)
|
25
|
+
return instances.get(localeLang)!;
|
25
26
|
};
|
26
27
|
|
27
28
|
export default getLocaleData;
|
@@ -0,0 +1,17 @@
|
|
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,20 +1,12 @@
|
|
1
1
|
import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
|
2
2
|
import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
|
3
3
|
import getDesigntimePropertyAsArray from "@ui5/webcomponents-base/dist/util/getDesigntimePropertyAsArray.js";
|
4
|
-
|
4
|
+
// @ts-ignore
|
5
|
+
import TimezoneUtil from "./format/TimezoneUtil.js";
|
6
|
+
import FormatSettings from "./FormatSettings.js";
|
5
7
|
|
6
8
|
const emptyFn = () => {};
|
7
9
|
|
8
|
-
/**
|
9
|
-
* OpenUI5 FormatSettings shim
|
10
|
-
*/
|
11
|
-
const FormatSettings = {
|
12
|
-
getFormatLocale: getLocale,
|
13
|
-
getLegacyDateFormat: emptyFn,
|
14
|
-
getLegacyDateCalendarCustomizing: emptyFn,
|
15
|
-
getCustomLocaleData: emptyFn,
|
16
|
-
};
|
17
|
-
|
18
10
|
/**
|
19
11
|
* OpenUI5 Configuration Shim
|
20
12
|
*/
|
@@ -24,15 +16,7 @@ const Configuration = {
|
|
24
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$"),
|
25
17
|
getOriginInfo: emptyFn,
|
26
18
|
getFormatSettings: () => FormatSettings,
|
19
|
+
getTimezone: () => TimezoneUtil.getLocalTimezone() as string,
|
27
20
|
};
|
28
21
|
|
29
|
-
|
30
|
-
* OpenUI5 Core shim
|
31
|
-
*/
|
32
|
-
const Core = {
|
33
|
-
getConfiguration: () => Configuration,
|
34
|
-
getLibraryResourceBundle: emptyFn(),
|
35
|
-
getFormatSettings: () => FormatSettings,
|
36
|
-
};
|
37
|
-
|
38
|
-
export default Core;
|
22
|
+
export default Configuration;
|
@@ -0,0 +1,15 @@
|
|
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;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
2
|
+
|
3
|
+
const emptyFn = () => {};
|
4
|
+
|
5
|
+
/**
|
6
|
+
* OpenUI5 FormatSettings shim
|
7
|
+
*/
|
8
|
+
const FormatSettings = {
|
9
|
+
getFormatLocale: getLocale,
|
10
|
+
getLegacyDateFormat: emptyFn,
|
11
|
+
getLegacyDateCalendarCustomizing: emptyFn,
|
12
|
+
getCustomLocaleData: emptyFn,
|
13
|
+
};
|
14
|
+
|
15
|
+
export default FormatSettings;
|
package/tsconfig.json
ADDED
package/used-modules.txt
CHANGED
@@ -17,9 +17,12 @@ sap/ui/core/CalendarType.js
|
|
17
17
|
sap/ui/core/Locale.js
|
18
18
|
sap/ui/core/LocaleData.js
|
19
19
|
sap/ui/core/date/Buddhist.js
|
20
|
+
sap/ui/core/date/CalendarUtils.js
|
21
|
+
sap/ui/core/date/CalendarWeekNumbering.js
|
20
22
|
sap/ui/core/date/Gregorian.js
|
21
23
|
sap/ui/core/date/Islamic.js
|
22
24
|
sap/ui/core/date/Japanese.js
|
23
25
|
sap/ui/core/date/Persian.js
|
24
26
|
sap/ui/core/date/UniversalDate.js
|
25
|
-
sap/ui/core/format/
|
27
|
+
sap/ui/core/format/TimezoneUtil.js
|
28
|
+
sap/ui/core/format/DateFormat.js
|
package/src/DateFormat.js
DELETED
package/src/LocaleData.js
DELETED