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