@spothero/ui 17.0.3 → 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.
Files changed (163) hide show
  1. package/dist/components/Accordion/Accordion.js +2 -1
  2. package/dist/components/Accordion/Accordion.stories.js +22 -13
  3. package/dist/components/Accordion/index.js +8 -5
  4. package/dist/components/Accordion/styles/button.js +3 -1
  5. package/dist/components/Accordion/styles/container.js +1 -1
  6. package/dist/components/Accordion/styles/index.js +13 -4
  7. package/dist/components/Accordion/styles/panel.js +1 -1
  8. package/dist/components/Alert/Alert.js +44 -23
  9. package/dist/components/Alert/Alert.stories.js +12 -8
  10. package/dist/components/Alert/index.js +3 -1
  11. package/dist/components/Alert/styles/index.js +35 -12
  12. package/dist/components/AutoSuggestSelect/AutoSuggestSelect.js +119 -84
  13. package/dist/components/AutoSuggestSelect/AutoSuggestSelect.stories.js +12 -4
  14. package/dist/components/AutoSuggestSelect/index.js +3 -1
  15. package/dist/components/Badge/Badge.js +2 -1
  16. package/dist/components/Badge/Badge.stories.js +20 -12
  17. package/dist/components/Badge/styles/index.js +12 -6
  18. package/dist/components/Button/Button.js +47 -17
  19. package/dist/components/Button/Button.spec.js +10 -4
  20. package/dist/components/Button/Button.styles.js +49 -36
  21. package/dist/components/Button/button-props.js +20 -2
  22. package/dist/components/Button/index.js +5 -2
  23. package/dist/components/Button/stories/button.js +17 -5
  24. package/dist/components/Button/stories/index.stories.js +48 -24
  25. package/dist/components/Button/stories/overview.js +62 -34
  26. package/dist/components/Card/Card.js +26 -11
  27. package/dist/components/Card/Card.stories.js +15 -5
  28. package/dist/components/Checkbox/Checkbox.js +2 -1
  29. package/dist/components/Checkbox/Checkbox.stories.js +10 -2
  30. package/dist/components/Checkbox/index.js +3 -1
  31. package/dist/components/Checkbox/styles/index.js +11 -3
  32. package/dist/components/Container/Container.js +21 -5
  33. package/dist/components/Container/Container.stories.js +43 -14
  34. package/dist/components/Container/Container.styles.js +1 -1
  35. package/dist/components/Datepicker/Range/DatepickerRange.js +67 -0
  36. package/dist/components/Datepicker/Range/DatepickerRange.stories.js +427 -0
  37. package/dist/components/Datepicker/Range/DatepickerRangeContext.js +80 -0
  38. package/dist/components/Datepicker/Range/components/DateRow.js +261 -0
  39. package/dist/components/Datepicker/Range/components/DatepickerRangeContainer.js +227 -0
  40. package/dist/components/Datepicker/Range/components/DatepickerRangeControls.js +80 -0
  41. package/dist/components/Datepicker/Range/components/index.js +31 -0
  42. package/dist/components/Datepicker/Range/utils/propTypes.js +158 -0
  43. package/dist/components/Datepicker/Single/Datepicker.stories.js +314 -0
  44. package/dist/components/Datepicker/Single/DatepickerContext.js +65 -0
  45. package/dist/components/Datepicker/Single/DatepickerSingle.js +54 -0
  46. package/dist/components/Datepicker/Single/components/DateRow.js +146 -0
  47. package/dist/components/Datepicker/Single/components/DatepickerContainer.js +167 -0
  48. package/dist/components/Datepicker/Single/components/DatepickerControl.js +51 -0
  49. package/dist/components/Datepicker/Single/components/index.js +31 -0
  50. package/dist/components/Datepicker/Single/utils/propTypes.js +88 -0
  51. package/dist/components/Datepicker/common/components/DatepickerDays.js +111 -0
  52. package/dist/components/Datepicker/common/components/DatepickerHeader.js +118 -0
  53. package/dist/components/Datepicker/common/components/DatepickerInput.js +127 -0
  54. package/dist/components/Datepicker/common/components/WithPopoverAnchor.js +23 -0
  55. package/dist/components/Datepicker/common/components/WithPortal.js +26 -0
  56. package/dist/components/Datepicker/common/components/index.js +39 -0
  57. package/dist/components/Datepicker/common/utils/constants.js +43 -0
  58. package/dist/components/Datepicker/common/utils/dateRowCalculations.js +92 -0
  59. package/dist/components/Datepicker/common/utils/generalCalculations.js +71 -0
  60. package/dist/components/Datepicker/common/utils/getWeeksOfMonth.js +51 -0
  61. package/dist/components/Datepicker/common/utils/sharedPropTypes.js +147 -0
  62. package/dist/components/Datepicker/index.js +23 -0
  63. package/dist/components/Divider/Divider.js +24 -8
  64. package/dist/components/Divider/Divider.stories.js +15 -3
  65. package/dist/components/Divider/Divider.styles.js +8 -2
  66. package/dist/components/FormControl/FormControl.js +29 -14
  67. package/dist/components/Grid/Grid.js +24 -7
  68. package/dist/components/Grid/Grid.stories.js +60 -36
  69. package/dist/components/Grid/Grid.styles.js +2 -2
  70. package/dist/components/Grid/GridItem.js +21 -5
  71. package/dist/components/Grid/GridItem.styles.js +1 -2
  72. package/dist/components/Grid/index.js +5 -2
  73. package/dist/components/Heading/Heading.js +29 -8
  74. package/dist/components/Heading/Heading.stories.js +15 -4
  75. package/dist/components/Heading/Heading.styles.js +38 -24
  76. package/dist/components/Icon/Icon.js +2 -1
  77. package/dist/components/Icon/Icon.stories.js +28 -19
  78. package/dist/components/Image/Image.js +69 -39
  79. package/dist/components/Image/Image.spec.js +22 -16
  80. package/dist/components/Image/Image.stories.js +19 -8
  81. package/dist/components/Input/Input.js +31 -14
  82. package/dist/components/Input/Input.stories.js +15 -5
  83. package/dist/components/Input/index.js +3 -1
  84. package/dist/components/Input/styles/index.js +10 -4
  85. package/dist/components/Link/Link.js +2 -1
  86. package/dist/components/Link/Link.stories.js +12 -5
  87. package/dist/components/Link/Link.styles.js +8 -8
  88. package/dist/components/List/List.js +37 -14
  89. package/dist/components/List/List.stories.js +55 -19
  90. package/dist/components/List/index.js +5 -2
  91. package/dist/components/List/styles/index.js +9 -2
  92. package/dist/components/List/styles/item.styles.js +1 -1
  93. package/dist/components/Loader/Loader.js +33 -17
  94. package/dist/components/Loader/Loader.stories.js +44 -24
  95. package/dist/components/Modal/Modal.js +23 -17
  96. package/dist/components/Modal/Modal.stories.js +100 -30
  97. package/dist/components/Modal/index.js +3 -1
  98. package/dist/components/Modal/styles/body.js +28 -11
  99. package/dist/components/Modal/styles/closeButton.js +4 -4
  100. package/dist/components/Modal/styles/dialog.js +4 -4
  101. package/dist/components/Modal/styles/dialogContainer.js +11 -5
  102. package/dist/components/Modal/styles/header.js +5 -5
  103. package/dist/components/Modal/styles/index.js +28 -12
  104. package/dist/components/Popover/Popover.js +33 -12
  105. package/dist/components/Popover/Popover.stories.js +62 -36
  106. package/dist/components/Popover/PopoverArrow.js +17 -3
  107. package/dist/components/Popover/PopoverCloseButton.js +17 -3
  108. package/dist/components/Popover/PopoverContent.js +27 -10
  109. package/dist/components/Popover/index.js +8 -4
  110. package/dist/components/Popover/styles/index.js +22 -9
  111. package/dist/components/Popover/styles/popover-arrow.js +4 -4
  112. package/dist/components/Popover/styles/popover-body.js +7 -3
  113. package/dist/components/Popover/styles/popover-close-button.js +10 -7
  114. package/dist/components/Popover/styles/popover-content.js +7 -5
  115. package/dist/components/Popover/styles/popover-header.js +1 -1
  116. package/dist/components/Popover/styles/popper.js +1 -1
  117. package/dist/components/Radio/Radio.js +27 -12
  118. package/dist/components/Radio/Radio.stories.js +12 -2
  119. package/dist/components/Radio/RadioGroup.js +33 -17
  120. package/dist/components/Radio/index.js +5 -2
  121. package/dist/components/Radio/styles/index.js +13 -5
  122. package/dist/components/Select/Select.js +33 -14
  123. package/dist/components/Select/Select.stories.js +22 -13
  124. package/dist/components/Select/index.js +3 -1
  125. package/dist/components/Select/styles/index.js +14 -4
  126. package/dist/components/Skeleton/Skeleton.stories.js +20 -6
  127. package/dist/components/Skeleton/Skeleton.styles.js +3 -0
  128. package/dist/components/Skeleton/index.js +4 -3
  129. package/dist/components/Spinner/Spinner.js +25 -9
  130. package/dist/components/Spinner/Spinner.stories.js +70 -42
  131. package/dist/components/Spinner/Spinner.styles.js +43 -56
  132. package/dist/components/Switch/Switch.js +30 -13
  133. package/dist/components/Switch/Switch.stories.js +10 -2
  134. package/dist/components/Switch/index.js +3 -1
  135. package/dist/components/Switch/styles/index.js +31 -10
  136. package/dist/components/Table/Table.js +2 -1
  137. package/dist/components/Table/Table.stories.js +37 -17
  138. package/dist/components/Table/Table.styles.js +32 -13
  139. package/dist/components/Table/index.js +11 -8
  140. package/dist/components/Tabs/Tabs.js +22 -14
  141. package/dist/components/Tabs/Tabs.stories.js +20 -4
  142. package/dist/components/Tabs/combineSizeWithVariant.js +17 -11
  143. package/dist/components/Tabs/index.js +8 -5
  144. package/dist/components/Tabs/styles/index.js +8 -2
  145. package/dist/components/Text/Text.js +17 -8
  146. package/dist/components/Text/Text.stories.js +15 -3
  147. package/dist/components/Text/Text.styles.js +35 -15
  148. package/dist/components/Text/combineAsWithVariant.js +57 -36
  149. package/dist/components/Text/options.js +1 -1
  150. package/dist/components/ThemeProvider/ThemeProvider.js +33 -10
  151. package/dist/components/ThemeProvider/ThemeProvider.stories.js +16 -7
  152. package/dist/components/index.js +133 -74
  153. package/dist/components/styles.js +43 -21
  154. package/dist/theme/base/breakpoints.js +4 -1
  155. package/dist/theme/base/colors.js +45 -32
  156. package/dist/theme/base/index.js +13 -7
  157. package/dist/theme/base/sizes.js +4 -4
  158. package/dist/theme/base/typography.js +6 -5
  159. package/dist/theme/base/zindices.js +2 -1
  160. package/dist/theme/global.js +20 -87
  161. package/dist/theme/index.js +41 -15
  162. package/dist/utils/Spaces.js +12 -5
  163. package/package.json +2 -2
@@ -0,0 +1,146 @@
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 _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _react2 = require("@chakra-ui/react");
19
+
20
+ var _dateRowCalculations = require("../../common/utils/dateRowCalculations");
21
+
22
+ var _generalCalculations = require("../../common/utils/generalCalculations");
23
+
24
+ var _sharedPropTypes = require("../../common/utils/sharedPropTypes");
25
+
26
+ var _DatepickerContext = require("../DatepickerContext");
27
+
28
+ var calendarDateContainerStyleProps = {
29
+ marginTop: 0,
30
+ padding: 0,
31
+ width: {
32
+ base: 10,
33
+ tablet: 12
34
+ },
35
+ height: {
36
+ base: 10,
37
+ tablet: 12
38
+ },
39
+ _disabled: {
40
+ cursor: 'not-allowed',
41
+ backgroundColor: 'transparent',
42
+ border: 'none',
43
+ _hover: {
44
+ backgroundColor: 'transparent',
45
+ border: 'none'
46
+ }
47
+ }
48
+ };
49
+
50
+ var getCalendarDateStyleProps = function getCalendarDateStyleProps(today, date, calendarDate, selectedDate, disableBeforeDate, disableAfterDate) {
51
+ return {
52
+ padding: 0,
53
+ width: {
54
+ base: 10,
55
+ tablet: 12
56
+ },
57
+ height: {
58
+ base: 10,
59
+ tablet: 12
60
+ },
61
+ borderRadius: 'full',
62
+ animation: 'ease-in-out',
63
+ _active: {
64
+ backgroundColor: 'gray.light',
65
+ borderColor: 'white',
66
+ color: 'text.secondary.light'
67
+ },
68
+ borderColor: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? 'white' : 'transparent',
69
+ fontWeight: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? 'semibold' : (0, _dateRowCalculations.isToday)(calendarDate, today) ? 'bold' : 'base',
70
+ zIndex: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? '1200' : '1100',
71
+ backgroundColor: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? 'primary.default' : 'transparent',
72
+ color: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? 'text.primary.dark' : (0, _dateRowCalculations.outOfMonth)(calendarDate, date) || (0, _dateRowCalculations.isBeforeDisabledDate)(calendarDate, disableBeforeDate) || (0, _dateRowCalculations.isAfterDisabledDate)(calendarDate, disableAfterDate) ? 'text.secondary.light' : 'text.primary.light',
73
+ _hover: {
74
+ borderWidth: '1px',
75
+ borderColor: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? 'white' : 'primary.default',
76
+ backgroundColor: (0, _dateRowCalculations.selectedSingle)(calendarDate, selectedDate) ? 'primary.600' : 'transparent'
77
+ },
78
+ _disabled: {
79
+ cursor: 'not-allowed',
80
+ backgroundColor: 'transparent',
81
+ border: 'none',
82
+ borderColor: 'white',
83
+ _hover: {
84
+ backgroundColor: 'transparent',
85
+ border: 'none',
86
+ borderColor: 'white'
87
+ }
88
+ }
89
+ };
90
+ };
91
+
92
+ var DateRow = function DateRow(_ref) {
93
+ var dates = _ref.dates,
94
+ dateRowOverrides = _ref.dateRowOverrides;
95
+
96
+ var _useDatepicker = (0, _DatepickerContext.useDatepicker)(),
97
+ _useDatepicker$today = (0, _slicedToArray2.default)(_useDatepicker.today, 1),
98
+ today = _useDatepicker$today[0],
99
+ _useDatepicker$date = (0, _slicedToArray2.default)(_useDatepicker.date, 2),
100
+ date = _useDatepicker$date[0],
101
+ setDate = _useDatepicker$date[1],
102
+ _useDatepicker$select = (0, _slicedToArray2.default)(_useDatepicker.selectedDate, 2),
103
+ selectedDate = _useDatepicker$select[0],
104
+ setSelectedDate = _useDatepicker$select[1],
105
+ _useDatepicker$disabl = (0, _slicedToArray2.default)(_useDatepicker.disableBeforeDate, 1),
106
+ disableBeforeDate = _useDatepicker$disabl[0],
107
+ _useDatepicker$disabl2 = (0, _slicedToArray2.default)(_useDatepicker.disableAfterDate, 1),
108
+ disableAfterDate = _useDatepicker$disabl2[0],
109
+ onClose = _useDatepicker.disclosure.onClose;
110
+
111
+ var handleSelect = function handleSelect(providedDate) {
112
+ return function () {
113
+ setSelectedDate(new Date(providedDate));
114
+ setDate(new Date(providedDate));
115
+ onClose();
116
+ };
117
+ };
118
+
119
+ return /*#__PURE__*/_react.default.createElement(_react2.Tbody, (0, _extends2.default)({
120
+ "data-testid": "Datepicker-calendarDatesContainer"
121
+ }, dateRowOverrides === null || dateRowOverrides === void 0 ? void 0 : dateRowOverrides.tbody), (0, _map.default)(dates).call(dates, function (week, index) {
122
+ return /*#__PURE__*/_react.default.createElement(_react2.Tr, (0, _extends2.default)({
123
+ key: index,
124
+ border: "none",
125
+ "data-testid": "Datepicker-calendarRow"
126
+ }, dateRowOverrides === null || dateRowOverrides === void 0 ? void 0 : dateRowOverrides.tr), (0, _map.default)(week).call(week, function (calendarDate, idx) {
127
+ return /*#__PURE__*/_react.default.createElement(_react2.Td, (0, _extends2.default)({
128
+ key: idx,
129
+ "data-date": (0, _generalCalculations.formatForDataDate)(calendarDate),
130
+ "data-testid": "Datepicker-calendarDate-Td"
131
+ }, calendarDateContainerStyleProps, {
132
+ disabled: (0, _dateRowCalculations.isBeforeDisabledDate)(calendarDate, disableBeforeDate) || (0, _dateRowCalculations.isAfterDisabledDate)(calendarDate, disableAfterDate)
133
+ }, dateRowOverrides === null || dateRowOverrides === void 0 ? void 0 : dateRowOverrides.td), /*#__PURE__*/_react.default.createElement(_react2.Button, (0, _extends2.default)({
134
+ value: calendarDate,
135
+ onClick: handleSelect(calendarDate),
136
+ role: "gridcell",
137
+ "data-testid": "Datepicker-calendarDate-Button"
138
+ }, getCalendarDateStyleProps(today, date, calendarDate, selectedDate, disableBeforeDate, disableAfterDate), {
139
+ disabled: (0, _dateRowCalculations.isBeforeDisabledDate)(calendarDate, disableBeforeDate) || (0, _dateRowCalculations.isAfterDisabledDate)(calendarDate, disableAfterDate)
140
+ }, dateRowOverrides === null || dateRowOverrides === void 0 ? void 0 : dateRowOverrides.button), (0, _dateRowCalculations.getButtonText)(calendarDate)));
141
+ }));
142
+ }));
143
+ };
144
+
145
+ var _default = DateRow;
146
+ exports.default = _default;
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
6
+
7
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
8
+
9
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
10
+
11
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
12
+
13
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
14
+
15
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
16
+
17
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
18
+
19
+ Object.defineProperty(exports, "__esModule", {
20
+ value: true
21
+ });
22
+ exports.getPopoverProps = exports.default = void 0;
23
+
24
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
25
+
26
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
27
+
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
29
+
30
+ var _react = _interopRequireWildcard(require("react"));
31
+
32
+ var _react2 = require("@chakra-ui/react");
33
+
34
+ var _components = require("../../common/components");
35
+
36
+ var _propTypes = require("../utils/propTypes");
37
+
38
+ var _DatepickerContext = require("../DatepickerContext");
39
+
40
+ var _DateRow = _interopRequireDefault(require("./DateRow"));
41
+
42
+ var _DatepickerControl = _interopRequireDefault(require("./DatepickerControl"));
43
+
44
+ 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); }
45
+
46
+ 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; }
47
+
48
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
+
50
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
51
+
52
+ var popoverContentStyleProps = {
53
+ width: {
54
+ base: 304,
55
+ tablet: 384
56
+ },
57
+ padding: {
58
+ base: 3,
59
+ tablet: 4
60
+ },
61
+ maxWidth: 'none',
62
+ borderRadius: 'lg',
63
+ boxShadow: 'lg'
64
+ };
65
+ var popoverBodyStyleProps = {
66
+ width: {
67
+ base: 280,
68
+ tablet: 352
69
+ },
70
+ display: 'flex',
71
+ flexDirection: 'column',
72
+ alignItems: 'center'
73
+ };
74
+
75
+ var getPopoverProps = function getPopoverProps(_ref) {
76
+ var isOpen = _ref.isOpen,
77
+ onCloseCallback = _ref.onCloseCallback,
78
+ isMobile = _ref.isMobile;
79
+ return {
80
+ isOpen: isOpen,
81
+ onClose: onCloseCallback,
82
+ closeOnBlur: true,
83
+ returnFocusOnClose: false,
84
+ isLazy: true,
85
+ lazyBehavior: 'keepMounted',
86
+ openDelay: 250,
87
+ closeDelay: 250,
88
+ placement: !isMobile ? 'bottom-start' : 'bottom',
89
+ modifiers: [{
90
+ name: 'customStyles',
91
+ enabled: true,
92
+ phase: 'write',
93
+ fn: function fn(_ref2) {
94
+ var state = _ref2.state;
95
+ return _objectSpread(_objectSpread({}, state), {}, {
96
+ styles: _objectSpread(_objectSpread({}, state.styles), {}, {
97
+ popper: _objectSpread(_objectSpread({}, state.styles.popper), {}, {
98
+ zIndex: 'var(--chakra-zIndices-layer10)'
99
+ })
100
+ })
101
+ });
102
+ }
103
+ }]
104
+ };
105
+ };
106
+
107
+ exports.getPopoverProps = getPopoverProps;
108
+
109
+ var DatepickerContainer = function DatepickerContainer(_ref3) {
110
+ var _datepickerOverrides$, _datepickerOverrides$2, _datepickerOverrides$3;
111
+
112
+ var onDateChange = _ref3.onDateChange,
113
+ usePortal = _ref3.usePortal,
114
+ useInputIcons = _ref3.useInputIcons,
115
+ dateInputLabelText = _ref3.dateInputLabelText,
116
+ dateInputPlaceholderText = _ref3.dateInputPlaceholderText,
117
+ dateInputErrorText = _ref3.dateInputErrorText,
118
+ datepickerOverrides = _ref3.datepickerOverrides;
119
+
120
+ var _useDatepicker = (0, _DatepickerContext.useDatepicker)(),
121
+ _useDatepicker$select = (0, _slicedToArray2.default)(_useDatepicker.selectedDate, 1),
122
+ selectedDate = _useDatepicker$select[0],
123
+ _useDatepicker$disclo = _useDatepicker.disclosure,
124
+ isOpen = _useDatepicker$disclo.isOpen,
125
+ onClose = _useDatepicker$disclo.onClose;
126
+
127
+ var isMobile = (0, _react2.useBreakpointValue)({
128
+ base: true,
129
+ mobileXL: false
130
+ });
131
+ (0, _react.useEffect)(function () {
132
+ onDateChange === null || onDateChange === void 0 ? void 0 : onDateChange({
133
+ selectedDate: selectedDate
134
+ }); // eslint-disable-next-line react-hooks/exhaustive-deps
135
+ }, [selectedDate]);
136
+ return /*#__PURE__*/_react.default.createElement(_react2.Popover, (0, _extends2.default)({}, getPopoverProps({
137
+ isOpen: isOpen,
138
+ onCloseCallback: onClose,
139
+ isMobile: isMobile
140
+ }), datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : datepickerOverrides.popover), /*#__PURE__*/_react.default.createElement(_DatepickerControl.default, {
141
+ value: selectedDate,
142
+ useInputIcons: useInputIcons,
143
+ inputLabelText: dateInputLabelText,
144
+ inputPlaceholderText: dateInputPlaceholderText,
145
+ errorText: dateInputErrorText,
146
+ datepickerControlOverrides: datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : datepickerOverrides.datepickerControlOverrides
147
+ }), /*#__PURE__*/_react.default.createElement(_components.WithPortal, (0, _extends2.default)({
148
+ usePortal: usePortal
149
+ }, datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : datepickerOverrides.portal), /*#__PURE__*/_react.default.createElement(_react2.PopoverContent, (0, _extends2.default)({
150
+ role: "dialog",
151
+ "aria-modal": "true",
152
+ "aria-label": "Choose Date",
153
+ "data-testid": "Datepicker-PopoverContent"
154
+ }, popoverContentStyleProps, datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : datepickerOverrides.popoverContent), /*#__PURE__*/_react.default.createElement(_react2.PopoverBody, (0, _extends2.default)({
155
+ "data-testid": "Datepicker-PopoverBody"
156
+ }, popoverBodyStyleProps, datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : (_datepickerOverrides$ = datepickerOverrides.datepickerBodyOverrides) === null || _datepickerOverrides$ === void 0 ? void 0 : _datepickerOverrides$.popoverBody), /*#__PURE__*/_react.default.createElement(_components.DatepickerHeader, {
157
+ datepickerHeaderOverrides: datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : (_datepickerOverrides$2 = datepickerOverrides.datepickerBodyOverrides) === null || _datepickerOverrides$2 === void 0 ? void 0 : _datepickerOverrides$2.datepickerHeaderOverrides,
158
+ context: _DatepickerContext.DatepickerContext
159
+ }), /*#__PURE__*/_react.default.createElement(_components.DatepickerDays, {
160
+ datepickerDaysOverrides: datepickerOverrides === null || datepickerOverrides === void 0 ? void 0 : (_datepickerOverrides$3 = datepickerOverrides.datepickerBodyOverrides) === null || _datepickerOverrides$3 === void 0 ? void 0 : _datepickerOverrides$3.datepickerDaysOverrides,
161
+ context: _DatepickerContext.DatepickerContext,
162
+ DateRow: _DateRow.default
163
+ })))));
164
+ };
165
+
166
+ var _default = DatepickerContainer;
167
+ exports.default = _default;
@@ -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;
@@ -0,0 +1,111 @@
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("../utils/constants");
27
+
28
+ var _getWeeksOfMonth = require("../utils/getWeeksOfMonth");
29
+
30
+ var _sharedPropTypes = require("../utils/sharedPropTypes");
31
+
32
+ var _generalCalculations = require("../utils/generalCalculations");
33
+
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; }
37
+
38
+ var datepickerCalendarTableStyleProps = {
39
+ border: 'none',
40
+ boxShadow: 'none',
41
+ padding: 0,
42
+ margin: 0,
43
+ width: {
44
+ base: '17.5rem',
45
+ tablet: '21rem'
46
+ }
47
+ };
48
+ var datepickerTheadStyleProps = {
49
+ height: {
50
+ base: 10,
51
+ tablet: 12
52
+ },
53
+ border: 'none'
54
+ };
55
+
56
+ var getDatepickerCalendarThStyleProps = function getDatepickerCalendarThStyleProps(today, weeks, index) {
57
+ return {
58
+ width: {
59
+ base: 10,
60
+ tablet: 12
61
+ },
62
+ padding: 0,
63
+ fontSize: 'base',
64
+ textAlign: 'center',
65
+ color: 'text.secondary.light',
66
+ fontWeight: (0, _generalCalculations.isCurrentMonthAndYearInView)(today, weeks) && today.getDay() === index ? 'bold' : 'normal'
67
+ };
68
+ };
69
+
70
+ var DatepickerDays = function DatepickerDays(_ref) {
71
+ var datepickerDaysOverrides = _ref.datepickerDaysOverrides,
72
+ context = _ref.context,
73
+ DateRow = _ref.DateRow;
74
+
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];
80
+
81
+ var _useState = (0, _react.useState)(),
82
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
83
+ weeks = _useState2[0],
84
+ setWeeks = _useState2[1];
85
+
86
+ (0, _react.useEffect)(function () {
87
+ setWeeks((0, _getWeeksOfMonth.getWeeksOfMonth)(date || new Date()));
88
+ }, [date]);
89
+ return /*#__PURE__*/_react.default.createElement(_react2.Table, (0, _extends2.default)({
90
+ role: "grid",
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) {
98
+ return /*#__PURE__*/_react.default.createElement(_react2.Th, (0, _extends2.default)({
99
+ key: index,
100
+ scope: "col",
101
+ abbr: day.full,
102
+ "data-testid": "daysOfWeek-title"
103
+ }, getDatepickerCalendarThStyleProps(today, weeks, index), datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.th), day.abbv);
104
+ }))), /*#__PURE__*/_react.default.createElement(DateRow, {
105
+ dates: weeks !== null && weeks !== void 0 ? weeks : [],
106
+ dateRowOverrides: datepickerDaysOverrides === null || datepickerDaysOverrides === void 0 ? void 0 : datepickerDaysOverrides.dateRowOverrides
107
+ }));
108
+ };
109
+
110
+ var _default = DatepickerDays;
111
+ exports.default = _default;