@spothero/ui 17.0.3 → 17.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/Datepicker.stories.js +295 -0
  36. package/dist/components/Datepicker/DatepickerContainer.js +114 -0
  37. package/dist/components/Datepicker/DatepickerContext.js +65 -0
  38. package/dist/components/Datepicker/DatepickerSingle.js +51 -0
  39. package/dist/components/Datepicker/components/DateRow.js +145 -0
  40. package/dist/components/Datepicker/components/DatepickerControl.js +83 -0
  41. package/dist/components/Datepicker/components/DatepickerDays.js +108 -0
  42. package/dist/components/Datepicker/components/DatepickerHeader.js +113 -0
  43. package/dist/components/Datepicker/constants.js +31 -0
  44. package/dist/components/Datepicker/utils/dateRowArithmentic.js +58 -0
  45. package/dist/components/Datepicker/utils/generalCalculations.js +71 -0
  46. package/dist/components/Datepicker/utils/getWeeksOfMonth.js +51 -0
  47. package/dist/components/Datepicker/utils/propTypes.js +201 -0
  48. package/dist/components/DatepickerRange/DatepickerRange.js +64 -0
  49. package/dist/components/DatepickerRange/DatepickerRange.stories.js +411 -0
  50. package/dist/components/DatepickerRange/DatepickerRangeContainer.js +158 -0
  51. package/dist/components/DatepickerRange/DatepickerRangeContext.js +80 -0
  52. package/dist/components/DatepickerRange/components/DateRow.js +260 -0
  53. package/dist/components/DatepickerRange/components/DatepickerDays.js +108 -0
  54. package/dist/components/DatepickerRange/components/DatepickerHeader.js +116 -0
  55. package/dist/components/DatepickerRange/components/DatepickerRangeControls.js +77 -0
  56. package/dist/components/DatepickerRange/components/DatepickerRangeInput.js +90 -0
  57. package/dist/components/DatepickerRange/components/WithPopoverAnchor.js +21 -0
  58. package/dist/components/DatepickerRange/constants.js +31 -0
  59. package/dist/components/DatepickerRange/utils/dateRowArithmentic.js +93 -0
  60. package/dist/components/DatepickerRange/utils/generalCalculations.js +71 -0
  61. package/dist/components/DatepickerRange/utils/getWeeksOfMonth.js +51 -0
  62. package/dist/components/DatepickerRange/utils/propTypes.js +245 -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 +135 -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,411 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+
7
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
8
+
9
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
10
+
11
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
12
+
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+
15
+ Object.defineProperty(exports, "__esModule", {
16
+ value: true
17
+ });
18
+ exports.default = exports.WithOverrides = exports.WithInitialStartDate = exports.WithInitialStartAndEndDate = exports.WithFormControl = exports.WithCustomPlaceholder = exports.UseInputIcons = exports.DisableBeforeAfter = exports.Default = void 0;
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _disableArgs = _interopRequireDefault(require("storybook/utils/disable-args"));
25
+
26
+ var _DatepickerRange = _interopRequireDefault(require("./DatepickerRange"));
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ /* eslint-disable no-console */
33
+ var _default = {
34
+ title: 'v2/Datepicker/DatepickerRange',
35
+ component: {
36
+ DatepickerRange: _DatepickerRange.default
37
+ },
38
+ parameters: {
39
+ importBy: 'DatepickerRange',
40
+ removeBaseHtmlClass: true
41
+ },
42
+ argTypes: {
43
+ initialStartDate: {
44
+ description: 'An optional (pre-selected) Start Date to populate the Datepicker Range with',
45
+ control: {
46
+ type: 'text'
47
+ },
48
+ table: {
49
+ category: 'display',
50
+ type: {
51
+ summary: 'string'
52
+ }
53
+ }
54
+ },
55
+ initialEndDate: {
56
+ description: 'An optional (pre-selected) End Date to populate the Datepicker Range with',
57
+ control: {
58
+ type: 'text'
59
+ },
60
+ table: {
61
+ category: 'display',
62
+ type: {
63
+ summary: 'string'
64
+ }
65
+ }
66
+ },
67
+ useInputIcons: {
68
+ description: 'Whether to show the Calendar Icon in the Input field',
69
+ control: {
70
+ type: 'boolean'
71
+ },
72
+ table: {
73
+ category: 'display',
74
+ type: {
75
+ summary: 'boolean'
76
+ },
77
+ defaultValue: {
78
+ summary: true
79
+ }
80
+ },
81
+ defaultValue: true
82
+ },
83
+ startDateInputLabelText: {
84
+ description: 'A string to use as the Start Input form label',
85
+ control: {
86
+ type: 'text'
87
+ },
88
+ table: {
89
+ category: 'display',
90
+ type: {
91
+ summary: 'string'
92
+ },
93
+ defaultValue: {
94
+ summary: 'Enter After'
95
+ }
96
+ },
97
+ defaultValue: 'Enter After'
98
+ },
99
+ startDateInputPlaceholderText: {
100
+ description: 'A string to use as the Start Input placeholder text',
101
+ control: {
102
+ type: 'text'
103
+ },
104
+ table: {
105
+ category: 'display',
106
+ type: {
107
+ summary: 'string'
108
+ },
109
+ defaultValue: {
110
+ summary: 'Select Start Date'
111
+ }
112
+ },
113
+ defaultValue: 'Select Start Date'
114
+ },
115
+ startDateInputErrorText: {
116
+ description: 'A string to use as the Start Input form Error Text',
117
+ control: {
118
+ type: 'text'
119
+ },
120
+ table: {
121
+ category: 'display',
122
+ type: {
123
+ summary: 'string'
124
+ }
125
+ }
126
+ },
127
+ endDateInputLabelText: {
128
+ description: 'A string to use as the End Input form label',
129
+ control: {
130
+ type: 'text'
131
+ },
132
+ table: {
133
+ category: 'display',
134
+ type: {
135
+ summary: 'string'
136
+ },
137
+ defaultValue: {
138
+ summary: 'Exit Before'
139
+ }
140
+ },
141
+ defaultValue: 'Exit Before'
142
+ },
143
+ endDateInputPlaceholderText: {
144
+ description: 'A string to use as the End Input placeholder text',
145
+ control: {
146
+ type: 'text'
147
+ },
148
+ table: {
149
+ category: 'display',
150
+ type: {
151
+ summary: 'string'
152
+ },
153
+ defaultValue: {
154
+ summary: 'Select End Date'
155
+ }
156
+ },
157
+ defaultValue: 'Select End Date'
158
+ },
159
+ endDateInputErrorText: {
160
+ description: 'A string to use as the End Input form Error Text',
161
+ control: {
162
+ type: 'text'
163
+ },
164
+ table: {
165
+ category: 'display',
166
+ type: {
167
+ summary: 'string'
168
+ }
169
+ }
170
+ },
171
+ disableBefore: {
172
+ description: 'A string in the format "MM/DD/YYYY" representing the date where days before it should be disabled in the calendar',
173
+ control: {
174
+ type: 'text'
175
+ },
176
+ table: {
177
+ category: 'interaction',
178
+ type: {
179
+ summary: 'string'
180
+ }
181
+ }
182
+ },
183
+ disableAfter: {
184
+ description: 'A string in the format "MM/DD/YYYY" representing the date where days after it should be disabled in the calendar',
185
+ control: {
186
+ type: 'text'
187
+ },
188
+ table: {
189
+ category: 'interaction',
190
+ type: {
191
+ summary: 'string'
192
+ }
193
+ }
194
+ },
195
+ isStartInvalid: {
196
+ description: 'Whether to display the Start Date Input as invalid or not',
197
+ control: {
198
+ type: 'boolean'
199
+ },
200
+ table: {
201
+ category: 'interaction',
202
+ type: {
203
+ summary: 'boolean'
204
+ },
205
+ defaultValue: {
206
+ summary: false
207
+ }
208
+ },
209
+ defaultValue: false
210
+ },
211
+ isEndInvalid: {
212
+ description: 'Whether to display the End Date Input as invalid or not',
213
+ control: {
214
+ type: 'boolean'
215
+ },
216
+ table: {
217
+ category: 'interaction',
218
+ type: {
219
+ summary: 'boolean'
220
+ },
221
+ defaultValue: {
222
+ summary: false
223
+ }
224
+ },
225
+ defaultValue: false
226
+ },
227
+ onChange: {
228
+ description: 'A callback function to execute on changes',
229
+ table: {
230
+ category: 'events',
231
+ type: {
232
+ summary: 'function'
233
+ }
234
+ }
235
+ },
236
+ datepickerRangeOverrides: {
237
+ description: 'An optional Object containing style and prop overrides to be applied to the component and child components',
238
+ control: {
239
+ type: 'object'
240
+ },
241
+ table: {
242
+ category: 'customization',
243
+ type: {
244
+ summary: 'object'
245
+ }
246
+ }
247
+ }
248
+ }
249
+ };
250
+ /* eslint-enable no-console */
251
+
252
+ exports.default = _default;
253
+
254
+ var DatepickerRangeTemplate = function DatepickerRangeTemplate(props) {
255
+ return /*#__PURE__*/_react.default.createElement(_DatepickerRange.default, props);
256
+ };
257
+
258
+ var Default = DatepickerRangeTemplate.bind({});
259
+ exports.Default = Default;
260
+ var WithInitialStartDate = DatepickerRangeTemplate.bind({});
261
+ exports.WithInitialStartDate = WithInitialStartDate;
262
+ WithInitialStartDate.args = {
263
+ initialStartDate: new Intl.DateTimeFormat('en-US').format(new Date().setDate(new Date().getDate() + 1)),
264
+ initialEndDate: ''
265
+ };
266
+ WithInitialStartDate.argTypes = _objectSpread({}, (0, _disableArgs.default)(['disableBefore', 'disableAfter', 'onChange', 'startDateInputPlaceholderText', 'endDateInputPlaceholderText', 'isStartInvalid', 'isEndInvalid', 'useInputIcons', 'startDateInputLabelText', 'endDateInputLabelText', 'startDateInputErrorText', 'endDateInputErrorText', 'datepickerRangeOverrides']));
267
+ var WithInitialStartAndEndDate = DatepickerRangeTemplate.bind({});
268
+ exports.WithInitialStartAndEndDate = WithInitialStartAndEndDate;
269
+ WithInitialStartAndEndDate.args = {
270
+ initialStartDate: new Intl.DateTimeFormat('en-US').format(new Date().setDate(new Date().getDate() - 3)),
271
+ initialEndDate: new Intl.DateTimeFormat('en-US').format(new Date().setDate(new Date().getDate() + 5))
272
+ };
273
+ WithInitialStartAndEndDate.argTypes = _objectSpread({}, (0, _disableArgs.default)(['disableBefore', 'disableAfter', 'onChange', 'startDateInputPlaceholderText', 'endDateInputPlaceholderText', 'isStartInvalid', 'isEndInvalid', 'useInputIcons', 'startDateInputLabelText', 'endDateInputLabelText', 'startDateInputErrorText', 'endDateInputErrorText', 'datepickerRangeOverrides']));
274
+ var DisableBeforeAfter = DatepickerRangeTemplate.bind({});
275
+ exports.DisableBeforeAfter = DisableBeforeAfter;
276
+ DisableBeforeAfter.args = {
277
+ disableBefore: new Intl.DateTimeFormat('en-US').format(new Date().setDate(new Date().getDate() - 5)),
278
+ disableAfter: new Intl.DateTimeFormat('en-US').format(new Date().setDate(new Date().getDate() + 25))
279
+ };
280
+ DisableBeforeAfter.argTypes = _objectSpread({}, (0, _disableArgs.default)(['onChange', 'startDateInputPlaceholderText', 'endDateInputPlaceholderText', 'initialStartDate', 'initialEndDate', 'isStartInvalid', 'isEndInvalid', 'useInputIcons', 'startDateInputLabelText', 'endDateInputLabelText', 'startDateInputErrorText', 'endDateInputErrorText', 'datepickerRangeOverrides']));
281
+ var UseInputIcons = DatepickerRangeTemplate.bind({});
282
+ exports.UseInputIcons = UseInputIcons;
283
+ UseInputIcons.args = {
284
+ useInputIcons: true
285
+ };
286
+ UseInputIcons.argTypes = _objectSpread({}, (0, _disableArgs.default)(['onChange', 'startDateInputPlaceholderText', 'endDateInputPlaceholderText', 'initialStartDate', 'initialEndDate', 'disableBefore', 'disableAfter', 'isStartInvalid', 'isEndInvalid', 'startDateInputLabelText', 'endDateInputLabelText', 'startDateInputErrorText', 'endDateInputErrorText', 'datepickerRangeOverrides']));
287
+ var WithCustomPlaceholder = DatepickerRangeTemplate.bind({});
288
+ exports.WithCustomPlaceholder = WithCustomPlaceholder;
289
+ WithCustomPlaceholder.args = {
290
+ startDateInputPlaceholderText: 'Hey a Placeholder!',
291
+ endDateInputPlaceholderText: 'Oh, look another one'
292
+ };
293
+ WithCustomPlaceholder.argTypes = _objectSpread({}, (0, _disableArgs.default)(['onChange', 'initialStartDate', 'initialEndDate', 'disableBefore', 'disableAfter', 'isStartInvalid', 'isEndInvalid', 'useInputIcons', 'startDateInputLabelText', 'endDateInputLabelText', 'startDateInputErrorText', 'endDateInputErrorText', 'datepickerRangeOverrides']));
294
+ var WithFormControl = DatepickerRangeTemplate.bind({});
295
+ exports.WithFormControl = WithFormControl;
296
+ WithFormControl.args = {
297
+ isStartInvalid: false,
298
+ isEndInvalid: false,
299
+ useInputIcons: true,
300
+ startDateInputLabelText: 'Custom Start Label',
301
+ startDateInputErrorText: 'Start Date Error Message',
302
+ endDateInputLabelText: 'Custom End Label',
303
+ endDateInputErrorText: 'End Date Error Message'
304
+ };
305
+ WithFormControl.argTypes = _objectSpread({}, (0, _disableArgs.default)(['onChange', 'startDateInputPlaceholderText', 'endDateInputPlaceholderText', 'initialStartDate', 'initialEndDate', 'disableBefore', 'disableAfter', 'datepickerRangeOverrides']));
306
+ var WithOverrides = DatepickerRangeTemplate.bind({});
307
+ exports.WithOverrides = WithOverrides;
308
+ WithOverrides.argTypes = _objectSpread(_objectSpread({}, (0, _disableArgs.default)(['onChange', 'startDateInputPlaceholderText', 'endDateInputPlaceholderText', 'initialStartDate', 'initialEndDate', 'disableBefore', 'disableAfter', 'isStartInvalid', 'isEndInvalid', 'useInputIcons', 'startDateInputLabelText', 'endDateInputLabelText', 'startDateInputErrorText', 'endDateInputErrorText'])), {}, {
309
+ datepickerRangeOverrides: {
310
+ control: 'object'
311
+ }
312
+ });
313
+ WithOverrides.args = {
314
+ datepickerRangeOverrides: {
315
+ datepickerRangeControlsOverrides: {
316
+ controlsContainer: {},
317
+ startDateInputComponentOverrides: {
318
+ formControl: {
319
+ backgroundColor: 'blue.100'
320
+ },
321
+ formLabel: {
322
+ color: 'pink',
323
+ fontWeight: 'bold',
324
+ fontSize: '1.5rem'
325
+ },
326
+ inputGroup: {
327
+ size: 'lg'
328
+ },
329
+ input: {
330
+ borderColor: 'yellow.800',
331
+ _hover: {
332
+ borderColor: 'yellow.400'
333
+ }
334
+ },
335
+ inputRightElement: {
336
+ backgroundColor: 'red.200'
337
+ },
338
+ formErrorMessage: {
339
+ color: 'red.900'
340
+ }
341
+ },
342
+ endDateInputComponentOverrides: {
343
+ formControl: {
344
+ backgroundColor: 'red.100'
345
+ },
346
+ formLabel: {
347
+ color: 'blue',
348
+ fontWeight: 'light',
349
+ fontSize: '1.5rem'
350
+ },
351
+ inputGroup: {
352
+ size: 'lg'
353
+ },
354
+ input: {
355
+ borderColor: 'green.800',
356
+ _hover: {
357
+ borderColor: 'secondary.400'
358
+ }
359
+ },
360
+ inputRightElement: {
361
+ backgroundColor: 'primary.default'
362
+ },
363
+ formErrorMessage: {
364
+ color: 'secondary.900'
365
+ }
366
+ }
367
+ },
368
+ popover: {
369
+ offset: [150, 150]
370
+ },
371
+ portal: {},
372
+ popoverContent: {
373
+ width: 460,
374
+ borderRadius: 'sm',
375
+ boxShadow: 'sm',
376
+ borderColor: 'gray.700'
377
+ },
378
+ datepickerRangeBodyOverrides: {
379
+ popoverBody: {
380
+ width: 425,
381
+ backgroundColor: 'blue.200'
382
+ },
383
+ datepickerRangeHeaderOverrides: {
384
+ headerContainer: {
385
+ margin: 0
386
+ },
387
+ iconButton: {
388
+ size: 'lg',
389
+ variant: 'outline',
390
+ _hover: {
391
+ backgroundColor: 'red.200'
392
+ }
393
+ },
394
+ title: {
395
+ fontSize: 'sm'
396
+ }
397
+ },
398
+ datepickerRangeDaysOverrides: {
399
+ table: {},
400
+ thead: {},
401
+ th: {},
402
+ dateRowOverrides: {
403
+ tbody: {},
404
+ tr: {},
405
+ td: {},
406
+ button: {}
407
+ }
408
+ }
409
+ }
410
+ }
411
+ };
@@ -0,0 +1,158 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _react2 = require("@chakra-ui/react");
23
+
24
+ var _DatepickerRangeContext = require("./DatepickerRangeContext");
25
+
26
+ var _propTypes = require("./utils/propTypes");
27
+
28
+ var _DatepickerDays = _interopRequireDefault(require("./components/DatepickerDays"));
29
+
30
+ var _DatepickerHeader = _interopRequireDefault(require("./components/DatepickerHeader"));
31
+
32
+ var _DatepickerRangeControls = _interopRequireDefault(require("./components/DatepickerRangeControls"));
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 popoverContentStyleProps = {
39
+ width: {
40
+ base: 304,
41
+ tablet: 384
42
+ },
43
+ padding: {
44
+ base: 3,
45
+ tablet: 4
46
+ },
47
+ maxWidth: 'none',
48
+ borderRadius: 'lg',
49
+ boxShadow: 'lg'
50
+ };
51
+ var popoverBodyStyleProps = {
52
+ width: {
53
+ base: 280,
54
+ tablet: 352
55
+ },
56
+ display: 'flex',
57
+ flexDirection: 'column',
58
+ alignItems: 'center'
59
+ };
60
+
61
+ var DatepickerRangeContainer = function DatepickerRangeContainer(_ref) {
62
+ var _datepickerRangeOverr, _datepickerRangeOverr2, _datepickerRangeOverr3;
63
+
64
+ var onChange = _ref.onChange,
65
+ useInputIcons = _ref.useInputIcons,
66
+ startDateInputLabelText = _ref.startDateInputLabelText,
67
+ startDateInputPlaceholderText = _ref.startDateInputPlaceholderText,
68
+ startDateInputErrorText = _ref.startDateInputErrorText,
69
+ endDateInputLabelText = _ref.endDateInputLabelText,
70
+ endDateInputPlaceholderText = _ref.endDateInputPlaceholderText,
71
+ endDateInputErrorText = _ref.endDateInputErrorText,
72
+ datepickerRangeOverrides = _ref.datepickerRangeOverrides;
73
+
74
+ var _useDatepickerRange = (0, _DatepickerRangeContext.useDatepickerRange)(),
75
+ _useDatepickerRange$s = (0, _slicedToArray2.default)(_useDatepickerRange.selectedStartDate, 1),
76
+ selectedStartDate = _useDatepickerRange$s[0],
77
+ _useDatepickerRange$s2 = (0, _slicedToArray2.default)(_useDatepickerRange.selectedEndDate, 1),
78
+ selectedEndDate = _useDatepickerRange$s2[0],
79
+ _useDatepickerRange$s3 = (0, _slicedToArray2.default)(_useDatepickerRange.startIsSelected, 2),
80
+ startIsSelected = _useDatepickerRange$s3[0],
81
+ setStartIsSelected = _useDatepickerRange$s3[1],
82
+ _useDatepickerRange$e = (0, _slicedToArray2.default)(_useDatepickerRange.endIsSelected, 2),
83
+ endIsSelected = _useDatepickerRange$e[0],
84
+ setEndIsSelected = _useDatepickerRange$e[1],
85
+ _useDatepickerRange$d = _useDatepickerRange.disclosure,
86
+ isOpen = _useDatepickerRange$d.isOpen,
87
+ onOpen = _useDatepickerRange$d.onOpen,
88
+ onClose = _useDatepickerRange$d.onClose;
89
+
90
+ var isMobile = (0, _react2.useBreakpointValue)({
91
+ base: true,
92
+ mobileXL: false
93
+ });
94
+
95
+ var onClickStart = function onClickStart() {
96
+ onOpen();
97
+ setStartIsSelected(true);
98
+ setEndIsSelected(false);
99
+ };
100
+
101
+ var onClickEnd = function onClickEnd() {
102
+ onOpen();
103
+ setStartIsSelected(false);
104
+ setEndIsSelected(true);
105
+ };
106
+
107
+ var handlePopoverClose = function handlePopoverClose() {
108
+ setStartIsSelected(false);
109
+ setEndIsSelected(false);
110
+ onClose();
111
+ };
112
+
113
+ (0, _react.useEffect)(function () {
114
+ onChange === null || onChange === void 0 ? void 0 : onChange({
115
+ startDate: selectedStartDate,
116
+ endDate: selectedEndDate,
117
+ startIsSelected: startIsSelected,
118
+ endIsSelected: endIsSelected
119
+ }); // eslint-disable-next-line react-hooks/exhaustive-deps
120
+ }, [selectedStartDate, selectedEndDate, startIsSelected, endIsSelected]);
121
+ return /*#__PURE__*/_react.default.createElement(_react2.Popover, (0, _extends2.default)({
122
+ isOpen: isOpen,
123
+ onClose: handlePopoverClose,
124
+ closeOnBlur: true,
125
+ returnFocusOnClose: false,
126
+ isLazy: true,
127
+ placement: startIsSelected && !endIsSelected && !isMobile ? 'bottom-start' : !startIsSelected && endIsSelected && !isMobile ? 'bottom-end' : 'bottom'
128
+ }, datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : datepickerRangeOverrides.popover), /*#__PURE__*/_react.default.createElement(_DatepickerRangeControls.default, {
129
+ selectedStartDate: selectedStartDate,
130
+ startIsSelected: startIsSelected,
131
+ onClickStart: onClickStart,
132
+ selectedEndDate: selectedEndDate,
133
+ endIsSelected: endIsSelected,
134
+ onClickEnd: onClickEnd,
135
+ useInputIcons: useInputIcons,
136
+ startDateInputLabelText: startDateInputLabelText,
137
+ startDateInputPlaceholderText: startDateInputPlaceholderText,
138
+ startDateInputErrorText: startDateInputErrorText,
139
+ endDateInputLabelText: endDateInputLabelText,
140
+ endDateInputPlaceholderText: endDateInputPlaceholderText,
141
+ endDateInputErrorText: endDateInputErrorText,
142
+ datepickerRangeControlsOverrides: datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : datepickerRangeOverrides.datepickerRangeControlsOverrides
143
+ }), /*#__PURE__*/_react.default.createElement(_react2.Portal, datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : datepickerRangeOverrides.portal, /*#__PURE__*/_react.default.createElement(_react2.PopoverContent, (0, _extends2.default)({
144
+ role: "dialog",
145
+ "aria-modal": "true",
146
+ "aria-label": "Choose Date",
147
+ "data-testid": "PopoverContent"
148
+ }, popoverContentStyleProps, datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : datepickerRangeOverrides.popoverContent), /*#__PURE__*/_react.default.createElement(_react2.PopoverBody, (0, _extends2.default)({
149
+ "data-testid": "PopoverBody"
150
+ }, popoverBodyStyleProps, datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : (_datepickerRangeOverr = datepickerRangeOverrides.datepickerRangeBodyOverrides) === null || _datepickerRangeOverr === void 0 ? void 0 : _datepickerRangeOverr.popoverBody), /*#__PURE__*/_react.default.createElement(_DatepickerHeader.default, {
151
+ datepickerRangeHeaderOverrides: datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : (_datepickerRangeOverr2 = datepickerRangeOverrides.datepickerRangeBodyOverrides) === null || _datepickerRangeOverr2 === void 0 ? void 0 : _datepickerRangeOverr2.datepickerRangeHeaderOverrides
152
+ }), /*#__PURE__*/_react.default.createElement(_DatepickerDays.default, {
153
+ datepickerRangeDaysOverrides: datepickerRangeOverrides === null || datepickerRangeOverrides === void 0 ? void 0 : (_datepickerRangeOverr3 = datepickerRangeOverrides.datepickerRangeBodyOverrides) === null || _datepickerRangeOverr3 === void 0 ? void 0 : _datepickerRangeOverr3.datepickerRangeDaysOverrides
154
+ })))));
155
+ };
156
+
157
+ var _default = DatepickerRangeContainer;
158
+ exports.default = _default;
@@ -0,0 +1,80 @@
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
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.useDatepickerRange = exports.DatepickerRangeProvider = exports.DatepickerRangeContext = void 0;
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _react2 = require("@chakra-ui/react");
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ var DatepickerRangeContext = /*#__PURE__*/(0, _react.createContext)({});
23
+ exports.DatepickerRangeContext = DatepickerRangeContext;
24
+
25
+ var useDatepickerRange = function useDatepickerRange() {
26
+ return (0, _react.useContext)(DatepickerRangeContext);
27
+ };
28
+
29
+ exports.useDatepickerRange = useDatepickerRange;
30
+
31
+ var DatepickerRangeProvider = function DatepickerRangeProvider(_ref) {
32
+ var _ref$initialStartDate = _ref.initialStartDate,
33
+ initialStartDate = _ref$initialStartDate === void 0 ? null : _ref$initialStartDate,
34
+ _ref$initialEndDate = _ref.initialEndDate,
35
+ initialEndDate = _ref$initialEndDate === void 0 ? null : _ref$initialEndDate,
36
+ _ref$disableBefore = _ref.disableBefore,
37
+ disableBefore = _ref$disableBefore === void 0 ? null : _ref$disableBefore,
38
+ _ref$disableAfter = _ref.disableAfter,
39
+ disableAfter = _ref$disableAfter === void 0 ? null : _ref$disableAfter,
40
+ isStartInvalid = _ref.isStartInvalid,
41
+ isEndInvalid = _ref.isEndInvalid,
42
+ children = _ref.children;
43
+ // Now
44
+ var now = new Date(); // Today
45
+
46
+ var today = (0, _react.useState)(now); // Stored as the JS date object
47
+
48
+ var date = (0, _react.useState)(new Date(initialStartDate || now)); // Currently selected start date
49
+
50
+ var selectedStartDate = (0, _react.useState)(initialStartDate ? new Date(initialStartDate) : null); // Currently selected end date
51
+
52
+ var selectedEndDate = (0, _react.useState)(initialStartDate && initialEndDate ? new Date(initialEndDate) : null); // Boolean for if start input is selected
53
+
54
+ var startIsSelected = (0, _react.useState)(false); // Boolean for if end input is selected
55
+
56
+ var endIsSelected = (0, _react.useState)(false); // The date where days in the past should be disabled
57
+
58
+ var disableBeforeDate = (0, _react.useState)(disableBefore ? new Date(disableBefore) : null); // The date where days in the future should be disabled
59
+
60
+ var disableAfterDate = (0, _react.useState)(disableAfter ? new Date(disableAfter) : null); // Chakra's Disclosure values
61
+
62
+ var disclosure = (0, _react2.useDisclosure)();
63
+ return /*#__PURE__*/_react.default.createElement(DatepickerRangeContext.Provider, {
64
+ value: {
65
+ today: today,
66
+ date: date,
67
+ selectedStartDate: selectedStartDate,
68
+ selectedEndDate: selectedEndDate,
69
+ startIsSelected: startIsSelected,
70
+ endIsSelected: endIsSelected,
71
+ disableBeforeDate: disableBeforeDate,
72
+ disableAfterDate: disableAfterDate,
73
+ isStartInvalid: isStartInvalid,
74
+ isEndInvalid: isEndInvalid,
75
+ disclosure: disclosure
76
+ }
77
+ }, children);
78
+ };
79
+
80
+ exports.DatepickerRangeProvider = DatepickerRangeProvider;