@kaizen/components 1.53.0 → 1.54.1
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/dist/cjs/Calendar/CalendarRange/CalendarRange.cjs +0 -2
- package/dist/cjs/Calendar/CalendarSingle/CalendarSingle.cjs +3 -5
- package/dist/cjs/DatePicker/utils/getLocale.cjs +94 -3
- package/dist/esm/Calendar/CalendarRange/CalendarRange.mjs +0 -2
- package/dist/esm/Calendar/CalendarSingle/CalendarSingle.mjs +3 -5
- package/dist/esm/DatePicker/utils/getLocale.mjs +95 -4
- package/dist/types/DatePicker/DatePicker.d.ts +2 -2
- package/dist/types/DatePicker/utils/getLocale.d.ts +1 -2
- package/dist/types/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/package.json +5 -5
- package/src/Calendar/CalendarRange/CalendarRange.tsx +0 -2
- package/src/Calendar/CalendarSingle/CalendarSingle.tsx +1 -2
- package/src/DatePicker/DatePicker.tsx +2 -2
- package/src/DatePicker/_docs/DatePicker.mdx +0 -2
- package/src/DatePicker/_docs/controls/datePickerLocaleControls.ts +8 -2
- package/src/DatePicker/_docs/getLocale.stickersheet.stories.tsx +49 -0
- package/src/DatePicker/utils/getLocale.spec.ts +2 -2
- package/src/DatePicker/utils/getLocale.ts +139 -8
- package/src/DateRangePicker/DateRangePicker.tsx +2 -2
- package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.stickersheet.stories.tsx +6 -0
|
@@ -8,7 +8,6 @@ require('../../Icon/subcomponents/SVG/SVG.cjs');
|
|
|
8
8
|
var ArrowBackwardIcon = require('../../Icon/ArrowBackwardIcon.cjs');
|
|
9
9
|
var ArrowForwardIcon = require('../../Icon/ArrowForwardIcon.cjs');
|
|
10
10
|
var baseCalendarClassNames = require('../baseCalendarClassNames.cjs');
|
|
11
|
-
var enums = require('../enums.cjs');
|
|
12
11
|
require('date-fns');
|
|
13
12
|
var isInvalidDate = require('../utils/isInvalidDate.cjs');
|
|
14
13
|
var CalendarRange_module = require('./CalendarRange.module.scss.cjs');
|
|
@@ -53,7 +52,6 @@ var CalendarRange = function (_a) {
|
|
|
53
52
|
mode: "range",
|
|
54
53
|
selected: selected,
|
|
55
54
|
defaultMonth: selectedMonth,
|
|
56
|
-
weekStartsOn: enums.DayOfWeek.Mon,
|
|
57
55
|
classNames: classNames,
|
|
58
56
|
components: {
|
|
59
57
|
IconRight: function () {
|
|
@@ -8,7 +8,6 @@ require('../../Icon/subcomponents/SVG/SVG.cjs');
|
|
|
8
8
|
var ArrowBackwardIcon = require('../../Icon/ArrowBackwardIcon.cjs');
|
|
9
9
|
var ArrowForwardIcon = require('../../Icon/ArrowForwardIcon.cjs');
|
|
10
10
|
var baseCalendarClassNames = require('../baseCalendarClassNames.cjs');
|
|
11
|
-
var enums = require('../enums.cjs');
|
|
12
11
|
require('date-fns');
|
|
13
12
|
var isInvalidDate = require('../utils/isInvalidDate.cjs');
|
|
14
13
|
var isValidWeekStartsOn = require('../utils/isValidWeekStartsOn.cjs');
|
|
@@ -25,10 +24,9 @@ var CalendarSingle = function (_a) {
|
|
|
25
24
|
classNameOverride = _a.classNameOverride,
|
|
26
25
|
selected = _a.selected,
|
|
27
26
|
defaultMonth = _a.defaultMonth,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
locale$1 = _c === void 0 ? locale.enAU : _c,
|
|
27
|
+
weekStartsOn = _a.weekStartsOn,
|
|
28
|
+
_b = _a.locale,
|
|
29
|
+
locale$1 = _b === void 0 ? locale.enAU : _b,
|
|
32
30
|
restProps = tslib.__rest(_a, ["id", "onMount", "classNameOverride", "selected", "defaultMonth", "weekStartsOn", "locale"]);
|
|
33
31
|
var calendarRef = React.useRef(null);
|
|
34
32
|
React.useEffect(function () {
|
|
@@ -3,14 +3,105 @@
|
|
|
3
3
|
var locale = require('date-fns/locale');
|
|
4
4
|
var getLocale = function (locale$1) {
|
|
5
5
|
switch (locale$1) {
|
|
6
|
-
case "
|
|
7
|
-
return locale.
|
|
6
|
+
case "zh":
|
|
7
|
+
return locale.zhCN;
|
|
8
|
+
case "zh-TW":
|
|
9
|
+
return locale.zhTW;
|
|
10
|
+
case "da":
|
|
11
|
+
return locale.da;
|
|
12
|
+
case "nl":
|
|
13
|
+
return locale.nl;
|
|
8
14
|
case "en-US":
|
|
9
15
|
return locale.enUS;
|
|
16
|
+
case "fr":
|
|
17
|
+
return locale.fr;
|
|
18
|
+
case "de":
|
|
19
|
+
return locale.de;
|
|
20
|
+
case "he":
|
|
21
|
+
return locale.he;
|
|
22
|
+
case "it":
|
|
23
|
+
return locale.it;
|
|
24
|
+
case "ja":
|
|
25
|
+
return locale.ja;
|
|
26
|
+
case "ko":
|
|
27
|
+
case "kr":
|
|
28
|
+
return locale.ko;
|
|
29
|
+
case "es-419":
|
|
30
|
+
return locale.es;
|
|
31
|
+
case "sv":
|
|
32
|
+
return locale.sv;
|
|
33
|
+
case "ru":
|
|
34
|
+
return locale.ru;
|
|
35
|
+
// @todo: Add when locale is available https://github.com/date-fns/date-fns/issues/2627
|
|
36
|
+
// case "mi":
|
|
37
|
+
// return miNZ
|
|
38
|
+
case "pl":
|
|
39
|
+
return locale.pl;
|
|
40
|
+
case "pt-BR":
|
|
41
|
+
return locale.ptBR;
|
|
42
|
+
case "uk":
|
|
43
|
+
return locale.uk;
|
|
44
|
+
case "en":
|
|
45
|
+
case "en-GB":
|
|
46
|
+
case "en-AU":
|
|
47
|
+
return locale.enGB;
|
|
48
|
+
case "ar":
|
|
49
|
+
return locale.arSA;
|
|
50
|
+
case "bg":
|
|
51
|
+
return locale.bg;
|
|
52
|
+
case "cs":
|
|
53
|
+
return locale.cs;
|
|
54
|
+
case "et":
|
|
55
|
+
return locale.et;
|
|
56
|
+
case "fi":
|
|
57
|
+
return locale.fi;
|
|
10
58
|
case "fr-CA":
|
|
11
59
|
return locale.frCA;
|
|
60
|
+
case "ht":
|
|
61
|
+
return locale.ht;
|
|
62
|
+
case "el":
|
|
63
|
+
return locale.el;
|
|
64
|
+
case "hi":
|
|
65
|
+
return locale.hi;
|
|
66
|
+
case "hu":
|
|
67
|
+
return locale.hu;
|
|
68
|
+
case "id":
|
|
69
|
+
return locale.id;
|
|
70
|
+
case "km-KH":
|
|
71
|
+
return locale.km;
|
|
72
|
+
case "lv":
|
|
73
|
+
return locale.lv;
|
|
74
|
+
case "lt":
|
|
75
|
+
return locale.lt;
|
|
76
|
+
case "ms":
|
|
77
|
+
return locale.ms;
|
|
78
|
+
case "nb":
|
|
79
|
+
case "no":
|
|
80
|
+
return locale.nb;
|
|
81
|
+
case "pt":
|
|
82
|
+
return locale.pt;
|
|
83
|
+
case "ro":
|
|
84
|
+
return locale.ro;
|
|
85
|
+
case "sr":
|
|
86
|
+
return locale.sr;
|
|
87
|
+
// case "si-LK":
|
|
88
|
+
// return siLK
|
|
89
|
+
case "sk":
|
|
90
|
+
return locale.sk;
|
|
91
|
+
case "es":
|
|
92
|
+
return locale.es;
|
|
93
|
+
// case "tl":
|
|
94
|
+
// return tlPH
|
|
95
|
+
case "th":
|
|
96
|
+
return locale.th;
|
|
97
|
+
case "tr":
|
|
98
|
+
return locale.tr;
|
|
99
|
+
case "vi":
|
|
100
|
+
return locale.vi;
|
|
101
|
+
case "cy":
|
|
102
|
+
return locale.cy;
|
|
12
103
|
default:
|
|
13
|
-
return locale.
|
|
104
|
+
return locale.enGB;
|
|
14
105
|
}
|
|
15
106
|
};
|
|
16
107
|
exports.getLocale = getLocale;
|
|
@@ -6,7 +6,6 @@ import '../../Icon/subcomponents/SVG/SVG.mjs';
|
|
|
6
6
|
import { ArrowBackwardIcon } from '../../Icon/ArrowBackwardIcon.mjs';
|
|
7
7
|
import { ArrowForwardIcon } from '../../Icon/ArrowForwardIcon.mjs';
|
|
8
8
|
import { baseCalendarClassNames } from '../baseCalendarClassNames.mjs';
|
|
9
|
-
import { DayOfWeek } from '../enums.mjs';
|
|
10
9
|
import 'date-fns';
|
|
11
10
|
import { isInvalidDate } from '../utils/isInvalidDate.mjs';
|
|
12
11
|
import styles from './CalendarRange.module.scss.mjs';
|
|
@@ -46,7 +45,6 @@ const CalendarRange = /*#__PURE__*/function () {
|
|
|
46
45
|
mode: "range",
|
|
47
46
|
selected: selected,
|
|
48
47
|
defaultMonth: selectedMonth,
|
|
49
|
-
weekStartsOn: DayOfWeek.Mon,
|
|
50
48
|
classNames: classNames,
|
|
51
49
|
components: {
|
|
52
50
|
IconRight: function () {
|
|
@@ -6,7 +6,6 @@ import '../../Icon/subcomponents/SVG/SVG.mjs';
|
|
|
6
6
|
import { ArrowBackwardIcon } from '../../Icon/ArrowBackwardIcon.mjs';
|
|
7
7
|
import { ArrowForwardIcon } from '../../Icon/ArrowForwardIcon.mjs';
|
|
8
8
|
import { baseCalendarClassNames } from '../baseCalendarClassNames.mjs';
|
|
9
|
-
import { DayOfWeek } from '../enums.mjs';
|
|
10
9
|
import 'date-fns';
|
|
11
10
|
import { isInvalidDate } from '../utils/isInvalidDate.mjs';
|
|
12
11
|
import { isValidWeekStartsOn } from '../utils/isValidWeekStartsOn.mjs';
|
|
@@ -18,10 +17,9 @@ const CalendarSingle = /*#__PURE__*/function () {
|
|
|
18
17
|
classNameOverride = _a.classNameOverride,
|
|
19
18
|
selected = _a.selected,
|
|
20
19
|
defaultMonth = _a.defaultMonth,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
locale = _c === void 0 ? enAU : _c,
|
|
20
|
+
weekStartsOn = _a.weekStartsOn,
|
|
21
|
+
_b = _a.locale,
|
|
22
|
+
locale = _b === void 0 ? enAU : _b,
|
|
25
23
|
restProps = __rest(_a, ["id", "onMount", "classNameOverride", "selected", "defaultMonth", "weekStartsOn", "locale"]);
|
|
26
24
|
var calendarRef = useRef(null);
|
|
27
25
|
useEffect(function () {
|
|
@@ -1,14 +1,105 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { enGB, cy, vi, tr, th, es, sk, sr, ro, pt, nb, ms, lt, lv, km, id, hu, hi, el, ht, frCA, fi, et, cs, bg, arSA, uk, ptBR, pl, ru, sv, ko, ja, it, he, de, fr, enUS, nl, da, zhTW, zhCN } from 'date-fns/locale';
|
|
2
2
|
var getLocale = function (locale) {
|
|
3
3
|
switch (locale) {
|
|
4
|
-
case "
|
|
5
|
-
return
|
|
4
|
+
case "zh":
|
|
5
|
+
return zhCN;
|
|
6
|
+
case "zh-TW":
|
|
7
|
+
return zhTW;
|
|
8
|
+
case "da":
|
|
9
|
+
return da;
|
|
10
|
+
case "nl":
|
|
11
|
+
return nl;
|
|
6
12
|
case "en-US":
|
|
7
13
|
return enUS;
|
|
14
|
+
case "fr":
|
|
15
|
+
return fr;
|
|
16
|
+
case "de":
|
|
17
|
+
return de;
|
|
18
|
+
case "he":
|
|
19
|
+
return he;
|
|
20
|
+
case "it":
|
|
21
|
+
return it;
|
|
22
|
+
case "ja":
|
|
23
|
+
return ja;
|
|
24
|
+
case "ko":
|
|
25
|
+
case "kr":
|
|
26
|
+
return ko;
|
|
27
|
+
case "es-419":
|
|
28
|
+
return es;
|
|
29
|
+
case "sv":
|
|
30
|
+
return sv;
|
|
31
|
+
case "ru":
|
|
32
|
+
return ru;
|
|
33
|
+
// @todo: Add when locale is available https://github.com/date-fns/date-fns/issues/2627
|
|
34
|
+
// case "mi":
|
|
35
|
+
// return miNZ
|
|
36
|
+
case "pl":
|
|
37
|
+
return pl;
|
|
38
|
+
case "pt-BR":
|
|
39
|
+
return ptBR;
|
|
40
|
+
case "uk":
|
|
41
|
+
return uk;
|
|
42
|
+
case "en":
|
|
43
|
+
case "en-GB":
|
|
44
|
+
case "en-AU":
|
|
45
|
+
return enGB;
|
|
46
|
+
case "ar":
|
|
47
|
+
return arSA;
|
|
48
|
+
case "bg":
|
|
49
|
+
return bg;
|
|
50
|
+
case "cs":
|
|
51
|
+
return cs;
|
|
52
|
+
case "et":
|
|
53
|
+
return et;
|
|
54
|
+
case "fi":
|
|
55
|
+
return fi;
|
|
8
56
|
case "fr-CA":
|
|
9
57
|
return frCA;
|
|
58
|
+
case "ht":
|
|
59
|
+
return ht;
|
|
60
|
+
case "el":
|
|
61
|
+
return el;
|
|
62
|
+
case "hi":
|
|
63
|
+
return hi;
|
|
64
|
+
case "hu":
|
|
65
|
+
return hu;
|
|
66
|
+
case "id":
|
|
67
|
+
return id;
|
|
68
|
+
case "km-KH":
|
|
69
|
+
return km;
|
|
70
|
+
case "lv":
|
|
71
|
+
return lv;
|
|
72
|
+
case "lt":
|
|
73
|
+
return lt;
|
|
74
|
+
case "ms":
|
|
75
|
+
return ms;
|
|
76
|
+
case "nb":
|
|
77
|
+
case "no":
|
|
78
|
+
return nb;
|
|
79
|
+
case "pt":
|
|
80
|
+
return pt;
|
|
81
|
+
case "ro":
|
|
82
|
+
return ro;
|
|
83
|
+
case "sr":
|
|
84
|
+
return sr;
|
|
85
|
+
// case "si-LK":
|
|
86
|
+
// return siLK
|
|
87
|
+
case "sk":
|
|
88
|
+
return sk;
|
|
89
|
+
case "es":
|
|
90
|
+
return es;
|
|
91
|
+
// case "tl":
|
|
92
|
+
// return tlPH
|
|
93
|
+
case "th":
|
|
94
|
+
return th;
|
|
95
|
+
case "tr":
|
|
96
|
+
return tr;
|
|
97
|
+
case "vi":
|
|
98
|
+
return vi;
|
|
99
|
+
case "cy":
|
|
100
|
+
return cy;
|
|
10
101
|
default:
|
|
11
|
-
return
|
|
102
|
+
return enGB;
|
|
12
103
|
}
|
|
13
104
|
};
|
|
14
105
|
export { getLocale };
|
|
@@ -14,8 +14,8 @@ export type DatePickerProps = {
|
|
|
14
14
|
onButtonClick?: DateInputFieldProps["onButtonClick"];
|
|
15
15
|
locale?: DatePickerSupportedLocales;
|
|
16
16
|
/**
|
|
17
|
-
* Accepts a DayOfWeek value to start the week on that day.
|
|
18
|
-
* it
|
|
17
|
+
* Accepts a DayOfWeek value to start the week on that day.
|
|
18
|
+
* By default it adapts to the provided locale.
|
|
19
19
|
*/
|
|
20
20
|
weekStartsOn?: CalendarSingleProps["weekStartsOn"];
|
|
21
21
|
/**
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { Locale } from "date-fns";
|
|
2
|
-
|
|
3
|
-
export type DatePickerSupportedLocales = StringSuggestions<"en-US" | "en-AU" | "fr-CA">;
|
|
2
|
+
export type DatePickerSupportedLocales = string;
|
|
4
3
|
export declare const getLocale: (locale: DatePickerSupportedLocales) => Locale;
|
|
@@ -21,8 +21,8 @@ export type DateRangePickerProps = {
|
|
|
21
21
|
*/
|
|
22
22
|
value?: string;
|
|
23
23
|
/**
|
|
24
|
-
* Accepts a DayOfWeek value to start the week on that day.
|
|
25
|
-
* it
|
|
24
|
+
* Accepts a DayOfWeek value to start the week on that day.
|
|
25
|
+
* By default it adapts to the provided locale.
|
|
26
26
|
*/
|
|
27
27
|
weekStartsOn?: LegacyCalendarRangeProps["weekStartsOn"];
|
|
28
28
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaizen/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.54.1",
|
|
4
4
|
"description": "Kaizen component library",
|
|
5
5
|
"author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
|
|
6
6
|
"homepage": "https://cultureamp.design",
|
|
@@ -76,19 +76,19 @@
|
|
|
76
76
|
"react-textfit": "^1.1.1",
|
|
77
77
|
"resize-observer-polyfill": "^1.5.1",
|
|
78
78
|
"use-debounce": "^10.0.1",
|
|
79
|
-
"uuid": "^
|
|
79
|
+
"uuid": "^10.0.0",
|
|
80
80
|
"@kaizen/hosted-assets": "2.0.3"
|
|
81
81
|
},
|
|
82
82
|
"dependenciesComments": {
|
|
83
83
|
"react-day-picker": "Version locked until a11y gets fixed (https://github.com/gpbl/react-day-picker/pull/1708)"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@cultureamp/frontend-apis": "^9.5.
|
|
86
|
+
"@cultureamp/frontend-apis": "^9.5.1",
|
|
87
87
|
"@cultureamp/i18n-react-intl": "^2.5.8",
|
|
88
88
|
"@types/lodash.debounce": "^4.0.9",
|
|
89
89
|
"@types/react-dom": "^18.3.0",
|
|
90
90
|
"@types/react-textfit": "^1.1.4",
|
|
91
|
-
"@types/uuid": "^
|
|
91
|
+
"@types/uuid": "^10.0.0",
|
|
92
92
|
"autoprefixer": "^10.4.19",
|
|
93
93
|
"concat-cli": "^4.0.0",
|
|
94
94
|
"query-string": "^9.0.0",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"ts-jest": "^29.1.4",
|
|
101
101
|
"tslib": "^2.6.3",
|
|
102
102
|
"tsx": "^4.15.1",
|
|
103
|
-
"@kaizen/design-tokens": "10.4.
|
|
103
|
+
"@kaizen/design-tokens": "10.4.2",
|
|
104
104
|
"@kaizen/package-bundler": "1.1.2"
|
|
105
105
|
},
|
|
106
106
|
"devDependenciesComments": {
|
|
@@ -4,7 +4,6 @@ import { DayPicker, DayPickerRangeProps } from "react-day-picker"
|
|
|
4
4
|
import { ArrowBackwardIcon, ArrowForwardIcon } from "~components/Icon"
|
|
5
5
|
import { OverrideClassName } from "~types/OverrideClassName"
|
|
6
6
|
import { baseCalendarClassNames } from "../baseCalendarClassNames"
|
|
7
|
-
import { DayOfWeek } from "../enums"
|
|
8
7
|
import { isInvalidDate } from "../utils"
|
|
9
8
|
import styles from "./CalendarRange.module.scss"
|
|
10
9
|
|
|
@@ -54,7 +53,6 @@ export const CalendarRange = ({
|
|
|
54
53
|
mode="range"
|
|
55
54
|
selected={selected}
|
|
56
55
|
defaultMonth={selectedMonth}
|
|
57
|
-
weekStartsOn={DayOfWeek.Mon}
|
|
58
56
|
classNames={classNames}
|
|
59
57
|
components={{
|
|
60
58
|
IconRight: () => <ArrowForwardIcon role="presentation" />,
|
|
@@ -4,7 +4,6 @@ import { DayPicker, DayPickerSingleProps } from "react-day-picker"
|
|
|
4
4
|
import { ArrowBackwardIcon, ArrowForwardIcon } from "~components/Icon"
|
|
5
5
|
import { OverrideClassName } from "~types/OverrideClassName"
|
|
6
6
|
import { baseCalendarClassNames } from "../baseCalendarClassNames"
|
|
7
|
-
import { DayOfWeek } from "../enums"
|
|
8
7
|
import { isInvalidDate, isValidWeekStartsOn } from "../utils"
|
|
9
8
|
import styles from "./CalendarSingle.module.scss"
|
|
10
9
|
|
|
@@ -21,7 +20,7 @@ export const CalendarSingle = ({
|
|
|
21
20
|
classNameOverride,
|
|
22
21
|
selected,
|
|
23
22
|
defaultMonth,
|
|
24
|
-
weekStartsOn
|
|
23
|
+
weekStartsOn,
|
|
25
24
|
locale = enAU,
|
|
26
25
|
...restProps
|
|
27
26
|
}: CalendarSingleProps): JSX.Element => {
|
|
@@ -46,8 +46,8 @@ export type DatePickerProps = {
|
|
|
46
46
|
onButtonClick?: DateInputFieldProps["onButtonClick"]
|
|
47
47
|
locale?: DatePickerSupportedLocales
|
|
48
48
|
/**
|
|
49
|
-
* Accepts a DayOfWeek value to start the week on that day.
|
|
50
|
-
* it
|
|
49
|
+
* Accepts a DayOfWeek value to start the week on that day.
|
|
50
|
+
* By default it adapts to the provided locale.
|
|
51
51
|
*/
|
|
52
52
|
weekStartsOn?: CalendarSingleProps["weekStartsOn"]
|
|
53
53
|
/**
|
|
@@ -42,8 +42,6 @@ Pass the values to `selectedDay` (can be passed a pre-loaded value) and `onDayCh
|
|
|
42
42
|
Change the locale of the date-related elements within the DatePicker.
|
|
43
43
|
This changes the input format and the contents in the calendar.
|
|
44
44
|
|
|
45
|
-
Currently only supports `"en-AU"` and `"en-US"`.
|
|
46
|
-
|
|
47
45
|
<Canvas of={DatePickerStories.Locale} />
|
|
48
46
|
|
|
49
47
|
### Description
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { LOCALE_REGIONS } from "@cultureamp/i18n-react-intl"
|
|
1
2
|
import { ArgTypes } from "@storybook/react"
|
|
2
3
|
|
|
3
|
-
const DATE_PICKER_SUPPORTED_LOCALES = [
|
|
4
|
+
const DATE_PICKER_SUPPORTED_LOCALES = [
|
|
5
|
+
...Object.keys(LOCALE_REGIONS),
|
|
6
|
+
// The following are for murmur
|
|
7
|
+
"kr",
|
|
8
|
+
"no",
|
|
9
|
+
]
|
|
4
10
|
|
|
5
11
|
export const datePickerLocaleControls: Partial<ArgTypes> = {
|
|
6
12
|
locale: {
|
|
7
13
|
options: DATE_PICKER_SUPPORTED_LOCALES,
|
|
8
|
-
control: { type: "
|
|
14
|
+
control: { type: "select" },
|
|
9
15
|
},
|
|
10
16
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react"
|
|
2
|
+
import { LOCALE_REGIONS } from "@cultureamp/i18n-react-intl"
|
|
3
|
+
import { Meta } from "@storybook/react"
|
|
4
|
+
import { CalendarSingle } from "~components/Calendar"
|
|
5
|
+
import {
|
|
6
|
+
StickerSheet,
|
|
7
|
+
StickerSheetStory,
|
|
8
|
+
} from "~storybook/components/StickerSheet"
|
|
9
|
+
import { getLocale } from "../utils/getLocale"
|
|
10
|
+
|
|
11
|
+
export default {
|
|
12
|
+
title: "Components/Date controls/DatePicker/Tests",
|
|
13
|
+
parameters: {
|
|
14
|
+
chromatic: { disable: false },
|
|
15
|
+
controls: { disable: true },
|
|
16
|
+
},
|
|
17
|
+
} satisfies Meta
|
|
18
|
+
|
|
19
|
+
export const UtilGetLocale: StickerSheetStory = {
|
|
20
|
+
// Skip running this with test-storybook (still runs in Chromatic) as it times out
|
|
21
|
+
tags: ["skip-test"],
|
|
22
|
+
name: "Util - getLocale",
|
|
23
|
+
render: () => {
|
|
24
|
+
const locales = [
|
|
25
|
+
...Object.keys(LOCALE_REGIONS),
|
|
26
|
+
// The following are for murmur
|
|
27
|
+
"kr",
|
|
28
|
+
"no",
|
|
29
|
+
// Old API values
|
|
30
|
+
"en-AU",
|
|
31
|
+
"en-US",
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<StickerSheet heading="Util - getLocale">
|
|
36
|
+
<StickerSheet.Body>
|
|
37
|
+
{locales.map(locale => (
|
|
38
|
+
<StickerSheet.Row key={locale} rowTitle={locale}>
|
|
39
|
+
<CalendarSingle
|
|
40
|
+
defaultMonth={new Date("2021-09-05")}
|
|
41
|
+
locale={getLocale(locale)}
|
|
42
|
+
/>
|
|
43
|
+
</StickerSheet.Row>
|
|
44
|
+
))}
|
|
45
|
+
</StickerSheet.Body>
|
|
46
|
+
</StickerSheet>
|
|
47
|
+
)
|
|
48
|
+
},
|
|
49
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { enGB } from "date-fns/locale"
|
|
2
2
|
import { getLocale } from "./getLocale"
|
|
3
3
|
|
|
4
4
|
describe("getLocale", () => {
|
|
5
5
|
it("retrieves fallback value when passed an unsupported locale", () => {
|
|
6
|
-
expect(getLocale("invalid")).toEqual(
|
|
6
|
+
expect(getLocale("invalid")).toEqual(enGB)
|
|
7
7
|
})
|
|
8
8
|
})
|
|
@@ -1,21 +1,152 @@
|
|
|
1
1
|
import type { Locale } from "date-fns"
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
arSA,
|
|
4
|
+
bg,
|
|
5
|
+
cs,
|
|
6
|
+
cy,
|
|
7
|
+
da,
|
|
8
|
+
de,
|
|
9
|
+
el,
|
|
10
|
+
enGB,
|
|
11
|
+
enUS,
|
|
12
|
+
es,
|
|
13
|
+
et,
|
|
14
|
+
fi,
|
|
15
|
+
fr,
|
|
16
|
+
frCA,
|
|
17
|
+
he,
|
|
18
|
+
hi,
|
|
19
|
+
ht,
|
|
20
|
+
hu,
|
|
21
|
+
id,
|
|
22
|
+
it,
|
|
23
|
+
ja,
|
|
24
|
+
km,
|
|
25
|
+
ko,
|
|
26
|
+
lt,
|
|
27
|
+
lv,
|
|
28
|
+
ms,
|
|
29
|
+
nb,
|
|
30
|
+
nl,
|
|
31
|
+
pl,
|
|
32
|
+
pt,
|
|
33
|
+
ptBR,
|
|
34
|
+
ro,
|
|
35
|
+
ru,
|
|
36
|
+
sk,
|
|
37
|
+
sr,
|
|
38
|
+
sv,
|
|
39
|
+
th,
|
|
40
|
+
tr,
|
|
41
|
+
uk,
|
|
42
|
+
vi,
|
|
43
|
+
zhCN,
|
|
44
|
+
zhTW,
|
|
45
|
+
} from "date-fns/locale"
|
|
4
46
|
|
|
5
47
|
// Ensure you update the storybook DATE_PICKER_SUPPORTED_LOCALES arg options when updating DatePickerSupportedLocales.
|
|
6
|
-
export type DatePickerSupportedLocales =
|
|
7
|
-
"en-US" | "en-AU" | "fr-CA"
|
|
8
|
-
>
|
|
48
|
+
export type DatePickerSupportedLocales = string
|
|
9
49
|
|
|
10
50
|
export const getLocale = (locale: DatePickerSupportedLocales): Locale => {
|
|
11
51
|
switch (locale) {
|
|
12
|
-
case "
|
|
13
|
-
return
|
|
52
|
+
case "zh":
|
|
53
|
+
return zhCN
|
|
54
|
+
case "zh-TW":
|
|
55
|
+
return zhTW
|
|
56
|
+
case "da":
|
|
57
|
+
return da
|
|
58
|
+
case "nl":
|
|
59
|
+
return nl
|
|
14
60
|
case "en-US":
|
|
15
61
|
return enUS
|
|
62
|
+
case "fr":
|
|
63
|
+
return fr
|
|
64
|
+
case "de":
|
|
65
|
+
return de
|
|
66
|
+
case "he":
|
|
67
|
+
return he
|
|
68
|
+
case "it":
|
|
69
|
+
return it
|
|
70
|
+
case "ja":
|
|
71
|
+
return ja
|
|
72
|
+
case "ko":
|
|
73
|
+
case "kr":
|
|
74
|
+
return ko
|
|
75
|
+
case "es-419":
|
|
76
|
+
return es
|
|
77
|
+
case "sv":
|
|
78
|
+
return sv
|
|
79
|
+
case "ru":
|
|
80
|
+
return ru
|
|
81
|
+
// @todo: Add when locale is available https://github.com/date-fns/date-fns/issues/2627
|
|
82
|
+
// case "mi":
|
|
83
|
+
// return miNZ
|
|
84
|
+
case "pl":
|
|
85
|
+
return pl
|
|
86
|
+
case "pt-BR":
|
|
87
|
+
return ptBR
|
|
88
|
+
case "uk":
|
|
89
|
+
return uk
|
|
90
|
+
case "en":
|
|
91
|
+
case "en-GB":
|
|
92
|
+
case "en-AU":
|
|
93
|
+
return enGB
|
|
94
|
+
case "ar":
|
|
95
|
+
return arSA
|
|
96
|
+
case "bg":
|
|
97
|
+
return bg
|
|
98
|
+
case "cs":
|
|
99
|
+
return cs
|
|
100
|
+
case "et":
|
|
101
|
+
return et
|
|
102
|
+
case "fi":
|
|
103
|
+
return fi
|
|
16
104
|
case "fr-CA":
|
|
17
105
|
return frCA
|
|
106
|
+
case "ht":
|
|
107
|
+
return ht
|
|
108
|
+
case "el":
|
|
109
|
+
return el
|
|
110
|
+
case "hi":
|
|
111
|
+
return hi
|
|
112
|
+
case "hu":
|
|
113
|
+
return hu
|
|
114
|
+
case "id":
|
|
115
|
+
return id
|
|
116
|
+
case "km-KH":
|
|
117
|
+
return km
|
|
118
|
+
case "lv":
|
|
119
|
+
return lv
|
|
120
|
+
case "lt":
|
|
121
|
+
return lt
|
|
122
|
+
case "ms":
|
|
123
|
+
return ms
|
|
124
|
+
case "nb":
|
|
125
|
+
case "no":
|
|
126
|
+
return nb
|
|
127
|
+
case "pt":
|
|
128
|
+
return pt
|
|
129
|
+
case "ro":
|
|
130
|
+
return ro
|
|
131
|
+
case "sr":
|
|
132
|
+
return sr
|
|
133
|
+
// case "si-LK":
|
|
134
|
+
// return siLK
|
|
135
|
+
case "sk":
|
|
136
|
+
return sk
|
|
137
|
+
case "es":
|
|
138
|
+
return es
|
|
139
|
+
// case "tl":
|
|
140
|
+
// return tlPH
|
|
141
|
+
case "th":
|
|
142
|
+
return th
|
|
143
|
+
case "tr":
|
|
144
|
+
return tr
|
|
145
|
+
case "vi":
|
|
146
|
+
return vi
|
|
147
|
+
case "cy":
|
|
148
|
+
return cy
|
|
18
149
|
default:
|
|
19
|
-
return
|
|
150
|
+
return enGB
|
|
20
151
|
}
|
|
21
152
|
}
|
|
@@ -37,8 +37,8 @@ export type DateRangePickerProps = {
|
|
|
37
37
|
*/
|
|
38
38
|
value?: string
|
|
39
39
|
/**
|
|
40
|
-
* Accepts a DayOfWeek value to start the week on that day.
|
|
41
|
-
* it
|
|
40
|
+
* Accepts a DayOfWeek value to start the week on that day.
|
|
41
|
+
* By default it adapts to the provided locale.
|
|
42
42
|
*/
|
|
43
43
|
weekStartsOn?: LegacyCalendarRangeProps["weekStartsOn"]
|
|
44
44
|
/**
|