@atlaskit/datetime-picker 10.4.2 → 11.1.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,40 @@
1
1
  # @atlaskit/datetime-picker
2
2
 
3
+ ## 11.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`354ef86cca0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/354ef86cca0) - Instrumented datetime-picker with the new theming package, `@atlaskit/tokens`.
8
+
9
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
10
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
11
+
12
+ ### Patch Changes
13
+
14
+ - [`2b98dfda0a6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2b98dfda0a6) - Removes `@emotion/styled` in favour of `@emotion/core`.
15
+ - Updated dependencies
16
+
17
+ ## 11.0.2
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies
22
+
23
+ ## 11.0.1
24
+
25
+ ### Patch Changes
26
+
27
+ - [`b90c0237824`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b90c0237824) - Update package.jsons to remove unused dependencies.
28
+ - Updated dependencies
29
+
30
+ ## 11.0.0
31
+
32
+ ### Major Changes
33
+
34
+ - [`414b6216adf`](https://bitbucket.org/atlassian/atlassian-frontend/commits/414b6216adf) - [ux] BREAKING CHANGE: Datetime picker now uses date-fns@2.17 (previously <2.0). This change has tightened the requirements of users to provide ISO dates. This was never explicitly supported, but now will cause an error to be thrown for non-ISO dates. For an abundance of caution we're calling this a breaking change to protect users relying on the previous behaviour.
35
+
36
+ To upgrade you'll need to ensure any dates passed to the `DateTimePicker` are in ISO format.
37
+
3
38
  ## 10.4.2
4
39
 
5
40
  ### Patch Changes
@@ -27,11 +27,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
27
27
 
28
28
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
29
29
 
30
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
30
+ var _react = require("react");
31
31
 
32
- var _react = _interopRequireDefault(require("react"));
33
-
34
- var _styled = _interopRequireDefault(require("@emotion/styled"));
32
+ var _core = require("@emotion/core");
35
33
 
36
34
  var _dateFns = require("date-fns");
37
35
 
@@ -51,13 +49,13 @@ var _colors = require("@atlaskit/theme/colors");
51
49
 
52
50
  var _constants = require("@atlaskit/theme/constants");
53
51
 
54
- var _elevation = require("@atlaskit/theme/elevation");
52
+ var _tokens = require("@atlaskit/tokens");
55
53
 
56
54
  var _internal = require("../internal");
57
55
 
58
56
  var _FixedLayer = _interopRequireDefault(require("../internal/FixedLayer"));
59
57
 
60
- var _templateObject;
58
+ var _utils = require("./utils");
61
59
 
62
60
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
63
61
 
@@ -72,7 +70,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
72
70
  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; } }
73
71
 
74
72
  var packageName = "@atlaskit/datetime-picker";
75
- var packageVersion = "10.4.2";
73
+ var packageVersion = "11.1.0";
76
74
  /* eslint-disable react/no-unused-prop-types */
77
75
 
78
76
  function getDateObj(date) {
@@ -84,19 +82,26 @@ function getDateObj(date) {
84
82
  }
85
83
 
86
84
  function getValidDate(iso) {
87
- var date = (0, _dateFns.parse)(iso);
85
+ var date = (0, _dateFns.parseISO)(iso);
88
86
  return (0, _dateFns.isValid)(date) ? getDateObj(date) : {};
89
87
  }
90
88
 
91
- var StyledMenu = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n border-radius: ", "px;\n z-index: ", ";\n ", ";\n"])), _colors.N20, (0, _constants.borderRadius)(), _constants.layers.dialog, (0, _elevation.e200)());
89
+ var menuStyles = (0, _core.css)({
90
+ zIndex: _constants.layers.dialog(),
91
+ backgroundColor: (0, _tokens.token)('color.background.default', _colors.N20),
92
+ borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
93
+ boxShadow: (0, _tokens.token)('shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A))
94
+ });
92
95
 
93
96
  var Menu = function Menu(_ref) {
94
97
  var selectProps = _ref.selectProps,
95
98
  innerProps = _ref.innerProps;
96
- return /*#__PURE__*/_react.default.createElement(_FixedLayer.default, {
99
+ return (0, _core.jsx)(_FixedLayer.default, {
97
100
  inputValue: selectProps.inputValue,
98
101
  containerRef: selectProps.calendarContainerRef,
99
- content: /*#__PURE__*/_react.default.createElement(StyledMenu, innerProps, /*#__PURE__*/_react.default.createElement(_calendar.default, (0, _extends2.default)({}, getValidDate(selectProps.calendarValue), getValidDate(selectProps.calendarView), {
102
+ content: (0, _core.jsx)("div", (0, _extends2.default)({
103
+ css: menuStyles
104
+ }, innerProps), (0, _core.jsx)(_calendar.default, (0, _extends2.default)({}, getValidDate(selectProps.calendarValue), getValidDate(selectProps.calendarView), {
100
105
  disabled: selectProps.calendarDisabled,
101
106
  disabledDateFilter: selectProps.calendarDisabledDateFilter,
102
107
  minDate: selectProps.calendarMinDate,
@@ -139,8 +144,8 @@ var datePickerDefaultProps = {
139
144
 
140
145
  };
141
146
 
142
- var DatePicker = /*#__PURE__*/function (_React$Component) {
143
- (0, _inherits2.default)(DatePicker, _React$Component);
147
+ var DatePicker = /*#__PURE__*/function (_Component) {
148
+ (0, _inherits2.default)(DatePicker, _Component);
144
149
 
145
150
  var _super = _createSuper(DatePicker);
146
151
 
@@ -246,7 +251,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
246
251
  // We format the parsed date to YYYY-MM-DD here because
247
252
  // this is the format expected by the @atlaskit/calendar component
248
253
  _this.setState({
249
- view: (0, _dateFns.format)(parsed, 'YYYY-MM-DD')
254
+ view: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('YYYY-MM-DD'))
250
255
  });
251
256
  }
252
257
  }
@@ -332,7 +337,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
332
337
  var changedState = {
333
338
  selectedValue: '',
334
339
  value: '',
335
- view: _this.props.defaultValue || (0, _dateFns.format)(new Date(), 'YYYY-MM-DD')
340
+ view: _this.props.defaultValue || (0, _dateFns.format)(new Date(), (0, _utils.convertTokens)('YYYY-MM-DD'))
336
341
  };
337
342
 
338
343
  if (!_this.props.hideIcon) {
@@ -377,7 +382,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
377
382
  });
378
383
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getSubtleControlStyles", function (isOpen) {
379
384
  return {
380
- border: "2px solid ".concat(isOpen ? _colors.B100 : "transparent"),
385
+ border: "2px solid ".concat(isOpen ? (0, _tokens.token)('color.border.focus', _colors.B100) : "transparent"),
381
386
  backgroundColor: 'transparent',
382
387
  padding: '1px'
383
388
  };
@@ -408,13 +413,8 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
408
413
  return formatDisplayLabel(value, dateFormat || _internal.defaultDateFormat);
409
414
  }
410
415
 
411
- var date = (0, _dateFns.parse)(value);
412
-
413
- if (dateFormat) {
414
- return (0, _dateFns.format)(date, dateFormat);
415
- }
416
-
417
- return l10n.formatDate(date);
416
+ var date = (0, _dateFns.parseISO)(value);
417
+ return dateFormat ? (0, _dateFns.format)(date, (0, _utils.convertTokens)(dateFormat)) : l10n.formatDate(date);
418
418
  });
419
419
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getPlaceholder", function () {
420
420
  var placeholder = _this.props.placeholder;
@@ -513,26 +513,26 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
513
513
  calendarDisabledDateFilter: disabledDateFilter,
514
514
  calendarMaxDate: maxDate,
515
515
  calendarMinDate: minDate,
516
- calendarValue: value && (0, _dateFns.format)((0, _dateFns.parse)(value), 'YYYY-MM-DD'),
516
+ calendarValue: value && (0, _dateFns.format)((0, _dateFns.parseISO)(value), (0, _utils.convertTokens)('YYYY-MM-DD')),
517
517
  calendarView: view,
518
518
  onCalendarChange: this.onCalendarChange,
519
519
  onCalendarSelect: this.onCalendarSelect,
520
520
  calendarLocale: locale,
521
521
  calendarWeekStartDay: weekStartDay
522
522
  };
523
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, innerProps, {
523
+ return (0, _core.jsx)("div", (0, _extends2.default)({}, innerProps, {
524
524
  role: "presentation",
525
525
  onClick: this.onInputClick,
526
526
  onInput: this.onSelectInput,
527
527
  onKeyDown: this.onSelectKeyDown,
528
528
  ref: this.getContainerRef,
529
529
  "data-testid": testId && "".concat(testId, "--container")
530
- }), /*#__PURE__*/_react.default.createElement("input", {
530
+ }), (0, _core.jsx)("input", {
531
531
  name: name,
532
532
  type: "hidden",
533
533
  value: value,
534
534
  "data-testid": testId && "".concat(testId, "--input")
535
- }), /*#__PURE__*/_react.default.createElement(_select.default, (0, _extends2.default)({
535
+ }), (0, _core.jsx)(_select.default, (0, _extends2.default)({
536
536
  enableAnimation: false,
537
537
  menuIsOpen: menuIsOpen,
538
538
  closeMenuOnSelect: true,
@@ -570,7 +570,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
570
570
  }
571
571
  }]);
572
572
  return DatePicker;
573
- }(_react.default.Component);
573
+ }(_react.Component);
574
574
 
575
575
  exports.DatePickerWithoutAnalytics = DatePicker;
576
576
  (0, _defineProperty2.default)(DatePicker, "defaultProps", datePickerDefaultProps);
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -25,11 +23,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
25
23
 
26
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
25
 
28
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
29
-
30
26
  var _react = _interopRequireDefault(require("react"));
31
27
 
32
- var _styled = _interopRequireDefault(require("@emotion/styled"));
28
+ var _core = require("@emotion/core");
33
29
 
34
30
  var _dateFns = require("date-fns");
35
31
 
@@ -41,21 +37,19 @@ var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-c
41
37
 
42
38
  var _select = require("@atlaskit/select");
43
39
 
44
- var colors = _interopRequireWildcard(require("@atlaskit/theme/colors"));
40
+ var _colors = require("@atlaskit/theme/colors");
45
41
 
46
42
  var _constants = require("@atlaskit/theme/constants");
47
43
 
44
+ var _tokens = require("@atlaskit/tokens");
45
+
48
46
  var _internal = require("../internal");
49
47
 
50
48
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
51
49
 
52
50
  var _TimePicker = _interopRequireDefault(require("./TimePicker"));
53
51
 
54
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
55
-
56
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
57
-
58
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
52
+ var _utils = require("./utils");
59
53
 
60
54
  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); }; }
61
55
 
@@ -66,94 +60,75 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
66
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
67
61
 
68
62
  var packageName = "@atlaskit/datetime-picker";
69
- var packageVersion = "10.4.2";
63
+ var packageVersion = "11.1.0";
70
64
  /* eslint-disable react/no-unused-prop-types */
71
65
 
72
- var getBorder = function getBorder(_ref) {
73
- var appearance = _ref.appearance,
74
- isFocused = _ref.isFocused,
75
- isInvalid = _ref.isInvalid;
76
- var color = colors.N20;
77
-
78
- if (appearance === 'subtle') {
79
- color = 'transparent';
80
- }
81
-
82
- if (isFocused) {
83
- color = colors.B100;
84
- }
85
-
86
- if (isInvalid) {
87
- color = colors.R400;
88
- }
89
-
90
- return "border: 2px solid ".concat(color, ";");
91
- };
92
-
93
- var getBorderColorHover = function getBorderColorHover(_ref2) {
94
- var isFocused = _ref2.isFocused,
95
- isInvalid = _ref2.isInvalid,
96
- isDisabled = _ref2.isDisabled;
97
- var color = colors.N30;
98
-
99
- if (isFocused || isDisabled) {
100
- return "";
101
- }
102
-
103
- if (isInvalid) {
104
- color = colors.R400;
105
- }
106
-
107
- return "border-color: ".concat(color, ";");
108
- };
109
-
110
- var getBackgroundColor = function getBackgroundColor(_ref3) {
111
- var appearance = _ref3.appearance,
112
- isFocused = _ref3.isFocused;
113
- var color = colors.N20;
114
-
115
- if (isFocused) {
116
- color = colors.N0;
66
+ var isInvalidBorderStyles = (0, _core.css)({
67
+ borderColor: (0, _tokens.token)('color.iconBorder.danger', _colors.R400)
68
+ });
69
+ var isFocusedBorderStyles = (0, _core.css)({
70
+ borderColor: (0, _tokens.token)('color.border.focus', _colors.B100)
71
+ });
72
+ var isFocusedStyles = (0, _core.css)({
73
+ backgroundColor: (0, _tokens.token)('color.background.default', _colors.N0)
74
+ });
75
+ var subtleBgStyles = (0, _core.css)({
76
+ backgroundColor: 'transparent',
77
+ borderColor: 'transparent'
78
+ });
79
+ var hoverStyles = (0, _core.css)({
80
+ '&:hover': {
81
+ backgroundColor: (0, _tokens.token)('color.background.default', _colors.N30),
82
+ borderColor: (0, _tokens.token)('color.border.neutral', _colors.N30)
117
83
  }
118
-
119
- if (appearance === 'subtle') {
120
- color = 'transparent';
84
+ });
85
+ var isInvalidHoverStyles = (0, _core.css)({
86
+ '&:hover': {
87
+ backgroundColor: (0, _tokens.token)('color.background.default', _colors.N0),
88
+ borderColor: (0, _tokens.token)('color.iconBorder.danger', _colors.R400)
121
89
  }
122
-
123
- return "background-color: ".concat(color, ";");
124
- };
125
-
126
- var getBackgroundColorHover = function getBackgroundColorHover(_ref4) {
127
- var isFocused = _ref4.isFocused,
128
- isInvalid = _ref4.isInvalid,
129
- isDisabled = _ref4.isDisabled;
130
- var color = colors.N30;
131
-
132
- if (isFocused || isDisabled) {
133
- return "";
90
+ });
91
+ var isDisabledStyles = (0, _core.css)({
92
+ '&:hover': {
93
+ cursor: 'default'
134
94
  }
135
-
136
- if (isInvalid) {
137
- color = colors.N0;
95
+ });
96
+ var baseContainerStyles = (0, _core.css)({
97
+ display: 'flex',
98
+ backgroundColor: (0, _tokens.token)('color.background.subtleNeutral.resting', _colors.N20),
99
+ border: "2px solid ".concat((0, _tokens.token)('color.border.neutral', _colors.N20)),
100
+ borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
101
+ transition: 'background-color 200ms ease-in-out, border-color 200ms ease-in-out',
102
+ '&:hover': {
103
+ cursor: 'pointer'
138
104
  }
139
-
140
- return "background-color: ".concat(color, ";");
141
- };
142
-
143
- var Flex = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n border-radius: ", "px;\n display: flex;\n transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out;\n &:hover {\n cursor: ", ";\n ", "\n ", "\n }\n"])), getBackgroundColor, getBorder, (0, _constants.borderRadius)(), function (props) {
144
- return props.isDisabled ? 'default' : 'pointer';
145
- }, getBackgroundColorHover, getBorderColorHover); // Make DatePicker 50% the width of DateTimePicker
105
+ }); // Make DatePicker 50% the width of DateTimePicker
146
106
  // If rendering an icon container, shrink the TimePicker
147
107
 
148
-
149
- var DatePickerContainer = _styled.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n flex-basis: 50%;\n flex-grow: 1;\n flex-shrink: 0;\n"])));
150
-
151
- var TimePickerContainer = _styled.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n flex-basis: 50%;\n flex-grow: 1;\n"])));
152
-
108
+ var datePickerContainerStyles = (0, _core.css)({
109
+ flexBasis: '50%',
110
+ flexGrow: 1,
111
+ flexShrink: 0
112
+ });
113
+ var timePickerContainerStyles = (0, _core.css)({
114
+ flexBasis: '50%',
115
+ flexGrow: 1
116
+ });
153
117
  var ICON_PADDING = 2;
154
-
155
- var IconContainer = _styled.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n flex-basis: inherit;\n padding-left: ", "px;\n padding-right: ", "px;\n padding-top: 6px;\n padding-bottom: 6px;\n display: flex;\n align-items: center;\n color: ", ";\n transition: color 150ms;\n &:hover {\n color: ", ";\n }\n"])), ICON_PADDING * 2, (0, _constants.gridSize)(), colors.N70, colors.N500); // react-select overrides (via @atlaskit/select).
156
-
118
+ var iconContainerStyles = (0, _core.css)({
119
+ display: 'flex',
120
+ paddingTop: "6px",
121
+ paddingRight: "".concat((0, _constants.gridSize)(), "px"),
122
+ paddingBottom: "6px",
123
+ paddingLeft: "".concat(ICON_PADDING * 2, "px"),
124
+ alignItems: 'center',
125
+ flexBasis: 'inherit',
126
+ color: (0, _tokens.token)('color.text.lowEmphasis', _colors.N70),
127
+ transition: "color 150ms",
128
+ '&:hover': {
129
+ color: (0, _tokens.token)('color.text.mediumEmphasis', _colors.N500)
130
+ }
131
+ }); // react-select overrides (via @atlaskit/select).
157
132
 
158
133
  var styles = {
159
134
  control: function control(style) {
@@ -261,12 +236,11 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
261
236
  return this.props.parseValue(value, dateValue, timeValue, zoneValue);
262
237
  }
263
238
 
264
- var parsed = (0, _dateFns.parse)(value);
265
- var valid = (0, _dateFns.isValid)(parsed);
266
- return valid ? {
267
- dateValue: (0, _dateFns.format)(parsed, 'YYYY-MM-DD'),
268
- timeValue: (0, _dateFns.format)(parsed, 'HH:mm'),
269
- zoneValue: (0, _dateFns.format)(parsed, 'ZZ')
239
+ var parsed = (0, _dateFns.parseISO)(value);
240
+ return (0, _dateFns.isValid)(parsed) ? {
241
+ dateValue: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('YYYY-MM-DD')),
242
+ timeValue: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('HH:mm')),
243
+ zoneValue: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('ZZ'))
270
244
  } : {
271
245
  dateValue: dateValue,
272
246
  timeValue: timeValue,
@@ -275,10 +249,10 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
275
249
  }
276
250
  }, {
277
251
  key: "onValueChange",
278
- value: function onValueChange(_ref5) {
279
- var dateValue = _ref5.dateValue,
280
- timeValue = _ref5.timeValue,
281
- zoneValue = _ref5.zoneValue;
252
+ value: function onValueChange(_ref) {
253
+ var dateValue = _ref.dateValue,
254
+ timeValue = _ref.timeValue,
255
+ zoneValue = _ref.zoneValue;
282
256
  this.setState({
283
257
  dateValue: dateValue,
284
258
  timeValue: timeValue,
@@ -353,16 +327,18 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
353
327
 
354
328
 
355
329
  var isClearable = Boolean(dateValue || timeValue);
356
- return /*#__PURE__*/_react.default.createElement(Flex, (0, _extends2.default)({}, innerProps, {
357
- isFocused: isFocused,
358
- isDisabled: isDisabled,
359
- isInvalid: this.props.isInvalid,
360
- appearance: this.props.appearance
361
- }), /*#__PURE__*/_react.default.createElement("input", {
330
+ var notFocusedOrIsDisabled = !(isFocused || isDisabled);
331
+ return (0, _core.jsx)("div", (0, _extends2.default)({
332
+ css: [baseContainerStyles, isDisabled && isDisabledStyles, isFocused && isFocusedStyles, bothProps.appearance === 'subtle' && subtleBgStyles, isFocused && isFocusedBorderStyles, bothProps.isInvalid && isInvalidBorderStyles, notFocusedOrIsDisabled && (bothProps.isInvalid ? isInvalidHoverStyles : hoverStyles)]
333
+ }, innerProps, {
334
+ "data-testid": testId
335
+ }), (0, _core.jsx)("input", {
362
336
  name: name,
363
337
  type: "hidden",
364
338
  value: value
365
- }), /*#__PURE__*/_react.default.createElement(DatePickerContainer, null, /*#__PURE__*/_react.default.createElement(_DatePicker.default, (0, _extends2.default)({}, bothProps, {
339
+ }), (0, _core.jsx)("div", {
340
+ css: datePickerContainerStyles
341
+ }, (0, _core.jsx)(_DatePicker.default, (0, _extends2.default)({}, bothProps, {
366
342
  autoFocus: autoFocus,
367
343
  dateFormat: dateFormat,
368
344
  hideIcon: true,
@@ -372,7 +348,9 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
372
348
  value: dateValue,
373
349
  locale: locale,
374
350
  testId: testId && "".concat(testId, "--datepicker")
375
- }, datePickerProps))), /*#__PURE__*/_react.default.createElement(TimePickerContainer, null, /*#__PURE__*/_react.default.createElement(_TimePicker.default, (0, _extends2.default)({}, bothProps, {
351
+ }, datePickerProps))), (0, _core.jsx)("div", {
352
+ css: timePickerContainerStyles
353
+ }, (0, _core.jsx)(_TimePicker.default, (0, _extends2.default)({}, bothProps, {
376
354
  hideIcon: true,
377
355
  onChange: this.onTimeChange,
378
356
  selectProps: mergedTimePickerSelectProps,
@@ -382,13 +360,12 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
382
360
  timeFormat: timeFormat,
383
361
  locale: locale,
384
362
  testId: testId && "".concat(testId, "--timepicker")
385
- }, timePickerProps))), isClearable && !isDisabled ?
386
- /*#__PURE__*/
387
- // eslint-disable-next-line styled-components-a11y/click-events-have-key-events,styled-components-a11y/no-static-element-interactions
388
- _react.default.createElement(IconContainer, {
363
+ }, timePickerProps))), isClearable && !isDisabled ? // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
364
+ (0, _core.jsx)("div", {
365
+ css: iconContainerStyles,
389
366
  onClick: this.onClear,
390
367
  "data-testid": testId && "".concat(testId, "--icon--container")
391
- }, /*#__PURE__*/_react.default.createElement(_selectClear.default, {
368
+ }, (0, _core.jsx)(_selectClear.default, {
392
369
  size: "small",
393
370
  primaryColor: "inherit",
394
371
  label: "clear"
@@ -43,12 +43,16 @@ var _colors = require("@atlaskit/theme/colors");
43
43
 
44
44
  var _constants = require("@atlaskit/theme/constants");
45
45
 
46
+ var _tokens = require("@atlaskit/tokens");
47
+
46
48
  var _internal = require("../internal");
47
49
 
48
50
  var _FixedLayer = _interopRequireDefault(require("../internal/FixedLayer"));
49
51
 
50
52
  var _parseTime = _interopRequireDefault(require("../internal/parseTime"));
51
53
 
54
+ var _utils = require("./utils");
55
+
52
56
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
57
 
54
58
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -62,7 +66,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
62
66
  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; } }
63
67
 
64
68
  var packageName = "@atlaskit/datetime-picker";
65
- var packageVersion = "10.4.2";
69
+ var packageVersion = "11.1.0";
66
70
  var menuStyles = {
67
71
  /* Need to remove default absolute positioning as that causes issues with position fixed */
68
72
  position: 'static',
@@ -159,15 +163,14 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
159
163
  if (_this.props.timeIsEditable) {
160
164
  var _this$props = _this.props,
161
165
  parseInputValue = _this$props.parseInputValue,
162
- _timeFormat = _this$props.timeFormat; // TODO parseInputValue doesn't accept `timeFormat` as an function arg yet...
163
-
164
- var _value = (0, _dateFns.format)(parseInputValue(inputValue, _timeFormat || _internal.defaultTimeFormat), 'HH:mm') || '';
166
+ _timeFormat = _this$props.timeFormat;
167
+ var formattedValue = (0, _dateFns.format)(parseInputValue(inputValue, _timeFormat || _internal.defaultTimeFormat), 'HH:mm') || '';
165
168
 
166
169
  _this.setState({
167
- value: _value
170
+ value: formattedValue
168
171
  });
169
172
 
170
- _this.props.onChange(_value);
173
+ _this.props.onChange(formattedValue);
171
174
  } else {
172
175
  _this.onChange(inputValue);
173
176
  }
@@ -232,7 +235,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
232
235
  });
233
236
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getSubtleControlStyles", function (selectStyles) {
234
237
  return !selectStyles.control ? {
235
- border: "2px solid ".concat(_this.getSafeState().isFocused ? "".concat(_colors.B100) : "transparent"),
238
+ border: "2px solid ".concat(_this.getSafeState().isFocused ? (0, _tokens.token)('color.border.focus', _colors.B100) : "transparent"),
236
239
  backgroundColor: 'transparent',
237
240
  padding: '1px'
238
241
  } : {};
@@ -260,7 +263,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
260
263
  }
261
264
 
262
265
  if (timeFormat) {
263
- return (0, _dateFns.format)(date, timeFormat);
266
+ return (0, _dateFns.format)(date, (0, _utils.convertTokens)(timeFormat));
264
267
  }
265
268
 
266
269
  return l10n.formatTime(date);
@@ -351,7 +354,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
351
354
  return _objectSpread(_objectSpread({}, base), controlStyles);
352
355
  },
353
356
  menu: function menu(base) {
354
- return _objectSpread(_objectSpread(_objectSpread({}, base), menuStyles), {
357
+ return _objectSpread(_objectSpread(_objectSpread({}, base), menuStyles), {}, {
355
358
  // Fixed positioned elements no longer inherit width from their parent, so we must explicitly set the
356
359
  // menu width to the width of our container
357
360
  width: _this3.containerRef ? _this3.containerRef.getBoundingClientRect().width : 'auto'
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.convertTokens = convertTokens;
7
+ // https://github.com/date-fns/date-fns-upgrade/blob/master/src/v2/convertTokens/index.ts
8
+ var tokensMap = {
9
+ // 'D MMMM': '',
10
+ // 'Do MMMM': '',
11
+ // 'DD MMMM': '',
12
+ M: 'L',
13
+ Mo: 'Mo',
14
+ MM: 'LL',
15
+ MMM: 'LLL',
16
+ MMMM: 'LLLL',
17
+ Q: 'q',
18
+ Qo: 'qo',
19
+ D: 'd',
20
+ Do: 'do',
21
+ DD: 'dd',
22
+ DDD: 'D',
23
+ DDDo: 'Do',
24
+ DDDD: 'DDD',
25
+ d: 'i',
26
+ do: 'io',
27
+ dd: 'iiiiii',
28
+ ddd: 'iii',
29
+ dddd: 'iiii',
30
+ A: 'a',
31
+ a: 'a',
32
+ aa: 'aaaa',
33
+ E: 'i',
34
+ W: 'I',
35
+ Wo: 'Io',
36
+ WW: 'II',
37
+ YY: 'yy',
38
+ YYYY: 'yyyy',
39
+ GG: 'RR',
40
+ GGGG: 'RRRR',
41
+ H: 'H',
42
+ HH: 'HH',
43
+ h: 'h',
44
+ hh: 'hh',
45
+ m: 'm',
46
+ mm: 'mm',
47
+ s: 's',
48
+ ss: 'ss',
49
+ S: 'S',
50
+ SS: 'SS',
51
+ SSS: 'SSS',
52
+ Z: 'xxx',
53
+ ZZ: 'xx',
54
+ X: 't',
55
+ x: 'T'
56
+ };
57
+ var v1tokens = Object.keys(tokensMap).sort().reverse();
58
+ var tokensRegExp = new RegExp('(\\[[^\\[]*\\])|(\\\\)?' + '(' + v1tokens.join('|') + '|.)', 'g');
59
+
60
+ function convertTokens(format) {
61
+ var tokensCaptures = format.match(tokensRegExp);
62
+
63
+ if (tokensCaptures) {
64
+ return tokensCaptures.reduce(function (acc, tokenString, index) {
65
+ var v2token = tokensMap[tokenString];
66
+
67
+ if (!v2token) {
68
+ var escapedCaptures = tokenString.match(/^\[(.+)\]$/);
69
+
70
+ if (escapedCaptures) {
71
+ acc.textBuffer.push(escapedCaptures[1]);
72
+ } else {
73
+ acc.textBuffer.push(tokenString);
74
+ }
75
+ }
76
+
77
+ var endOfString = index === tokensCaptures.length - 1;
78
+
79
+ if (acc.textBuffer.length && (v2token || endOfString)) {
80
+ acc.formatBuffer.push("'".concat(acc.textBuffer.join(''), "'"));
81
+ acc.textBuffer = [];
82
+ }
83
+
84
+ if (v2token) {
85
+ acc.formatBuffer.push(v2token);
86
+ }
87
+
88
+ return acc;
89
+ }, {
90
+ formatBuffer: [],
91
+ textBuffer: []
92
+ }).formatBuffer.join('');
93
+ } else {
94
+ return format;
95
+ }
96
+ }