@spothero/ui 17.0.3 → 17.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion.js +2 -1
- package/dist/components/Accordion/Accordion.stories.js +22 -13
- package/dist/components/Accordion/index.js +8 -5
- package/dist/components/Accordion/styles/button.js +3 -1
- package/dist/components/Accordion/styles/container.js +1 -1
- package/dist/components/Accordion/styles/index.js +13 -4
- package/dist/components/Accordion/styles/panel.js +1 -1
- package/dist/components/Alert/Alert.js +44 -23
- package/dist/components/Alert/Alert.stories.js +12 -8
- package/dist/components/Alert/index.js +3 -1
- package/dist/components/Alert/styles/index.js +35 -12
- package/dist/components/AutoSuggestSelect/AutoSuggestSelect.js +119 -84
- package/dist/components/AutoSuggestSelect/AutoSuggestSelect.stories.js +12 -4
- package/dist/components/AutoSuggestSelect/index.js +3 -1
- package/dist/components/Badge/Badge.js +2 -1
- package/dist/components/Badge/Badge.stories.js +20 -12
- package/dist/components/Badge/styles/index.js +12 -6
- package/dist/components/Button/Button.js +47 -17
- package/dist/components/Button/Button.spec.js +10 -4
- package/dist/components/Button/Button.styles.js +49 -36
- package/dist/components/Button/button-props.js +20 -2
- package/dist/components/Button/index.js +5 -2
- package/dist/components/Button/stories/button.js +17 -5
- package/dist/components/Button/stories/index.stories.js +48 -24
- package/dist/components/Button/stories/overview.js +62 -34
- package/dist/components/Card/Card.js +26 -11
- package/dist/components/Card/Card.stories.js +15 -5
- package/dist/components/Checkbox/Checkbox.js +2 -1
- package/dist/components/Checkbox/Checkbox.stories.js +10 -2
- package/dist/components/Checkbox/index.js +3 -1
- package/dist/components/Checkbox/styles/index.js +11 -3
- package/dist/components/Container/Container.js +21 -5
- package/dist/components/Container/Container.stories.js +43 -14
- package/dist/components/Container/Container.styles.js +1 -1
- package/dist/components/Datepicker/Datepicker.stories.js +295 -0
- package/dist/components/Datepicker/DatepickerContainer.js +114 -0
- package/dist/components/Datepicker/DatepickerContext.js +65 -0
- package/dist/components/Datepicker/DatepickerSingle.js +51 -0
- package/dist/components/Datepicker/components/DateRow.js +145 -0
- package/dist/components/Datepicker/components/DatepickerControl.js +83 -0
- package/dist/components/Datepicker/components/DatepickerDays.js +108 -0
- package/dist/components/Datepicker/components/DatepickerHeader.js +113 -0
- package/dist/components/Datepicker/constants.js +31 -0
- package/dist/components/Datepicker/utils/dateRowArithmentic.js +58 -0
- package/dist/components/Datepicker/utils/generalCalculations.js +71 -0
- package/dist/components/Datepicker/utils/getWeeksOfMonth.js +51 -0
- package/dist/components/Datepicker/utils/propTypes.js +201 -0
- package/dist/components/DatepickerRange/DatepickerRange.js +64 -0
- package/dist/components/DatepickerRange/DatepickerRange.stories.js +411 -0
- package/dist/components/DatepickerRange/DatepickerRangeContainer.js +158 -0
- package/dist/components/DatepickerRange/DatepickerRangeContext.js +80 -0
- package/dist/components/DatepickerRange/components/DateRow.js +260 -0
- package/dist/components/DatepickerRange/components/DatepickerDays.js +108 -0
- package/dist/components/DatepickerRange/components/DatepickerHeader.js +116 -0
- package/dist/components/DatepickerRange/components/DatepickerRangeControls.js +77 -0
- package/dist/components/DatepickerRange/components/DatepickerRangeInput.js +90 -0
- package/dist/components/DatepickerRange/components/WithPopoverAnchor.js +21 -0
- package/dist/components/DatepickerRange/constants.js +31 -0
- package/dist/components/DatepickerRange/utils/dateRowArithmentic.js +93 -0
- package/dist/components/DatepickerRange/utils/generalCalculations.js +71 -0
- package/dist/components/DatepickerRange/utils/getWeeksOfMonth.js +51 -0
- package/dist/components/DatepickerRange/utils/propTypes.js +245 -0
- package/dist/components/Divider/Divider.js +24 -8
- package/dist/components/Divider/Divider.stories.js +15 -3
- package/dist/components/Divider/Divider.styles.js +8 -2
- package/dist/components/FormControl/FormControl.js +29 -14
- package/dist/components/Grid/Grid.js +24 -7
- package/dist/components/Grid/Grid.stories.js +60 -36
- package/dist/components/Grid/Grid.styles.js +2 -2
- package/dist/components/Grid/GridItem.js +21 -5
- package/dist/components/Grid/GridItem.styles.js +1 -2
- package/dist/components/Grid/index.js +5 -2
- package/dist/components/Heading/Heading.js +29 -8
- package/dist/components/Heading/Heading.stories.js +15 -4
- package/dist/components/Heading/Heading.styles.js +38 -24
- package/dist/components/Icon/Icon.js +2 -1
- package/dist/components/Icon/Icon.stories.js +28 -19
- package/dist/components/Image/Image.js +69 -39
- package/dist/components/Image/Image.spec.js +22 -16
- package/dist/components/Image/Image.stories.js +19 -8
- package/dist/components/Input/Input.js +31 -14
- package/dist/components/Input/Input.stories.js +15 -5
- package/dist/components/Input/index.js +3 -1
- package/dist/components/Input/styles/index.js +10 -4
- package/dist/components/Link/Link.js +2 -1
- package/dist/components/Link/Link.stories.js +12 -5
- package/dist/components/Link/Link.styles.js +8 -8
- package/dist/components/List/List.js +37 -14
- package/dist/components/List/List.stories.js +55 -19
- package/dist/components/List/index.js +5 -2
- package/dist/components/List/styles/index.js +9 -2
- package/dist/components/List/styles/item.styles.js +1 -1
- package/dist/components/Loader/Loader.js +33 -17
- package/dist/components/Loader/Loader.stories.js +44 -24
- package/dist/components/Modal/Modal.js +23 -17
- package/dist/components/Modal/Modal.stories.js +100 -30
- package/dist/components/Modal/index.js +3 -1
- package/dist/components/Modal/styles/body.js +28 -11
- package/dist/components/Modal/styles/closeButton.js +4 -4
- package/dist/components/Modal/styles/dialog.js +4 -4
- package/dist/components/Modal/styles/dialogContainer.js +11 -5
- package/dist/components/Modal/styles/header.js +5 -5
- package/dist/components/Modal/styles/index.js +28 -12
- package/dist/components/Popover/Popover.js +33 -12
- package/dist/components/Popover/Popover.stories.js +62 -36
- package/dist/components/Popover/PopoverArrow.js +17 -3
- package/dist/components/Popover/PopoverCloseButton.js +17 -3
- package/dist/components/Popover/PopoverContent.js +27 -10
- package/dist/components/Popover/index.js +8 -4
- package/dist/components/Popover/styles/index.js +22 -9
- package/dist/components/Popover/styles/popover-arrow.js +4 -4
- package/dist/components/Popover/styles/popover-body.js +7 -3
- package/dist/components/Popover/styles/popover-close-button.js +10 -7
- package/dist/components/Popover/styles/popover-content.js +7 -5
- package/dist/components/Popover/styles/popover-header.js +1 -1
- package/dist/components/Popover/styles/popper.js +1 -1
- package/dist/components/Radio/Radio.js +27 -12
- package/dist/components/Radio/Radio.stories.js +12 -2
- package/dist/components/Radio/RadioGroup.js +33 -17
- package/dist/components/Radio/index.js +5 -2
- package/dist/components/Radio/styles/index.js +13 -5
- package/dist/components/Select/Select.js +33 -14
- package/dist/components/Select/Select.stories.js +22 -13
- package/dist/components/Select/index.js +3 -1
- package/dist/components/Select/styles/index.js +14 -4
- package/dist/components/Skeleton/Skeleton.stories.js +20 -6
- package/dist/components/Skeleton/Skeleton.styles.js +3 -0
- package/dist/components/Skeleton/index.js +4 -3
- package/dist/components/Spinner/Spinner.js +25 -9
- package/dist/components/Spinner/Spinner.stories.js +70 -42
- package/dist/components/Spinner/Spinner.styles.js +43 -56
- package/dist/components/Switch/Switch.js +30 -13
- package/dist/components/Switch/Switch.stories.js +10 -2
- package/dist/components/Switch/index.js +3 -1
- package/dist/components/Switch/styles/index.js +31 -10
- package/dist/components/Table/Table.js +2 -1
- package/dist/components/Table/Table.stories.js +37 -17
- package/dist/components/Table/Table.styles.js +32 -13
- package/dist/components/Table/index.js +11 -8
- package/dist/components/Tabs/Tabs.js +22 -14
- package/dist/components/Tabs/Tabs.stories.js +20 -4
- package/dist/components/Tabs/combineSizeWithVariant.js +17 -11
- package/dist/components/Tabs/index.js +8 -5
- package/dist/components/Tabs/styles/index.js +8 -2
- package/dist/components/Text/Text.js +17 -8
- package/dist/components/Text/Text.stories.js +15 -3
- package/dist/components/Text/Text.styles.js +35 -15
- package/dist/components/Text/combineAsWithVariant.js +57 -36
- package/dist/components/Text/options.js +1 -1
- package/dist/components/ThemeProvider/ThemeProvider.js +33 -10
- package/dist/components/ThemeProvider/ThemeProvider.stories.js +16 -7
- package/dist/components/index.js +135 -74
- package/dist/components/styles.js +43 -21
- package/dist/theme/base/breakpoints.js +4 -1
- package/dist/theme/base/colors.js +45 -32
- package/dist/theme/base/index.js +13 -7
- package/dist/theme/base/sizes.js +4 -4
- package/dist/theme/base/typography.js +6 -5
- package/dist/theme/base/zindices.js +2 -1
- package/dist/theme/global.js +20 -87
- package/dist/theme/index.js +41 -15
- package/dist/utils/Spaces.js +12 -5
- package/package.json +2 -2
|
@@ -0,0 +1,113 @@
|
|
|
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 _DatepickerContext = require("../DatepickerContext");
|
|
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 datepickerHeaderOverrides = _ref.datepickerHeaderOverrides;
|
|
57
|
+
var context = (0, _DatepickerContext.useDatepicker)();
|
|
58
|
+
|
|
59
|
+
var _context$date = (0, _slicedToArray2.default)(context.date, 2),
|
|
60
|
+
date = _context$date[0],
|
|
61
|
+
setDate = _context$date[1];
|
|
62
|
+
|
|
63
|
+
var month = date.getMonth();
|
|
64
|
+
var year = date.getFullYear();
|
|
65
|
+
|
|
66
|
+
var onChange = function onChange(dir) {
|
|
67
|
+
return function () {
|
|
68
|
+
var terminator = dir === Directions.Backward ? 0 : 11;
|
|
69
|
+
var adder = dir === Directions.Backward ? -1 : 1;
|
|
70
|
+
|
|
71
|
+
if (month === terminator) {
|
|
72
|
+
date.setFullYear(year + adder, Math.abs(11 - month));
|
|
73
|
+
} else {
|
|
74
|
+
date.setMonth(month + adder);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
setDate(new Date(date));
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var monthName = _constants.FULL_MONTH_NAMES[date.getMonth()];
|
|
82
|
+
/* eslint-disable react/jsx-curly-brace-presence */
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
86
|
+
alignItems: "center",
|
|
87
|
+
marginBottom: 2,
|
|
88
|
+
width: "100%"
|
|
89
|
+
}, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.headerContainer), /*#__PURE__*/_react.default.createElement(_react2.IconButton, (0, _extends2.default)({
|
|
90
|
+
icon: /*#__PURE__*/_react.default.createElement(_chevronLeft.default, {
|
|
91
|
+
height: 16,
|
|
92
|
+
width: 16,
|
|
93
|
+
fill: "black"
|
|
94
|
+
}),
|
|
95
|
+
onClick: onChange(Directions.Backward),
|
|
96
|
+
"aria-label": "previous month"
|
|
97
|
+
}, monthSelectionButtonStyleProps, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.iconButton)), /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
98
|
+
"aria-live": "polite",
|
|
99
|
+
id: "id-grid-label"
|
|
100
|
+
}, monthTitleStyleProps, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.title), (0, _concat.default)(_context = "".concat(monthName, " ")).call(_context, year)), /*#__PURE__*/_react.default.createElement(_react2.IconButton, (0, _extends2.default)({
|
|
101
|
+
icon: /*#__PURE__*/_react.default.createElement(_chevronRight.default, {
|
|
102
|
+
height: 16,
|
|
103
|
+
width: 16,
|
|
104
|
+
fill: "black"
|
|
105
|
+
}),
|
|
106
|
+
onClick: onChange(Directions.Forward),
|
|
107
|
+
"aria-label": "next month"
|
|
108
|
+
}, monthSelectionButtonStyleProps, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.iconButton)));
|
|
109
|
+
/* eslint-enable react/jsx-curly-brace-presence */
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var _default = DatepickerHeader;
|
|
113
|
+
exports.default = _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
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;
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
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.formatForDataDate = formatForDataDate;
|
|
9
|
+
exports.formatValueForInputDisplay = formatValueForInputDisplay;
|
|
10
|
+
exports.isCurrentMonthAndYearInView = isCurrentMonthAndYearInView;
|
|
11
|
+
|
|
12
|
+
var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
|
|
13
|
+
|
|
14
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
15
|
+
|
|
16
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
17
|
+
|
|
18
|
+
function isCurrentMonthAndYearInView(currentDate, arrayOfCalendarDates) {
|
|
19
|
+
/* eslint-disable func-names */
|
|
20
|
+
|
|
21
|
+
/* eslint-disable no-multi-assign */
|
|
22
|
+
function mode(arr) {
|
|
23
|
+
return arr === null || arr === void 0 ? void 0 : arr.reduce(function (current, item) {
|
|
24
|
+
var val = current.numMapping[item] = (current.numMapping[item] || 0) + 1;
|
|
25
|
+
|
|
26
|
+
if (val > current.greatestFreq) {
|
|
27
|
+
current.greatestFreq = val;
|
|
28
|
+
current.mode = item;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return current;
|
|
32
|
+
}, {
|
|
33
|
+
mode: null,
|
|
34
|
+
greatestFreq: -Infinity,
|
|
35
|
+
numMapping: {}
|
|
36
|
+
}).mode;
|
|
37
|
+
}
|
|
38
|
+
/* eslint-enable no-multi-assign */
|
|
39
|
+
|
|
40
|
+
/* eslint-enable func-names */
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
var flattendCalendarArray = arrayOfCalendarDates === null || arrayOfCalendarDates === void 0 ? void 0 : (0, _flat.default)(arrayOfCalendarDates).call(arrayOfCalendarDates);
|
|
44
|
+
var yearInView = mode(flattendCalendarArray === null || flattendCalendarArray === void 0 ? void 0 : (0, _map.default)(flattendCalendarArray).call(flattendCalendarArray, function (calendarDate) {
|
|
45
|
+
return calendarDate.getFullYear();
|
|
46
|
+
}));
|
|
47
|
+
var monthInView = mode(flattendCalendarArray === null || flattendCalendarArray === void 0 ? void 0 : (0, _map.default)(flattendCalendarArray).call(flattendCalendarArray, function (calendarDate) {
|
|
48
|
+
return calendarDate.getMonth();
|
|
49
|
+
}));
|
|
50
|
+
var currentYear = currentDate.getFullYear();
|
|
51
|
+
var currentMonth = currentDate.getMonth();
|
|
52
|
+
return currentYear === yearInView && currentMonth === monthInView;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function formatForDataDate(dateToFormat) {
|
|
56
|
+
var _context, _context2;
|
|
57
|
+
|
|
58
|
+
var year = dateToFormat.getFullYear();
|
|
59
|
+
var month = dateToFormat.getMonth() + 1;
|
|
60
|
+
var dateNumber = dateToFormat.getDate();
|
|
61
|
+
var formattedDate = (0, _concat.default)(_context = (0, _concat.default)(_context2 = "".concat(year, "-")).call(_context2, month, "-")).call(_context, dateNumber);
|
|
62
|
+
return formattedDate;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function formatValueForInputDisplay(selectedDate) {
|
|
66
|
+
return (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.getTime()) === 0 || !selectedDate ? '' : new Intl.DateTimeFormat('en-US', {
|
|
67
|
+
weekday: 'long',
|
|
68
|
+
month: 'short',
|
|
69
|
+
day: 'numeric'
|
|
70
|
+
}).format(selectedDate);
|
|
71
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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.getWeeksOfMonth = getWeeksOfMonth;
|
|
9
|
+
|
|
10
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
function getWeeksOfMonth(input) {
|
|
15
|
+
var date = new Date(input);
|
|
16
|
+
var year = date.getFullYear();
|
|
17
|
+
var month = date.getMonth();
|
|
18
|
+
var firstDayOfMonth = new Date(year, month, 1).getDay();
|
|
19
|
+
var lastDateOfMonth = new Date(year, month + 1, 0).getDate();
|
|
20
|
+
var lastDayOfMonth = new Date(year, month + 1, 0).getDay();
|
|
21
|
+
var lastDayOfLastMonth = new Date(year, month, 0).getDate();
|
|
22
|
+
var weeks = [];
|
|
23
|
+
var firstWeekDiff = lastDayOfLastMonth - firstDayOfMonth;
|
|
24
|
+
var daysInMonth = lastDateOfMonth + firstDayOfMonth + (7 - lastDayOfMonth);
|
|
25
|
+
var numberOfWeeks = Math.round(daysInMonth / 7);
|
|
26
|
+
(0, _toConsumableArray2.default)(new Array(numberOfWeeks)).forEach(function (_, weekIndex) {
|
|
27
|
+
var _weeks$6$getDate, _weeks, _weeks$, _weeks$$getDate, _context;
|
|
28
|
+
|
|
29
|
+
var start = (_weeks$6$getDate = weeks === null || weeks === void 0 ? void 0 : (_weeks = weeks[weekIndex - 1]) === null || _weeks === void 0 ? void 0 : (_weeks$ = _weeks[6]) === null || _weeks$ === void 0 ? void 0 : (_weeks$$getDate = _weeks$.getDate) === null || _weeks$$getDate === void 0 ? void 0 : _weeks$$getDate.call(_weeks$)) !== null && _weeks$6$getDate !== void 0 ? _weeks$6$getDate : firstWeekDiff;
|
|
30
|
+
var week = (0, _map.default)(_context = (0, _toConsumableArray2.default)(new Array(7))).call(_context, function (__, dayIndex) {
|
|
31
|
+
// First week of month
|
|
32
|
+
if (weekIndex === 0) {
|
|
33
|
+
if (dayIndex >= firstDayOfMonth) {
|
|
34
|
+
return new Date(year, month, dayIndex - firstDayOfMonth + 1);
|
|
35
|
+
} else {
|
|
36
|
+
return new Date(year, month - 1, lastDayOfLastMonth - (firstDayOfMonth - dayIndex - 1));
|
|
37
|
+
}
|
|
38
|
+
} // Last week of month
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if (start + 1 + dayIndex > lastDateOfMonth) {
|
|
42
|
+
return new Date(year, month + 1, start + 1 + dayIndex - lastDateOfMonth);
|
|
43
|
+
} // Any other day
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
return new Date(year, month, start + 1 + dayIndex);
|
|
47
|
+
});
|
|
48
|
+
weeks.push(week);
|
|
49
|
+
});
|
|
50
|
+
return weeks;
|
|
51
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
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.inputComponentOverridesProps = exports.default = exports.datepickerOverridesProps = exports.datepickerHeaderOverridesProps = exports.datepickerDaysOverridesProps = exports.datepickerBodyOverridesProps = exports.dateRowOverridesProps = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var inputComponentOverridesProps = _propTypes.default.shape({
|
|
13
|
+
/**
|
|
14
|
+
* Overrides for the parent FormControl component,
|
|
15
|
+
* see https://chakra-ui.com/docs/components/form-control/props for more
|
|
16
|
+
*/
|
|
17
|
+
formControl: _propTypes.default.object,
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Overrides for the FormLabel component,
|
|
21
|
+
* see https://chakra-ui.com/docs/components/form-control/props and/or https://chakra-ui.com/docs/components/form-control/usage for more
|
|
22
|
+
*/
|
|
23
|
+
formLabel: _propTypes.default.object,
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Overrides for the InputGroup component,
|
|
27
|
+
* see https://chakra-ui.com/docs/components/input/usage#left-and-right-addons for more
|
|
28
|
+
*/
|
|
29
|
+
inputGroup: _propTypes.default.object,
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Overrides for the Input component,
|
|
33
|
+
* see https://chakra-ui.com/docs/components/input/props for more
|
|
34
|
+
*/
|
|
35
|
+
input: _propTypes.default.object,
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Overrides for the InputRightElement component,
|
|
39
|
+
* see https://chakra-ui.com/docs/components/input/usage#add-elements-inside-input for more
|
|
40
|
+
*/
|
|
41
|
+
inputRightElement: _propTypes.default.object,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Overrides for the FormControl ErrorMessage component,
|
|
45
|
+
* see https://chakra-ui.com/docs/components/form-control/usage#error-message for more
|
|
46
|
+
*/
|
|
47
|
+
formErrorMessage: _propTypes.default.object
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
exports.inputComponentOverridesProps = inputComponentOverridesProps;
|
|
51
|
+
|
|
52
|
+
var datepickerHeaderOverridesProps = _propTypes.default.shape({
|
|
53
|
+
/**
|
|
54
|
+
* Overrides for the Flex component that wraps the Header Title and navigation Buttons,
|
|
55
|
+
* see https://chakra-ui.com/docs/components/flex/props for more
|
|
56
|
+
*/
|
|
57
|
+
headerContainer: _propTypes.default.object,
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Overrides for the IconButton component used as navigation for the Header,
|
|
61
|
+
* see https://chakra-ui.com/docs/components/icon-button, for more
|
|
62
|
+
*/
|
|
63
|
+
iconButton: _propTypes.default.object,
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Overrides for the Flex component that wraps the Header Title,
|
|
67
|
+
* see https://chakra-ui.com/docs/components/flex/props for more
|
|
68
|
+
*/
|
|
69
|
+
title: _propTypes.default.object
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
exports.datepickerHeaderOverridesProps = datepickerHeaderOverridesProps;
|
|
73
|
+
|
|
74
|
+
var dateRowOverridesProps = _propTypes.default.shape({
|
|
75
|
+
/**
|
|
76
|
+
* Overrides for the Tbody component that contains the Calendar display
|
|
77
|
+
* see https://chakra-ui.com/docs/components/table/props for more
|
|
78
|
+
*/
|
|
79
|
+
tbody: _propTypes.default.object,
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Overrides for the Tr component that contains the rows of the month within the Calendar display
|
|
83
|
+
* see https://chakra-ui.com/docs/components/table/props for more
|
|
84
|
+
*/
|
|
85
|
+
tr: _propTypes.default.object,
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Overrides for the Td component that contains the individual date within the Calendar display
|
|
89
|
+
* see https://chakra-ui.com/docs/components/table/props for more
|
|
90
|
+
*/
|
|
91
|
+
td: _propTypes.default.object,
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Overrides for the Button component that contains the individual date within the Calendar display
|
|
95
|
+
* see https://chakra-ui.com/docs/components/button/props for more
|
|
96
|
+
*/
|
|
97
|
+
button: _propTypes.default.object
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
exports.dateRowOverridesProps = dateRowOverridesProps;
|
|
101
|
+
|
|
102
|
+
var datepickerDaysOverridesProps = _propTypes.default.shape({
|
|
103
|
+
/**
|
|
104
|
+
* Overrides for the Table component containing the Calendar display,
|
|
105
|
+
* see https://chakra-ui.com/docs/components/table/props#table for more
|
|
106
|
+
*/
|
|
107
|
+
table: _propTypes.default.object,
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Overrides for the Thead component containing the names of the days of the week,
|
|
111
|
+
* see https://chakra-ui.com/docs/components/table/props for more
|
|
112
|
+
*/
|
|
113
|
+
thead: _propTypes.default.object,
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Overrides for the Th component containing the name of the single day names,
|
|
117
|
+
* see https://chakra-ui.com/docs/components/table/props for more
|
|
118
|
+
*/
|
|
119
|
+
th: _propTypes.default.object,
|
|
120
|
+
|
|
121
|
+
/** An optional Object containing style and prop overrides for the DateRow component */
|
|
122
|
+
dateRowOverrides: dateRowOverridesProps
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
exports.datepickerDaysOverridesProps = datepickerDaysOverridesProps;
|
|
126
|
+
|
|
127
|
+
var datepickerBodyOverridesProps = _propTypes.default.shape({
|
|
128
|
+
/**
|
|
129
|
+
* Overrides for the PopoverBody component,
|
|
130
|
+
* see https://chakra-ui.com/docs/components/popover/props#other-props for more
|
|
131
|
+
*/
|
|
132
|
+
popoverBody: _propTypes.default.object,
|
|
133
|
+
|
|
134
|
+
/** An optional Object containing style and prop overrides to be applied to the components that compose the Header section */
|
|
135
|
+
datepickerHeaderOverrides: datepickerHeaderOverridesProps,
|
|
136
|
+
|
|
137
|
+
/** An optional Object containing style and prop overrides to be applied to the components that compose the Calendar section */
|
|
138
|
+
datepickerDaysOverrides: datepickerDaysOverridesProps
|
|
139
|
+
});
|
|
140
|
+
|
|
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;
|
|
@@ -0,0 +1,64 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("./utils/propTypes"));
|
|
13
|
+
|
|
14
|
+
var _DatepickerRangeContext = require("./DatepickerRangeContext");
|
|
15
|
+
|
|
16
|
+
var _DatepickerRangeContainer = _interopRequireDefault(require("./DatepickerRangeContainer"));
|
|
17
|
+
|
|
18
|
+
var DatepickerRange = function DatepickerRange(_ref) {
|
|
19
|
+
var initialStartDate = _ref.initialStartDate,
|
|
20
|
+
initialEndDate = _ref.initialEndDate,
|
|
21
|
+
disableBefore = _ref.disableBefore,
|
|
22
|
+
disableAfter = _ref.disableAfter,
|
|
23
|
+
onChange = _ref.onChange,
|
|
24
|
+
useInputIcons = _ref.useInputIcons,
|
|
25
|
+
isStartInvalid = _ref.isStartInvalid,
|
|
26
|
+
startDateInputLabelText = _ref.startDateInputLabelText,
|
|
27
|
+
startDateInputPlaceholderText = _ref.startDateInputPlaceholderText,
|
|
28
|
+
startDateInputErrorText = _ref.startDateInputErrorText,
|
|
29
|
+
isEndInvalid = _ref.isEndInvalid,
|
|
30
|
+
endDateInputLabelText = _ref.endDateInputLabelText,
|
|
31
|
+
endDateInputPlaceholderText = _ref.endDateInputPlaceholderText,
|
|
32
|
+
endDateInputErrorText = _ref.endDateInputErrorText,
|
|
33
|
+
datepickerRangeOverrides = _ref.datepickerRangeOverrides;
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(_DatepickerRangeContext.DatepickerRangeProvider, {
|
|
35
|
+
initialStartDate: initialStartDate,
|
|
36
|
+
initialEndDate: initialEndDate,
|
|
37
|
+
disableBefore: disableBefore,
|
|
38
|
+
disableAfter: disableAfter,
|
|
39
|
+
isStartInvalid: isStartInvalid,
|
|
40
|
+
isEndInvalid: isEndInvalid
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_DatepickerRangeContainer.default, {
|
|
42
|
+
onChange: onChange,
|
|
43
|
+
useInputIcons: useInputIcons,
|
|
44
|
+
startDateInputLabelText: startDateInputLabelText,
|
|
45
|
+
startDateInputPlaceholderText: startDateInputPlaceholderText,
|
|
46
|
+
startDateInputErrorText: startDateInputErrorText,
|
|
47
|
+
endDateInputLabelText: endDateInputLabelText,
|
|
48
|
+
endDateInputPlaceholderText: endDateInputPlaceholderText,
|
|
49
|
+
endDateInputErrorText: endDateInputErrorText,
|
|
50
|
+
datepickerRangeOverrides: datepickerRangeOverrides
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
DatepickerRange.defaultProps = {
|
|
55
|
+
useInputIcons: true,
|
|
56
|
+
isStartInvalid: false,
|
|
57
|
+
startDateInputLabelText: 'Enter After',
|
|
58
|
+
startDateInputPlaceholderText: 'Select Start Date',
|
|
59
|
+
isEndInvalid: false,
|
|
60
|
+
endDateInputLabelText: 'Exit Before',
|
|
61
|
+
endDateInputPlaceholderText: 'Select End Date'
|
|
62
|
+
};
|
|
63
|
+
var _default = DatepickerRange;
|
|
64
|
+
exports.default = _default;
|