@ui5/webcomponents-localization 0.0.0-f9b9eadb8 → 0.0.0-fc993d8cd

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 (187) hide show
  1. package/.eslintignore +1 -0
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +378 -0
  4. package/README.md +36 -6
  5. package/dist/Assets-static.d.ts +1 -0
  6. package/dist/Assets-static.js +3 -0
  7. package/dist/Assets-static.js.map +1 -0
  8. package/dist/Assets.d.ts +1 -0
  9. package/dist/Assets.js +1 -0
  10. package/dist/Assets.js.map +1 -0
  11. package/dist/DateFormat.d.ts +6 -0
  12. package/dist/DateFormat.js +6 -2
  13. package/dist/DateFormat.js.map +1 -0
  14. package/dist/LocaleData.d.ts +6 -0
  15. package/dist/LocaleData.js +6 -2
  16. package/dist/LocaleData.js.map +1 -0
  17. package/dist/dates/CalendarDate.d.ts +41 -0
  18. package/dist/dates/CalendarDate.js +170 -201
  19. package/dist/dates/CalendarDate.js.map +1 -0
  20. package/dist/dates/ExtremeDates.d.ts +5 -0
  21. package/dist/dates/ExtremeDates.js +29 -0
  22. package/dist/dates/ExtremeDates.js.map +1 -0
  23. package/dist/dates/UniversalDate.d.ts +46 -0
  24. package/dist/dates/UniversalDate.js +5 -0
  25. package/dist/dates/UniversalDate.js.map +1 -0
  26. package/dist/dates/calculateWeekNumber.d.ts +4 -0
  27. package/dist/dates/calculateWeekNumber.js +42 -48
  28. package/dist/dates/calculateWeekNumber.js.map +1 -0
  29. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  30. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  31. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  32. package/dist/dates/getDaysInMonth.d.ts +3 -0
  33. package/dist/dates/getDaysInMonth.js +10 -0
  34. package/dist/dates/getDaysInMonth.js.map +1 -0
  35. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  36. package/dist/dates/getRoundedTimestamp.js +14 -0
  37. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  38. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  39. package/dist/dates/getTodayUTCTimestamp.js +8 -0
  40. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  41. package/dist/dates/modifyDateBy.d.ts +13 -0
  42. package/dist/dates/modifyDateBy.js +40 -0
  43. package/dist/dates/modifyDateBy.js.map +1 -0
  44. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  45. package/dist/dates/transformDateToSecondaryType.js +17 -0
  46. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  47. package/dist/features/calendar/Buddhist.js +1 -0
  48. package/dist/features/calendar/Buddhist.js.map +1 -0
  49. package/dist/features/calendar/Gregorian.js +1 -0
  50. package/dist/features/calendar/Gregorian.js.map +1 -0
  51. package/dist/features/calendar/Islamic.js +1 -0
  52. package/dist/features/calendar/Islamic.js.map +1 -0
  53. package/dist/features/calendar/Japanese.js +1 -0
  54. package/dist/features/calendar/Japanese.js.map +1 -0
  55. package/dist/features/calendar/Persian.js +1 -0
  56. package/dist/features/calendar/Persian.js.map +1 -0
  57. package/dist/generated/assets/cldr/ar.json +2804 -5904
  58. package/dist/generated/assets/cldr/ar_EG.json +2804 -5904
  59. package/dist/generated/assets/cldr/ar_SA.json +2804 -5904
  60. package/dist/generated/assets/cldr/bg.json +2727 -4977
  61. package/dist/generated/assets/cldr/ca.json +2670 -4994
  62. package/dist/generated/assets/cldr/cs.json +2710 -5496
  63. package/dist/generated/assets/cldr/cy.json +2793 -0
  64. package/dist/generated/assets/cldr/da.json +2591 -4886
  65. package/dist/generated/assets/cldr/de.json +2608 -4914
  66. package/dist/generated/assets/cldr/de_AT.json +2608 -4915
  67. package/dist/generated/assets/cldr/de_CH.json +2608 -4913
  68. package/dist/generated/assets/cldr/el.json +2589 -4881
  69. package/dist/generated/assets/cldr/el_CY.json +2589 -4881
  70. package/dist/generated/assets/cldr/en.json +2577 -4968
  71. package/dist/generated/assets/cldr/en_AU.json +2586 -4960
  72. package/dist/generated/assets/cldr/en_GB.json +2578 -4969
  73. package/dist/generated/assets/cldr/en_HK.json +2584 -4975
  74. package/dist/generated/assets/cldr/en_IE.json +2578 -4969
  75. package/dist/generated/assets/cldr/en_IN.json +2579 -4970
  76. package/dist/generated/assets/cldr/en_NZ.json +2578 -4969
  77. package/dist/generated/assets/cldr/en_PG.json +2578 -4970
  78. package/dist/generated/assets/cldr/en_SG.json +2579 -4971
  79. package/dist/generated/assets/cldr/en_ZA.json +2578 -4970
  80. package/dist/generated/assets/cldr/es.json +2633 -4910
  81. package/dist/generated/assets/cldr/es_AR.json +2638 -4912
  82. package/dist/generated/assets/cldr/es_BO.json +2638 -4911
  83. package/dist/generated/assets/cldr/es_CL.json +2638 -4912
  84. package/dist/generated/assets/cldr/es_CO.json +2637 -4911
  85. package/dist/generated/assets/cldr/es_MX.json +2638 -4913
  86. package/dist/generated/assets/cldr/es_PE.json +2638 -4911
  87. package/dist/generated/assets/cldr/es_UY.json +2638 -4913
  88. package/dist/generated/assets/cldr/es_VE.json +2638 -4912
  89. package/dist/generated/assets/cldr/et.json +2593 -4965
  90. package/dist/generated/assets/cldr/fa.json +2606 -4881
  91. package/dist/generated/assets/cldr/fi.json +2635 -5006
  92. package/dist/generated/assets/cldr/fr.json +2583 -4977
  93. package/dist/generated/assets/cldr/fr_BE.json +2583 -4977
  94. package/dist/generated/assets/cldr/fr_CA.json +2598 -4971
  95. package/dist/generated/assets/cldr/fr_CH.json +2600 -4995
  96. package/dist/generated/assets/cldr/fr_LU.json +2583 -4977
  97. package/dist/generated/assets/cldr/he.json +2699 -5376
  98. package/dist/generated/assets/cldr/hi.json +2593 -4827
  99. package/dist/generated/assets/cldr/hr.json +2646 -4917
  100. package/dist/generated/assets/cldr/hu.json +2592 -4854
  101. package/dist/generated/assets/cldr/id.json +2538 -4656
  102. package/dist/generated/assets/cldr/it.json +2583 -4948
  103. package/dist/generated/assets/cldr/it_CH.json +2583 -4948
  104. package/dist/generated/assets/cldr/ja.json +2655 -4828
  105. package/dist/generated/assets/cldr/kk.json +2583 -4723
  106. package/dist/generated/assets/cldr/ko.json +2632 -4736
  107. package/dist/generated/assets/cldr/lt.json +2714 -5479
  108. package/dist/generated/assets/cldr/lv.json +2638 -5110
  109. package/dist/generated/assets/cldr/ms.json +2532 -4513
  110. package/dist/generated/assets/cldr/nb.json +2615 -4975
  111. package/dist/generated/assets/cldr/nl.json +2595 -4882
  112. package/dist/generated/assets/cldr/nl_BE.json +2595 -4882
  113. package/dist/generated/assets/cldr/pl.json +2717 -5174
  114. package/dist/generated/assets/cldr/pt.json +2600 -4803
  115. package/dist/generated/assets/cldr/pt_PT.json +2651 -4938
  116. package/dist/generated/assets/cldr/ro.json +2639 -5088
  117. package/dist/generated/assets/cldr/ru.json +2698 -5405
  118. package/dist/generated/assets/cldr/ru_UA.json +2698 -5405
  119. package/dist/generated/assets/cldr/sk.json +2720 -5368
  120. package/dist/generated/assets/cldr/sl.json +2682 -5338
  121. package/dist/generated/assets/cldr/sr.json +2657 -5124
  122. package/dist/generated/assets/cldr/sr_Latn.json +2660 -0
  123. package/dist/generated/assets/cldr/sv.json +2625 -5009
  124. package/dist/generated/assets/cldr/th.json +2626 -4795
  125. package/dist/generated/assets/cldr/tr.json +2606 -4977
  126. package/dist/generated/assets/cldr/uk.json +2678 -5351
  127. package/dist/generated/assets/cldr/vi.json +2549 -4671
  128. package/dist/generated/assets/cldr/zh_CN.json +2541 -4630
  129. package/dist/generated/assets/cldr/zh_HK.json +2549 -4638
  130. package/dist/generated/assets/cldr/zh_SG.json +2548 -4638
  131. package/dist/generated/assets/cldr/zh_TW.json +2556 -4726
  132. package/dist/generated/json-imports/LocaleData-static.js +90 -0
  133. package/dist/generated/json-imports/LocaleData.js +88 -91
  134. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  135. package/dist/getCachedLocaleDataInstance.js +10 -0
  136. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  137. package/dist/locale/getLocaleData.d.ts +11 -0
  138. package/dist/locale/getLocaleData.js +13 -17
  139. package/dist/locale/getLocaleData.js.map +1 -0
  140. package/dist/sap/base/Log.js +28 -37
  141. package/dist/sap/base/assert.js +5 -10
  142. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  143. package/dist/sap/base/util/LoaderExtensions.js +11 -4
  144. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  145. package/dist/sap/base/util/array/uniqueSort.js +7 -7
  146. package/dist/sap/base/util/deepEqual.js +1 -5
  147. package/dist/sap/ui/base/Interface.js +3 -5
  148. package/dist/sap/ui/base/Metadata.js +1 -3
  149. package/dist/sap/ui/base/Object.js +26 -2
  150. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  151. package/dist/sap/ui/core/Configuration.js +20 -0
  152. package/dist/sap/ui/core/Configuration.js.map +1 -0
  153. package/dist/sap/ui/core/Core.d.ts +26 -0
  154. package/dist/sap/ui/core/Core.js +7 -32
  155. package/dist/sap/ui/core/Core.js.map +1 -0
  156. package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
  157. package/dist/sap/ui/core/FormatSettings.js +14 -0
  158. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  159. package/dist/sap/ui/core/Locale.js +70 -31
  160. package/dist/sap/ui/core/LocaleData.js +133 -1506
  161. package/dist/sap/ui/core/date/Buddhist.js +0 -6
  162. package/dist/sap/ui/core/date/CalendarUtils.js +36 -0
  163. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +7 -0
  164. package/dist/sap/ui/core/date/Islamic.js +3 -3
  165. package/dist/sap/ui/core/date/Japanese.js +4 -4
  166. package/dist/sap/ui/core/date/UniversalDate.js +82 -23
  167. package/dist/sap/ui/core/format/DateFormat.js +530 -222
  168. package/dist/sap/ui/core/format/TimezoneUtil.js +94 -0
  169. package/package-scripts.cjs +37 -0
  170. package/package.json +14 -14
  171. package/tsconfig.json +14 -0
  172. package/used-modules.txt +4 -1
  173. package/package-scripts.js +0 -31
  174. package/src/Assets.js +0 -2
  175. package/src/DateFormat.js +0 -3
  176. package/src/LocaleData.js +0 -3
  177. package/src/dates/CalendarDate.js +0 -223
  178. package/src/dates/calculateWeekNumber.js +0 -51
  179. package/src/locale/getLocaleData.js +0 -27
  180. package/src/sap/base/util/LoaderExtensions.js +0 -7
  181. package/src/sap/ui/core/Core.js +0 -38
  182. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  183. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  184. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  185. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  186. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  187. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,94 @@
1
+ var TimezoneUtil = {};
2
+ var sLocalTimezone = "";
3
+ var aSupportedTimezoneIDs;
4
+ var oIntlDateTimeFormatCache = {
5
+ _oCache: new Map(),
6
+ _iCacheLimit: 10,
7
+ get: function (sTimezone) {
8
+ var cacheEntry = this._oCache.get(sTimezone);
9
+ if (cacheEntry) {
10
+ return cacheEntry;
11
+ }
12
+ var oOptions = {
13
+ hourCycle: "h23",
14
+ hour: "2-digit",
15
+ minute: "2-digit",
16
+ second: "2-digit",
17
+ fractionalSecondDigits: 3,
18
+ day: "2-digit",
19
+ month: "2-digit",
20
+ year: "numeric",
21
+ timeZone: sTimezone,
22
+ timeZoneName: "short",
23
+ era: "narrow"
24
+ };
25
+ var oInstance = new Intl.DateTimeFormat("en-US", oOptions);
26
+ if (this._oCache.size === this._iCacheLimit) {
27
+ this._oCache = new Map();
28
+ }
29
+ this._oCache.set(sTimezone, oInstance);
30
+ return oInstance;
31
+ }
32
+ };
33
+ TimezoneUtil.isValidTimezone = function (sTimezone) {
34
+ if (!sTimezone) {
35
+ return false;
36
+ }
37
+ if (Intl.supportedValuesOf) {
38
+ try {
39
+ aSupportedTimezoneIDs = aSupportedTimezoneIDs || Intl.supportedValuesOf("timeZone");
40
+ if (aSupportedTimezoneIDs.includes(sTimezone)) {
41
+ return true;
42
+ }
43
+ } catch (oError) {
44
+ aSupportedTimezoneIDs = [];
45
+ }
46
+ }
47
+ try {
48
+ oIntlDateTimeFormatCache.get(sTimezone);
49
+ return true;
50
+ } catch (oError) {
51
+ return false;
52
+ }
53
+ };
54
+ TimezoneUtil.convertToTimezone = function (oDate, sTargetTimezone) {
55
+ var oFormatParts = this._getParts(oDate, sTargetTimezone);
56
+ return TimezoneUtil._getDateFromParts(oFormatParts);
57
+ };
58
+ TimezoneUtil._getParts = function (oDate, sTargetTimezone) {
59
+ var oIntlDate = oIntlDateTimeFormatCache.get(sTargetTimezone);
60
+ var oParts = oIntlDate.formatToParts(new Date(oDate.getTime()));
61
+ var oDateParts = Object.create(null);
62
+ for (var sKey in oParts) {
63
+ var oPart = oParts[sKey];
64
+ if (oPart.type !== "literal") {
65
+ oDateParts[oPart.type] = oPart.value;
66
+ }
67
+ }
68
+ return oDateParts;
69
+ };
70
+ TimezoneUtil._getDateFromParts = function (oParts) {
71
+ var oDate = new Date(0);
72
+ var iUTCYear = parseInt(oParts.year);
73
+ if (oParts.era === "B") {
74
+ iUTCYear = iUTCYear * -1 + 1;
75
+ }
76
+ oDate.setUTCFullYear(iUTCYear, parseInt(oParts.month) - 1, parseInt(oParts.day));
77
+ oDate.setUTCHours(parseInt(oParts.hour), parseInt(oParts.minute), parseInt(oParts.second), parseInt(oParts.fractionalSecond || 0));
78
+ return oDate;
79
+ };
80
+ TimezoneUtil.calculateOffset = function (oDate, sTimezoneSource) {
81
+ var oFirstGuess = this.convertToTimezone(oDate, sTimezoneSource);
82
+ var iInitialOffset = oDate.getTime() - oFirstGuess.getTime();
83
+ var oDateSource = new Date(oDate.getTime() + iInitialOffset);
84
+ var oDateTarget = this.convertToTimezone(oDateSource, sTimezoneSource);
85
+ return (oDateSource.getTime() - oDateTarget.getTime()) / 1000;
86
+ };
87
+ TimezoneUtil.getLocalTimezone = function () {
88
+ if (sLocalTimezone) {
89
+ return sLocalTimezone;
90
+ }
91
+ sLocalTimezone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
92
+ return sLocalTimezone;
93
+ };
94
+ export default TimezoneUtil;
@@ -0,0 +1,37 @@
1
+ const resolve = require("resolve");
2
+ const copyUsedModules = resolve.sync("@ui5/webcomponents-tools/lib/copy-list/index.js");
3
+ const replaceGlobalCore = resolve.sync("@ui5/webcomponents-tools/lib/replace-global-core/index.js");
4
+ const esmAbsToRel = resolve.sync("@ui5/webcomponents-tools/lib/esm-abs-to-rel/index.js");
5
+
6
+ const scripts = {
7
+ clean: "rimraf dist",
8
+ lint: "eslint .",
9
+ build: {
10
+ "default": "nps lint clean copy.used-modules copy.cldr copy.overlay build.replace-amd build.replace-export-true build.replace-export-false build.amd-to-es6 build.replace-global-core-usage build.esm-abs-to-rel build.jsonImports build.typescript copy.src",
11
+ "replace-amd": "replace-in-file sap.ui.define define dist/**/*.js",
12
+ "replace-export-true": `replace-in-file ", /* bExport= */ true" "" dist/**/*.js`,
13
+ "replace-export-false": `replace-in-file ", /* bExport= */ false" "" dist/**/*.js`,
14
+ "amd-to-es6": "amdtoes6 --src=dist --replace --glob=**/*.js",
15
+ "replace-global-core-usage": `node "${replaceGlobalCore}" dist/`,
16
+ "esm-abs-to-rel": `node "${esmAbsToRel}" dist/`,
17
+ typescript: "tsc",
18
+ jsonImports: "node ./lib/generate-json-imports/cldr.js"
19
+ },
20
+ typescript: "tsc",
21
+ copy: {
22
+ "used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
23
+ cldr: `node ./lib/copy-and-strip-cldr/index.js "../../node_modules/@openui5/sap.ui.core/src/sap/ui/core/cldr/" dist/generated/assets/cldr/`,
24
+ overlay: `copy-and-watch "overlay/**/*.js" dist/`,
25
+ src: `copy-and-watch "src/**/*.js" dist/`,
26
+ },
27
+ watch: {
28
+ default: 'concurrently "nps watch.src" "nps watch.typescript" ',
29
+ typescript: "tsc --watch",
30
+ src: `nps "copy.src --watch --skip-initial-copy"`,
31
+ },
32
+ start: "nps watch",
33
+ };
34
+
35
+ module.exports = {
36
+ scripts,
37
+ };
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents-localization",
3
- "version": "0.0.0-f9b9eadb8",
3
+ "version": "0.0.0-fc993d8cd",
4
4
  "description": "Localization for UI5 Web Components",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
7
+ "type": "module",
7
8
  "keywords": [
8
9
  "openui5",
9
10
  "sapui5",
@@ -14,6 +15,11 @@
14
15
  "url": "https://github.com/SAP/ui5-webcomponents.git",
15
16
  "directory": "packages/localization"
16
17
  },
18
+ "exports": {
19
+ "./dist/*": "./dist/*",
20
+ "./package.json": "./package.json",
21
+ "./*": "./dist/*"
22
+ },
17
23
  "scripts": {
18
24
  "clean": "nps clean",
19
25
  "lint": "nps lint",
@@ -22,20 +28,14 @@
22
28
  "prepublishOnly": "npm run clean && npm run build"
23
29
  },
24
30
  "devDependencies": {
25
- "@buxlabs/amd-to-es6": "^0.15.0",
26
- "@openui5/sap.ui.core": "1.76.0",
27
- "@ui5/webcomponents-tools": "0.0.0-f9b9eadb8",
28
- "chromedriver": "latest",
29
- "copy-and-watch": "^0.1.4",
30
- "escodegen": "^1.11.0",
31
- "esprima": "^4.0.1",
32
- "glob": "^7.1.3",
33
- "mkdirp": "^0.5.1",
34
- "path-exists-cli": "^1.0.0",
35
- "replace-in-file": "^3.4.2",
36
- "rimraf": "^2.6.2"
31
+ "@openui5/sap.ui.core": "1.109.0",
32
+ "@ui5/webcomponents-tools": "0.0.0-fc993d8cd",
33
+ "chromedriver": "110.0.0",
34
+ "mkdirp": "^1.0.4",
35
+ "resolve": "^1.20.0"
37
36
  },
38
37
  "dependencies": {
39
- "@ui5/webcomponents-base": "0.0.0-f9b9eadb8"
38
+ "@types/openui5": "^1.109.0",
39
+ "@ui5/webcomponents-base": "0.0.0-fc993d8cd"
40
40
  }
41
41
  }
package/tsconfig.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "include": ["src/**/*"],
3
+ "compilerOptions": {
4
+ "target": "ES2021",
5
+ // Generate d.ts files
6
+ "declaration": true,
7
+ "outDir": "dist",
8
+ "skipLibCheck": true,
9
+ "sourceMap": true,
10
+ "inlineSources": true,
11
+ "strict": true,
12
+ "moduleResolution": "node",
13
+ },
14
+ }
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/DateFormat.js
27
+ sap/ui/core/format/TimezoneUtil.js
28
+ sap/ui/core/format/DateFormat.js
@@ -1,31 +0,0 @@
1
- const scripts = {
2
- clean: "rimraf dist",
3
- lint: "eslint . --config config/.eslintrc.js",
4
- build: {
5
- "default": "path-exists dist/ || nps build.all",
6
- all: "nps lint clean copy.used-modules copy.cldr copy.overlay build.replace-amd build.replace-export-true build.replace-export-false build.amd-to-es6 build.replace-global-core-usage build.esm-abs-to-rel build.jsonImports copy.src",
7
- "replace-amd": "replace-in-file sap.ui.define define dist/**/*.js",
8
- "replace-export-true": `replace-in-file ", /* bExport= */ true" "" dist/**/*.js`,
9
- "replace-export-false": `replace-in-file ", /* bExport= */ false" "" dist/**/*.js`,
10
- "amd-to-es6": "amdtoes6 --src=dist --replace --glob=**/*.js",
11
- "replace-global-core-usage": "node ./lib/replace-global-core/index.js dist/",
12
- "esm-abs-to-rel": "node ./lib/esm-abs-to-rel/index.js dist/",
13
- jsonImports: "node ./lib/generate-json-imports/cldr.js",
14
- },
15
- copy: {
16
- "used-modules": "node ./lib/copy-list/index.js ./used-modules.txt dist/",
17
- cldr: `copy-and-watch "../../node_modules/@openui5/sap.ui.core/src/sap/ui/core/cldr/*.json" dist/generated/assets/cldr/`,
18
- overlay: `copy-and-watch "overlay/**/*.js" dist/`,
19
- src: `copy-and-watch "src/**/*.js" dist/`,
20
- },
21
- watch: {
22
- default: 'nps watch.src',
23
- src: `nps "copy.src --watch --skip-initial-copy"`,
24
- },
25
- start: "nps watch",
26
- };
27
-
28
-
29
- module.exports = {
30
- scripts,
31
- };
package/src/Assets.js DELETED
@@ -1,2 +0,0 @@
1
- // Currently the base package provides CLDR assets only
2
- import "./generated/json-imports/LocaleData.js";
package/src/DateFormat.js DELETED
@@ -1,3 +0,0 @@
1
- import DateFormat from "./sap/ui/core/format/DateFormat.js";
2
-
3
- export default DateFormat;
package/src/LocaleData.js DELETED
@@ -1,3 +0,0 @@
1
- import LocaleData from "./sap/ui/core/LocaleData.js";
2
-
3
- export default LocaleData;
@@ -1,223 +0,0 @@
1
- import UniversalDate from "../sap/ui/core/date/UniversalDate.js";
2
-
3
- class CalendarDate {
4
- constructor() {
5
- let aArgs = arguments, // eslint-disable-line
6
- oJSDate,
7
- oNow,
8
- sCalendarType;
9
-
10
- switch (aArgs.length) {
11
- case 0: // defaults to the current date
12
- oNow = new Date();
13
- return this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
14
-
15
- case 1: // CalendarDate
16
- case 2: // CalendarDate, sCalendarType
17
- if (!(aArgs[0] instanceof CalendarDate)) {
18
- throw new Error("Invalid arguments: the first argument must be of type sap.ui.unified.calendar.CalendarDate.");
19
- }
20
- sCalendarType = aArgs[1] ? aArgs[1] : aArgs[0]._oUDate.sCalendarType;
21
- // Use source.valueOf() (returns the same point of time regardless calendar type) instead of
22
- // source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date
23
- oJSDate = new Date(aArgs[0].valueOf());
24
-
25
- // Make this date really local. Now getters are safe.
26
- oJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());
27
- oJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());
28
-
29
- this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
30
- break;
31
-
32
- case 3: // year, month, date
33
- case 4: // year, month, date, sCalendarType
34
- checkNumericLike(aArgs[0], `Invalid year: ${aArgs[0]}`);
35
- checkNumericLike(aArgs[1], `Invalid month: ${aArgs[1]}`);
36
- checkNumericLike(aArgs[2], `Invalid date: ${aArgs[2]}`);
37
-
38
- oJSDate = new Date(0, 0, 1);
39
- oJSDate.setFullYear(aArgs[0], aArgs[1], aArgs[2]); // 2 digits year is not supported. If so, it is considered as full year as well.
40
-
41
- if (aArgs[3]) {
42
- sCalendarType = aArgs[3];
43
- }
44
- this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
45
- break;
46
-
47
- default:
48
- throw new Error(`${"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType"
49
- + "or 2) year, month, date, (optional) calendarType"}${aArgs}`);
50
- }
51
- }
52
-
53
- getYear() {
54
- return this._oUDate.getUTCFullYear();
55
- }
56
-
57
- setYear(year) {
58
- checkNumericLike(year, `Invalid year: ${year}`);
59
- this._oUDate.setUTCFullYear(year);
60
- return this;
61
- }
62
-
63
- getMonth() {
64
- return this._oUDate.getUTCMonth();
65
- }
66
-
67
- /**
68
- * Sets the given month as ordinal month of the year.
69
- * @param {int} month An integer between 0 and 11, representing the months January through December( or their
70
- * equivalent month names for the given calendar).
71
- * If the specified value is is outside of the expected range, this method attempts to update the date information
72
- * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.
73
- * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.
74
- * 0 will result in the previous month's last day.
75
- * -1 will result in the day before the previous month's last day.
76
- * 32 will result in:
77
- * - first day of the next month if the current month has 31 days.
78
- * - second day of the next month if the current month has 30 days.
79
- * Other value will result in adding or subtracting days according to the given value.
80
- * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.
81
- */
82
- setMonth(month, date) {
83
- checkNumericLike(month, `Invalid month: ${month}`);
84
- if (date || date === 0) {
85
- checkNumericLike(date, `Invalid date: ${date}`);
86
- this._oUDate.setUTCMonth(month, date);
87
- } else {
88
- this._oUDate.setUTCMonth(month);
89
- }
90
- return this;
91
- }
92
-
93
- getDate() {
94
- return this._oUDate.getUTCDate();
95
- }
96
-
97
- setDate(date) {
98
- checkNumericLike(date, `Invalid date: ${date}`);
99
- this._oUDate.setUTCDate(date);
100
- return this;
101
- }
102
-
103
- getDay() {
104
- return this._oUDate.getUTCDay();
105
- }
106
-
107
- getCalendarType() {
108
- return this._oUDate.sCalendarType;
109
- }
110
-
111
- isBefore(oCalendarDate) {
112
- checkCalendarDate(oCalendarDate);
113
- return this.valueOf() < oCalendarDate.valueOf();
114
- }
115
-
116
- isAfter(oCalendarDate) {
117
- checkCalendarDate(oCalendarDate);
118
- return this.valueOf() > oCalendarDate.valueOf();
119
- }
120
-
121
- isSameOrBefore(oCalendarDate) {
122
- checkCalendarDate(oCalendarDate);
123
- return this.valueOf() <= oCalendarDate.valueOf();
124
- }
125
-
126
- isSameOrAfter(oCalendarDate) {
127
- checkCalendarDate(oCalendarDate);
128
- return this.valueOf() >= oCalendarDate.valueOf();
129
- }
130
-
131
- isSame(oCalendarDate) {
132
- checkCalendarDate(oCalendarDate);
133
- return this.valueOf() === oCalendarDate.valueOf();
134
- }
135
-
136
- toLocalJSDate() {
137
- // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
138
- // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
139
- const oLocalDate = new Date(this._oUDate.getTime());
140
-
141
- // Make this date really local. Now getters are safe.
142
- oLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());
143
- oLocalDate.setHours(0, 0, 0, 0);
144
-
145
- return oLocalDate;
146
- }
147
-
148
- toUTCJSDate() {
149
- // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
150
- // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
151
- const oUTCDate = new Date(this._oUDate.getTime());
152
- oUTCDate.setUTCHours(0, 0, 0, 0);
153
-
154
- return oUTCDate;
155
- }
156
-
157
- toString() {
158
- return `${this._oUDate.sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;
159
- }
160
-
161
- valueOf() {
162
- return this._oUDate.getTime();
163
- }
164
-
165
- static fromLocalJSDate(oJSDate, sCalendarType) {
166
- // Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests
167
- // because Date object in the test is different than the Date object in the application (due to the iframe).
168
- // We can use jQuery.type or this method:
169
- function isValidDate(date) {
170
- return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); // eslint-disable-line
171
- }
172
- if (!isValidDate(oJSDate)) {
173
- throw new Error(`Date parameter must be a JavaScript Date object: [${oJSDate}].`);
174
- }
175
- return new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);
176
- }
177
-
178
- static fromTimestamp(iTimestamp, sCalendarType) {
179
- const oCalDate = new CalendarDate(0, 0, 1);
180
- oCalDate._oUDate = UniversalDate.getInstance(new Date(iTimestamp), sCalendarType);
181
- return oCalDate;
182
- }
183
- }
184
-
185
- function createUniversalUTCDate(oDate, sCalendarType) {
186
- if (sCalendarType) {
187
- return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
188
- }
189
- return new UniversalDate(createUTCDate(oDate).getTime());
190
- }
191
-
192
- /**
193
- * Creates a JavaScript UTC Date corresponding to the given JavaScript Date.
194
- * @param {Date} oDate JavaScript date object. Time related information is cut.
195
- * @returns {Date} JavaScript date created from the date object, but this time considered as UTC date information.
196
- */
197
- function createUTCDate(oDate) {
198
- const oUTCDate = new Date(Date.UTC(0, 0, 1));
199
-
200
- oUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());
201
-
202
- return oUTCDate;
203
- }
204
-
205
- function checkCalendarDate(oCalendarDate) {
206
- if (!(oCalendarDate instanceof CalendarDate)) {
207
- throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: sap.ui.unified.calendar.CalendarDate`);
208
- }
209
- }
210
-
211
- /**
212
- * Verifies the given value is numeric like, i.e. 3, "3" and throws an error if it is not.
213
- * @param {any} value The value of any type to check. If null or undefined, this method throws an error.
214
- * @param {string} message The message to be used if an error is to be thrown
215
- * @throws will throw an error if the value is null or undefined or is not like a number
216
- */
217
- function checkNumericLike(value, message) {
218
- if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
219
- throw message;
220
- }
221
- }
222
-
223
- export default CalendarDate;
@@ -1,51 +0,0 @@
1
- import UniversalDate from "../sap/ui/core/date/UniversalDate.js";
2
-
3
- const calculateWeekNumber = (confFirstDayOfWeek, oDate, iYear, oLocale, oLocaleData) => {
4
- let iWeekNum = 0;
5
- let iWeekDay = 0;
6
- const iFirstDayOfWeek = Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek : oLocaleData.getFirstDayOfWeek();
7
-
8
- // search Locale for containing "en-US", since sometimes
9
- // when any user settings have been defined, subtag "sapufmt" is added to the locale name
10
- // this is described inside sap.ui.core.Configuration file
11
- if (oLocale && (oLocale.getLanguage() === "en" && oLocale.getRegion() === "US")) {
12
- /*
13
- * in US the week starts with Sunday
14
- * The first week of the year starts with January 1st. But Dec. 31 is still in the last year
15
- * So the week beginning in December and ending in January has 2 week numbers
16
- */
17
- const oJanFirst = new UniversalDate(oDate.getTime());
18
- oJanFirst.setUTCFullYear(iYear, 0, 1);
19
- iWeekDay = oJanFirst.getUTCDay();
20
-
21
- // get the date for the same weekday like jan 1.
22
- const oCheckDate = new UniversalDate(oDate.getTime());
23
- oCheckDate.setUTCDate(oCheckDate.getUTCDate() - oCheckDate.getUTCDay() + iWeekDay);
24
-
25
- iWeekNum = Math.round((oCheckDate.getTime() - oJanFirst.getTime()) / 86400000 / 7) + 1;
26
- } else {
27
- // normally the first week of the year is the one where the first Thursday of the year is
28
- // find Thursday of this week
29
- // if the checked day is before the 1. day of the week use a day of the previous week to check
30
- const oThursday = new UniversalDate(oDate.getTime());
31
- oThursday.setUTCDate(oThursday.getUTCDate() - iFirstDayOfWeek);
32
- iWeekDay = oThursday.getUTCDay();
33
- oThursday.setUTCDate(oThursday.getUTCDate() - iWeekDay + 4);
34
-
35
- const oFirstDayOfYear = new UniversalDate(oThursday.getTime());
36
- oFirstDayOfYear.setUTCMonth(0, 1);
37
- iWeekDay = oFirstDayOfYear.getUTCDay();
38
- let iAddDays = 0;
39
- if (iWeekDay > 4) {
40
- iAddDays = 7; // first day of year is after Thursday, so first Thursday is in the next week
41
- }
42
- const oFirstThursday = new UniversalDate(oFirstDayOfYear.getTime());
43
- oFirstThursday.setUTCDate(1 - iWeekDay + 4 + iAddDays);
44
-
45
- iWeekNum = Math.round((oThursday.getTime() - oFirstThursday.getTime()) / 86400000 / 7) + 1;
46
- }
47
-
48
- return iWeekNum;
49
- };
50
-
51
- export default calculateWeekNumber;
@@ -1,27 +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 LocaleData from "../sap/ui/core/LocaleData.js";
4
-
5
- const instances = new Map();
6
-
7
- /**
8
- * Fetches and returns а LocaleData object for the required locale
9
- * For more information on this object's API, please see:
10
- * https://ui5.sap.com/#/api/sap.ui.core.LocaleData
11
- *
12
- * @param lang - if left empty, will use the configured/current locale
13
- * @returns {LocaleData}
14
- */
15
- const getLocaleData = async lang => {
16
- const locale = getLocale(lang);
17
- const localeLang = locale.getLanguage();
18
-
19
- if (!instances.has(localeLang)) {
20
- await fetchCldr(locale.getLanguage(), locale.getRegion(), locale.getScript());
21
- instances.set(localeLang, LocaleData.getInstance(locale));
22
- }
23
-
24
- return instances.get(localeLang);
25
- };
26
-
27
- export default getLocaleData;
@@ -1,7 +0,0 @@
1
- import { getModuleContent } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
2
-
3
- const LoaderExtensions = {
4
- loadResource: getModuleContent,
5
- };
6
-
7
- export default LoaderExtensions;
@@ -1,38 +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
- import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
5
-
6
- const emptyFn = () => {};
7
-
8
- /**
9
- * OpenUI5 FormatSettings shim
10
- */
11
- const FormatSettings = {
12
- getFormatLocale: getLocale,
13
- getLegacyDateFormat: emptyFn,
14
- getLegacyDateCalendarCustomizing: emptyFn,
15
- getCustomLocaleData: emptyFn,
16
- };
17
-
18
- /**
19
- * OpenUI5 Configuration Shim
20
- */
21
- const Configuration = {
22
- getLanguage,
23
- getCalendarType,
24
- 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
- getOriginInfo: emptyFn,
26
- getFormatSettings: () => FormatSettings,
27
- };
28
-
29
- /**
30
- * OpenUI5 Core shim
31
- */
32
- const Core = {
33
- getConfiguration: () => Configuration,
34
- getLibraryResourceBundle: emptyFn(),
35
- getFormatSettings: () => FormatSettings,
36
- };
37
-
38
- export default Core;
File without changes