@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
|
@@ -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.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 _components = require("../../common/components");
|
|
17
|
+
|
|
18
|
+
var _propTypes = require("../utils/propTypes");
|
|
19
|
+
|
|
20
|
+
var _DatepickerContext = require("../DatepickerContext");
|
|
21
|
+
|
|
22
|
+
var DatepickerControl = function DatepickerControl(_ref) {
|
|
23
|
+
var value = _ref.value,
|
|
24
|
+
useInputIcons = _ref.useInputIcons,
|
|
25
|
+
inputLabelText = _ref.inputLabelText,
|
|
26
|
+
inputPlaceholderText = _ref.inputPlaceholderText,
|
|
27
|
+
errorText = _ref.errorText,
|
|
28
|
+
datepickerControlOverrides = _ref.datepickerControlOverrides;
|
|
29
|
+
|
|
30
|
+
var _useDatepicker = (0, _DatepickerContext.useDatepicker)(),
|
|
31
|
+
isInvalid = _useDatepicker.isInvalid,
|
|
32
|
+
onOpen = _useDatepicker.disclosure.onOpen;
|
|
33
|
+
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
35
|
+
"data-testid": "Datepicker-ControlsContainer"
|
|
36
|
+
}, datepickerControlOverrides === null || datepickerControlOverrides === void 0 ? void 0 : datepickerControlOverrides.controlsContainer), /*#__PURE__*/_react.default.createElement(_components.DatepickerInput, {
|
|
37
|
+
asSingle: true,
|
|
38
|
+
onClick: onOpen,
|
|
39
|
+
value: value,
|
|
40
|
+
useInputIcons: useInputIcons,
|
|
41
|
+
isInputInvalid: isInvalid,
|
|
42
|
+
inputLabelText: inputLabelText,
|
|
43
|
+
placeholderText: inputPlaceholderText,
|
|
44
|
+
errorText: errorText,
|
|
45
|
+
context: _DatepickerContext.DatepickerContext,
|
|
46
|
+
inputComponentOverrides: datepickerControlOverrides === null || datepickerControlOverrides === void 0 ? void 0 : datepickerControlOverrides.inputComponentOverrides
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var _default = DatepickerControl;
|
|
51
|
+
exports.default = _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
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, "DateRow", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _DateRow.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "DatepickerContainer", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _DatepickerContainer.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "DatepickerControl", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _DatepickerControl.default;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var _DateRow = _interopRequireDefault(require("./DateRow"));
|
|
28
|
+
|
|
29
|
+
var _DatepickerControl = _interopRequireDefault(require("./DatepickerControl"));
|
|
30
|
+
|
|
31
|
+
var _DatepickerContainer = _interopRequireDefault(require("./DatepickerContainer"));
|
|
@@ -0,0 +1,88 @@
|
|
|
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 = exports.datepickerOverridesProps = exports.datepickerControlOverridesProps = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _sharedPropTypes = require("../../common/utils/sharedPropTypes");
|
|
13
|
+
|
|
14
|
+
var datepickerControlOverridesProps = _propTypes.default.shape({
|
|
15
|
+
/**
|
|
16
|
+
* Overrides for the Flex component that wraps the input field,
|
|
17
|
+
* see https://chakra-ui.com/docs/components/flex/props for more
|
|
18
|
+
*/
|
|
19
|
+
controlsContainer: _propTypes.default.object,
|
|
20
|
+
|
|
21
|
+
/** Overrides for the Input component */
|
|
22
|
+
inputComponentOverrides: _sharedPropTypes.inputComponentOverridesProps
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
exports.datepickerControlOverridesProps = datepickerControlOverridesProps;
|
|
26
|
+
|
|
27
|
+
var datepickerOverridesProps = _propTypes.default.shape({
|
|
28
|
+
/**
|
|
29
|
+
* Overrides for the parent Popover component,
|
|
30
|
+
* see https://chakra-ui.com/docs/components/popover/props for more
|
|
31
|
+
*/
|
|
32
|
+
popover: _propTypes.default.object,
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Overrides for the Portal component that wraps the Datepicker calendar Popover, see https://chakra-ui.com/docs/components/portal/props for more
|
|
36
|
+
*/
|
|
37
|
+
portal: _propTypes.default.object,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Overrides for the PopoverContent component,
|
|
41
|
+
* see https://chakra-ui.com/docs/components/popover/props#other-props for more
|
|
42
|
+
*/
|
|
43
|
+
popoverContent: _propTypes.default.object,
|
|
44
|
+
|
|
45
|
+
/** An optional Object containing style and prop overrides to be applied to the Form and Control component */
|
|
46
|
+
datepickerControlOverrides: datepickerControlOverridesProps,
|
|
47
|
+
|
|
48
|
+
/** An optional Object containing style and prop overrides to be applied to the Popover body, Calendar, and Header componets */
|
|
49
|
+
datepickerBodyOverrides: _sharedPropTypes.datepickerBodyOverridesProps
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
exports.datepickerOverridesProps = datepickerOverridesProps;
|
|
53
|
+
var props = {
|
|
54
|
+
/** An optional (pre-selected) Selected Date to populate the Datepicker with */
|
|
55
|
+
initialValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object, _propTypes.default.instanceOf(Date)]),
|
|
56
|
+
|
|
57
|
+
/** A string in the format 'MM/DD/YYYY' representing the date where days before it should be disabled in the calendar */
|
|
58
|
+
disableBefore: _propTypes.default.string,
|
|
59
|
+
|
|
60
|
+
/** A string in the format 'MM/DD/YYYY' representing the date where days after it should be disabled in the calendar. */
|
|
61
|
+
disableAfter: _propTypes.default.string,
|
|
62
|
+
|
|
63
|
+
/** A callback function to execute on changes */
|
|
64
|
+
onDateChange: _propTypes.default.func,
|
|
65
|
+
|
|
66
|
+
/** Whether to render the Popover within a Portal or not */
|
|
67
|
+
usePortal: _propTypes.default.bool,
|
|
68
|
+
|
|
69
|
+
/** Whether to display the Selected Date Input as invalid or not */
|
|
70
|
+
isInvalid: _propTypes.default.bool,
|
|
71
|
+
|
|
72
|
+
/** Whether to show the Calendar Icon in the Input field. */
|
|
73
|
+
useInputIcons: _propTypes.default.bool,
|
|
74
|
+
|
|
75
|
+
/** A string to use as the Input form label */
|
|
76
|
+
dateInputLabelText: _propTypes.default.string,
|
|
77
|
+
|
|
78
|
+
/** A string to use as the Input placeholder text */
|
|
79
|
+
dateInputPlaceholderText: _propTypes.default.string,
|
|
80
|
+
|
|
81
|
+
/** A string to use as the Input form Error Text */
|
|
82
|
+
dateInputErrorText: _propTypes.default.string,
|
|
83
|
+
|
|
84
|
+
/** An optional Object containing style and prop overrides to be applied to the component and child components */
|
|
85
|
+
datepickerOverrides: datepickerOverridesProps
|
|
86
|
+
};
|
|
87
|
+
var _default = props;
|
|
88
|
+
exports.default = _default;
|
|
@@ -23,18 +23,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
23
23
|
|
|
24
24
|
var _react2 = require("@chakra-ui/react");
|
|
25
25
|
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
var _constants = require("../constants");
|
|
26
|
+
var _constants = require("../utils/constants");
|
|
29
27
|
|
|
30
28
|
var _getWeeksOfMonth = require("../utils/getWeeksOfMonth");
|
|
31
29
|
|
|
32
|
-
var
|
|
30
|
+
var _sharedPropTypes = require("../utils/sharedPropTypes");
|
|
33
31
|
|
|
34
32
|
var _generalCalculations = require("../utils/generalCalculations");
|
|
35
33
|
|
|
36
|
-
var _DateRow = _interopRequireDefault(require("./DateRow"));
|
|
37
|
-
|
|
38
34
|
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
35
|
|
|
40
36
|
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; }
|
|
@@ -72,13 +68,15 @@ var getDatepickerCalendarThStyleProps = function getDatepickerCalendarThStylePro
|
|
|
72
68
|
};
|
|
73
69
|
|
|
74
70
|
var DatepickerDays = function DatepickerDays(_ref) {
|
|
75
|
-
var datepickerDaysOverrides = _ref.datepickerDaysOverrides
|
|
71
|
+
var datepickerDaysOverrides = _ref.datepickerDaysOverrides,
|
|
72
|
+
context = _ref.context,
|
|
73
|
+
DateRow = _ref.DateRow;
|
|
76
74
|
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
today =
|
|
80
|
-
|
|
81
|
-
date =
|
|
75
|
+
var _useContext = (0, _react.useContext)(context),
|
|
76
|
+
_useContext$today = (0, _slicedToArray2.default)(_useContext.today, 1),
|
|
77
|
+
today = _useContext$today[0],
|
|
78
|
+
_useContext$date = (0, _slicedToArray2.default)(_useContext.date, 1),
|
|
79
|
+
date = _useContext$date[0];
|
|
82
80
|
|
|
83
81
|
var _useState = (0, _react.useState)(),
|
|
84
82
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -90,17 +88,22 @@ var DatepickerDays = function DatepickerDays(_ref) {
|
|
|
90
88
|
}, [date]);
|
|
91
89
|
return /*#__PURE__*/_react.default.createElement(_react2.Table, (0, _extends2.default)({
|
|
92
90
|
role: "grid",
|
|
93
|
-
"aria-labelledby": "id-grid-label"
|
|
94
|
-
|
|
91
|
+
"aria-labelledby": "id-grid-label",
|
|
92
|
+
"data-testid": "DatepickerDays-Table"
|
|
93
|
+
}, datepickerCalendarTableStyleProps, datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.table), /*#__PURE__*/_react.default.createElement(_react2.Thead, (0, _extends2.default)({
|
|
94
|
+
"data-testid": "DatepickerDays-Thead"
|
|
95
|
+
}, datepickerTheadStyleProps, datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.thead), /*#__PURE__*/_react.default.createElement(_react2.Tr, {
|
|
96
|
+
"data-testid": "daysOfWeek-row"
|
|
97
|
+
}, (0, _map.default)(_constants.DAY_NAMES).call(_constants.DAY_NAMES, function (day, index) {
|
|
95
98
|
return /*#__PURE__*/_react.default.createElement(_react2.Th, (0, _extends2.default)({
|
|
96
99
|
key: index,
|
|
97
100
|
scope: "col",
|
|
98
101
|
abbr: day.full,
|
|
99
102
|
"data-testid": "daysOfWeek-title"
|
|
100
103
|
}, getDatepickerCalendarThStyleProps(today, weeks, index), datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.th), day.abbv);
|
|
101
|
-
}))), /*#__PURE__*/_react.default.createElement(
|
|
104
|
+
}))), /*#__PURE__*/_react.default.createElement(DateRow, {
|
|
102
105
|
dates: weeks !== null && weeks !== void 0 ? weeks : [],
|
|
103
|
-
dateRowOverrides: datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.
|
|
106
|
+
dateRowOverrides: datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.dateRowOverrides
|
|
104
107
|
}));
|
|
105
108
|
};
|
|
106
109
|
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
|
+
|
|
3
9
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
10
|
|
|
5
11
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -7,17 +13,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
13
|
});
|
|
8
14
|
exports.default = void 0;
|
|
9
15
|
|
|
16
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
17
|
+
|
|
10
18
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
19
|
|
|
12
20
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
13
21
|
|
|
14
|
-
var
|
|
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"));
|
|
22
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
23
|
|
|
22
24
|
var _react2 = require("@chakra-ui/react");
|
|
23
25
|
|
|
@@ -25,16 +27,14 @@ var _chevronLeft = _interopRequireDefault(require("@spothero/icons/chevron-left"
|
|
|
25
27
|
|
|
26
28
|
var _chevronRight = _interopRequireDefault(require("@spothero/icons/chevron-right"));
|
|
27
29
|
|
|
28
|
-
var _constants = require("../constants");
|
|
30
|
+
var _constants = require("../utils/constants");
|
|
29
31
|
|
|
30
|
-
var
|
|
32
|
+
var _sharedPropTypes = require("../utils/sharedPropTypes");
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
33
37
|
|
|
34
|
-
var Directions = (0, _freeze.default)({
|
|
35
|
-
Forward: (0, _symbol.default)('forward'),
|
|
36
|
-
Backward: (0, _symbol.default)('backward')
|
|
37
|
-
});
|
|
38
38
|
var monthSelectionButtonStyleProps = {
|
|
39
39
|
size: 'sm',
|
|
40
40
|
variant: 'ghost',
|
|
@@ -53,20 +53,21 @@ var monthTitleStyleProps = {
|
|
|
53
53
|
var DatepickerHeader = function DatepickerHeader(_ref) {
|
|
54
54
|
var _context;
|
|
55
55
|
|
|
56
|
-
var datepickerHeaderOverrides = _ref.datepickerHeaderOverrides
|
|
57
|
-
|
|
56
|
+
var datepickerHeaderOverrides = _ref.datepickerHeaderOverrides,
|
|
57
|
+
context = _ref.context;
|
|
58
58
|
|
|
59
|
-
var
|
|
60
|
-
date =
|
|
61
|
-
|
|
59
|
+
var _useContext = (0, _react.useContext)(context),
|
|
60
|
+
_useContext$date = (0, _slicedToArray2.default)(_useContext.date, 2),
|
|
61
|
+
date = _useContext$date[0],
|
|
62
|
+
setDate = _useContext$date[1];
|
|
62
63
|
|
|
63
64
|
var month = date.getMonth();
|
|
64
65
|
var year = date.getFullYear();
|
|
65
66
|
|
|
66
67
|
var onChange = function onChange(dir) {
|
|
67
68
|
return function () {
|
|
68
|
-
var terminator = dir ===
|
|
69
|
-
var adder = dir ===
|
|
69
|
+
var terminator = dir === _constants.CALENDAR_CONTROL_DIRECTIONS.Backward ? 0 : 11;
|
|
70
|
+
var adder = dir === _constants.CALENDAR_CONTROL_DIRECTIONS.Backward ? -1 : 1;
|
|
70
71
|
|
|
71
72
|
if (month === terminator) {
|
|
72
73
|
date.setFullYear(year + adder, Math.abs(11 - month));
|
|
@@ -83,27 +84,31 @@ var DatepickerHeader = function DatepickerHeader(_ref) {
|
|
|
83
84
|
|
|
84
85
|
|
|
85
86
|
return /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
87
|
+
"data-testid": "DatepickerHeader-HeaderContainer",
|
|
86
88
|
alignItems: "center",
|
|
87
89
|
marginBottom: 2,
|
|
88
90
|
width: "100%"
|
|
89
91
|
}, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.headerContainer), /*#__PURE__*/_react.default.createElement(_react2.IconButton, (0, _extends2.default)({
|
|
92
|
+
"data-testid": "DatepickerHeader-IconButton-Left",
|
|
90
93
|
icon: /*#__PURE__*/_react.default.createElement(_chevronLeft.default, {
|
|
91
94
|
height: 16,
|
|
92
95
|
width: 16,
|
|
93
96
|
fill: "black"
|
|
94
97
|
}),
|
|
95
|
-
onClick: onChange(
|
|
98
|
+
onClick: onChange(_constants.CALENDAR_CONTROL_DIRECTIONS.Backward),
|
|
96
99
|
"aria-label": "previous month"
|
|
97
100
|
}, monthSelectionButtonStyleProps, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.iconButton)), /*#__PURE__*/_react.default.createElement(_react2.Flex, (0, _extends2.default)({
|
|
101
|
+
"data-testid": "DatepickerHeader-MonthTitle",
|
|
98
102
|
"aria-live": "polite",
|
|
99
103
|
id: "id-grid-label"
|
|
100
104
|
}, 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)({
|
|
105
|
+
"data-testid": "DatepickerHeader-IconButton-Right",
|
|
101
106
|
icon: /*#__PURE__*/_react.default.createElement(_chevronRight.default, {
|
|
102
107
|
height: 16,
|
|
103
108
|
width: 16,
|
|
104
109
|
fill: "black"
|
|
105
110
|
}),
|
|
106
|
-
onClick: onChange(
|
|
111
|
+
onClick: onChange(_constants.CALENDAR_CONTROL_DIRECTIONS.Forward),
|
|
107
112
|
"aria-label": "next month"
|
|
108
113
|
}, monthSelectionButtonStyleProps, datepickerHeaderOverrides === null || datepickerHeaderOverrides === void 0 ? void 0 : datepickerHeaderOverrides.iconButton)));
|
|
109
114
|
/* eslint-enable react/jsx-curly-brace-presence */
|
|
@@ -0,0 +1,127 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _react2 = require("@chakra-ui/react");
|
|
21
|
+
|
|
22
|
+
var _calendar = _interopRequireDefault(require("@spothero/icons/calendar"));
|
|
23
|
+
|
|
24
|
+
var _sharedPropTypes = require("../utils/sharedPropTypes");
|
|
25
|
+
|
|
26
|
+
var _generalCalculations = require("../utils/generalCalculations");
|
|
27
|
+
|
|
28
|
+
var _WithPopoverAnchor = _interopRequireDefault(require("./WithPopoverAnchor"));
|
|
29
|
+
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
var formLabelStyleProps = {
|
|
35
|
+
as: 'label',
|
|
36
|
+
fontSize: 'sm',
|
|
37
|
+
fontWeight: 'semibold',
|
|
38
|
+
color: 'text.secondary.light',
|
|
39
|
+
marginBottom: 1
|
|
40
|
+
};
|
|
41
|
+
var formErrorMessageStyleProps = {
|
|
42
|
+
color: 'error',
|
|
43
|
+
fontSize: 'xs',
|
|
44
|
+
marginTop: 1
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var getInputStyleProps = function getInputStyleProps(isOpen, isSelected, useInputIcons) {
|
|
48
|
+
return {
|
|
49
|
+
paddingRight: useInputIcons ? '2.625rem' : 'initial',
|
|
50
|
+
borderColor: isOpen && isSelected ? 'brandBlue' : 'gray.medium',
|
|
51
|
+
_hover: {
|
|
52
|
+
borderColor: isOpen && isSelected ? 'primary.600' : 'gray.300'
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var DatepickerInput = function DatepickerInput(_ref) {
|
|
58
|
+
var _ref$asSingle = _ref.asSingle,
|
|
59
|
+
asSingle = _ref$asSingle === void 0 ? false : _ref$asSingle,
|
|
60
|
+
isSelected = _ref.isSelected,
|
|
61
|
+
onClick = _ref.onClick,
|
|
62
|
+
selectionPosition = _ref.selectionPosition,
|
|
63
|
+
value = _ref.value,
|
|
64
|
+
useInputIcons = _ref.useInputIcons,
|
|
65
|
+
isInputInvalid = _ref.isInputInvalid,
|
|
66
|
+
inputLabelText = _ref.inputLabelText,
|
|
67
|
+
placeholderText = _ref.placeholderText,
|
|
68
|
+
errorText = _ref.errorText,
|
|
69
|
+
context = _ref.context,
|
|
70
|
+
inputComponentOverrides = _ref.inputComponentOverrides;
|
|
71
|
+
|
|
72
|
+
var _useContext = (0, _react.useContext)(context),
|
|
73
|
+
_useContext$disclosur = _useContext.disclosure,
|
|
74
|
+
onOpen = _useContext$disclosur.onOpen,
|
|
75
|
+
onClose = _useContext$disclosur.onClose,
|
|
76
|
+
isOpen = _useContext$disclosur.isOpen;
|
|
77
|
+
|
|
78
|
+
var dataTestIDString = "DatepickerInput".concat(asSingle ? '' : "-".concat(selectionPosition));
|
|
79
|
+
|
|
80
|
+
var handleKeyboardControls = function handleKeyboardControls(evt) {
|
|
81
|
+
var keyCode = evt.code;
|
|
82
|
+
|
|
83
|
+
if (keyCode === 'Enter' || keyCode === 'Space') {
|
|
84
|
+
onOpen();
|
|
85
|
+
} else if (keyCode === 'Escape') {
|
|
86
|
+
onClose();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(_react2.Box, (0, _extends2.default)({
|
|
91
|
+
"data-testid": "".concat(dataTestIDString, "-InputComponentContainer"),
|
|
92
|
+
width: "100%"
|
|
93
|
+
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.inputGroupContainer), /*#__PURE__*/_react.default.createElement(_react2.FormControl, (0, _extends2.default)({
|
|
94
|
+
"data-testid": "".concat(dataTestIDString, "-FormControl"),
|
|
95
|
+
isInvalid: isInputInvalid
|
|
96
|
+
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.formControl), inputLabelText && /*#__PURE__*/_react.default.createElement(_react2.FormLabel, (0, _extends2.default)({
|
|
97
|
+
"data-testid": "".concat(dataTestIDString, "-FormLabel")
|
|
98
|
+
}, formLabelStyleProps, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.formLabel), inputLabelText), /*#__PURE__*/_react.default.createElement(_WithPopoverAnchor.default, {
|
|
99
|
+
isSelected: asSingle ? isOpen : isSelected
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(_react2.InputGroup, (0, _extends2.default)({
|
|
101
|
+
"data-testid": "".concat(dataTestIDString, "-InputGroup")
|
|
102
|
+
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.inputGroup), /*#__PURE__*/_react.default.createElement(_react2.Input, (0, _extends2.default)({
|
|
103
|
+
"data-testid": "".concat(dataTestIDString, "-InputField"),
|
|
104
|
+
name: dataTestIDString,
|
|
105
|
+
placeholder: placeholderText,
|
|
106
|
+
value: (0, _generalCalculations.formatValueForInputDisplay)(value),
|
|
107
|
+
onClick: onClick,
|
|
108
|
+
onKeyDown: handleKeyboardControls,
|
|
109
|
+
isReadOnly: true
|
|
110
|
+
}, getInputStyleProps(isOpen, asSingle ? true : isSelected, useInputIcons), inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.input)), useInputIcons && /*#__PURE__*/_react.default.createElement(_react2.InputRightElement, (0, _extends2.default)({
|
|
111
|
+
"data-testid": "".concat(dataTestIDString, "-InputRightElement"),
|
|
112
|
+
color: isInputInvalid ? 'error' : 'gray.dark',
|
|
113
|
+
pointerEvents: "none",
|
|
114
|
+
zIndex: "base"
|
|
115
|
+
}, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.inputRightElement), /*#__PURE__*/_react.default.createElement(_react2.Icon, {
|
|
116
|
+
"data-testid": "".concat(dataTestIDString, "-InputRightElement-Icon"),
|
|
117
|
+
as: _calendar.default,
|
|
118
|
+
color: "inherit",
|
|
119
|
+
height: 5,
|
|
120
|
+
width: 5
|
|
121
|
+
})))), /*#__PURE__*/_react.default.createElement(_react2.FormErrorMessage, (0, _extends2.default)({
|
|
122
|
+
"data-testid": "".concat(dataTestIDString, "-FormErrorMessage")
|
|
123
|
+
}, formErrorMessageStyleProps, inputComponentOverrides === null || inputComponentOverrides === void 0 ? void 0 : inputComponentOverrides.formErrorMessage), errorText)));
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
var _default = DatepickerInput;
|
|
127
|
+
exports.default = _default;
|
package/dist/components/{DatepickerRange → Datepicker/common}/components/WithPopoverAnchor.js
RENAMED
|
@@ -14,7 +14,9 @@ var _react2 = require("@chakra-ui/react");
|
|
|
14
14
|
var WithPopoverAnchor = function WithPopoverAnchor(_ref) {
|
|
15
15
|
var isSelected = _ref.isSelected,
|
|
16
16
|
children = _ref.children;
|
|
17
|
-
return isSelected ? /*#__PURE__*/_react.default.createElement(_react2.PopoverAnchor,
|
|
17
|
+
return isSelected ? /*#__PURE__*/_react.default.createElement(_react2.PopoverAnchor, {
|
|
18
|
+
"data-testid": "Datepicker-PopoverAnchor"
|
|
19
|
+
}, children) : children;
|
|
18
20
|
};
|
|
19
21
|
|
|
20
22
|
var _default = WithPopoverAnchor;
|
|
@@ -0,0 +1,26 @@
|
|
|
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 WithPortal = function WithPortal(_ref) {
|
|
17
|
+
var usePortal = _ref.usePortal,
|
|
18
|
+
children = _ref.children,
|
|
19
|
+
overrideProps = _ref.overrideProps;
|
|
20
|
+
return usePortal ? /*#__PURE__*/_react.default.createElement(_react2.Portal, (0, _extends2.default)({
|
|
21
|
+
"data-testid": "Datepicker-Portal"
|
|
22
|
+
}, overrideProps), children) : children;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var _default = WithPortal;
|
|
26
|
+
exports.default = _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
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, "DatepickerDays", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _DatepickerDays.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "DatepickerHeader", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _DatepickerHeader.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "DatepickerInput", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _DatepickerInput.default;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "WithPortal", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _WithPortal.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
var _WithPortal = _interopRequireDefault(require("./WithPortal"));
|
|
34
|
+
|
|
35
|
+
var _DatepickerDays = _interopRequireDefault(require("./DatepickerDays"));
|
|
36
|
+
|
|
37
|
+
var _DatepickerInput = _interopRequireDefault(require("./DatepickerInput"));
|
|
38
|
+
|
|
39
|
+
var _DatepickerHeader = _interopRequireDefault(require("./DatepickerHeader"));
|
|
@@ -0,0 +1,43 @@
|
|
|
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.FULL_MONTH_NAMES = exports.DAY_NAMES = exports.CALENDAR_CONTROL_DIRECTIONS = void 0;
|
|
9
|
+
|
|
10
|
+
var _freeze = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/freeze"));
|
|
11
|
+
|
|
12
|
+
var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
|
|
13
|
+
|
|
14
|
+
var DAY_NAMES = [{
|
|
15
|
+
abbv: 'Su',
|
|
16
|
+
full: 'Sunday'
|
|
17
|
+
}, {
|
|
18
|
+
abbv: 'Mo',
|
|
19
|
+
full: 'Monday'
|
|
20
|
+
}, {
|
|
21
|
+
abbv: 'Tu',
|
|
22
|
+
full: 'Tuesday'
|
|
23
|
+
}, {
|
|
24
|
+
abbv: 'We',
|
|
25
|
+
full: 'Wednesday'
|
|
26
|
+
}, {
|
|
27
|
+
abbv: 'Th',
|
|
28
|
+
full: 'Thursday'
|
|
29
|
+
}, {
|
|
30
|
+
abbv: 'Fr',
|
|
31
|
+
full: 'Friday'
|
|
32
|
+
}, {
|
|
33
|
+
abbv: 'Sa',
|
|
34
|
+
full: 'Saturday'
|
|
35
|
+
}];
|
|
36
|
+
exports.DAY_NAMES = DAY_NAMES;
|
|
37
|
+
var FULL_MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
38
|
+
exports.FULL_MONTH_NAMES = FULL_MONTH_NAMES;
|
|
39
|
+
var CALENDAR_CONTROL_DIRECTIONS = (0, _freeze.default)({
|
|
40
|
+
Forward: (0, _symbol.default)('forward'),
|
|
41
|
+
Backward: (0, _symbol.default)('backward')
|
|
42
|
+
});
|
|
43
|
+
exports.CALENDAR_CONTROL_DIRECTIONS = CALENDAR_CONTROL_DIRECTIONS;
|