@atlaskit/datetime-picker 15.4.3 → 15.5.1

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 (46) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/components/date-picker-class.js +11 -3
  3. package/dist/cjs/components/date-picker-fc.js +11 -3
  4. package/dist/cjs/components/date-time-picker-class.js +439 -0
  5. package/dist/cjs/components/date-time-picker-fc.js +398 -0
  6. package/dist/cjs/components/date-time-picker.js +7 -430
  7. package/dist/cjs/components/time-picker.js +9 -3
  8. package/dist/cjs/internal/date-time-picker-container.js +21 -20
  9. package/dist/cjs/internal/indicators-container.js +31 -0
  10. package/dist/es2019/components/date-picker-class.js +9 -1
  11. package/dist/es2019/components/date-picker-fc.js +9 -1
  12. package/dist/es2019/components/date-time-picker-class.js +400 -0
  13. package/dist/es2019/components/date-time-picker-fc.js +363 -0
  14. package/dist/es2019/components/date-time-picker.js +4 -397
  15. package/dist/es2019/components/time-picker.js +8 -3
  16. package/dist/es2019/internal/date-time-picker-container.js +8 -7
  17. package/dist/es2019/internal/indicators-container.js +22 -0
  18. package/dist/esm/components/date-picker-class.js +11 -3
  19. package/dist/esm/components/date-picker-fc.js +11 -3
  20. package/dist/esm/components/date-time-picker-class.js +437 -0
  21. package/dist/esm/components/date-time-picker-fc.js +391 -0
  22. package/dist/esm/components/date-time-picker.js +6 -434
  23. package/dist/esm/components/time-picker.js +9 -3
  24. package/dist/esm/internal/date-time-picker-container.js +8 -7
  25. package/dist/esm/internal/indicators-container.js +25 -0
  26. package/dist/types/components/date-picker-class.d.ts +2 -2
  27. package/dist/types/components/date-picker-fc.d.ts +1 -1
  28. package/dist/types/components/date-picker.d.ts +3 -3
  29. package/dist/types/components/date-time-picker-class.d.ts +56 -0
  30. package/dist/types/components/date-time-picker-fc.d.ts +19 -0
  31. package/dist/types/components/date-time-picker.d.ts +2 -55
  32. package/dist/types/components/time-picker.d.ts +1 -1
  33. package/dist/types/internal/date-time-picker-container.d.ts +10 -12
  34. package/dist/types/internal/indicators-container.d.ts +9 -0
  35. package/dist/types/types.d.ts +4 -0
  36. package/dist/types-ts4.5/components/date-picker-class.d.ts +2 -2
  37. package/dist/types-ts4.5/components/date-picker-fc.d.ts +1 -1
  38. package/dist/types-ts4.5/components/date-picker.d.ts +3 -3
  39. package/dist/types-ts4.5/components/date-time-picker-class.d.ts +56 -0
  40. package/dist/types-ts4.5/components/date-time-picker-fc.d.ts +19 -0
  41. package/dist/types-ts4.5/components/date-time-picker.d.ts +2 -55
  42. package/dist/types-ts4.5/components/time-picker.d.ts +1 -1
  43. package/dist/types-ts4.5/internal/date-time-picker-container.d.ts +10 -12
  44. package/dist/types-ts4.5/internal/indicators-container.d.ts +9 -0
  45. package/dist/types-ts4.5/types.d.ts +4 -0
  46. package/package.json +8 -5
@@ -0,0 +1,398 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.timePickerDefaultAriaLabel = exports.default = exports.datePickerDefaultAriaLabel = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _react2 = require("@emotion/react");
14
+ var _dateFns = require("date-fns");
15
+ var _analyticsNext = require("@atlaskit/analytics-next");
16
+ var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-clear"));
17
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
+ var _select = require("@atlaskit/select");
19
+ var _colors = require("@atlaskit/theme/colors");
20
+ var _internal = require("../internal");
21
+ var _dateTimePickerContainer = require("../internal/date-time-picker-container");
22
+ var _ffComponent = require("../internal/ff-component");
23
+ var _parseTokens = require("../internal/parse-tokens");
24
+ var _datePickerClass = _interopRequireDefault(require("./date-picker-class"));
25
+ var _datePickerFc = _interopRequireDefault(require("./date-picker-fc"));
26
+ var _timePicker = _interopRequireDefault(require("./time-picker"));
27
+ var _excluded = ["selectProps"],
28
+ _excluded2 = ["selectProps"];
29
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
30
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
33
+ * @jsxRuntime classic
34
+ * @jsx jsx
35
+ */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
36
+ var DatePicker = (0, _ffComponent.componentWithCondition)(function () {
37
+ return (0, _platformFeatureFlags.fg)('dst-date-picker-use-functional-component');
38
+ }, _datePickerFc.default, _datePickerClass.default);
39
+ var packageName = "@atlaskit/datetime-picker";
40
+ var packageVersion = "15.5.1";
41
+ var analyticsAttributes = {
42
+ componentName: 'dateTimePicker',
43
+ packageName: packageName,
44
+ packageVersion: packageVersion
45
+ };
46
+
47
+ // Make DatePicker 50% the width of DateTimePicker
48
+ // If rendering an icon container, shrink the TimePicker
49
+ var datePickerContainerStyles = (0, _react2.css)({
50
+ flexBasis: '50%',
51
+ flexGrow: 1,
52
+ flexShrink: 0
53
+ });
54
+ var timePickerContainerStyles = (0, _react2.css)({
55
+ flexBasis: '50%',
56
+ flexGrow: 1
57
+ });
58
+ var iconContainerStyles = (0, _react2.css)({
59
+ display: 'flex',
60
+ margin: "var(--ds-border-width, 1px)",
61
+ alignItems: 'center',
62
+ flexBasis: 'inherit',
63
+ backgroundColor: 'inherit',
64
+ border: 'none',
65
+ color: "var(--ds-text-subtlest, ".concat(_colors.N70, ")"),
66
+ paddingBlockEnd: "var(--ds-space-075, 6px)",
67
+ paddingBlockStart: "var(--ds-space-075, 6px)",
68
+ paddingInlineEnd: "var(--ds-space-100, 8px)",
69
+ paddingInlineStart: "var(--ds-space-050, 4px)",
70
+ transition: "color 150ms",
71
+ '&:hover': {
72
+ color: "var(--ds-text-subtle, ".concat(_colors.N500, ")")
73
+ }
74
+ });
75
+
76
+ // react-select overrides (via @atlaskit/select).
77
+ var styles = {
78
+ control: function control(style) {
79
+ return _objectSpread(_objectSpread({}, style), {}, {
80
+ backgroundColor: 'transparent',
81
+ border: 2,
82
+ borderRadius: 0,
83
+ paddingLeft: 0,
84
+ ':hover': {
85
+ backgroundColor: 'transparent',
86
+ cursor: 'inherit'
87
+ }
88
+ });
89
+ }
90
+ };
91
+ var datePickerDefaultAriaLabel = exports.datePickerDefaultAriaLabel = 'Date';
92
+ var timePickerDefaultAriaLabel = exports.timePickerDefaultAriaLabel = 'Time';
93
+
94
+ /**
95
+ * __Date time picker__
96
+ *
97
+ * A date time picker allows the user to select an associated date and time.
98
+ *
99
+ * - [Examples](https://atlassian.design/components/datetime-picker/examples)
100
+ * - [Code](https://atlassian.design/components/datetime-picker/code)
101
+ * - [Usage](https://atlassian.design/components/datetime-picker/usage)
102
+ */
103
+ var DateTimePicker = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
104
+ var ariaDescribedBy = _ref['aria-describedby'],
105
+ _ref$appearance = _ref.appearance,
106
+ appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
107
+ _ref$autoFocus = _ref.autoFocus,
108
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
109
+ _ref$clearControlLabe = _ref.clearControlLabel,
110
+ clearControlLabel = _ref$clearControlLabe === void 0 ? 'clear' : _ref$clearControlLabe,
111
+ _ref$datePickerProps = _ref.datePickerProps,
112
+ datePickerPropsWithSelectProps = _ref$datePickerProps === void 0 ? {} : _ref$datePickerProps,
113
+ _ref$defaultValue = _ref.defaultValue,
114
+ defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
115
+ _ref$id = _ref.id,
116
+ id = _ref$id === void 0 ? '' : _ref$id,
117
+ _ref$innerProps = _ref.innerProps,
118
+ innerProps = _ref$innerProps === void 0 ? {} : _ref$innerProps,
119
+ _ref$isDisabled = _ref.isDisabled,
120
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
121
+ _ref$isInvalid = _ref.isInvalid,
122
+ isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,
123
+ _ref$isRequired = _ref.isRequired,
124
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
125
+ _ref$name = _ref.name,
126
+ name = _ref$name === void 0 ? '' : _ref$name,
127
+ _ref$onBlur = _ref.onBlur,
128
+ onBlur = _ref$onBlur === void 0 ? function (_event) {} : _ref$onBlur,
129
+ _ref$onChange = _ref.onChange,
130
+ onChangeProp = _ref$onChange === void 0 ? function (_value) {} : _ref$onChange,
131
+ _ref$onFocus = _ref.onFocus,
132
+ onFocus = _ref$onFocus === void 0 ? function (_event) {} : _ref$onFocus,
133
+ providedParseValue = _ref.parseValue,
134
+ _ref$spacing = _ref.spacing,
135
+ spacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
136
+ _ref$locale = _ref.locale,
137
+ locale = _ref$locale === void 0 ? 'en-US' : _ref$locale,
138
+ testId = _ref.testId,
139
+ _ref$timePickerProps = _ref.timePickerProps,
140
+ timePickerPropsWithSelectProps = _ref$timePickerProps === void 0 ? {} : _ref$timePickerProps,
141
+ providedValue = _ref.value;
142
+ var _useState = (0, _react.useState)((datePickerPropsWithSelectProps === null || datePickerPropsWithSelectProps === void 0 ? void 0 : datePickerPropsWithSelectProps.defaultValue) || ''),
143
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
144
+ dateValue = _useState2[0],
145
+ setDateValue = _useState2[1];
146
+ var _useState3 = (0, _react.useState)(false),
147
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
148
+ isFocused = _useState4[0],
149
+ setIsFocused = _useState4[1];
150
+ var _useState5 = (0, _react.useState)((timePickerPropsWithSelectProps === null || timePickerPropsWithSelectProps === void 0 ? void 0 : timePickerPropsWithSelectProps.defaultValue) || ''),
151
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
152
+ timeValue = _useState6[0],
153
+ setTimeValue = _useState6[1];
154
+ var _useState7 = (0, _react.useState)(defaultValue || ''),
155
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
156
+ value = _useState8[0],
157
+ setValue = _useState8[1];
158
+ var _useState9 = (0, _react.useState)(''),
159
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
160
+ zoneValue = _useState10[0],
161
+ setZoneValue = _useState10[1];
162
+ (0, _react.useEffect)(function () {
163
+ if (providedValue) {
164
+ setValue(providedValue);
165
+ }
166
+ }, [providedValue]);
167
+ var parseValue = (0, _react.useCallback)(function (value, providedDateValue, providedTimeValue, providedZoneValue) {
168
+ if (providedParseValue) {
169
+ var parsedFromFn = providedParseValue(value, providedDateValue, providedTimeValue, providedZoneValue);
170
+ // This handles cases found in Jira where the parse function actually does
171
+ // nothing and returns undefined. The previous `getSafeState` function
172
+ // just spread the values over the state, but if it returned `undefined`,
173
+ // it would just rely on the previous state values. Considering this is
174
+ // what is input to this function anyway, this is a safe way to handle
175
+ // this, colocate the behavior, and not rely on `getSafeState`.
176
+ return parsedFromFn || {
177
+ dateValue: providedDateValue,
178
+ timeValue: providedTimeValue,
179
+ zoneValue: providedZoneValue
180
+ };
181
+ }
182
+ var parsed = (0, _dateFns.parseISO)(value);
183
+ return (0, _dateFns.isValid)(parsed) ? {
184
+ dateValue: (0, _dateFns.format)(parsed, (0, _parseTokens.convertTokens)('YYYY-MM-DD')),
185
+ timeValue: (0, _dateFns.format)(parsed, (0, _parseTokens.convertTokens)('HH:mm')),
186
+ zoneValue: (0, _dateFns.format)(parsed, (0, _parseTokens.convertTokens)('ZZ'))
187
+ } : {
188
+ dateValue: dateValue,
189
+ timeValue: timeValue,
190
+ zoneValue: zoneValue
191
+ };
192
+ }, [providedParseValue, dateValue, timeValue, zoneValue]);
193
+ (0, _react.useEffect)(function () {
194
+ var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
195
+ setDateValue(parsedValues.dateValue);
196
+ setTimeValue(parsedValues.timeValue);
197
+ setZoneValue(parsedValues.zoneValue);
198
+ }, [value, dateValue, timeValue, zoneValue, parseValue]);
199
+ var onDateBlur = function onDateBlur(event) {
200
+ setIsFocused(false);
201
+ onBlur(event);
202
+ if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onBlur) {
203
+ datePickerPropsWithSelectProps.onBlur(event);
204
+ }
205
+ };
206
+ var onTimeBlur = function onTimeBlur(event) {
207
+ setIsFocused(false);
208
+ onBlur(event);
209
+ if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onBlur) {
210
+ timePickerPropsWithSelectProps.onBlur(event);
211
+ }
212
+ };
213
+ var onDateFocus = function onDateFocus(event) {
214
+ setIsFocused(false);
215
+ onFocus(event);
216
+ if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onFocus) {
217
+ datePickerPropsWithSelectProps.onFocus(event);
218
+ }
219
+ };
220
+ var onTimeFocus = function onTimeFocus(event) {
221
+ setIsFocused(false);
222
+ onFocus(event);
223
+ if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onFocus) {
224
+ timePickerPropsWithSelectProps.onFocus(event);
225
+ }
226
+ };
227
+ var onDateChange = function onDateChange(dateValue) {
228
+ var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
229
+ onValueChange({
230
+ providedDateValue: dateValue,
231
+ providedTimeValue: parsedValues.timeValue,
232
+ providedZoneValue: parsedValues.zoneValue
233
+ });
234
+ if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onChange) {
235
+ datePickerPropsWithSelectProps.onChange(dateValue);
236
+ }
237
+ };
238
+ var onTimeChange = function onTimeChange(timeValue) {
239
+ var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
240
+ onValueChange({
241
+ providedDateValue: parsedValues.dateValue,
242
+ providedTimeValue: timeValue,
243
+ providedZoneValue: parsedValues.zoneValue
244
+ });
245
+ if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onChange) {
246
+ timePickerPropsWithSelectProps.onChange(timeValue);
247
+ }
248
+ };
249
+ var onClear = function onClear() {
250
+ var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
251
+ onValueChange({
252
+ providedDateValue: '',
253
+ providedTimeValue: '',
254
+ providedZoneValue: parsedValues.zoneValue
255
+ });
256
+ if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onChange) {
257
+ datePickerPropsWithSelectProps.onChange('');
258
+ }
259
+ if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onChange) {
260
+ timePickerPropsWithSelectProps.onChange('');
261
+ }
262
+ };
263
+ var onChangePropWithAnalytics = (0, _analyticsNext.usePlatformLeafEventHandler)(_objectSpread({
264
+ fn: onChangeProp,
265
+ action: 'selectedDate',
266
+ actionSubject: 'datePicker'
267
+ }, analyticsAttributes));
268
+ var onValueChange = function onValueChange(_ref2) {
269
+ var providedDateValue = _ref2.providedDateValue,
270
+ providedTimeValue = _ref2.providedTimeValue,
271
+ providedZoneValue = _ref2.providedZoneValue;
272
+ setDateValue(providedDateValue);
273
+ setTimeValue(providedTimeValue);
274
+ setZoneValue(providedZoneValue);
275
+ if (providedDateValue && providedTimeValue) {
276
+ var _value2 = (0, _internal.formatDateTimeZoneIntoIso)(providedDateValue, providedTimeValue, providedZoneValue);
277
+ var _parseValue = parseValue(_value2, providedDateValue, providedTimeValue, providedZoneValue),
278
+ parsedZone = _parseValue.zoneValue;
279
+ var valueWithValidZone = (0, _internal.formatDateTimeZoneIntoIso)(providedDateValue, providedTimeValue, parsedZone);
280
+ setValue(valueWithValidZone);
281
+ onChangePropWithAnalytics(valueWithValidZone);
282
+ // If the date or time value was cleared when there is an existing datetime value, then clear the value.
283
+ } else if (value) {
284
+ setValue('');
285
+ onChangePropWithAnalytics('');
286
+ }
287
+ };
288
+ var datePickerSelectProps = datePickerPropsWithSelectProps.selectProps,
289
+ datePickerProps = (0, _objectWithoutProperties2.default)(datePickerPropsWithSelectProps, _excluded);
290
+ var datePickerAriaDescribedBy = datePickerProps['aria-describedby'] || ariaDescribedBy;
291
+ var datePickerLabel = datePickerProps.label || datePickerDefaultAriaLabel;
292
+ var mergedDatePickerSelectProps = _objectSpread(_objectSpread({}, datePickerSelectProps), {}, {
293
+ styles: (0, _select.mergeStyles)(styles, datePickerSelectProps === null || datePickerSelectProps === void 0 ? void 0 : datePickerSelectProps.styles)
294
+ });
295
+ var timePickerSelectProps = timePickerPropsWithSelectProps.selectProps,
296
+ timePickerProps = (0, _objectWithoutProperties2.default)(timePickerPropsWithSelectProps, _excluded2);
297
+ var timePickerAriaDescribedBy = timePickerProps['aria-describedby'] || ariaDescribedBy;
298
+ var timePickerLabel = timePickerProps.label || timePickerDefaultAriaLabel;
299
+ var mergedTimePickerSelectProps = _objectSpread(_objectSpread({}, timePickerSelectProps), {}, {
300
+ styles: (0, _select.mergeStyles)(styles, timePickerSelectProps === null || timePickerSelectProps === void 0 ? void 0 : timePickerSelectProps.styles)
301
+ });
302
+
303
+ // Render DateTimePicker's IconContainer when a value has been filled
304
+ // Don't use Date or TimePicker's because they can't be customised
305
+ var isClearable = Boolean(dateValue || timeValue);
306
+ return (0, _react2.jsx)(_dateTimePickerContainer.DateTimePickerContainer, {
307
+ appearance: appearance,
308
+ isDisabled: isDisabled,
309
+ isFocused: isFocused,
310
+ isInvalid: isInvalid,
311
+ testId: testId,
312
+ innerProps: innerProps
313
+ }, (0, _react2.jsx)("input", {
314
+ name: name,
315
+ type: "hidden",
316
+ value: value,
317
+ "data-testid": testId && "".concat(testId, "--input")
318
+ }), (0, _react2.jsx)("div", {
319
+ css: datePickerContainerStyles
320
+ }, (0, _react2.jsx)(DatePicker, {
321
+ appearance: appearance,
322
+ "aria-describedby": datePickerAriaDescribedBy,
323
+ autoFocus: datePickerProps.autoFocus || autoFocus,
324
+ dateFormat: datePickerProps.dateFormat,
325
+ defaultIsOpen: datePickerProps.defaultIsOpen,
326
+ defaultValue: datePickerProps.defaultValue,
327
+ disabled: datePickerProps.disabled,
328
+ disabledDateFilter: datePickerProps.disabledDateFilter,
329
+ formatDisplayLabel: datePickerProps.formatDisplayLabel,
330
+ hideIcon: datePickerProps.hideIcon || true,
331
+ icon: datePickerProps.icon,
332
+ id: datePickerProps.id || id,
333
+ innerProps: datePickerProps.innerProps,
334
+ isDisabled: datePickerProps.isDisabled || isDisabled,
335
+ isInvalid: datePickerProps.isInvalid || isInvalid,
336
+ isOpen: datePickerProps.isOpen,
337
+ isRequired: datePickerProps.isRequired || isRequired,
338
+ label: datePickerLabel,
339
+ locale: datePickerProps.locale || locale,
340
+ maxDate: datePickerProps.maxDate,
341
+ minDate: datePickerProps.minDate,
342
+ name: datePickerProps.name,
343
+ nextMonthLabel: datePickerProps.nextMonthLabel,
344
+ onBlur: onDateBlur,
345
+ onChange: onDateChange,
346
+ onFocus: onDateFocus,
347
+ parseInputValue: datePickerProps.parseInputValue,
348
+ placeholder: datePickerProps.placeholder,
349
+ previousMonthLabel: datePickerProps.previousMonthLabel,
350
+ selectProps: mergedDatePickerSelectProps,
351
+ spacing: datePickerProps.spacing || spacing,
352
+ testId: testId && "".concat(testId, "--datepicker") || datePickerProps.testId,
353
+ value: dateValue,
354
+ weekStartDay: datePickerProps.weekStartDay
355
+ })), (0, _react2.jsx)("div", {
356
+ css: timePickerContainerStyles
357
+ }, (0, _react2.jsx)(_timePicker.default, {
358
+ appearance: timePickerProps.appearance || appearance,
359
+ "aria-describedby": timePickerAriaDescribedBy,
360
+ autoFocus: timePickerProps.autoFocus,
361
+ defaultIsOpen: timePickerProps.defaultIsOpen,
362
+ defaultValue: timePickerProps.defaultValue,
363
+ formatDisplayLabel: timePickerProps.formatDisplayLabel,
364
+ hideIcon: timePickerProps.hideIcon || true,
365
+ id: timePickerProps.id,
366
+ innerProps: timePickerProps.innerProps,
367
+ isDisabled: timePickerProps.isDisabled || isDisabled,
368
+ isInvalid: timePickerProps.isInvalid || isInvalid,
369
+ isOpen: timePickerProps.isOpen,
370
+ isRequired: timePickerProps.isRequired || isRequired,
371
+ label: timePickerLabel,
372
+ locale: timePickerProps.locale || locale,
373
+ name: timePickerProps.name,
374
+ onBlur: onTimeBlur,
375
+ onChange: onTimeChange,
376
+ onFocus: onTimeFocus,
377
+ parseInputValue: timePickerProps.parseInputValue,
378
+ placeholder: timePickerProps.placeholder,
379
+ selectProps: mergedTimePickerSelectProps,
380
+ spacing: timePickerProps.spacing || spacing,
381
+ testId: timePickerProps.testId || testId && "".concat(testId, "--timepicker"),
382
+ timeFormat: timePickerProps.timeFormat,
383
+ timeIsEditable: timePickerProps.timeIsEditable,
384
+ times: timePickerProps.times,
385
+ value: timeValue
386
+ })), isClearable && !isDisabled ? (0, _react2.jsx)("button", {
387
+ css: iconContainerStyles,
388
+ onClick: onClear,
389
+ "data-testid": testId && "".concat(testId, "--icon--container"),
390
+ tabIndex: -1,
391
+ type: "button"
392
+ }, (0, _react2.jsx)(_selectClear.default, {
393
+ size: "small",
394
+ primaryColor: "inherit",
395
+ label: clearControlLabel
396
+ })) : null);
397
+ });
398
+ var _default = exports.default = DateTimePicker;