@ceed/cds 0.0.126 → 0.0.127
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/components/Accordions/Accordions.js +21 -15
- package/dist/components/Accordions/index.js +19 -3
- package/dist/components/Autocomplete/Autocomplete.js +75 -46
- package/dist/components/Autocomplete/index.js +19 -3
- package/dist/components/Box/Box.js +7 -4
- package/dist/components/Box/index.js +19 -3
- package/dist/components/Breadcrumbs/Breadcrumbs.js +46 -17
- package/dist/components/Breadcrumbs/index.js +19 -3
- package/dist/components/Button/Button.js +33 -7
- package/dist/components/Button/index.js +19 -3
- package/dist/components/Calendar/Calendar.js +96 -67
- package/dist/components/Calendar/hooks/use-calendar-props.js +14 -10
- package/dist/components/Calendar/hooks/use-calendar.js +32 -28
- package/dist/components/Calendar/index.js +19 -3
- package/dist/components/Calendar/types.js +2 -1
- package/dist/components/Calendar/utils/index.js +21 -9
- package/dist/components/Card/Card.js +15 -12
- package/dist/components/Card/index.js +19 -3
- package/dist/components/Checkbox/Checkbox.js +12 -6
- package/dist/components/Checkbox/index.js +19 -3
- package/dist/components/Chip/Chip.js +7 -4
- package/dist/components/Chip/index.js +19 -3
- package/dist/components/Container/Container.js +32 -6
- package/dist/components/Container/index.js +19 -3
- package/dist/components/CurrencyInput/CurrencyInput.js +51 -22
- package/dist/components/CurrencyInput/hooks/use-currency-setting.js +10 -3
- package/dist/components/CurrencyInput/index.js +19 -3
- package/dist/components/DataTable/DataTable.js +138 -109
- package/dist/components/DataTable/index.js +19 -3
- package/dist/components/DataTable/types.js +2 -1
- package/dist/components/DatePicker/DatePicker.js +76 -47
- package/dist/components/DatePicker/index.js +19 -3
- package/dist/components/DateRangePicker/DateRangePicker.js +78 -49
- package/dist/components/DateRangePicker/index.js +19 -3
- package/dist/components/DialogActions/DialogActions.js +8 -5
- package/dist/components/DialogActions/index.js +19 -3
- package/dist/components/DialogContent/DialogContent.js +8 -5
- package/dist/components/DialogContent/index.js +19 -3
- package/dist/components/DialogFrame/DialogFrame.js +18 -12
- package/dist/components/DialogFrame/index.js +19 -3
- package/dist/components/DialogTitle/DialogTitle.js +8 -5
- package/dist/components/DialogTitle/index.js +19 -3
- package/dist/components/Divider/Divider.js +12 -6
- package/dist/components/Divider/index.js +19 -3
- package/dist/components/Dropdown/Dropdown.js +7 -4
- package/dist/components/Dropdown/index.js +19 -3
- package/dist/components/FormControl/FormControl.js +10 -7
- package/dist/components/FormControl/index.js +19 -3
- package/dist/components/FormHelperText/FormHelperText.js +7 -4
- package/dist/components/FormHelperText/index.js +19 -3
- package/dist/components/FormLabel/FormLabel.js +7 -4
- package/dist/components/FormLabel/index.js +19 -3
- package/dist/components/Grid/Grid.js +7 -4
- package/dist/components/Grid/index.js +19 -3
- package/dist/components/IconButton/IconButton.js +12 -6
- package/dist/components/IconButton/index.js +19 -3
- package/dist/components/Input/Input.js +19 -13
- package/dist/components/Input/index.js +19 -3
- package/dist/components/InsetDrawer/InsetDrawer.js +12 -6
- package/dist/components/InsetDrawer/index.js +19 -3
- package/dist/components/Markdown/Markdown.js +20 -14
- package/dist/components/Markdown/index.js +19 -3
- package/dist/components/Menu/Menu.js +18 -12
- package/dist/components/Menu/index.js +19 -3
- package/dist/components/Modal/Modal.js +25 -19
- package/dist/components/Modal/index.js +19 -3
- package/dist/components/MonthPicker/MonthPicker.js +75 -46
- package/dist/components/MonthPicker/index.js +19 -3
- package/dist/components/MonthRangePicker/MonthRangePicker.js +77 -48
- package/dist/components/MonthRangePicker/index.js +19 -3
- package/dist/components/Radio/Radio.js +9 -6
- package/dist/components/Radio/index.js +19 -3
- package/dist/components/RadioList/RadioList.js +10 -4
- package/dist/components/RadioList/index.js +19 -3
- package/dist/components/Select/Select.js +43 -14
- package/dist/components/Select/index.js +19 -3
- package/dist/components/Sheet/Sheet.js +7 -4
- package/dist/components/Sheet/index.js +19 -3
- package/dist/components/Stack/Stack.js +7 -4
- package/dist/components/Stack/index.js +19 -3
- package/dist/components/Switch/Switch.js +15 -9
- package/dist/components/Switch/index.js +19 -3
- package/dist/components/Table/Table.js +24 -18
- package/dist/components/Table/index.js +19 -3
- package/dist/components/Tabs/Tabs.js +13 -10
- package/dist/components/Tabs/index.js +19 -3
- package/dist/components/Textarea/Textarea.js +18 -12
- package/dist/components/Textarea/index.js +19 -3
- package/dist/components/ThemeProvider/ThemeProvider.js +15 -9
- package/dist/components/ThemeProvider/index.js +19 -3
- package/dist/components/Tooltip/Tooltip.js +12 -6
- package/dist/components/Tooltip/index.js +19 -3
- package/dist/components/Typography/Typography.js +12 -6
- package/dist/components/Typography/index.js +19 -3
- package/dist/components/Uploader/Uploader.js +94 -69
- package/dist/components/Uploader/index.js +19 -3
- package/dist/components/index.js +108 -44
- package/dist/index.js +167 -4
- package/package.json +2 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __assign = (this && this.__assign) || function () {
|
|
2
3
|
__assign = Object.assign || function(t) {
|
|
3
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -9,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
10
|
};
|
|
10
11
|
return __assign.apply(this, arguments);
|
|
11
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
12
36
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
37
|
var t = {};
|
|
14
38
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -20,26 +44,31 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
44
|
}
|
|
21
45
|
return t;
|
|
22
46
|
};
|
|
23
|
-
|
|
24
|
-
|
|
47
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
48
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
|
+
};
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.Calendar = void 0;
|
|
52
|
+
var react_1 = __importStar(require("react"));
|
|
53
|
+
var joy_1 = require("@mui/joy");
|
|
25
54
|
// @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
|
|
26
|
-
|
|
55
|
+
var ChevronLeft_js_1 = __importDefault(require("@mui/icons-material/esm/ChevronLeft.js"));
|
|
27
56
|
// @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var CalendarRoot = styled("div", {
|
|
57
|
+
var ChevronRight_js_1 = __importDefault(require("@mui/icons-material/esm/ChevronRight.js"));
|
|
58
|
+
var framer_motion_1 = require("framer-motion");
|
|
59
|
+
var Button_1 = __importDefault(require("../Button"));
|
|
60
|
+
var Typography_1 = __importDefault(require("../Typography"));
|
|
61
|
+
var utils_1 = require("./utils");
|
|
62
|
+
var IconButton_1 = __importDefault(require("../IconButton"));
|
|
63
|
+
var use_calendar_props_1 = require("./hooks/use-calendar-props");
|
|
64
|
+
var use_calendar_1 = require("./hooks/use-calendar");
|
|
65
|
+
var CalendarRoot = (0, joy_1.styled)("div", {
|
|
37
66
|
name: "Calendar",
|
|
38
67
|
slot: "root",
|
|
39
68
|
})({
|
|
40
69
|
maxWidth: "264px",
|
|
41
70
|
});
|
|
42
|
-
var CalendarHeader = styled("div", {
|
|
71
|
+
var CalendarHeader = (0, joy_1.styled)("div", {
|
|
43
72
|
name: "Calendar",
|
|
44
73
|
slot: "calendarHeader",
|
|
45
74
|
})(function (_a) {
|
|
@@ -51,7 +80,7 @@ var CalendarHeader = styled("div", {
|
|
|
51
80
|
padding: theme.spacing(1),
|
|
52
81
|
});
|
|
53
82
|
});
|
|
54
|
-
var CalendarViewContainer = styled("div", {
|
|
83
|
+
var CalendarViewContainer = (0, joy_1.styled)("div", {
|
|
55
84
|
name: "Calendar",
|
|
56
85
|
slot: "viewContainer",
|
|
57
86
|
})(function (_a) {
|
|
@@ -64,7 +93,7 @@ var CalendarViewContainer = styled("div", {
|
|
|
64
93
|
minHeight: calendarType === 'datePicker' ? "250px" : "unset",
|
|
65
94
|
});
|
|
66
95
|
});
|
|
67
|
-
var CalendarViewTable = styled(motion.table, {
|
|
96
|
+
var CalendarViewTable = (0, joy_1.styled)(framer_motion_1.motion.table, {
|
|
68
97
|
name: "Calendar",
|
|
69
98
|
slot: "viewTable",
|
|
70
99
|
})(function (_a) {
|
|
@@ -80,15 +109,15 @@ var CalendarViewTable = styled(motion.table, {
|
|
|
80
109
|
},
|
|
81
110
|
});
|
|
82
111
|
});
|
|
83
|
-
var CalendarWeekHeaderContainer = styled("thead", {
|
|
112
|
+
var CalendarWeekHeaderContainer = (0, joy_1.styled)("thead", {
|
|
84
113
|
name: "Calendar",
|
|
85
114
|
slot: "weekHeaderContainer",
|
|
86
115
|
})({});
|
|
87
|
-
var CalendarDayPickerContainer = styled("tbody", {
|
|
116
|
+
var CalendarDayPickerContainer = (0, joy_1.styled)("tbody", {
|
|
88
117
|
name: "Calendar",
|
|
89
118
|
slot: "dayPickerContainer",
|
|
90
119
|
})({});
|
|
91
|
-
var CalendarSwitchViewButton = styled(
|
|
120
|
+
var CalendarSwitchViewButton = (0, joy_1.styled)(Button_1.default, {
|
|
92
121
|
name: "Calendar",
|
|
93
122
|
slot: "switchViewButton",
|
|
94
123
|
})(function (_a) {
|
|
@@ -99,7 +128,7 @@ var CalendarSwitchViewButton = styled(Button, {
|
|
|
99
128
|
},
|
|
100
129
|
];
|
|
101
130
|
});
|
|
102
|
-
var CalendarDayCell = styled("td", {
|
|
131
|
+
var CalendarDayCell = (0, joy_1.styled)("td", {
|
|
103
132
|
name: "Calendar",
|
|
104
133
|
slot: "dayCell",
|
|
105
134
|
})(function (_a) {
|
|
@@ -124,7 +153,7 @@ var CalendarDayCell = styled("td", {
|
|
|
124
153
|
},
|
|
125
154
|
});
|
|
126
155
|
});
|
|
127
|
-
var CalendarMonthCell = styled("td", {
|
|
156
|
+
var CalendarMonthCell = (0, joy_1.styled)("td", {
|
|
128
157
|
name: "Calendar",
|
|
129
158
|
slot: "monthCell",
|
|
130
159
|
})(function (_a) {
|
|
@@ -149,7 +178,7 @@ var CalendarMonthCell = styled("td", {
|
|
|
149
178
|
},
|
|
150
179
|
});
|
|
151
180
|
});
|
|
152
|
-
var CalendarMonth = styled(
|
|
181
|
+
var CalendarMonth = (0, joy_1.styled)(Button_1.default, {
|
|
153
182
|
name: "Calendar",
|
|
154
183
|
slot: "month",
|
|
155
184
|
})(function (_a) {
|
|
@@ -186,7 +215,7 @@ var CalendarMonth = styled(Button, {
|
|
|
186
215
|
},
|
|
187
216
|
];
|
|
188
217
|
});
|
|
189
|
-
var CalendarDay = styled(
|
|
218
|
+
var CalendarDay = (0, joy_1.styled)(Button_1.default, {
|
|
190
219
|
name: "Calendar",
|
|
191
220
|
slot: "day",
|
|
192
221
|
})(function (_a) {
|
|
@@ -260,18 +289,18 @@ var PickerDays = function (props) {
|
|
|
260
289
|
// prop destruction
|
|
261
290
|
var ownerState = props.ownerState;
|
|
262
291
|
// lib hooks
|
|
263
|
-
var _a = useCalendar(ownerState), getPickerDayProps = _a.getPickerDayProps, getDayCellProps = _a.getDayCellProps;
|
|
292
|
+
var _a = (0, use_calendar_1.useCalendar)(ownerState), getPickerDayProps = _a.getPickerDayProps, getDayCellProps = _a.getDayCellProps;
|
|
264
293
|
// state, ref, querystring hooks
|
|
265
294
|
// form hooks
|
|
266
295
|
// query hooks
|
|
267
296
|
// calculated values
|
|
268
|
-
var calendarDates = useMemo(function () { return getCalendarDates(ownerState.viewMonth); }, [ownerState.viewMonth]);
|
|
269
|
-
var weekdayNames = useMemo(function () { return getWeekdayNames(ownerState.locale || "default"); }, [ownerState.locale]);
|
|
297
|
+
var calendarDates = (0, react_1.useMemo)(function () { return (0, utils_1.getCalendarDates)(ownerState.viewMonth); }, [ownerState.viewMonth]);
|
|
298
|
+
var weekdayNames = (0, react_1.useMemo)(function () { return (0, utils_1.getWeekdayNames)(ownerState.locale || "default"); }, [ownerState.locale]);
|
|
270
299
|
// effects
|
|
271
300
|
// handlers
|
|
272
|
-
return (
|
|
273
|
-
|
|
274
|
-
|
|
301
|
+
return (react_1.default.createElement(CalendarViewContainer, { calendarType: "datePicker" },
|
|
302
|
+
react_1.default.createElement(framer_motion_1.AnimatePresence, { initial: false, custom: ownerState.direction },
|
|
303
|
+
react_1.default.createElement(CalendarViewTable
|
|
275
304
|
// #region framer-motion
|
|
276
305
|
, {
|
|
277
306
|
// #region framer-motion
|
|
@@ -293,27 +322,27 @@ var PickerDays = function (props) {
|
|
|
293
322
|
(_c = ownerState.onMonthChange) === null || _c === void 0 ? void 0 : _c.call(ownerState, date);
|
|
294
323
|
}
|
|
295
324
|
} },
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
i < 6 && (
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
return date ? (
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
i < 6 && (
|
|
307
|
-
|
|
308
|
-
i < 6 && (
|
|
325
|
+
react_1.default.createElement(CalendarWeekHeaderContainer, null,
|
|
326
|
+
react_1.default.createElement("tr", null, weekdayNames.map(function (name, i) { return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
327
|
+
react_1.default.createElement("th", null,
|
|
328
|
+
react_1.default.createElement(Typography_1.default, { level: "body-xs", textAlign: "center" }, name)),
|
|
329
|
+
i < 6 && (react_1.default.createElement("th", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))); }))),
|
|
330
|
+
react_1.default.createElement(CalendarDayPickerContainer, null, calendarDates.map(function (weekDates, rowIndex) { return (react_1.default.createElement(react_1.Fragment, { key: "".concat(ownerState.viewMonth, "_").concat(rowIndex) },
|
|
331
|
+
react_1.default.createElement("tr", null, weekDates.map(function (date, i) {
|
|
332
|
+
return date ? (react_1.default.createElement(react_1.Fragment, { key: i },
|
|
333
|
+
react_1.default.createElement(CalendarDayCell, __assign({}, getDayCellProps(date)),
|
|
334
|
+
react_1.default.createElement(CalendarDay, __assign({ size: "sm", variant: "plain", color: "neutral" }, getPickerDayProps(date)), date)),
|
|
335
|
+
i < 6 && (react_1.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" })))) : (react_1.default.createElement(react_1.Fragment, { key: i },
|
|
336
|
+
react_1.default.createElement("td", null),
|
|
337
|
+
i < 6 && (react_1.default.createElement("td", { "aria-hidden": "true", "aria-description": "cell-gap" }))));
|
|
309
338
|
})),
|
|
310
|
-
rowIndex < calendarDates.length - 1 && (
|
|
311
|
-
|
|
339
|
+
rowIndex < calendarDates.length - 1 && (react_1.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" },
|
|
340
|
+
react_1.default.createElement("td", { colSpan: 13, style: { height: 4 } }))))); }))))));
|
|
312
341
|
};
|
|
313
342
|
var PickerMonths = function (props) {
|
|
314
343
|
var _a;
|
|
315
344
|
var ownerState = props.ownerState;
|
|
316
|
-
var _b = useCalendar(ownerState), getPickerMonthProps = _b.getPickerMonthProps, getMonthCellProps = _b.getMonthCellProps;
|
|
345
|
+
var _b = (0, use_calendar_1.useCalendar)(ownerState), getPickerMonthProps = _b.getPickerMonthProps, getMonthCellProps = _b.getMonthCellProps;
|
|
317
346
|
var chunkedMonths = Array.from({ length: 12 }, function (_, i) { return i; }).reduce(function (acc, month) {
|
|
318
347
|
if (acc[acc.length - 1].length === 4) {
|
|
319
348
|
acc.push([]);
|
|
@@ -322,9 +351,9 @@ var PickerMonths = function (props) {
|
|
|
322
351
|
return acc;
|
|
323
352
|
}, [[]]);
|
|
324
353
|
var isMonthRangeSelection = !((_a = ownerState.views) === null || _a === void 0 ? void 0 : _a.find(function (view) { return view === 'day'; })) && ownerState.rangeSelection;
|
|
325
|
-
return (
|
|
326
|
-
|
|
327
|
-
|
|
354
|
+
return (react_1.default.createElement(CalendarViewContainer, { calendarType: isMonthRangeSelection ? 'monthPicker' : 'datePicker' },
|
|
355
|
+
react_1.default.createElement(framer_motion_1.AnimatePresence, { initial: false, custom: ownerState.direction },
|
|
356
|
+
react_1.default.createElement(CalendarViewTable
|
|
328
357
|
// #region framer-motion
|
|
329
358
|
, {
|
|
330
359
|
// #region framer-motion
|
|
@@ -346,38 +375,38 @@ var PickerMonths = function (props) {
|
|
|
346
375
|
(_c = ownerState.onMonthChange) === null || _c === void 0 ? void 0 : _c.call(ownerState, date);
|
|
347
376
|
}
|
|
348
377
|
} },
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
j < 3 && (
|
|
354
|
-
i < chunkedMonths.length - 1 && (
|
|
355
|
-
|
|
378
|
+
react_1.default.createElement("tbody", null, chunkedMonths.map(function (months, i) { return (react_1.default.createElement(react_1.Fragment, { key: i },
|
|
379
|
+
react_1.default.createElement("tr", null, months.map(function (monthIndex, j) { return (react_1.default.createElement(react_1.Fragment, { key: monthIndex },
|
|
380
|
+
react_1.default.createElement(CalendarMonthCell, __assign({}, getMonthCellProps(monthIndex)),
|
|
381
|
+
react_1.default.createElement(CalendarMonth, __assign({ size: "sm", variant: "plain", color: "neutral" }, getPickerMonthProps(monthIndex)), (0, utils_1.getMonthNameFromIndex)(monthIndex, ownerState.locale))),
|
|
382
|
+
j < 3 && (react_1.default.createElement("td", { style: { width: 4 }, "aria-hidden": "true", "aria-description": "cell-gap" })))); })),
|
|
383
|
+
i < chunkedMonths.length - 1 && (react_1.default.createElement("tr", { "aria-hidden": "true", "aria-description": "row-gap" },
|
|
384
|
+
react_1.default.createElement("td", { colSpan: 7, style: { height: 4 } }))))); }))))));
|
|
356
385
|
};
|
|
357
386
|
/**
|
|
358
387
|
* @see https://mui.com/x/api/date-pickers/date-calendar/ 인터페이스 참고
|
|
359
388
|
*/
|
|
360
|
-
var Calendar = forwardRef(function (inProps, ref) {
|
|
389
|
+
var Calendar = (0, react_1.forwardRef)(function (inProps, ref) {
|
|
361
390
|
// prop destruction
|
|
362
|
-
var _a = useCalendarProps(inProps), props = _a[0], ownerState = _a[1];
|
|
391
|
+
var _a = (0, use_calendar_props_1.useCalendarProps)(inProps), props = _a[0], ownerState = _a[1];
|
|
363
392
|
var value = props.value, defaultValue = props.defaultValue, onChange = props.onChange, locale = props.locale, onViewChange = props.onViewChange, onMonthChange = props.onMonthChange, view = props.view, views = props.views, rangeSelection = props.rangeSelection, others = __rest(props, ["value", "defaultValue", "onChange", "locale", "onViewChange", "onMonthChange", "view", "views", "rangeSelection"]);
|
|
364
393
|
// lib hooks
|
|
365
|
-
var _b = useCalendar(ownerState), calendarTitle = _b.calendarTitle, onPrev = _b.onPrev, onNext = _b.onNext;
|
|
394
|
+
var _b = (0, use_calendar_1.useCalendar)(ownerState), calendarTitle = _b.calendarTitle, onPrev = _b.onPrev, onNext = _b.onNext;
|
|
366
395
|
// state, ref, querystring hooks
|
|
367
396
|
// form hooks
|
|
368
397
|
// query hooks
|
|
369
398
|
// calculated values
|
|
370
399
|
// effects
|
|
371
400
|
// handlers
|
|
372
|
-
return (
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
view === "day" &&
|
|
380
|
-
view === "month" &&
|
|
401
|
+
return (react_1.default.createElement(CalendarRoot, __assign({ ref: ref }, others),
|
|
402
|
+
react_1.default.createElement(CalendarHeader, null,
|
|
403
|
+
react_1.default.createElement(IconButton_1.default, { size: "sm", onClick: onPrev },
|
|
404
|
+
react_1.default.createElement(ChevronLeft_js_1.default, null)),
|
|
405
|
+
react_1.default.createElement(CalendarSwitchViewButton, { ownerState: ownerState, variant: "plain", color: "neutral", onClick: onViewChange }, calendarTitle),
|
|
406
|
+
react_1.default.createElement(IconButton_1.default, { size: "sm", onClick: onNext },
|
|
407
|
+
react_1.default.createElement(ChevronRight_js_1.default, null))),
|
|
408
|
+
view === "day" && react_1.default.createElement(PickerDays, { ownerState: ownerState }),
|
|
409
|
+
view === "month" && react_1.default.createElement(PickerMonths, { ownerState: ownerState })));
|
|
381
410
|
});
|
|
382
|
-
|
|
411
|
+
exports.Calendar = Calendar;
|
|
383
412
|
Calendar.displayName = "Calendar";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __assign = (this && this.__assign) || function () {
|
|
2
3
|
__assign = Object.assign || function(t) {
|
|
3
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -9,30 +10,32 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
10
|
};
|
|
10
11
|
return __assign.apply(this, arguments);
|
|
11
12
|
};
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.useCalendarProps = void 0;
|
|
15
|
+
var react_1 = require("react");
|
|
16
|
+
var joy_1 = require("@mui/joy");
|
|
14
17
|
var resolveView = function (view, views) {
|
|
15
18
|
return views.includes(view) ? view : views[0];
|
|
16
19
|
};
|
|
17
|
-
|
|
20
|
+
var useCalendarProps = function (inProps) {
|
|
18
21
|
var _a, _b;
|
|
19
|
-
var _c = useState(function () {
|
|
22
|
+
var _c = (0, react_1.useState)(function () {
|
|
20
23
|
return resolveView(inProps.view || "day", inProps.views || ["day", "month"]);
|
|
21
24
|
}), uncontrolledView = _c[0], setUncontrolledView = _c[1];
|
|
22
|
-
var _d = useState(inProps.defaultValue), uncontrolledValue = _d[0], setUncontrolledValue = _d[1];
|
|
23
|
-
var _e = useState(function () {
|
|
25
|
+
var _d = (0, react_1.useState)(inProps.defaultValue), uncontrolledValue = _d[0], setUncontrolledValue = _d[1];
|
|
26
|
+
var _e = (0, react_1.useState)(function () {
|
|
24
27
|
var _a, _b;
|
|
25
28
|
var today = new Date();
|
|
26
29
|
today.setDate(1);
|
|
27
30
|
today.setHours(0, 0, 0, 0);
|
|
28
31
|
return ((_a = inProps.value) === null || _a === void 0 ? void 0 : _a[0]) || ((_b = inProps.defaultValue) === null || _b === void 0 ? void 0 : _b[0]) || today;
|
|
29
32
|
}), viewMonth = _e[0], setViewMonth = _e[1];
|
|
30
|
-
var _f = useState([0, 0]), _g = _f[0], page = _g[0], direction = _g[1], setPage = _f[1];
|
|
33
|
+
var _f = (0, react_1.useState)([0, 0]), _g = _f[0], page = _g[0], direction = _g[1], setPage = _f[1];
|
|
31
34
|
var resolvedView = (_a = inProps.view) !== null && _a !== void 0 ? _a : uncontrolledView;
|
|
32
35
|
var paginate = function (newDirection) {
|
|
33
36
|
setPage([page + newDirection, newDirection]);
|
|
34
37
|
};
|
|
35
|
-
var handleViewMonthChange = useCallback(function (newMonth) {
|
|
38
|
+
var handleViewMonthChange = (0, react_1.useCallback)(function (newMonth) {
|
|
36
39
|
var _a;
|
|
37
40
|
setViewMonth(newMonth);
|
|
38
41
|
if (resolvedView === "month") {
|
|
@@ -45,7 +48,7 @@ export var useCalendarProps = function (inProps) {
|
|
|
45
48
|
}
|
|
46
49
|
(_a = inProps.onMonthChange) === null || _a === void 0 ? void 0 : _a.call(inProps, newMonth);
|
|
47
50
|
}, [inProps.onMonthChange, viewMonth, resolvedView]);
|
|
48
|
-
var props = useThemeProps({
|
|
51
|
+
var props = (0, joy_1.useThemeProps)({
|
|
49
52
|
props: __assign(__assign({ locale: "default", views: ["day", "month"], view: resolvedView, value: (_b = inProps.value) !== null && _b !== void 0 ? _b : uncontrolledValue }, inProps), {
|
|
50
53
|
// overrides
|
|
51
54
|
onChange: inProps.value
|
|
@@ -75,6 +78,7 @@ export var useCalendarProps = function (inProps) {
|
|
|
75
78
|
/**
|
|
76
79
|
* For ownerState
|
|
77
80
|
*/
|
|
78
|
-
var ownerState = useMemo(function () { return (__assign(__assign({}, props), { viewMonth: viewMonth, direction: direction })); }, [props, viewMonth, direction]);
|
|
81
|
+
var ownerState = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props), { viewMonth: viewMonth, direction: direction })); }, [props, viewMonth, direction]);
|
|
79
82
|
return [props, ownerState];
|
|
80
83
|
};
|
|
84
|
+
exports.useCalendarProps = useCalendarProps;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCalendar = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var utils_1 = require("../utils");
|
|
6
|
+
var useCalendar = function (ownerState) {
|
|
7
|
+
var _a = (0, react_1.useState)(null), hoverDay = _a[0], setHoverDay = _a[1];
|
|
8
|
+
var _b = (0, react_1.useState)(null), hoverMonth = _b[0], setHoverMonth = _b[1];
|
|
6
9
|
return {
|
|
7
10
|
calendarTitle: ownerState.view === "month"
|
|
8
|
-
? getYearName(ownerState.viewMonth, ownerState.locale || "default")
|
|
9
|
-
: getMonthName(ownerState.viewMonth, ownerState.locale || "default"),
|
|
10
|
-
onPrev: useCallback(function () {
|
|
11
|
+
? (0, utils_1.getYearName)(ownerState.viewMonth, ownerState.locale || "default")
|
|
12
|
+
: (0, utils_1.getMonthName)(ownerState.viewMonth, ownerState.locale || "default"),
|
|
13
|
+
onPrev: (0, react_1.useCallback)(function () {
|
|
11
14
|
var _a, _b;
|
|
12
15
|
if (ownerState.view === "day") {
|
|
13
16
|
var prevMonth = new Date(ownerState.viewMonth || new Date());
|
|
@@ -20,7 +23,7 @@ export var useCalendar = function (ownerState) {
|
|
|
20
23
|
(_b = ownerState.onMonthChange) === null || _b === void 0 ? void 0 : _b.call(ownerState, prevYear);
|
|
21
24
|
}
|
|
22
25
|
}, [ownerState.onMonthChange, ownerState.viewMonth, ownerState.view]),
|
|
23
|
-
onNext: useCallback(function () {
|
|
26
|
+
onNext: (0, react_1.useCallback)(function () {
|
|
24
27
|
var _a, _b;
|
|
25
28
|
if (ownerState.view === "day") {
|
|
26
29
|
var nextMonth = new Date(ownerState.viewMonth || new Date());
|
|
@@ -33,7 +36,7 @@ export var useCalendar = function (ownerState) {
|
|
|
33
36
|
(_b = ownerState.onMonthChange) === null || _b === void 0 ? void 0 : _b.call(ownerState, nextYear);
|
|
34
37
|
}
|
|
35
38
|
}, [ownerState.onMonthChange, ownerState.viewMonth, ownerState.view]),
|
|
36
|
-
getDayCellProps: useCallback(function (day) {
|
|
39
|
+
getDayCellProps: (0, react_1.useCallback)(function (day) {
|
|
37
40
|
var thisDay = new Date(ownerState.viewMonth || new Date());
|
|
38
41
|
thisDay.setHours(0, 0, 0, 0);
|
|
39
42
|
thisDay.setDate(day);
|
|
@@ -42,10 +45,10 @@ export var useCalendar = function (ownerState) {
|
|
|
42
45
|
ownerState.value[0] &&
|
|
43
46
|
// NOTE: hover day is not included in the range
|
|
44
47
|
((hoverDay &&
|
|
45
|
-
isWithinRange(ownerState.value[0], hoverDay, thisDay)) ||
|
|
48
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], hoverDay, thisDay)) ||
|
|
46
49
|
// NOTE: Selected range is included in the range
|
|
47
50
|
(ownerState.value[1] &&
|
|
48
|
-
isWithinRange(ownerState.value[0], ownerState.value[1], thisDay)));
|
|
51
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], ownerState.value[1], thisDay)));
|
|
49
52
|
return {
|
|
50
53
|
"aria-label": thisDay.toLocaleDateString(),
|
|
51
54
|
"aria-current": inRange ? "date" : undefined,
|
|
@@ -56,7 +59,7 @@ export var useCalendar = function (ownerState) {
|
|
|
56
59
|
ownerState.viewMonth,
|
|
57
60
|
hoverDay,
|
|
58
61
|
]),
|
|
59
|
-
getMonthCellProps: useCallback(function (monthIndex) {
|
|
62
|
+
getMonthCellProps: (0, react_1.useCallback)(function (monthIndex) {
|
|
60
63
|
var _a;
|
|
61
64
|
var thisMonth = new Date(ownerState.viewMonth || new Date());
|
|
62
65
|
thisMonth.setDate(1);
|
|
@@ -68,10 +71,10 @@ export var useCalendar = function (ownerState) {
|
|
|
68
71
|
ownerState.value[0] &&
|
|
69
72
|
// NOTE: hover day is not included in the range
|
|
70
73
|
((hoverMonth &&
|
|
71
|
-
isWithinRange(ownerState.value[0], hoverMonth, thisMonth)) ||
|
|
74
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], hoverMonth, thisMonth)) ||
|
|
72
75
|
// NOTE: Selected range is included in the range
|
|
73
76
|
(ownerState.value[1] &&
|
|
74
|
-
isWithinRange(ownerState.value[0], ownerState.value[1], thisMonth)));
|
|
77
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], ownerState.value[1], thisMonth)));
|
|
75
78
|
return {
|
|
76
79
|
"aria-label": thisMonth.toLocaleDateString(),
|
|
77
80
|
"aria-current": inRange ? "date" : undefined,
|
|
@@ -82,23 +85,23 @@ export var useCalendar = function (ownerState) {
|
|
|
82
85
|
ownerState.viewMonth,
|
|
83
86
|
hoverMonth,
|
|
84
87
|
]),
|
|
85
|
-
getPickerDayProps: useCallback(function (day) {
|
|
88
|
+
getPickerDayProps: (0, react_1.useCallback)(function (day) {
|
|
86
89
|
var _a, _b;
|
|
87
90
|
var thisDay = new Date(ownerState.viewMonth || new Date());
|
|
88
91
|
thisDay.setHours(0, 0, 0, 0);
|
|
89
92
|
thisDay.setDate(day);
|
|
90
93
|
var isSelected = !!ownerState.value &&
|
|
91
|
-
(isSameDay(thisDay, ownerState.value[0]) ||
|
|
92
|
-
(ownerState.value[1] && isSameDay(thisDay, ownerState.value[1])));
|
|
94
|
+
((0, utils_1.isSameDay)(thisDay, ownerState.value[0]) ||
|
|
95
|
+
(ownerState.value[1] && (0, utils_1.isSameDay)(thisDay, ownerState.value[1])));
|
|
93
96
|
var inRange = ownerState.rangeSelection &&
|
|
94
97
|
ownerState.value &&
|
|
95
98
|
ownerState.value[0] &&
|
|
96
99
|
// NOTE: hover day is not included in the range
|
|
97
100
|
((hoverDay &&
|
|
98
|
-
isWithinRange(ownerState.value[0], hoverDay, thisDay)) ||
|
|
101
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], hoverDay, thisDay)) ||
|
|
99
102
|
// NOTE: Selected range is included in the range
|
|
100
103
|
(ownerState.value[1] &&
|
|
101
|
-
isWithinRange(ownerState.value[0], ownerState.value[1], thisDay)));
|
|
104
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], ownerState.value[1], thisDay)));
|
|
102
105
|
var handleDayClick = function () {
|
|
103
106
|
var _a, _b, _c, _d;
|
|
104
107
|
if (ownerState.rangeSelection) {
|
|
@@ -121,7 +124,7 @@ export var useCalendar = function (ownerState) {
|
|
|
121
124
|
setHoverDay(null);
|
|
122
125
|
};
|
|
123
126
|
return {
|
|
124
|
-
isToday: isToday(thisDay),
|
|
127
|
+
isToday: (0, utils_1.isToday)(thisDay),
|
|
125
128
|
isSelected: isSelected,
|
|
126
129
|
onClick: handleDayClick,
|
|
127
130
|
onMouseEnter: ownerState.rangeSelection &&
|
|
@@ -155,7 +158,7 @@ export var useCalendar = function (ownerState) {
|
|
|
155
158
|
ownerState.disablePast,
|
|
156
159
|
hoverDay,
|
|
157
160
|
]),
|
|
158
|
-
getPickerMonthProps: useCallback(function (monthIndex) {
|
|
161
|
+
getPickerMonthProps: (0, react_1.useCallback)(function (monthIndex) {
|
|
159
162
|
var _a, _b, _c;
|
|
160
163
|
var thisMonth = new Date(ownerState.viewMonth || new Date());
|
|
161
164
|
thisMonth.setDate(1);
|
|
@@ -163,18 +166,18 @@ export var useCalendar = function (ownerState) {
|
|
|
163
166
|
thisMonth.setMonth(monthIndex);
|
|
164
167
|
var isMonthRangeSelection = !((_a = ownerState.views) === null || _a === void 0 ? void 0 : _a.find(function (view) { return view === 'day'; })) && ownerState.rangeSelection;
|
|
165
168
|
var isSelected = !!ownerState.value &&
|
|
166
|
-
(isSameMonth(thisMonth, ownerState.value[0]) ||
|
|
169
|
+
((0, utils_1.isSameMonth)(thisMonth, ownerState.value[0]) ||
|
|
167
170
|
(ownerState.value[1] &&
|
|
168
|
-
isSameMonth(thisMonth, ownerState.value[1])));
|
|
171
|
+
(0, utils_1.isSameMonth)(thisMonth, ownerState.value[1])));
|
|
169
172
|
var inRange = isMonthRangeSelection &&
|
|
170
173
|
ownerState.value &&
|
|
171
174
|
ownerState.value[0] &&
|
|
172
175
|
// NOTE: hover day is not included in the range
|
|
173
176
|
((hoverMonth &&
|
|
174
|
-
isWithinRange(ownerState.value[0], hoverMonth, thisMonth)) ||
|
|
177
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], hoverMonth, thisMonth)) ||
|
|
175
178
|
// NOTE: Selected range is included in the range
|
|
176
179
|
(ownerState.value[1] &&
|
|
177
|
-
isWithinRange(ownerState.value[0], ownerState.value[1], thisMonth)));
|
|
180
|
+
(0, utils_1.isWithinRange)(ownerState.value[0], ownerState.value[1], thisMonth)));
|
|
178
181
|
var handleMonthClick = function () {
|
|
179
182
|
var _a, _b, _c, _d, _e;
|
|
180
183
|
if (isMonthRangeSelection) {
|
|
@@ -220,10 +223,10 @@ export var useCalendar = function (ownerState) {
|
|
|
220
223
|
return lastDay > ownerState.maxDate;
|
|
221
224
|
})()) ||
|
|
222
225
|
(ownerState.disableFuture && thisMonth > new Date()) ||
|
|
223
|
-
(ownerState.disablePast && thisMonth < new Date() && !isSameMonth(thisMonth, new Date())),
|
|
226
|
+
(ownerState.disablePast && thisMonth < new Date() && !(0, utils_1.isSameMonth)(thisMonth, new Date())),
|
|
224
227
|
onClick: handleMonthClick,
|
|
225
228
|
tabIndex: -1,
|
|
226
|
-
"aria-label": getMonthName(thisMonth, ownerState.locale || "default"),
|
|
229
|
+
"aria-label": (0, utils_1.getMonthName)(thisMonth, ownerState.locale || "default"),
|
|
227
230
|
"aria-selected": isSelected ? "true" : undefined,
|
|
228
231
|
"aria-current": inRange ? "date" : undefined,
|
|
229
232
|
};
|
|
@@ -242,3 +245,4 @@ export var useCalendar = function (ownerState) {
|
|
|
242
245
|
]),
|
|
243
246
|
};
|
|
244
247
|
};
|
|
248
|
+
exports.useCalendar = useCalendar;
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var Calendar_1 = require("./Calendar");
|
|
18
|
+
__exportStar(require("./Calendar"), exports);
|
|
19
|
+
exports.default = Calendar_1.Calendar;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSameMonth = exports.isWithinRange = exports.isSameDay = exports.isToday = exports.getWeekdayNames = exports.getMonthNameFromIndex = exports.getMonthName = exports.getYearName = exports.getCalendarDates = void 0;
|
|
4
|
+
var getCalendarDates = function (date) {
|
|
2
5
|
var dates = [];
|
|
3
6
|
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
4
7
|
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
@@ -23,19 +26,23 @@ export var getCalendarDates = function (date) {
|
|
|
23
26
|
}
|
|
24
27
|
return dates;
|
|
25
28
|
};
|
|
26
|
-
|
|
29
|
+
exports.getCalendarDates = getCalendarDates;
|
|
30
|
+
var getYearName = function (date, locale) {
|
|
27
31
|
return date.toLocaleString(locale, { year: "numeric" });
|
|
28
32
|
};
|
|
29
|
-
|
|
33
|
+
exports.getYearName = getYearName;
|
|
34
|
+
var getMonthName = function (date, locale) {
|
|
30
35
|
return date.toLocaleString(locale, { year: "numeric", month: "long" });
|
|
31
36
|
};
|
|
32
|
-
|
|
37
|
+
exports.getMonthName = getMonthName;
|
|
38
|
+
var getMonthNameFromIndex = function (index, locale) {
|
|
33
39
|
return new Date(0, index).toLocaleString(locale, { month: "short" });
|
|
34
40
|
};
|
|
41
|
+
exports.getMonthNameFromIndex = getMonthNameFromIndex;
|
|
35
42
|
/**
|
|
36
43
|
* 일~토 / Sun ~ Sat 같은 요일 이름을 가져옵니다.
|
|
37
44
|
*/
|
|
38
|
-
|
|
45
|
+
var getWeekdayNames = function (locale) {
|
|
39
46
|
var currentDay = new Date().getDay();
|
|
40
47
|
var date = new Date();
|
|
41
48
|
date.setDate(date.getDate() - currentDay);
|
|
@@ -45,28 +52,33 @@ export var getWeekdayNames = function (locale) {
|
|
|
45
52
|
return day;
|
|
46
53
|
});
|
|
47
54
|
};
|
|
48
|
-
|
|
55
|
+
exports.getWeekdayNames = getWeekdayNames;
|
|
56
|
+
var isToday = function (date) {
|
|
49
57
|
var today = new Date();
|
|
50
58
|
var d = new Date(date);
|
|
51
59
|
d.setHours(0, 0, 0, 0);
|
|
52
60
|
today.setHours(0, 0, 0, 0);
|
|
53
61
|
return d.getTime() === today.getTime();
|
|
54
62
|
};
|
|
55
|
-
|
|
63
|
+
exports.isToday = isToday;
|
|
64
|
+
var isSameDay = function (date1, date2) {
|
|
56
65
|
var d1 = new Date(date1);
|
|
57
66
|
var d2 = new Date(date2);
|
|
58
67
|
d1.setHours(0, 0, 0, 0);
|
|
59
68
|
d2.setHours(0, 0, 0, 0);
|
|
60
69
|
return d1.getTime() === d2.getTime();
|
|
61
70
|
};
|
|
62
|
-
|
|
71
|
+
exports.isSameDay = isSameDay;
|
|
72
|
+
var isWithinRange = function (d1, d2, date) {
|
|
63
73
|
var dateToCheck = new Date(date);
|
|
64
74
|
dateToCheck.setHours(0, 0, 0, 0);
|
|
65
75
|
var minDate = new Date(Math.min(d1.getTime(), d2.getTime()));
|
|
66
76
|
var maxDate = new Date(Math.max(d1.getTime(), d2.getTime()));
|
|
67
77
|
return dateToCheck >= minDate && dateToCheck <= maxDate;
|
|
68
78
|
};
|
|
69
|
-
|
|
79
|
+
exports.isWithinRange = isWithinRange;
|
|
80
|
+
var isSameMonth = function (date1, date2) {
|
|
70
81
|
return (date1.getFullYear() === date2.getFullYear() &&
|
|
71
82
|
date1.getMonth() === date2.getMonth());
|
|
72
83
|
};
|
|
84
|
+
exports.isSameMonth = isSameMonth;
|