@wix/design-systems-locale-utils 1.181.0

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 (99) hide show
  1. package/README.md +57 -0
  2. package/dist/cjs/constants.js +6 -0
  3. package/dist/cjs/constants.js.map +1 -0
  4. package/dist/cjs/dateTimeFormat/dateTimeFormat.js +19 -0
  5. package/dist/cjs/dateTimeFormat/dateTimeFormat.js.map +1 -0
  6. package/dist/cjs/dateTimeFormat/getLongDate/getLongDate.js +19 -0
  7. package/dist/cjs/dateTimeFormat/getLongDate/getLongDate.js.map +1 -0
  8. package/dist/cjs/dateTimeFormat/getLongDate/getLongDate.spec.js +20 -0
  9. package/dist/cjs/dateTimeFormat/getLongDate/getLongDate.spec.js.map +1 -0
  10. package/dist/cjs/dateTimeFormat/getLongTime/getLongTime.js +30 -0
  11. package/dist/cjs/dateTimeFormat/getLongTime/getLongTime.js.map +1 -0
  12. package/dist/cjs/dateTimeFormat/getLongTime/getLongTime.spec.js +14 -0
  13. package/dist/cjs/dateTimeFormat/getLongTime/getLongTime.spec.js.map +1 -0
  14. package/dist/cjs/dateTimeFormat/getMediumDate/getMediumDate.js +16 -0
  15. package/dist/cjs/dateTimeFormat/getMediumDate/getMediumDate.js.map +1 -0
  16. package/dist/cjs/dateTimeFormat/getMediumDate/getMediumDate.spec.js +9 -0
  17. package/dist/cjs/dateTimeFormat/getMediumDate/getMediumDate.spec.js.map +1 -0
  18. package/dist/cjs/dateTimeFormat/getShortDate/getShortDate.js +80 -0
  19. package/dist/cjs/dateTimeFormat/getShortDate/getShortDate.js.map +1 -0
  20. package/dist/cjs/dateTimeFormat/getShortDate/getShortDate.spec.js +29 -0
  21. package/dist/cjs/dateTimeFormat/getShortDate/getShortDate.spec.js.map +1 -0
  22. package/dist/cjs/dateTimeFormat/getShortTime/getShortTime.js +30 -0
  23. package/dist/cjs/dateTimeFormat/getShortTime/getShortTime.js.map +1 -0
  24. package/dist/cjs/dateTimeFormat/getShortTime/getShortTime.spec.js +14 -0
  25. package/dist/cjs/dateTimeFormat/getShortTime/getShortTime.spec.js.map +1 -0
  26. package/dist/cjs/dateTimeFormat/getYear/getYear.js +18 -0
  27. package/dist/cjs/dateTimeFormat/getYear/getYear.js.map +1 -0
  28. package/dist/cjs/dateTimeFormat/getYear/getYear.spec.js +54 -0
  29. package/dist/cjs/dateTimeFormat/getYear/getYear.spec.js.map +1 -0
  30. package/dist/cjs/dateTimeFormat/index.js +7 -0
  31. package/dist/cjs/dateTimeFormat/index.js.map +1 -0
  32. package/dist/cjs/index.js +17 -0
  33. package/dist/cjs/index.js.map +1 -0
  34. package/dist/esm/constants.js +57 -0
  35. package/dist/esm/constants.js.map +1 -0
  36. package/dist/esm/dateTimeFormat/dateTimeFormat.js +15 -0
  37. package/dist/esm/dateTimeFormat/dateTimeFormat.js.map +1 -0
  38. package/dist/esm/dateTimeFormat/getLongDate/getLongDate.js +14 -0
  39. package/dist/esm/dateTimeFormat/getLongDate/getLongDate.js.map +1 -0
  40. package/dist/esm/dateTimeFormat/getLongDate/getLongDate.spec.js +15 -0
  41. package/dist/esm/dateTimeFormat/getLongDate/getLongDate.spec.js.map +1 -0
  42. package/dist/esm/dateTimeFormat/getLongTime/getLongTime.js +23 -0
  43. package/dist/esm/dateTimeFormat/getLongTime/getLongTime.js.map +1 -0
  44. package/dist/esm/dateTimeFormat/getLongTime/getLongTime.spec.js +12 -0
  45. package/dist/esm/dateTimeFormat/getLongTime/getLongTime.spec.js.map +1 -0
  46. package/dist/esm/dateTimeFormat/getMediumDate/getMediumDate.js +9 -0
  47. package/dist/esm/dateTimeFormat/getMediumDate/getMediumDate.js.map +1 -0
  48. package/dist/esm/dateTimeFormat/getMediumDate/getMediumDate.spec.js +7 -0
  49. package/dist/esm/dateTimeFormat/getMediumDate/getMediumDate.spec.js.map +1 -0
  50. package/dist/esm/dateTimeFormat/getShortDate/getShortDate.js +47 -0
  51. package/dist/esm/dateTimeFormat/getShortDate/getShortDate.js.map +1 -0
  52. package/dist/esm/dateTimeFormat/getShortDate/getShortDate.spec.js +27 -0
  53. package/dist/esm/dateTimeFormat/getShortDate/getShortDate.spec.js.map +1 -0
  54. package/dist/esm/dateTimeFormat/getShortTime/getShortTime.js +23 -0
  55. package/dist/esm/dateTimeFormat/getShortTime/getShortTime.js.map +1 -0
  56. package/dist/esm/dateTimeFormat/getShortTime/getShortTime.spec.js +12 -0
  57. package/dist/esm/dateTimeFormat/getShortTime/getShortTime.spec.js.map +1 -0
  58. package/dist/esm/dateTimeFormat/getYear/getYear.js +12 -0
  59. package/dist/esm/dateTimeFormat/getYear/getYear.js.map +1 -0
  60. package/dist/esm/dateTimeFormat/getYear/getYear.spec.js +63 -0
  61. package/dist/esm/dateTimeFormat/getYear/getYear.spec.js.map +1 -0
  62. package/dist/esm/dateTimeFormat/index.js +2 -0
  63. package/dist/esm/dateTimeFormat/index.js.map +1 -0
  64. package/dist/esm/index.js +3 -0
  65. package/dist/esm/index.js.map +1 -0
  66. package/dist/tsconfig.tsbuildinfo +1 -0
  67. package/dist/types/constants.d.ts +3 -0
  68. package/dist/types/constants.d.ts.map +1 -0
  69. package/dist/types/dateTimeFormat/dateTimeFormat.d.ts +9 -0
  70. package/dist/types/dateTimeFormat/dateTimeFormat.d.ts.map +1 -0
  71. package/dist/types/dateTimeFormat/getLongDate/getLongDate.d.ts +8 -0
  72. package/dist/types/dateTimeFormat/getLongDate/getLongDate.d.ts.map +1 -0
  73. package/dist/types/dateTimeFormat/getLongDate/getLongDate.spec.d.ts +2 -0
  74. package/dist/types/dateTimeFormat/getLongDate/getLongDate.spec.d.ts.map +1 -0
  75. package/dist/types/dateTimeFormat/getLongTime/getLongTime.d.ts +8 -0
  76. package/dist/types/dateTimeFormat/getLongTime/getLongTime.d.ts.map +1 -0
  77. package/dist/types/dateTimeFormat/getLongTime/getLongTime.spec.d.ts +2 -0
  78. package/dist/types/dateTimeFormat/getLongTime/getLongTime.spec.d.ts.map +1 -0
  79. package/dist/types/dateTimeFormat/getMediumDate/getMediumDate.d.ts +8 -0
  80. package/dist/types/dateTimeFormat/getMediumDate/getMediumDate.d.ts.map +1 -0
  81. package/dist/types/dateTimeFormat/getMediumDate/getMediumDate.spec.d.ts +2 -0
  82. package/dist/types/dateTimeFormat/getMediumDate/getMediumDate.spec.d.ts.map +1 -0
  83. package/dist/types/dateTimeFormat/getShortDate/getShortDate.d.ts +8 -0
  84. package/dist/types/dateTimeFormat/getShortDate/getShortDate.d.ts.map +1 -0
  85. package/dist/types/dateTimeFormat/getShortDate/getShortDate.spec.d.ts +2 -0
  86. package/dist/types/dateTimeFormat/getShortDate/getShortDate.spec.d.ts.map +1 -0
  87. package/dist/types/dateTimeFormat/getShortTime/getShortTime.d.ts +8 -0
  88. package/dist/types/dateTimeFormat/getShortTime/getShortTime.d.ts.map +1 -0
  89. package/dist/types/dateTimeFormat/getShortTime/getShortTime.spec.d.ts +2 -0
  90. package/dist/types/dateTimeFormat/getShortTime/getShortTime.spec.d.ts.map +1 -0
  91. package/dist/types/dateTimeFormat/getYear/getYear.d.ts +8 -0
  92. package/dist/types/dateTimeFormat/getYear/getYear.d.ts.map +1 -0
  93. package/dist/types/dateTimeFormat/getYear/getYear.spec.d.ts +2 -0
  94. package/dist/types/dateTimeFormat/getYear/getYear.spec.d.ts.map +1 -0
  95. package/dist/types/dateTimeFormat/index.d.ts +2 -0
  96. package/dist/types/dateTimeFormat/index.d.ts.map +1 -0
  97. package/dist/types/index.d.ts +3 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/package.json +45 -0
@@ -0,0 +1,15 @@
1
+ import { getYear } from './getYear/getYear';
2
+ import { getMediumDate } from './getMediumDate/getMediumDate';
3
+ import { getLongDate } from './getLongDate/getLongDate';
4
+ import { getLongTime } from './getLongTime/getLongTime';
5
+ import { getShortDate } from './getShortDate/getShortDate';
6
+ import { getShortTime } from './getShortTime/getShortTime';
7
+ export const dateTimeFormat = {
8
+ getShortDate,
9
+ getMediumDate,
10
+ getLongDate,
11
+ getShortTime,
12
+ getLongTime,
13
+ getYear,
14
+ };
15
+ //# sourceMappingURL=dateTimeFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateTimeFormat.js","sourceRoot":"","sources":["../../../src/dateTimeFormat/dateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Function that returns long date format approved by Wix Localization team.
3
+ * @param locale - language/country short value that is passed to Intl.DateTimeFormat
4
+ * @param date - JavaScript Date objects represent a single moment in time in a platform-independent format.
5
+ */
6
+ export const getLongDate = (locale, date) => {
7
+ return new Intl.DateTimeFormat(locale, {
8
+ weekday: 'short',
9
+ year: 'numeric',
10
+ month: 'short',
11
+ day: 'numeric',
12
+ }).format(date);
13
+ };
14
+ //# sourceMappingURL=getLongDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLongDate.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getLongDate/getLongDate.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,IAAU,EAAE,EAAE;IACrE,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QACrC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { getLongDate } from './getLongDate';
2
+ describe('getLongDate', () => {
3
+ it.each `
4
+ locale | expected
5
+ ${'en-US'} | ${'Thu, Aug 12, 2021'}
6
+ ${'en-GB'} | ${'Thu, 12 Aug 2021'}
7
+ ${'nl'} | ${'do 12 aug 2021'}
8
+ ${'fr'} | ${'jeu. 12 août 2021'}
9
+ ${'de'} | ${'Do., 12. Aug. 2021'}
10
+ ${'it'} | ${'gio 12 ago 2021'}
11
+ `('should return correct long date based on $locale', ({ locale, expected }) => {
12
+ expect(getLongDate(locale, new Date('2021-08-12'))).toBe(expected);
13
+ });
14
+ });
15
+ //# sourceMappingURL=getLongDate.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLongDate.spec.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getLongDate/getLongDate.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,IAAI,CAAA;;MAEH,OAAO,MAAM,mBAAmB;MAChC,OAAO,MAAM,kBAAkB;MAC/B,IAAI,SAAS,gBAAgB;MAC7B,IAAI,SAAS,mBAAmB;MAChC,IAAI,SAAS,oBAAoB;MACjC,IAAI,SAAS,iBAAiB;GACjC,CACC,kDAAkD,EAClD,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvB,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ const longTimeOptions = {
2
+ hour: 'numeric',
3
+ minute: 'numeric',
4
+ timeZoneName: 'short',
5
+ };
6
+ const modifiedLongTimes = {
7
+ tr: (date) => new Intl.DateTimeFormat('tr', {
8
+ ...longTimeOptions,
9
+ hour12: true,
10
+ }).format(date),
11
+ };
12
+ /**
13
+ * Function that returns long time format approved by Wix Localization team.
14
+ * @param locale - language/country short value that is passed to Intl.DateTimeFormat
15
+ * @param date - JavaScript Date objects represent a single moment in time in a platform-independent format.
16
+ */
17
+ export const getLongTime = (locale, date) => {
18
+ if (modifiedLongTimes[locale]) {
19
+ return modifiedLongTimes[locale]?.(date);
20
+ }
21
+ return new Intl.DateTimeFormat(locale, longTimeOptions).format(date);
22
+ };
23
+ //# sourceMappingURL=getLongTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLongTime.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getLongTime/getLongTime.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAIjB;IACF,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,OAAO;CACtB,CAAC;AAEF,MAAM,iBAAiB,GAEnB;IACF,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE,CACjB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC5B,GAAG,eAAe;QAClB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;CACT,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,IAAU,EAAE,EAAE;IACrE,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { getLongTime } from './getLongTime';
2
+ describe('getLongTime', () => {
3
+ it('to return long time generated by Intl', async () => {
4
+ expect(getLongTime('lt', new Date('2021-08-12 16:45'))).toMatch(/16:45; (GMT\+3|UTC)/);
5
+ });
6
+ describe('return long time which is modified', () => {
7
+ it('Turkish (tr)', async () => {
8
+ expect(getLongTime('tr', new Date('2021-08-12 16:45'))).toMatch(/ÖS 4:45 (GMT\+3|UTC)/);
9
+ });
10
+ });
11
+ });
12
+ //# sourceMappingURL=getLongTime.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLongTime.spec.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getLongTime/getLongTime.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAC7D,qBAAqB,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAC7D,sBAAsB,CACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Function that returns medium date format approved by Wix Localization team.
3
+ * @param locale - language/country short value that is passed to Intl.DateTimeFormat
4
+ * @param date - JavaScript Date objects represent a single moment in time in a platform-independent format.
5
+ */
6
+ export const getMediumDate = (locale, date) => {
7
+ return new Intl.DateTimeFormat(locale, { dateStyle: 'medium' }).format(date);
8
+ };
9
+ //# sourceMappingURL=getMediumDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMediumDate.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getMediumDate/getMediumDate.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAE,IAAU,EAAE,EAAE;IACvE,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { getMediumDate } from './getMediumDate';
2
+ describe('getMediumDate', () => {
3
+ it('to return medium date', async () => {
4
+ expect(getMediumDate('en-US', new Date('2021-08-12'))).toBe('Aug 12, 2021');
5
+ });
6
+ });
7
+ //# sourceMappingURL=getMediumDate.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMediumDate.spec.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getMediumDate/getMediumDate.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ const splitDate = (locale, date, format = {}) => {
2
+ const { year = 'numeric', month = 'numeric', day = 'numeric' } = format;
3
+ return {
4
+ year: new Intl.DateTimeFormat(locale, { year }).format(date),
5
+ month: new Intl.DateTimeFormat(locale, { month }).format(date),
6
+ day: new Intl.DateTimeFormat(locale, { day }).format(date),
7
+ };
8
+ };
9
+ const modifiedShortDates = {
10
+ fi: (date) => {
11
+ const { day, month, year } = splitDate('fi', date);
12
+ return `${day}.${month}.${year}`;
13
+ },
14
+ ko: (date) => {
15
+ const { day, month, year } = splitDate('ko', date, {
16
+ month: '2-digit',
17
+ day: '2-digit',
18
+ });
19
+ return `${year}.${month}.${day}`.replace(/년|월|일/g, '');
20
+ },
21
+ sk: (date) => new Intl.DateTimeFormat('sk').format(date).replace(/ /g, ''),
22
+ nn: (date) => new Intl.DateTimeFormat('nn').format(date).replace(/\//g, '.'),
23
+ 'es-US': (date) => {
24
+ const { day, month, year } = splitDate('es-US', date);
25
+ return `${month}/${day}/${year}`;
26
+ },
27
+ sv: (date) => {
28
+ const { day, month, year } = splitDate('sv', date);
29
+ return `${day}/${month} ${year}`;
30
+ },
31
+ };
32
+ /**
33
+ * Function that returns short date format approved by Wix Localization team.
34
+ * @param locale - language/country short value that is passed to Intl.DateTimeFormat
35
+ * @param date - JavaScript Date objects represent a single moment in time in a platform-independent format.
36
+ */
37
+ export const getShortDate = (locale, date) => {
38
+ if (modifiedShortDates[locale]) {
39
+ return modifiedShortDates[locale]?.(date);
40
+ }
41
+ return new Intl.DateTimeFormat(locale, {
42
+ day: '2-digit',
43
+ month: '2-digit',
44
+ year: 'numeric',
45
+ }).format(date);
46
+ };
47
+ //# sourceMappingURL=getShortDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getShortDate.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getShortDate/getShortDate.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,CAChB,MAAc,EACd,IAAU,EACV,SAII,EAAE,EACN,EAAE;IACF,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC;IAExE,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5D,KAAK,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9D,GAAG,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAEpB;IACF,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEnD,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE;YACjD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE,CACjB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9D,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE,CACjB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAChE,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE;QACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtD,OAAO,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEnD,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;CACO,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAA2B,EAAE,IAAU,EAAE,EAAE;IACtE,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QACrC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { getShortDate } from './getShortDate';
2
+ describe('getShortDate', () => {
3
+ it('to return short date generated by Intl', async () => {
4
+ expect(getShortDate('fi', new Date('2021-08-12'))).toBe('12.8.2021');
5
+ });
6
+ describe('return short date which is modified', () => {
7
+ it('Finnish (fi)', async () => {
8
+ expect(getShortDate('fi', new Date('2021-08-12'))).toBe('12.8.2021');
9
+ });
10
+ it('Korean (ko)', async () => {
11
+ expect(getShortDate('ko', new Date('2021-08-12'))).toBe('2021.08.12');
12
+ });
13
+ it('Norwegian naynorsk (nn)', async () => {
14
+ expect(getShortDate('nn', new Date('2021-08-12'))).toBe('12.8.2021');
15
+ });
16
+ it('Slovak (sk)', async () => {
17
+ expect(getShortDate('sk', new Date('2021-08-12'))).toBe('12.8.2021');
18
+ });
19
+ it('Spanish-USA (es-US)', async () => {
20
+ expect(getShortDate('es-US', new Date('2021-08-12'))).toBe('8/12/2021');
21
+ });
22
+ it('Swedish (sv)', async () => {
23
+ expect(getShortDate('sv', new Date('2021-08-12'))).toBe('12/8 2021');
24
+ });
25
+ });
26
+ });
27
+ //# sourceMappingURL=getShortDate.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getShortDate.spec.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getShortDate/getShortDate.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ const shortTimeOptions = {
2
+ hour: 'numeric',
3
+ minute: 'numeric',
4
+ };
5
+ const modifiedShortTimes = {
6
+ tr: (date) => new Intl.DateTimeFormat('tr', {
7
+ hour: '2-digit',
8
+ minute: '2-digit',
9
+ hour12: true,
10
+ }).format(date),
11
+ };
12
+ /**
13
+ * Function that returns short time format approved by Wix Localization team.
14
+ * @param locale - language/country short value that is passed to Intl.DateTimeFormat
15
+ * @param date - JavaScript Date objects represent a single moment in time in a platform-independent format.
16
+ */
17
+ export const getShortTime = (locale, date) => {
18
+ if (modifiedShortTimes[locale]) {
19
+ return modifiedShortTimes[locale]?.(date);
20
+ }
21
+ return new Intl.DateTimeFormat(locale, shortTimeOptions).format(date);
22
+ };
23
+ //# sourceMappingURL=getShortTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getShortTime.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getShortTime/getShortTime.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAGlB;IACF,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,kBAAkB,GAEpB;IACF,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE,CACjB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;CACT,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAA2B,EAAE,IAAU,EAAE,EAAE;IACtE,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { getShortTime } from './getShortTime';
2
+ describe('getShortTime', () => {
3
+ it('to return short time generated by Intl', async () => {
4
+ expect(getShortTime('lt', new Date('2021-08-12 16:45'))).toBe('16:45');
5
+ });
6
+ describe('return short time which is modified', () => {
7
+ it('Turkish (tr)', async () => {
8
+ expect(getShortTime('tr', new Date('2021-08-12 16:45'))).toBe('ÖS 04:45');
9
+ });
10
+ });
11
+ });
12
+ //# sourceMappingURL=getShortTime.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getShortTime.spec.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getShortTime/getShortTime.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ const yearOptions = {
2
+ year: 'numeric',
3
+ };
4
+ /**
5
+ * Return the string used to format the year for the given date. E.g ‘2023年’
6
+ * @param date - a given date
7
+ * @returns {string} - the string of the given date
8
+ * */
9
+ export const getYear = (locale, date) => {
10
+ return new Intl.DateTimeFormat(locale, yearOptions).format(date);
11
+ };
12
+ //# sourceMappingURL=getYear.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getYear.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getYear/getYear.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX;;;;KAIK;AACL,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAA2B,EAAE,IAAU,EAAU,EAAE;IACzE,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { SupportedWixLocales } from '../../constants';
2
+ import { getYear } from './getYear';
3
+ const FORMATTED_YEAR_LOCALES_DATA = [
4
+ {
5
+ locale: 'ko',
6
+ expectedYear: '2022년',
7
+ },
8
+ {
9
+ locale: 'ja',
10
+ expectedYear: '2022年',
11
+ },
12
+ {
13
+ locale: 'ar',
14
+ expectedYear: '2022',
15
+ },
16
+ {
17
+ locale: 'bg',
18
+ expectedYear: '2022 г.',
19
+ },
20
+ {
21
+ locale: 'hu',
22
+ expectedYear: '2022.',
23
+ },
24
+ {
25
+ locale: 'th',
26
+ expectedYear: 'พ.ศ. 2565',
27
+ },
28
+ {
29
+ locale: 'zh',
30
+ expectedYear: '2022年',
31
+ },
32
+ {
33
+ locale: 'zh-TW',
34
+ expectedYear: '2022年',
35
+ },
36
+ {
37
+ locale: 'zh-HK',
38
+ expectedYear: '2022年',
39
+ },
40
+ {
41
+ locale: 'zh-MO',
42
+ expectedYear: '2022年',
43
+ },
44
+ ];
45
+ const UNFORMATTED_YEAR_LOCALES = SupportedWixLocales.filter((locale) => {
46
+ return !FORMATTED_YEAR_LOCALES_DATA.find((data) => data.locale === locale);
47
+ });
48
+ describe('getYear', () => {
49
+ const year = new Date('2022-01-01T00:00:00Z');
50
+ for (const data of FORMATTED_YEAR_LOCALES_DATA) {
51
+ it(`should return formatted year ${data.locale}`, () => {
52
+ const localizedYear = getYear(data.locale, year);
53
+ expect(localizedYear).toBe(data.expectedYear);
54
+ });
55
+ }
56
+ for (const locale of UNFORMATTED_YEAR_LOCALES) {
57
+ it(`should return unformatted year ${locale} `, () => {
58
+ const localizedYear = getYear(locale, year);
59
+ expect(localizedYear).toBe('2022');
60
+ });
61
+ }
62
+ });
63
+ //# sourceMappingURL=getYear.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getYear.spec.js","sourceRoot":"","sources":["../../../../src/dateTimeFormat/getYear/getYear.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,2BAA2B,GAG3B;IACJ;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,OAAO;KACtB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,OAAO;KACtB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,MAAM;KACrB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,SAAS;KACxB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,OAAO;KACtB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,WAAW;KAC1B;IACD;QACE,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,OAAO;KACtB;IACD;QACE,MAAM,EAAE,OAAO;QACf,YAAY,EAAE,OAAO;KACtB;IACD;QACE,MAAM,EAAE,OAAO;QACf,YAAY,EAAE,OAAO;KACtB;IACD;QACE,MAAM,EAAE,OAAO;QACf,YAAY,EAAE,OAAO;KACtB;CACF,CAAC;AAEF,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;IACrE,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,2BAA2B,EAAE,CAAC;QAC/C,EAAE,CAAC,gCAAgC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAC9C,EAAE,CAAC,kCAAkC,MAAM,GAAG,EAAE,GAAG,EAAE;YACnD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { dateTimeFormat } from './dateTimeFormat';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dateTimeFormat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './dateTimeFormat';
2
+ export { SupportedWixLocales } from './constants';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}