@spothero/ui 17.1.0-beta.0 → 17.1.0-beta.5

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.
Files changed (40) hide show
  1. package/dist/components/{DatepickerRange → Datepicker/Range}/DatepickerRange.js +7 -4
  2. package/dist/components/{DatepickerRange → Datepicker/Range}/DatepickerRange.stories.js +26 -10
  3. package/dist/components/{DatepickerRange → Datepicker/Range}/components/DateRow.js +30 -29
  4. package/dist/components/{DatepickerRange → Datepicker/Range/components}/DatepickerRangeContainer.js +110 -41
  5. package/dist/components/{DatepickerRange → Datepicker/Range}/components/DatepickerRangeControls.js +7 -4
  6. package/dist/components/Datepicker/Range/components/index.js +31 -0
  7. package/dist/components/Datepicker/Range/utils/propTypes.js +158 -0
  8. package/dist/components/Datepicker/{Datepicker.stories.js → Single/Datepicker.stories.js} +49 -30
  9. package/dist/components/Datepicker/{DatepickerContext.js → Single/DatepickerContext.js} +4 -4
  10. package/dist/components/Datepicker/{DatepickerSingle.js → Single/DatepickerSingle.js} +7 -4
  11. package/dist/components/Datepicker/{components → Single/components}/DateRow.js +19 -18
  12. package/dist/components/Datepicker/{DatepickerContainer.js → Single/components/DatepickerContainer.js} +84 -31
  13. package/dist/components/Datepicker/Single/components/DatepickerControl.js +51 -0
  14. package/dist/components/Datepicker/Single/components/index.js +31 -0
  15. package/dist/components/Datepicker/Single/utils/propTypes.js +88 -0
  16. package/dist/components/Datepicker/{components → common/components}/DatepickerDays.js +19 -16
  17. package/dist/components/Datepicker/{components → common/components}/DatepickerHeader.js +28 -23
  18. package/dist/components/Datepicker/common/components/DatepickerInput.js +126 -0
  19. package/dist/components/{DatepickerRange → Datepicker/common}/components/WithPopoverAnchor.js +3 -1
  20. package/dist/components/Datepicker/common/components/WithPortal.js +26 -0
  21. package/dist/components/Datepicker/common/components/index.js +39 -0
  22. package/dist/components/Datepicker/common/utils/constants.js +43 -0
  23. package/dist/components/{DatepickerRange/utils/dateRowArithmentic.js → Datepicker/common/utils/dateRowCalculations.js} +14 -15
  24. package/dist/components/Datepicker/{utils/propTypes.js → common/utils/sharedPropTypes.js} +8 -62
  25. package/dist/components/Datepicker/index.js +23 -0
  26. package/dist/components/index.js +7 -9
  27. package/package.json +1 -1
  28. package/dist/components/Datepicker/components/DatepickerControl.js +0 -83
  29. package/dist/components/Datepicker/constants.js +0 -31
  30. package/dist/components/Datepicker/utils/dateRowArithmentic.js +0 -58
  31. package/dist/components/DatepickerRange/components/DatepickerDays.js +0 -108
  32. package/dist/components/DatepickerRange/components/DatepickerHeader.js +0 -116
  33. package/dist/components/DatepickerRange/components/DatepickerRangeInput.js +0 -90
  34. package/dist/components/DatepickerRange/constants.js +0 -31
  35. package/dist/components/DatepickerRange/utils/generalCalculations.js +0 -71
  36. package/dist/components/DatepickerRange/utils/getWeeksOfMonth.js +0 -51
  37. package/dist/components/DatepickerRange/utils/propTypes.js +0 -245
  38. /package/dist/components/{DatepickerRange → Datepicker/Range}/DatepickerRangeContext.js +0 -0
  39. /package/dist/components/Datepicker/{utils → common/utils}/generalCalculations.js +0 -0
  40. /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.selected = selected;
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 selected(calendarDate, selectedStartDate, selectedEndDate) {
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 equal = (dateOne === null || dateOne === void 0 ? void 0 : dateOne.getTime()) === (dateTwo === null || dateTwo === void 0 ? void 0 : dateTwo.getTime());
41
- return equal;
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.default = exports.datepickerOverridesProps = exports.datepickerHeaderOverridesProps = exports.datepickerDaysOverridesProps = exports.datepickerBodyOverridesProps = exports.dateRowOverridesProps = void 0;
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"));
@@ -53,8 +53,8 @@ var _exportNames = {
53
53
  RadioGroup: true,
54
54
  AutoSuggestSelect: true,
55
55
  Badge: true,
56
- DatepickerSingle: true,
57
- DatepickerRange: true,
56
+ DatePicker: true,
57
+ DateRangePicker: true,
58
58
  Box: true,
59
59
  Flex: true,
60
60
  Fade: true,
@@ -179,16 +179,16 @@ Object.defineProperty(exports, "Container", {
179
179
  return _Container.default;
180
180
  }
181
181
  });
182
- Object.defineProperty(exports, "DatepickerRange", {
182
+ Object.defineProperty(exports, "DatePicker", {
183
183
  enumerable: true,
184
184
  get: function get() {
185
- return _DatepickerRange.default;
185
+ return _Datepicker.DatepickerSingle;
186
186
  }
187
187
  });
188
- Object.defineProperty(exports, "DatepickerSingle", {
188
+ Object.defineProperty(exports, "DateRangePicker", {
189
189
  enumerable: true,
190
190
  get: function get() {
191
- return _DatepickerSingle.default;
191
+ return _Datepicker.DatepickerRange;
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 _DatepickerSingle = _interopRequireDefault(require("./Datepicker/DatepickerSingle"));
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@spothero/ui",
3
- "version": "17.1.0-beta.0",
3
+ "version": "17.1.0-beta.5",
4
4
  "description": "SpotHero's React component UI library.",
5
5
  "main": "./dist/components/index.js",
6
6
  "exports": "./dist/components/index.js",
@@ -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;