@atlaskit/datetime-picker 17.5.6 → 17.6.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 (44) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/components/date-picker.js +1 -0
  3. package/dist/cjs/components/date-time-picker-class.js +1 -0
  4. package/dist/cjs/components/date-time-picker-fc-new.js +479 -0
  5. package/dist/cjs/components/date-time-picker-fc-old.js +370 -0
  6. package/dist/cjs/components/date-time-picker-fc.js +8 -362
  7. package/dist/cjs/components/time-picker.js +1 -1
  8. package/dist/cjs/internal/date-picker-migration.js +2 -0
  9. package/dist/cjs/internal/menu.js +1 -0
  10. package/dist/cjs/internal/parse-date.js +2 -0
  11. package/dist/cjs/internal/single-value.js +2 -1
  12. package/dist/es2019/components/date-picker.js +2 -0
  13. package/dist/es2019/components/date-time-picker-class.js +1 -0
  14. package/dist/es2019/components/date-time-picker-fc-new.js +456 -0
  15. package/dist/es2019/components/date-time-picker-fc-old.compiled.css +6 -0
  16. package/dist/es2019/components/date-time-picker-fc-old.js +336 -0
  17. package/dist/es2019/components/date-time-picker-fc.js +5 -332
  18. package/dist/es2019/components/time-picker.js +2 -0
  19. package/dist/es2019/internal/date-picker-migration.js +1 -0
  20. package/dist/es2019/internal/menu.js +2 -0
  21. package/dist/es2019/internal/parse-date.js +1 -0
  22. package/dist/es2019/internal/single-value.js +2 -1
  23. package/dist/esm/components/date-picker.js +2 -0
  24. package/dist/esm/components/date-time-picker-class.js +1 -0
  25. package/dist/esm/components/date-time-picker-fc-new.compiled.css +6 -0
  26. package/dist/esm/components/date-time-picker-fc-new.js +473 -0
  27. package/dist/esm/components/date-time-picker-fc-old.compiled.css +6 -0
  28. package/dist/esm/components/date-time-picker-fc-old.js +364 -0
  29. package/dist/esm/components/date-time-picker-fc.js +7 -360
  30. package/dist/esm/components/time-picker.js +2 -0
  31. package/dist/esm/internal/date-picker-migration.js +1 -0
  32. package/dist/esm/internal/menu.js +2 -0
  33. package/dist/esm/internal/parse-date.js +1 -0
  34. package/dist/esm/internal/single-value.js +2 -1
  35. package/dist/types/components/date-time-picker-fc-new.d.ts +6 -0
  36. package/dist/types/components/date-time-picker-fc-old.d.ts +6 -0
  37. package/dist/types/components/date-time-picker-fc.d.ts +2 -6
  38. package/dist/types-ts4.5/components/date-time-picker-fc-new.d.ts +6 -0
  39. package/dist/types-ts4.5/components/date-time-picker-fc-old.d.ts +6 -0
  40. package/dist/types-ts4.5/components/date-time-picker-fc.d.ts +2 -6
  41. package/package.json +16 -9
  42. /package/dist/cjs/components/{date-time-picker-fc.compiled.css → date-time-picker-fc-new.compiled.css} +0 -0
  43. /package/dist/{es2019/components/date-time-picker-fc.compiled.css → cjs/components/date-time-picker-fc-old.compiled.css} +0 -0
  44. /package/dist/{esm/components/date-time-picker-fc.compiled.css → es2019/components/date-time-picker-fc-new.compiled.css} +0 -0
@@ -1,59 +1,7 @@
1
- /* date-time-picker-fc.tsx generated by @compiled/babel-plugin v0.39.1 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- var _excluded = ["selectProps"],
7
- _excluded2 = ["selectProps"];
8
- import "./date-time-picker-fc.compiled.css";
9
- import { ax, ix } from "@compiled/react/runtime";
10
- 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; }
11
- 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) { _defineProperty(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; }
12
- /// <reference types="node" />
13
- // for typing `process`
14
-
15
- import React, { forwardRef, useCallback, useEffect, useState } from 'react';
16
- import { format, isValid, parseISO } from 'date-fns';
17
- import { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';
18
- import { IconButton } from '@atlaskit/button/new';
19
- import SelectClearIcon from '@atlaskit/icon/core/cross-circle';
20
- import { Box, Inline } from '@atlaskit/primitives/compiled';
21
- import { mergeStyles } from '@atlaskit/select';
22
- import { formatDateTimeZoneIntoIso } from '../internal';
23
- import { DateTimePickerContainer } from '../internal/date-time-picker-container';
24
- import { convertTokens } from '../internal/parse-tokens';
25
- import DatePicker from './date-picker';
26
- import TimePicker from './time-picker';
27
- var packageName = "@atlaskit/datetime-picker";
28
- var packageVersion = "0.0.0-development";
29
- var analyticsAttributes = {
30
- componentName: 'dateTimePicker',
31
- packageName: packageName,
32
- packageVersion: packageVersion
33
- };
34
- var compiledStyles = {
35
- datePickerContainerStyles: "_i0dl1ssb _16jlkb7n _1o9zidpf",
36
- timePickerContainerStyles: "_i0dl1ssb _16jlkb7n",
37
- iconContainerStyles: "_1e0c1txw _4cvr1h6o _i0dl1kw7"
38
- };
39
-
40
- // react-select overrides (via @atlaskit/select).
41
- var styles = {
42
- control: function control(style) {
43
- return _objectSpread(_objectSpread({}, style), {}, {
44
- backgroundColor: 'transparent',
45
- border: 2,
46
- borderRadius: 0,
47
- paddingLeft: 0,
48
- ':hover': {
49
- backgroundColor: 'transparent',
50
- cursor: 'inherit'
51
- }
52
- });
53
- }
54
- };
55
- export var datePickerDefaultAriaLabel = 'Date';
56
- export var timePickerDefaultAriaLabel = 'Time';
1
+ import { fg } from '@atlaskit/platform-feature-flags';
2
+ import { componentWithCondition } from '../internal/ff-component';
3
+ import DateTimePickerNew from './date-time-picker-fc-new';
4
+ import DateTimePickerOld from './date-time-picker-fc-old';
57
5
 
58
6
  /**
59
7
  * __Date time picker__
@@ -64,307 +12,6 @@ export var timePickerDefaultAriaLabel = 'Time';
64
12
  * - [Code](https://atlassian.design/components/datetime-picker/code)
65
13
  * - [Usage](https://atlassian.design/components/datetime-picker/usage)
66
14
  */
67
- var DateTimePicker = /*#__PURE__*/forwardRef(function (_ref2, _ref) {
68
- var ariaDescribedBy = _ref2['aria-describedby'],
69
- _ref2$appearance = _ref2.appearance,
70
- appearance = _ref2$appearance === void 0 ? 'default' : _ref2$appearance,
71
- _ref2$autoFocus = _ref2.autoFocus,
72
- autoFocus = _ref2$autoFocus === void 0 ? false : _ref2$autoFocus,
73
- _ref2$clearControlLab = _ref2.clearControlLabel,
74
- clearControlLabel = _ref2$clearControlLab === void 0 ? 'clear' : _ref2$clearControlLab,
75
- _ref2$datePickerProps = _ref2.datePickerProps,
76
- datePickerPropsWithSelectProps = _ref2$datePickerProps === void 0 ? {} : _ref2$datePickerProps,
77
- _ref2$defaultValue = _ref2.defaultValue,
78
- defaultValue = _ref2$defaultValue === void 0 ? '' : _ref2$defaultValue,
79
- _ref2$id = _ref2.id,
80
- id = _ref2$id === void 0 ? '' : _ref2$id,
81
- _ref2$innerProps = _ref2.innerProps,
82
- innerProps = _ref2$innerProps === void 0 ? {} : _ref2$innerProps,
83
- _ref2$isDisabled = _ref2.isDisabled,
84
- isDisabled = _ref2$isDisabled === void 0 ? false : _ref2$isDisabled,
85
- _ref2$isInvalid = _ref2.isInvalid,
86
- isInvalid = _ref2$isInvalid === void 0 ? false : _ref2$isInvalid,
87
- _ref2$isRequired = _ref2.isRequired,
88
- isRequired = _ref2$isRequired === void 0 ? false : _ref2$isRequired,
89
- _ref2$name = _ref2.name,
90
- name = _ref2$name === void 0 ? '' : _ref2$name,
91
- _ref2$onBlur = _ref2.onBlur,
92
- onBlur = _ref2$onBlur === void 0 ? function (_event) {} : _ref2$onBlur,
93
- _ref2$onChange = _ref2.onChange,
94
- onChangeProp = _ref2$onChange === void 0 ? function (_value) {} : _ref2$onChange,
95
- _ref2$onFocus = _ref2.onFocus,
96
- onFocus = _ref2$onFocus === void 0 ? function (_event) {} : _ref2$onFocus,
97
- providedParseValue = _ref2.parseValue,
98
- _ref2$spacing = _ref2.spacing,
99
- spacing = _ref2$spacing === void 0 ? 'default' : _ref2$spacing,
100
- _ref2$locale = _ref2.locale,
101
- locale = _ref2$locale === void 0 ? 'en-US' : _ref2$locale,
102
- testId = _ref2.testId,
103
- _ref2$timePickerProps = _ref2.timePickerProps,
104
- timePickerPropsWithSelectProps = _ref2$timePickerProps === void 0 ? {} : _ref2$timePickerProps,
105
- providedValue = _ref2.value;
106
- var _useState = useState((datePickerPropsWithSelectProps === null || datePickerPropsWithSelectProps === void 0 ? void 0 : datePickerPropsWithSelectProps.defaultValue) || ''),
107
- _useState2 = _slicedToArray(_useState, 2),
108
- dateValue = _useState2[0],
109
- setDateValue = _useState2[1];
110
- var _useState3 = useState(false),
111
- _useState4 = _slicedToArray(_useState3, 2),
112
- isFocused = _useState4[0],
113
- setIsFocused = _useState4[1];
114
- var _useState5 = useState((timePickerPropsWithSelectProps === null || timePickerPropsWithSelectProps === void 0 ? void 0 : timePickerPropsWithSelectProps.defaultValue) || ''),
115
- _useState6 = _slicedToArray(_useState5, 2),
116
- timeValue = _useState6[0],
117
- setTimeValue = _useState6[1];
118
- var _useState7 = useState(defaultValue || ''),
119
- _useState8 = _slicedToArray(_useState7, 2),
120
- value = _useState8[0],
121
- setValue = _useState8[1];
122
- var _useState9 = useState(''),
123
- _useState0 = _slicedToArray(_useState9, 2),
124
- zoneValue = _useState0[0],
125
- setZoneValue = _useState0[1];
126
- useEffect(function () {
127
- if (providedValue !== undefined) {
128
- setValue(providedValue);
129
- }
130
- }, [providedValue]);
131
- var parseValue = useCallback(function (value, providedDateValue, providedTimeValue, providedZoneValue) {
132
- if (providedParseValue) {
133
- var parsedFromFn = providedParseValue(value, providedDateValue, providedTimeValue, providedZoneValue);
134
- // This handles cases found in Jira where the parse function actually does
135
- // nothing and returns undefined. The previous `getSafeState` function
136
- // just spread the values over the state, but if it returned `undefined`,
137
- // it would just rely on the previous state values. Considering this is
138
- // what is input to this function anyway, this is a safe way to handle
139
- // this, colocate the behavior, and not rely on `getSafeState`.
140
- return parsedFromFn || {
141
- dateValue: providedDateValue,
142
- timeValue: providedTimeValue,
143
- zoneValue: providedZoneValue
144
- };
145
- }
146
- var parsed = parseISO(value);
147
- return isValid(parsed) ? {
148
- dateValue: format(parsed, convertTokens('YYYY-MM-DD')),
149
- timeValue: format(parsed, convertTokens('HH:mm')),
150
- zoneValue: format(parsed, convertTokens('ZZ'))
151
- } : {
152
- dateValue: dateValue,
153
- timeValue: timeValue,
154
- zoneValue: zoneValue
155
- };
156
- }, [providedParseValue, dateValue, timeValue, zoneValue]);
157
- useEffect(function () {
158
- var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
159
- setDateValue(parsedValues.dateValue);
160
- setTimeValue(parsedValues.timeValue);
161
- setZoneValue(parsedValues.zoneValue);
162
- }, [value, dateValue, timeValue, zoneValue, parseValue]);
163
- var onDateBlur = function onDateBlur(event) {
164
- setIsFocused(false);
165
- onBlur(event);
166
- if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onBlur) {
167
- datePickerPropsWithSelectProps.onBlur(event);
168
- }
169
- };
170
- var onTimeBlur = function onTimeBlur(event) {
171
- setIsFocused(false);
172
- onBlur(event);
173
- if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onBlur) {
174
- timePickerPropsWithSelectProps.onBlur(event);
175
- }
176
- };
177
- var onDateFocus = function onDateFocus(event) {
178
- setIsFocused(false);
179
- onFocus(event);
180
- if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onFocus) {
181
- datePickerPropsWithSelectProps.onFocus(event);
182
- }
183
- };
184
- var onTimeFocus = function onTimeFocus(event) {
185
- setIsFocused(false);
186
- onFocus(event);
187
- if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onFocus) {
188
- timePickerPropsWithSelectProps.onFocus(event);
189
- }
190
- };
191
- var onDateChange = function onDateChange(dateValue) {
192
- var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
193
- onValueChange({
194
- providedDateValue: dateValue,
195
- providedTimeValue: parsedValues.timeValue,
196
- providedZoneValue: parsedValues.zoneValue
197
- });
198
- if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onChange) {
199
- datePickerPropsWithSelectProps.onChange(dateValue);
200
- }
201
- };
202
- var onTimeChange = function onTimeChange(timeValue) {
203
- var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
204
- onValueChange({
205
- providedDateValue: parsedValues.dateValue,
206
- providedTimeValue: timeValue,
207
- providedZoneValue: parsedValues.zoneValue
208
- });
209
- if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onChange) {
210
- timePickerPropsWithSelectProps.onChange(timeValue);
211
- }
212
- };
213
- var onClear = function onClear() {
214
- var parsedValues = parseValue(value, dateValue, timeValue, zoneValue);
215
- onValueChange({
216
- providedDateValue: '',
217
- providedTimeValue: '',
218
- providedZoneValue: parsedValues.zoneValue
219
- });
220
- if (datePickerPropsWithSelectProps !== null && datePickerPropsWithSelectProps !== void 0 && datePickerPropsWithSelectProps.onChange) {
221
- datePickerPropsWithSelectProps.onChange('');
222
- }
223
- if (timePickerPropsWithSelectProps !== null && timePickerPropsWithSelectProps !== void 0 && timePickerPropsWithSelectProps.onChange) {
224
- timePickerPropsWithSelectProps.onChange('');
225
- }
226
- };
227
- var onChangePropWithAnalytics = usePlatformLeafEventHandler(_objectSpread({
228
- fn: onChangeProp,
229
- action: 'selectedDate',
230
- actionSubject: 'datePicker'
231
- }, analyticsAttributes));
232
- var onValueChange = function onValueChange(_ref3) {
233
- var providedDateValue = _ref3.providedDateValue,
234
- providedTimeValue = _ref3.providedTimeValue,
235
- providedZoneValue = _ref3.providedZoneValue;
236
- setDateValue(providedDateValue);
237
- setTimeValue(providedTimeValue);
238
- setZoneValue(providedZoneValue);
239
- if (providedDateValue && providedTimeValue) {
240
- var _value2 = formatDateTimeZoneIntoIso(providedDateValue, providedTimeValue, providedZoneValue);
241
- var _parseValue = parseValue(_value2, providedDateValue, providedTimeValue, providedZoneValue),
242
- parsedZone = _parseValue.zoneValue;
243
- var valueWithValidZone = formatDateTimeZoneIntoIso(providedDateValue, providedTimeValue, parsedZone);
244
- setValue(valueWithValidZone);
245
- onChangePropWithAnalytics(valueWithValidZone);
246
- // If the date or time value was cleared when there is an existing datetime value, then clear the value.
247
- } else if (value) {
248
- setValue('');
249
- onChangePropWithAnalytics('');
250
- }
251
- };
252
- var datePickerSelectProps = datePickerPropsWithSelectProps.selectProps,
253
- datePickerProps = _objectWithoutProperties(datePickerPropsWithSelectProps, _excluded);
254
- var datePickerAriaDescribedBy = datePickerProps['aria-describedby'] || ariaDescribedBy;
255
- var datePickerLabel = datePickerProps.label || datePickerDefaultAriaLabel;
256
- var mergedDatePickerSelectProps = _objectSpread(_objectSpread({}, datePickerSelectProps), {}, {
257
- styles: mergeStyles(styles, datePickerSelectProps === null || datePickerSelectProps === void 0 ? void 0 : datePickerSelectProps.styles)
258
- });
259
- var timePickerSelectProps = timePickerPropsWithSelectProps.selectProps,
260
- timePickerProps = _objectWithoutProperties(timePickerPropsWithSelectProps, _excluded2);
261
- var timePickerAriaDescribedBy = timePickerProps['aria-describedby'] || ariaDescribedBy;
262
- var timePickerLabel = timePickerProps.label || timePickerDefaultAriaLabel;
263
- var mergedTimePickerSelectProps = _objectSpread(_objectSpread({}, timePickerSelectProps), {}, {
264
- styles: mergeStyles(styles, timePickerSelectProps === null || timePickerSelectProps === void 0 ? void 0 : timePickerSelectProps.styles)
265
- });
266
-
267
- // Render DateTimePicker's IconContainer when a value has been filled
268
- // Don't use Date or TimePicker's because they can't be customised
269
- var isClearable = Boolean(dateValue || timeValue);
270
- return /*#__PURE__*/React.createElement(DateTimePickerContainer, {
271
- appearance: appearance,
272
- isDisabled: isDisabled,
273
- isFocused: isFocused,
274
- isInvalid: isInvalid,
275
- testId: testId,
276
- innerProps: innerProps
277
- }, /*#__PURE__*/React.createElement("input", {
278
- name: name,
279
- type: "hidden",
280
- value: value,
281
- "data-testid": testId && "".concat(testId, "--input")
282
- }), /*#__PURE__*/React.createElement(Box, {
283
- xcss: compiledStyles.datePickerContainerStyles
284
- }, /*#__PURE__*/React.createElement(DatePicker, {
285
- appearance: appearance,
286
- "aria-describedby": datePickerAriaDescribedBy,
287
- autoFocus: datePickerProps.autoFocus || autoFocus,
288
- dateFormat: datePickerProps.dateFormat,
289
- defaultIsOpen: datePickerProps.defaultIsOpen,
290
- defaultValue: datePickerProps.defaultValue,
291
- disabled: datePickerProps.disabled,
292
- disabledDateFilter: datePickerProps.disabledDateFilter,
293
- formatDisplayLabel: datePickerProps.formatDisplayLabel,
294
- hideIcon: datePickerProps.hideIcon || true,
295
- icon: datePickerProps.icon,
296
- id: datePickerProps.id || id,
297
- innerProps: datePickerProps.innerProps,
298
- inputLabel: datePickerProps.inputLabel,
299
- inputLabelId: datePickerProps.inputLabelId,
300
- isDisabled: datePickerProps.isDisabled || isDisabled,
301
- isInvalid: datePickerProps.isInvalid || isInvalid,
302
- isOpen: datePickerProps.isOpen,
303
- isRequired: datePickerProps.isRequired || isRequired,
304
- label: datePickerLabel,
305
- locale: datePickerProps.locale || locale,
306
- maxDate: datePickerProps.maxDate,
307
- minDate: datePickerProps.minDate,
308
- name: datePickerProps.name,
309
- nextMonthLabel: datePickerProps.nextMonthLabel,
310
- onBlur: onDateBlur,
311
- onChange: onDateChange,
312
- onFocus: onDateFocus,
313
- openCalendarLabel: datePickerProps.openCalendarLabel,
314
- parseInputValue: datePickerProps.parseInputValue,
315
- placeholder: datePickerProps.placeholder,
316
- previousMonthLabel: datePickerProps.previousMonthLabel,
317
- selectProps: mergedDatePickerSelectProps,
318
- shouldShowCalendarButton: datePickerProps.shouldShowCalendarButton,
319
- spacing: datePickerProps.spacing || spacing,
320
- testId: testId && "".concat(testId, "--datepicker") || datePickerProps.testId,
321
- value: dateValue,
322
- weekStartDay: datePickerProps.weekStartDay
323
- })), /*#__PURE__*/React.createElement(Box, {
324
- xcss: compiledStyles.timePickerContainerStyles
325
- }, /*#__PURE__*/React.createElement(TimePicker, {
326
- appearance: timePickerProps.appearance || appearance,
327
- "aria-describedby": timePickerAriaDescribedBy,
328
- autoFocus: timePickerProps.autoFocus,
329
- defaultIsOpen: timePickerProps.defaultIsOpen,
330
- defaultValue: timePickerProps.defaultValue,
331
- formatDisplayLabel: timePickerProps.formatDisplayLabel,
332
- hideIcon: timePickerProps.hideIcon || true,
333
- id: timePickerProps.id,
334
- innerProps: timePickerProps.innerProps,
335
- isDisabled: timePickerProps.isDisabled || isDisabled,
336
- isInvalid: timePickerProps.isInvalid || isInvalid,
337
- isOpen: timePickerProps.isOpen,
338
- isRequired: timePickerProps.isRequired || isRequired,
339
- label: timePickerLabel,
340
- locale: timePickerProps.locale || locale,
341
- name: timePickerProps.name,
342
- onBlur: onTimeBlur,
343
- onChange: onTimeChange,
344
- onFocus: onTimeFocus,
345
- parseInputValue: timePickerProps.parseInputValue,
346
- placeholder: timePickerProps.placeholder,
347
- selectProps: mergedTimePickerSelectProps,
348
- spacing: timePickerProps.spacing || spacing,
349
- testId: timePickerProps.testId || testId && "".concat(testId, "--timepicker"),
350
- timeFormat: timePickerProps.timeFormat,
351
- timeIsEditable: timePickerProps.timeIsEditable,
352
- times: timePickerProps.times,
353
- value: timeValue
354
- })), isClearable && !isDisabled ? /*#__PURE__*/React.createElement(Inline, {
355
- xcss: compiledStyles.iconContainerStyles
356
- }, /*#__PURE__*/React.createElement(IconButton, {
357
- appearance: "subtle",
358
- label: clearControlLabel,
359
- icon: function icon(iconProps) {
360
- return /*#__PURE__*/React.createElement(SelectClearIcon, _extends({}, iconProps, {
361
- color: "var(--ds-text-subtlest, #6B6E76)",
362
- size: "small"
363
- }));
364
- },
365
- onClick: onClear,
366
- testId: testId && "".concat(testId, "--icon--container"),
367
- tabIndex: -1
368
- })) : null);
369
- });
370
- export default DateTimePicker;
15
+ export default componentWithCondition(function () {
16
+ return fg('dst-a11y_fix-dtp-value-calculation');
17
+ }, DateTimePickerNew, DateTimePickerOld);
@@ -6,6 +6,8 @@ var _excluded = ["styles"];
6
6
  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; }
7
7
  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) { _defineProperty(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; }
8
8
  import React, { forwardRef, useCallback, useEffect, useReducer, useState } from 'react';
9
+
10
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
9
11
  import { format, isValid } from 'date-fns';
10
12
  import { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';
11
13
  import __noop from '@atlaskit/ds-lib/noop';
@@ -17,6 +17,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
17
17
  * broken out to be it's own function.
18
18
  */
19
19
 
20
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
20
21
  import { format, lastDayOfMonth, parseISO } from 'date-fns';
21
22
  import { convertTokens } from './parse-tokens';
22
23
  import { defaultDateFormat, padToTwo, placeholderDatetime } from './index';
@@ -4,6 +4,8 @@ import "./menu.compiled.css";
4
4
  import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
6
  import { Fragment } from 'react';
7
+
8
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
7
9
  import { isValid, parseISO } from 'date-fns';
8
10
  import Calendar from '@atlaskit/calendar';
9
11
  import { Layering } from '@atlaskit/layering';
@@ -1,3 +1,4 @@
1
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
1
2
  import { format } from 'date-fns';
2
3
  import { convertTokens } from './parse-tokens';
3
4
 
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["children", "className", "clearValue", "cx", "data", "getStyles", "getValue", "hasValue", "isDisabled", "isMulti", "isRtl", "options", "selectOption", "selectProps", "setValue"];
4
4
  import React from 'react';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { components } from '@atlaskit/select';
6
7
 
7
8
  /**
@@ -41,7 +42,7 @@ function makeSingleValue(_ref) {
41
42
  hasValue: hasValue,
42
43
  innerProps: {
43
44
  id: id,
44
- lang: lang
45
+ lang: fg('platform-dst-single-value-lang-replace') ? lang.replace('_', '-') : lang
45
46
  },
46
47
  isDisabled: isDisabled,
47
48
  isMulti: isMulti,
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type DateTimePickerBaseProps } from '../types';
3
+ export declare const datePickerDefaultAriaLabel = "Date";
4
+ export declare const timePickerDefaultAriaLabel = "Time";
5
+ declare const DateTimePickerNew: React.ForwardRefExoticComponent<React.PropsWithoutRef<DateTimePickerBaseProps> & React.RefAttributes<HTMLElement>>;
6
+ export default DateTimePickerNew;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type DateTimePickerBaseProps } from '../types';
3
+ export declare const datePickerDefaultAriaLabel = "Date";
4
+ export declare const timePickerDefaultAriaLabel = "Time";
5
+ declare const DateTimePickerOld: React.ForwardRefExoticComponent<React.PropsWithoutRef<DateTimePickerBaseProps> & React.RefAttributes<HTMLElement>>;
6
+ export default DateTimePickerOld;
@@ -1,7 +1,3 @@
1
- import React from 'react';
2
- import { type DateTimePickerBaseProps } from '../types';
3
- export declare const datePickerDefaultAriaLabel = "Date";
4
- export declare const timePickerDefaultAriaLabel = "Time";
5
1
  /**
6
2
  * __Date time picker__
7
3
  *
@@ -11,5 +7,5 @@ export declare const timePickerDefaultAriaLabel = "Time";
11
7
  * - [Code](https://atlassian.design/components/datetime-picker/code)
12
8
  * - [Usage](https://atlassian.design/components/datetime-picker/usage)
13
9
  */
14
- declare const DateTimePicker: React.ForwardRefExoticComponent<React.PropsWithoutRef<DateTimePickerBaseProps> & React.RefAttributes<HTMLElement>>;
15
- export default DateTimePicker;
10
+ declare const _default: import("react").FC<Omit<Omit<import("..").DateTimePickerProps, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
11
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type DateTimePickerBaseProps } from '../types';
3
+ export declare const datePickerDefaultAriaLabel = "Date";
4
+ export declare const timePickerDefaultAriaLabel = "Time";
5
+ declare const DateTimePickerNew: React.ForwardRefExoticComponent<React.PropsWithoutRef<DateTimePickerBaseProps> & React.RefAttributes<HTMLElement>>;
6
+ export default DateTimePickerNew;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type DateTimePickerBaseProps } from '../types';
3
+ export declare const datePickerDefaultAriaLabel = "Date";
4
+ export declare const timePickerDefaultAriaLabel = "Time";
5
+ declare const DateTimePickerOld: React.ForwardRefExoticComponent<React.PropsWithoutRef<DateTimePickerBaseProps> & React.RefAttributes<HTMLElement>>;
6
+ export default DateTimePickerOld;
@@ -1,7 +1,3 @@
1
- import React from 'react';
2
- import { type DateTimePickerBaseProps } from '../types';
3
- export declare const datePickerDefaultAriaLabel = "Date";
4
- export declare const timePickerDefaultAriaLabel = "Time";
5
1
  /**
6
2
  * __Date time picker__
7
3
  *
@@ -11,5 +7,5 @@ export declare const timePickerDefaultAriaLabel = "Time";
11
7
  * - [Code](https://atlassian.design/components/datetime-picker/code)
12
8
  * - [Usage](https://atlassian.design/components/datetime-picker/usage)
13
9
  */
14
- declare const DateTimePicker: React.ForwardRefExoticComponent<React.PropsWithoutRef<DateTimePickerBaseProps> & React.RefAttributes<HTMLElement>>;
15
- export default DateTimePicker;
10
+ declare const _default: import("react").FC<Omit<Omit<import("..").DateTimePickerProps, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
11
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/datetime-picker",
3
- "version": "17.5.6",
3
+ "version": "17.6.0",
4
4
  "description": "A date time picker allows the user to select an associated date and time.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -32,19 +32,19 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@atlaskit/analytics-next": "^11.1.0",
35
+ "@atlaskit/analytics-next": "^11.2.0",
36
36
  "@atlaskit/button": "^23.10.0",
37
37
  "@atlaskit/calendar": "^17.2.0",
38
38
  "@atlaskit/css": "^0.19.0",
39
39
  "@atlaskit/ds-lib": "^6.0.0",
40
- "@atlaskit/icon": "^33.0.0",
40
+ "@atlaskit/icon": "^33.1.0",
41
41
  "@atlaskit/layering": "^3.6.0",
42
42
  "@atlaskit/locale": "^3.0.0",
43
43
  "@atlaskit/platform-feature-flags": "^1.1.0",
44
44
  "@atlaskit/popper": "^7.1.0",
45
- "@atlaskit/primitives": "^18.0.0",
46
- "@atlaskit/select": "^21.8.0",
47
- "@atlaskit/tokens": "^11.1.0",
45
+ "@atlaskit/primitives": "^18.1.0",
46
+ "@atlaskit/select": "^21.10.0",
47
+ "@atlaskit/tokens": "^11.4.0",
48
48
  "@babel/runtime": "^7.0.0",
49
49
  "@compiled/react": "^0.20.0",
50
50
  "date-fns": "^2.17.0"
@@ -59,15 +59,16 @@
59
59
  "@atlaskit/code": "^17.4.0",
60
60
  "@atlaskit/codemod-utils": "^4.2.0",
61
61
  "@atlaskit/docs": "^11.7.0",
62
- "@atlaskit/form": "^15.4.0",
62
+ "@atlaskit/form": "^15.5.0",
63
63
  "@atlaskit/heading": "^5.3.0",
64
64
  "@atlaskit/link": "^3.3.0",
65
- "@atlaskit/modal-dialog": "^14.11.0",
66
- "@atlaskit/popup": "^4.14.0",
65
+ "@atlaskit/modal-dialog": "^14.14.0",
66
+ "@atlaskit/popup": "^4.15.0",
67
67
  "@atlaskit/range": "^10.0.0",
68
68
  "@atlaskit/section-message": "^8.12.0",
69
69
  "@atlaskit/textfield": "^8.2.0",
70
70
  "@atlaskit/toggle": "^15.2.0",
71
+ "@atlassian/feature-flags-test-utils": "^1.0.0",
71
72
  "@atlassian/ssr-tests": "workspace:^",
72
73
  "@atlassian/structured-docs-types": "workspace:^",
73
74
  "@testing-library/react": "^16.3.0",
@@ -106,11 +107,17 @@
106
107
  "dst-date-picker-use-functional-component": {
107
108
  "type": "boolean"
108
109
  },
110
+ "dst-a11y_fix-dtp-value-calculation": {
111
+ "type": "boolean"
112
+ },
109
113
  "dst-date-time-picker-use-functional-component": {
110
114
  "type": "boolean"
111
115
  },
112
116
  "platform-dst-shape-theme-default": {
113
117
  "type": "boolean"
118
+ },
119
+ "platform-dst-single-value-lang-replace": {
120
+ "type": "boolean"
114
121
  }
115
122
  },
116
123
  "homepage": "https://atlassian.design/components/datetime-picker/"