@mrshmllw/smores-react 2.19.2 → 2.19.3
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/Datepicker/Datepicker.d.ts +3 -0
- package/dist/Datepicker/Datepicker.js +11 -5
- package/dist/Datepicker/Datepicker.js.map +1 -1
- package/dist/Dropdown/__tests__/Dropdown.d.ts +1 -0
- package/dist/Dropdown/__tests__/Dropdown.js +80 -0
- package/dist/Dropdown/__tests__/Dropdown.js.map +1 -0
- package/dist/Snackbar/SnackbarContainer.js +1 -1
- package/package.json +1 -1
@@ -4,6 +4,9 @@ export type DatepickerProps = {
|
|
4
4
|
showDayLabels?: boolean;
|
5
5
|
disableWeekend?: boolean;
|
6
6
|
fromDate?: Date;
|
7
|
+
endingDate?: Date;
|
8
|
+
showYear?: boolean;
|
9
|
+
showSelectedDate?: boolean;
|
7
10
|
range?: number;
|
8
11
|
onDateSelect: (date: string) => void;
|
9
12
|
onChange?: (value: Date) => void;
|
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
11
11
|
};
|
12
12
|
import React, { useState } from 'react';
|
13
13
|
import styled from 'styled-components';
|
14
|
-
import { format, addDays, getMonth, getYear, eachMonthOfInterval, isSameDay, isWithinInterval, getDaysInMonth, isWeekend, } from 'date-fns';
|
14
|
+
import { format, addDays, getMonth, getYear, eachMonthOfInterval, isSameDay, isWithinInterval, getDaysInMonth, isWeekend, isSameMonth, } from 'date-fns';
|
15
15
|
import { Box } from '../Box';
|
16
16
|
import { Text } from '../Text';
|
17
17
|
import { Icon } from '../Icon';
|
@@ -30,17 +30,20 @@ const getAvailableMonths = (startDate, endDate) => {
|
|
30
30
|
}));
|
31
31
|
};
|
32
32
|
export const Datepicker = (_a) => {
|
33
|
-
var { showDayLabels = false, disableWeekend = true, range = 14, fromDate = new Date(), onDateSelect, onChange, value } = _a, marginProps = __rest(_a, ["showDayLabels", "disableWeekend", "range", "fromDate", "onDateSelect", "onChange", "value"]);
|
33
|
+
var { showDayLabels = false, disableWeekend = true, range = 14, fromDate = new Date(), endingDate, showYear = false, showSelectedDate = false, onDateSelect, onChange, value } = _a, marginProps = __rest(_a, ["showDayLabels", "disableWeekend", "range", "fromDate", "endingDate", "showYear", "showSelectedDate", "onDateSelect", "onChange", "value"]);
|
34
34
|
// We want to make sure that the date is in the UK timezone,
|
35
35
|
// this might need to be revisit when opening up to new countries
|
36
36
|
const startDate = convertToUkDate(fromDate);
|
37
|
-
const endDate = addDays(startDate, range);
|
37
|
+
const endDate = endingDate ? endingDate : addDays(startDate, range);
|
38
38
|
const availableMonths = getAvailableMonths(startDate, endDate);
|
39
|
+
const selectedDate = value !== null && value !== void 0 ? value : new Date();
|
39
40
|
const [activeDay, setActiveDay] = useControllableState({
|
40
41
|
initialState: undefined,
|
41
42
|
stateProp: value,
|
42
43
|
});
|
43
|
-
const [activeMonthIndex, setActiveMonth] = useState(
|
44
|
+
const [activeMonthIndex, setActiveMonth] = useState(showSelectedDate
|
45
|
+
? availableMonths.findIndex((month) => isSameMonth(month.date, selectedDate))
|
46
|
+
: 0);
|
44
47
|
const handleSelectEvent = (date) => {
|
45
48
|
setActiveDay(date);
|
46
49
|
onChange === null || onChange === void 0 ? void 0 : onChange(date);
|
@@ -67,7 +70,10 @@ export const Datepicker = (_a) => {
|
|
67
70
|
React.createElement(Header, { flex: true, alignItems: "center", justifyContent: "space-between", direction: "row" },
|
68
71
|
React.createElement(Circle, { type: "button", disabled: activeMonthIndex === 0, onClick: () => setActiveMonth(activeMonthIndex - 1) },
|
69
72
|
React.createElement(Caret, { render: "caret", color: "white", size: 24, rotate: 90 })),
|
70
|
-
React.createElement(Heading, { tag: "h4", typo: "body-regular" },
|
73
|
+
React.createElement(Heading, { tag: "h4", typo: "body-regular" },
|
74
|
+
availableMonths[activeMonthIndex].label,
|
75
|
+
' ',
|
76
|
+
showYear && `- ${getYear(availableMonths[activeMonthIndex].date)}`),
|
71
77
|
React.createElement(Circle, { type: "button", disabled: activeMonthIndex === availableMonths.length - 1, onClick: () => setActiveMonth(activeMonthIndex + 1) },
|
72
78
|
React.createElement(Caret, { render: "caret", color: "white", size: 24, rotate: -90 }))),
|
73
79
|
React.createElement(Box, { flex: true, alignItems: "center", justifyContent: "center" },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Datepicker.js","sourceRoot":"","sources":["../../src/Datepicker/Datepicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,SAAS,
|
1
|
+
{"version":3,"file":"Datepicker.js","sourceRoot":"","sources":["../../src/Datepicker/Datepicker.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { render } from '@testing-library/react';
|
3
|
+
import 'jest-styled-components';
|
4
|
+
import { Dropdown } from '../Dropdown';
|
5
|
+
const days = [
|
6
|
+
{
|
7
|
+
label: 'Monday',
|
8
|
+
value: 'MONDAY',
|
9
|
+
},
|
10
|
+
{
|
11
|
+
label: 'Tuesday',
|
12
|
+
value: 'TUESDAY',
|
13
|
+
},
|
14
|
+
{
|
15
|
+
label: 'Wednesday',
|
16
|
+
value: 'WEDNESDAY',
|
17
|
+
},
|
18
|
+
{
|
19
|
+
label: 'Thursday',
|
20
|
+
value: 'THURSDAY',
|
21
|
+
},
|
22
|
+
{
|
23
|
+
label: 'Friday',
|
24
|
+
value: 'FRIDAY',
|
25
|
+
},
|
26
|
+
{
|
27
|
+
label: 'Saturday',
|
28
|
+
value: 'SATURDAY',
|
29
|
+
},
|
30
|
+
{
|
31
|
+
label: 'Sunday',
|
32
|
+
value: 'SUNDAY',
|
33
|
+
},
|
34
|
+
];
|
35
|
+
const daysWithGroups = [
|
36
|
+
{
|
37
|
+
label: 'Monday',
|
38
|
+
value: 'MONDAY',
|
39
|
+
optionGroupLabel: 'Weekday',
|
40
|
+
},
|
41
|
+
{
|
42
|
+
label: 'Tuesday',
|
43
|
+
value: 'TUESDAY',
|
44
|
+
optionGroupLabel: 'Weekday',
|
45
|
+
},
|
46
|
+
{
|
47
|
+
label: 'Wednesday',
|
48
|
+
value: 'WEDNESDAY',
|
49
|
+
optionGroupLabel: 'Weekday',
|
50
|
+
},
|
51
|
+
{
|
52
|
+
label: 'Thursday',
|
53
|
+
value: 'THURSDAY',
|
54
|
+
optionGroupLabel: 'Weekday',
|
55
|
+
},
|
56
|
+
{
|
57
|
+
label: 'Friday',
|
58
|
+
value: 'FRIDAY',
|
59
|
+
optionGroupLabel: 'Weekday',
|
60
|
+
},
|
61
|
+
{
|
62
|
+
label: 'Saturday',
|
63
|
+
value: 'SATURDAY',
|
64
|
+
optionGroupLabel: 'Weekend',
|
65
|
+
},
|
66
|
+
{
|
67
|
+
label: 'Sunday',
|
68
|
+
value: 'SUNDAY',
|
69
|
+
optionGroupLabel: 'Weekend',
|
70
|
+
},
|
71
|
+
];
|
72
|
+
test('rendersDropdown', () => {
|
73
|
+
const { container } = render(React.createElement(Dropdown, { list: days }));
|
74
|
+
expect(container.firstChild).toMatchSnapshot();
|
75
|
+
});
|
76
|
+
test('rendersDropdownWithGroups', () => {
|
77
|
+
const { container } = render(React.createElement(Dropdown, { list: daysWithGroups }));
|
78
|
+
expect(container.firstChild).toMatchSnapshot();
|
79
|
+
});
|
80
|
+
//# sourceMappingURL=Dropdown.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/Dropdown/__tests__/Dropdown.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,IAAI,GAAG;IACX;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KACjB;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;KACnB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB;CACF,CAAA;AAED,MAAM,cAAc,GAAG;IACrB;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,SAAS;KAC5B;CACF,CAAA;AAED,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAA;IAEtD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,IAAI,EAAE,cAAc,GAAI,CAAC,CAAA;IAEhE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA"}
|