@atlaskit/datetime-picker 12.6.1 → 12.7.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/datetime-picker
2
2
 
3
+ ## 12.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`1d5cd2e273c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1d5cd2e273c) - [ux] We are testing an input behavior change in date picker behind a feature flag. Now when entering a date in the input this value will persist after selecting a date instead of being cleared, acting like a standard input. If this fix is successful it will be available in a later release.
8
+
3
9
  ## 12.6.1
4
10
 
5
11
  ### Patch Changes
@@ -23,6 +23,7 @@ var _analyticsNext = require("@atlaskit/analytics-next");
23
23
  var _calendar = _interopRequireDefault(require("@atlaskit/calendar"));
24
24
  var _calendar2 = _interopRequireDefault(require("@atlaskit/icon/glyph/calendar"));
25
25
  var _locale = require("@atlaskit/locale");
26
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
26
27
  var _select = _interopRequireWildcard(require("@atlaskit/select"));
27
28
  var _colors = require("@atlaskit/theme/colors");
28
29
  var _constants = require("@atlaskit/theme/constants");
@@ -37,7 +38,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
37
38
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-disable @repo/internal/react/use-noop */ /** @jsx jsx */ // eslint-disable-next-line no-restricted-imports
38
39
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
39
40
  var packageName = "@atlaskit/datetime-picker";
40
- var packageVersion = "12.6.1";
41
+ var packageVersion = "12.7.0";
41
42
 
42
43
  /* eslint-disable react/no-unused-prop-types */
43
44
 
@@ -258,13 +259,17 @@ var DatePicker = /*#__PURE__*/function (_Component) {
258
259
  break;
259
260
  case 'backspace':
260
261
  case 'delete':
261
- if (value && event.target instanceof HTMLInputElement && event.target.value.length < 1) {
262
- // If being cleared from keyboard, don't change behaviour
263
- _this.setState({
264
- clearingFromIcon: false
265
- });
262
+ {
263
+ var inputCount = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.date-picker-input-a11y-fix_cbbxs') ? 1 : 0;
264
+ if (value && event.target instanceof HTMLInputElement && event.target.value.length <= inputCount) {
265
+ // If being cleared from keyboard, don't change behaviour
266
+ _this.setState({
267
+ clearingFromIcon: false,
268
+ value: ''
269
+ });
270
+ }
271
+ break;
266
272
  }
267
- break;
268
273
  case 'enter':
269
274
  if (!_this.state.isOpen) {
270
275
  return;
@@ -431,6 +436,12 @@ var DatePicker = /*#__PURE__*/function (_Component) {
431
436
  calendarValue = _this$getSafeState7.calendarValue,
432
437
  isOpen = _this$getSafeState7.isOpen,
433
438
  selectInputValue = _this$getSafeState7.selectInputValue;
439
+ var actualSelectInputValue;
440
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.date-picker-input-a11y-fix_cbbxs')) {
441
+ actualSelectInputValue = selectInputValue || (value ? this.formatDate(value) : undefined);
442
+ } else {
443
+ actualSelectInputValue = selectInputValue;
444
+ }
434
445
  var menuIsOpen = isOpen && !isDisabled;
435
446
  var showClearIndicator = Boolean((value || selectInputValue) && !hideIcon);
436
447
  var dropDownIcon = appearance === 'subtle' || hideIcon || showClearIndicator ? null : icon;
@@ -484,7 +495,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
484
495
  isDisabled: isDisabled,
485
496
  onBlur: this.onSelectBlur,
486
497
  onFocus: this.onSelectFocus,
487
- inputValue: selectInputValue,
498
+ inputValue: actualSelectInputValue,
488
499
  onInputChange: this.handleSelectInputChange,
489
500
  components: selectComponents,
490
501
  onChange: this.onSelectChange,
@@ -32,7 +32,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
32
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
33
  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; } /* eslint-disable @repo/internal/react/use-noop */ /** @jsx jsx */ // eslint-disable-next-line no-restricted-imports
34
34
  var packageName = "@atlaskit/datetime-picker";
35
- var packageVersion = "12.6.1";
35
+ var packageVersion = "12.7.0";
36
36
 
37
37
  /* eslint-disable react/no-unused-prop-types */
38
38
 
@@ -38,7 +38,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
38
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
39
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
40
40
  var packageName = "@atlaskit/datetime-picker";
41
- var packageVersion = "12.6.1";
41
+ var packageVersion = "12.7.0";
42
42
 
43
43
  /* eslint-disable react/no-unused-prop-types */
44
44
 
@@ -16,6 +16,7 @@ var _react = _interopRequireDefault(require("react"));
16
16
  var _reactScrolllock = _interopRequireDefault(require("react-scrolllock"));
17
17
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
18
18
  var _icon = require("@atlaskit/icon");
19
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
19
20
  var _popper = require("@atlaskit/popper");
20
21
  var _constants = require("@atlaskit/theme/constants");
21
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -60,7 +61,6 @@ var FixedLayer = /*#__PURE__*/function (_React$Component) {
60
61
  if (!containerRef) {
61
62
  return /*#__PURE__*/_react.default.createElement("div", null);
62
63
  }
63
- var containerRect = containerRef.getBoundingClientRect();
64
64
  return (
65
65
  /*#__PURE__*/
66
66
  /* Need to wrap layer in a fixed position div so that it will render its content as fixed
@@ -71,12 +71,16 @@ var FixedLayer = /*#__PURE__*/function (_React$Component) {
71
71
  return /*#__PURE__*/_react.default.createElement("div", {
72
72
  ref: ref,
73
73
  "data-layer-child": true,
74
- style: {
74
+ style: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.date-picker-input-a11y-fix_cbbxs') ? {
75
+ inset: 0,
76
+ pointerEvents: 'none',
77
+ background: 'transparent'
78
+ } : {
75
79
  position: 'absolute',
76
80
  top: 0,
77
- height: containerRect.height,
81
+ height: containerRef.getBoundingClientRect().height,
78
82
  // Don't block the clear button
79
- width: containerRect.width - parseInt(_icon.sizes.small.slice(0, -2)) - (0, _constants.gridSize)(),
83
+ width: containerRef.getBoundingClientRect().width - parseInt(_icon.sizes.small.slice(0, -2)) - (0, _constants.gridSize)(),
80
84
  background: 'transparent'
81
85
  }
82
86
  });
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/datetime-picker",
3
- "version": "12.6.1",
3
+ "version": "12.7.0",
4
4
  "sideEffects": false
5
5
  }
@@ -11,6 +11,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
11
11
  import Calendar from '@atlaskit/calendar';
12
12
  import CalendarIcon from '@atlaskit/icon/glyph/calendar';
13
13
  import { createLocalizationProvider } from '@atlaskit/locale';
14
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
14
15
  import Select, { mergeStyles } from '@atlaskit/select';
15
16
  import { N0, N50A, N60A } from '@atlaskit/theme/colors';
16
17
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
@@ -19,7 +20,7 @@ import { defaultDateFormat, EmptyComponent, padToTwo, placeholderDatetime } from
19
20
  import FixedLayer from '../internal/fixed-layer';
20
21
  import { convertTokens } from './utils';
21
22
  const packageName = "@atlaskit/datetime-picker";
22
- const packageVersion = "12.6.1";
23
+ const packageVersion = "12.7.0";
23
24
 
24
25
  /* eslint-disable react/no-unused-prop-types */
25
26
 
@@ -238,13 +239,17 @@ class DatePicker extends Component {
238
239
  break;
239
240
  case 'backspace':
240
241
  case 'delete':
241
- if (value && event.target instanceof HTMLInputElement && event.target.value.length < 1) {
242
- // If being cleared from keyboard, don't change behaviour
243
- this.setState({
244
- clearingFromIcon: false
245
- });
242
+ {
243
+ const inputCount = getBooleanFF('platform.design-system-team.date-picker-input-a11y-fix_cbbxs') ? 1 : 0;
244
+ if (value && event.target instanceof HTMLInputElement && event.target.value.length <= inputCount) {
245
+ // If being cleared from keyboard, don't change behaviour
246
+ this.setState({
247
+ clearingFromIcon: false,
248
+ value: ''
249
+ });
250
+ }
251
+ break;
246
252
  }
247
- break;
248
253
  case 'enter':
249
254
  if (!this.state.isOpen) {
250
255
  return;
@@ -419,6 +424,12 @@ class DatePicker extends Component {
419
424
  isOpen,
420
425
  selectInputValue
421
426
  } = this.getSafeState();
427
+ let actualSelectInputValue;
428
+ if (getBooleanFF('platform.design-system-team.date-picker-input-a11y-fix_cbbxs')) {
429
+ actualSelectInputValue = selectInputValue || (value ? this.formatDate(value) : undefined);
430
+ } else {
431
+ actualSelectInputValue = selectInputValue;
432
+ }
422
433
  const menuIsOpen = isOpen && !isDisabled;
423
434
  const showClearIndicator = Boolean((value || selectInputValue) && !hideIcon);
424
435
  const dropDownIcon = appearance === 'subtle' || hideIcon || showClearIndicator ? null : icon;
@@ -474,7 +485,7 @@ class DatePicker extends Component {
474
485
  isDisabled: isDisabled,
475
486
  onBlur: this.onSelectBlur,
476
487
  onFocus: this.onSelectFocus,
477
- inputValue: selectInputValue,
488
+ inputValue: actualSelectInputValue,
478
489
  onInputChange: this.handleSelectInputChange,
479
490
  components: selectComponents,
480
491
  onChange: this.onSelectChange,
@@ -18,7 +18,7 @@ import DatePicker from './date-picker';
18
18
  import TimePicker from './time-picker';
19
19
  import { convertTokens } from './utils';
20
20
  const packageName = "@atlaskit/datetime-picker";
21
- const packageVersion = "12.6.1";
21
+ const packageVersion = "12.7.0";
22
22
 
23
23
  /* eslint-disable react/no-unused-prop-types */
24
24
 
@@ -16,7 +16,7 @@ import FixedLayer from '../internal/fixed-layer';
16
16
  import parseTime from '../internal/parse-time';
17
17
  import { convertTokens } from './utils';
18
18
  const packageName = "@atlaskit/datetime-picker";
19
- const packageVersion = "12.6.1";
19
+ const packageVersion = "12.7.0";
20
20
 
21
21
  /* eslint-disable react/no-unused-prop-types */
22
22
 
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import ScrollLock from 'react-scrolllock';
4
4
  import noop from '@atlaskit/ds-lib/noop';
5
5
  import { sizes } from '@atlaskit/icon';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { Manager, Popper, Reference } from '@atlaskit/popper';
7
8
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
8
9
  import { gridSize, layers } from '@atlaskit/theme/constants';
@@ -32,7 +33,6 @@ export default class FixedLayer extends React.Component {
32
33
  if (!containerRef) {
33
34
  return /*#__PURE__*/React.createElement("div", null);
34
35
  }
35
- const containerRect = containerRef.getBoundingClientRect();
36
36
  return (
37
37
  /*#__PURE__*/
38
38
  /* Need to wrap layer in a fixed position div so that it will render its content as fixed
@@ -43,12 +43,16 @@ export default class FixedLayer extends React.Component {
43
43
  }) => /*#__PURE__*/React.createElement("div", {
44
44
  ref: ref,
45
45
  "data-layer-child": true,
46
- style: {
46
+ style: getBooleanFF('platform.design-system-team.date-picker-input-a11y-fix_cbbxs') ? {
47
+ inset: 0,
48
+ pointerEvents: 'none',
49
+ background: 'transparent'
50
+ } : {
47
51
  position: 'absolute',
48
52
  top: 0,
49
- height: containerRect.height,
53
+ height: containerRef.getBoundingClientRect().height,
50
54
  // Don't block the clear button
51
- width: containerRect.width - parseInt(sizes.small.slice(0, -2)) - gridSize(),
55
+ width: containerRef.getBoundingClientRect().width - parseInt(sizes.small.slice(0, -2)) - gridSize(),
52
56
  background: 'transparent'
53
57
  }
54
58
  })), /*#__PURE__*/React.createElement(Popper, null, ({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/datetime-picker",
3
- "version": "12.6.1",
3
+ "version": "12.7.0",
4
4
  "sideEffects": false
5
5
  }
@@ -22,6 +22,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
22
22
  import Calendar from '@atlaskit/calendar';
23
23
  import CalendarIcon from '@atlaskit/icon/glyph/calendar';
24
24
  import { createLocalizationProvider } from '@atlaskit/locale';
25
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
25
26
  import Select, { mergeStyles } from '@atlaskit/select';
26
27
  import { N0, N50A, N60A } from '@atlaskit/theme/colors';
27
28
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
@@ -30,7 +31,7 @@ import { defaultDateFormat, EmptyComponent, padToTwo, placeholderDatetime } from
30
31
  import FixedLayer from '../internal/fixed-layer';
31
32
  import { convertTokens } from './utils';
32
33
  var packageName = "@atlaskit/datetime-picker";
33
- var packageVersion = "12.6.1";
34
+ var packageVersion = "12.7.0";
34
35
 
35
36
  /* eslint-disable react/no-unused-prop-types */
36
37
 
@@ -251,13 +252,17 @@ var DatePicker = /*#__PURE__*/function (_Component) {
251
252
  break;
252
253
  case 'backspace':
253
254
  case 'delete':
254
- if (value && event.target instanceof HTMLInputElement && event.target.value.length < 1) {
255
- // If being cleared from keyboard, don't change behaviour
256
- _this.setState({
257
- clearingFromIcon: false
258
- });
255
+ {
256
+ var inputCount = getBooleanFF('platform.design-system-team.date-picker-input-a11y-fix_cbbxs') ? 1 : 0;
257
+ if (value && event.target instanceof HTMLInputElement && event.target.value.length <= inputCount) {
258
+ // If being cleared from keyboard, don't change behaviour
259
+ _this.setState({
260
+ clearingFromIcon: false,
261
+ value: ''
262
+ });
263
+ }
264
+ break;
259
265
  }
260
- break;
261
266
  case 'enter':
262
267
  if (!_this.state.isOpen) {
263
268
  return;
@@ -424,6 +429,12 @@ var DatePicker = /*#__PURE__*/function (_Component) {
424
429
  calendarValue = _this$getSafeState7.calendarValue,
425
430
  isOpen = _this$getSafeState7.isOpen,
426
431
  selectInputValue = _this$getSafeState7.selectInputValue;
432
+ var actualSelectInputValue;
433
+ if (getBooleanFF('platform.design-system-team.date-picker-input-a11y-fix_cbbxs')) {
434
+ actualSelectInputValue = selectInputValue || (value ? this.formatDate(value) : undefined);
435
+ } else {
436
+ actualSelectInputValue = selectInputValue;
437
+ }
427
438
  var menuIsOpen = isOpen && !isDisabled;
428
439
  var showClearIndicator = Boolean((value || selectInputValue) && !hideIcon);
429
440
  var dropDownIcon = appearance === 'subtle' || hideIcon || showClearIndicator ? null : icon;
@@ -477,7 +488,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
477
488
  isDisabled: isDisabled,
478
489
  onBlur: this.onSelectBlur,
479
490
  onFocus: this.onSelectFocus,
480
- inputValue: selectInputValue,
491
+ inputValue: actualSelectInputValue,
481
492
  onInputChange: this.handleSelectInputChange,
482
493
  components: selectComponents,
483
494
  onChange: this.onSelectChange,
@@ -28,7 +28,7 @@ import DatePicker from './date-picker';
28
28
  import TimePicker from './time-picker';
29
29
  import { convertTokens } from './utils';
30
30
  var packageName = "@atlaskit/datetime-picker";
31
- var packageVersion = "12.6.1";
31
+ var packageVersion = "12.7.0";
32
32
 
33
33
  /* eslint-disable react/no-unused-prop-types */
34
34
 
@@ -29,7 +29,7 @@ import FixedLayer from '../internal/fixed-layer';
29
29
  import parseTime from '../internal/parse-time';
30
30
  import { convertTokens } from './utils';
31
31
  var packageName = "@atlaskit/datetime-picker";
32
- var packageVersion = "12.6.1";
32
+ var packageVersion = "12.7.0";
33
33
 
34
34
  /* eslint-disable react/no-unused-prop-types */
35
35
 
@@ -13,6 +13,7 @@ import React from 'react';
13
13
  import ScrollLock from 'react-scrolllock';
14
14
  import noop from '@atlaskit/ds-lib/noop';
15
15
  import { sizes } from '@atlaskit/icon';
16
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
16
17
  import { Manager, Popper, Reference } from '@atlaskit/popper';
17
18
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
18
19
  import { gridSize, layers } from '@atlaskit/theme/constants';
@@ -54,7 +55,6 @@ var FixedLayer = /*#__PURE__*/function (_React$Component) {
54
55
  if (!containerRef) {
55
56
  return /*#__PURE__*/React.createElement("div", null);
56
57
  }
57
- var containerRect = containerRef.getBoundingClientRect();
58
58
  return (
59
59
  /*#__PURE__*/
60
60
  /* Need to wrap layer in a fixed position div so that it will render its content as fixed
@@ -65,12 +65,16 @@ var FixedLayer = /*#__PURE__*/function (_React$Component) {
65
65
  return /*#__PURE__*/React.createElement("div", {
66
66
  ref: ref,
67
67
  "data-layer-child": true,
68
- style: {
68
+ style: getBooleanFF('platform.design-system-team.date-picker-input-a11y-fix_cbbxs') ? {
69
+ inset: 0,
70
+ pointerEvents: 'none',
71
+ background: 'transparent'
72
+ } : {
69
73
  position: 'absolute',
70
74
  top: 0,
71
- height: containerRect.height,
75
+ height: containerRef.getBoundingClientRect().height,
72
76
  // Don't block the clear button
73
- width: containerRect.width - parseInt(sizes.small.slice(0, -2)) - gridSize(),
77
+ width: containerRef.getBoundingClientRect().width - parseInt(sizes.small.slice(0, -2)) - gridSize(),
74
78
  background: 'transparent'
75
79
  }
76
80
  });
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/datetime-picker",
3
- "version": "12.6.1",
3
+ "version": "12.7.0",
4
4
  "sideEffects": false
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/datetime-picker",
3
- "version": "12.6.1",
3
+ "version": "12.7.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/"
@@ -39,9 +39,9 @@
39
39
  "@atlaskit/locale": "^2.5.0",
40
40
  "@atlaskit/platform-feature-flags": "^0.2.0",
41
41
  "@atlaskit/popper": "^5.5.0",
42
- "@atlaskit/select": "^16.4.0",
42
+ "@atlaskit/select": "^16.5.0",
43
43
  "@atlaskit/theme": "^12.5.0",
44
- "@atlaskit/tokens": "^1.4.0",
44
+ "@atlaskit/tokens": "^1.5.0",
45
45
  "@babel/runtime": "^7.0.0",
46
46
  "@emotion/react": "^11.7.1",
47
47
  "date-fns": "^2.17.0",
@@ -98,6 +98,9 @@
98
98
  "platform-feature-flags": {
99
99
  "platform.design-system-team.update-border-input_ff9l1": {
100
100
  "type": "boolean"
101
+ },
102
+ "platform.design-system-team.date-picker-input-a11y-fix_cbbxs": {
103
+ "type": "boolean"
101
104
  }
102
105
  },
103
106
  "prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.1",