@spothero/ui 17.1.0-beta.0 → 17.1.0-beta.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/components/{DatepickerRange → Datepicker/Range}/DatepickerRange.js +7 -4
- package/dist/components/{DatepickerRange → Datepicker/Range}/DatepickerRange.stories.js +26 -10
- package/dist/components/{DatepickerRange → Datepicker/Range}/components/DateRow.js +30 -29
- package/dist/components/{DatepickerRange → Datepicker/Range/components}/DatepickerRangeContainer.js +110 -41
- package/dist/components/{DatepickerRange → Datepicker/Range}/components/DatepickerRangeControls.js +7 -4
- package/dist/components/Datepicker/Range/components/index.js +31 -0
- package/dist/components/Datepicker/Range/utils/propTypes.js +158 -0
- package/dist/components/Datepicker/{Datepicker.stories.js → Single/Datepicker.stories.js} +49 -30
- package/dist/components/Datepicker/{DatepickerContext.js → Single/DatepickerContext.js} +4 -4
- package/dist/components/Datepicker/{DatepickerSingle.js → Single/DatepickerSingle.js} +7 -4
- package/dist/components/Datepicker/{components → Single/components}/DateRow.js +19 -18
- package/dist/components/Datepicker/{DatepickerContainer.js → Single/components/DatepickerContainer.js} +84 -31
- package/dist/components/Datepicker/Single/components/DatepickerControl.js +51 -0
- package/dist/components/Datepicker/Single/components/index.js +31 -0
- package/dist/components/Datepicker/Single/utils/propTypes.js +88 -0
- package/dist/components/Datepicker/{components → common/components}/DatepickerDays.js +19 -16
- package/dist/components/Datepicker/{components → common/components}/DatepickerHeader.js +28 -23
- package/dist/components/Datepicker/common/components/DatepickerInput.js +127 -0
- package/dist/components/{DatepickerRange → Datepicker/common}/components/WithPopoverAnchor.js +3 -1
- package/dist/components/Datepicker/common/components/WithPortal.js +26 -0
- package/dist/components/Datepicker/common/components/index.js +39 -0
- package/dist/components/Datepicker/common/utils/constants.js +43 -0
- package/dist/components/{DatepickerRange/utils/dateRowArithmentic.js → Datepicker/common/utils/dateRowCalculations.js} +14 -15
- package/dist/components/Datepicker/{utils/propTypes.js → common/utils/sharedPropTypes.js} +8 -62
- package/dist/components/Datepicker/index.js +23 -0
- package/dist/components/index.js +3 -5
- package/package.json +1 -1
- package/dist/components/Datepicker/components/DatepickerControl.js +0 -83
- package/dist/components/Datepicker/constants.js +0 -31
- package/dist/components/Datepicker/utils/dateRowArithmentic.js +0 -58
- package/dist/components/DatepickerRange/components/DatepickerDays.js +0 -108
- package/dist/components/DatepickerRange/components/DatepickerHeader.js +0 -116
- package/dist/components/DatepickerRange/components/DatepickerRangeInput.js +0 -90
- package/dist/components/DatepickerRange/constants.js +0 -31
- package/dist/components/DatepickerRange/utils/generalCalculations.js +0 -71
- package/dist/components/DatepickerRange/utils/getWeeksOfMonth.js +0 -51
- package/dist/components/DatepickerRange/utils/propTypes.js +0 -245
- /package/dist/components/{DatepickerRange → Datepicker/Range}/DatepickerRangeContext.js +0 -0
- /package/dist/components/Datepicker/{utils → common/utils}/generalCalculations.js +0 -0
- /package/dist/components/Datepicker/{utils → common/utils}/getWeeksOfMonth.js +0 -0
|
@@ -10,15 +10,19 @@ exports.isAfterStart = isAfterStart;
|
|
|
10
10
|
exports.isBeforeDisabledDate = isBeforeDisabledDate;
|
|
11
11
|
exports.isBeforeStart = isBeforeStart;
|
|
12
12
|
exports.isDateBeforeToday = isDateBeforeToday;
|
|
13
|
-
exports.isEqualToStart = isEqualToStart;
|
|
14
13
|
exports.isToday = isToday;
|
|
15
14
|
exports.outOfMonth = outOfMonth;
|
|
16
|
-
exports.
|
|
15
|
+
exports.selectedRange = selectedRange;
|
|
16
|
+
exports.selectedSingle = selectedSingle;
|
|
17
17
|
exports.withinRange = withinRange;
|
|
18
18
|
exports.withinRangeAfterStart = withinRangeAfterStart;
|
|
19
19
|
exports.withinRangeBeforeStart = withinRangeBeforeStart;
|
|
20
20
|
|
|
21
|
-
function
|
|
21
|
+
function selectedSingle(calendarDate, selectedDate) {
|
|
22
|
+
return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) === (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.getTime());
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function selectedRange(calendarDate, selectedStartDate, selectedEndDate) {
|
|
22
26
|
return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) === (selectedStartDate === null || selectedStartDate === void 0 ? void 0 : selectedStartDate.getTime()) || (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) === (selectedEndDate === null || selectedEndDate === void 0 ? void 0 : selectedEndDate.getTime());
|
|
23
27
|
}
|
|
24
28
|
|
|
@@ -31,14 +35,9 @@ function getButtonText(calendarDate) {
|
|
|
31
35
|
return calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate();
|
|
32
36
|
}
|
|
33
37
|
|
|
34
|
-
function isEqualToStart(calendarDate, selectedStartDate) {
|
|
35
|
-
var equalToStart = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) === (selectedStartDate === null || selectedStartDate === void 0 ? void 0 : selectedStartDate.getTime());
|
|
36
|
-
return equalToStart;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
38
|
function areEqual(dateOne, dateTwo) {
|
|
40
|
-
var
|
|
41
|
-
return
|
|
39
|
+
var areDatesEqual = (dateOne === null || dateOne === void 0 ? void 0 : dateOne.getTime()) === (dateTwo === null || dateTwo === void 0 ? void 0 : dateTwo.getTime());
|
|
40
|
+
return areDatesEqual;
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
function isBeforeStart(calendarDate, selectedStartDate) {
|
|
@@ -65,11 +64,6 @@ function withinRange(calendarDate, dateToCompare, selectedStartDate) {
|
|
|
65
64
|
return withinRangeBeforeStart(calendarDate, dateToCompare, selectedStartDate) || withinRangeAfterStart(calendarDate, dateToCompare, selectedStartDate);
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
function isDateBeforeToday(calendarDate, today) {
|
|
69
|
-
var isBeforeToday = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getFullYear()) <= (today === null || today === void 0 ? void 0 : today.getFullYear()) && (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) < (today === null || today === void 0 ? void 0 : today.getMonth()) || (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) === (today === null || today === void 0 ? void 0 : today.getMonth()) && (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate()) < (today === null || today === void 0 ? void 0 : today.getDate());
|
|
70
|
-
return isBeforeToday;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
67
|
function isBeforeDisabledDate(calendarDate, disableBeforeDate) {
|
|
74
68
|
var beforeDisabledDate = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) < (disableBeforeDate === null || disableBeforeDate === void 0 ? void 0 : disableBeforeDate.getTime());
|
|
75
69
|
return beforeDisabledDate;
|
|
@@ -80,6 +74,11 @@ function isAfterDisabledDate(calendarDate, disableAfterDate) {
|
|
|
80
74
|
return afterDisabledDate;
|
|
81
75
|
}
|
|
82
76
|
|
|
77
|
+
function isDateBeforeToday(calendarDate, today) {
|
|
78
|
+
var isBeforeToday = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getFullYear()) <= (today === null || today === void 0 ? void 0 : today.getFullYear()) && (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) < (today === null || today === void 0 ? void 0 : today.getMonth()) || (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) === (today === null || today === void 0 ? void 0 : today.getMonth()) && (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate()) < (today === null || today === void 0 ? void 0 : today.getDate());
|
|
79
|
+
return isBeforeToday;
|
|
80
|
+
}
|
|
81
|
+
|
|
83
82
|
function isToday(calendarDate, today) {
|
|
84
83
|
var isSameDate = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate()) === (today === null || today === void 0 ? void 0 : today.getDate());
|
|
85
84
|
var isSameMonth = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) === (today === null || today === void 0 ? void 0 : today.getMonth());
|
|
@@ -5,11 +5,17 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.inputComponentOverridesProps = exports.
|
|
8
|
+
exports.inputComponentOverridesProps = exports.datepickerHeaderOverridesProps = exports.datepickerDaysOverridesProps = exports.datepickerBodyOverridesProps = exports.dateRowOverridesProps = void 0;
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
12
|
var inputComponentOverridesProps = _propTypes.default.shape({
|
|
13
|
+
/**
|
|
14
|
+
* Overrides for the parent Box component that wraps the Inputs and Form control,
|
|
15
|
+
* see https://chakra-ui.com/docs/components/box/usage for more
|
|
16
|
+
*/
|
|
17
|
+
inputGroupContainer: _propTypes.default.object,
|
|
18
|
+
|
|
13
19
|
/**
|
|
14
20
|
* Overrides for the parent FormControl component,
|
|
15
21
|
* see https://chakra-ui.com/docs/components/form-control/props for more
|
|
@@ -138,64 +144,4 @@ var datepickerBodyOverridesProps = _propTypes.default.shape({
|
|
|
138
144
|
datepickerDaysOverrides: datepickerDaysOverridesProps
|
|
139
145
|
});
|
|
140
146
|
|
|
141
|
-
exports.datepickerBodyOverridesProps = datepickerBodyOverridesProps;
|
|
142
|
-
|
|
143
|
-
var datepickerOverridesProps = _propTypes.default.shape({
|
|
144
|
-
/**
|
|
145
|
-
* Overrides for the parent Popover component,
|
|
146
|
-
* see https://chakra-ui.com/docs/components/popover/props for more
|
|
147
|
-
*/
|
|
148
|
-
popover: _propTypes.default.object,
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Overrides for the Portal component that wraps the Datepicker calendar Popover, see https://chakra-ui.com/docs/components/portal/props for more
|
|
152
|
-
*/
|
|
153
|
-
portal: _propTypes.default.object,
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Overrides for the PopoverContent component,
|
|
157
|
-
* see https://chakra-ui.com/docs/components/popover/props#other-props for more
|
|
158
|
-
*/
|
|
159
|
-
popoverContent: _propTypes.default.object,
|
|
160
|
-
|
|
161
|
-
/** An optional Object containing style and prop overrides to be applied to the Form and Control components */
|
|
162
|
-
inputComponentOverrides: inputComponentOverridesProps,
|
|
163
|
-
|
|
164
|
-
/** An optional Object containing style and prop overrides to be applied to the Popover body, Calendar, and Header componets */
|
|
165
|
-
datepickerBodyOverrides: datepickerBodyOverridesProps
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
exports.datepickerOverridesProps = datepickerOverridesProps;
|
|
169
|
-
var props = {
|
|
170
|
-
/** An optional (pre-selected) Selected Date to populate the Datepicker with */
|
|
171
|
-
initialValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.instanceOf(Date)]),
|
|
172
|
-
|
|
173
|
-
/** A string in the format 'MM/DD/YYYY' representing the date where days before it should be disabled in the calendar */
|
|
174
|
-
disableBefore: _propTypes.default.string,
|
|
175
|
-
|
|
176
|
-
/** A string in the format 'MM/DD/YYYY' representing the date where days after it should be disabled in the calendar. */
|
|
177
|
-
disableAfter: _propTypes.default.string,
|
|
178
|
-
|
|
179
|
-
/** A callback function to execute on changes */
|
|
180
|
-
onChange: _propTypes.default.func,
|
|
181
|
-
|
|
182
|
-
/** Whether to display the Selected Date Input as invalid or not */
|
|
183
|
-
isInvalid: _propTypes.default.bool,
|
|
184
|
-
|
|
185
|
-
/** Whether to show the Calendar Icon in the Input field. */
|
|
186
|
-
useInputIcons: _propTypes.default.bool,
|
|
187
|
-
|
|
188
|
-
/** A string to use as the Input form label */
|
|
189
|
-
dateInputLabelText: _propTypes.default.string,
|
|
190
|
-
|
|
191
|
-
/** A string to use as the Input placeholder text */
|
|
192
|
-
dateInputPlaceholderText: _propTypes.default.string,
|
|
193
|
-
|
|
194
|
-
/** A string to use as the Input form Error Text */
|
|
195
|
-
dateInputErrorText: _propTypes.default.string,
|
|
196
|
-
|
|
197
|
-
/** An optional Object containing style and prop overrides to be applied to the component and child components */
|
|
198
|
-
datepickerOverrides: datepickerOverridesProps
|
|
199
|
-
};
|
|
200
|
-
var _default = props;
|
|
201
|
-
exports.default = _default;
|
|
147
|
+
exports.datepickerBodyOverridesProps = datepickerBodyOverridesProps;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "DatepickerRange", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _DatepickerRange.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "DatepickerSingle", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _DatepickerSingle.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
var _DatepickerRange = _interopRequireDefault(require("./Range/DatepickerRange"));
|
|
22
|
+
|
|
23
|
+
var _DatepickerSingle = _interopRequireDefault(require("./Single/DatepickerSingle"));
|
package/dist/components/index.js
CHANGED
|
@@ -182,13 +182,13 @@ Object.defineProperty(exports, "Container", {
|
|
|
182
182
|
Object.defineProperty(exports, "DatepickerRange", {
|
|
183
183
|
enumerable: true,
|
|
184
184
|
get: function get() {
|
|
185
|
-
return
|
|
185
|
+
return _Datepicker.DatepickerRange;
|
|
186
186
|
}
|
|
187
187
|
});
|
|
188
188
|
Object.defineProperty(exports, "DatepickerSingle", {
|
|
189
189
|
enumerable: true,
|
|
190
190
|
get: function get() {
|
|
191
|
-
return
|
|
191
|
+
return _Datepicker.DatepickerSingle;
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
194
|
Object.defineProperty(exports, "Divider", {
|
|
@@ -584,9 +584,7 @@ var _AutoSuggestSelect = require("./AutoSuggestSelect");
|
|
|
584
584
|
|
|
585
585
|
var _Badge = _interopRequireDefault(require("./Badge/Badge"));
|
|
586
586
|
|
|
587
|
-
var
|
|
588
|
-
|
|
589
|
-
var _DatepickerRange = _interopRequireDefault(require("./DatepickerRange/DatepickerRange"));
|
|
587
|
+
var _Datepicker = require("./Datepicker");
|
|
590
588
|
|
|
591
589
|
var _react = require("@chakra-ui/react");
|
|
592
590
|
|
package/package.json
CHANGED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var _react2 = require("@chakra-ui/react");
|
|
15
|
-
|
|
16
|
-
var _calendar = _interopRequireDefault(require("@spothero/icons/calendar"));
|
|
17
|
-
|
|
18
|
-
var _DatepickerContext = require("../DatepickerContext");
|
|
19
|
-
|
|
20
|
-
var _propTypes = require("../utils/propTypes");
|
|
21
|
-
|
|
22
|
-
var _generalCalculations = require("../utils/generalCalculations");
|
|
23
|
-
|
|
24
|
-
var formLabelStyleProps = {
|
|
25
|
-
as: 'label',
|
|
26
|
-
fontSize: 'sm',
|
|
27
|
-
fontWeight: 'semibold',
|
|
28
|
-
color: 'text.secondary.light',
|
|
29
|
-
marginBottom: 1
|
|
30
|
-
};
|
|
31
|
-
var formErrorMessageStyleProps = {
|
|
32
|
-
color: 'error',
|
|
33
|
-
fontSize: 'xs',
|
|
34
|
-
marginTop: 1
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
var DatepickerControl = function DatepickerControl(_ref) {
|
|
38
|
-
var value = _ref.value,
|
|
39
|
-
useInputIcons = _ref.useInputIcons,
|
|
40
|
-
isInputInvalid = _ref.isInputInvalid,
|
|
41
|
-
inputLabelText = _ref.inputLabelText,
|
|
42
|
-
inputPlaceholderText = _ref.inputPlaceholderText,
|
|
43
|
-
errorText = _ref.errorText,
|
|
44
|
-
inputComponentOverrides = _ref.inputComponentOverrides;
|
|
45
|
-
|
|
46
|
-
var _useDatepicker = (0, _DatepickerContext.useDatepicker)(),
|
|
47
|
-
_useDatepicker$disclo = _useDatepicker.disclosure,
|
|
48
|
-
onOpen = _useDatepicker$disclo.onOpen,
|
|
49
|
-
onClose = _useDatepicker$disclo.onClose;
|
|
50
|
-
|
|
51
|
-
var handleKeyboardControls = function handleKeyboardControls(evt) {
|
|
52
|
-
var keyCode = evt.code;
|
|
53
|
-
|
|
54
|
-
if (keyCode === 'Enter' || keyCode === 'Space') {
|
|
55
|
-
onOpen();
|
|
56
|
-
} else if (keyCode === 'Escape') {
|
|
57
|
-
onClose();
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
return /*#__PURE__*/_react.default.createElement(_react2.FormControl, (0, _extends2.default)({
|
|
62
|
-
isInvalid: isInputInvalid
|
|
63
|
-
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.formControl), inputLabelText && /*#__PURE__*/_react.default.createElement(_react2.FormLabel, (0, _extends2.default)({}, formLabelStyleProps, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.formLabel), inputLabelText), /*#__PURE__*/_react.default.createElement(_react2.PopoverTrigger, {
|
|
64
|
-
"data-testid": "PopoverTrigger"
|
|
65
|
-
}, /*#__PURE__*/_react.default.createElement(_react2.InputGroup, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.inputGroup, /*#__PURE__*/_react.default.createElement(_react2.Input, (0, _extends2.default)({
|
|
66
|
-
name: "DatepickerInput",
|
|
67
|
-
value: (0, _generalCalculations.formatValueForInputDisplay)(value),
|
|
68
|
-
placeholder: inputPlaceholderText,
|
|
69
|
-
onClick: onOpen,
|
|
70
|
-
onKeyDown: handleKeyboardControls,
|
|
71
|
-
isReadOnly: true
|
|
72
|
-
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.input)), useInputIcons && /*#__PURE__*/_react.default.createElement(_react2.InputRightElement, (0, _extends2.default)({
|
|
73
|
-
color: isInputInvalid ? 'error' : 'gray.dark'
|
|
74
|
-
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.inputRightElement), /*#__PURE__*/_react.default.createElement(_react2.Icon, {
|
|
75
|
-
as: _calendar.default,
|
|
76
|
-
color: "inherit",
|
|
77
|
-
height: 5,
|
|
78
|
-
width: 5
|
|
79
|
-
})))), /*#__PURE__*/_react.default.createElement(_react2.FormErrorMessage, (0, _extends2.default)({}, formErrorMessageStyleProps, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.formErrorMessage), errorText));
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
var _default = DatepickerControl;
|
|
83
|
-
exports.default = _default;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.FULL_MONTH_NAMES = exports.DAY_NAMES = void 0;
|
|
7
|
-
var DAY_NAMES = [{
|
|
8
|
-
abbv: 'Su',
|
|
9
|
-
full: 'Sunday'
|
|
10
|
-
}, {
|
|
11
|
-
abbv: 'Mo',
|
|
12
|
-
full: 'Monday'
|
|
13
|
-
}, {
|
|
14
|
-
abbv: 'Tu',
|
|
15
|
-
full: 'Tuesday'
|
|
16
|
-
}, {
|
|
17
|
-
abbv: 'We',
|
|
18
|
-
full: 'Wednesday'
|
|
19
|
-
}, {
|
|
20
|
-
abbv: 'Th',
|
|
21
|
-
full: 'Thursday'
|
|
22
|
-
}, {
|
|
23
|
-
abbv: 'Fr',
|
|
24
|
-
full: 'Friday'
|
|
25
|
-
}, {
|
|
26
|
-
abbv: 'Sa',
|
|
27
|
-
full: 'Saturday'
|
|
28
|
-
}];
|
|
29
|
-
exports.DAY_NAMES = DAY_NAMES;
|
|
30
|
-
var FULL_MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
31
|
-
exports.FULL_MONTH_NAMES = FULL_MONTH_NAMES;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.areEqual = areEqual;
|
|
7
|
-
exports.getButtonText = getButtonText;
|
|
8
|
-
exports.isAfterDisabledDate = isAfterDisabledDate;
|
|
9
|
-
exports.isBeforeDisabledDate = isBeforeDisabledDate;
|
|
10
|
-
exports.isDateBeforeToday = isDateBeforeToday;
|
|
11
|
-
exports.isToday = isToday;
|
|
12
|
-
exports.outOfMonth = outOfMonth;
|
|
13
|
-
exports.selected = selected;
|
|
14
|
-
|
|
15
|
-
function selected(calendarDate, selectedDate) {
|
|
16
|
-
return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) === (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.getTime());
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function outOfMonth(calendarDate, date) {
|
|
20
|
-
var isOutOfMonth = (date === null || date === void 0 ? void 0 : date.getMonth()) !== (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth());
|
|
21
|
-
return isOutOfMonth;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function getButtonText(calendarDate) {
|
|
25
|
-
return calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function isDateBeforeToday(calendarDate, today) {
|
|
29
|
-
var isBeforeToday = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getFullYear()) <= (today === null || today === void 0 ? void 0 : today.getFullYear()) && (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) < (today === null || today === void 0 ? void 0 : today.getMonth()) || (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) === (today === null || today === void 0 ? void 0 : today.getMonth()) && (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate()) < (today === null || today === void 0 ? void 0 : today.getDate());
|
|
30
|
-
return isBeforeToday;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function isBeforeDisabledDate(calendarDate, disableBeforeDate) {
|
|
34
|
-
var isBefore = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) < (disableBeforeDate === null || disableBeforeDate === void 0 ? void 0 : disableBeforeDate.getTime());
|
|
35
|
-
return isBefore;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function isAfterDisabledDate(calendarDate, disableAfterDate) {
|
|
39
|
-
var isAfter = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getTime()) > (disableAfterDate === null || disableAfterDate === void 0 ? void 0 : disableAfterDate.getTime());
|
|
40
|
-
return isAfter;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function areEqual(dateOne, dateTwo) {
|
|
44
|
-
var areDatesEqual = (dateOne === null || dateOne === void 0 ? void 0 : dateOne.getTime()) === (dateTwo === null || dateTwo === void 0 ? void 0 : dateTwo.getTime());
|
|
45
|
-
return areDatesEqual;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function isToday(calendarDate, today) {
|
|
49
|
-
var isSameDate = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getDate()) === (today === null || today === void 0 ? void 0 : today.getDate());
|
|
50
|
-
var isSameMonth = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getMonth()) === (today === null || today === void 0 ? void 0 : today.getMonth());
|
|
51
|
-
var isSameYear = (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.getFullYear()) === (today === null || today === void 0 ? void 0 : today.getFullYear());
|
|
52
|
-
|
|
53
|
-
if (isSameDate && isSameMonth && isSameYear) {
|
|
54
|
-
return true;
|
|
55
|
-
} else {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
-
|
|
5
|
-
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
6
|
-
|
|
7
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
-
|
|
9
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "__esModule", {
|
|
12
|
-
value: true
|
|
13
|
-
});
|
|
14
|
-
exports.default = void 0;
|
|
15
|
-
|
|
16
|
-
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
17
|
-
|
|
18
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
|
-
|
|
20
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
21
|
-
|
|
22
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
23
|
-
|
|
24
|
-
var _react2 = require("@chakra-ui/react");
|
|
25
|
-
|
|
26
|
-
var _constants = require("../constants");
|
|
27
|
-
|
|
28
|
-
var _getWeeksOfMonth = require("../utils/getWeeksOfMonth");
|
|
29
|
-
|
|
30
|
-
var _DatepickerRangeContext = require("../DatepickerRangeContext");
|
|
31
|
-
|
|
32
|
-
var _propTypes = require("../utils/propTypes");
|
|
33
|
-
|
|
34
|
-
var _generalCalculations = require("../utils/generalCalculations");
|
|
35
|
-
|
|
36
|
-
var _DateRow = _interopRequireDefault(require("./DateRow"));
|
|
37
|
-
|
|
38
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
-
|
|
40
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
-
|
|
42
|
-
var datepickerCalendarTableStyleProps = {
|
|
43
|
-
border: 'none',
|
|
44
|
-
boxShadow: 'none',
|
|
45
|
-
padding: 0,
|
|
46
|
-
margin: 0,
|
|
47
|
-
width: {
|
|
48
|
-
base: '17.5rem',
|
|
49
|
-
tablet: '21rem'
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
var datepickerTheadStyleProps = {
|
|
53
|
-
height: {
|
|
54
|
-
base: 10,
|
|
55
|
-
tablet: 12
|
|
56
|
-
},
|
|
57
|
-
border: 'none'
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var getDatepickerCalendarThStyleProps = function getDatepickerCalendarThStyleProps(today, weeks, index) {
|
|
61
|
-
return {
|
|
62
|
-
width: {
|
|
63
|
-
base: 10,
|
|
64
|
-
tablet: 12
|
|
65
|
-
},
|
|
66
|
-
padding: 0,
|
|
67
|
-
fontSize: 'base',
|
|
68
|
-
textAlign: 'center',
|
|
69
|
-
color: 'text.secondary.light',
|
|
70
|
-
fontWeight: (0, _generalCalculations.isCurrentMonthAndYearInView)(today, weeks) && today.getDay() === index ? 'bold' : 'normal'
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
var DatepickerDays = function DatepickerDays(_ref) {
|
|
75
|
-
var datepickerRangeDaysOverrides = _ref.datepickerRangeDaysOverrides;
|
|
76
|
-
|
|
77
|
-
var _useDatepickerRange = (0, _DatepickerRangeContext.useDatepickerRange)(),
|
|
78
|
-
_useDatepickerRange$t = (0, _slicedToArray2.default)(_useDatepickerRange.today, 1),
|
|
79
|
-
today = _useDatepickerRange$t[0],
|
|
80
|
-
_useDatepickerRange$d = (0, _slicedToArray2.default)(_useDatepickerRange.date, 1),
|
|
81
|
-
date = _useDatepickerRange$d[0];
|
|
82
|
-
|
|
83
|
-
var _useState = (0, _react.useState)(),
|
|
84
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
85
|
-
weeks = _useState2[0],
|
|
86
|
-
setWeeks = _useState2[1];
|
|
87
|
-
|
|
88
|
-
(0, _react.useEffect)(function () {
|
|
89
|
-
setWeeks((0, _getWeeksOfMonth.getWeeksOfMonth)(date || new Date()));
|
|
90
|
-
}, [date]);
|
|
91
|
-
return /*#__PURE__*/_react.default.createElement(_react2.Table, (0, _extends2.default)({
|
|
92
|
-
role: "grid",
|
|
93
|
-
"aria-labelledby": "id-grid-label"
|
|
94
|
-
}, datepickerCalendarTableStyleProps, datepickerRangeDaysOverrides === null || datepickerRangeDaysOverrides === void 0 ? void 0 : datepickerRangeDaysOverrides.table), /*#__PURE__*/_react.default.createElement(_react2.Thead, (0, _extends2.default)({}, datepickerTheadStyleProps, datepickerRangeDaysOverrides === null || datepickerRangeDaysOverrides === void 0 ? void 0 : datepickerRangeDaysOverrides.thead), /*#__PURE__*/_react.default.createElement(_react2.Tr, null, (0, _map.default)(_constants.DAY_NAMES).call(_constants.DAY_NAMES, function (day, index) {
|
|
95
|
-
return /*#__PURE__*/_react.default.createElement(_react2.Th, (0, _extends2.default)({
|
|
96
|
-
key: index,
|
|
97
|
-
scope: "col",
|
|
98
|
-
abbr: day.full,
|
|
99
|
-
"data-testid": "daysOfWeek-title"
|
|
100
|
-
}, getDatepickerCalendarThStyleProps(today, weeks, index), datepickerRangeDaysOverrides === null || datepickerRangeDaysOverrides === void 0 ? void 0 : datepickerRangeDaysOverrides.th), day.abbv);
|
|
101
|
-
}))), /*#__PURE__*/_react.default.createElement(_DateRow.default, {
|
|
102
|
-
dates: weeks !== null && weeks !== void 0 ? weeks : [],
|
|
103
|
-
dateRowOverrides: datepickerRangeDaysOverrides === null || datepickerRangeDaysOverrides === void 0 ? void 0 : datepickerRangeDaysOverrides.dateRowOverrides
|
|
104
|
-
}));
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
var _default = DatepickerDays;
|
|
108
|
-
exports.default = _default;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
|
-
var _freeze = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/freeze"));
|
|
15
|
-
|
|
16
|
-
var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
|
|
17
|
-
|
|
18
|
-
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
|
-
var _react2 = require("@chakra-ui/react");
|
|
23
|
-
|
|
24
|
-
var _chevronLeft = _interopRequireDefault(require("@spothero/icons/chevron-left"));
|
|
25
|
-
|
|
26
|
-
var _chevronRight = _interopRequireDefault(require("@spothero/icons/chevron-right"));
|
|
27
|
-
|
|
28
|
-
var _constants = require("../constants");
|
|
29
|
-
|
|
30
|
-
var _DatepickerRangeContext = require("../DatepickerRangeContext");
|
|
31
|
-
|
|
32
|
-
var _propTypes = require("../utils/propTypes");
|
|
33
|
-
|
|
34
|
-
var Directions = (0, _freeze.default)({
|
|
35
|
-
Forward: (0, _symbol.default)('forward'),
|
|
36
|
-
Backward: (0, _symbol.default)('backward')
|
|
37
|
-
});
|
|
38
|
-
var monthSelectionButtonStyleProps = {
|
|
39
|
-
size: 'sm',
|
|
40
|
-
variant: 'ghost',
|
|
41
|
-
borderColor: 'transparent',
|
|
42
|
-
_hover: {
|
|
43
|
-
backgroundColor: 'gray.200'
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
var monthTitleStyleProps = {
|
|
47
|
-
flex: '1',
|
|
48
|
-
justifyContent: 'center',
|
|
49
|
-
fontWeight: 'semibold',
|
|
50
|
-
fontSize: 'xl'
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
var DatepickerHeader = function DatepickerHeader(_ref) {
|
|
54
|
-
var _context;
|
|
55
|
-
|
|
56
|
-
var datepickerRangeHeaderOverrides = _ref.datepickerRangeHeaderOverrides;
|
|
57
|
-
|
|
58
|
-
/* eslint-disable no-unused-vars */
|
|
59
|
-
var context = (0, _DatepickerRangeContext.useDatepickerRange)();
|
|
60
|
-
|
|
61
|
-
var _context$date = (0, _slicedToArray2.default)(context.date, 2),
|
|
62
|
-
date = _context$date[0],
|
|
63
|
-
setDate = _context$date[1];
|
|
64
|
-
|
|
65
|
-
var month = date.getMonth();
|
|
66
|
-
var year = date.getFullYear();
|
|
67
|
-
/* eslint-enable no-unused-vars */
|
|
68
|
-
|
|
69
|
-
var onChange = function onChange(dir) {
|
|
70
|
-
return function () {
|
|
71
|
-
var terminator = dir === Directions.Backward ? 0 : 11;
|
|
72
|
-
var adder = dir === Directions.Backward ? -1 : 1;
|
|
73
|
-
|
|
74
|
-
if (month === terminator) {
|
|
75
|
-
date.setFullYear(year + adder, Math.abs(11 - month));
|
|
76
|
-
} else {
|
|
77
|
-
date.setMonth(month + adder);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
setDate(new Date(date));
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
var monthName = _constants.FULL_MONTH_NAMES[date.getMonth()];
|
|
85
|
-
/* eslint-disable react/jsx-curly-brace-presence */
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
89
|
-
alignItems: "center",
|
|
90
|
-
marginBottom: 2,
|
|
91
|
-
width: "100%"
|
|
92
|
-
}, datepickerRangeHeaderOverrides === null || datepickerRangeHeaderOverrides === void 0 ? void 0 : datepickerRangeHeaderOverrides.headerContainer), /*#__PURE__*/_react.default.createElement(_react2.IconButton, (0, _extends2.default)({
|
|
93
|
-
icon: /*#__PURE__*/_react.default.createElement(_chevronLeft.default, {
|
|
94
|
-
height: 16,
|
|
95
|
-
width: 16,
|
|
96
|
-
fill: "black"
|
|
97
|
-
}),
|
|
98
|
-
onClick: onChange(Directions.Backward),
|
|
99
|
-
"aria-label": "previous month"
|
|
100
|
-
}, monthSelectionButtonStyleProps, datepickerRangeHeaderOverrides === null || datepickerRangeHeaderOverrides === void 0 ? void 0 : datepickerRangeHeaderOverrides.iconButton)), /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
101
|
-
"aria-live": "polite",
|
|
102
|
-
id: "id-grid-label"
|
|
103
|
-
}, monthTitleStyleProps, datepickerRangeHeaderOverrides === null || datepickerRangeHeaderOverrides === void 0 ? void 0 : datepickerRangeHeaderOverrides.title), (0, _concat.default)(_context = "".concat(monthName, " ")).call(_context, year)), /*#__PURE__*/_react.default.createElement(_react2.IconButton, (0, _extends2.default)({
|
|
104
|
-
icon: /*#__PURE__*/_react.default.createElement(_chevronRight.default, {
|
|
105
|
-
height: 16,
|
|
106
|
-
width: 16,
|
|
107
|
-
fill: "black"
|
|
108
|
-
}),
|
|
109
|
-
onClick: onChange(Directions.Forward),
|
|
110
|
-
"aria-label": "next month"
|
|
111
|
-
}, monthSelectionButtonStyleProps, datepickerRangeHeaderOverrides === null || datepickerRangeHeaderOverrides === void 0 ? void 0 : datepickerRangeHeaderOverrides.iconButton)));
|
|
112
|
-
/* eslint-enable react/jsx-curly-brace-presence */
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
var _default = DatepickerHeader;
|
|
116
|
-
exports.default = _default;
|